Makefile.sun3 revision 1.107
1# $NetBSD: Makefile.sun3,v 1.107 2018/03/07 15:02:36 maya Exp $
2
3# Makefile for NetBSD
4#
5# This makefile is constructed from a machine description:
6#	config machineid
7# Most changes should be made in the machine description
8#	/sys/arch/sun3/conf/``machineid''
9# after which you should do
10#	config machineid
11# Machine generic makefile changes should be made in
12#	/sys/arch/sun3/conf/Makefile.sun3
13# after which config should be rerun for all machines of that type.
14#
15# To specify debugging, add the config line: makeoptions DEBUG="-g"
16# A better way is to specify -g only for a few files.
17#
18#	makeoptions DEBUGLIST="uvm* trap if_*"
19
20MACHINE_ARCH=m68k
21USETOOLS?=	no
22NEED_OWN_INSTALL_TARGET?=no
23.include <bsd.own.mk>
24
25##
26## (1) port identification
27##
28SUN3=		$S/arch/sun3
29GENASSYM_CONF=	${SUN3}/${MACHTYPE}/genassym.cf
30
31##
32## (2) compile settings
33##
34CPPFLAGS+=	-Dsun3
35CFLAGS+=	${CMACHFLAGS} -fno-defer-pop
36CFLAGS+=	-msoft-float
37AFLAGS+=	-x assembler-with-cpp
38
39##
40## (3) libkern and compat
41##
42OPT_MODULAR=   %MODULAR%
43.if !empty(OPT_MODULAR)
44KERN_AS=	obj
45COMPAT_AS=	obj
46.else
47KERN_AS=	library
48COMPAT_AS=	library
49.endif
50
51##
52## (4) local objects, compile rules, and dependencies
53##
54MD_OBJS=	locore.o
55MD_CFILES=
56MD_SFILES=	${SUN3}/${MACHTYPE}/locore.s
57
58locore.o: ${SUN3}/${MACHTYPE}/locore.s
59	${NORMAL_S}
60
61.include "$S/arch/m68k/conf/Makefile.kern.m68k.inc"
62
63##
64## (5) link settings
65##
66.if ${MACHTYPE} == "sun3x"
67TEXTADDR?=	F8004000
68.else
69TEXTADDR?=	0E004000
70.endif
71LINKFORMAT=	-N
72
73##
74## (6) port specific target dependencies
75##
76
77# For cross-compilation, the "gcc -M" mkdep script is convenient,
78# but that does not correctly make rules from *.s files.  The
79# easiest work-around is to just list those dependencies here.
80locore.o:   assym.h m68k/asm.h m68k/trap.h
81copy.o:     assym.h m68k/asm.h $S/sys/errno.h
82bcopy.o:    assym.h m68k/asm.h
83copypage.o: assym.h m68k/asm.h
84lock_stubs.o: assym.h
85
86# depend on CPU configuration
87db_machdep.o dvma.o machdep.o pmap.o sun3_startup.o vm_machdep.o: Makefile
88
89# depends on DDB, etc.
90stub.o: Makefile
91
92##
93## (7) misc settings
94##
95
96##
97## (8) config(8) generated machinery
98##
99%INCLUDES
100
101%OBJS
102
103%CFILES
104
105%SFILES
106
107%LOAD
108
109%RULES
110
111##
112## (9) port independent kernel machinery
113##
114.include "$S/conf/Makefile.kern.inc"
115
116##
117## (10) Appending make options.
118##
119%MAKEOPTIONSAPPEND
120