Makefile.mdset revision 1.6
11.6Slukem# $NetBSD: Makefile.mdset,v 1.6 2002/04/14 01:41:25 lukem Exp $ 21.1Slukem# 31.1Slukem# Makefile snippet to ${MDSETIMAGE} file system images into kernels 41.1Slukem# 51.1Slukem 61.1Slukem# 71.1Slukem# Required variables: 81.1Slukem# _SRC_TOP_ Top level of src tree (set by <bsd.own.mk>) 91.4Slukem# MDSETTARGETS List of images to ${MDSETIMAGE} into kernels: 101.4Slukem# KERNEL IMAGE FILENAME 111.4Slukem# The kernel ${KERNOBJDIR}/${KERNEL}/netbsd is 121.4Slukem# ${MDSETIMAGE} with ${IMAGE}, ${STRIP}ped, 131.4Slukem# and gzipped into ${FILENAME}.gz. 141.6Slukem# If FILENAME is "-", use "netbsd.${KERNEL}" as 151.6Slukem# the target name. 161.1Slukem# 171.1Slukem# Optional variables: 181.6Slukem# MDSETDIR Where to install release kernels. 191.6Slukem# MDSET.${FILENAME}.post For each kernel named ${FILENAME}, 201.6Slukem# execute this after ${NM} / ${STRIP}. 211.6Slukem# Kernel is available as netbsd.tmp. 221.6Slukem# If MDSET.${FILENAME}.suffixes uses 231.6Slukem# this to build extra kernels, the 241.6Slukem# resultant file must be gzipped as 251.6Slukem# "netbsd.${suffix}.gz" 261.6Slukem# MDSET.${FILENAME}.suffixes List of extra install kernel suffixes. 271.6Slukem# The extra kernels are usually created 281.6Slukem# by MDSET.${FILENAME}.post. 291.3Slukem# 301.3Slukem# Variables modified by this: 311.4Slukem# KERNELS List of kernel .gz files to build 321.4Slukem# KERNELSYMS List of kernel .symbol files to build 331.4Slukem# _KERNEL.${KERNEL} Target filename for ${KERNEL} 341.1Slukem# 351.1Slukem 361.1Slukem.include <bsd.kernobj.mk> 371.1Slukem 381.6Slukem.for _K _I _F in ${MDSETTARGETS} # { 391.6Slukem_FILENAME:=${_F} # work around obscure issue in make(1) 401.6Slukem.if ${_FILENAME} == "-" 411.4Slukem_KERNEL.${_K}:= netbsd.${_K} 421.4Slukem.else 431.4Slukem_KERNEL.${_K}:= ${_F} 441.4Slukem.endif 451.1Slukem 461.6SlukemKERNELS+= ${_KERNEL.${_K}}.gz .WAIT 471.6Slukem.for suf in ${MDSET.${_FILENAME}.suffixes} 481.6SlukemKERNELS+= ${_KERNEL.${_K}}.${suf}.gz .WAIT 491.6SlukemCLEANFILES+= netbsd.${suf} netbsd.${suf}.gz 501.5Sthorpej.endfor 511.4SlukemKERNELSYMS+= ${_KERNEL.${_K}}.symbols.gz 521.1Slukem 531.6Slukem.if defined(MDSET.${_FILENAME}.post) 541.6Slukem_POST.${_KERNEL.${_K}}:= ${MDSET.${_FILENAME}.post} 551.6Slukem.endif 561.6Slukem 571.4Slukem${_KERNEL.${_K}}.gz: .NOTMAIN ${KERNOBJDIR}/${_K}/netbsd ${_I} 581.4Slukem @echo "Populating ${_K} with ${_I} into ${.TARGET}" 591.6Slukem @rm -f netbsd.tmp ${_KERNEL.${_K}}.symbols.gz 601.6Slukem @cp ${KERNOBJDIR}/${_K}/netbsd netbsd.tmp 611.4Slukem ${MDSETIMAGE} -v netbsd.tmp ${_I} 621.4Slukem ${NM} netbsd.tmp | gzip -9 > ${_KERNEL.${_K}}.symbols.gz 631.1Slukem ${STRIP} netbsd.tmp 641.6Slukem.if defined(_POST.${_KERNEL.${_K}}) 651.6Slukem ${_POST.${_KERNEL.${_K}}} 661.1Slukem.endif 671.6Slukem @gzip -9f netbsd.tmp 681.1Slukem mv netbsd.tmp.gz ${.TARGET} 691.5Sthorpej 701.6Slukem.for suf in ${MDSET.${_FILENAME}.suffixes} 711.5Sthorpej${_KERNEL.${_K}}.${suf}.gz: .NOTMAIN ${_KERNEL.${_K}}.gz 721.5Sthorpej mv netbsd.${suf}.gz ${.TARGET} 731.5Sthorpej.endfor 741.1Slukem 751.1Slukem.endfor # } 761.1Slukem 771.1SlukemCLEANFILES+= netbsd.tmp netbsd.tmp.gz ${KERNELS} ${KERNELSYMS} 781.1Slukem 791.1Slukemrealall: ${KERNELS} 801.1Slukem 811.1Slukem.if defined(MDSETDIR) 821.1Slukemrelease: check_RELEASEDIR .WAIT ${KERNELS} 831.1Slukem -mkdir -p ${RELEASEDIR}/${MDSETDIR} 841.1Slukem ${RELINSTALL} ${KERNELS} ${KERNELSYMS} ${RELEASEDIR}/${MDSETDIR} 851.1Slukem.endif 86