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