Skip to content

Conversation

@claui
Copy link
Contributor

@claui claui commented Dec 2, 2025

This PR fixes parallel builds.
Tested with -j1, -j2, and -j16.
Might need testing on at least one more machine.

Fixes #363.

@claui claui force-pushed the add-file-dependency-relations branch from 1806d7a to b05a417 Compare January 6, 2026 09:19
@claui claui marked this pull request as ready for review January 6, 2026 09:22
@claui claui marked this pull request as draft January 6, 2026 09:43
@claui
Copy link
Contributor Author

claui commented Jan 6, 2026

Need to fix make clean, which fails to clean up nested basload and x16-edit builds.

@claui
Copy link
Contributor Author

claui commented Jan 6, 2026

Output of make clean && make -j2:

Before

[…]
(cd x16-edit && make clean rom)
(cd basload && make clean && make)
make[1]: Entering directory '/home/claudia/Documents/dev/x16-rom/x16-edit'
rm -f build/*
make[1]: Nothing to be done for 'rom'.
make[1]: Leaving directory '/home/claudia/Documents/dev/x16-rom/x16-edit'
cp x16-edit/build/x16edit-rom.bin build/x16/x16edit-rom.bin
make[1]: Entering directory '/home/claudia/Documents/dev/x16-rom/basload'
rm -f build/*
cp: cannot stat 'x16-edit/build/x16edit-rom.bin': No such file or directory
make: *** [Makefile:482: build/x16/x16edit-rom.bin] Error 1
[…]

After

(cd basload && make clean)
make[1]: Entering directory '/home/claudia/Documents/dev/x16-rom/basload'
rm -f build/*
make[1]: Leaving directory '/home/claudia/Documents/dev/x16-rom/basload'
(cd x16-edit && make clean)
make[1]: Entering directory '/home/claudia/Documents/dev/x16-rom/x16-edit'
rm -f build/*
make[1]: Leaving directory '/home/claudia/Documents/dev/x16-rom/x16-edit'
rm -f build/x16/../signature.bin
rm -rf build/x16
[…]
(cd x16-edit && make clean rom)
(cd basload && make clean && make)
make[1]: Entering directory '/home/claudia/Documents/dev/x16-rom/x16-edit'
rm -f build/*
make[1]: Entering directory '/home/claudia/Documents/dev/x16-rom/basload'
rm -f build/*
lzsa -r -f2 help.txt build/help.bin
make[1]: Leaving directory '/home/claudia/Documents/dev/x16-rom/basload'
make[1]: Entering directory '/home/claudia/Documents/dev/x16-rom/basload'
cl65 -o build/basload-rom.bin --cpu 65C02 -t none -C conf/basload-rom.cfg -m build/basload-rom.map -l build/basload-rom.lst -Ln build/basload-rom.sym main.asm
lzsa -r -f2 help_short.txt build/help_short.bin
cl65 --asm-args -Dtarget_mem=2 -g -o build/x16edit-rom.bin -t cx16 -C conf/x16edit-rom.cfg --mapfile build/x16edit-rom.map -Ln build/x16edit-rom.sym -l build/x16edit-rom.lst main.asm
rm -f main.o
make[1]: Leaving directory '/home/claudia/Documents/dev/x16-rom/basload'
[…]
cp x16-edit/build/x16edit-rom.bin build/x16/x16edit-rom.bin
./scripts/trace_info.py 13 x16-edit/conf/x16edit-rom.cfg x16-edit/build/x16edit-rom.lst  build/x16/x16edit-rom_D.rlst build/x16/x16edit_D_labels.h
cp basload/build/basload-rom.bin build/x16/basload-rom.bin
./scripts/trace_info.py 15 basload/conf/basload-rom.cfg basload/build/basload-rom.lst build/x16/basload-rom.rlst build/x16/basload_labels.h
[…]

Works as expected.

@claui claui marked this pull request as ready for review January 6, 2026 11:10
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

Rom rev48 cannot be built: "ld65: Error: Cannot use -Ln twice"

1 participant