11.25Srin#	$NetBSD: Makefile.acorn32,v 1.25 2021/11/08 23:35:43 rin Exp $
21.1Sreinoud
31.1Sreinoud# Makefile for NetBSD
41.1Sreinoud#
51.1Sreinoud# This makefile is constructed from a machine description:
61.1Sreinoud#	config machineid
71.1Sreinoud# Most changes should be made in the machine description
81.1Sreinoud#	/sys/arch/acorn32/conf/``machineid''
91.1Sreinoud# after which you should do
101.1Sreinoud#	config machineid
111.1Sreinoud# Machine generic makefile changes should be made in
121.1Sreinoud#	/sys/arch/acorn32/conf/Makefile.acorn32
131.1Sreinoud# after which config should be rerun for all machines of that type.
141.9Satatat#
151.9Satatat# To specify debugging, add the config line: makeoptions DEBUG="-g"
161.9Satatat# A better way is to specify -g only for a few files.
171.9Satatat#
181.9Satatat#	makeoptions DEBUGLIST="uvm* trap if_*"
191.3Sthorpej
201.4SjmcUSETOOLS?=	no
211.9SatatatNEED_OWN_INSTALL_TARGET?=no
221.2Sthorpej.include <bsd.own.mk>
231.1Sreinoud
241.9Satatat##
251.9Satatat## (1) port identification
261.9Satatat##
271.1SreinoudACORN32=	$S/arch/acorn32
281.9SatatatARM=		$S/arch/arm
291.17SchristosGENASSYM_CONF=	${ARM}/arm32/genassym.cf
301.9SatatatGENASSYM_EXTRAS+=	${ACORN32}/acorn32/genassym.cf
311.9Satatat
321.9Satatat##
331.9Satatat## (2) compile settings
341.9Satatat##
351.9SatatatCPPFLAGS+=	-Darm32
361.9SatatatCWARNFLAGS+=	-Wcomment
371.9SatatatAFLAGS+=	-x assembler-with-cpp
381.9Satatat
391.25SrinOPT_DDB=	%DDB%
401.25Srin.if !empty(OPT_DDB) && ${HAVE_GCC:U0} > 0
411.25SrinCFLAGS+=	-mapcs-frame
421.25Srin.endif
431.25Srin
441.9Satatat##
451.9Satatat## (3) libkern and compat
461.9Satatat##
471.24SrinOPT_MODULAR=	%MODULAR%
481.1Sreinoud
491.9Satatat##
501.9Satatat## (4) local objects, compile rules, and dependencies
511.9Satatat##
521.9SatatatMD_OBJS=	locore.o
531.9SatatatMD_CFILES=
541.9SatatatMD_SFILES=	${ARM}/arm32/locore.S
551.1Sreinoud
561.21Sjoergatomic.o bcopy_page.o bcopyinout.o copystr.o cpuswitch.o: assym.h
571.22Sjoergcpu_in_cksum.o exception.o fiq_subr.o fusu.o iomd_irqhandler.o: assym.h
581.22Sjoergiomd_irq.o sigcode.o spl.o vectors.o: assym.h
591.21Sjoerg
601.9Satatatlocore.o: ${ARM}/arm32/locore.S assym.h
611.9Satatat	${NORMAL_S}
621.1Sreinoud
631.9SatatatMD_OBJS+=	modedefs.o
641.9SatatatMD_CFILES+=	modedefs.c
651.1Sreinoud
661.19Sbjh21.ifdef MONITOR
671.9Satatatmodedefs.c: ${ARM}/iomd/makemodes.awk ${ACORN32}/conf/monitors/${MONITOR} Makefile
681.19Sbjh21	${_MKTARGET_CREATE}
691.23Sapb	${TOOL_AWK} -f ${ARM}/iomd/makemodes.awk \
701.23Sapb		${ACORN32}/conf/monitors/${MONITOR} ${MODES} >modedefs.c
711.19Sbjh21.else
721.19Sbjh21modedefs.c: ${ARM}/iomd/makemodes.awk Makefile
731.19Sbjh21	${_MKTARGET_CREATE}
741.23Sapb	${TOOL_AWK} -f ${ARM}/iomd/makemodes.awk </dev/null >modedefs.c
751.19Sbjh21.endif
761.1Sreinoud
771.9Satatatmodedefs.o: modedefs.c
781.1Sreinoud	${NORMAL_C}
791.19Sbjh21
801.1Sreinoud
811.9Satatat##
821.9Satatat## (5) link settings
831.9Satatat##
841.9SatatatLOADADDRESS?=	0xF0000000
851.14Sbjh21LINKFORMAT=	-N
861.9SatatatLINKFLAGS_NORMAL=	-x
871.9Satatat
881.9Satatat##
891.9Satatat## (6) port specific target dependencies
901.9Satatat##
911.1Sreinoud
921.5Slukem# depend on CPU configuration
931.1Sreinoudcpufunc.o cpufunc_asm.o: Makefile
941.1Sreinoud
951.1Sreinoud# depend on DIAGNOSTIC etc.
961.1Sreinoudcpuswitch.o fault.o machdep.o: Makefile
971.1Sreinoud
981.9Satatat##
991.9Satatat## (7) misc settings
1001.9Satatat##
1011.9Satatat
1021.9Satatat##
1031.9Satatat## (8) config(8) generated machinery
1041.9Satatat##
1051.9Satatat%INCLUDES
1061.1Sreinoud
1071.9Satatat%OBJS
1081.1Sreinoud
1091.9Satatat%CFILES
1101.1Sreinoud
1111.9Satatat%SFILES
1121.1Sreinoud
1131.9Satatat%LOAD
1141.1Sreinoud
1151.1Sreinoud%RULES
1161.9Satatat
1171.9Satatat##
1181.9Satatat## (9) port independent kernel machinery
1191.9Satatat##
1201.9Satatat.include "$S/conf/Makefile.kern.inc"
1211.16Sthorpej
1221.16Sthorpej##
1231.16Sthorpej## (10) Appending make options.
1241.16Sthorpej##
1251.16Sthorpej%MAKEOPTIONSAPPEND
126