11.25Smrg# $NetBSD: Makefile.booters,v 1.25 2021/05/17 22:36:31 mrg Exp $ 21.21Stsutsui 31.21StsutsuiNOMAN= # defined 41.22SchristosNOPIE= # defined 51.7Slukem 61.22Schristos.include <bsd.init.mk> 71.1Swdk 81.1SwdkS= ${.CURDIR}/../../../.. 91.1SwdkMIPS= ${S}/arch/mips 101.1SwdkMIPSCO= ${S}/arch/mipsco 111.1Swdk 121.1Swdk.PATH: ${.CURDIR}/../common 131.1Swdk 141.5SwdkBINMODE?= 444 151.6Ssimonb 161.13Stsutsui# XXX SHOULD NOT NEED TO DEFINE THESE! 171.13StsutsuiLIBCRT0= 181.19StsutsuiLIBCRTI= 191.13StsutsuiLIBC= 201.13StsutsuiLIBCRTBEGIN= 211.13StsutsuiLIBCRTEND= 221.13Stsutsui 231.18Smattrealall: ${PROG} 241.1Swdk 251.5SwdkAFLAGS+= -D_LOCORE -D_KERNEL -DASSEMBLER -mno-abicalls 261.1Swdk# -I${.CURDIR}/../.. done by Makefile.inc 271.1SwdkCPPFLAGS+= -nostdinc -D_STANDALONE -DNO_ABICALLS -D_NO_PROM_DEFINES 281.1SwdkCPPFLAGS+= -I${.OBJDIR} -I${S} 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.23SchristosSTRIPSECTIONS?= -R .reginfo -R .mdebug.abi32 -R .comment -R .pdr \ 691.25Smrg -R .MIPS.abiflags -R .gnu.attributes -R .eh_frame 701.8Ssimonb 711.1Swdk.elif defined(SECONDARY_PROG) 721.1SwdkPROG= ${SECONDARY_PROG} 731.1SwdkLOAD_ADDRESS= ${SECONDARY_LOAD_ADDRESS} 741.1SwdkCPPFLAGS+= -DSECONDARY_BOOTBLOCK 751.24Schristos 761.24Schristos.include "${S}/conf/newvers_stand.mk" 771.24Schristos 781.1Swdk.else 791.1Swdk 801.1Swdk.endif 811.1Swdk 821.1Swdk### find out what to use for libkern 831.1SwdkKERN_AS= library 841.1Swdk.include "${S}/lib/libkern/Makefile.inc" 851.1SwdkLIBKERN= ${KERNLIB} 861.1Swdk 871.1Swdk### find out what to use for libz 881.1Swdk.if defined(PRIMARY_PROG) 891.1SwdkLIBZ= 901.1Swdk.else 911.1SwdkZ_AS= library 921.1Swdk.include "${S}/lib/libz/Makefile.inc" 931.1SwdkLIBZ= ${ZLIB} 941.1Swdk.endif 951.1Swdk 961.1Swdk### find out what to use for libsa 971.1SwdkSA_AS= library 981.1Swdk.if defined(PRIMARY_PROG) 991.1SwdkSAMISCMAKEFLAGS+=SA_INCLUDE_NET=no 1001.1Swdk.endif 1011.1Swdk.if defined(SECONDARY_PROG) 1021.1SwdkSAMISCMAKEFLAGS+=SA_USE_LOADFILE=yes SA_USE_CREAD=yes 1031.1Swdk# for now: 1041.1SwdkSAMISCMAKEFLAGS+=SA_INCLUDE_NET=no 1051.1Swdk.endif 1061.1Swdk.include "${S}/lib/libsa/Makefile.inc" 1071.1SwdkLIBSA= ${SALIB} 1081.1Swdk 1091.1SwdkLIBS= ${LIBSA} ${LIBZ} ${LIBSA} ${LIBKERN} 1101.1Swdk 1111.18Smatt${PROG}: ${LDSCRIPT} ${OBJS} ${LIBS} 1121.18Smatt ${_MKTARGET_LINK} 1131.4Ssimonb ${LD} ${OFORMAT} -Map ${PROG}.map -N -x -Ttext ${LOAD_ADDRESS} \ 1141.4Ssimonb -T ${LDSCRIPT} -e start -o ${PROG} ${OBJS} ${LIBS} 1151.1Swdk @${SIZE} ${PROG} 1161.2Swdk.if defined(PRIMARY_PROG) 1171.5Swdk mv ${PROG} ${PROG}.elf 1181.8Ssimonb ${OBJCOPY} --strip-all -O ecoff-bigmips ${STRIPSECTIONS} \ 1191.8Ssimonb ${PROG}.elf ${PROG} 1201.2Swdk.endif 1211.1Swdk.if defined(CHECKSIZE_CMD) 1221.2Swdk @${CHECKSIZE_CMD} ${PROG} ${PRIMARY_MAX_LOAD} || \ 1231.1Swdk (rm -f ${PROG} ; false) 1241.1Swdk.endif 1251.1Swdk 1261.5SwdkCLEANFILES+= ${PROG}.map ${PROG}.elf 1271.1Swdk 1281.16Sdhollandcleandir distclean: .WAIT cleanlibdir 1291.1Swdk 1301.1Swdkcleanlibdir: 1311.9Sjmc -rm -rf lib 1321.1Swdk 1331.1Swdk.include <bsd.prog.mk> 1341.18Smatt.include <bsd.klinks.mk> 135