933525b99b
subdirectories and invokes dependall/install. Do this in groups delimited by .WAIT to ensure that depending libraries can use the installed versions and don't need to know the locations in the source tree. Use this new target in src/Makefile to replace most of the adhoc library logic with two special cases, src/lib and src/compat. Adjust sys/Makefile to include the module directory when building them. Add some necessary .WAITs in src/lib/Makefile to reflect the dependencies from src/Makefile and also add the rump libraries here.
33 lines
958 B
Makefile
33 lines
958 B
Makefile
# $NetBSD: Makefile,v 1.3 2012/08/17 16:22:27 joerg Exp $
|
|
|
|
# hacky method to get compat multilib base objdirs created before
|
|
# make tries to go create the subdirs used for builds.
|
|
|
|
# the problem is that make handles objdir creation for subdirs before it
|
|
# handles this current directory, so when make cd's into $arch/$libtype
|
|
# and from there into the ../../lib dirs, it ends up setting the forced
|
|
# MAKEOBJDIR to something based upon ${.CURDIR}, since the objdir
|
|
# doesn't exist yet.
|
|
#
|
|
# our solution is simple - from this Makefile we traverse the same list
|
|
# of $arch/$libtype's with "BOOTSTRAP_SUBDIR=". then the compat/Makefile
|
|
# handles these subdirs as normal, with the base objdir created.
|
|
|
|
.include <bsd.own.mk>
|
|
|
|
TARGETS+= build_install
|
|
|
|
.if ${MKCOMPAT} != "no"
|
|
.if make(obj)
|
|
|
|
.include "../archdirs.mk"
|
|
|
|
MAKEDIRTARGETENV= BOOTSTRAP_SUBDIRS=
|
|
|
|
SUBDIR= ${ARCHDIR_SUBDIR:C/^/..\//}
|
|
|
|
.endif # make(obj)
|
|
.endif # MKCOMPAT != no
|
|
|
|
.include <bsd.subdir.mk>
|