From 0d1f5979dd1d6062af118fae3a1aa1863ea596f2 Mon Sep 17 00:00:00 2001 From: Christian C Date: Fri, 7 Mar 2025 21:58:41 -0800 Subject: Library directories --- Makefile | 27 +++++++++++++++++++-------- 1 file changed, 19 insertions(+), 8 deletions(-) (limited to 'Makefile') diff --git a/Makefile b/Makefile index 53bf441..238fb87 100644 --- a/Makefile +++ b/Makefile @@ -6,19 +6,26 @@ INC_DIR=include/ # Source files SRC_DIR=src/ -SRC_OBJ_DIR=$(BUILD_DIR)obj/src/ +SRC_OBJ_DIR=$(BUILD_DIR)obj/$(SRC_DIR) SRC_SRCS=$(shell find $(SRC_DIR) -iname \*.c) SRC_OBJS_sub=$(subst $(SRC_DIR),$(SRC_OBJ_DIR),$(SRC_SRCS)) SRC_OBJS=$(SRC_OBJS_sub:.c=.o) SRC_OBJ_DIRS_sub=$(shell find $(SRC_DIR) -type d) SRC_OBJ_DIRS=$(subst $(SRC_DIR),$(SRC_OBJ_DIR),$(SRC_OBJ_DIRS_sub)) -$(info $(SRC_SRCS)) -$(info $(SRC_OBJ_DIR)) -$(info $(SRC_OBJ_DIRS)) -$(info $(SRC_OBJS)) - # Library files +LIB_DIR=lib/ +LIB_OBJ_DIR=$(BUILD_DIR)obj/$(LIB_DIR) +LIB_SRCS=$(shell find $(LIB_DIR) -iname \*.c) +LIB_OBJS_sub=$(subst $(LIB_DIR),$(LIB_OBJ_DIR),$(LIB_SRCS)) +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)) + +$(info $(LIB_SRCS)) +$(info $(LIB_OBJ_DIR)) +$(info $(LIB_OBJ_DIRS)) +$(info $(LIB_OBJS)) # Include raylib if we want a visual experience ifdef RAYLIB @@ -55,7 +62,7 @@ default: clean build build: $(BUILD_DIR)$(EXE) -$(BUILD_DIR)$(EXE): $(SRC_OBJS) +$(BUILD_DIR)$(EXE): $(SRC_OBJS) $(LIB_OBJS) @echo LD --\> $@ @gcc -o $@ $(LDFLAGS) $^ @@ -63,10 +70,14 @@ $(SRC_OBJ_DIR)%.o: $(SRC_DIR)%.c @echo CC $< --\> $@ @gcc -o $@ $(CFLAGS) -c $< +$(LIB_OBJ_DIR)%.o: $(LIB_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) + @mkdir -p $(BUILD_DIR) $(SRC_OBJ_DIRS) $(LIB_OBJ_DIRS) run: $(BUILD_DIR)$(EXE) @echo Executing... -- cgit v1.2.1