diff --git a/Makefile b/Makefile index d8e4cdd..663db0d 100644 --- a/Makefile +++ b/Makefile @@ -6,6 +6,9 @@ BUILD_DIR = build # Source output target name SOURCE_OUTPUT := 2D_Engine +# Core output target name +CORE_OUTPUT := libcore.a + # Assets output ASSET_OUTPUT := game.data diff --git a/src/Makefile b/src/Makefile index 6c68ac5..80e87c1 100644 --- a/src/Makefile +++ b/src/Makefile @@ -21,7 +21,7 @@ SRC_CFLAGS = -std=c17 --pedantic -O0 -g \ -Wold-style-definition # DEVELOPEMENT SRC_INCLUDE_DIRS = $(SOURCE_DIR)/headers $(SOURCE_DIR)/ecs/headers $(SOURCE_DIR)/ecs/components/headers $(CORE_DIR)/$(CORE_SRC_DIR)/headers -SRC_LDFLAGS = -lCore -Wl,-rpath,$(BUILD_DIR) +SRC_LDFLAGS = # Deduce objects SOURCE_OBJECTS = $(SOURCES:%.c=$(BUILD_DIR)/$(SOURCE_DIR)/%.o) @@ -34,7 +34,7 @@ build_src: src_setup count_src_build $(BUILD_DIR)/$(SOURCE_OUTPUT) src_end # Source build directories src_setup: - @echo "Building Source (2/3)" + @echo "Building Source" $(Q)mkdir -p $(dir $(SOURCE_OBJECTS)) # Count nb of files to build @@ -42,9 +42,9 @@ count_src_build: $(eval export TOTAL_SRC_FILES := $(shell echo $$(($$(make -n $(SOURCE_OBJECTS) 2>/dev/null | grep -c "Building") + 1)))) # Link game target -$(BUILD_DIR)/$(SOURCE_OUTPUT): $(SOURCE_OBJECTS) $(BUILD_DIR)/libCore.so +$(BUILD_DIR)/$(SOURCE_OUTPUT): $(SOURCE_OBJECTS) $(BUILD_DIR)/$(CORE_OUTPUT) @echo -e "[100%] $(YELLOW)Linking $(SOURCE_OUTPUT)$(RESET)" - $(Q)$(SRC_CC) $(SOURCE_OBJECTS) -L./$(BUILD_DIR) -o $@ $(SRC_LDFLAGS) + $(Q)$(SRC_CC) $(SOURCE_OBJECTS) -L./$(BUILD_DIR) $(BUILD_DIR)/$(CORE_OUTPUT) $(CORE_DEPS_FLAGS) -o $@ $(SRC_LDFLAGS) # Build .o files $(BUILD_DIR)/$(SOURCE_DIR)/%.o: $(SOURCE_DIR)/%.c @@ -54,7 +54,7 @@ $(BUILD_DIR)/$(SOURCE_DIR)/%.o: $(SOURCE_DIR)/%.c $(Q)$(SRC_CC) $(SRC_CFLAGS) $(SRC_INCLUDE_DIRS:%=-I%) -MMD -MP -c $< -o $@ # Print ending message -src_end: $(BUILD_DIR)/$(SOURCE_OUTPUT) +src_end: @echo "Built target $(SOURCE_OUTPUT)" # Source files dependencies