1 1.162 mrg # $NetBSD: bsd.x11.mk,v 1.162 2025/06/24 05:59:45 mrg Exp $ 2 1.1 lukem 3 1.1 lukem .include <bsd.init.mk> 4 1.1 lukem 5 1.3 lukem BINDIR= ${X11BINDIR} 6 1.3 lukem LIBDIR= ${X11USRLIBDIR} 7 1.3 lukem MANDIR= ${X11MANDIR} 8 1.3 lukem 9 1.47 tron COPTS+= -fno-strict-aliasing 10 1.47 tron 11 1.80 tron .include <bsd.sys.mk> 12 1.80 tron 13 1.118 christos .if !defined(NOSSP) && (${USE_SSP:Uno} != "no") 14 1.55 tron CPPFLAGS+= -DNO_ALLOCA 15 1.55 tron .endif 16 1.55 tron 17 1.85 mrg X11FLAGS.VERSION= -DOSMAJORVERSION=5 -DOSMINORVERSION=99 # XXX 18 1.1 lukem 19 1.8 lukem # THREADS_DEFINES 20 1.1 lukem X11FLAGS.THREADS= -DXTHREADS -D_REENTRANT -DXUSE_MTSAFE_API \ 21 1.1 lukem -DXNO_MTSAFE_PWDAPI 22 1.1 lukem 23 1.8 lukem # CONNECTION_FLAGS 24 1.37 fredb X11FLAGS.CONNECTION= -DTCPCONN -DUNIXCONN -DHAS_STICKY_DIR_BIT \ 25 1.161 mrg -DHAS_FCHOWN -DHAVE_GETADDRINFO -DHAVE_INET_NTOP \ 26 1.161 mrg -DHAVE_STRUCT_SOCKADDR_STORAGE 27 1.43 lukem 28 1.43 lukem .if (${USE_INET6} != "no") 29 1.43 lukem X11FLAGS.CONNECTION+= -DIPv6 30 1.43 lukem .endif 31 1.1 lukem 32 1.8 lukem # EXT_DEFINES 33 1.58 mrg X11FLAGS.BASE_EXTENSION= -DMITMISC -DXTEST -DXTRAP -DXSYNC -DXCMISC \ 34 1.58 mrg -DXRECORD -DMITSHM -DBIGREQS -DXF86VIDMODE \ 35 1.155 nia -DDPMSExtension -DEVI \ 36 1.58 mrg -DSCREENSAVER -DXV -DXVMC -DGLXEXT \ 37 1.73 mrg -DRES 38 1.58 mrg 39 1.58 mrg X11FLAGS.PERVASIVE_EXTENSION= -DSHAPE -DXINPUT -DXKB -DLBX -DXAPPGROUP \ 40 1.58 mrg -DXCSECURITY -DTOGCUP -DXF86BIGFONT \ 41 1.58 mrg -DDPMSExtension -DPIXPRIV -DPANORAMIX \ 42 1.58 mrg -DRENDER -DRANDR -DXFIXES -DDAMAGE \ 43 1.58 mrg -DCOMPOSITE -DXEVIE 44 1.58 mrg X11FLAGS.EXTENSION= ${X11FLAGS.BASE_EXTENSION} \ 45 1.58 mrg ${X11FLAGS.PERVASIVE_EXTENSION} 46 1.59 mrg 47 1.59 mrg X11FLAGS.DIX= -DHAVE_DIX_CONFIG_H -D_BSD_SOURCE -DHAS_FCHOWN \ 48 1.127 mrg -DHAS_STICKY_DIR_BIT -D_POSIX_THREAD_SAFE_FUNCTIONS=200112L \ 49 1.92 mrg -DHAVE_XORG_CONFIG_H 50 1.147 mrg X11INCS.DIX= -I${DESTDIR}${X11INCDIR}/freetype2 \ 51 1.147 mrg -I${DESTDIR}${X11INCDIR}/pixman-1 \ 52 1.59 mrg -I$(X11SRCDIR.xorg-server)/include \ 53 1.59 mrg -I$(X11SRCDIR.xorg-server)/Xext \ 54 1.59 mrg -I$(X11SRCDIR.xorg-server)/composite \ 55 1.59 mrg -I$(X11SRCDIR.xorg-server)/damageext \ 56 1.59 mrg -I$(X11SRCDIR.xorg-server)/xfixes \ 57 1.59 mrg -I$(X11SRCDIR.xorg-server)/Xi \ 58 1.59 mrg -I$(X11SRCDIR.xorg-server)/mi \ 59 1.59 mrg -I$(X11SRCDIR.xorg-server)/miext/shadow \ 60 1.59 mrg -I$(X11SRCDIR.xorg-server)/miext/damage \ 61 1.59 mrg -I$(X11SRCDIR.xorg-server)/render \ 62 1.59 mrg -I$(X11SRCDIR.xorg-server)/randr \ 63 1.92 mrg -I$(X11SRCDIR.xorg-server)/fb \ 64 1.92 mrg -I$(X11SRCDIR.xorg-server)/../include 65 1.1 lukem 66 1.31 rtr X11FLAGS.DRI= -DGLXEXT -DXF86DRI -DGLX_DIRECT_RENDERING \ 67 1.31 rtr -DGLX_USE_DLOPEN -DGLX_USE_MESA 68 1.31 rtr 69 1.31 rtr .if ${X11DRI} != "no" 70 1.31 rtr X11FLAGS.EXTENSION+= ${X11FLAGS.DRI} 71 1.31 rtr .endif 72 1.31 rtr 73 1.8 lukem # ServerDefines 74 1.11 rtr X11FLAGS.SERVER= -DSHAPE -DXKB -DLBX -DXAPPGROUP -DXCSECURITY \ 75 1.1 lukem -DTOGCUP -DXF86BIGFONT -DDPMSExtension -DPIXPRIV \ 76 1.1 lukem -DPANORAMIX -DRENDER -DRANDR -DGCCUSESGAS \ 77 1.11 rtr -DAVOID_GLYPHBLT -DSINGLEDEPTH -DXvExtension \ 78 1.11 rtr -DXFree86Server -DXvMCExtension -DSMART_SCHEDULE \ 79 1.13 rtr -DBUILDDEBUG -DXResExtension -DNDEBUG 80 1.13 rtr 81 1.8 lukem # OS_DEFINES 82 1.18 rtr X11FLAGS.OS_DEFINES= -DDDXOSINIT -DSERVER_LOCK -DDDXOSFATALERROR \ 83 1.51 spz -DDDXOSVERRORF -DDDXTIME -DUSB_HID 84 1.11 rtr 85 1.23 matt .if !(${MACHINE} == "acorn32" || \ 86 1.32 rtr ${MACHINE} == "sun3" || \ 87 1.153 tsutsui ${MACHINE} == "x68k") 88 1.11 rtr # EXT_DEFINES 89 1.11 rtr X11FLAGS.EXTENSION+= -DXF86VIDMODE 90 1.11 rtr 91 1.122 mrg X11FLAGS.DIX+= -DDBE -DXRECORD -DPRESENT 92 1.122 mrg 93 1.11 rtr # ServerDefines 94 1.126 mrg X11FLAGS.SERVER+= -DXFreeXDGA -DXF86VIDMODE 95 1.126 mrg X11FLAGS.SERVER+= -DXINPUT -DXSERVER_LIBPCIACCESS 96 1.22 rtr .endif 97 1.11 rtr 98 1.24 rtr .if ${MACHINE_ARCH} == "alpha" || \ 99 1.124 scole ${MACHINE_ARCH} == "ia64" || \ 100 1.125 christos ${MACHINE_ARCH} == "powerpc64" || \ 101 1.24 rtr ${MACHINE_ARCH} == "sparc64" || \ 102 1.123 joerg ${MACHINE_ARCH} == "x86_64" || \ 103 1.123 joerg ${MACHINE_CPU} == "aarch64" 104 1.12 rtr # ServerDefines 105 1.12 rtr X11FLAGS.SERVER+= -D_XSERVER64 106 1.26 rtr X11FLAGS.EXTENSION+= -D__GLX_ALIGN64 107 1.12 rtr .endif 108 1.11 rtr 109 1.23 matt .if ${MACHINE} == "amd64" || \ 110 1.23 matt ${MACHINE} == "cats" || \ 111 1.23 matt ${MACHINE} == "i386" || \ 112 1.41 sekiya ${MACHINE} == "macppc" || \ 113 1.53 uwe ${MACHINE} == "netwinder" || \ 114 1.57 phx ${MACHINE} == "ofppc" || \ 115 1.86 kiyohara ${MACHINE} == "prep" || \ 116 1.48 martin ${MACHINE} == "sgimips" || \ 117 1.50 macallan ${MACHINE} == "sparc64" || \ 118 1.54 macallan ${MACHINE} == "sparc" || \ 119 1.81 nonaka ${MACHINE} == "shark" || \ 120 1.81 nonaka ${MACHINE} == "zaurus" 121 1.11 rtr # LOADABLE 122 1.121 mrg .if ${XORG_SERVER_SUBDIR:Uxorg-server.old} == "xorg-server.old" 123 1.121 mrg X11FLAGS.LOADABLE= -DXFree86LOADER 124 1.121 mrg .endif 125 1.121 mrg X11FLAGS.LOADABLE+= ${${ACTIVE_CXX} == "gcc":? -fno-merge-constants :} 126 1.11 rtr .endif 127 1.120 mrg 128 1.120 mrg # XXX FIX ME 129 1.144 mrg .if ${XORG_SERVER_SUBDIR:Uxorg-server.old} == "xorg-server.old" 130 1.120 mrg XORG_SERVER_MAJOR= 1 131 1.120 mrg XORG_SERVER_MINOR= 10 132 1.120 mrg XORG_SERVER_TEENY= 6 133 1.144 mrg XORG_VERSION_CURRENT="(((${XORG_SERVER_MAJOR}) * 10000000) + ((${XORG_SERVER_MINOR}) * 100000) + ((${XORG_SERVER_TEENY}) * 1000) + 0)" 134 1.120 mrg .else 135 1.144 mrg XORG_SERVER_MAJOR= 21 136 1.144 mrg XORG_SERVER_MINOR= 1 137 1.162 mrg XORG_SERVER_TEENY= 18 138 1.144 mrg XORG_VERSION_CURRENT="((10000000) + ((${XORG_SERVER_MAJOR}) * 100000) + ((${XORG_SERVER_MINOR}) * 1000) + ${XORG_SERVER_TEENY})" 139 1.120 mrg .endif 140 1.136 mrg 141 1.58 mrg XVENDORNAMESHORT= '"X.Org"' 142 1.58 mrg XVENDORNAME= '"The X.Org Foundation"' 143 1.120 mrg XORG_RELEASE= '"Release ${XORG_SERVER_MAJOR}.${XORG_SERVER_MINOR}.${XORG_SERVER_TEENY}"' 144 1.58 mrg __XKBDEFRULES__= '"xorg"' 145 1.62 rtr XLOCALE.DEFINES= -DXLOCALEDIR=\"${X11LIBDIR}/locale\" \ 146 1.62 rtr -DXLOCALELIBDIR=\"${X11LIBDIR}/locale\" 147 1.58 mrg 148 1.152 christos PRINT_PACKAGE_VERSION= ${TOOL_AWK} '/^PACKAGE_VERSION=/ { \ 149 1.64 cube match($$1, "([0-9]+\\.)+[0-9]+"); \ 150 1.64 cube version = substr($$1, RSTART, RLENGTH); \ 151 1.64 cube } END { print version }' 152 1.64 cube 153 1.156 mrg _CONFIGURE_PATH= 154 1.156 mrg .if exists(${X11SRCDIR.${PROG}}/configure) 155 1.156 mrg _CONFIGURE_PATH=${X11SRCDIR.${PROG}}/configure 156 1.156 mrg .elif exists(${X11SRCDIR.${LIB}}/configure) 157 1.156 mrg _CONFIGURE_PATH=${X11SRCDIR.${LIB}}/configure 158 1.156 mrg .endif 159 1.156 mrg 160 1.156 mrg .if exists(${_CONFIGURE_PATH}) 161 1.156 mrg _PRINT_PACKAGE_STRING= ${TOOL_AWK} -F= '/^PACKAGE_STRING=/ { print $$2 }' \ 162 1.156 mrg ${_CONFIGURE_PATH} 163 1.156 mrg PACKAGE_STRING!= ${_PRINT_PACKAGE_STRING} 164 1.156 mrg .else 165 1.156 mrg PACKAGE_STRING= "X11 program" 166 1.156 mrg .endif 167 1.64 cube 168 1.38 fredb # Commandline to convert 'XCOMM' comments and 'XHASH' to '#', among other 169 1.38 fredb # things. Transformed from the "CppSedMagic" macro from "Imake.rules". 170 1.8 lukem # 171 1.70 apb X11TOOL_UNXCOMM= ${TOOL_SED} -e '/^\# *[0-9][0-9]* *.*$$/d' \ 172 1.38 fredb -e '/^\#line *[0-9][0-9]* *.*$$/d' \ 173 1.38 fredb -e '/^[ ]*XCOMM$$/s/XCOMM/\#/' \ 174 1.38 fredb -e '/^[ ]*XCOMM[^a-zA-Z0-9_]/s/XCOMM/\#/' \ 175 1.38 fredb -e '/^[ ]*XHASH/s/XHASH/\#/' \ 176 1.38 fredb -e '/\@\@$$/s/\@\@$$/\\/' 177 1.1 lukem 178 1.3 lukem 179 1.1 lukem CPPFLAGS+= -DCSRG_BASED -DFUNCPROTO=15 -DNARROWPROTO 180 1.96 joerg CPPFLAGS+= -I${DESTDIR}${X11INCDIR} 181 1.1 lukem 182 1.39 drochner .if ${MACHINE_ARCH} == "x86_64" 183 1.39 drochner CPPFLAGS+= -D__AMD64__ 184 1.39 drochner .endif 185 1.39 drochner 186 1.97 joerg LDFLAGS+= -Wl,-rpath,${X11USRLIBDIR} -L=${X11USRLIBDIR} 187 1.3 lukem 188 1.1 lukem 189 1.1 lukem # 190 1.1 lukem # .cpp -> "" handling 191 1.1 lukem # CPPSCRIPTS list of files/scripts to run through cpp 192 1.1 lukem # CPPSCRIPTFLAGS extra flags to ${CPP} 193 1.1 lukem # CPPSCRIPTFLAGS_fn extra flags to ${CPP} for file `fn' 194 1.1 lukem # 195 1.1 lukem .if defined(CPPSCRIPTS) # { 196 1.1 lukem .SUFFIXES: .cpp 197 1.1 lukem 198 1.1 lukem .cpp: 199 1.7 lukem ${_MKTARGET_CREATE} 200 1.5 lukem rm -f ${.TARGET} 201 1.102 plunky ${CC} -E -undef -traditional - \ 202 1.1 lukem ${CPPSCRIPTFLAGS_${.TARGET}:U${CPPSCRIPTFLAGS}} \ 203 1.1 lukem < ${.IMPSRC} | ${X11TOOL_UNXCOMM} > ${.TARGET} 204 1.1 lukem 205 1.1 lukem realall: ${CPPSCRIPTS} 206 1.1 lukem 207 1.103 apb CLEANFILES+= ${CPPSCRIPTS} 208 1.1 lukem .endif # } 209 1.1 lukem 210 1.136 mrg # Used by pkg-config and manual handling to ensure we picked up all 211 1.136 mrg # the necessary changes. 212 1.136 mrg # 213 1.136 mrg # Skip any line that starts with .IN (old X11 indexing method), 214 1.136 mrg # or between a tab(@) and .TE. 215 1.136 mrg _X11SKIP_FALSE_POSITIVE_GREP_CMD= \ 216 1.136 mrg ${TOOL_SED} -e '/tab(@)/,/^\.TE/d' -e '/^\.IN /d' ${.TARGET}.tmp | \ 217 1.136 mrg ${TOOL_GREP} -E '@([^ ]+)@' 218 1.136 mrg 219 1.64 cube # 220 1.64 cube # X.Org pkgconfig files handling 221 1.64 cube # 222 1.64 cube # PKGCONFIG is expected to contain a list of pkgconfig module names. 223 1.64 cube # They will produce the files <module1>.pc, <module2>.pc, etc, to be 224 1.64 cube # put in X11USRLIBDIR/pkgconfig. 225 1.64 cube # 226 1.64 cube # PKGDIST contains the name of a X11SRCDIR subscript where to find the 227 1.64 cube # source file for the pkgconfig files. 228 1.64 cube # 229 1.64 cube # If PKGDIST is not suitable, a consumer can set PKGDIST.<module> with 230 1.64 cube # the full path to the source file. 231 1.64 cube # 232 1.64 cube # Also, the consumer can use PKGDIST alone, and a PKGCONFIG will be 233 1.64 cube # derived from it. Many times, PKGDIST is capitalized and PKGCONFIG is 234 1.64 cube # the lower case version. 235 1.64 cube # 236 1.64 cube 237 1.64 cube .if defined(PKGDIST) && !defined(PKGCONFIG) 238 1.64 cube PKGCONFIG= ${PKGDIST:tl} 239 1.64 cube .endif 240 1.116 matt .if defined(PKGCONFIG) && !defined(MLIBDIR) 241 1.64 cube 242 1.64 cube .include <bsd.files.mk> 243 1.64 cube 244 1.64 cube _PKGCONFIG_FILES= ${PKGCONFIG:C/$/.pc/} 245 1.64 cube 246 1.64 cube .PHONY: pkgconfig-install 247 1.64 cube pkgconfig-install: 248 1.64 cube 249 1.64 cube realall: ${_PKGCONFIG_FILES:O:u} 250 1.64 cube realinstall: pkgconfig-install 251 1.64 cube 252 1.108 mrg .for _pkg in ${PKGCONFIG:O:u} # { 253 1.108 mrg 254 1.64 cube PKGDIST.${_pkg}?= ${X11SRCDIR.${PKGDIST:U${_pkg}}} 255 1.82 veego _PKGDEST.${_pkg}= ${DESTDIR}${X11USRLIBDIR}/pkgconfig/${_pkg}.pc 256 1.64 cube 257 1.64 cube .PATH: ${PKGDIST.${_pkg}} 258 1.64 cube 259 1.64 cube FILESOWN_${_pkg}.pc= ${BINOWN} 260 1.64 cube FILESGRP_${_pkg}.pc= ${BINGRP} 261 1.64 cube FILESMODE_${_pkg}.pc= ${NONBINMODE} 262 1.64 cube 263 1.64 cube ${_PKGDEST.${_pkg}}: ${_pkg}.pc __fileinstall 264 1.64 cube pkgconfig-install: ${_PKGDEST.${_pkg}} 265 1.108 mrg 266 1.108 mrg # Add a dependancy on the configure file if it exists; this way we 267 1.108 mrg # will rebuild the .pc file if the version in configure changes. 268 1.108 mrg .if exists(${PKGDIST.${_pkg}}/configure) 269 1.112 mrg ${_pkg}.pc: ${PKGDIST.${_pkg}}/configure Makefile 270 1.108 mrg .endif 271 1.108 mrg 272 1.108 mrg .endfor # } 273 1.64 cube 274 1.64 cube # XXX 275 1.64 cube # The sed script is very, very ugly. What we actually need is a 276 1.64 cube # mknative-xorg script that will generate all the .pc files from 277 1.64 cube # running the autoconfigure script. 278 1.109 mrg # And yes, it has to be split in multiple parts otherwise it's 279 1.109 mrg # too long for sed to handle. 280 1.64 cube 281 1.87 mrg # hacky transforms: 282 1.87 mrg # @XCBPROTO_VERSION@ 283 1.87 mrg 284 1.64 cube .SUFFIXES: .pc.in .pc 285 1.64 cube .pc.in.pc: 286 1.64 cube ${_MKTARGET_CREATE} 287 1.64 cube rm -f ${.TARGET} 288 1.64 cube if [ -n '${PKGCONFIG_VERSION.${.PREFIX}}' ]; then \ 289 1.64 cube _pkg_version='${PKGCONFIG_VERSION.${.PREFIX}}'; \ 290 1.64 cube else \ 291 1.64 cube _pkg_version=$$(${PRINT_PACKAGE_VERSION} \ 292 1.64 cube ${PKGDIST.${.PREFIX}}/configure); \ 293 1.64 cube fi; \ 294 1.67 cube ${TOOL_SED} \ 295 1.111 mrg ${PKGCONFIG_SED_FLAGS} \ 296 1.64 cube -e "s,@prefix@,${X11ROOTDIR},; \ 297 1.64 cube s,@INSTALL_DIR@,${X11ROOTDIR},; \ 298 1.64 cube s,@exec_prefix@,\\$$\{prefix\},; \ 299 1.64 cube s,@libdir@,\\$$\{prefix\}/lib,; \ 300 1.64 cube s,@includedir@,\\$$\{prefix\}/include,; \ 301 1.64 cube s,@datarootdir@,\\$$\{prefix\}/share,; \ 302 1.87 mrg s,@datadir@,\\$$\{datarootdir\},; \ 303 1.98 dholland s,@appdefaultdir@,\\$$\{libdir}/X11/app-defaults,; \ 304 1.64 cube s,@MAPDIR@,\\$$\{libdir\}/X11/fonts/util,; \ 305 1.64 cube s,@ICONDIR@,\\$$\{datarootdir\}/icons,; \ 306 1.64 cube s,@PACKAGE_VERSION@,$${_pkg_version},; \ 307 1.64 cube s,@VERSION@,$${_pkg_version},; \ 308 1.64 cube s,@COMPOSITEEXT_VERSION@,$${_pkg_version%.*},; \ 309 1.64 cube s,@DAMAGEEXT_VERSION@,$${_pkg_version%.*},; \ 310 1.64 cube s,@FIXESEXT_VERSION@,$${_pkg_version%.*},; \ 311 1.119 nakayama s,@PRESENTEXT_VERSION@,$${_pkg_version%.*},; \ 312 1.64 cube s,@RANDR_VERSION@,$${_pkg_version%.*},; \ 313 1.64 cube s,@RENDER_VERSION@,$${_pkg_version%.*}," \ 314 1.87 mrg -e "s,@LIBS@,,; \ 315 1.88 mrg s,@Z_LIBS@,-lz,; \ 316 1.99 mrg s,@LIBZ@,-lz,; \ 317 1.99 mrg s,@LIBBZ2@,-lbz2,; \ 318 1.105 njoly s,@xkb_base@,\\$$\{prefix\}/lib/X11/xkb,; \ 319 1.104 dholland s,@xcbincludedir@,\\$$\{prefix\}/share/xcb,; \ 320 1.88 mrg s,@fontrootdir@,\\$$\{libdir\}/X11/fonts,; \ 321 1.92 mrg s,@LIBXML2_LIBS@,,; \ 322 1.109 mrg s,@LIBXML2_CFLAGS@,,; \ 323 1.109 mrg s,@ICONV_CFLAGS@,,; \ 324 1.92 mrg s,@ICONV_LIBS@,,; \ 325 1.99 mrg s,@NEEDED@,,; \ 326 1.99 mrg s,@FT2_EXTRA_LIBS@,," \ 327 1.64 cube -e "s,@moduledir@,\\$$\{libdir\}/modules,; \ 328 1.64 cube s,@sdkdir@,\\$$\{includedir\}/xorg,; \ 329 1.64 cube s,@PIXMAN_CFLAGS@,,; \ 330 1.64 cube s,@LIB_DIR@,/lib,; \ 331 1.74 mrg s,@INSTALL_LIB_DIR@,\\$$\{prefix\}/lib,; \ 332 1.74 mrg s,@INSTALL_INC_DIR@,\\$$\{prefix\}/include,; \ 333 1.64 cube s,@XKBPROTO_REQUIRES@,kbproto,; \ 334 1.88 mrg s,@XCBPROTO_VERSION@,1.7,; \ 335 1.64 cube s,@FREETYPE_REQUIRES@,freetype2,; \ 336 1.64 cube s,@EXPAT_LIBS@,-lexpat,; \ 337 1.64 cube s,@FREETYPE_LIBS@,-lfreetype,; \ 338 1.64 cube s,@DEP_CFLAGS@,,; \ 339 1.64 cube s,@DEP_LIBS@,,; \ 340 1.64 cube s,@X11_EXTRA_DEPS@,,; \ 341 1.66 rtr s,@XTHREAD_CFLAGS@,-D_REENTRANT,; \ 342 1.64 cube s,@XTHREADLIB@,-lpthread,; \ 343 1.87 mrg s,@GL_LIB@,GL,; \ 344 1.74 mrg s,@GL_PC_REQ_PRIV@,x11 xext,; \ 345 1.74 mrg s,@GL_PC_LIB_PRIV@,-lm -lpthread,; \ 346 1.113 nakayama s,@GL_PC_CFLAGS@,,; \ 347 1.113 nakayama s,@GLX_TLS@,no," \ 348 1.99 mrg -e "s,@GLU_LIB@,GLU,; \ 349 1.90 yhardy s,@GLU_PC_REQ@,gl,; \ 350 1.75 mrg s,@GLU_PC_REQ_PRIV@,,; \ 351 1.75 mrg s,@GLU_PC_LIB_PRIV@,-lGLU,; \ 352 1.75 mrg s,@GLU_PC_CFLAGS@,,; \ 353 1.87 mrg s,@GLUT_LIB@,glut,; \ 354 1.75 mrg s,@GLUT_PC_REQ_PRIV@,gl glu,; \ 355 1.75 mrg s,@GLUT_PC_LIB_PRIV@,-lglut,; \ 356 1.75 mrg s,@GLUT_PC_CFLAGS@,,; \ 357 1.87 mrg s,@GLW_PC_CFLAGS@,,; \ 358 1.88 mrg s,@GLW_PC_REQ_PRIV@,x11 xt,; \ 359 1.88 mrg s,@GLW_PC_LIB_PRIV@,,; \ 360 1.91 mrg s,@DRI_DRIVER_DIR@,\\$$\{libdir\}/modules/dri,; \ 361 1.91 mrg s,@DRI_PC_REQ_PRIV@,,; \ 362 1.87 mrg s,@GLW_LIB@,GLw,; \ 363 1.115 jmcneill s,@GBM_PC_REQ_PRIV@,,; \ 364 1.115 jmcneill s,@GBM_PC_LIB_PRIV@,,; \ 365 1.75 mrg s,@abi_ansic@,0.4,; \ 366 1.75 mrg s,@abi_videodrv@,5.0,; \ 367 1.75 mrg s,@abi_xinput@,4.0,; \ 368 1.75 mrg s,@abi_extension@,2.0,; \ 369 1.75 mrg s,@abi_font@,0.6,; \ 370 1.64 cube s,@fchown_define@,-DHAS_FCHOWN,; \ 371 1.114 mrg s,@sticky_bit_define@,-DHAS_STICKY_DIR_BIT,;" \ 372 1.110 tron -e "s,@PKG_CONFIG_LIBS@,${PKG_CONFIG_LIBS},; \ 373 1.109 mrg s,@PACKAGE@,${PKGDIST},; \ 374 1.110 tron s,@PKGCONFIG_REQUIRES@,${PKGCONFIG_REQUIRES},; \ 375 1.110 tron s,@PKGCONFIG_REQUIRES_PRIVATELY@,${PKGCONFIG_REQUIRES_PRIVATELY},; \ 376 1.109 mrg s,@ERRORDBDIR@,${X11LIBDIR},; \ 377 1.109 mrg s,@EXPAT_CFLAGS@,,; \ 378 1.114 mrg s,@FREETYPE_CFLAGS@,-I${X11ROOTDIR}/include/freetype2 -I${X11ROOTDIR}/include,;" \ 379 1.93 joerg -e '/^Libs:/ s%-L\([^ ]*\)%-Wl,-rpath,\1 &%g' \ 380 1.132 mrg < ${.IMPSRC} > ${.TARGET}.tmp 381 1.136 mrg if ${_X11SKIP_FALSE_POSITIVE_GREP_CMD}; then \ 382 1.136 mrg echo "pkg-config ${.TARGET} matches @.*@, probably missing updates" 1>&2; \ 383 1.132 mrg false; \ 384 1.132 mrg else \ 385 1.132 mrg ${MV} ${.TARGET}.tmp ${.TARGET}; \ 386 1.132 mrg fi 387 1.132 mrg 388 1.112 mrg CLEANFILES+= ${_PKGCONFIG_FILES} ${_PKGCONFIG_FILES:C/$/.tmp/} 389 1.64 cube .endif 390 1.1 lukem 391 1.1 lukem # 392 1.1 lukem # APPDEFS (app defaults) handling 393 1.1 lukem # 394 1.1 lukem .if defined(APPDEFS) # { 395 1.28 lukem appdefsinstall:: .PHONY ${APPDEFS:@S@${DESTDIR}${X11LIBDIR}/app-defaults/${S:T:R}@} 396 1.28 lukem .PRECIOUS: ${APPDEFS:@S@${DESTDIR}${X11LIBDIR}/app-defaults/${S:T:R}@} 397 1.1 lukem 398 1.1 lukem __appdefinstall: .USE 399 1.56 lukem ${_MKTARGET_INSTALL} 400 1.10 rtr ${INSTALL_FILE} -o ${BINOWN} -g ${BINGRP} -m ${NONBINMODE} \ 401 1.52 jwise ${.ALLSRC} ${.TARGET} 402 1.1 lukem 403 1.1 lukem .for S in ${APPDEFS:O:u} 404 1.1 lukem ${DESTDIR}${X11LIBDIR}/app-defaults/${S:T:R}: ${S} __appdefinstall 405 1.1 lukem .endfor 406 1.1 lukem 407 1.1 lukem realinstall: appdefsinstall 408 1.1 lukem .endif # } 409 1.1 lukem 410 1.1 lukem 411 1.1 lukem # 412 1.1 lukem # .man page handling 413 1.1 lukem # 414 1.4 lukem .if (${MKMAN} != "no" && (${MAN:U} != "" || ${PROG:U} != "")) # { 415 1.103 apb CLEANDIRFILES+= ${MAN:U${PROG:D${PROG.1}}} 416 1.1 lukem .endif # } 417 1.1 lukem 418 1.154 mrg .SUFFIXES: .man .man.pre .1 .3 .4 .5 .7 .8 419 1.1 lukem 420 1.136 mrg # Note the escaping trick for _X11MANTRANSFORM using % to replace spaces 421 1.136 mrg XORGVERSION= '"X Version 11"' 422 1.136 mrg 423 1.68 cube _X11MANTRANSFORM= \ 424 1.136 mrg ${X11EXTRAMANTRANSFORMS} 425 1.136 mrg 426 1.136 mrg # These ones used to appear as __foo__ but may be now @foo@. 427 1.136 mrg _X11MANTRANSFORMS_BOTH=\ 428 1.136 mrg ${X11EXTRAMANTRANSFORMS_BOTH} \ 429 1.136 mrg appmansuffix 1 \ 430 1.156 mrg APP_MAN_SUFFIX 1 \ 431 1.136 mrg LIB_MAN_SUFFIX 3 \ 432 1.136 mrg libmansuffix 3 \ 433 1.136 mrg oslibmansuffix 3 \ 434 1.136 mrg drivermansuffix 4 \ 435 1.136 mrg filemansuffix 5 \ 436 1.156 mrg MISC_MAN_SUFFIX 7 \ 437 1.136 mrg miscmansuffix 7 \ 438 1.136 mrg adminmansuffix 8 \ 439 1.156 mrg XORG_MAN_PAGE "X Version 11" \ 440 1.136 mrg logdir /var/log \ 441 1.136 mrg sysconfdir /etc \ 442 1.136 mrg apploaddir ${X11ROOTDIR}/lib/X11/app-defaults \ 443 1.136 mrg bindir ${X11BINDIR} \ 444 1.136 mrg datadir ${X11LIBDIR} \ 445 1.136 mrg libdir ${X11ROOTDIR}/lib \ 446 1.136 mrg mandir ${X11MANDIR} \ 447 1.136 mrg projectroot ${X11ROOTDIR} \ 448 1.136 mrg xkbconfigroot ${X11LIBDIR}/xkb \ 449 1.136 mrg vendorversion ${XORGVERSION:C/ /%/gW} \ 450 1.136 mrg XCONFIGFILE xorg.conf \ 451 1.136 mrg xconfigfile xorg.conf \ 452 1.136 mrg XCONFIGFILEMAN 'xorg.conf(5)' \ 453 1.143 uwe xlocaledir ${X11LIBDIR}/locale \ 454 1.136 mrg xorgversion ${XORGVERSION:C/ /%/gW} \ 455 1.136 mrg XSERVERNAME Xorg \ 456 1.136 mrg xservername Xorg 457 1.136 mrg 458 1.157 mrg .if !empty(PACKAGE_STRING) 459 1.157 mrg _X11MANTRANSFORMS_BOTH+=\ 460 1.157 mrg PACKAGE_STRING ${PACKAGE_STRING} 461 1.157 mrg .endif 462 1.157 mrg 463 1.136 mrg .for __def__ __value__ in ${_X11MANTRANSFORMS_BOTH} 464 1.136 mrg _X11MANTRANSFORM+= \ 465 1.136 mrg __${__def__}__ ${__value__} \ 466 1.136 mrg @${__def__}@ ${__value__} 467 1.136 mrg .endfor 468 1.68 cube 469 1.68 cube _X11MANTRANSFORM+= \ 470 1.68 cube 471 1.68 cube _X11MANTRANSFORMCMD= ${TOOL_SED} -e 's/\\$$/\\ /' ${.IMPSRC} 472 1.68 cube 473 1.136 mrg # XXX document me. 474 1.136 mrg X11MANCPP?= no 475 1.136 mrg 476 1.68 cube .if ${X11MANCPP} != "no" 477 1.102 plunky _X11MANTRANSFORMCMD+= | ${CC} -E -undef -traditional - 478 1.68 cube . for __def__ __value__ in ${_X11MANTRANSFORM} 479 1.68 cube _X11MANTRANSFORMCMD+= -D${__def__}=${__value__:C/%/ /gW} 480 1.68 cube . endfor 481 1.68 cube .else 482 1.68 cube _X11MANTRANSFORMCMD+= | ${TOOL_SED} 483 1.68 cube . for __def__ __value__ in ${_X11MANTRANSFORM} 484 1.68 cube _X11MANTRANSFORMCMD+= -e s,${__def__},${__value__:C/%/ /gW},g 485 1.68 cube . endfor 486 1.68 cube .endif 487 1.68 cube _X11MANTRANSFORMCMD+= ${X11EXTRAMANDEFS} 488 1.68 cube 489 1.154 mrg .man.1 .man.3 .man.4 .man.5 .man.7 .man.8 .man.pre.1 .man.pre.4 .man.pre.5: 490 1.7 lukem ${_MKTARGET_CREATE} 491 1.1 lukem rm -f ${.TARGET} 492 1.136 mrg ${_X11MANTRANSFORMCMD} | ${X11TOOL_UNXCOMM} > ${.TARGET}.tmp 493 1.136 mrg if ${_X11SKIP_FALSE_POSITIVE_GREP_CMD}; then \ 494 1.136 mrg echo "manual ${.TARGET} matches @.*@, probably missing updates" 1>&2; \ 495 1.136 mrg false; \ 496 1.136 mrg else \ 497 1.136 mrg ${MV} ${.TARGET}.tmp ${.TARGET}; \ 498 1.136 mrg fi 499 1.103 apb 500 1.103 apb ##### Pull in related .mk logic 501 1.103 apb .include <bsd.clean.mk> 502