On Wed, Jun 05, 2024 at 08:53 PM +1000, "Nicholas Piggin" <npiggin@xxxxxxxxx> wrote: > On Wed Jun 5, 2024 at 8:42 PM AEST, Marc Hartmayer wrote: >> On Wed, Jun 05, 2024 at 06:16 PM +1000, Nicholas Piggin <npiggin@xxxxxxxxx> wrote: >> > Here's another oddity I ran into with the build system. Try run make >> > twice. With arm64 and ppc64, the first time it removes some intermediate >> > files and the second causes another rebuild of several files. After >> > that it's fine. s390x seems to follow a similar pattern but does not >> > suffer from the problem. Also, the .PRECIOUS directive is not preventing >> > them from being deleted inthe first place. So... that probably means I >> > haven't understood it properly and the fix may not be correct, but it >> > does appear to DTRT... Anybody with some good Makefile knowledge might >> > have a better idea. >> > >> >> $ make clean -j &>/dev/null && make -d >> … >> Successfully remade target file 'all'. >> Removing intermediate files... >> rm powerpc/emulator.aux.o powerpc/tm.aux.o powerpc/spapr_hcall.aux.o powerpc/interrupts.aux.o powerpc/selftest.aux.o powerpc/smp.aux.o powerpc/selftest-migration.aux.o powerpc/spapr_vpa.aux.o powerpc/sprs.aux.o powerpc/rtas.aux.o powerpc/memory-verify.aux.o >> >> So an easier fix would be to add %.aux.o to .PRECIOUS (but that’s probably still not clean). >> >> .PRECIOUS: %.o %.aux.o > > Ah, so %.o does not match %.aux.o. That answers that. Did you see > why s390x is immune? Maybe it defines the target explicitly somewhere. Not yet :/ But what was also interesting is that if I’m using multiple jobs I don’t see the issue. make clean -j; make -j; make -j # <- the last make has nothing to do if I’m using: make clean -j; make; make -j # <- the last make has something to do… that something that irritates me > > Is it better to define explicit targets if we want to keep them, or > add to .PRECIOUS? Your patch would be simpler. Normally, I would say without .PRECIOUS it’s cleaner, but there is already a .PRECIOUS for %.so… So as Andrew has already written .PRECIOUS: %.so %.aux.o should also be fine. > > Thanks, > Nick > -- Kind regards / Beste Grüße Marc Hartmayer IBM Deutschland Research & Development GmbH Vorsitzender des Aufsichtsrats: Wolfgang Wendt Geschäftsführung: David Faller Sitz der Gesellschaft: Böblingen Registergericht: Amtsgericht Stuttgart, HRB 243294