Makefile revision 1.26
11.26Smatt#	$NetBSD: Makefile,v 1.26 2014/03/01 01:52:13 matt 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.14Sthorpej.if ${MACHINE_ARCH} == "arm"
201.14Sthorpej# Little endian platforms.
211.26SmattARCH_TARGETS=	ADI_BRH		ADI_BRH		ADI_BRH_sd0	\
221.12Sthorpej		0x00140000	netbsd-sd0			\
231.12Sthorpej								\
241.12Sthorpej		ADI_BRH		ADI_BRH		ADI_BRH_wd0	\
251.12Sthorpej		0x00140000	netbsd-wd0			\
261.12Sthorpej								\
271.18Sscw		CP3100		IQ80321		CP3100_sd0	\
281.18Sscw		0xf0080000	netbsd-sd0			\
291.18Sscw								\
301.18Sscw		CP3100		IQ80321		CP3100_wd0	\
311.18Sscw		0xf0080000	netbsd-wd0			\
321.18Sscw								\
331.20Scliff		GEMINI		GEMINI		GEMINI		\
341.20Scliff		0x01600000	netbsd				\
351.20Scliff								\
361.12Sthorpej		IQ80310		IQ80310		IQ80310_sd0	\
371.12Sthorpej		0x00080000	netbsd-sd0			\
381.12Sthorpej								\
391.12Sthorpej		IQ80310		IQ80310		IQ80310_wd0	\
401.12Sthorpej		0x00080000	netbsd-wd0			\
411.12Sthorpej								\
421.12Sthorpej		IQ80321		IQ80321		IQ80321_sd0	\
431.12Sthorpej		0xf0080000	netbsd-sd0			\
441.12Sthorpej								\
451.12Sthorpej		IQ80321		IQ80321		IQ80321_wd0	\
461.12Sthorpej		0xf0080000	netbsd-wd0			\
471.12Sthorpej								\
481.13Sthorpej		TEAMASA_NPWR	IQ80310		TEAMASA_NPWR_sd0 \
491.16Sbsh		0x00080000	netbsd-sd0			\
501.16Sbsh								\
511.17Sjoff		TS7200		TS7200		TS7200_wd0	\
521.17Sjoff		0x60660000	netbsd-wd0			\
531.17Sjoff								\
541.16Sbsh		SMDK2800	SMDK2800	SMDK2800	\
551.16Sbsh		0x00000000	netbsd
561.26Smatt.elif ${MACHINE_ARCH} == "armeb"
571.14Sthorpej# Big endian platforms.
581.26SmattARCH_TARGETS=	ADI_BRH		ADI_BRH		ADI_BRH_sd0	\
591.14Sthorpej		0x00140000	netbsd-sd0			\
601.14Sthorpej								\
611.14Sthorpej		ADI_BRH		ADI_BRH		ADI_BRH_wd0	\
621.14Sthorpej		0x00140000	netbsd-wd0
631.14Sthorpej.endif
641.1Slukem
651.26Smatt# Default is to build for all ARCH_TARGETS
661.24SheALL_KERNELS?= +
671.24She
681.26Smatt.for K G I R W in ${ARCH_TARGETS}			# {
691.23Smlelstv.for configsel in ${ALL_KERNELS}			# {
701.23Smlelstv.if ${configsel} == "+" || ${configsel} == ${K}
711.1Slukem
721.13SthorpejGZB${G}=	${DESTDIR}/usr/mdec/gzboot_${G}_${R}.bin
731.1Slukem
741.12SthorpejGZIMGS+=	gzimg_${I}_flash_${R}.gz
751.1Slukem
761.12Sthorpejgzimg_${I}_flash_${R}: .NOTMAIN ${GZB${G}} ${KERNOBJDIR}/${K}/${W}.bin
771.1Slukem	@echo "Populating ${.TARGET}"
781.9Slukem	-rm -f ${.TARGET}.kern.gz
791.25Sapb	${TOOL_GZIP} -9nc ${KERNOBJDIR}/${K}/${W}.bin > ${.TARGET}.kern.gz
801.15Slukem	${TOOL_CAT} ${GZB${G}} ${.TARGET}.kern.gz > ${.TARGET}
811.9Slukem
821.12Sthorpejgzimg_${I}_flash_${R}.gz: .NOTMAIN gzimg_${I}_flash_${R}
831.9Slukem	-rm -f ${.TARGET}
841.25Sapb	${TOOL_GZIP} -9nc ${.ALLSRC} > ${.TARGET}
851.8Slukem
861.12SthorpejCLEANFILES+=	gzimg_${I}_flash_${R}.kern gzimg_${I}_flash_${R}.kern.gz \
871.12Sthorpej		gzimg_${I}_flash_${R}
881.1Slukem
891.22Sbsh.if empty(GZKERNELS:M${K})
901.22SbshGZKERNELS+=	$K
911.22Sbsh.endif
921.22SbshKZ${K}+=	gzimg_${I}_flash_${R}.gz
931.22Sbsh
941.23Smlelstv.endif
951.23Smlelstv.endfor							# }
961.1Slukem.endfor							# }
971.1Slukem
981.22Sbsh.for K in ${GZKERNELS}
991.22Sbsh${K}: .PHONY ${KZ${K}}
1001.22Sbsh.endfor
1011.22Sbsh
1021.8SlukemCLEANFILES+=	${GZIMGS}
1031.1Slukem
1041.1Slukem
1051.1Slukemrealall: ${GZIMGS}
1061.3Sthorpej
1071.7Slukemrelease: check_RELEASEDIR .WAIT ${GZIMGS}
1081.3Sthorpej.for img in ${GZIMGS}
1091.19Smatt	${RELEASE_INSTALL} ${img} ${RELEASEDIR}/${RELEASEMACHINEDIR}/binary/gzimg
1101.3Sthorpej.endfor
1111.1Slukem
1121.1Slukem.include <bsd.prog.mk>
113