cc65 / cc65

cc65 - a freeware C compiler for 6502 based systems

Home Page:https://cc65.github.io

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

make -j test/parallel make for tests is broken

clbr opened this issue · comments

commented

I'm not sure if this was supposed to work, if not please close this.

$ make -j13 test
make[3]: warning: jobserver unavailable: using -j1.  Add `+' to parent make rule.
make[3]: warning: jobserver unavailable: using -j1.  Add `+' to parent make rule.
make[3]: warning: jobserver unavailable: using -j1.  Add `+' to parent make rule.
mkdir -p ../../../testwrk/asm/val
../../../bin/ca65 -t sim6502 -o ../../../testwrk/asm/val/addrsize.6502.o addrsize.s
addrsize.s:22: Warning: Deprecated feature: '.feature addrsize'. Pseudo function .addrsize is always available.
addrsize.s:26: Warning: Deprecated feature: '.feature addrsize'. Pseudo function .addrsize is always available.
addrsize.s:30: Warning: Deprecated feature: '.feature addrsize'. Pseudo function .addrsize is always available.
Fatal error: Cannot open output file '../../../testwrk/asm/val/addrsize.6502.o': No such file or directory
make[3]: *** [../../../testwrk/asm/val/addrsize.6502.prg] Error 1
make[2]: *** [continue] Error 2
make[2]: *** Waiting for unfinished jobs....
make[3]: warning: jobserver unavailable: using -j1.  Add `+' to parent make rule.
make[3]: warning: jobserver unavailable: using -j1.  Add `+' to parent make rule.
make[1]: *** [continue] Error 2
make[1]: *** Waiting for unfinished jobs....
make: *** [test] Error 2

IIRC the tests cant run in parallel.... @oliverschmidt ?

(Bonus: if that is true, can we detect it in the makefile and show a message?)

I'm sorry but I can't remember anything about this anymore 🤔

just for info:

(Bonus: if that is true, can we detect it in the makefile and show a message?)

... i found https://www.gnu.org/software/make/manual/html_node/Testing-Flags.html - i couldnt make it detect -j properly in a quick test however :)

commented

you can put .NOTPARALLEL: inside the test/ Makefile and it should forcefully serialise https://www.gnu.org/software/make/manual/html_node/Parallel-Disable.html

commented

We do want it to be parallel, it just didn't work at the time. I think it works now, but I haven't tested.