Makefile.alpha revision 1.83
11.83Schristos#	$NetBSD: Makefile.alpha,v 1.83 2013/03/10 07:18:20 christos Exp $
21.10Smycroft
31.1Scgd# Makefile for NetBSD
41.1Scgd#
51.1Scgd# This makefile is constructed from a machine description:
61.1Scgd#	config machineid
71.1Scgd# Most changes should be made in the machine description
81.10Smycroft#	/sys/arch/alpha/conf/``machineid''
91.1Scgd# after which you should do
101.10Smycroft#	config machineid
111.1Scgd# Machine generic makefile changes should be made in
121.10Smycroft#	/sys/arch/alpha/conf/Makefile.alpha
131.1Scgd# after which config should be rerun for all machines of that type.
141.63Sross#
151.69Slukem# To specify debugging, add the config line: makeoptions DEBUG="-g"
161.63Sross# A better way is to specify -g only for a few files.
171.63Sross#
181.63Sross#	makeoptions DEBUGLIST="uvm* trap if_*"
191.1Scgd
201.68SatatatMACHINE_ARCH=	alpha
211.68SatatatUSETOOLS?=	no
221.68SatatatNEED_OWN_INSTALL_TARGET?=no
231.68Satatat.include <bsd.own.mk>
241.68Satatat
251.68Satatat##
261.68Satatat## (1) port identification
271.68Satatat##
281.68SatatatALPHA=		$S/arch/alpha
291.75SchristosGENASSYM_CONF=	${ALPHA}/alpha/genassym.cf
301.68Satatat
311.68Satatat##
321.68Satatat## (2) compile settings
331.68Satatat##
341.70SatatatCPPFLAGS+=	-Dalpha
351.70SatatatCFLAGS+=	-mno-fp-regs
361.70SatatatAFLAGS+=	-traditional
371.70Satatat
381.80SapbNORMAL_S=	${CPP} ${AFLAGS} ${CPPFLAGS} $< | ${TOOL_SED} -e 's,^\#.*,,' | \
391.70Satatat		${AS} -o ${.TARGET}
401.68Satatat
411.68Satatat##
421.69Slukem## (3) libkern and compat
431.68Satatat##
441.83SchristosOPT_MODULAR=	%MODULAR%
451.83Schristos.if !empty(OPT_MODULAR)
461.83SchristosKERN_AS=	obj
471.83Schristos.else
481.83SchristosKERN_AS=	library
491.83Schristos.endif
501.68Satatat
511.68Satatat##
521.68Satatat## (4) local objects, compile rules, and dependencies
531.68Satatat##
541.68SatatatMD_OBJS=	locore.o transfer.o
551.68SatatatMD_CFILES=
561.68SatatatMD_SFILES=	${ALPHA}/alpha/locore.s ${ALPHA}/alpha/transfer.s
571.68Satatat
581.68Satatatlocore.o: ${ALPHA}/alpha/locore.s assym.h
591.68Satatat	${NORMAL_S}
601.68Satatat
611.68Satatattransfer.o: ${ALPHA}/alpha/transfer.s
621.68Satatat	${NORMAL_S}
631.68Satatat
641.78Syamtlock_stubs.o: assym.h
651.78Syamt
661.68Satatat##
671.68Satatat## (5) link settings
681.68Satatat##
691.68SatatatLINKFORMAT=	-N
701.82SmhitchTEXTADDR?=	fffffc0000430000
711.71SatatatENTRYPOINT=	__transfer
721.68SatatatEXTRA_LINKFLAGS=	-G 4
731.51SrossSTRIPFLAGS=	-g -X
741.52Smrg
751.68Satatat##
761.68Satatat## (6) port specific target dependencies
771.68Satatat##
781.24Smycroft
791.69Slukem# depend on CPU configuration
801.73Sadclock.o apecs.o cia.o lca.o ioasic.o icasic.o: Makefile
811.5Schristos
821.68Satatat##
831.68Satatat## (7) misc settings
841.68Satatat##
851.68SatatatMKDEP_AFLAGS=	-x assembler-with-cpp ${AFLAGS}
861.68Satatat
871.68Satatat##
881.68Satatat## (8) config(8) generated machinery
891.68Satatat##
901.68Satatat%INCLUDES
911.1Scgd
921.1Scgd%OBJS
931.1Scgd
941.1Scgd%CFILES
951.1Scgd
961.10Smycroft%SFILES
971.10Smycroft
981.1Scgd%LOAD
991.1Scgd
1001.68Satatat%RULES
1011.10Smycroft
1021.68Satatat##
1031.68Satatat## (9) port independent kernel machinery
1041.68Satatat##
1051.68Satatat.include "$S/conf/Makefile.kern.inc"
1061.74Sthorpej
1071.74Sthorpej##
1081.74Sthorpej## (10) Appending make options.
1091.74Sthorpej##
1101.74Sthorpej%MAKEOPTIONSAPPEND
111