11.62Smartin# $NetBSD: Makefile,v 1.62 2025/07/25 06:18:24 martin Exp $ 21.62Smartin 31.62SmartinNOLIBCSANITIZER= 41.62SmartinNOSANITIZER= 51.62SmartinNOPIE= 61.1Stsubai 71.1StsubaiS= ${.CURDIR}/../../../.. 81.1Stsubai 91.1StsubaiPROG= ofwboot 101.12SdmcmahilFILES= ${PROG}.elf ${PROG}.xcf 111.60SthorpejSRCS= Locore.c boot.c ofdev.c hfs.c net.c netif_of.c \ 121.60Sthorpej loadfile_machdep.c 131.7SwrstudenXCOFFXTRA= Xcoffxtra.c 141.7SwrstudenXCOFFXTRAOBJ= Xcoffxtra.o 151.54SjoergCFLAGS+= -ffreestanding 161.54SjoergCFLAGS+= ${${ACTIVE_CC} == "gcc":? -msoft-float :} 171.58SuweCFLAGS+= ${CFLAGS_UNWIND.${ACTIVE_CC}} 181.47StsutsuiCFLAGS+= -Wall -Wmissing-prototypes -Wstrict-prototypes -Wpointer-arith 191.29Stsutsui#CPPFLAGS+= -DDEBUG -DNETIF_DEBUG 201.29StsutsuiCPPFLAGS+= -D_STANDALONE -DSUPPORT_DHCP 211.31StsutsuiCPPFLAGS+= -DSUPPORT_USTARFS -DHAVE_CHANGEDISK_HOOK 221.41SaymericDBG= -Os 231.36Sthorpej 241.59Suwe# PR port-macppc/44895 251.59SuweSRCS+= alloc.c # use ./alloc.c 261.59Suwe#CPPFLAGS+= -DHEAP_VARIABLE # use libsa alloc.c 271.59Suwe 281.36SthorpejLIBCRT0= # nothing 291.52StsutsuiLIBCRTI= # nothing 301.36SthorpejLIBCRTBEGIN= # nothing 311.36SthorpejLIBCRTEND= # nothing 321.36SthorpejLIBC= # nothing 331.9Stsubai 341.1Stsubai.PATH: ${S}/arch/powerpc/powerpc 351.1StsubaiSRCS+= ofwmagic.S 361.34Sitojun 371.34Sitojun.PATH: ${S}/lib/libsa 381.34SitojunSRCS+= byteorder.c 391.9Stsubai 401.24StvNOMAN= # defined 411.1StsubaiSTRIPFLAG= 421.1StsubaiBINMODE= 444 431.1Stsubai 441.23Stv.include <bsd.own.mk> 451.23Stv 461.51Sjoerg.if !defined(FIXCOFF) 471.39Smatt.if !defined(TOOL_MACPPCFIXCOFF) 481.39SmattTOOL_MACPPCFIXCOFFDIR!= cd ${.CURDIR}/../fixcoff && ${PRINTOBJDIR} 491.46ShaukeTOOL_MACPPCFIXCOFF= ${TOOL_MACPPCFIXCOFFDIR}/fixcoff 501.39Smatt.endif 511.7Swrstuden.endif 521.7Swrstuden 531.1StsubaiNEWVERSWHAT= "OpenFirmware Boot" 541.1Stsubai 551.1Stsubai# For now... 561.1Stsubai#RELOC= 20000 571.42SwrstudenRELOC= E00000 581.1Stsubai 591.1StsubaiENTRY= _start 601.1Stsubai 611.56SchristosCLEANFILES+= ${PROG}.elf ${PROG}.el1 ${PROG}.mrg ${PROG}.xcf 621.57SuweCLEANFILES+= ${XCOFFXTRAOBJ} 631.1Stsubai 641.30StsutsuiCPPFLAGS+= -I. -I${.CURDIR} -I${.CURDIR}/../../.. -I${.CURDIR}/../../../.. 651.26SwrstudenCPPFLAGS+= -DRELOC=0x${RELOC} -DRELOC_FLATFILE=0x${RELOC_FLATFILE} 661.1Stsubai#CPPFLAGS+= -DXCOFF_GLUE # for booting PCI Powermacs 671.1Stsubai 681.58SuweLINKFLAGS= -N -Ttext ${RELOC} -Bstatic 691.58SuweLINKFLAGS+= ${LINKFLAGS_UNWIND} 701.58Suwe 711.1Stsubai### find out what to use for libkern 721.1StsubaiKERN_AS= library 731.1Stsubai.include "${S}/lib/libkern/Makefile.inc" 741.1StsubaiLIBKERN= ${KERNLIB} 751.1Stsubai 761.1Stsubai### find out what to use for libz 771.1StsubaiZ_AS= library 781.1Stsubai.include "${S}/lib/libz/Makefile.inc" 791.1StsubaiLIBZ= ${ZLIB} 801.1Stsubai 811.1Stsubai### find out what to use for libsa 821.1StsubaiSA_AS= library 831.5StsubaiSAMISCMAKEFLAGS= SA_USE_CREAD=yes SA_USE_LOADFILE=yes 841.1Stsubai.include "${S}/lib/libsa/Makefile.inc" 851.1StsubaiLIBSA= ${SALIB} 861.33Stsutsui 871.50Sdhollandcleandir distclean: .WAIT cleanlibdir 881.33Stsutsui 891.33Stsutsuicleanlibdir: 901.44Sjmc -rm -rf lib 911.1Stsubai 921.56Schristos.include "${S}/conf/newvers_stand.mk" 931.13Sjdolecek 941.27Swrstudenall realall: ${PROG} ${PROG}.xcf ${PROG}.elf 951.26Swrstuden 961.42Swrstuden${PROG}: ${OBJS} ${LIBSA} ${LIBZ} ${LIBKERN} 971.43Smatt ${_MKTARGET_LINK} 981.58Suwe ${LD} -s -o ${PROG}.el1 ${LINKFLAGS} \ 991.42Swrstuden ${OBJS} ${LIBSA} ${LIBZ} ${LIBKERN} 1001.26Swrstuden ${OBJCOPY} -O binary ${PROG}.el1 ${PROG} 1011.26Swrstuden 1021.48Stsutsui.include <bsd.klinks.mk> 1031.26Swrstuden.include <bsd.prog.mk> 1041.26Swrstuden 1051.42Swrstuden${PROG}.elf: ${OBJS} ${LIBSA} ${LIBZ} ${LIBKERN} 1061.43Smatt ${_MKTARGET_LINK} 1071.58Suwe ${LD} -s -o ${PROG}.elf ${LINKFLAGS} \ 1081.42Swrstuden ${OBJS} ${LIBSA} ${LIBZ} ${LIBKERN} 1091.26Swrstuden 1101.42Swrstuden${PROG}.xcf: ${OBJS} ${XCOFFXTRAOBJ} ${LIBSA} ${LIBZ} ${LIBKERN} 1111.43Smatt ${_MKTARGET_LINK} 1121.58Suwe ${LD} -o ${PROG}.mrg ${LINKFLAGS} \ 1131.58Suwe -T ${.CURDIR}/../fixcoff/elf32_powerpc_merge.x \ 1141.58Suwe -e _entry ${XCOFFXTRAOBJ} \ 1151.42Swrstuden ${OBJS} ${LIBSA} ${LIBZ} ${LIBKERN} 1161.7Swrstuden ${OBJCOPY} -O aixcoff-rs6000 -R .comment -R .note \ 1171.61Smartin --strip-debug --strip-unneeded \ 1181.61Smartin ${PROG}.mrg ${PROG}.xcf.${.MAKE.PID} 1191.61Smartin ${TOOL_MACPPCFIXCOFF} ${PROG}.xcf.${.MAKE.PID} && \ 1201.61Smartin mv ${PROG}.xcf.${.MAKE.PID} ${PROG}.xcf 121