Makefile.usermode revision 1.15
11.15Sjmcneill# $NetBSD: Makefile.usermode,v 1.15 2011/08/28 23:16:18 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.15Sjmcneillthunk.d: ${USERMODE}/usermode/thunk.c
721.15Sjmcneill	${MKDEP} -f ${.TARGET} -- ${MKDEP_CFLAGS} \
731.15Sjmcneill	    ${CPPFLAGS.thunk.c} ${USERMODE}/usermode/thunk.c
741.15Sjmcneill
751.8Sjmcneillthunk.o: ${USERMODE}/usermode/thunk.c
761.13Sjmcneill	${CC} ${CPPFLAGS.thunk.c} -c -o $@ ${USERMODE}/usermode/thunk.c
771.8Sjmcneill
781.15Sjmcneillthunk_sdl.d: ${USERMODE}/usermode/thunk.c
791.15Sjmcneill	${MKDEP} -f ${.TARGET} -- ${MKDEP_CFLAGS} \
801.15Sjmcneill	    ${CPPFLAGS.thunk_sdl.c} ${USERMODE}/usermode/thunk_sdl.c
811.15Sjmcneill
821.14Sjmcneillthunk_sdl.o: ${USERMODE}/usermode/thunk_sdl.c
831.14Sjmcneill	${CC} ${CPPFLAGS.thunk_sdl.c} -c -o $@ ${USERMODE}/usermode/thunk_sdl.c
841.14Sjmcneill
851.1Sjmcneill##
861.1Sjmcneill## (7) misc settings
871.1Sjmcneill##
881.1Sjmcneill
891.1Sjmcneill##
901.1Sjmcneill## (8) config(8) generated machinery
911.1Sjmcneill%INCLUDES
921.1Sjmcneill
931.1Sjmcneill%OBJS
941.1Sjmcneill
951.1Sjmcneill%CFILES
961.1Sjmcneill
971.1Sjmcneill%SFILES
981.1Sjmcneill
991.1Sjmcneill%LOAD
1001.1Sjmcneill
1011.1Sjmcneill%RULES
1021.1Sjmcneill
1031.1Sjmcneill##
1041.1Sjmcneill## (9) port independent kernel machinery
1051.1Sjmcneill##
1061.1Sjmcneill.include "$S/conf/Makefile.kern.inc"
1071.1Sjmcneill
1081.1Sjmcneill##
1091.1Sjmcneill## (10) appending make options
1101.1Sjmcneill##
1111.1Sjmcneill%MAKEOPTIONSAPPEND
112