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