diff options
Diffstat (limited to 'Makefile')
-rw-r--r-- | Makefile | 15 |
1 files changed, 12 insertions, 3 deletions
@@ -1,9 +1,12 @@ -TEST_SRC := test/main.c SRC_DIR := src OBJ_DIR := build BIN_DIR := dist LIB_DIR := lib +TEST_SRC_DIR := test +TEST_SRC := $(wildcard $(TEST_SRC_DIR)/*.c) +TEST_OBJ := $(TEST_SRC:$(TEST_SRC_DIR)/%.c=$(OBJ_DIR)/%.o) + TEST_EXE := $(BIN_DIR)/lizfcm.test EXE := $(BIN_DIR)/lizfcm LIBRARY := $(LIB_DIR)/lizfcm.a @@ -18,20 +21,26 @@ LDFLAGS := -lm all: $(TEST_EXE) -$(TEST_EXE): $(BIN_DIR) | $(LIBRARY) - $(CC) $(CPPFLAGS) $(CFLAGS) $(LDFLAGS) $(TEST_SRC) $(LIBRARY) -o $@ +$(TEST_EXE): $(TEST_OBJ) $(LIBRARY) | $(BIN_DIR) + $(CC) $(CPPFLAGS) $(CFLAGS) $(LDFLAGS) $^ -o $@ $(LIBRARY): $(OBJ) | $(LIB_DIR) ar rcs $(LIBRARY) $(OBJ_DIR)/*.o ranlib $(LIBRARY) +$(OBJ_DIR)/%.o: $(TEST_SRC_DIR)/%.c | $(OBJ_DIR) + $(CC) $(CPPFLAGS) $(CFLAGS) -c $< -o $@ + $(OBJ_DIR)/%.o: $(SRC_DIR)/%.c | $(OBJ_DIR) $(CC) $(CPPFLAGS) $(CFLAGS) -c $< -o $@ $(BIN_DIR) $(OBJ_DIR) $(LIB_DIR): mkdir -p $@ +print-% : ; @echo $* = $($*) + clean: @$(RM) -r $(BIN_DIR) $(OBJ_DIR) $(LIB_DIR) -include $(OBJ:.o=.d) +-include $(TEST_OBJ:.o=.d) |