From owner-freebsd-current Sun Jul 27 03:12:57 1997 Return-Path: Received: (from root@localhost) by hub.freebsd.org (8.8.5/8.8.5) id DAA25624 for current-outgoing; Sun, 27 Jul 1997 03:12:57 -0700 (PDT) Received: from genesis.atrad.adelaide.edu.au (genesis.atrad.adelaide.edu.au [129.127.96.120]) by hub.freebsd.org (8.8.5/8.8.5) with ESMTP id DAA25615 for ; Sun, 27 Jul 1997 03:12:51 -0700 (PDT) Received: (from msmith@localhost) by genesis.atrad.adelaide.edu.au (8.8.5/8.7.3) id TAA00531; Sun, 27 Jul 1997 19:42:47 +0930 (CST) From: Michael Smith Message-Id: <199707271012.TAA00531@genesis.atrad.adelaide.edu.au> Subject: Re: make world failure In-Reply-To: <199707250821.SAA29154@godzilla.zeta.org.au> from Bruce Evans at "Jul 25, 97 06:21:05 pm" To: bde@zeta.org.au (Bruce Evans) Date: Sun, 27 Jul 1997 19:42:46 +0930 (CST) Cc: bde@zeta.org.au, msmith@atrad.adelaide.edu.au, current@FreeBSD.ORG, mrcpu@cdsnet.net X-Mailer: ELM [version 2.4ME+ PL28 (25)] MIME-Version: 1.0 Content-Type: text/plain; charset=US-ASCII Content-Transfer-Encoding: 7bit Sender: owner-freebsd-current@FreeBSD.ORG X-Loop: FreeBSD.org Precedence: bulk Bruce Evans stands accused of saying: > >I'm not sure I follow you here. It is not possible to run 'make > >depend' without generating the headers, as the depend will fail when > >the headers aren't found. > > Running `make depend' is not a requirement for building sources, at > least for the first build. Makefiles that require it are broken. Fair enough. > Another bugfeature in libedit/Makefile is that `.depend' instead of > `beforedepend' depends on the generated headers. .depend is a private > target in bsd.dep.mk (if the default `depend' target is used), so it > should not be used. OTOH, the default .depend target: > > depend: beforedepend .depend afterdepend _SUBDIR > > does not enforce the beforeness of `beforedepend' - it does not prevent > `make -j2' from attempting to build beforedepend and .depend concurrently. > Things work correctly when .depend depends on the generated headers. (I > don't know how to enforce the required ordering. I tried to use a > `beforeall' target in sh/Makefile to generate the headers before `all', > but this failed for `make -j2'. `make' probably just needs a way to > force building of a list of targets in list order.) depend: _SUBDIR _SUBDIR: afterdepend afterdepend: .depend .depend: beforedepend Moderately ugly, but I don't _think_ that would break. > >Given that .depend is written into the object directory, I can't see > >anything wrong with the method that libedit uses. It's certainly a > >sight less disgusting than the way that sh/Makefile does it. > > The method in sh/Makefile has the advantage of actually working. ... for some values of "working" which exclude "ease of development". > Bruce -- ]] Mike Smith, Software Engineer msmith@gsoft.com.au [[ ]] Genesis Software genesis@gsoft.com.au [[ ]] High-speed data acquisition and (GSM mobile) 0411-222-496 [[ ]] realtime instrument control. (ph) +61-8-8267-3493 [[ ]] Unix hardware collector. "Where are your PEZ?" The Tick [[