Date: Fri, 1 Aug 1997 21:39:41 +1000 From: Bruce Evans <bde@zeta.org.au> To: bde@zeta.org.au, reg@shale.csir.co.za Cc: current@freebsd.org Subject: Re: More bogons in Makefiles... Message-ID: <199708011139.VAA07673@godzilla.zeta.org.au>
next in thread | raw e-mail | index | archive | help
>> with a per-source directory obj symlink)). Non sloppy makefiles would >> use a more complicated search for the object directory that would >> actually be used if `make' were run in the external source directory. > >An example being? ;) I don't know of any non-sloppy ones. `make''s object directory search path is too complicated to duplicate in dozens of Makefiles. `make -V .OBJDIR' was supposed to be useful for getting `make' to do the search, but it has various problems including endless recursion and/or unacceptable speed when used in complicated and/or large Makefiles. >> There are more bogons here. The whole ifdef is a verbose and confusing >> way write `YEARISTYPE= ${.OBJDIR}/yearistype. yearistype is always >> created in the object directory and ${.OBJDIR} always exists (although >> it's not clear where it is when make is invoked with args `obj all ...'). > >>From this I read ${.OBJDIR} == ${.CURDIR} iff no 'make obj'. If that is No, ${.OBJDIR} is the current directory for building sources. yearistype is always built there. ${.CURDIR} is the current directory when `make' is started. yearistype is only built in ${.CURDIR} if ${.CURDIR} happens to be the same directory as ${.OBJDIR} (I think it can be a different path in some cases involving symlinks). >correct then there is a lot of funny business going on, because there are a >lot of checks this form. Maybe. >> Because I don't use it :-). bsd.libnames.mk is no longer used in -current, >> so this problem will go away automatically. > >Looks suspiciously like bsd.lib.mk includes this file... but now I'm lost ;) >where do all the other defines for libraries come from? Nowhere. Dependencies are generated by the _EXTRADEPEND target, and ${DPADD} is not used (except in bsd.kmod.mk), so none of the defines for libraries are used. Bruce
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?199708011139.VAA07673>