Skip site navigation (1)Skip section navigation (2)
Date:      Fri, 25 Jul 1997 18:21:05 +1000
From:      Bruce Evans <bde@zeta.org.au>
To:        bde@zeta.org.au, msmith@atrad.adelaide.edu.au
Cc:        current@FreeBSD.ORG, mrcpu@cdsnet.net
Subject:   Re: make world failure
Message-ID:  <199707250821.SAA29154@godzilla.zeta.org.au>

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

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.)

>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.

Bruce



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