sotn-decomp/.gitignore
Luciano Ciccariello fa21ce1442
Enhance make extract on PSX (#662)
Previously if either the YAML or the symbol list were changed, we were
forced to either manually delete the `asm` folder of the specific
overlay or to invoke `make clean`, where the latter forced us to
re-extract all the overlays via `make -j extract`.

That changes with this PR. How `make` works is `target: dep1 dep2` where
if one of the dependencies has the last modified date greater than the
target, the rule is triggered again. Previously we were extracting
overlays doing `make extract_stcen`. But since every overlay extraction
generates a linker script I now changed the rules to do `make
build/us/stcen.ld` to extract the same overlay. As I explained above, if
either the YAML or one of the related symbols changes, the linker
modified date will be older and the extraction for that overlay to be
trigger again.

The above allowed me to stop polluting the repo root with the linker
scripts as they are now moved into `build/us` or `build/hd` depending of
what you're trying to build. If you do `make extract` twice in a row you
will be welcomed with a `make: Nothing to be done for 'extract'.`.

There are still some instances where you **might** need `make clean`
beforehand, especially when modifying the `segment` section in the YAML
or renaming the symbols. A `rm -rf asm/$(VERSION)/$*` can help but I
want to see if the current solution will be enough.

### Please try removing `make clean` from your workflow, once this is
merged, to quickly detect possible problems with this new approach.

I am also planning to make more substantial changes on our build-chain
like this PR or #660 in the future. I am aiming to small incremental
changes over time in case I break someone's flow or detect design flaws.
I am also considering the breaking changes introduced in make 4.4, which
will most likely be included in Ubuntu 24.04 LTS. I set March 2024 as a
deadline to finish all the new build-chain work.

---------

Co-authored-by: sozud <122322823+sozud@users.noreply.github.com>
2023-10-05 09:26:29 +01:00

47 lines
799 B
Plaintext

main.exe
DRA.BIN
BIN/ARC_F.BIN
BIN/RIC.BIN
ST/
ctx.c
ctx.c.m2c
*.map
*auto.*.txt
generated.symbols.*.txt
__pycache__
asm/*/*/*.s
asm/*/*/data/*.s
asm/**/psxsdk/lib*/*/*.s
asm/*/*/nonmatchings/*.s
asm/*/*/nonmatchings/*/*.s
asm/*/*/nonmatchings/*/*/*.s
asm/*/servant/*/data/*.s
asm/*/servant/*/nonmatchings/*.s
asm/*/servant/*/nonmatchings/*/*.s
asm/*/servant/*/nonmatchings/*/*/*.s
asm/*/st/*/data/*.s
asm/*/st/*/nonmatchings/*.s
asm/*/st/*/nonmatchings/*/*.s
asm/*/st/*/nonmatchings/*/*/*.s
assets/
bin/
build/
expected/
disks/
.vscode/settings.json
tools/go
!tools/sotn-debugmodule/sotn-debugmodule.ld
tools/saturn_toolchain/GCCSH
config/saturn/game_syms.txt
config/saturn/stage_02_syms.txt
config/saturn/t_bat_syms.txt
config/saturn/zero_syms.txt
asm/saturn
sotn_calltree.txt
function_calls