[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: "make" skips files that had build failure on next run
From: |
Jan Nieuwenhuizen |
Subject: |
Re: "make" skips files that had build failure on next run |
Date: |
Sun, 18 Apr 2021 17:13:45 +0200 |
User-agent: |
Gnus/5.13 (Gnus v5.13) Emacs/27.1 (gnu/linux) |
W. J. van der Laan writes:
Hi,
> I think there is a slight bug in the build system: when a build for a
> compilation unit fails due to an error, the next time "make" is run,
> when not touching the source file in question, it skips that file:
>
> $ make
> ⋮
> CC ../lib/stdlib/atol.c
> atol.s:5 :Received invalid other; push___%ra
> mescc: failed: /data/src/mescc-tools/bin/M1 --LittleEndian --architecture
> riscv64 -f ../lib/riscv64-mes/riscv64.M1 -f atol.s -o atol.o
> $ cat atol.o
> <
> :atol
> $ make
> ⋮
> AR libc+tcc.a
> CC ../lib/stdlib/mbstowcs.c
> ⋮
> $ cat
>
> It seems that partial output is generated, and confused for a
> successfully built file. Not a big deal when bootstrapping but it can
> lead to confusion during development.
Yes, I agree, this is less than great. Otoh, removing partial output
upon failure (something like)
if ! mescc ...; then
rm -f xxx.o xxx.S
fi
may also not be what we want? Possibly we could do something like
mv xxx.o xxx.o-error
Janneke
--
Jan Nieuwenhuizen <janneke@gnu.org> | GNU LilyPond http://lilypond.org
Freelance IT http://JoyofSource.com | Avatar® http://AvatarAcademy.com