Makefile.booters revision 1.20
11.20Schristos# $NetBSD: Makefile.booters,v 1.20 2014/01/16 01:15:34 christos Exp $ 21.7Slukem 31.20Schristos.include <bsd.own.mk> 41.1Swdk 51.1SwdkS= ${.CURDIR}/../../../.. 61.1SwdkMIPS= ${S}/arch/mips 71.1SwdkMIPSCO= ${S}/arch/mipsco 81.1Swdk 91.1Swdk.PATH: ${.CURDIR}/../common 101.1Swdk 111.10SchsNOMAN= # defined 121.5SwdkBINMODE?= 444 131.6Ssimonb 141.13Stsutsui# XXX SHOULD NOT NEED TO DEFINE THESE! 151.13StsutsuiLIBCRT0= 161.19StsutsuiLIBCRTI= 171.13StsutsuiLIBC= 181.13StsutsuiLIBCRTBEGIN= 191.13StsutsuiLIBCRTEND= 201.13Stsutsui 211.18Smattrealall: ${PROG} 221.1Swdk 231.5SwdkAFLAGS+= -D_LOCORE -D_KERNEL -DASSEMBLER -mno-abicalls 241.1Swdk# -I${.CURDIR}/../.. done by Makefile.inc 251.1SwdkCPPFLAGS+= -nostdinc -D_STANDALONE -DNO_ABICALLS -D_NO_PROM_DEFINES 261.1SwdkCPPFLAGS+= -I${.OBJDIR} -I${S} 271.1Swdk# compiler flags for smallest code size 281.5Swdk#CFLAGS= -Os -mmemcpy -mno-abicalls -G 128 291.5SwdkCFLAGS= -Os -mmemcpy -ffreestanding -mno-abicalls -msoft-float -G 128 301.13StsutsuiCFLAGS+= -Wall -Wmissing-prototypes -Wstrict-prototypes -Wpointer-arith 311.1Swdk 321.7SlukemNETBSD_VERS!= ${HOST_SH} ${S}/conf/osrelease.sh 331.1SwdkCPPFLAGS+= -DNETBSD_VERS='"${NETBSD_VERS}"' 341.1Swdk 351.1SwdkPRIMARY_LOAD_ADDRESS?= 0x80600000 361.1SwdkSECONDARY_LOAD_ADDRESS?=0x80610000 371.1Swdk 381.5SwdkLDSCRIPT?= ${MIPSCO}/conf/stand.ldscript 391.1Swdk 401.10Schs.include <bsd.own.mk> 411.10Schs 421.1Swdk.if defined(PRIMARY_PROG) 431.1SwdkPROG= ${PRIMARY_PROG} 441.1SwdkSRCS = start.S bootxx.c callvec.c 451.1SwdkSRCS+= devopen.c conf.c saio.c 461.1SwdkSRCS+= prom.S 471.1Swdk 481.1SwdkLOAD_ADDRESS= ${PRIMARY_LOAD_ADDRESS} 491.1Swdk 501.1SwdkCPPFLAGS+= -DPRIMARY_BOOTBLOCK \ 511.1Swdk -DPRIMARY_LOAD_ADDRESS="${PRIMARY_LOAD_ADDRESS}" \ 521.1Swdk -DNO_GETCHAR \ 531.1Swdk -DLIBSA_NO_FS_SYMLINK -DLIBSA_NO_FS_WRITE \ 541.1Swdk -DLIBSA_NO_FS_CLOSE \ 551.1Swdk -DLIBSA_NO_DEV_CLOSE \ 561.14She -DLIBSA_NO_DEV_IOCTL \ 571.1Swdk -DLIBSA_SINGLE_DEVICE=saio \ 581.1Swdk -D"saioioctl(x,y,z)=EINVAL" -D"saioclose(f)=0" \ 591.1Swdk -DLIBSA_NO_TWIDDLE \ 601.1Swdk -DLIBSA_NO_FD_CHECKING \ 611.1Swdk -DLIBSA_NO_DISKLABEL_MSGS \ 621.1Swdk -DLIBSA_NO_RAW_ACCESS \ 631.15Stsutsui -DALLOC_FIRST_FIT 641.1Swdk 651.1Swdk 661.7SlukemCHECKSIZE_CMD?= SIZE=${SIZE} ${HOST_SH} ${.CURDIR}/../common/checksize.sh 671.1Swdk 681.8SsimonbSTRIPSECTIONS?= -R .reginfo -R .mdebug.abi32 -R .comment -R .pdr 691.8Ssimonb 701.1Swdk.elif defined(SECONDARY_PROG) 711.1SwdkPROG= ${SECONDARY_PROG} 721.1SwdkLOAD_ADDRESS= ${SECONDARY_LOAD_ADDRESS} 731.1SwdkCPPFLAGS+= -DSECONDARY_BOOTBLOCK 741.1SwdkSRCS+= vers.c 751.1SwdkCLEANFILES+= vers.c 761.1Swdk.else 771.1Swdk 781.1Swdk.endif 791.1Swdk 801.1Swdk### find out what to use for libkern 811.1SwdkKERN_AS= library 821.1Swdk.include "${S}/lib/libkern/Makefile.inc" 831.1SwdkLIBKERN= ${KERNLIB} 841.1Swdk 851.1Swdk### find out what to use for libz 861.1Swdk.if defined(PRIMARY_PROG) 871.1SwdkLIBZ= 881.1Swdk.else 891.1SwdkZ_AS= library 901.1Swdk.include "${S}/lib/libz/Makefile.inc" 911.1SwdkLIBZ= ${ZLIB} 921.1Swdk.endif 931.1Swdk 941.1Swdk### find out what to use for libsa 951.1SwdkSA_AS= library 961.1Swdk.if defined(PRIMARY_PROG) 971.1SwdkSAMISCMAKEFLAGS+=SA_INCLUDE_NET=no 981.1Swdk.endif 991.1Swdk.if defined(SECONDARY_PROG) 1001.1SwdkSAMISCMAKEFLAGS+=SA_USE_LOADFILE=yes SA_USE_CREAD=yes 1011.1Swdk# for now: 1021.1SwdkSAMISCMAKEFLAGS+=SA_INCLUDE_NET=no 1031.1Swdk.endif 1041.1Swdk.include "${S}/lib/libsa/Makefile.inc" 1051.1SwdkLIBSA= ${SALIB} 1061.1Swdk 1071.1SwdkLIBS= ${LIBSA} ${LIBZ} ${LIBSA} ${LIBKERN} 1081.1Swdk 1091.1Swdk.PHONY: vers.c 1101.1Swdkvers.c: ${.CURDIR}/version 1111.17Sjoerg ${HOST_SH} ${S}/conf/newvers_stand.sh ${${MKREPRO} == "yes" :?:-D} \ 1121.17Sjoerg -N ${.CURDIR}/version "mipsco" 1131.1Swdk 1141.18Smatt${PROG}: ${LDSCRIPT} ${OBJS} ${LIBS} 1151.18Smatt ${_MKTARGET_LINK} 1161.4Ssimonb ${LD} ${OFORMAT} -Map ${PROG}.map -N -x -Ttext ${LOAD_ADDRESS} \ 1171.4Ssimonb -T ${LDSCRIPT} -e start -o ${PROG} ${OBJS} ${LIBS} 1181.1Swdk @${SIZE} ${PROG} 1191.2Swdk.if defined(PRIMARY_PROG) 1201.5Swdk mv ${PROG} ${PROG}.elf 1211.8Ssimonb ${OBJCOPY} --strip-all -O ecoff-bigmips ${STRIPSECTIONS} \ 1221.8Ssimonb ${PROG}.elf ${PROG} 1231.2Swdk.endif 1241.1Swdk.if defined(CHECKSIZE_CMD) 1251.2Swdk @${CHECKSIZE_CMD} ${PROG} ${PRIMARY_MAX_LOAD} || \ 1261.1Swdk (rm -f ${PROG} ; false) 1271.1Swdk.endif 1281.1Swdk 1291.5SwdkCLEANFILES+= ${PROG}.map ${PROG}.elf 1301.1Swdk 1311.16Sdhollandcleandir distclean: .WAIT cleanlibdir 1321.1Swdk 1331.1Swdkcleanlibdir: 1341.9Sjmc -rm -rf lib 1351.1Swdk 1361.1Swdk.include <bsd.prog.mk> 1371.18Smatt.include <bsd.klinks.mk> 138