John Snow <js...@redhat.com> writes: > On 06/28/2016 04:40 AM, Markus Armbruster wrote: >> Sascha Silbe <si...@linux.vnet.ibm.com> writes: >> >>> Dear Paolo, >>> >>> Paolo Bonzini <pbonz...@redhat.com> writes: >>> >>>>> After applying your series on top of f12103af and running "./configure" >>>>> in a clean working directory, I get the following errors for "make >>>>> check-source": >>>>> >>>>> $ make check-source >>>>> egrep: config-host.h: No such file or directory >>>>> egrep: qmp-commands.h: No such file or directory >>> [...] >>>>> GEN aarch64-softmmu/config-devices.mak.tmp >>>>> GEN aarch64-softmmu/config-devices.mak >>>>> [...] >>>>> GEN tests/test-qmp-introspect.h >>>>> make: *** No rule to make target `tests/headers/audio/audio.o', needed by >>>>> `check-headers'. Stop. >>>> >>>> Hi Sascha, >>>> >>>> these are all generated headers. In general, "make check" must be run >>>> after "make", and I suppose the same holds for "make check-headers". >>> >>> Still no dice. The egrep error messages don't occur when running "make >>> check-source" after a full "make" run, but the audio.o error still >>> happens: >>> >>> $ make check-source >>> make: *** No rule to make target `tests/headers/audio/audio.o', needed by >>> `check-headers'. Stop. >> >> Works fine in my build tree, fails in a fresh clone, can't yet say why. >> Thanks for reporting! >> > > I tried to manually exclude audio/audio.h, but it goes on to barf on the > next header in audio/. Not sure why your formula doesn't like that > directory for us.
"make -d tests/headers/audio/audio.c" immediately pinpoints the cause: [Lots of output about remaking makefiles...] Updating goal targets.... Considering target file 'tests/headers/audio/audio.c'. File 'tests/headers/audio/audio.c' does not exist. Looking for an implicit rule for 'tests/headers/audio/audio.c'. Trying pattern rule with stem 'audio/audio'. Trying rule prerequisite 'tests/header-test-template.c'. Trying pattern rule with stem 'audio/audio'. Trying rule prerequisite 'tests/header-test-template.c'. Looking for a rule with intermediate file 'tests/header-test-template.c'. Avoiding implicit rule recursion. No implicit rule found for 'tests/headers/audio/audio.c'. Finished prerequisites of target file 'tests/headers/audio/audio.c'. Must remake target 'tests/headers/audio/audio.c'. make: *** No rule to make target 'tests/headers/audio/audio.c'. Stop. I forgot to commit tests/header-test-template.c. Fixup posted. > (I *hate* Makefiles ...) Possibly for the wrong reasons ;-)