Makefile revision 1.13
11.13Ssimonb# $NetBSD: Makefile,v 1.13 2004/07/28 01:05:35 simonb Exp $ 21.1Smrg 31.1SmrgCURDIR= ${.CURDIR} 41.1SmrgS= ${CURDIR}/../../../.. 51.1Smrg 61.1Smrg# 71.1Smrg# Override normal settings 81.1Smrg# 91.1Smrg 101.1SmrgWARNS= 0 111.1Smrg 121.1SmrgPROG?= ofwboot 131.1SmrgSRCS= srt0.s Locore.c boot.c ofdev.c alloc.c net.c netif_of.c vers.c 141.1Smrg.PATH: ${S}/arch/sparc64/sparc64 151.1Smrg 161.13Ssimonb# XXX SHOULD NOT NEED TO DEFINE THESE! 171.13SsimonbLIBCRT0= 181.13SsimonbLIBC= 191.13SsimonbLIBCRTBEGIN= 201.13SsimonbLIBCRTEND= 211.13Ssimonb 221.8SthorpejCOPTS+= -ffreestanding 231.1SmrgCWARNFLAGS+= -Wno-main 241.2SmrgCFLAGS+= ${COPTS} ${CEXTRAFLAGS} 251.2SmrgCPPFLAGS+= -D_STANDALONE -DSUN4U 261.4SthorpejCPPFLAGS+= -DBOOT_ELF32 -DBOOT_ELF64 271.10SmrgCPPFLAGS+= -DNETBOOT 281.1Smrg#CPPFLAGS+= -DNETIF_DEBUG 291.10Smrg 301.10SmrgLINKS+= ${BINDIR}/ofwboot ${BINDIR}/ofwboot.net 311.1Smrg 321.5StvNOMAN= # defined 331.1SmrgSTRIPFLAG= 341.1SmrgBINMODE= 444 351.1Smrg 361.1SmrgNEWVERSWHAT= "OpenFirmware Boot" 371.1Smrg 381.1Smrg# 391.1Smrg# Elf64 defaults to 1MB 401.1Smrg# 411.1Smrg# We may get address conflicts with other bootloaders, say 421.1Smrg# Sun's ufsboot, so we'll pick a reasonably empty address. 431.1Smrg# 441.1SmrgRELOC= 800000 451.1Smrg 461.1SmrgENTRY= _start 471.1Smrg 481.11SmartinCLEANFILES+= vers.c sparc64 sparc machine 491.1Smrg 501.1SmrgCPPFLAGS+= -I${CURDIR}/../../.. -I${CURDIR}/../../../.. -I${CURDIR} -I. 511.1SmrgCPPFLAGS+= -DRELOC=0x${RELOC} 521.1Smrg 531.1Smrg# 541.1Smrg# XXXXX FIXME 551.1Smrg# 561.1SmrgCPPFLAGS+= -DSPARC_BOOT_AOUT 571.1SmrgCPPFLAGS+= -DSPARC_BOOT_ELF 581.1SmrgCPPFLAGS+= -DSPARC_BOOT_UFS 591.1SmrgCPPFLAGS+= -DSPARC_BOOT_NFS 601.1Smrg#CPPFLAGS+= -DSPARC_BOOT_HSFS 611.1Smrg 621.1Smrg### find out what to use for libkern 631.1SmrgKERN_AS= library 641.1Smrg.include "${S}/lib/libkern/Makefile.inc" 651.1SmrgLIBKERN= ${KERNLIB} 661.1Smrg 671.1Smrg### find out what to use for libz 681.1SmrgZ_AS= library 691.1Smrg.include "${S}/lib/libz/Makefile.inc" 701.1SmrgLIBZ= ${ZLIB} 711.1Smrg 721.1Smrg### find out what to use for libsa 731.1SmrgSA_AS= library 741.1SmrgSAMISCMAKEFLAGS= SA_USE_CREAD=yes 751.1Smrg.include "${S}/lib/libsa/Makefile.inc" 761.1SmrgLIBSA= ${SALIB} 771.1Smrg 781.11Smartin.NOPATH: machine sparc64 sparc 791.11Smartin${SRCS}: machine sparc64 sparc 801.1Smrg 811.1Smrgmachine: 821.1Smrg rm -f machine 831.2Smrg ln -s sparc64 machine 841.1Smrg 851.2Smrgsparc64: 861.2Smrg rm -f sparc64 871.2Smrg ln -s ${.CURDIR}/../../../sparc64/include sparc64 881.7Snakayama 891.11Smartinsparc: 901.11Smartin rm -f sparc 911.11Smartin ln -s ${.CURDIR}/../../../sparc/include sparc 921.11Smartin 931.7Snakayamacleandir distclean: cleanlibdir 941.7Snakayama 951.7Snakayamacleanlibdir: 961.12Sjmc -rm -rf lib 971.1Smrg 981.1Smrgvers.c: version 991.9Slukem ${HOST_SH} ${S}/conf/newvers_stand.sh ${CURDIR}/version "sparc64" ${NEWVERSWHAT} 1001.1Smrg 1011.1Smrg.if CROSS 1021.1Smrg${PROG}: ${OBJS} ${LIBSA} ${LIBZ} ${LIBKERN} 1031.1Smrg ${LD} -N -p -Ttext ${RELOC} -e ${ENTRY} >lderr -o ${PROG} \ 1041.1Smrg ${OBJS} -L${SADST} -lsa -L${ZDST} -lz -L${KERNDST} -lkern # solaris linker 1051.1Smrg.else 1061.1Smrg${PROG}: ${OBJS} ${LIBSA} ${LIBZ} ${LIBKERN} 1071.1Smrg ${LD} -X -N -Ttext ${RELOC} -e ${ENTRY} -o ${PROG} \ 1081.1Smrg ${OBJS} ${LIBSA} ${LIBZ} ${LIBKERN} # native linker 1091.1Smrg.endif 1101.1Smrg 1111.1Smrg.include <bsd.prog.mk> 1121.1Smrg 1131.2Smrg.if ${MACHINE_ARCH} == "sparc64" 1141.2SmrgAFLAGS+= -Wa,-Av9a 1151.2SmrgCEXTRAFLAGS?= -D_LP64 1161.2Smrg.else 1171.2SmrgAFLAGS+= -Wa,-Av8plusa 1181.2Smrg.endif 1191.2Smrg 1201.1Smrg.if CROSS 1211.2SmrgAFLAGS+= -x assembler-with-cpp -traditional-cpp -D_LOCORE -D__ELF__ 1221.2SmrgCEXTRAFLAGS?= -D_LP64 1231.1Smrg.else 1241.2SmrgAFLAGS+= -x assembler-with-cpp -traditional-cpp -D_LOCORE -D__ELF__ ${CEXTRAFLAGS} 1251.1Smrg.endif 1261.2Smrg 1271.1SmrgNORMAL_S= ${CC} ${AFLAGS} ${CPPFLAGS} -c $< 1281.1Smrgsrt0.o: srt0.s 1291.1Smrg ${NORMAL_S} 1301.1Smrg 1311.1Smrg# Explicit dependency for this. 1321.1Smrgboot.o: boot.c elfXX_exec.c 133