On 07/29/2017 06:30 AM, Peter Maydell wrote:
> This happens because we have a rule that says
> "Makefile: $(GENERATED_FILES)"
> which is how we ensure that the autogenerated header
> files are always built before any .c file is compiled.
> The unfortunate side effect is that we rebuild the
> generated files before processing *any* makefile
> target, even those like 'clean' and 'help' that
> don't actually require them.
>
> I did once have a go at fixing this some years back:
> http://patchwork.ozlabs.org/patch/365288/
> but as you'll note from the last comment by me
> in that mail thread it had a fatal flaw for
> the "build from clean" case...
It's now getting worse, compiling dtc + capstone :)
$ ./configure > /dev/null && time make help
GEN aarch64-softmmu/config-devices.mak.tmp
GEN aarch64-softmmu/config-devices.mak
GEN alpha-softmmu/config-devices.mak.tmp
GEN alpha-softmmu/config-devices.mak
GEN arm-softmmu/config-devices.mak.tmp
GEN arm-softmmu/config-devices.mak
GEN cris-softmmu/config-devices.mak.tmp
GEN cris-softmmu/config-devices.mak
GEN i386-softmmu/config-devices.mak.tmp
GEN i386-softmmu/config-devices.mak
GEN lm32-softmmu/config-devices.mak.tmp
GEN lm32-softmmu/config-devices.mak
GEN m68k-softmmu/config-devices.mak.tmp
GEN m68k-softmmu/config-devices.mak
GEN microblaze-softmmu/config-devices.mak.tmp
GEN microblaze-softmmu/config-devices.mak
GEN microblazeel-softmmu/config-devices.mak.tmp
GEN microblazeel-softmmu/config-devices.mak
GEN mips-softmmu/config-devices.mak.tmp
GEN mips-softmmu/config-devices.mak
GEN mips64-softmmu/config-devices.mak.tmp
GEN mips64-softmmu/config-devices.mak
GEN mips64el-softmmu/config-devices.mak.tmp
GEN mips64el-softmmu/config-devices.mak
GEN mipsel-softmmu/config-devices.mak.tmp
GEN mipsel-softmmu/config-devices.mak
GEN moxie-softmmu/config-devices.mak.tmp
GEN moxie-softmmu/config-devices.mak
GEN nios2-softmmu/config-devices.mak.tmp
GEN nios2-softmmu/config-devices.mak
GEN or1k-softmmu/config-devices.mak.tmp
GEN or1k-softmmu/config-devices.mak
GEN ppc-softmmu/config-devices.mak.tmp
GEN ppc-softmmu/config-devices.mak
GEN ppc64-softmmu/config-devices.mak.tmp
GEN ppc64-softmmu/config-devices.mak
GEN ppcemb-softmmu/config-devices.mak.tmp
GEN ppcemb-softmmu/config-devices.mak
GEN s390x-softmmu/config-devices.mak.tmp
GEN s390x-softmmu/config-devices.mak
GEN sh4-softmmu/config-devices.mak.tmp
GEN sh4-softmmu/config-devices.mak
GEN sh4eb-softmmu/config-devices.mak.tmp
GEN sh4eb-softmmu/config-devices.mak
GEN sparc-softmmu/config-devices.mak.tmp
GEN sparc-softmmu/config-devices.mak
GEN sparc64-softmmu/config-devices.mak.tmp
GEN sparc64-softmmu/config-devices.mak
GEN tricore-softmmu/config-devices.mak.tmp
GEN tricore-softmmu/config-devices.mak
GEN unicore32-softmmu/config-devices.mak.tmp
GEN unicore32-softmmu/config-devices.mak
GEN x86_64-softmmu/config-devices.mak.tmp
GEN x86_64-softmmu/config-devices.mak
GEN xtensa-softmmu/config-devices.mak.tmp
GEN xtensa-softmmu/config-devices.mak
GEN xtensaeb-softmmu/config-devices.mak.tmp
GEN xtensaeb-softmmu/config-devices.mak
GEN aarch64-linux-user/config-devices.mak.tmp
GEN aarch64-linux-user/config-devices.mak
GEN alpha-linux-user/config-devices.mak.tmp
GEN alpha-linux-user/config-devices.mak
GEN arm-linux-user/config-devices.mak.tmp
GEN arm-linux-user/config-devices.mak
GEN armeb-linux-user/config-devices.mak.tmp
GEN armeb-linux-user/config-devices.mak
GEN cris-linux-user/config-devices.mak.tmp
GEN cris-linux-user/config-devices.mak
GEN hppa-linux-user/config-devices.mak.tmp
GEN hppa-linux-user/config-devices.mak
GEN i386-linux-user/config-devices.mak.tmp
GEN i386-linux-user/config-devices.mak
GEN m68k-linux-user/config-devices.mak.tmp
GEN m68k-linux-user/config-devices.mak
GEN microblaze-linux-user/config-devices.mak.tmp
GEN microblaze-linux-user/config-devices.mak
GEN microblazeel-linux-user/config-devices.mak.tmp
GEN microblazeel-linux-user/config-devices.mak
GEN mips-linux-user/config-devices.mak.tmp
GEN mips-linux-user/config-devices.mak
GEN mips64-linux-user/config-devices.mak.tmp
GEN mips64-linux-user/config-devices.mak
GEN mips64el-linux-user/config-devices.mak.tmp
GEN mips64el-linux-user/config-devices.mak
GEN mipsel-linux-user/config-devices.mak.tmp
GEN mipsel-linux-user/config-devices.mak
GEN mipsn32-linux-user/config-devices.mak.tmp
GEN mipsn32-linux-user/config-devices.mak
GEN mipsn32el-linux-user/config-devices.mak.tmp
GEN mipsn32el-linux-user/config-devices.mak
GEN