Optimizing makefile

This commit is contained in:
The Gears of Progress 2026-02-08 18:03:51 -05:00
parent 7625d796ab
commit fd90bbc5e5
2 changed files with 39 additions and 33 deletions

8
.gitignore vendored
View File

@ -9,10 +9,4 @@ to_compress/
*.zip
*.exe
.vscode/
source/test_payload.txt
loader/data/multiboot_rom.bin
include/translated_text.h
source/translated_text.cpp
text_helper/output.json
text_helper/text.xlsx
include/fonts.h

View File

@ -174,18 +174,24 @@ export INCLUDE := $(foreach dir,$(INCLUDES),-iquote $(CURDIR)/$(dir)) \
export LIBPATHS := $(foreach dir,$(LIBDIRS),-L$(dir)/lib)
.PHONY: $(BUILD) generate_data clean text_generated data to_compress generated_dir
.PHONY: clean
GENERATE_STAMP := $(BUILD)/.generate_data.$(BUILD_LANG).$(BUILD_TYPE).stamp
BUILD_STAMP := $(BUILD)/.build.$(BUILD_LANG).$(BUILD_TYPE).stamp
TEXT_HELPER_INPUTS := $(shell find tools/text_helper -type f \( -name "*.py" -o -name "*.xlsx" -o -name "*.png" \))
PAYLOAD_GEN_INPUTS := $(shell find tools/payload-generator/src tools/payload-generator/include -type f \( -name "*.cpp" -o -name "*.h" -o -name "*.hpp" \))
all: $(BUILD)
all: $(BUILD_STAMP)
TEXT_GENERATED := $(CURDIR)/$(GENERATED_DIR)/translated_text.h \
$(CURDIR)/$(GENERATED_DIR)/translated_text.cpp \
$(CURDIR)/$(GENERATED_DIR)/fonts.h \
$(CURDIR)/$(GENERATED_DIR)/output.json
text_generated: $(TEXT_GENERATED)
text_generated: $(TEXT_GENERATED)
$(TEXT_GENERATED): tools/text_helper/main.py | data to_compress generated_dir
$(TEXT_GENERATED): $(TEXT_HELPER_INPUTS) | data to_compress generated_dir
@PTGB_GEN_DIR="$(CURDIR)/$(GENERATED_DIR)" python3 tools/text_helper/main.py
data:
@ -197,12 +203,14 @@ to_compress:
generated_dir:
@mkdir -p $(GENERATED_DIR)
generate_data: data to_compress text_generated
@echo "----------------------------------------------------------------"
@echo "Building v$(GIT_VERSION) with parameters: $(BUILD_LANG), $(BUILD_TYPE)"
@echo "----------------------------------------------------------------"
@env - \
PATH="$(PATH)" \
generate_data: $(GENERATE_STAMP)
$(GENERATE_STAMP): text_generated $(PAYLOAD_GEN_INPUTS) compress_lz10.sh | data to_compress generated_dir
@echo "----------------------------------------------------------------"
@echo "Building v$(GIT_VERSION) with parameters: $(BUILD_LANG), $(BUILD_TYPE)"
@echo "----------------------------------------------------------------"
@env - \
PATH="$(PATH)" \
TMPDIR=/tmp TMP=/tmp TEMP=/tmp \
SYSTEMROOT="$(SYSTEMROOT)" \
CC=cc \
@ -220,24 +228,28 @@ generate_data: data to_compress text_generated
@echo -n "["
@find to_compress -name "*.bin" -print0 | xargs -0 -n1 ./compress_lz10.sh
@echo "]"
@echo "Compressing finished!"
@echo
@echo "----------------------------------------------------------------"
@echo
@echo "Compressing finished!"
@echo
@echo "----------------------------------------------------------------"
@echo
@touch $@
#---------------------------------------------------------------------------------
$(BUILD): generate_data
@[ -d $@ ] || mkdir -p $@
@$(MAKE) -C PCCS \
CC="$(CC)" \
CXX="$(CXX)" \
CFLAGS="$(CFLAGS)" \
CXXFLAGS="$(CXXFLAGS)" \
LDFLAGS="$(LDFLAGS)"
@$(MAKE) --no-print-directory -C $(BUILD) -f $(CURDIR)/Makefile
@mkdir -p loader/data
@cp $(TARGET).gba loader/data/multiboot_rom.bin
@$(MAKE) -C loader
$(BUILD_STAMP): generate_data | $(BUILD)
@$(MAKE) -C PCCS \
CC="$(CC)" \
CXX="$(CXX)" \
CFLAGS="$(CFLAGS)" \
CXXFLAGS="$(CXXFLAGS)" \
LDFLAGS="$(LDFLAGS)"
@$(MAKE) --no-print-directory -C $(BUILD) -f $(CURDIR)/Makefile
@mkdir -p loader/data
@cp $(TARGET).gba loader/data/multiboot_rom.bin
@$(MAKE) -C loader
@touch $@
$(BUILD):
@mkdir -p $@
#---------------------------------------------------------------------------------
clean: