aboutsummaryrefslogtreecommitdiff
path: root/Makefile
diff options
context:
space:
mode:
Diffstat (limited to 'Makefile')
-rw-r--r--Makefile17
1 files changed, 15 insertions, 2 deletions
diff --git a/Makefile b/Makefile
index d25d150..e535feb 100644
--- a/Makefile
+++ b/Makefile
@@ -21,6 +21,15 @@ LIB_OBJS=$(LIB_OBJS_sub:.c=.o)
LIB_OBJ_DIRS_sub=$(shell find $(LIB_DIR) -type d)
LIB_OBJ_DIRS=$(subst $(LIB_DIR),$(LIB_OBJ_DIR),$(LIB_OBJ_DIRS_sub))
+# Library files
+TEST_DIR=test/
+TEST_OBJ_DIR=$(BUILD_DIR)obj/$(TEST_DIR)
+TEST_SRCS=$(shell find $(TEST_DIR) -iname \*.c)
+TEST_OBJS_sub=$(subst $(TEST_DIR),$(TEST_OBJ_DIR),$(TEST_SRCS))
+TEST_OBJS=$(TEST_OBJS_sub:.c=.o)
+TEST_OBJ_DIRS_sub=$(shell find $(TEST_DIR) -type d)
+TEST_OBJ_DIRS=$(subst $(TEST_DIR),$(TEST_OBJ_DIR),$(TEST_OBJ_DIRS_sub))
+
# Programs
PROG_DIR=
PROG_OUT_DIR=$(BUILD_DIR)$(PROG_DIR)
@@ -66,7 +75,7 @@ default: clean build
build: $(PROGS)
-$(BUILD_DIR)$(PROG_DIR)%: $(SRC_OBJ_DIR)%.o $(LIB_OBJS)
+$(BUILD_DIR)$(PROG_DIR)%: $(SRC_OBJ_DIR)%.o $(LIB_OBJS) $(TEST_OBJS)
@echo LD --\> $@
@gcc -o $@ $(LDFLAGS) $^
@@ -78,7 +87,11 @@ $(LIB_OBJ_DIR)%.o: $(LIB_DIR)%.c
@echo CC $< --\> $@
@gcc -o $@ $(CFLAGS) -c $<
+$(TEST_OBJ_DIR)%.o: $(TEST_DIR)%.c
+ @echo CC $< --\> $@
+ @gcc -o $@ $(CFLAGS) -c $<
+
clean:
@echo Cleaning build files...
@-rm -rf $(OBJ_DIR) $(BUILD_DIR)
- @mkdir -p $(BUILD_DIR) $(SRC_OBJ_DIRS) $(LIB_OBJ_DIRS) $(PROG_DIRS)
+ @mkdir -p $(BUILD_DIR) $(SRC_OBJ_DIRS) $(LIB_OBJ_DIRS) $(TEST_OBJ_DIRS) $(PROG_DIRS)