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