From mboxrd@z Thu Jan 1 00:00:00 1970 Received: from eggs.gnu.org ([2001:4830:134:3::10]:44504) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1bIegV-0003oo-Jf for qemu-devel@nongnu.org; Thu, 30 Jun 2016 12:19:24 -0400 Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1bIegS-0005GQ-Cf for qemu-devel@nongnu.org; Thu, 30 Jun 2016 12:19:23 -0400 Received: from mx1.redhat.com ([209.132.183.28]:54370) by eggs.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1bIegS-0005GG-3T for qemu-devel@nongnu.org; Thu, 30 Jun 2016 12:19:20 -0400 References: <1466777957-5126-1-git-send-email-armbru@redhat.com> <87ziq6bkz2.fsf@oc4731375738.ibm.com> <5b090095-a7bb-e076-5a22-2a7dd02b074b@redhat.com> <87wplabc37.fsf@oc4731375738.ibm.com> <8760stemfk.fsf@dusky.pond.sub.org> <51308073-3e51-c5fb-02d3-ab04dfb9a2a3@redhat.com> <87mvm3nq8l.fsf@dusky.pond.sub.org> From: John Snow Message-ID: Date: Thu, 30 Jun 2016 12:19:18 -0400 MIME-Version: 1.0 In-Reply-To: <87mvm3nq8l.fsf@dusky.pond.sub.org> Content-Type: text/plain; charset=windows-1252 Content-Transfer-Encoding: 7bit Subject: Re: [Qemu-devel] [PATCH RFC v2 0/5] Baby steps towards saner headers List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , To: Markus Armbruster Cc: Sascha Silbe , Paolo Bonzini , qemu-devel@nongnu.org, peter.maydell@linaro.org On 06/30/2016 02:30 AM, Markus Armbruster wrote: > John Snow writes: > >> On 06/28/2016 04:40 AM, Markus Armbruster wrote: >>> Sascha Silbe writes: >>> >>>> Dear Paolo, >>>> >>>> Paolo Bonzini 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 ;-) > My reason is: "Thus, programs must be written for people to read, and only incidentally for machines to execute." Makefiles appear to be trying their hardest to do the opposite. Thanks for the fixup! --js