11.28Sthorpej# $NetBSD: Makefile,v 1.28 2019/06/02 17:18:57 thorpej Exp $ 21.1Slukem 31.1Slukem.include <bsd.own.mk> 41.7Slukem.include "${NETBSDSRCDIR}/distrib/common/Makefile.distrib" 51.1Slukem 61.1Slukem.include <bsd.kernobj.mk> 71.1Slukem 81.22Sbsh# 91.26Smatt# `make' or `make all' builds all gzimg files defined in ${ARCH_TARGETS}. 101.22Sbsh# `make _KERNELNAME_' builds all gzimg files for specified kernels. 111.22Sbsh# 121.22Sbsh 131.22Sbsh 141.1Slukem 151.26Smatt# ARCH_TARGETS is a list of: 161.12Sthorpej# KERNEL_name GZBOOT_name GZIMG_name 171.12Sthorpej# RELOC_ADDR WHICH_kernel 181.1Slukem# 191.28Sthorpej.if ${MACHINE_ARCH} == "arm" || \ 201.28Sthorpej ${MACHINE_ARCH} == "earm" || ${MACHINE_ARCH} == "earmv4" 211.28Sthorpej# Little endian ARMv4 platforms. 221.28SthorpejARCH_TARGETS= GEMINI GEMINI GEMINI \ 231.28Sthorpej 0x01600000 netbsd \ 241.28Sthorpej \ 251.28Sthorpej TS7200 TS7200 TS7200_wd0 \ 261.28Sthorpej 0x60660000 netbsd-wd0 \ 271.28Sthorpej \ 281.28Sthorpej SMDK2800 SMDK2800 SMDK2800 \ 291.28Sthorpej 0x00000000 netbsd 301.28Sthorpej.elif ${MACHINE_ARCH} == "arm" || \ 311.28Sthorpej ${MACHINE_ARCH} == "earm" || ${MACHINE_ARCH} == "earmv5" 321.28Sthorpej# Little endian ARMv5 platforms. 331.26SmattARCH_TARGETS= ADI_BRH ADI_BRH ADI_BRH_sd0 \ 341.12Sthorpej 0x00140000 netbsd-sd0 \ 351.12Sthorpej \ 361.12Sthorpej ADI_BRH ADI_BRH ADI_BRH_wd0 \ 371.12Sthorpej 0x00140000 netbsd-wd0 \ 381.12Sthorpej \ 391.18Sscw CP3100 IQ80321 CP3100_sd0 \ 401.18Sscw 0xf0080000 netbsd-sd0 \ 411.18Sscw \ 421.18Sscw CP3100 IQ80321 CP3100_wd0 \ 431.18Sscw 0xf0080000 netbsd-wd0 \ 441.18Sscw \ 451.12Sthorpej IQ80310 IQ80310 IQ80310_sd0 \ 461.12Sthorpej 0x00080000 netbsd-sd0 \ 471.12Sthorpej \ 481.12Sthorpej IQ80310 IQ80310 IQ80310_wd0 \ 491.12Sthorpej 0x00080000 netbsd-wd0 \ 501.12Sthorpej \ 511.12Sthorpej IQ80321 IQ80321 IQ80321_sd0 \ 521.12Sthorpej 0xf0080000 netbsd-sd0 \ 531.12Sthorpej \ 541.12Sthorpej IQ80321 IQ80321 IQ80321_wd0 \ 551.12Sthorpej 0xf0080000 netbsd-wd0 \ 561.12Sthorpej \ 571.13Sthorpej TEAMASA_NPWR IQ80310 TEAMASA_NPWR_sd0 \ 581.28Sthorpej 0x00080000 netbsd-sd0 591.28Sthorpej.elif ${MACHINE_ARCH} == "armeb" || \ 601.28Sthorpej ${MACHINE_ARCH} == "earmeb" || ${MACHINE_ARCH} == "earmv5eb" 611.28Sthorpej# Big endian ARMv5 platforms. 621.26SmattARCH_TARGETS= ADI_BRH ADI_BRH ADI_BRH_sd0 \ 631.14Sthorpej 0x00140000 netbsd-sd0 \ 641.14Sthorpej \ 651.14Sthorpej ADI_BRH ADI_BRH ADI_BRH_wd0 \ 661.14Sthorpej 0x00140000 netbsd-wd0 671.14Sthorpej.endif 681.1Slukem 691.26Smatt# Default is to build for all ARCH_TARGETS 701.24SheALL_KERNELS?= + 711.24She 721.26Smatt.for K G I R W in ${ARCH_TARGETS} # { 731.23Smlelstv.for configsel in ${ALL_KERNELS} # { 741.23Smlelstv.if ${configsel} == "+" || ${configsel} == ${K} 751.1Slukem 761.13SthorpejGZB${G}= ${DESTDIR}/usr/mdec/gzboot_${G}_${R}.bin 771.1Slukem 781.12SthorpejGZIMGS+= gzimg_${I}_flash_${R}.gz 791.1Slukem 801.12Sthorpejgzimg_${I}_flash_${R}: .NOTMAIN ${GZB${G}} ${KERNOBJDIR}/${K}/${W}.bin 811.1Slukem @echo "Populating ${.TARGET}" 821.9Slukem -rm -f ${.TARGET}.kern.gz 831.27Sapb ${TOOL_GZIP_N} -9c ${KERNOBJDIR}/${K}/${W}.bin > ${.TARGET}.kern.gz 841.15Slukem ${TOOL_CAT} ${GZB${G}} ${.TARGET}.kern.gz > ${.TARGET} 851.9Slukem 861.12Sthorpejgzimg_${I}_flash_${R}.gz: .NOTMAIN gzimg_${I}_flash_${R} 871.9Slukem -rm -f ${.TARGET} 881.27Sapb ${TOOL_GZIP_N} -9c ${.ALLSRC} > ${.TARGET} 891.8Slukem 901.12SthorpejCLEANFILES+= gzimg_${I}_flash_${R}.kern gzimg_${I}_flash_${R}.kern.gz \ 911.12Sthorpej gzimg_${I}_flash_${R} 921.1Slukem 931.22Sbsh.if empty(GZKERNELS:M${K}) 941.22SbshGZKERNELS+= $K 951.22Sbsh.endif 961.22SbshKZ${K}+= gzimg_${I}_flash_${R}.gz 971.22Sbsh 981.23Smlelstv.endif 991.23Smlelstv.endfor # } 1001.1Slukem.endfor # } 1011.1Slukem 1021.22Sbsh.for K in ${GZKERNELS} 1031.22Sbsh${K}: .PHONY ${KZ${K}} 1041.22Sbsh.endfor 1051.22Sbsh 1061.8SlukemCLEANFILES+= ${GZIMGS} 1071.1Slukem 1081.1Slukem 1091.1Slukemrealall: ${GZIMGS} 1101.3Sthorpej 1111.7Slukemrelease: check_RELEASEDIR .WAIT ${GZIMGS} 1121.3Sthorpej.for img in ${GZIMGS} 1131.19Smatt ${RELEASE_INSTALL} ${img} ${RELEASEDIR}/${RELEASEMACHINEDIR}/binary/gzimg 1141.3Sthorpej.endfor 1151.1Slukem 1161.1Slukem.include <bsd.prog.mk> 117