aboutsummaryrefslogtreecommitdiff
path: root/Makefile
diff options
context:
space:
mode:
authorChristian C <cc@localhost>2025-03-07 21:58:41 -0800
committerChristian C <cc@localhost>2025-03-07 21:58:41 -0800
commit0d1f5979dd1d6062af118fae3a1aa1863ea596f2 (patch)
tree4cb9973682409cbc23cd6c93cb26f14c4702d8ed /Makefile
parent12a1b2269c64bfbe61490a9a2a8eaa84ec3b41de (diff)
Library directories
Diffstat (limited to 'Makefile')
-rw-r--r--Makefile27
1 files changed, 19 insertions, 8 deletions
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...