Makefile 799 B

123456789101112131415161718192021222324252627282930313233343536373839404142
  1. CFLAGS64 = -ggdb -Wall -Wextra -std=c99 -pedantic -m64
  2. #CFLAGS64 = -O3 -Wall -std=c99 -pedantic -m64
  3. CFLAGS = $(CFLAGS64)
  4. BUILD_DIR = build
  5. BIN = tp2
  6. FILTROS = diff blur
  7. FILTROS_OBJ = $(addsuffix .o, $(FILTROS)) $(addsuffix _asm.o, $(FILTROS)) $(addsuffix _c.o, $(FILTROS))
  8. LIBS_OBJS = libbmp.o imagenes.o
  9. MAIN_OBJS = tp2.o cli.o
  10. MAIN_OBJS_CON_PATH = $(addprefix $(BUILD_DIR)/, $(MAIN_OBJS))
  11. OBJS = $(MAIN_OBJS) $(LIBS_OBJS) $(FILTROS_OBJ)
  12. OBJS_CON_PATH = $(addprefix $(BUILD_DIR)/, $(OBJS))
  13. .PHONY: all clean FORCE
  14. all: $(BUILD_DIR)/$(BIN)
  15. $(BUILD_DIR)/$(BIN): FORCE $(MAIN_OBJS_CON_PATH)
  16. $(CC) $(CFLAGS) $(OBJS_CON_PATH) -o $@ -lm
  17. export CFLAGS64
  18. FORCE:
  19. make -C helper
  20. make -C filtros
  21. $(BUILD_DIR)/%.o: %.c
  22. $(CC) $(CFLAGS) -c -o $@ $< -lm
  23. clean:
  24. rm -fr $(BUILD_DIR)/*