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