Skip site navigation (1)Skip section navigation (2)
Date:      Sun, 27 Jul 1997 19:42:46 +0930 (CST)
From:      Michael Smith <msmith@atrad.adelaide.edu.au>
To:        bde@zeta.org.au (Bruce Evans)
Cc:        bde@zeta.org.au, msmith@atrad.adelaide.edu.au, current@FreeBSD.ORG, mrcpu@cdsnet.net
Subject:   Re: make world failure
Message-ID:  <199707271012.TAA00531@genesis.atrad.adelaide.edu.au>
In-Reply-To: <199707250821.SAA29154@godzilla.zeta.org.au> from Bruce Evans at "Jul 25, 97 06:21:05 pm"

next in thread | previous in thread | raw e-mail | index | archive | help
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  [[



Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?199707271012.TAA00531>