2013-12-06 12:04:52 +01:00
|
|
|
# $NetBSD: bsd.x11.mk,v 1.108 2013/06/05 23:14:13 mrg Exp $
|
Upgrading build system to new NetBSD revision
The tested targets are the followgin ones:
* tools
* distribution
* sets
* release
The remaining NetBSD targets have not been disabled nor tested
*at all*. Try them at your own risk, they may reboot the earth.
For all compliant Makefiles, objects and generated files are put in
MAKEOBJDIR, which means you can now keep objects between two branch
switching. Same for DESTDIR, please refer to build.sh options.
Regarding new or modifications of Makefiles a few things:
* Read share/mk/bsd.README
* If you add a subdirectory, add a Makefile in it, and have it called
by the parent through the SUBDIR variable.
* Do not add arbitrary inclusion which crosses to another branch of
the hierarchy; If you can't do without it, put a comment on why.
If possible, do not use inclusion at all.
* Use as much as possible the infrastructure, it is here to make
life easier, do not fight it.
Sets and package are now used to track files.
We have one set called "minix", composed of one package called "minix-sys"
2012-09-12 09:37:05 +02:00
|
|
|
|
|
|
|
.include <bsd.init.mk>
|
|
|
|
|
|
|
|
BINDIR= ${X11BINDIR}
|
|
|
|
LIBDIR= ${X11USRLIBDIR}
|
|
|
|
MANDIR= ${X11MANDIR}
|
|
|
|
|
|
|
|
COPTS+= -fno-strict-aliasing
|
|
|
|
|
|
|
|
.include <bsd.sys.mk>
|
|
|
|
|
|
|
|
.if defined(USE_SSP) && (${USE_SSP} != "no")
|
|
|
|
CPPFLAGS+= -DNO_ALLOCA
|
|
|
|
.endif
|
|
|
|
|
|
|
|
X11FLAGS.VERSION= -DOSMAJORVERSION=5 -DOSMINORVERSION=99 # XXX
|
|
|
|
|
|
|
|
# THREADS_DEFINES
|
2013-08-21 11:15:11 +02:00
|
|
|
# LSC (MINIX): Not supported: -D_REENTRANT
|
|
|
|
X11FLAGS.THREADS= -DXTHREADS -DXUSE_MTSAFE_API \
|
Upgrading build system to new NetBSD revision
The tested targets are the followgin ones:
* tools
* distribution
* sets
* release
The remaining NetBSD targets have not been disabled nor tested
*at all*. Try them at your own risk, they may reboot the earth.
For all compliant Makefiles, objects and generated files are put in
MAKEOBJDIR, which means you can now keep objects between two branch
switching. Same for DESTDIR, please refer to build.sh options.
Regarding new or modifications of Makefiles a few things:
* Read share/mk/bsd.README
* If you add a subdirectory, add a Makefile in it, and have it called
by the parent through the SUBDIR variable.
* Do not add arbitrary inclusion which crosses to another branch of
the hierarchy; If you can't do without it, put a comment on why.
If possible, do not use inclusion at all.
* Use as much as possible the infrastructure, it is here to make
life easier, do not fight it.
Sets and package are now used to track files.
We have one set called "minix", composed of one package called "minix-sys"
2012-09-12 09:37:05 +02:00
|
|
|
-DXNO_MTSAFE_PWDAPI
|
|
|
|
|
|
|
|
# CONNECTION_FLAGS
|
2013-08-21 11:15:11 +02:00
|
|
|
.if !defined(__MINIX)
|
Upgrading build system to new NetBSD revision
The tested targets are the followgin ones:
* tools
* distribution
* sets
* release
The remaining NetBSD targets have not been disabled nor tested
*at all*. Try them at your own risk, they may reboot the earth.
For all compliant Makefiles, objects and generated files are put in
MAKEOBJDIR, which means you can now keep objects between two branch
switching. Same for DESTDIR, please refer to build.sh options.
Regarding new or modifications of Makefiles a few things:
* Read share/mk/bsd.README
* If you add a subdirectory, add a Makefile in it, and have it called
by the parent through the SUBDIR variable.
* Do not add arbitrary inclusion which crosses to another branch of
the hierarchy; If you can't do without it, put a comment on why.
If possible, do not use inclusion at all.
* Use as much as possible the infrastructure, it is here to make
life easier, do not fight it.
Sets and package are now used to track files.
We have one set called "minix", composed of one package called "minix-sys"
2012-09-12 09:37:05 +02:00
|
|
|
X11FLAGS.CONNECTION= -DTCPCONN -DUNIXCONN -DHAS_STICKY_DIR_BIT \
|
|
|
|
-DHAS_FCHOWN
|
2013-08-21 11:15:11 +02:00
|
|
|
.else
|
|
|
|
X11FLAGS.CONNECTION= -DTCPCONN -DUNIXCONN -DHAS_STICKY_DIR_BIT
|
|
|
|
.endif # !defined(__MINIX)
|
Upgrading build system to new NetBSD revision
The tested targets are the followgin ones:
* tools
* distribution
* sets
* release
The remaining NetBSD targets have not been disabled nor tested
*at all*. Try them at your own risk, they may reboot the earth.
For all compliant Makefiles, objects and generated files are put in
MAKEOBJDIR, which means you can now keep objects between two branch
switching. Same for DESTDIR, please refer to build.sh options.
Regarding new or modifications of Makefiles a few things:
* Read share/mk/bsd.README
* If you add a subdirectory, add a Makefile in it, and have it called
by the parent through the SUBDIR variable.
* Do not add arbitrary inclusion which crosses to another branch of
the hierarchy; If you can't do without it, put a comment on why.
If possible, do not use inclusion at all.
* Use as much as possible the infrastructure, it is here to make
life easier, do not fight it.
Sets and package are now used to track files.
We have one set called "minix", composed of one package called "minix-sys"
2012-09-12 09:37:05 +02:00
|
|
|
|
|
|
|
.if (${USE_INET6} != "no")
|
|
|
|
X11FLAGS.CONNECTION+= -DIPv6
|
|
|
|
.endif
|
|
|
|
|
|
|
|
# EXT_DEFINES
|
|
|
|
.if ${X11FLAVOUR} == "Xorg"
|
|
|
|
X11FLAGS.BASE_EXTENSION= -DMITMISC -DXTEST -DXTRAP -DXSYNC -DXCMISC \
|
|
|
|
-DXRECORD -DMITSHM -DBIGREQS -DXF86VIDMODE \
|
|
|
|
-DXF86MISC -DDPMSExtension -DEVI \
|
|
|
|
-DSCREENSAVER -DXV -DXVMC -DGLXEXT \
|
|
|
|
-DRES
|
|
|
|
|
|
|
|
X11FLAGS.PERVASIVE_EXTENSION= -DSHAPE -DXINPUT -DXKB -DLBX -DXAPPGROUP \
|
|
|
|
-DXCSECURITY -DTOGCUP -DXF86BIGFONT \
|
|
|
|
-DDPMSExtension -DPIXPRIV -DPANORAMIX \
|
|
|
|
-DRENDER -DRANDR -DXFIXES -DDAMAGE \
|
|
|
|
-DCOMPOSITE -DXEVIE
|
|
|
|
X11FLAGS.EXTENSION= ${X11FLAGS.BASE_EXTENSION} \
|
|
|
|
${X11FLAGS.PERVASIVE_EXTENSION}
|
|
|
|
|
|
|
|
X11FLAGS.DIX= -DHAVE_DIX_CONFIG_H -D_BSD_SOURCE -DHAS_FCHOWN \
|
|
|
|
-DHAS_STICKY_DIR_BIT -D_POSIX_THREAD_SAFE_FUNCTIONS \
|
|
|
|
-DHAVE_XORG_CONFIG_H
|
|
|
|
X11INCS.DIX= -I${X11INCSDIR}/freetype2 \
|
|
|
|
-I${X11INCSDIR}/pixman-1 \
|
|
|
|
-I$(X11SRCDIR.xorg-server)/include \
|
|
|
|
-I$(X11SRCDIR.xorg-server)/Xext \
|
|
|
|
-I$(X11SRCDIR.xorg-server)/composite \
|
|
|
|
-I$(X11SRCDIR.xorg-server)/damageext \
|
|
|
|
-I$(X11SRCDIR.xorg-server)/xfixes \
|
|
|
|
-I$(X11SRCDIR.xorg-server)/Xi \
|
|
|
|
-I$(X11SRCDIR.xorg-server)/mi \
|
|
|
|
-I$(X11SRCDIR.xorg-server)/miext/shadow \
|
|
|
|
-I$(X11SRCDIR.xorg-server)/miext/damage \
|
|
|
|
-I$(X11SRCDIR.xorg-server)/render \
|
|
|
|
-I$(X11SRCDIR.xorg-server)/randr \
|
|
|
|
-I$(X11SRCDIR.xorg-server)/fb \
|
|
|
|
-I$(X11SRCDIR.xorg-server)/../include
|
|
|
|
.else
|
|
|
|
X11FLAGS.EXTENSION= -DMITMISC -DXTEST -DXTRAP -DXSYNC -DXCMISC -DXRECORD \
|
|
|
|
-DMITSHM -DBIGREQS -DXF86MISC -DDBE -DDPMSExtension \
|
|
|
|
-DEVI -DSCREENSAVER -DXV -DXVMC -DGLXEXT \
|
|
|
|
-DGLX_USE_MESA -DFONTCACHE -DRES
|
|
|
|
.endif
|
|
|
|
|
|
|
|
X11FLAGS.DRI= -DGLXEXT -DXF86DRI -DGLX_DIRECT_RENDERING \
|
|
|
|
-DGLX_USE_DLOPEN -DGLX_USE_MESA
|
|
|
|
|
|
|
|
.if ${X11DRI} != "no"
|
|
|
|
X11FLAGS.EXTENSION+= ${X11FLAGS.DRI}
|
|
|
|
.endif
|
|
|
|
|
|
|
|
# ServerDefines
|
|
|
|
X11FLAGS.SERVER= -DSHAPE -DXKB -DLBX -DXAPPGROUP -DXCSECURITY \
|
|
|
|
-DTOGCUP -DXF86BIGFONT -DDPMSExtension -DPIXPRIV \
|
|
|
|
-DPANORAMIX -DRENDER -DRANDR -DGCCUSESGAS \
|
|
|
|
-DAVOID_GLYPHBLT -DSINGLEDEPTH -DXvExtension \
|
|
|
|
-DXFree86Server -DXvMCExtension -DSMART_SCHEDULE \
|
|
|
|
-DBUILDDEBUG -DXResExtension -DNDEBUG
|
|
|
|
|
|
|
|
# OS_DEFINES
|
|
|
|
X11FLAGS.OS_DEFINES= -DDDXOSINIT -DSERVER_LOCK -DDDXOSFATALERROR \
|
|
|
|
-DDDXOSVERRORF -DDDXTIME -DUSB_HID
|
|
|
|
|
2013-08-21 11:15:11 +02:00
|
|
|
.if defined(__MINIX)
|
|
|
|
X11FLAGS.OS_DEFINES+= -DXOS_USE_NO_LOCKING
|
|
|
|
.endif # defined(__MINIX)
|
|
|
|
|
Upgrading build system to new NetBSD revision
The tested targets are the followgin ones:
* tools
* distribution
* sets
* release
The remaining NetBSD targets have not been disabled nor tested
*at all*. Try them at your own risk, they may reboot the earth.
For all compliant Makefiles, objects and generated files are put in
MAKEOBJDIR, which means you can now keep objects between two branch
switching. Same for DESTDIR, please refer to build.sh options.
Regarding new or modifications of Makefiles a few things:
* Read share/mk/bsd.README
* If you add a subdirectory, add a Makefile in it, and have it called
by the parent through the SUBDIR variable.
* Do not add arbitrary inclusion which crosses to another branch of
the hierarchy; If you can't do without it, put a comment on why.
If possible, do not use inclusion at all.
* Use as much as possible the infrastructure, it is here to make
life easier, do not fight it.
Sets and package are now used to track files.
We have one set called "minix", composed of one package called "minix-sys"
2012-09-12 09:37:05 +02:00
|
|
|
.if !(${MACHINE} == "acorn32" || \
|
|
|
|
(${MACHINE} == "alpha" && ${X11FLAVOUR} != "Xorg") || \
|
|
|
|
${MACHINE} == "amiga" || \
|
|
|
|
${MACHINE} == "pmax" || \
|
|
|
|
${MACHINE} == "sun3" || \
|
|
|
|
${MACHINE} == "vax")
|
|
|
|
# EXT_DEFINES
|
|
|
|
X11FLAGS.EXTENSION+= -DXF86VIDMODE
|
|
|
|
|
|
|
|
# ServerDefines
|
|
|
|
X11FLAGS.SERVER+= -DXINPUT -DXFreeXDGA -DXF86VIDMODE
|
|
|
|
.endif
|
|
|
|
|
|
|
|
.if ${MACHINE_ARCH} == "alpha" || \
|
|
|
|
${MACHINE_ARCH} == "sparc64" || \
|
|
|
|
${MACHINE_ARCH} == "x86_64"
|
|
|
|
# ServerDefines
|
|
|
|
X11FLAGS.SERVER+= -D_XSERVER64
|
|
|
|
X11FLAGS.EXTENSION+= -D__GLX_ALIGN64
|
|
|
|
.endif
|
|
|
|
|
|
|
|
.if ${MACHINE} == "amd64" || \
|
|
|
|
${MACHINE} == "cats" || \
|
|
|
|
${MACHINE} == "i386" || \
|
|
|
|
${MACHINE} == "macppc" || \
|
|
|
|
${MACHINE} == "netwinder" || \
|
|
|
|
${MACHINE} == "ofppc" || \
|
|
|
|
${MACHINE} == "prep" || \
|
|
|
|
${MACHINE} == "sgimips" || \
|
|
|
|
${MACHINE} == "sparc64" || \
|
|
|
|
${MACHINE} == "sparc" || \
|
|
|
|
${MACHINE} == "shark" || \
|
|
|
|
${MACHINE} == "zaurus"
|
|
|
|
# LOADABLE
|
|
|
|
X11FLAGS.LOADABLE= -DXFree86LOADER -DIN_MODULE -DXFree86Module \
|
|
|
|
${${ACTIVE_CXX} == "gcc":? -fno-merge-constants :}
|
|
|
|
.endif
|
|
|
|
|
|
|
|
# XXX FIX ME
|
|
|
|
.if ${X11FLAVOUR} == "Xorg"
|
|
|
|
XVENDORNAMESHORT= '"X.Org"'
|
|
|
|
XVENDORNAME= '"The X.Org Foundation"'
|
2013-12-06 12:04:52 +01:00
|
|
|
XORG_RELEASE= '"Release 1.10.6"'
|
Upgrading build system to new NetBSD revision
The tested targets are the followgin ones:
* tools
* distribution
* sets
* release
The remaining NetBSD targets have not been disabled nor tested
*at all*. Try them at your own risk, they may reboot the earth.
For all compliant Makefiles, objects and generated files are put in
MAKEOBJDIR, which means you can now keep objects between two branch
switching. Same for DESTDIR, please refer to build.sh options.
Regarding new or modifications of Makefiles a few things:
* Read share/mk/bsd.README
* If you add a subdirectory, add a Makefile in it, and have it called
by the parent through the SUBDIR variable.
* Do not add arbitrary inclusion which crosses to another branch of
the hierarchy; If you can't do without it, put a comment on why.
If possible, do not use inclusion at all.
* Use as much as possible the infrastructure, it is here to make
life easier, do not fight it.
Sets and package are now used to track files.
We have one set called "minix", composed of one package called "minix-sys"
2012-09-12 09:37:05 +02:00
|
|
|
__XKBDEFRULES__= '"xorg"'
|
|
|
|
XLOCALE.DEFINES= -DXLOCALEDIR=\"${X11LIBDIR}/locale\" \
|
|
|
|
-DXLOCALELIBDIR=\"${X11LIBDIR}/locale\"
|
|
|
|
|
|
|
|
# XXX oh yeah, fix me later
|
2013-12-06 12:04:52 +01:00
|
|
|
XORG_VERSION_CURRENT="(((1) * 10000000) + ((10) * 100000) + ((6) * 1000) + 0)"
|
Upgrading build system to new NetBSD revision
The tested targets are the followgin ones:
* tools
* distribution
* sets
* release
The remaining NetBSD targets have not been disabled nor tested
*at all*. Try them at your own risk, they may reboot the earth.
For all compliant Makefiles, objects and generated files are put in
MAKEOBJDIR, which means you can now keep objects between two branch
switching. Same for DESTDIR, please refer to build.sh options.
Regarding new or modifications of Makefiles a few things:
* Read share/mk/bsd.README
* If you add a subdirectory, add a Makefile in it, and have it called
by the parent through the SUBDIR variable.
* Do not add arbitrary inclusion which crosses to another branch of
the hierarchy; If you can't do without it, put a comment on why.
If possible, do not use inclusion at all.
* Use as much as possible the infrastructure, it is here to make
life easier, do not fight it.
Sets and package are now used to track files.
We have one set called "minix", composed of one package called "minix-sys"
2012-09-12 09:37:05 +02:00
|
|
|
.endif
|
|
|
|
|
|
|
|
PRINT_PACKAGE_VERSION= awk '/^PACKAGE_VERSION=/ { \
|
|
|
|
match($$1, "([0-9]+\\.)+[0-9]+"); \
|
|
|
|
version = substr($$1, RSTART, RLENGTH); \
|
|
|
|
} END { print version }'
|
|
|
|
|
|
|
|
|
|
|
|
# Extract X11VERSION
|
|
|
|
PRINTX11VERSION=${TOOL_AWK} ' \
|
|
|
|
/^\#define XF86_VERSION_MAJOR/ {major = $$3} \
|
|
|
|
/^\#define XF86_VERSION_MINOR/ {minor = $$3} \
|
|
|
|
/^\#define XF86_VERSION_PATCH/ {patch = $$3} \
|
|
|
|
/^\#define XF86_VERSION_SNAP/ {snap = $$3} \
|
|
|
|
END { print "((("major") * 10000000) + (("minor") * 100000) + (("patch") * 1000) + "snap")"}' \
|
|
|
|
${X11SRCDIR.xc}/programs/Xserver/hw/xfree86/xf86Version.h
|
|
|
|
|
|
|
|
# Commandline to convert 'XCOMM' comments and 'XHASH' to '#', among other
|
|
|
|
# things. Transformed from the "CppSedMagic" macro from "Imake.rules".
|
|
|
|
#
|
|
|
|
X11TOOL_UNXCOMM= ${TOOL_SED} -e '/^\# *[0-9][0-9]* *.*$$/d' \
|
|
|
|
-e '/^\#line *[0-9][0-9]* *.*$$/d' \
|
|
|
|
-e '/^[ ]*XCOMM$$/s/XCOMM/\#/' \
|
|
|
|
-e '/^[ ]*XCOMM[^a-zA-Z0-9_]/s/XCOMM/\#/' \
|
|
|
|
-e '/^[ ]*XHASH/s/XHASH/\#/' \
|
|
|
|
-e '/\@\@$$/s/\@\@$$/\\/'
|
|
|
|
|
|
|
|
|
|
|
|
CPPFLAGS+= -DCSRG_BASED -DFUNCPROTO=15 -DNARROWPROTO
|
|
|
|
CPPFLAGS+= -I${DESTDIR}${X11INCDIR}
|
|
|
|
|
|
|
|
.if ${MACHINE_ARCH} == "x86_64"
|
|
|
|
CPPFLAGS+= -D__AMD64__
|
|
|
|
.endif
|
|
|
|
|
2013-08-21 11:15:11 +02:00
|
|
|
.if !defined(__MINIX)
|
Upgrading build system to new NetBSD revision
The tested targets are the followgin ones:
* tools
* distribution
* sets
* release
The remaining NetBSD targets have not been disabled nor tested
*at all*. Try them at your own risk, they may reboot the earth.
For all compliant Makefiles, objects and generated files are put in
MAKEOBJDIR, which means you can now keep objects between two branch
switching. Same for DESTDIR, please refer to build.sh options.
Regarding new or modifications of Makefiles a few things:
* Read share/mk/bsd.README
* If you add a subdirectory, add a Makefile in it, and have it called
by the parent through the SUBDIR variable.
* Do not add arbitrary inclusion which crosses to another branch of
the hierarchy; If you can't do without it, put a comment on why.
If possible, do not use inclusion at all.
* Use as much as possible the infrastructure, it is here to make
life easier, do not fight it.
Sets and package are now used to track files.
We have one set called "minix", composed of one package called "minix-sys"
2012-09-12 09:37:05 +02:00
|
|
|
LDFLAGS+= -Wl,-rpath,${X11USRLIBDIR} -L=${X11USRLIBDIR}
|
2013-08-21 11:15:11 +02:00
|
|
|
.else
|
|
|
|
LDFLAGS+= -Wl,-rpath,${X11USRLIBDIR} -L${DESTDIR}${X11USRLIBDIR}
|
|
|
|
.endif # !defined(__MINIX)
|
Upgrading build system to new NetBSD revision
The tested targets are the followgin ones:
* tools
* distribution
* sets
* release
The remaining NetBSD targets have not been disabled nor tested
*at all*. Try them at your own risk, they may reboot the earth.
For all compliant Makefiles, objects and generated files are put in
MAKEOBJDIR, which means you can now keep objects between two branch
switching. Same for DESTDIR, please refer to build.sh options.
Regarding new or modifications of Makefiles a few things:
* Read share/mk/bsd.README
* If you add a subdirectory, add a Makefile in it, and have it called
by the parent through the SUBDIR variable.
* Do not add arbitrary inclusion which crosses to another branch of
the hierarchy; If you can't do without it, put a comment on why.
If possible, do not use inclusion at all.
* Use as much as possible the infrastructure, it is here to make
life easier, do not fight it.
Sets and package are now used to track files.
We have one set called "minix", composed of one package called "minix-sys"
2012-09-12 09:37:05 +02:00
|
|
|
|
|
|
|
|
|
|
|
#
|
|
|
|
# .cpp -> "" handling
|
|
|
|
# CPPSCRIPTS list of files/scripts to run through cpp
|
|
|
|
# CPPSCRIPTFLAGS extra flags to ${CPP}
|
|
|
|
# CPPSCRIPTFLAGS_fn extra flags to ${CPP} for file `fn'
|
|
|
|
#
|
|
|
|
.if defined(CPPSCRIPTS) # {
|
|
|
|
.SUFFIXES: .cpp
|
|
|
|
|
|
|
|
.cpp:
|
|
|
|
${_MKTARGET_CREATE}
|
|
|
|
rm -f ${.TARGET}
|
|
|
|
${CC} -E -undef -traditional - \
|
|
|
|
${CPPSCRIPTFLAGS_${.TARGET}:U${CPPSCRIPTFLAGS}} \
|
|
|
|
< ${.IMPSRC} | ${X11TOOL_UNXCOMM} > ${.TARGET}
|
|
|
|
|
|
|
|
realall: ${CPPSCRIPTS}
|
|
|
|
|
|
|
|
CLEANFILES+= ${CPPSCRIPTS}
|
|
|
|
.endif # }
|
|
|
|
|
|
|
|
#
|
|
|
|
# X.Org pkgconfig files handling
|
|
|
|
#
|
|
|
|
# PKGCONFIG is expected to contain a list of pkgconfig module names.
|
|
|
|
# They will produce the files <module1>.pc, <module2>.pc, etc, to be
|
|
|
|
# put in X11USRLIBDIR/pkgconfig.
|
|
|
|
#
|
|
|
|
# PKGDIST contains the name of a X11SRCDIR subscript where to find the
|
|
|
|
# source file for the pkgconfig files.
|
|
|
|
#
|
|
|
|
# If PKGDIST is not suitable, a consumer can set PKGDIST.<module> with
|
|
|
|
# the full path to the source file.
|
|
|
|
#
|
|
|
|
# Also, the consumer can use PKGDIST alone, and a PKGCONFIG will be
|
|
|
|
# derived from it. Many times, PKGDIST is capitalized and PKGCONFIG is
|
|
|
|
# the lower case version.
|
|
|
|
#
|
|
|
|
|
|
|
|
.if defined(PKGDIST) && !defined(PKGCONFIG)
|
|
|
|
PKGCONFIG= ${PKGDIST:tl}
|
|
|
|
.endif
|
|
|
|
.if defined(PKGCONFIG)
|
|
|
|
|
|
|
|
.include <bsd.files.mk>
|
|
|
|
|
|
|
|
_PKGCONFIG_FILES= ${PKGCONFIG:C/$/.pc/}
|
|
|
|
|
|
|
|
.PHONY: pkgconfig-install
|
|
|
|
pkgconfig-install:
|
|
|
|
|
|
|
|
realall: ${_PKGCONFIG_FILES:O:u}
|
|
|
|
realinstall: pkgconfig-install
|
|
|
|
|
2013-12-06 12:04:52 +01:00
|
|
|
.for _pkg in ${PKGCONFIG:O:u} # {
|
|
|
|
|
Upgrading build system to new NetBSD revision
The tested targets are the followgin ones:
* tools
* distribution
* sets
* release
The remaining NetBSD targets have not been disabled nor tested
*at all*. Try them at your own risk, they may reboot the earth.
For all compliant Makefiles, objects and generated files are put in
MAKEOBJDIR, which means you can now keep objects between two branch
switching. Same for DESTDIR, please refer to build.sh options.
Regarding new or modifications of Makefiles a few things:
* Read share/mk/bsd.README
* If you add a subdirectory, add a Makefile in it, and have it called
by the parent through the SUBDIR variable.
* Do not add arbitrary inclusion which crosses to another branch of
the hierarchy; If you can't do without it, put a comment on why.
If possible, do not use inclusion at all.
* Use as much as possible the infrastructure, it is here to make
life easier, do not fight it.
Sets and package are now used to track files.
We have one set called "minix", composed of one package called "minix-sys"
2012-09-12 09:37:05 +02:00
|
|
|
PKGDIST.${_pkg}?= ${X11SRCDIR.${PKGDIST:U${_pkg}}}
|
|
|
|
_PKGDEST.${_pkg}= ${DESTDIR}${X11USRLIBDIR}/pkgconfig/${_pkg}.pc
|
|
|
|
|
|
|
|
.PATH: ${PKGDIST.${_pkg}}
|
|
|
|
|
|
|
|
FILESOWN_${_pkg}.pc= ${BINOWN}
|
|
|
|
FILESGRP_${_pkg}.pc= ${BINGRP}
|
|
|
|
FILESMODE_${_pkg}.pc= ${NONBINMODE}
|
|
|
|
|
|
|
|
${_PKGDEST.${_pkg}}: ${_pkg}.pc __fileinstall
|
|
|
|
pkgconfig-install: ${_PKGDEST.${_pkg}}
|
2013-12-06 12:04:52 +01:00
|
|
|
|
|
|
|
# Add a dependancy on the configure file if it exists; this way we
|
|
|
|
# will rebuild the .pc file if the version in configure changes.
|
|
|
|
.if exists(${PKGDIST.${_pkg}}/configure)
|
|
|
|
${_pkg}.pc: ${PKGDIST.${_pkg}}/configure
|
|
|
|
.endif
|
|
|
|
|
|
|
|
.endfor # }
|
Upgrading build system to new NetBSD revision
The tested targets are the followgin ones:
* tools
* distribution
* sets
* release
The remaining NetBSD targets have not been disabled nor tested
*at all*. Try them at your own risk, they may reboot the earth.
For all compliant Makefiles, objects and generated files are put in
MAKEOBJDIR, which means you can now keep objects between two branch
switching. Same for DESTDIR, please refer to build.sh options.
Regarding new or modifications of Makefiles a few things:
* Read share/mk/bsd.README
* If you add a subdirectory, add a Makefile in it, and have it called
by the parent through the SUBDIR variable.
* Do not add arbitrary inclusion which crosses to another branch of
the hierarchy; If you can't do without it, put a comment on why.
If possible, do not use inclusion at all.
* Use as much as possible the infrastructure, it is here to make
life easier, do not fight it.
Sets and package are now used to track files.
We have one set called "minix", composed of one package called "minix-sys"
2012-09-12 09:37:05 +02:00
|
|
|
|
|
|
|
# XXX
|
|
|
|
# The sed script is very, very ugly. What we actually need is a
|
|
|
|
# mknative-xorg script that will generate all the .pc files from
|
|
|
|
# running the autoconfigure script.
|
|
|
|
# And yes, it has to be splitted in two otherwise it's too long
|
|
|
|
# for sed to handle.
|
|
|
|
|
|
|
|
# hacky transforms:
|
|
|
|
# @XCBPROTO_VERSION@
|
|
|
|
|
|
|
|
.SUFFIXES: .pc.in .pc
|
|
|
|
.pc.in.pc:
|
|
|
|
${_MKTARGET_CREATE}
|
|
|
|
rm -f ${.TARGET}
|
|
|
|
if [ -n '${PKGCONFIG_VERSION.${.PREFIX}}' ]; then \
|
|
|
|
_pkg_version='${PKGCONFIG_VERSION.${.PREFIX}}'; \
|
|
|
|
else \
|
|
|
|
_pkg_version=$$(${PRINT_PACKAGE_VERSION} \
|
|
|
|
${PKGDIST.${.PREFIX}}/configure); \
|
|
|
|
fi; \
|
|
|
|
${TOOL_SED} \
|
|
|
|
-e "s,@prefix@,${X11ROOTDIR},; \
|
|
|
|
s,@INSTALL_DIR@,${X11ROOTDIR},; \
|
|
|
|
s,@exec_prefix@,\\$$\{prefix\},; \
|
|
|
|
s,@libdir@,\\$$\{prefix\}/lib,; \
|
|
|
|
s,@includedir@,\\$$\{prefix\}/include,; \
|
|
|
|
s,@datarootdir@,\\$$\{prefix\}/share,; \
|
|
|
|
s,@datadir@,\\$$\{datarootdir\},; \
|
|
|
|
s,@appdefaultdir@,\\$$\{libdir}/X11/app-defaults,; \
|
|
|
|
s,@MAPDIR@,\\$$\{libdir\}/X11/fonts/util,; \
|
|
|
|
s,@ICONDIR@,\\$$\{datarootdir\}/icons,; \
|
|
|
|
s,@PACKAGE_VERSION@,$${_pkg_version},; \
|
|
|
|
s,@VERSION@,$${_pkg_version},; \
|
|
|
|
s,@COMPOSITEEXT_VERSION@,$${_pkg_version%.*},; \
|
|
|
|
s,@DAMAGEEXT_VERSION@,$${_pkg_version%.*},; \
|
|
|
|
s,@FIXESEXT_VERSION@,$${_pkg_version%.*},; \
|
|
|
|
s,@RANDR_VERSION@,$${_pkg_version%.*},; \
|
|
|
|
s,@RENDER_VERSION@,$${_pkg_version%.*}," \
|
|
|
|
-e "s,@LIBS@,,; \
|
|
|
|
s,@Z_LIBS@,-lz,; \
|
|
|
|
s,@LIBZ@,-lz,; \
|
|
|
|
s,@LIBBZ2@,-lbz2,; \
|
|
|
|
s,@xkb_base@,\\$$\{prefix\}/lib/X11/xkb,; \
|
|
|
|
s,@xcbincludedir@,\\$$\{prefix\}/share/xcb,; \
|
|
|
|
s,@fontrootdir@,\\$$\{libdir\}/X11/fonts,; \
|
|
|
|
s,@LIBXML2_LIBS@,,; \
|
|
|
|
s,@ICONV_LIBS@,,; \
|
|
|
|
s,@NEEDED@,,; \
|
|
|
|
s,@FT2_EXTRA_LIBS@,," \
|
|
|
|
-e "s,@moduledir@,\\$$\{libdir\}/modules,; \
|
|
|
|
s,@sdkdir@,\\$$\{includedir\}/xorg,; \
|
|
|
|
s,@PIXMAN_CFLAGS@,,; \
|
|
|
|
s,@LIB_DIR@,/lib,; \
|
|
|
|
s,@INSTALL_LIB_DIR@,\\$$\{prefix\}/lib,; \
|
|
|
|
s,@INSTALL_INC_DIR@,\\$$\{prefix\}/include,; \
|
|
|
|
s,@XKBPROTO_REQUIRES@,kbproto,; \
|
|
|
|
s,@XCBPROTO_VERSION@,1.7,; \
|
|
|
|
s,@FREETYPE_REQUIRES@,freetype2,; \
|
|
|
|
s,@EXPAT_LIBS@,-lexpat,; \
|
|
|
|
s,@FREETYPE_LIBS@,-lfreetype,; \
|
|
|
|
s,@DEP_CFLAGS@,,; \
|
|
|
|
s,@DEP_LIBS@,,; \
|
|
|
|
s,@X11_EXTRA_DEPS@,,; \
|
|
|
|
s,@XTHREAD_CFLAGS@,-D_REENTRANT,; \
|
|
|
|
s,@XTHREADLIB@,-lpthread,; \
|
|
|
|
s,@GL_LIB@,GL,; \
|
|
|
|
s,@GL_PC_REQ_PRIV@,x11 xext,; \
|
|
|
|
s,@GL_PC_LIB_PRIV@,-lm -lpthread,; \
|
|
|
|
s,@GL_PC_CFLAGS@,," \
|
|
|
|
-e "s,@GLU_LIB@,GLU,; \
|
|
|
|
s,@GLU_PC_REQ@,gl,; \
|
|
|
|
s,@GLU_PC_REQ_PRIV@,,; \
|
|
|
|
s,@GLU_PC_LIB_PRIV@,-lGLU,; \
|
|
|
|
s,@GLU_PC_CFLAGS@,,; \
|
|
|
|
s,@GLUT_LIB@,glut,; \
|
|
|
|
s,@GLUT_PC_REQ_PRIV@,gl glu,; \
|
|
|
|
s,@GLUT_PC_LIB_PRIV@,-lglut,; \
|
|
|
|
s,@GLUT_PC_CFLAGS@,,; \
|
|
|
|
s,@GLW_PC_CFLAGS@,,; \
|
|
|
|
s,@GLW_PC_REQ_PRIV@,x11 xt,; \
|
|
|
|
s,@GLW_PC_LIB_PRIV@,,; \
|
|
|
|
s,@DRI_DRIVER_DIR@,\\$$\{libdir\}/modules/dri,; \
|
|
|
|
s,@DRI_PC_REQ_PRIV@,,; \
|
|
|
|
s,@GLW_LIB@,GLw,; \
|
|
|
|
s,@abi_ansic@,0.4,; \
|
|
|
|
s,@abi_videodrv@,5.0,; \
|
|
|
|
s,@abi_xinput@,4.0,; \
|
|
|
|
s,@abi_extension@,2.0,; \
|
|
|
|
s,@abi_font@,0.6,; \
|
|
|
|
s,@fchown_define@,-DHAS_FCHOWN,; \
|
|
|
|
s,@sticky_bit_define@,-DHAS_STICKY_DIR_BIT," \
|
|
|
|
-e '/^Libs:/ s%-L\([^ ]*\)%-Wl,-rpath,\1 &%g' \
|
|
|
|
< ${.IMPSRC} > ${.TARGET}.tmp && \
|
|
|
|
mv -f ${.TARGET}.tmp ${.TARGET}
|
|
|
|
|
|
|
|
CLEANDIRFILES+= ${_PKGCONFIG_FILES} ${_PKGCONFIG_FILES:C/$/.tmp/}
|
|
|
|
.endif
|
|
|
|
|
|
|
|
#
|
|
|
|
# APPDEFS (app defaults) handling
|
|
|
|
#
|
|
|
|
.if defined(APPDEFS) # {
|
|
|
|
appdefsinstall:: .PHONY ${APPDEFS:@S@${DESTDIR}${X11LIBDIR}/app-defaults/${S:T:R}@}
|
|
|
|
.PRECIOUS: ${APPDEFS:@S@${DESTDIR}${X11LIBDIR}/app-defaults/${S:T:R}@}
|
|
|
|
|
|
|
|
__appdefinstall: .USE
|
|
|
|
${_MKTARGET_INSTALL}
|
|
|
|
${INSTALL_FILE} -o ${BINOWN} -g ${BINGRP} -m ${NONBINMODE} \
|
|
|
|
${.ALLSRC} ${.TARGET}
|
|
|
|
|
|
|
|
.for S in ${APPDEFS:O:u}
|
|
|
|
${DESTDIR}${X11LIBDIR}/app-defaults/${S:T:R}: ${S} __appdefinstall
|
|
|
|
.endfor
|
|
|
|
|
|
|
|
realinstall: appdefsinstall
|
|
|
|
.endif # }
|
|
|
|
|
|
|
|
|
|
|
|
#
|
|
|
|
# .man page handling
|
|
|
|
#
|
|
|
|
.if (${MKMAN} != "no" && (${MAN:U} != "" || ${PROG:U} != "")) # {
|
|
|
|
CLEANDIRFILES+= ${MAN:U${PROG:D${PROG.1}}}
|
|
|
|
.endif # }
|
|
|
|
|
|
|
|
.SUFFIXES: .man .man.pre .1 .3 .4 .5 .7
|
|
|
|
|
|
|
|
_X11MANTRANSFORM= \
|
|
|
|
__adminmansuffix__ 8 \
|
|
|
|
__apploaddir__ ${X11ROOTDIR}/lib/X11/app-defaults \
|
|
|
|
__appmansuffix__ 1 \
|
|
|
|
__bindir__ ${X11BINDIR} \
|
|
|
|
__drivermansuffix__ 4 \
|
|
|
|
__filemansuffix__ 5 \
|
|
|
|
__LIB_MAN_SUFFIX__ 3 \
|
|
|
|
__libmansuffix__ 3 \
|
|
|
|
__logdir__ /var/log \
|
|
|
|
__mandir__ ${X11MANDIR} \
|
|
|
|
__miscmansuffix__ 7 \
|
|
|
|
__oslibmansuffix__ 3 \
|
|
|
|
__projectroot__ ${X11ROOTDIR} \
|
|
|
|
${X11EXTRAMANTRANSFORMS}
|
|
|
|
|
|
|
|
# Note the escaping trick for _X11MANTRANSFORM using % to replace spaces
|
|
|
|
.if ${X11FLAVOUR} != "Xorg"
|
|
|
|
X11VERSION= "XFree86 4.5.0"
|
|
|
|
X11MANCPP?= yes
|
|
|
|
_X11MANTRANSFORM+= \
|
|
|
|
__vendorversion__ ${X11VERSION:C/ /%/gW}
|
|
|
|
.else
|
|
|
|
XORGVERSION= '"X Version 11"'
|
|
|
|
X11MANCPP?= no
|
|
|
|
_X11MANTRANSFORM+= \
|
|
|
|
__vendorversion__ ${XORGVERSION:C/ /%/gW} \
|
|
|
|
__XCONFIGFILE__ xorg.conf \
|
|
|
|
__xconfigfile__ xorg.conf \
|
|
|
|
__XCONFIGFILEMAN__ '__XCONFIGFILE__%(__filemansuffix__)' \
|
|
|
|
__xorgversion__ ${XORGVERSION:C/ /%/gW} \
|
|
|
|
__XSERVERNAME__ Xorg \
|
|
|
|
__xservername__ Xorg
|
|
|
|
.endif
|
|
|
|
|
|
|
|
_X11MANTRANSFORMCMD= ${TOOL_SED} -e 's/\\$$/\\ /' ${.IMPSRC}
|
|
|
|
|
|
|
|
.if ${X11MANCPP} != "no"
|
|
|
|
_X11MANTRANSFORMCMD+= | ${CC} -E -undef -traditional -
|
|
|
|
. for __def__ __value__ in ${_X11MANTRANSFORM}
|
|
|
|
_X11MANTRANSFORMCMD+= -D${__def__}=${__value__:C/%/ /gW}
|
|
|
|
. endfor
|
|
|
|
.else
|
|
|
|
_X11MANTRANSFORMCMD+= | ${TOOL_SED}
|
|
|
|
. for __def__ __value__ in ${_X11MANTRANSFORM}
|
|
|
|
_X11MANTRANSFORMCMD+= -e s,${__def__},${__value__:C/%/ /gW},g
|
|
|
|
. endfor
|
|
|
|
.endif
|
|
|
|
_X11MANTRANSFORMCMD+= ${X11EXTRAMANDEFS}
|
|
|
|
|
|
|
|
.man.1 .man.3 .man.4 .man.5 .man.7 .man.pre.1 .man.pre.4 .man.pre.5:
|
|
|
|
${_MKTARGET_CREATE}
|
|
|
|
rm -f ${.TARGET}
|
|
|
|
${_X11MANTRANSFORMCMD} | ${X11TOOL_UNXCOMM} > ${.TARGET}
|
|
|
|
|
|
|
|
##### Pull in related .mk logic
|
|
|
|
.include <bsd.clean.mk>
|