diff options
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... |