1 1.10 mason # $NetBSD: Makefile,v 1.10 2001/12/26 15:18:24 mason 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.3 eeh KERN?= ${KERNOBJDIR}/INSTALL/netbsd 15 1.1 mrg 16 1.1 mrg .if ${MACHINE_ARCH} == "i386" 17 1.1 mrg RAW_PART= d 18 1.1 mrg .else 19 1.1 mrg RAW_PART= c 20 1.1 mrg .endif 21 1.1 mrg 22 1.1 mrg # Need to add more cases 23 1.1 mrg .if ${MACHINE_ARCH} == "sparc" || ${MACHINE_ARCH} == "m68k" || \ 24 1.1 mrg ${MACHINE_ARCH} == "sparc64" 25 1.1 mrg FS_END= be 26 1.1 mrg .else # i386, pmax 27 1.1 mrg FS_END= le 28 1.1 mrg .endif 29 1.1 mrg 30 1.1 mrg AUXDEPENDS= dot.profile disktab.preinstall termcap.mini \ 31 1.1 mrg dist/base_obsolete dist/comp_obsolete \ 32 1.1 mrg dist/games_obsolete dist/man_obsolete dist/misc_obsolete \ 33 1.1 mrg dist/secr_obsolete dist/xbase_obsolete dist/xserver_obsolete 34 1.1 mrg AUXCLEAN= list ${CBIN}.conf dot.profile 35 1.1 mrg 36 1.1 mrg CBIN= ramdiskbin 37 1.1 mrg 38 1.1 mrg 39 1.1 mrg MOUNT_POINT?= /mnt 40 1.1 mrg # DEV/RDEV file system device, CDEV/RDEV vnconfig device 41 1.1 mrg VND?= vnd0 42 1.1 mrg VND_DEV= /dev/${VND}c 43 1.1 mrg VND_RDEV= /dev/r${VND}c 44 1.1 mrg VND_CDEV= /dev/${VND}${RAW_PART} 45 1.1 mrg VND_CRDEV= /dev/r${VND}${RAW_PART} 46 1.3 eeh CSIZE?= 14000 47 1.2 mrg IMAGE?= miniroot.fs 48 1.1 mrg MDEC= ${DESTDIR}/usr/mdec 49 1.1 mrg 50 1.1 mrg LISTS= list 51 1.1 mrg CRUNCHCONF= ${CBIN}.conf 52 1.6 enami MTREECONF= mtree.conf 53 1.1 mrg 54 1.1 mrg CRUNCHGEN?= crunchgen 55 1.8 jmc MDSETIMAGE?= mdsetimage 56 1.7 jmc MTREE?= mtree 57 1.1 mrg DISKTYPE?= miniroot 58 1.1 mrg 59 1.3 eeh all: netbsd.INSTALL ${IMAGE} 60 1.3 eeh 61 1.3 eeh netbsd.INSTALL: ${KERN} ${IMAGE} 62 1.3 eeh cp ${KERN} netbsd.tmp 63 1.8 jmc ${MDSETIMAGE} -v netbsd.tmp ${IMAGE} 64 1.3 eeh strip netbsd.tmp 65 1.3 eeh mv netbsd.tmp ${.TARGET} 66 1.3 eeh 67 1.3 eeh 68 1.6 enami ${IMAGE}: ${CBIN} ${AUXDEPENDS} ${MTREECONF} ${LISTS} dot.profile 69 1.1 mrg dd if=/dev/zero of=${IMAGE} count=${CSIZE} 70 1.10 mason vnconfig -v -c ${VND_CRDEV} ${IMAGE} 71 1.3 eeh -disklabel -f ${.CURDIR}/disktab -rw ${VND_CDEV} ${DISKTYPE} 72 1.3 eeh #newfs -B ${FS_END} -m 0 -o space -i 5120 -c 80 ${VND_RDEV} ${DISKTYPE} 73 1.3 eeh newfs -B ${FS_END} -m 0 -o space ${VND_RDEV} ${DISKTYPE} 74 1.1 mrg mount -o softdep ${VND_DEV} ${MOUNT_POINT} 75 1.7 jmc ${MTREE} -def ${.CURDIR}/${MTREECONF} -p ${MOUNT_POINT}/ -u 76 1.1 mrg TOPDIR=${TOP} CURDIR=${.CURDIR} OBJDIR=${.OBJDIR} \ 77 1.1 mrg KERNOBJDIR=${KERNOBJDIR} \ 78 1.1 mrg TARGDIR=${MOUNT_POINT} sh ${TOP}/runlist.sh ${LISTS} 79 1.1 mrg @echo "" 80 1.1 mrg @df -i ${MOUNT_POINT} 81 1.1 mrg @echo "" 82 1.1 mrg @echo "installing new bootblocks" 83 1.3 eeh #${MDEC}/binstall -m ${DESTDIR}/usr/mdec -u -v ffs ${MOUNT_POINT} 84 1.1 mrg umount ${MOUNT_POINT} 85 1.3 eeh dd if=${MDEC}/bootblk of=${VND_CDEV} bs=512 count=15 conv=notrunc seek=1 86 1.3 eeh #${MDEC}/installboot -v ${MDEC}/bootblk ${VND_CDEV} 87 1.10 mason vnconfig -u ${VND_CRDEV} 88 1.1 mrg 89 1.1 mrg unconfig: 90 1.1 mrg -umount -f ${MOUNT_POINT} 91 1.10 mason -vnconfig -u ${VND} 92 1.1 mrg -/bin/rm -f ${IMAGE} 93 1.1 mrg 94 1.1 mrg dot.profile: dot.profile.m4 95 1.1 mrg m4 -DMACHINE_ARCH=${MACHINE_ARCH} -DMACHINE=${MACHINE} \ 96 1.1 mrg ${.ALLSRC} > ${.TARGET} 97 1.1 mrg 98 1.1 mrg ${LISTS}: ${LISTS}.m4 99 1.1 mrg m4 -DMACHINE_ARCH=${MACHINE_ARCH} -DMACHINE=${MACHINE} \ 100 1.1 mrg -DSRCROOT=${SRCROOT} ${.ALLSRC} > ${.TARGET} 101 1.1 mrg 102 1.1 mrg ${CBIN}.conf: ${CBIN}.m4 103 1.1 mrg m4 -DMACHINE_ARCH=${MACHINE_ARCH} -DMACHINE=${MACHINE} \ 104 1.1 mrg ${.ALLSRC} > ${.TARGET} 105 1.1 mrg 106 1.1 mrg ${CBIN}.mk ${CBIN}.cache ${CBIN}.c: ${CRUNCHCONF} 107 1.1 mrg ${CRUNCHGEN} -D ${SRCROOT} -L ${DESTDIR}/usr/lib ${.ALLSRC} 108 1.1 mrg 109 1.1 mrg ${CBIN}: ${CBIN}.mk ${CBIN}.cache ${CBIN}.c 110 1.1 mrg ${MAKE} -f ${CBIN}.mk all 111 1.1 mrg 112 1.1 mrg # This is listed in ramdiskbin.conf but is built here. 113 1.1 mrg ${CBIN}: libhack.o 114 1.1 mrg 115 1.1 mrg # Use stubs to eliminate some large stuff from libc 116 1.1 mrg .include "${HACKSRC}/Makefile.inc" 117 1.1 mrg 118 1.1 mrg # turn off small gethostby* temporarily 119 1.1 mrg HACKOBJS:= getcap.o getgrent.o getnet.o getnetgr.o getpwent.o setlocale.o yplib.o 120 1.1 mrg 121 1.1 mrg clean cleandir distclean: 122 1.4 eeh /bin/rm -f *.core ${AUXCLEAN} ${IMAGE} netbsd.INSTALL ${CBIN} \ 123 1.4 eeh ${CBIN}.mk ${CBIN}.cache *.o *.lo *.cro *.c 124 1.1 mrg 125 1.1 mrg .ifndef RELEASEDIR 126 1.1 mrg release: 127 1.1 mrg @echo setenv RELEASEDIR first 128 1.1 mrg @false 129 1.1 mrg .else 130 1.4 eeh release: $(IMAGE) netbsd.INSTALL 131 1.2 mrg @mkdir -p $(RELEASEDIR)/installation/miniroot 132 1.2 mrg gzip -c -9 < $(.OBJDIR)/miniroot.fs \ 133 1.2 mrg > $(RELEASEDIR)/installation/miniroot/miniroot.fs.gz 134 1.4 eeh @mkdir -p $(RELEASEDIR)/binary/kernels 135 1.1 mrg .endif # RELEASEDIR check 136 1.1 mrg 137 1.1 mrg .include <bsd.own.mk> 138 1.1 mrg .include <bsd.obj.mk> 139 1.1 mrg .include <bsd.subdir.mk> 140 1.1 mrg .include <bsd.sys.mk> 141 1.9 jmc .include <bsd.prog.mk> 142