Makefile.powerpc revision 1.44
11.44Smatt#	$NetBSD: Makefile.powerpc,v 1.44 2011/01/18 01:02:53 matt Exp $
21.1Sws#
31.1Sws# Makefile for NetBSD
41.1Sws#
51.1Sws# This makefile is constructed from a machine description:
61.1Sws#	config machineid
71.1Sws# Most changes should be made in the machine description
81.1Sws#	/sys/arch/powerpc/conf/``machineid''
91.1Sws# after which you should do
101.1Sws#	config machineid
111.1Sws# Machine generic makefile changes should be made in
121.1Sws#	/sys/arch/powerpc/conf/Makefile.powerpc
131.1Sws# after which config should be rerun for all machines of that type.
141.1Sws#
151.20Satatat# To specify debugging, add the config line: makeoptions DEBUG="-g"
161.20Satatat# A better way is to specify -g only for a few files.
171.1Sws#
181.20Satatat#	makeoptions DEBUGLIST="uvm* trap if_*"
191.18Sthorpej
201.18SthorpejMACHINE_ARCH=powerpc
211.19SjmcUSETOOLS?=	no
221.20SatatatNEED_OWN_INSTALL_TARGET?=no
231.16Sthorpej.include <bsd.own.mk>
241.1Sws
251.20Satatat##
261.20Satatat## (1) port identification
271.20Satatat##
281.17SthorpejTHISPPC=	$S/arch/${MACHINE}
291.14SmattPOWERPC=	$S/arch/powerpc
301.22Smatt.if exists(${THISPPC}/${MACHINE}/genassym.cf)
311.33SchristosGENASSYM_CONF=	${THISPPC}/${MACHINE}/genassym.cf
321.22Smatt.else
331.33SchristosGENASSYM_CONF=	${POWERPC}/${PPCDIR}/genassym.cf
341.22Smatt.endif
351.20Satatat.-include "${THISPPC}/conf/Makefile.${MACHINE}.inc"
361.1Sws
371.20Satatat##
381.20Satatat## (2) compile settings
391.20Satatat##
401.29SbriggsCPPFLAGS+=	-D${MACHINE}=${MACHINE}
411.20SatatatCWARNFLAGS+=	-Wreturn-type
421.32Smatt.if ${PPCDIR} == "oea"
431.32SmattCFLAGS+=	-mno-strict-align
441.44SmattCFLAGS+=	-Wa,-maltivec
451.32Smatt.endif
461.44SmattCFLAGS+=	-msoft-float ${CCPUOPTS}
471.44SmattAFLAGS+=	${AOPTS} -D_NOREGNAMES
481.20Satatat
491.20Satatat##
501.20Satatat## (3) libkern and compat
511.20Satatat##
521.43ScubeOPT_MODULAR=	%MODULAR%
531.42Sapb.if !empty(OPT_MODULAR)
541.26SmattKERN_AS=	obj
551.27Smatt.endif
561.20Satatat
571.20Satatat##
581.20Satatat## (4) local objects, compile rules, and dependencies
591.20Satatat##
601.24Sscw.if !defined(SYSTEM_FIRST_OBJ)
611.24SscwSYSTEM_FIRST_OBJ= locore.o
621.24Sscw.endif
631.24Sscw.if !defined(SYSTEM_FIRST_SFILE)
641.24SscwSYSTEM_FIRST_SFILE= ${THISPPC}/${MACHINE}/locore.S
651.24Sscw.endif
661.24SscwMD_OBJS=	${SYSTEM_FIRST_OBJ}
671.20SatatatMD_CFILES=
681.24SscwMD_SFILES=	${SYSTEM_FIRST_SFILE}
691.15Ssimonb
701.24Sscw${SYSTEM_FIRST_OBJ}: ${SYSTEM_FIRST_SFILE} assym.h
711.20Satatat	${NORMAL_S}
721.1Sws
731.20Satatat##
741.20Satatat## (5) link settings
751.20Satatat##
761.44SmattKERNLDSCRIPT?=	${POWERPC}/conf/kern.ldscript
771.20SatatatTEXTADDR?=	0x100000
781.44SmattLINKFORMAT=	-N -T ${KERNLDSCRIPT}
791.44Smatt
801.20SatatatENTRYPOINT=	__start
811.14Smatt
821.20Satatat.if defined(NEED_SREC)
831.25SaugustssSYSTEM_LD_TAIL_EXTRA+=; \
841.44Smatt		echo ${OBJCOPY} -O srec $@ $@.srec; \
851.44Smatt		${OBJCOPY} -O srec $@ $@.srec
861.23Saugustss.endif
871.23Saugustss
881.23Saugustss.if defined(NEED_BINARY)
891.25SaugustssSYSTEM_LD_TAIL_EXTRA+=; \
901.44Smatt		echo ${OBJCOPY} -O binary $@ $@.bin; \
911.44Smatt		${OBJCOPY} -O binary $@ $@.bin
921.1Sws.endif
931.1Sws
941.20Satatat##
951.20Satatat## (6) port specific target dependencies
961.20Satatat##
971.1Sws
981.20Satatat# depend on CPU configuration
991.20Satatatlocore.o machdep.o: Makefile
1001.28Ssimonb
1011.40Sphxlock_stubs.o setfault.o: assym.h
1021.1Sws
1031.20Satatat##
1041.20Satatat## (7) misc settings
1051.20Satatat##
1061.20Satatat
1071.20Satatat##
1081.20Satatat## (8) config(8) generated machinery
1091.20Satatat##
1101.20Satatat%INCLUDES
1111.1Sws
1121.1Sws%OBJS
1131.1Sws
1141.1Sws%CFILES
1151.1Sws
1161.1Sws%SFILES
1171.1Sws
1181.1Sws%LOAD
1191.1Sws
1201.20Satatat%RULES
1211.1Sws
1221.20Satatat##
1231.20Satatat## (9) port independent kernel machinery
1241.20Satatat##
1251.20Satatat.include "$S/conf/Makefile.kern.inc"
1261.39Smatt${KERNLIB} ${KERNLIB_PROF} ${KERNLIBLN}: assym.h
1271.30Sthorpej
1281.30Sthorpej##
1291.30Sthorpej## (10) Appending make options.
1301.30Sthorpej##
1311.30Sthorpej%MAKEOPTIONSAPPEND
132