Home | History | Annotate | Line # | Download | only in mk
bsd.x11.mk revision 1.30
      1 #	$NetBSD: bsd.x11.mk,v 1.30 2004/02/11 11:28:17 rtr Exp $
      2 
      3 .include <bsd.init.mk>
      4 
      5 
      6 BINDIR=			${X11BINDIR}
      7 LIBDIR=			${X11USRLIBDIR}
      8 MANDIR=			${X11MANDIR}
      9 
     10 X11FLAGS.VERSION=	-DOSMAJORVERSION=1 -DOSMINORVERSION=6		# XXX
     11 
     12 #	 THREADS_DEFINES
     13 X11FLAGS.THREADS=	-DXTHREADS -D_REENTRANT -DXUSE_MTSAFE_API \
     14 			-DXNO_MTSAFE_PWDAPI
     15 
     16 #	 THREADS_DEFINES for libraries
     17 X11FLAGS.THREADLIB=	${X11FLAGS.THREADS} -DUSE_NBSD_THREADLIB
     18 
     19 #	 CONNECTION_FLAGS
     20 X11FLAGS.CONNECTION=	-DTCPCONN -DUNIXCONN -DHAS_STICKY_DIR_BIT -DHAS_FCHOWN
     21 
     22 #	 EXT_DEFINES
     23 X11FLAGS.EXTENSION=	-DMITMISC -DXTEST -DXTRAP -DXSYNC -DXCMISC -DXRECORD \
     24 			-DMITSHM -DBIGREQS -DXF86MISC -DDBE -DDPMSExtension \
     25 			-DEVI -DSCREENSAVER -DXV -DXVMC -DGLXEXT \
     26 			-DGLX_USE_MESA -DFONTCACHE -DRES
     27 
     28 #	 ServerDefines
     29 X11FLAGS.SERVER=	-DSHAPE -DXKB -DLBX -DXAPPGROUP -DXCSECURITY \
     30 			-DTOGCUP -DXF86BIGFONT -DDPMSExtension -DPIXPRIV \
     31 			-DPANORAMIX -DRENDER -DRANDR -DGCCUSESGAS \
     32 			-DAVOID_GLYPHBLT -DSINGLEDEPTH -DXvExtension \
     33 			-DXFree86Server -DXvMCExtension -DSMART_SCHEDULE \
     34 			-DBUILDDEBUG -DXResExtension -DNDEBUG
     35 
     36 #	 OS_DEFINES
     37 X11FLAGS.OS_DEFINES=	-DDDXOSINIT -DSERVER_LOCK -DDDXOSFATALERROR \
     38 			-DDDXOSVERRORF -DDDXTIME
     39 
     40 .if !(${MACHINE} == "acorn32"	|| \
     41     ${MACHINE} == "alpha"	|| \
     42     ${MACHINE} == "amiga"	|| \
     43     ${MACHINE} == "pmax"	|| \
     44     ${MACHINE} == "sparc"	|| \
     45     ${MACHINE} == "vax")
     46 #	EXT_DEFINES
     47 X11FLAGS.EXTENSION+=	-DXF86VIDMODE
     48 
     49 #	ServerDefines
     50 X11FLAGS.SERVER+=	-DXINPUT -DXFreeXDGA -DXF86VIDMODE
     51 .endif
     52 
     53 .if ${MACHINE_ARCH} == "alpha"	|| \
     54     ${MACHINE_ARCH} == "sparc64" || \
     55     ${MACHINE_ARCH} == "x86_64"
     56 #	ServerDefines
     57 X11FLAGS.SERVER+=	-D_XSERVER64
     58 X11FLAGS.EXTENSION+=	-D__GLX_ALIGN64
     59 .endif
     60 
     61 .if ${MACHINE} == "amd64"	|| \
     62     ${MACHINE} == "cats"	|| \
     63     ${MACHINE} == "i386"	|| \
     64     ${MACHINE} == "macppc"
     65 #	LOADABLE
     66 X11FLAGS.LOADABLE=	-DXFree86LOADER -DIN_MODULE -DXFree86Module
     67 .endif
     68 
     69 # Extract X11VERSION
     70 PRINTX11VERSION=awk '/^\#define XF86_VERSION_MAJOR/ {major = $$3} \
     71 		     /^\#define XF86_VERSION_MINOR/ {minor = $$3} \
     72 		     /^\#define XF86_VERSION_PATCH/ {patch = $$3} \
     73 		     /^\#define XF86_VERSION_SNAP/ {snap = $$3} \
     74 		     END { print "((("major") * 10000000) + (("minor") * 100000) + (("patch") * 1000) + "snap")"}' \
     75 		     ${X11SRCDIR.xc}/programs/Xserver/hw/xfree86/xf86Version.h
     76 
     77 # Commandline to convert 'XCOMM' comments to #
     78 #
     79 X11TOOL_UNXCOMM=	sed -e '/^\#  *[0-9][0-9]*  *.*$$/d' \
     80 			    -e '/^XCOMM$$/s//\#/' \
     81 			    -e '/^XCOMM[^a-zA-Z0-9_]/s/^XCOMM/\#/'
     82 
     83 
     84 CPPFLAGS+=		-DCSRG_BASED -DFUNCPROTO=15 -DNARROWPROTO
     85 CPPFLAGS+=		-I${DESTDIR}${X11INCDIR}
     86 
     87 LDFLAGS+=		-Wl,-rpath-link,${DESTDIR}${X11USRLIBDIR} \
     88 			-R${X11USRLIBDIR} \
     89 			-L${DESTDIR}${X11USRLIBDIR}
     90 
     91 
     92 #
     93 # .cpp -> "" handling
     94 # CPPSCRIPTS		list of files/scripts to run through cpp
     95 # CPPSCRIPTFLAGS	extra flags to ${CPP}
     96 # CPPSCRIPTFLAGS_fn	extra flags to ${CPP} for file `fn'
     97 #
     98 .if defined(CPPSCRIPTS)						# {
     99 .SUFFIXES:	.cpp
    100 
    101 .cpp:
    102 	${_MKTARGET_CREATE}
    103 	rm -f ${.TARGET}
    104 	${CPP} -undef -traditional \
    105 	    ${CPPSCRIPTFLAGS_${.TARGET}:U${CPPSCRIPTFLAGS}} \
    106 	    < ${.IMPSRC} | ${X11TOOL_UNXCOMM} > ${.TARGET}
    107 
    108 realall: ${CPPSCRIPTS}
    109 
    110 clean: cleancppscripts
    111 cleancppscripts: .PHONY
    112 	rm -f ${CPPSCRIPTS}
    113 .endif								# }
    114 
    115 
    116 #
    117 # APPDEFS (app defaults) handling
    118 #
    119 .if defined(APPDEFS)						# {
    120 appdefsinstall:: .PHONY ${APPDEFS:@S@${DESTDIR}${X11LIBDIR}/app-defaults/${S:T:R}@}
    121 .PRECIOUS:	${APPDEFS:@S@${DESTDIR}${X11LIBDIR}/app-defaults/${S:T:R}@}
    122 
    123 __appdefinstall: .USE
    124 	${INSTALL_FILE} -o ${BINOWN} -g ${BINGRP} -m ${NONBINMODE} \
    125 	    ${SYSPKGTAG} ${.ALLSRC} ${.TARGET}
    126 
    127 .for S in ${APPDEFS:O:u}
    128 ${DESTDIR}${X11LIBDIR}/app-defaults/${S:T:R}: ${S} __appdefinstall
    129 .endfor
    130 
    131 realinstall: appdefsinstall
    132 .endif								# }
    133 
    134 
    135 #
    136 # .man page handling
    137 #
    138 .if (${MKMAN} != "no" && (${MAN:U} != "" || ${PROG:U} != ""))	# {
    139 cleandir: cleanx11man
    140 cleanx11man: .PHONY
    141 	rm -f ${MAN:U${PROG:D${PROG.1}}}
    142 .endif								# }
    143 
    144 .SUFFIXES:	.man .1 .3 .4 .5 .7
    145 
    146 .man.1 .man.3 .man.4 .man.5 .man.7:
    147 	${_MKTARGET_CREATE}
    148 	rm -f ${.TARGET}
    149 	${CPP} -undef -traditional \
    150 	    -D__apploaddir__=${X11ROOTDIR}/lib/X11/app-defaults \
    151 	    -D__filemansuffix__=5 -D__libmansuffix__=3 \
    152 	    -D__miscmansuffix__=7 -D__drivermansuffix__=4 \
    153 	    -D__projectroot__=${X11ROOTDIR} \
    154 	    -D__xorgversion__='"Release 6.6" "X Version 11"' \
    155 	    -D__vendorversion__="XFree86 4.3.0.1" \
    156 	    ${X11EXTRAMANDEFS} \
    157 	< ${.IMPSRC} | ${X11TOOL_UNXCOMM} > ${.TARGET}
    158