summaryrefslogtreecommitdiffstats
path: root/release/picobsd/build/Makefile.conf
diff options
context:
space:
mode:
Diffstat (limited to 'release/picobsd/build/Makefile.conf')
-rw-r--r--release/picobsd/build/Makefile.conf59
1 files changed, 59 insertions, 0 deletions
diff --git a/release/picobsd/build/Makefile.conf b/release/picobsd/build/Makefile.conf
new file mode 100644
index 0000000..c4f048b
--- /dev/null
+++ b/release/picobsd/build/Makefile.conf
@@ -0,0 +1,59 @@
+# $FreeBSD$
+#
+# Makefile for building PICOBSD kernels and running crunchgen
+#
+# Needs SRC pointing to the source tree,
+# MY_TREE ponting to my tree
+# BUILDDIR pointing to the build directory
+# PICO_OBJ pointing to the object directory
+# When building a kernel, also need ${name} from the environment
+# and CONFIG may indicate an alternate config program
+
+SRC?=/usr/src
+CONFIG?=config
+MODULES?=-DNO_MODULES # do not build them as a default
+
+# caller will set MODULES to empty if modules are needed.
+# Indeed, it can be used to specify other Makefile options as well.
+
+# These 3 variables determine where the kernel is built.
+# If config were smart enough, we could place the config
+# file in some other place than ${SRC}/sys/i386/conf, but
+# at the moment (Oct.2001) this is not possible yet.
+CONF=${SRC}/sys/i386/conf
+#CONF=${BUILDDIR}/conf # XXX does not work yet
+CONFFILE=PICOBSD-${name}
+
+# We can, however, compile the kernel somewhere else
+#COMPILE=${CONF}/../compile/${CONFFILE}
+COMPILE=${BUILDDIR}/${CONFFILE}
+
+KERNFILE=${COMPILE}/kernel
+
+${BUILDDIR}/kernel: ${KERNFILE}
+ cp -p ${.OODATE} ${.TARGET}
+ strip ${.TARGET}
+ strip --remove-section=.note --remove-section=.comment ${.TARGET}
+
+${KERNFILE}: ${COMPILE} do_a_make_in_the_kernel_directory_anyways
+
+do_a_make_in_the_kernel_directory_anyways:
+ (cd ${COMPILE}; make KERNEL=kernel ${MODULES} )
+
+${COMPILE}: ${CONF}/${CONFFILE}
+ (cd ${CONF}; ${CONFIG} -d ${COMPILE} ${CONFFILE}; \
+ cd ${COMPILE}; make KERNEL=kernel ${MODULES} depend )
+
+${CONF}/${CONFFILE}: PICOBSD
+ # -mkdir -p ${CONF} # XXX not needed yet.
+ cp ${.OODATE} ${.TARGET}
+ if [ -f PICOBSD.hints ] ; then cp PICOBSD.hints ${CONF}/PICOBSD.hints ; fi
+
+# This part creates crunch1.conf and crunch.mk from crunch.conf
+${BUILDDIR}/crunch.mk: ${BUILDDIR}/crunch1.conf
+ -(cd ${BUILDDIR}/crunch ; \
+ crunchgen -p ${PICO_OBJ} -o -m ${.TARGET} ${.OODATE} )
+
+${BUILDDIR}/crunch1.conf: ${MY_TREE}/crunch.conf
+ (cd ${BUILDDIR}/crunch ; cat ${.OODATE} | \
+ sed -e "s@/usr/src@${SRC}@" -e "s+@__CWD__@+${MY_TREE}+" > ${.TARGET} )
OpenPOWER on IntegriCloud