diff options
author | Theo de Raadt <deraadt@cvs.openbsd.org> | 2016-10-14 18:43:03 +0000 |
---|---|---|
committer | Theo de Raadt <deraadt@cvs.openbsd.org> | 2016-10-14 18:43:03 +0000 |
commit | 645eff3a855254a1fd4271016d679ddf41bda9b5 (patch) | |
tree | 0d9ce821aa8023f5b24efd533b7ba7701d8a6cb1 /sys/arch/macppc | |
parent | 1f9195d8cf739e4124db4512200c8278bbda6957 (diff) |
Kernel builds now happen in compile/CONFIG/obj@ -> /usr/obj/... [or ./obj/,
if srctree is not rooted at /usr/src]. As a result, stock GENERIC & RAMDISK
kernels are commited to the tree, to ensure the src tree can be "readonly"
during builds, with all writes occuring inside the obj space. config -b
options are handled by ../Makefile.inc. The canonical new way to configure
one of these kernels is:
% cd /sys/arch/amd64/compile/GENERIC.MP
% doas make obj
% make config
% make
% doas cp obj/bsd /bsd
The build infrastructure will use this new mechanism in a de-escalation
way using BUILDUSER.
Much help from natano and tb.
Diffstat (limited to 'sys/arch/macppc')
-rw-r--r-- | sys/arch/macppc/Makefile | 4 | ||||
-rw-r--r-- | sys/arch/macppc/compile/.cvsignore | 3 | ||||
-rw-r--r-- | sys/arch/macppc/compile/GENERIC.MP/Makefile | 1 | ||||
-rw-r--r-- | sys/arch/macppc/compile/GENERIC/Makefile | 1 | ||||
-rw-r--r-- | sys/arch/macppc/compile/Makefile | 8 | ||||
-rw-r--r-- | sys/arch/macppc/compile/Makefile.inc | 19 | ||||
-rw-r--r-- | sys/arch/macppc/compile/RAMDISK/Makefile | 1 | ||||
-rw-r--r-- | sys/arch/macppc/conf/Makefile.macppc | 6 |
8 files changed, 36 insertions, 7 deletions
diff --git a/sys/arch/macppc/Makefile b/sys/arch/macppc/Makefile index 32ab5e9ab62..eac34cca820 100644 --- a/sys/arch/macppc/Makefile +++ b/sys/arch/macppc/Makefile @@ -1,4 +1,4 @@ -# $OpenBSD: Makefile,v 1.11 2016/05/31 18:37:04 tedu Exp $ +# $OpenBSD: Makefile,v 1.12 2016/10/14 18:42:58 deraadt Exp $ S= ${.CURDIR}/../.. KFILE= GENERIC @@ -11,7 +11,7 @@ TAGS= ${.CURDIR}/tags NOPROG= NOMAN= NOOBJ= -SUBDIR= stand +SUBDIR= stand compile # config the fattest kernel we can find into a temporary dir # to create a Makefile. Then use make to pull some variables diff --git a/sys/arch/macppc/compile/.cvsignore b/sys/arch/macppc/compile/.cvsignore deleted file mode 100644 index d3160b418c1..00000000000 --- a/sys/arch/macppc/compile/.cvsignore +++ /dev/null @@ -1,3 +0,0 @@ -GENERIC -GENERIC.MP -RAMDISK diff --git a/sys/arch/macppc/compile/GENERIC.MP/Makefile b/sys/arch/macppc/compile/GENERIC.MP/Makefile new file mode 100644 index 00000000000..01b5f23410c --- /dev/null +++ b/sys/arch/macppc/compile/GENERIC.MP/Makefile @@ -0,0 +1 @@ +.include "../Makefile.inc" diff --git a/sys/arch/macppc/compile/GENERIC/Makefile b/sys/arch/macppc/compile/GENERIC/Makefile new file mode 100644 index 00000000000..01b5f23410c --- /dev/null +++ b/sys/arch/macppc/compile/GENERIC/Makefile @@ -0,0 +1 @@ +.include "../Makefile.inc" diff --git a/sys/arch/macppc/compile/Makefile b/sys/arch/macppc/compile/Makefile new file mode 100644 index 00000000000..4c1ba402478 --- /dev/null +++ b/sys/arch/macppc/compile/Makefile @@ -0,0 +1,8 @@ +# $OpenBSD: Makefile,v 1.1 2016/10/14 18:43:00 deraadt Exp $ + +.if make(obj) || make(clean) +SUBDIR!=find . -type d -maxdepth 1 \! \( -name . -o -name CVS \) +#SUBDIR=GENERIC GENERIC.MP RAMDISK +.endif + +.include <bsd.subdir.mk> diff --git a/sys/arch/macppc/compile/Makefile.inc b/sys/arch/macppc/compile/Makefile.inc new file mode 100644 index 00000000000..d79a8803ef2 --- /dev/null +++ b/sys/arch/macppc/compile/Makefile.inc @@ -0,0 +1,19 @@ +SYSDIR != cd ${.CURDIR}/../../../..; pwd +CONFDIR != cd ${.CURDIR}/../../conf; pwd + +.if ${.CURDIR} == ${.OBJDIR} +.PHONY: config +config: + @echo make obj required first >&2 + @false +.elif !exists(${OBJDIR}/Makefile) +.PHONY: config clean +config: + config -b ${.OBJDIR} -s ${SYSDIR} ${CONFDIR}/${.CURDIR:T} + +clean: + +.endif + +.include <bsd.obj.mk> + diff --git a/sys/arch/macppc/compile/RAMDISK/Makefile b/sys/arch/macppc/compile/RAMDISK/Makefile new file mode 100644 index 00000000000..01b5f23410c --- /dev/null +++ b/sys/arch/macppc/compile/RAMDISK/Makefile @@ -0,0 +1 @@ +.include "../Makefile.inc" diff --git a/sys/arch/macppc/conf/Makefile.macppc b/sys/arch/macppc/conf/Makefile.macppc index f6ac0af8c7b..490d9fde5ba 100644 --- a/sys/arch/macppc/conf/Makefile.macppc +++ b/sys/arch/macppc/conf/Makefile.macppc @@ -1,4 +1,4 @@ -# $OpenBSD: Makefile.macppc,v 1.73 2016/09/24 19:13:03 kettenis Exp $ +# $OpenBSD: Makefile.macppc,v 1.74 2016/10/14 18:43:02 deraadt Exp $ # For instructions on building kernels consult the config(8) and options(4) # manual pages. @@ -21,7 +21,7 @@ S!= cd ../../../..; pwd _machdir?= $S/arch/${_mach} _archdir?= $S/arch/${_arch} -INCLUDES= -nostdinc -I$S -I. -I$S/arch +INCLUDES= -nostdinc -I$S -I${.OBJDIR} -I$S/arch CPPFLAGS= ${INCLUDES} ${IDENT} ${PARAM} -D_KERNEL -D__${_mach}__ -MD -MP CWARNFLAGS= -Werror -Wall -Wimplicit-function-declaration \ -Wno-main -Wno-uninitialized -Wno-pointer-sign \ @@ -125,6 +125,8 @@ lint: ${CFILES} ioconf.c param.c | \ grep -v 'static function .* unused' +obj: + depend: @touch $@ |