Makefile.usermode revision 1.14
11.14Sjmcneill# $NetBSD: Makefile.usermode,v 1.14 2011/08/25 11:06:29 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.14Sjmcneill.if !empty(OPT_SDL)
271.14SjmcneillSDL_CFLAGS!=	sdl-config --cflags
281.14SjmcneillSDL_LIBS!=	sdl-config --libs
291.14SjmcneillUSERMODE_LIBS+=	-Wl,-Bdynamic ${SDL_LIBS}
301.14Sjmcneill.endif
311.14Sjmcneill
321.14SjmcneillCPPFLAGS.thunk.c+=	${USERMODE_CPPFLAGS}
331.14SjmcneillCPPFLAGS.thunk_sdl.c+=	${SDL_CFLAGS} ${USERMODE_CPPFLAGS}
341.8Sjmcneill
351.1Sjmcneill##
361.1Sjmcneill## (3) libkern and compat
371.1Sjmcneill##
381.1SjmcneillKERN_AS=	obj
391.6SjmcneillCOMPAT_AS=	obj
401.1Sjmcneill
411.1Sjmcneill##
421.1Sjmcneill## (4) local objects, compile rules, and dependencies
431.1Sjmcneill##
441.8SjmcneillMD_OBJS=	thunk.o
451.8SjmcneillMD_CFILES=	${USERMODE}/usermode/thunk.c
461.14Sjmcneill.if !empty(OPT_SDL)
471.14SjmcneillMD_OBJS+=	thunk_sdl.o
481.14SjmcneillMD_CFILES+=	${USERMODE}/usermode/thunk_sdl.c
491.14Sjmcneill.endif
501.1SjmcneillMD_SFILES=
511.1Sjmcneill
521.1Sjmcneill##
531.1Sjmcneill## (5) link settings
541.1Sjmcneill##
551.8SjmcneillSYSTEM_LD=	@${_MKSHMSG} "   link  ${.CURDIR:T}/${.TARGET}"; \
561.6Sjmcneill		${_MKSHECHO}\
571.11Sreinoud		${CC} ${COPTS} -Wl,-Map,$@.map,-Bstatic -o $@ '$${SYSTEM_OBJ}' '$${EXTRA_OBJ}' vers.o ${USERMODE_LIBS}; \
581.11Sreinoud		${CC} ${COPTS} -Wl,-Map,$@.map,-Bstatic -o $@ ${SYSTEM_OBJ} ${EXTRA_OBJ} vers.o ${USERMODE_LIBS}
591.7SjmcneillNVFLAGS=	-n
601.1Sjmcneill
611.1Sjmcneill##
621.1Sjmcneill## (6) port specific target dependencies
631.1Sjmcneill##
641.1Sjmcneill
651.9Sjmcneill.if !make(obj) && !make(clean) && !make(cleandir)
661.9Sjmcneill.BEGIN:
671.9Sjmcneill	@rm -f i386 && \
681.9Sjmcneill		ln -s $S/arch/i386/include i386
691.9Sjmcneill.endif
701.9Sjmcneill
711.8Sjmcneillthunk.o: ${USERMODE}/usermode/thunk.c
721.13Sjmcneill	${CC} ${CPPFLAGS.thunk.c} -c -o $@ ${USERMODE}/usermode/thunk.c
731.8Sjmcneill
741.14Sjmcneillthunk_sdl.o: ${USERMODE}/usermode/thunk_sdl.c
751.14Sjmcneill	${CC} ${CPPFLAGS.thunk_sdl.c} -c -o $@ ${USERMODE}/usermode/thunk_sdl.c
761.14Sjmcneill
771.1Sjmcneill##
781.1Sjmcneill## (7) misc settings
791.1Sjmcneill##
801.1Sjmcneill
811.1Sjmcneill##
821.1Sjmcneill## (8) config(8) generated machinery
831.1Sjmcneill%INCLUDES
841.1Sjmcneill
851.1Sjmcneill%OBJS
861.1Sjmcneill
871.1Sjmcneill%CFILES
881.1Sjmcneill
891.1Sjmcneill%SFILES
901.1Sjmcneill
911.1Sjmcneill%LOAD
921.1Sjmcneill
931.1Sjmcneill%RULES
941.1Sjmcneill
951.1Sjmcneill##
961.1Sjmcneill## (9) port independent kernel machinery
971.1Sjmcneill##
981.1Sjmcneill.include "$S/conf/Makefile.kern.inc"
991.1Sjmcneill
1001.1Sjmcneill##
1011.1Sjmcneill## (10) appending make options
1021.1Sjmcneill##
1031.1Sjmcneill%MAKEOPTIONSAPPEND
104