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 *.zip
*.exe *.exe
.vscode/ .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) 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 \ TEXT_GENERATED := $(CURDIR)/$(GENERATED_DIR)/translated_text.h \
$(CURDIR)/$(GENERATED_DIR)/translated_text.cpp \ $(CURDIR)/$(GENERATED_DIR)/translated_text.cpp \
$(CURDIR)/$(GENERATED_DIR)/fonts.h \ $(CURDIR)/$(GENERATED_DIR)/fonts.h \
$(CURDIR)/$(GENERATED_DIR)/output.json $(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 @PTGB_GEN_DIR="$(CURDIR)/$(GENERATED_DIR)" python3 tools/text_helper/main.py
data: data:
@ -197,12 +203,14 @@ to_compress:
generated_dir: generated_dir:
@mkdir -p $(GENERATED_DIR) @mkdir -p $(GENERATED_DIR)
generate_data: data to_compress text_generated generate_data: $(GENERATE_STAMP)
@echo "----------------------------------------------------------------"
@echo "Building v$(GIT_VERSION) with parameters: $(BUILD_LANG), $(BUILD_TYPE)" $(GENERATE_STAMP): text_generated $(PAYLOAD_GEN_INPUTS) compress_lz10.sh | data to_compress generated_dir
@echo "----------------------------------------------------------------" @echo "----------------------------------------------------------------"
@env - \ @echo "Building v$(GIT_VERSION) with parameters: $(BUILD_LANG), $(BUILD_TYPE)"
PATH="$(PATH)" \ @echo "----------------------------------------------------------------"
@env - \
PATH="$(PATH)" \
TMPDIR=/tmp TMP=/tmp TEMP=/tmp \ TMPDIR=/tmp TMP=/tmp TEMP=/tmp \
SYSTEMROOT="$(SYSTEMROOT)" \ SYSTEMROOT="$(SYSTEMROOT)" \
CC=cc \ CC=cc \
@ -220,24 +228,28 @@ generate_data: data to_compress text_generated
@echo -n "[" @echo -n "["
@find to_compress -name "*.bin" -print0 | xargs -0 -n1 ./compress_lz10.sh @find to_compress -name "*.bin" -print0 | xargs -0 -n1 ./compress_lz10.sh
@echo "]" @echo "]"
@echo "Compressing finished!" @echo "Compressing finished!"
@echo @echo
@echo "----------------------------------------------------------------" @echo "----------------------------------------------------------------"
@echo @echo
@touch $@
#--------------------------------------------------------------------------------- #---------------------------------------------------------------------------------
$(BUILD): generate_data $(BUILD_STAMP): generate_data | $(BUILD)
@[ -d $@ ] || mkdir -p $@ @$(MAKE) -C PCCS \
@$(MAKE) -C PCCS \ CC="$(CC)" \
CC="$(CC)" \ CXX="$(CXX)" \
CXX="$(CXX)" \ CFLAGS="$(CFLAGS)" \
CFLAGS="$(CFLAGS)" \ CXXFLAGS="$(CXXFLAGS)" \
CXXFLAGS="$(CXXFLAGS)" \ LDFLAGS="$(LDFLAGS)"
LDFLAGS="$(LDFLAGS)" @$(MAKE) --no-print-directory -C $(BUILD) -f $(CURDIR)/Makefile
@$(MAKE) --no-print-directory -C $(BUILD) -f $(CURDIR)/Makefile @mkdir -p loader/data
@mkdir -p loader/data @cp $(TARGET).gba loader/data/multiboot_rom.bin
@cp $(TARGET).gba loader/data/multiboot_rom.bin @$(MAKE) -C loader
@$(MAKE) -C loader @touch $@
$(BUILD):
@mkdir -p $@
#--------------------------------------------------------------------------------- #---------------------------------------------------------------------------------
clean: clean: