1 # $NetBSD: Makefile,v 1.2 2002/02/13 06:01:36 gmcgarry Exp $ 2 3 TOP= ${.CURDIR}/.. 4 5 .include <bsd.kernobj.mk> 6 .include <bsd.own.mk> 7 8 RAMDISKS= RAMDISK ramdisk 9 10 .for V F in ${RAMDISKS} 11 ${V}!= cd ${TOP}/${F}/; \ 12 printf "xxx: .MAKE\n\t@echo \$${.OBJDIR}/${F}.fs\n" | \ 13 ${MAKE} -s -f- 14 .endfor 15 16 # create netbsd.*.gz targets 17 # 18 # TARGETS is a list of: 19 # KERNEL_name fs-image "nocluster" disables clustering 20 # 21 TARGETS= RAMDISK ${RAMDISK} - 22 23 .for K R E in ${TARGETS} 24 _E:=${E} # work around obscure issue in make(1) 25 KERNELS+= netbsd.${K}.gz 26 KERNELSYMS+= netbsd.${K}.symbols 27 netbsd.${K}.gz: .NOTMAIN ${KERNOBJDIR}/${K}/netbsd ${R} 28 @echo "Populating ${K} with ${R}" 29 cp ${KERNOBJDIR}/${K}/netbsd netbsd.tmp 30 .if ${_E} == "nocluster" 31 gdb --write -batch -x ${.CURDIR}/nocluster.gdb netbsd.tmp </dev/null 32 .endif 33 ${MDSETIMAGE} -v netbsd.tmp ${R} 34 ${NM} netbsd.tmp > netbsd.${K}.symbols 35 ${STRIP} netbsd.tmp 36 gzip -9 netbsd.tmp 37 mv netbsd.tmp.gz ${.TARGET} 38 .endfor 39 40 # do the work 41 # 42 all: ${KERNELS} 43 44 release: 45 -mkdir -p ${RELEASEDIR}/binary/kernel 46 cp -p ${KERNELS} ${KERNELSYMS} ${RELEASEDIR}/binary/kernel 47 48 clean cleandir distclean: 49 rm -f *.core netbsd.tmp ${KERNELS} ${KERNELSYMS} 50 51 .include <bsd.obj.mk> 52 .include <bsd.prog.mk> 53