11.69Sthorpej#	$NetBSD: Makefile.mvme68k,v 1.69 2024/01/18 05:12:29 thorpej Exp $
21.1Schuck
31.1Schuck# Makefile for NetBSD
41.1Schuck#
51.1Schuck# This makefile is constructed from a machine description:
61.1Schuck#	config machineid
71.1Schuck# Most changes should be made in the machine description
81.1Schuck#	/sys/arch/mvme68k/conf/``machineid''
91.1Schuck# after which you should do
101.6Smycroft#	config machineid
111.1Schuck# Machine generic makefile changes should be made in
121.1Schuck#	/sys/arch/mvme68k/conf/Makefile.mvme68k
131.1Schuck# after which config should be rerun for all machines of that type.
141.55Satatat#
151.55Satatat# To specify debugging, add the config line: makeoptions DEBUG="-g"
161.55Satatat# A better way is to specify -g only for a few files.
171.55Satatat#
181.55Satatat#	makeoptions DEBUGLIST="uvm* trap if_*"
191.52Sthorpej
201.52SthorpejMACHINE_ARCH=m68k
211.53SjmcUSETOOLS?=	no
221.55SatatatNEED_OWN_INSTALL_TARGET?=no
231.53Sjmc.include <bsd.own.mk>
241.1Schuck
251.55Satatat##
261.55Satatat## (1) port identification
271.55Satatat##
281.55SatatatMVME68K=	$S/arch/mvme68k
291.59SchristosGENASSYM_CONF=	${MVME68K}/mvme68k/genassym.cf
301.55Satatat
311.55Satatat##
321.55Satatat## (2) compile settings
331.55Satatat##
341.55SatatatCPPFLAGS+=	-Dmvme68k
351.69Sthorpej.if empty(KERNEL_OPT_M68060)
361.69Sthorpej.if empty(KERNEL_OPT_M68030)
371.49SscwCMACHFLAGS=	-m68040
381.49Sscw.else
391.49SscwCMACHFLAGS=	-m68030
401.49Sscw.endif
411.69Sthorpej.else		# M68060
421.69Sthorpej.if empty(KERNEL_OPT_M68030) && empty(KERNEL_OPT_M68040)
431.67SmrgCMACHFLAGS=	-m68060 -Wa,-march=68030 -Wa,-m68030 -Wa,-mcpu=68030 -Wa,-m68851
441.49Sscw.else
451.67SmrgCMACHFLAGS=	-m68020-60 -Wa,-m68030 -Wa,-mcpu=68030 -Wa,-m68851
461.49Sscw.endif
471.69Sthorpej.endif		# M68060
481.55SatatatCFLAGS+=	${CMACHFLAGS} -msoft-float
491.62SjoergAFLAGS+=	-x assembler-with-cpp
501.25Sthorpej
511.55Satatat##
521.55Satatat## (3) libkern and compat
531.55Satatat##
541.68SrinOPT_MODULAR=	%MODULAR%
551.1Schuck
561.55Satatat##
571.55Satatat## (4) local objects, compile rules, and dependencies
581.55Satatat##
591.55Satatat# for the Motorola 68040 Floating Point Software Product
601.1Schuck.include "$S/arch/m68k/fpsp/Makefile.inc"
611.49Sscw
621.55Satatat# for the Motorola 68060 Software Support Package
631.49Sscw.include "$S/arch/m68k/060sp/Makefile.inc"
641.1Schuck
651.66SuebayasiMD_OBJS=	locore.o
661.66SuebayasiMD_LIBS=	${FPSP}
671.55SatatatMD_CFILES=
681.55SatatatMD_SFILES=	${MVME68K}/mvme68k/locore.s
691.1Schuck
701.1Schuck
711.55Satatatlocore.o: ${MVME68K}/mvme68k/locore.s assym.h
721.55Satatat	${NORMAL_S}
731.55Satatat##
741.55Satatat## (5) link settings
751.55Satatat##
761.55SatatatLINKFORMAT=	-n
771.55SatatatTEXTADDR?=	8000
781.55Satatat
791.55Satatat##
801.55Satatat## (6) port specific target dependencies
811.55Satatat##
821.55Satatat
831.55Satatat# depend on CPU configuration
841.55Satatatlocore.o pmap.o sys_machdep.o trap.o: Makefile
851.55Satatat
861.61Sjoergcopy.o copypage.o lock_stubs.o: assym.h
871.61Sjoerg
881.55Satatat##
891.55Satatat## (7) misc settings
901.55Satatat##
911.55Satatat
921.55Satatat##
931.55Satatat## (8) config(8) generated machinery
941.55Satatat##
951.55Satatat%INCLUDES
961.13Smycroft
971.1Schuck%OBJS
981.1Schuck
991.1Schuck%CFILES
1001.1Schuck
1011.6Smycroft%SFILES
1021.6Smycroft
1031.1Schuck%LOAD
1041.1Schuck
1051.55Satatat%RULES
1061.1Schuck
1071.55Satatat##
1081.55Satatat## (9) port independent kernel machinery
1091.55Satatat##
1101.55Satatat.include "$S/conf/Makefile.kern.inc"
1111.58Sthorpej
1121.58Sthorpej##
1131.58Sthorpej## (10) Appending make options.
1141.58Sthorpej##
1151.58Sthorpej%MAKEOPTIONSAPPEND
116