Makefile revision 1.12
1# $NetBSD: Makefile,v 1.12 2002/01/21 13:46:26 mrg Exp $ 2 3TOP= ${.CURDIR}/.. 4MINIROOT= ${TOP}/../miniroot 5 6.include "${TOP}/Makefile.inc" 7 8.include <bsd.own.mk> # So we use /etc/mk.conf. 9.include <bsd.kernobj.mk> 10 11HACKSRC= ${TOP}/../utils/libhack 12SRCROOT= ${TOP}/../.. 13WARNS=1 14INSTKERN?= ${KERNOBJDIR}/INSTALL/netbsd 15GENERICKERN?= ${KERNOBJDIR}/GENERIC/netbsd 16 17AUXDEPENDS= dot.profile disktab.preinstall termcap.mini \ 18 dist/base_obsolete dist/comp_obsolete \ 19 dist/games_obsolete dist/man_obsolete dist/misc_obsolete \ 20 dist/secr_obsolete dist/xbase_obsolete dist/xserver_obsolete 21AUXCLEAN= list ${CBIN}.conf dot.profile 22 23CBIN= ramdiskbin 24 25 26CSIZE?= 15360 27IMAGE?= miniroot.fs 28INSTALLSIZE?= 10240 29INSTALLIMAGE?= install.fs 30MDEC= ${DESTDIR}/usr/mdec 31MOUNT_POINT?= ${.OBJDIR}/mountpoint 32 33LISTS= list 34CRUNCHCONF= ${CBIN}.conf 35MTREECONF= mtree.conf 36 37CRUNCHGEN?= crunchgen 38MDSETIMAGE?= mdsetimage 39MTREE?= mtree 40DISKTYPE?= miniroot 41 42MAKEFSOPTS?= -o optimization=space,minfree=1,bsize=16k,fsize=2k 43 44all: netbsd.INSTALL ${INSTALLIMAGE} ${IMAGE} 45 46netbsd.gz: ${GENERICKERN} 47 gzip -9 < ${GENERICKERN} > netbsd.gz 48 49netbsd.INSTALL: ${INSTKERN} ${INSTALLIMAGE} 50 cp ${INSTKERN} netbsd.tmp 51 ${MDSETIMAGE} -v netbsd.tmp ${INSTALLIMAGE} 52 ${STRIP} netbsd.tmp 53 mv netbsd.tmp ${.TARGET} 54 55${INSTALLIMAGE} ${IMAGE}: ${CBIN} ${AUXDEPENDS} ${MTREECONF} ${LISTS} dot.profile netbsd.gz 56 @echo "Building miniroot tree..." 57 -rm -rf ${MOUNT_POINT} 58 mkdir -m 755 ${MOUNT_POINT} 59 ${MTREE} -def ${.CURDIR}/${MTREECONF} -p ${MOUNT_POINT}/ -u 60 TOPDIR=${TOP} CURDIR=${.CURDIR} OBJDIR=${.OBJDIR} \ 61 KERNOBJDIR=${KERNOBJDIR} \ 62 TARGDIR=${MOUNT_POINT} sh ${TOP}/runlist.sh ${LISTS} 63 @echo "Creating install image..." 64 -rm -f ${INSTALLIMAGE} 65 ${MAKEFS} -t ffs -B be -s ${INSTALLSIZE}b ${MAKEFSOPTS} \ 66 -o nsectors=1,ntracks=${INSTALLSIZE} \ 67 ${INSTALLIMAGE}.tmp ${MOUNT_POINT} && mv ${INSTALLIMAGE}.tmp ${INSTALLIMAGE} 68 @echo "Copying in GENERIC kernel..." 69 cp netbsd.gz ${MOUNT_POINT}/netbsd 70 @echo "Creating miniroot image..." 71 -rm -f ${IMAGE} 72 ${MAKEFS} -t ffs -B be -s ${CSIZE}b ${MAKEFSOPTS} \ 73 -o nsectors=1,ntracks=${CSIZE} \ 74 ${IMAGE}.tmp ${MOUNT_POINT} && mv ${IMAGE}.tmp ${IMAGE} 75 # use sunlabel? 76 #-disklabel -f ${.CURDIR}/disktab -rw ${VND_CDEV} ${DISKTYPE} 77 @echo "installing new bootblocks" 78 dd if=${MDEC}/bootblk of=${IMAGE} bs=512 count=15 conv=notrunc seek=1 79 80dot.profile: dot.profile.m4 81 m4 -DMACHINE_ARCH=${MACHINE_ARCH} -DMACHINE=${MACHINE} \ 82 ${.ALLSRC} > ${.TARGET} 83 84${LISTS}: ${LISTS}.m4 85 m4 -DMACHINE_ARCH=${MACHINE_ARCH} -DMACHINE=${MACHINE} \ 86 -DSRCROOT=${SRCROOT} ${.ALLSRC} > ${.TARGET} 87 88${CBIN}.conf: ${CBIN}.m4 89 m4 -DMACHINE_ARCH=${MACHINE_ARCH} -DMACHINE=${MACHINE} \ 90 ${.ALLSRC} > ${.TARGET} 91 92${CBIN}.mk ${CBIN}.cache ${CBIN}.c: ${CRUNCHCONF} 93 ${CRUNCHGEN} -D ${SRCROOT} -L ${DESTDIR}/usr/lib ${.ALLSRC} 94 95${CBIN}: ${CBIN}.mk ${CBIN}.cache ${CBIN}.c 96 ${MAKE} -f ${CBIN}.mk all 97 98# This is listed in ramdiskbin.conf but is built here. 99${CBIN}: libhack.o 100 101# Use stubs to eliminate some large stuff from libc 102.include "${HACKSRC}/Makefile.inc" 103 104# turn off small gethostby* temporarily 105HACKOBJS:= getcap.o getgrent.o getnet.o getnetgr.o getpwent.o setlocale.o yplib.o 106 107clean cleandir distclean: 108 /bin/rm -f *.core ${AUXCLEAN} ${IMAGE} netbsd.INSTALL ${CBIN} \ 109 ${CBIN}.mk ${CBIN}.cache *.o *.lo *.cro *.c 110 111.ifndef RELEASEDIR 112release: 113 @echo setenv RELEASEDIR first 114 @false 115.else 116release: $(IMAGE) netbsd.INSTALL 117 @mkdir -p $(RELEASEDIR)/installation/miniroot 118 gzip -c -9 < $(.OBJDIR)/miniroot.fs \ 119 > $(RELEASEDIR)/installation/miniroot/miniroot.fs.gz 120 @mkdir -p $(RELEASEDIR)/binary/kernels 121.endif # RELEASEDIR check 122 123.include <bsd.own.mk> 124.include <bsd.obj.mk> 125.include <bsd.subdir.mk> 126.include <bsd.sys.mk> 127.include <bsd.prog.mk> 128