Makefile.sun2 revision 1.26
11.26Smrg# $NetBSD: Makefile.sun2,v 1.26 2020/09/08 00:51:29 mrg Exp $
21.1Sfredette
31.1Sfredette# Makefile for NetBSD
41.1Sfredette#
51.1Sfredette# This makefile is constructed from a machine description:
61.1Sfredette#	config machineid
71.1Sfredette# Most changes should be made in the machine description
81.1Sfredette#	/sys/arch/sun2/conf/``machineid''
91.1Sfredette# after which you should do
101.1Sfredette#	config machineid
111.1Sfredette# Machine generic makefile changes should be made in
121.1Sfredette#	/sys/arch/sun2/conf/Makefile.sun2
131.1Sfredette# after which config should be rerun for all machines of that type.
141.1Sfredette#
151.11Sfredette# To specify debugging, add the config line: makeoptions DEBUG="-g"
161.11Sfredette# A better way is to specify -g only for a few files.
171.1Sfredette#
181.11Sfredette#	makeoptions DEBUGLIST="uvm* trap if_*"
191.1Sfredette
201.14SchsMACHINE_ARCH=m68000
211.7SjmcUSETOOLS?=	no
221.11SfredetteNEED_OWN_INSTALL_TARGET?=no
231.7Sjmc.include <bsd.own.mk>
241.6Sthorpej
251.11Sfredette##
261.11Sfredette## (1) port identification
271.11Sfredette##
281.11SfredetteSUN2=		$S/arch/sun2
291.17SchristosGENASSYM_CONF=	${SUN2}/sun2/genassym.cf
301.11Sfredette
311.11Sfredette##
321.11Sfredette## (2) compile settings
331.11Sfredette##
341.12SthorpejCPPFLAGS+=	-Dsun2
351.11SfredetteCFLAGS+=	-msoft-float -fno-defer-pop
361.20SjoergAFLAGS+=	-x assembler-with-cpp
371.1Sfredette
381.25Srin# XXX
391.26SmrgCOPTS+=		${${ACTIVE_CC} == "gcc" && ${HAVE_GCC:U0} >= 8:? -fno-omit-frame-pointer :}
401.26SmrgCOPTS.promlib.c+=${${ACTIVE_CC} == "gcc" && ${HAVE_GCC:U0} >= 9:? -Wno-error=array-bounds :}
411.25Srin
421.11Sfredette##
431.11Sfredette## (3) libkern and compat
441.11Sfredette##
451.22SmayaOPT_MODULAR=	%MODULAR%
461.4Sfredette# XXX lib/libkern/arch/m68k/Makefile.inc needs to know that
471.4Sfredette# XXX our MACHINE_ARCH is m68000, and not m68k.  --fredette
481.2SfredetteKERNMISCMAKEFLAGS=	MACHINE_ARCH=${MACHINE_ARCH}
491.1Sfredette
501.11Sfredette##
511.11Sfredette## (4) local objects, compile rules, and dependencies
521.11Sfredette##
531.11SfredetteMD_OBJS=	locore.o
541.11SfredetteMD_CFILES=
551.11SfredetteMD_SFILES=	${SUN2}/sun2/locore.s
561.1Sfredette
571.11Sfredettelocore.o: ${SUN2}/sun2/locore.s
581.11Sfredette	${NORMAL_S}
591.1Sfredette
601.11Sfredette##
611.11Sfredette## (5) link settings
621.11Sfredette##
631.11SfredetteLINKFORMAT=	-N
641.11SfredetteTEXTADDR?=	00006000
651.11Sfredette
661.11Sfredette##
671.11Sfredette## (6) port specific target dependencies
681.11Sfredette##
691.1Sfredette
701.1Sfredette# For cross-compilation, the "gcc -M" mkdep script is convenient,
711.1Sfredette# but that does not correctly make rules from *.s files.  The
721.1Sfredette# easiest work-around is to just list those dependencies here.
731.1Sfredettelocore.o:   assym.h m68k/asm.h m68k/trap.h
741.1Sfredettecopy.o:     assym.h m68k/asm.h $S/sys/errno.h
751.1Sfredettebcopy.o:    assym.h m68k/asm.h
761.1Sfredettecopypage.o: assym.h m68k/asm.h
771.19Sjoerglock_stubs.o: assym.h
781.1Sfredette
791.9Slukem# depend on CPU configuration
801.1Sfredettedb_machdep.o dvma.o machdep.o pmap.o sun2_startup.o vm_machdep.o: Makefile
811.1Sfredette
821.1Sfredette# depends on DDB, etc.
831.1Sfredettestub.o: Makefile
841.1Sfredette
851.11Sfredette##
861.11Sfredette## (7) misc settings
871.11Sfredette##
881.11Sfredette
891.11Sfredette##
901.11Sfredette## (8) config(8) generated machinery
911.11Sfredette##
921.11Sfredette%INCLUDES
931.11Sfredette
941.11Sfredette%OBJS
951.11Sfredette
961.11Sfredette%CFILES
971.1Sfredette
981.11Sfredette%SFILES
991.1Sfredette
1001.11Sfredette%LOAD
1011.1Sfredette
1021.1Sfredette%RULES
1031.11Sfredette
1041.11Sfredette##
1051.11Sfredette## (9) port independent kernel machinery
1061.11Sfredette##
1071.11Sfredette.include "$S/conf/Makefile.kern.inc"
1081.16Sthorpej
1091.16Sthorpej##
1101.16Sthorpej## (10) Appending make options.
1111.16Sthorpej##
1121.16Sthorpej%MAKEOPTIONSAPPEND
113