diff options
author | Christian C <cc@localhost> | 2025-03-07 21:58:41 -0800 |
---|---|---|
committer | Christian C <cc@localhost> | 2025-03-07 21:58:41 -0800 |
commit | 0d1f5979dd1d6062af118fae3a1aa1863ea596f2 (patch) | |
tree | 4cb9973682409cbc23cd6c93cb26f14c4702d8ed /Makefile | |
parent | 12a1b2269c64bfbe61490a9a2a8eaa84ec3b41de (diff) |
Library directories
Diffstat (limited to 'Makefile')
-rw-r--r-- | Makefile | 27 |
1 files changed, 19 insertions, 8 deletions
@@ -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... |