diff options
| author | Jonathan Wase <jonathan@familjenwase.se> | 2021-12-02 23:38:37 +0100 |
|---|---|---|
| committer | GitHub <noreply@github.com> | 2021-12-02 23:38:37 +0100 |
| commit | bc428f7f65b97cc9035aed1dc1b71c54ff2e6c3d (patch) | |
| tree | a9ee5b38a79336db38dd126bec4b538a9a541bbd /Makefile | |
| parent | 5f187a0776487afa64cb0993b1e96bb5ee115efd (diff) | |
Clean up and improvements to tools (#163)
* moved elf2dol
* removed postprocess.py
* removed vtables.py
* find_unused_asm.py
* removed section2cpp.py
* removed splitter/*
* fixed symbol names due to iconv file rename
* fixed problem building RELs caused by #160
* improved performance of a few python tools
* added new tool for finding conflict when not OK
* added ./tp setup
* don't install dol2asm dependecies with requirements.txt
* format and check for imports
* remove unused tools/difftools.py
* fixed ignore to include elf2dol
* fix compiler patcher
* ok-check now creates the patched compiler at mwcceppc_patched.exe
* Add new command to copy the build folder to the expected folder
* 'make clean' will now only clean main.dol stuff. (added clean_rels and clean_all)
* './tp pull-request' and './tp check' now doesn't include RELs by default. Use '--rels' to include them in the process.
* './tp remove-unused-asm --check' added, exitcode 0==no files, 1==exists files
Co-authored-by: Julgodis <>
Diffstat (limited to 'Makefile')
| -rw-r--r-- | Makefile | 46 |
1 files changed, 29 insertions, 17 deletions
@@ -19,7 +19,8 @@ TARGET_COL := wii TARGET := dolzel2 -BUILD_DIR := build/$(TARGET) +BUILD_PATH := build +BUILD_DIR := $(BUILD_PATH)/$(TARGET) SRC_DIRS := $(shell find src/ libs/ -type f -name '*.cpp') ASM_DIRS := $(shell find asm/ -type f -name '*.s') @@ -33,7 +34,7 @@ ELF := $(DOL:.dol=.elf) MAP := $(BUILD_DIR)/dolzel2.map # include list of object files --include obj_files.mk +include obj_files.mk #------------------------------------------------------------------------------- # Tools @@ -60,15 +61,15 @@ endif AS := $(DEVKITPPC)/bin/powerpc-eabi-as OBJCOPY := $(DEVKITPPC)/bin/powerpc-eabi-objcopy STRIP := $(DEVKITPPC)/bin/powerpc-eabi-strip -CC := $(WINE) tools/mwcc_compiler/$(MWCC_VERSION)/mwcceppc.exe +CC := $(WINE) tools/mwcc_compiler/$(MWCC_VERSION)/mwcceppc_patched.exe LD := $(WINE) tools/mwcc_compiler/$(MWCC_VERSION)/mwldeppc.exe -ELF2DOL := tools/elf2dol +ELF2DOL := $(BUILD_PATH)/elf2dol PYTHON := python3 +ICONV := iconv DOXYGEN := doxygen +MAKEREL := tools/makerel.py IMAGENAME := gz2e01.iso -POSTPROC := tools/postprocess.py - # Options INCLUDES := -i include -i include/dolphin/ -i src @@ -95,44 +96,52 @@ default: all all: dirs $(DOL) -ALL_DIRS := build $(BUILD_DIR) $(addprefix $(BUILD_DIR)/,$(SRC_DIRS) $(ASM_DIRS)) - # Make sure build directory exists before compiling anything dirs: - $(shell mkdir -p $(ALL_DIRS)) + @mkdir -p build + @mkdir -p $(BUILD_DIR) $(DOL): $(ELF) | tools $(ELF2DOL) $< $@ $(SDATA_PDHR) $(SBSS_PDHR) $(TARGET_COL) $(SHA1SUM) -c $(TARGET).sha1 clean: + rm -f -d -r $(BUILD_DIR)/libs + rm -f -d -r $(BUILD_DIR)/src + rm -f $(ELF) + rm -f $(DOL) + rm -f $(BUILD_DIR)/*.a + +clean_all: rm -f -d -r build - $(MAKE) -C tools clean -tools: - @$(MAKE) -C tools +clean_rels: + rm -f -d -r $(BUILD_DIR)/rel + rm -f $(BUILD_PATH)/*.rel + +tools: $(ELF2DOL) assets: - @cd game; python3 ../tools/extract_game_assets.py ../$(IMAGENAME) + @cd game; $(PYTHON) ../tools/extract_game_assets.py ../$(IMAGENAME) docs: $(DOXYGEN) Doxyfile rels: $(ELF) $(RELS) @echo generating RELs from .plf - @python3 tools/makerel.py build --string-table $(BUILD_DIR)/frameworkF.str $(RELS) $(ELF) + @$(PYTHON) $(MAKEREL) build --string-table $(BUILD_DIR)/frameworkF.str $(RELS) $(ELF) $(ELF): $(LIBS) $(O_FILES) @echo $(O_FILES) > build/o_files - @python3 tools/lcf.py dol --output $(LDSCRIPT) + @$(PYTHON) tools/lcf.py dol --output $(LDSCRIPT) $(LD) -application $(LDFLAGS) -o $@ -lcf $(LDSCRIPT) @build/o_files $(LIBS) # $(BUILD_DIR)/%.o: %.cpp @mkdir -p $(@D) @echo building... $< - @iconv -f UTF-8 -t CP932 < $< > $@.iconv.cpp - @$(CC) $(CFLAGS) -c -o $@ $@.iconv.cpp + @$(ICONV) -f UTF-8 -t CP932 < $< > $(basename $@).cpp + @$(CC) $(CFLAGS) -c -o $@ $(basename $@).cpp # shared cpp files for RELs $(BUILD_DIR)/rel/%.o: rel/%.cpp @@ -142,6 +151,9 @@ $(BUILD_DIR)/rel/%.o: rel/%.cpp # include library and rel makefiles -include include_link.mk +# tools +include tools/elf2dol/Makefile + ### Debug Print ### print-% : ; $(info $* is a $(flavor $*) variable set to [$($*)]) @true |
