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