Makefile revision 1.38
11.38Schristos# $NetBSD: Makefile,v 1.38 2017/04/08 19:53:23 christos Exp $ 21.37Schristos 31.37Schristos.include <bsd.init.mk> 41.1Smrg 51.1SmrgCURDIR= ${.CURDIR} 61.1SmrgS= ${CURDIR}/../../../.. 71.1Smrg 81.1Smrg# 91.1Smrg# Override normal settings 101.1Smrg# 111.1Smrg 121.29StsutsuiWARNS?= 2 131.30SmattKLINK_MACHINE= sparc64 141.1Smrg 151.1SmrgPROG?= ofwboot 161.38SchristosSRCS= srt0.s Locore.c boot.c ofdev.c alloc.c net.c netif_of.c 171.25SchristosSRCS+= bootinfo.c loadfile_machdep.c promlib.c prf.c isfloppy.c 181.31Spalle.if ${MACHINE_ARCH} == "sparc64" 191.31SpalleSRCS+= hvcall.S 201.35SmartinCPPFLAGS+= -DSUN4V 211.31Spalle.endif 221.25Schristos.PATH: ${S}/arch/sparc64/sparc64 ${S}/arch/sparc/stand/common 231.1Smrg 241.13Ssimonb# XXX SHOULD NOT NEED TO DEFINE THESE! 251.13SsimonbLIBCRT0= 261.32StsutsuiLIBCRTI= 271.13SsimonbLIBC= 281.13SsimonbLIBCRTBEGIN= 291.13SsimonbLIBCRTEND= 301.13Ssimonb 311.36SmrgCOPTS+= -ffreestanding -mcpu=v9 321.1SmrgCWARNFLAGS+= -Wno-main 331.35SmartinCFLAGS+= ${COPTS} 341.35SmartinCPPFLAGS+= -D_STANDALONE 351.18ScdiCPPFLAGS+= -DBOOT_ELF32 -DBOOT_ELF64 -DBOOT_AOUT 361.10SmrgCPPFLAGS+= -DNETBOOT 371.14SchristosCPPFLAGS+= -DSUPPORT_DHCP 381.1Smrg#CPPFLAGS+= -DNETIF_DEBUG 391.18Scdi#CPPFLAGS+= -D_DEBUG 401.10Smrg 411.10SmrgLINKS+= ${BINDIR}/ofwboot ${BINDIR}/ofwboot.net 421.1Smrg 431.5StvNOMAN= # defined 441.1SmrgSTRIPFLAG= 451.1SmrgBINMODE= 444 461.1Smrg 471.1SmrgNEWVERSWHAT= "OpenFirmware Boot" 481.1Smrg 491.1Smrg# 501.1Smrg# Elf64 defaults to 1MB 511.1Smrg# 521.1Smrg# We may get address conflicts with other bootloaders, say 531.1Smrg# Sun's ufsboot, so we'll pick a reasonably empty address. 541.1Smrg# 551.18ScdiRELOC= 100000 561.1Smrg 571.1SmrgENTRY= _start 581.1Smrg 591.1SmrgCPPFLAGS+= -I${CURDIR}/../../.. -I${CURDIR}/../../../.. -I${CURDIR} -I. 601.22StsutsuiCPPFLAGS+= -I${CURDIR}/../../../../../common/include 611.1SmrgCPPFLAGS+= -DRELOC=0x${RELOC} 621.1Smrg 631.1Smrg# 641.1Smrg# XXXXX FIXME 651.1Smrg# 661.1SmrgCPPFLAGS+= -DSPARC_BOOT_AOUT 671.1SmrgCPPFLAGS+= -DSPARC_BOOT_ELF 681.1SmrgCPPFLAGS+= -DSPARC_BOOT_UFS 691.1SmrgCPPFLAGS+= -DSPARC_BOOT_NFS 701.23SmartinCPPFLAGS+= -DSPARC_BOOT_CD9660 711.1Smrg 721.1Smrg### find out what to use for libkern 731.1SmrgKERN_AS= library 741.1Smrg.include "${S}/lib/libkern/Makefile.inc" 751.1SmrgLIBKERN= ${KERNLIB} 761.1Smrg 771.1Smrg### find out what to use for libz 781.1SmrgZ_AS= library 791.1Smrg.include "${S}/lib/libz/Makefile.inc" 801.1SmrgLIBZ= ${ZLIB} 811.1Smrg 821.1Smrg### find out what to use for libsa 831.1SmrgSA_AS= library 841.18ScdiSAMISCMAKEFLAGS= SA_USE_LOADFILE=yes SA_USE_CREAD=yes 851.20SmartinSAMISCCPPFLAGS+= -DCOMPAT_SOLARIS_UFS 861.1Smrg.include "${S}/lib/libsa/Makefile.inc" 871.1SmrgLIBSA= ${SALIB} 881.1Smrg 891.38Schristos.include "${S}/conf/newvers_stand.mk" 901.38Schristos 911.28Snakayama.include <bsd.own.mk> 921.30Smatt.include <bsd.klinks.mk> 931.28Snakayama 941.1Smrg.if CROSS 951.1Smrg${PROG}: ${OBJS} ${LIBSA} ${LIBZ} ${LIBKERN} 961.30Smatt ${_MKTARGET_LINK} 971.1Smrg ${LD} -N -p -Ttext ${RELOC} -e ${ENTRY} >lderr -o ${PROG} \ 981.1Smrg ${OBJS} -L${SADST} -lsa -L${ZDST} -lz -L${KERNDST} -lkern # solaris linker 991.1Smrg.else 1001.1Smrg${PROG}: ${OBJS} ${LIBSA} ${LIBZ} ${LIBKERN} 1011.30Smatt ${_MKTARGET_LINK} 1021.33Smartin ${LD} -X -N -S -Ttext ${RELOC} -e ${ENTRY} -o ${PROG} \ 1031.1Smrg ${OBJS} ${LIBSA} ${LIBZ} ${LIBKERN} # native linker 1041.1Smrg.endif 1051.1Smrg 1061.1Smrg.include <bsd.prog.mk> 1071.1Smrg 1081.35SmartinCPUFLAGS+= -mcpu=v9 1091.2SmrgAFLAGS+= -Wa,-Av9a 1101.26SjoergAFLAGS+= -x assembler-with-cpp -D_LOCORE -D__ELF__ 1111.2Smrg 1121.34SjoergNORMAL_S= ${CC} ${AFLAGS} ${AFLAGS.${<:T}} ${CPPFLAGS} -c $< 1131.1Smrgsrt0.o: srt0.s 1141.1Smrg ${NORMAL_S} 1151.1Smrg 1161.31Spallehvcall.o: hvcall.S 1171.31Spalle ${NORMAL_S} 1181.31Spalle 1191.31Spalle 1201.1Smrg# Explicit dependency for this. 1211.18Scdiboot.o: boot.c 122