Makefile.usermode revision 1.16
11.16Sjmcneill# $NetBSD: Makefile.usermode,v 1.16 2011/09/03 12:28:45 jmcneill Exp $ 21.1Sjmcneill 31.1SjmcneillMACHINE_ARCH= usermode 41.1SjmcneillUSETOOLS?= no 51.1SjmcneillNEED_OWN_INSTALL_TARGET?= no 61.1Sjmcneill.include <bsd.own.mk> 71.1Sjmcneill 81.1Sjmcneill## 91.1Sjmcneill## (1) port identification 101.1Sjmcneill## 111.1SjmcneillUSERMODE= $S/arch/usermode 121.1SjmcneillGENASSYM_CONF= ${USERMODE}/usermode/genassym.cf 131.1Sjmcneill 141.1Sjmcneill## 151.1Sjmcneill## (2) compile settings 161.1Sjmcneill## 171.10SjmcneillUSERMODE_LIBS= -lrt 181.14SjmcneillUSERMODE_CPPFLAGS=-U_KERNEL -I/usr/include 191.14SjmcneillUSERMODE_CPPFLAGS+=${CWARNFLAGS} ${NOGCCERROR:D:U-Werror} 201.10Sjmcneill 211.12SreinoudDEFCOPTS= -fno-omit-frame-pointer 221.5SjmcneillCPPFLAGS+= -Dusermode 231.2SjmcneillCPPFLAGS.init_main.c+= -Dmain=kernmain 241.1Sjmcneill 251.14SjmcneillOPT_SDL= %SDL% 261.16SjmcneillOPT_URKELVISOR= %URKELVISOR% 271.16Sjmcneill 281.14Sjmcneill.if !empty(OPT_SDL) 291.14SjmcneillSDL_CFLAGS!= sdl-config --cflags 301.14SjmcneillSDL_LIBS!= sdl-config --libs 311.14SjmcneillUSERMODE_LIBS+= -Wl,-Bdynamic ${SDL_LIBS} 321.14Sjmcneill.endif 331.14Sjmcneill 341.14SjmcneillCPPFLAGS.thunk.c+= ${USERMODE_CPPFLAGS} 351.14SjmcneillCPPFLAGS.thunk_sdl.c+= ${SDL_CFLAGS} ${USERMODE_CPPFLAGS} 361.16SjmcneillCPPFLAGS.urkelvisor.c+= ${USERMODE_CPPFLAGS} 371.8Sjmcneill 381.1Sjmcneill## 391.1Sjmcneill## (3) libkern and compat 401.1Sjmcneill## 411.1SjmcneillKERN_AS= obj 421.6SjmcneillCOMPAT_AS= obj 431.1Sjmcneill 441.1Sjmcneill## 451.1Sjmcneill## (4) local objects, compile rules, and dependencies 461.1Sjmcneill## 471.8SjmcneillMD_OBJS= thunk.o 481.8SjmcneillMD_CFILES= ${USERMODE}/usermode/thunk.c 491.16SjmcneillMD_SFILES= 501.16Sjmcneill 511.16Sjmcneill.if !empty(OPT_URKELVISOR) 521.16SjmcneillMD_OBJS+= urkelvisor.o 531.16SjmcneillMD_CFILES+= ${USERMODE}/usermode/urkelvisor.c 541.16Sjmcneill.endif 551.16Sjmcneill 561.14Sjmcneill.if !empty(OPT_SDL) 571.14SjmcneillMD_OBJS+= thunk_sdl.o 581.14SjmcneillMD_CFILES+= ${USERMODE}/usermode/thunk_sdl.c 591.14Sjmcneill.endif 601.1Sjmcneill 611.1Sjmcneill## 621.1Sjmcneill## (5) link settings 631.1Sjmcneill## 641.8SjmcneillSYSTEM_LD= @${_MKSHMSG} " link ${.CURDIR:T}/${.TARGET}"; \ 651.6Sjmcneill ${_MKSHECHO}\ 661.11Sreinoud ${CC} ${COPTS} -Wl,-Map,$@.map,-Bstatic -o $@ '$${SYSTEM_OBJ}' '$${EXTRA_OBJ}' vers.o ${USERMODE_LIBS}; \ 671.11Sreinoud ${CC} ${COPTS} -Wl,-Map,$@.map,-Bstatic -o $@ ${SYSTEM_OBJ} ${EXTRA_OBJ} vers.o ${USERMODE_LIBS} 681.7SjmcneillNVFLAGS= -n 691.1Sjmcneill 701.1Sjmcneill## 711.1Sjmcneill## (6) port specific target dependencies 721.1Sjmcneill## 731.1Sjmcneill 741.9Sjmcneill.if !make(obj) && !make(clean) && !make(cleandir) 751.9Sjmcneill.BEGIN: 761.9Sjmcneill @rm -f i386 && \ 771.9Sjmcneill ln -s $S/arch/i386/include i386 781.9Sjmcneill.endif 791.9Sjmcneill 801.15Sjmcneillthunk.d: ${USERMODE}/usermode/thunk.c 811.15Sjmcneill ${MKDEP} -f ${.TARGET} -- ${MKDEP_CFLAGS} \ 821.15Sjmcneill ${CPPFLAGS.thunk.c} ${USERMODE}/usermode/thunk.c 831.15Sjmcneill 841.8Sjmcneillthunk.o: ${USERMODE}/usermode/thunk.c 851.13Sjmcneill ${CC} ${CPPFLAGS.thunk.c} -c -o $@ ${USERMODE}/usermode/thunk.c 861.8Sjmcneill 871.15Sjmcneillthunk_sdl.d: ${USERMODE}/usermode/thunk.c 881.15Sjmcneill ${MKDEP} -f ${.TARGET} -- ${MKDEP_CFLAGS} \ 891.15Sjmcneill ${CPPFLAGS.thunk_sdl.c} ${USERMODE}/usermode/thunk_sdl.c 901.15Sjmcneill 911.14Sjmcneillthunk_sdl.o: ${USERMODE}/usermode/thunk_sdl.c 921.14Sjmcneill ${CC} ${CPPFLAGS.thunk_sdl.c} -c -o $@ ${USERMODE}/usermode/thunk_sdl.c 931.14Sjmcneill 941.16Sjmcneillurkelvisor.d: ${USERMODE}/usermode/urkelvisor.c 951.16Sjmcneill ${MKDEP} -f ${.TARGET} -- ${MKDEP_CFLAGS} \ 961.16Sjmcneill ${CPPFLAGS.urkelvisor.c} ${USERMODE}/usermode/urkelvisor.c 971.16Sjmcneill 981.16Sjmcneillurkelvisor.o: ${USERMODE}/usermode/urkelvisor.c 991.16Sjmcneill ${CC} ${CPPFLAGS.urkelvisor.c} -c -o $@ ${USERMODE}/usermode/urkelvisor.c 1001.16Sjmcneill 1011.1Sjmcneill## 1021.1Sjmcneill## (7) misc settings 1031.1Sjmcneill## 1041.1Sjmcneill 1051.1Sjmcneill## 1061.1Sjmcneill## (8) config(8) generated machinery 1071.1Sjmcneill%INCLUDES 1081.1Sjmcneill 1091.1Sjmcneill%OBJS 1101.1Sjmcneill 1111.1Sjmcneill%CFILES 1121.1Sjmcneill 1131.1Sjmcneill%SFILES 1141.1Sjmcneill 1151.1Sjmcneill%LOAD 1161.1Sjmcneill 1171.1Sjmcneill%RULES 1181.1Sjmcneill 1191.1Sjmcneill## 1201.1Sjmcneill## (9) port independent kernel machinery 1211.1Sjmcneill## 1221.1Sjmcneill.include "$S/conf/Makefile.kern.inc" 1231.1Sjmcneill 1241.1Sjmcneill## 1251.1Sjmcneill## (10) appending make options 1261.1Sjmcneill## 1271.1Sjmcneill%MAKEOPTIONSAPPEND 128