Makefile revision 1.27
11.27Sjoerg#	$NetBSD: Makefile,v 1.27 2011/01/24 19:27:18 joerg Exp $
21.1Sthorpej
31.19StsutsuiS!=	cd ${.CURDIR}/../../../.. ; pwd
41.1Sthorpej
51.1SthorpejPROG=		ofwboot
61.27SjoergNOMAN=		# defined
71.25SphxSRCS=		ofwstart.S Locore.c boot.c ofdev.c net.c netif_of.c
81.25SphxSRCS+=		mbr.c rdb.c vers.c
91.15SsimonbCFLAGS+=	-msoft-float -Wno-main -ffreestanding
101.24StsutsuiCFLAGS+=	-Wall -Wmissing-prototypes -Wstrict-prototypes -Wpointer-arith
111.21Sgarbled#CPPFLAGS+=	-g -DALLOC_TRACE -DDEBUG #-DOFW_DEBUG -DNETIF_DEBUG
121.22Sgarbled#CPPFLAGS+=	-DOFWDUMP
131.10SthorpejCPPFLAGS+=	-D_STANDALONE -DSUPPORT_DHCP -I${.CURDIR}
141.21SgarbledCPPFLAGS+=	-DHEAP_VARIABLE
151.27Sjoerg
161.27Sjoerg.include <bsd.own.mk>
171.27Sjoerg
181.10SthorpejDBG=		-Os -mmultiple
191.10Sthorpej
201.1SthorpejSRCS+=		ofwmagic.S
211.5Ssakamoto.PATH:		${S}/arch/powerpc/powerpc
221.12Sitojun
231.12SitojunSRCS+=		byteorder.c
241.12Sitojun.PATH:		${S}/lib/libsa
251.10Sthorpej
261.2SthorpejSTRIPFLAG=
271.1SthorpejBINMODE=	444
281.15Ssimonb
291.15Ssimonb# XXX SHOULD NOT NEED TO DEFINE THESE!
301.15SsimonbLIBCRT0=
311.15SsimonbLIBC=
321.15SsimonbLIBCRTBEGIN=
331.15SsimonbLIBCRTEND=
341.1Sthorpej
351.1SthorpejNEWVERSWHAT=	"OpenFirmware Boot"
361.1Sthorpej
371.1Sthorpej# For now...
381.1SthorpejRELOC=		20000
391.1Sthorpej
401.1SthorpejENTRY=		_start
411.1Sthorpej
421.14SchsCLEANFILES+=	vers.c
431.1Sthorpej
441.19StsutsuiCPPFLAGS+=	-I. -I${S} -I${S}/../common/include
451.1SthorpejCPPFLAGS+=	-DRELOC=0x${RELOC}
461.1SthorpejCPPFLAGS+=	-DFIRMWORKSBUGS
471.3SdrochnerCPPFLAGS+=	-DCOMPAT_386BSD_MBRPART
481.1Sthorpej
491.16Smatt.if !make(obj) && !make(clean) && !make(cleandir)
501.7Swrstuden.BEGIN:
511.7Swrstuden	@[ -h machine ] || ln -s ${S}/arch/${MACHINE}/include machine
521.7Swrstuden	@[ -h powerpc ] || ln -s ${S}/arch/powerpc/include powerpc
531.16Smatt.endif
541.8Smycroft.NOPATH: machine powerpc
551.8SmycroftCLEANFILES+= machine powerpc
561.5Ssakamoto
571.1Sthorpej### find out what to use for libkern
581.1SthorpejKERN_AS=	library
591.1Sthorpej.include "${S}/lib/libkern/Makefile.inc"
601.1SthorpejLIBKERN=	${KERNLIB}
611.1Sthorpej
621.1Sthorpej### find out what to use for libz
631.1SthorpejZ_AS=		library
641.1Sthorpej.include "${S}/lib/libz/Makefile.inc"
651.1SthorpejLIBZ=		${ZLIB}
661.1Sthorpej
671.1Sthorpej### find out what to use for libsa
681.1SthorpejSA_AS=		library
691.10SthorpejSAMISCMAKEFLAGS= SA_USE_CREAD=yes SA_USE_LOADFILE=yes
701.1Sthorpej.include "${S}/lib/libsa/Makefile.inc"
711.1SthorpejLIBSA=		${SALIB}
721.1Sthorpej
731.9Sjdolecek.PHONY: vers.c
741.9Sjdolecekvers.c: version
751.26Sjoerg	${HOST_SH} ${S}/conf/newvers_stand.sh ${${MKREPRO} == "yes" :?:-D} \
761.26Sjoerg	    ${.CURDIR}/version "ofppc" ${NEWVERSWHAT}
771.13Schs
781.1Sthorpej${PROG}: ${OBJS} ${LIBSA} ${LIBZ} ${LIBKERN}
791.23Sgarbled	${LD} -s -N -T ${.CURDIR}/ldscript -Ttext ${RELOC} -Bstatic \
801.23Sgarbled	    -e ${ENTRY} -o ${PROG}.X ${OBJS} ${LIBSA} ${LIBZ} ${LIBKERN}
811.13Schs	mv -f ${PROG}.X ${PROG}
821.1Sthorpej
831.1Sthorpej.include <bsd.prog.mk>
84