Makefile.usermode revision 1.14 1 1.14 jmcneill # $NetBSD: Makefile.usermode,v 1.14 2011/08/25 11:06:29 jmcneill Exp $
2 1.1 jmcneill
3 1.1 jmcneill MACHINE_ARCH= usermode
4 1.1 jmcneill USETOOLS?= no
5 1.1 jmcneill NEED_OWN_INSTALL_TARGET?= no
6 1.1 jmcneill .include <bsd.own.mk>
7 1.1 jmcneill
8 1.1 jmcneill ##
9 1.1 jmcneill ## (1) port identification
10 1.1 jmcneill ##
11 1.1 jmcneill USERMODE= $S/arch/usermode
12 1.1 jmcneill GENASSYM_CONF= ${USERMODE}/usermode/genassym.cf
13 1.1 jmcneill
14 1.1 jmcneill ##
15 1.1 jmcneill ## (2) compile settings
16 1.1 jmcneill ##
17 1.10 jmcneill USERMODE_LIBS= -lrt
18 1.14 jmcneill USERMODE_CPPFLAGS=-U_KERNEL -I/usr/include
19 1.14 jmcneill USERMODE_CPPFLAGS+=${CWARNFLAGS} ${NOGCCERROR:D:U-Werror}
20 1.10 jmcneill
21 1.12 reinoud DEFCOPTS= -fno-omit-frame-pointer
22 1.5 jmcneill CPPFLAGS+= -Dusermode
23 1.2 jmcneill CPPFLAGS.init_main.c+= -Dmain=kernmain
24 1.1 jmcneill
25 1.14 jmcneill OPT_SDL= %SDL%
26 1.14 jmcneill .if !empty(OPT_SDL)
27 1.14 jmcneill SDL_CFLAGS!= sdl-config --cflags
28 1.14 jmcneill SDL_LIBS!= sdl-config --libs
29 1.14 jmcneill USERMODE_LIBS+= -Wl,-Bdynamic ${SDL_LIBS}
30 1.14 jmcneill .endif
31 1.14 jmcneill
32 1.14 jmcneill CPPFLAGS.thunk.c+= ${USERMODE_CPPFLAGS}
33 1.14 jmcneill CPPFLAGS.thunk_sdl.c+= ${SDL_CFLAGS} ${USERMODE_CPPFLAGS}
34 1.8 jmcneill
35 1.1 jmcneill ##
36 1.1 jmcneill ## (3) libkern and compat
37 1.1 jmcneill ##
38 1.1 jmcneill KERN_AS= obj
39 1.6 jmcneill COMPAT_AS= obj
40 1.1 jmcneill
41 1.1 jmcneill ##
42 1.1 jmcneill ## (4) local objects, compile rules, and dependencies
43 1.1 jmcneill ##
44 1.8 jmcneill MD_OBJS= thunk.o
45 1.8 jmcneill MD_CFILES= ${USERMODE}/usermode/thunk.c
46 1.14 jmcneill .if !empty(OPT_SDL)
47 1.14 jmcneill MD_OBJS+= thunk_sdl.o
48 1.14 jmcneill MD_CFILES+= ${USERMODE}/usermode/thunk_sdl.c
49 1.14 jmcneill .endif
50 1.1 jmcneill MD_SFILES=
51 1.1 jmcneill
52 1.1 jmcneill ##
53 1.1 jmcneill ## (5) link settings
54 1.1 jmcneill ##
55 1.8 jmcneill SYSTEM_LD= @${_MKSHMSG} " link ${.CURDIR:T}/${.TARGET}"; \
56 1.6 jmcneill ${_MKSHECHO}\
57 1.11 reinoud ${CC} ${COPTS} -Wl,-Map,$@.map,-Bstatic -o $@ '$${SYSTEM_OBJ}' '$${EXTRA_OBJ}' vers.o ${USERMODE_LIBS}; \
58 1.11 reinoud ${CC} ${COPTS} -Wl,-Map,$@.map,-Bstatic -o $@ ${SYSTEM_OBJ} ${EXTRA_OBJ} vers.o ${USERMODE_LIBS}
59 1.7 jmcneill NVFLAGS= -n
60 1.1 jmcneill
61 1.1 jmcneill ##
62 1.1 jmcneill ## (6) port specific target dependencies
63 1.1 jmcneill ##
64 1.1 jmcneill
65 1.9 jmcneill .if !make(obj) && !make(clean) && !make(cleandir)
66 1.9 jmcneill .BEGIN:
67 1.9 jmcneill @rm -f i386 && \
68 1.9 jmcneill ln -s $S/arch/i386/include i386
69 1.9 jmcneill .endif
70 1.9 jmcneill
71 1.8 jmcneill thunk.o: ${USERMODE}/usermode/thunk.c
72 1.13 jmcneill ${CC} ${CPPFLAGS.thunk.c} -c -o $@ ${USERMODE}/usermode/thunk.c
73 1.8 jmcneill
74 1.14 jmcneill thunk_sdl.o: ${USERMODE}/usermode/thunk_sdl.c
75 1.14 jmcneill ${CC} ${CPPFLAGS.thunk_sdl.c} -c -o $@ ${USERMODE}/usermode/thunk_sdl.c
76 1.14 jmcneill
77 1.1 jmcneill ##
78 1.1 jmcneill ## (7) misc settings
79 1.1 jmcneill ##
80 1.1 jmcneill
81 1.1 jmcneill ##
82 1.1 jmcneill ## (8) config(8) generated machinery
83 1.1 jmcneill %INCLUDES
84 1.1 jmcneill
85 1.1 jmcneill %OBJS
86 1.1 jmcneill
87 1.1 jmcneill %CFILES
88 1.1 jmcneill
89 1.1 jmcneill %SFILES
90 1.1 jmcneill
91 1.1 jmcneill %LOAD
92 1.1 jmcneill
93 1.1 jmcneill %RULES
94 1.1 jmcneill
95 1.1 jmcneill ##
96 1.1 jmcneill ## (9) port independent kernel machinery
97 1.1 jmcneill ##
98 1.1 jmcneill .include "$S/conf/Makefile.kern.inc"
99 1.1 jmcneill
100 1.1 jmcneill ##
101 1.1 jmcneill ## (10) appending make options
102 1.1 jmcneill ##
103 1.1 jmcneill %MAKEOPTIONSAPPEND
104