1 1.10 jmcneill # $NetBSD: Makefile.usermode,v 1.10 2011/08/13 10:33:52 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.10 jmcneill 19 1.6 jmcneill DEFCOPTS= -O2 -fno-omit-frame-pointer 20 1.5 jmcneill CPPFLAGS+= -Dusermode 21 1.2 jmcneill CPPFLAGS.init_main.c+= -Dmain=kernmain 22 1.1 jmcneill 23 1.8 jmcneill CPPFLAGS.thunk.c+= -U_KERNEL -I/usr/include 24 1.8 jmcneill 25 1.1 jmcneill ## 26 1.1 jmcneill ## (3) libkern and compat 27 1.1 jmcneill ## 28 1.1 jmcneill KERN_AS= obj 29 1.6 jmcneill COMPAT_AS= obj 30 1.1 jmcneill 31 1.1 jmcneill ## 32 1.1 jmcneill ## (4) local objects, compile rules, and dependencies 33 1.1 jmcneill ## 34 1.8 jmcneill MD_OBJS= thunk.o 35 1.8 jmcneill MD_CFILES= ${USERMODE}/usermode/thunk.c 36 1.1 jmcneill MD_SFILES= 37 1.1 jmcneill 38 1.1 jmcneill ## 39 1.1 jmcneill ## (5) link settings 40 1.1 jmcneill ## 41 1.8 jmcneill SYSTEM_LD= @${_MKSHMSG} " link ${.CURDIR:T}/${.TARGET}"; \ 42 1.6 jmcneill ${_MKSHECHO}\ 43 1.10 jmcneill ${CC} ${COPTS} -Wl,-Map,$@.map -o $@ '$${SYSTEM_OBJ}' '$${EXTRA_OBJ}' vers.o ${USERMODE_LIBS}; \ 44 1.10 jmcneill ${CC} ${COPTS} -Wl,-Map,$@.map -o $@ ${SYSTEM_OBJ} ${EXTRA_OBJ} vers.o ${USERMODE_LIBS} 45 1.7 jmcneill NVFLAGS= -n 46 1.1 jmcneill 47 1.1 jmcneill ## 48 1.1 jmcneill ## (6) port specific target dependencies 49 1.1 jmcneill ## 50 1.1 jmcneill 51 1.9 jmcneill .if !make(obj) && !make(clean) && !make(cleandir) 52 1.9 jmcneill .BEGIN: 53 1.9 jmcneill @rm -f i386 && \ 54 1.9 jmcneill ln -s $S/arch/i386/include i386 55 1.9 jmcneill .endif 56 1.9 jmcneill 57 1.8 jmcneill thunk.o: ${USERMODE}/usermode/thunk.c 58 1.8 jmcneill ${CC} ${COPTS} -I${.CURDIR} -c -o $@ ${USERMODE}/usermode/thunk.c 59 1.8 jmcneill 60 1.1 jmcneill ## 61 1.1 jmcneill ## (7) misc settings 62 1.1 jmcneill ## 63 1.1 jmcneill 64 1.1 jmcneill ## 65 1.1 jmcneill ## (8) config(8) generated machinery 66 1.1 jmcneill %INCLUDES 67 1.1 jmcneill 68 1.1 jmcneill %OBJS 69 1.1 jmcneill 70 1.1 jmcneill %CFILES 71 1.1 jmcneill 72 1.1 jmcneill %SFILES 73 1.1 jmcneill 74 1.1 jmcneill %LOAD 75 1.1 jmcneill 76 1.1 jmcneill %RULES 77 1.1 jmcneill 78 1.1 jmcneill ## 79 1.1 jmcneill ## (9) port independent kernel machinery 80 1.1 jmcneill ## 81 1.1 jmcneill .include "$S/conf/Makefile.kern.inc" 82 1.1 jmcneill 83 1.1 jmcneill ## 84 1.1 jmcneill ## (10) appending make options 85 1.1 jmcneill ## 86 1.1 jmcneill %MAKEOPTIONSAPPEND 87