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