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