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