On Tue, Apr 14, 2009 at 11:34:18PM +0900, Izumi Tsutsui wrote: [...] > It looks some inconsistency around external/lib builds. > > src/lib/Makefile has the following lines: > --- > SUBDIR+= ../external/bsd/atf/lib/libatf-c ../external/bsd/atf/lib/libatf-c++ > : > SUBDIR+= ../external/bsd/openldap/lib > --- > > but external/lib/Makefile also has those libs: > --- > SUBDIR+= ../bsd/atf/lib > : > SUBDIR+= ../bsd/openldap/lib > --- > > and compat/external/lib/Makefile has only two libs: > --- > .if (${MKATF} != "no") > SUBDIR+= ../bsd/atf/lib > .endif > > SUBDIR+= ../bsd/bind/lib > --- > > ${.OBJDIR} under external/bsd/atf/lib dirs are created in src/lib/Makefile, > but not in external/bsd/bind/lib dirs. > > Maybe we should remove external ones from src/lib/Makefile > and add "external/lib" to SUBDIR in src/compat/Makefile? Here are my thoughts on the whole issue. - src/compat/Makefile should descend into external, just like the top level Makefile does. - it happened to work until now because src/lib/Makefile descends into the relevant directories. - my theory about src/lib/Makefile is that it is meant to be stand- alone, i.e. you can make obj dependall there and it will work even with an empty obj dir. That's why it is necessary for it to go to external/bsd/openldap/lib (stuff under src/lib need it). If this is correct, I'm not sure why atf gets referenced there, so it might be possible to remove it. On the other hand, it would probably mean descending into external/bsd/bind is needed there. But yeah, between the weird Makefiles under src/compat, the magic top- level targets in src/Makefile and the src/lib/Makefile shortcuts, it's confusing. -- Quentin Garnier - cube%cubidou.net@localhost - cube%NetBSD.org@localhost "See the look on my face from staying too long in one place [...] every time the morning breaks I know I'm closer to falling" KT Tunstall, Saving My Face, Drastic Fantastic, 2007.
Attachment:
pgpf4KriZ9lMA.pgp
Description: PGP signature