Makefile.usermode revision 1.15 1 1.15 jmcneill # $NetBSD: Makefile.usermode,v 1.15 2011/08/28 23:16:18 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.15 jmcneill thunk.d: ${USERMODE}/usermode/thunk.c
72 1.15 jmcneill ${MKDEP} -f ${.TARGET} -- ${MKDEP_CFLAGS} \
73 1.15 jmcneill ${CPPFLAGS.thunk.c} ${USERMODE}/usermode/thunk.c
74 1.15 jmcneill
75 1.8 jmcneill thunk.o: ${USERMODE}/usermode/thunk.c
76 1.13 jmcneill ${CC} ${CPPFLAGS.thunk.c} -c -o $@ ${USERMODE}/usermode/thunk.c
77 1.8 jmcneill
78 1.15 jmcneill thunk_sdl.d: ${USERMODE}/usermode/thunk.c
79 1.15 jmcneill ${MKDEP} -f ${.TARGET} -- ${MKDEP_CFLAGS} \
80 1.15 jmcneill ${CPPFLAGS.thunk_sdl.c} ${USERMODE}/usermode/thunk_sdl.c
81 1.15 jmcneill
82 1.14 jmcneill thunk_sdl.o: ${USERMODE}/usermode/thunk_sdl.c
83 1.14 jmcneill ${CC} ${CPPFLAGS.thunk_sdl.c} -c -o $@ ${USERMODE}/usermode/thunk_sdl.c
84 1.14 jmcneill
85 1.1 jmcneill ##
86 1.1 jmcneill ## (7) misc settings
87 1.1 jmcneill ##
88 1.1 jmcneill
89 1.1 jmcneill ##
90 1.1 jmcneill ## (8) config(8) generated machinery
91 1.1 jmcneill %INCLUDES
92 1.1 jmcneill
93 1.1 jmcneill %OBJS
94 1.1 jmcneill
95 1.1 jmcneill %CFILES
96 1.1 jmcneill
97 1.1 jmcneill %SFILES
98 1.1 jmcneill
99 1.1 jmcneill %LOAD
100 1.1 jmcneill
101 1.1 jmcneill %RULES
102 1.1 jmcneill
103 1.1 jmcneill ##
104 1.1 jmcneill ## (9) port independent kernel machinery
105 1.1 jmcneill ##
106 1.1 jmcneill .include "$S/conf/Makefile.kern.inc"
107 1.1 jmcneill
108 1.1 jmcneill ##
109 1.1 jmcneill ## (10) appending make options
110 1.1 jmcneill ##
111 1.1 jmcneill %MAKEOPTIONSAPPEND
112