pkgsrc/meta-pkgs/xorg/Makefile.common
xtraeme 69c871c448 xorg packages now will be installed into ${PREFIX}/xorg by default,
so we don't have to conflict between XFree86 and xorg.

Suggested by grant@.
2004-07-29 06:36:32 +00:00

238 lines
6.3 KiB
Makefile

# $NetBSD: Makefile.common,v 1.2 2004/07/29 06:36:34 xtraeme Exp $
#
# XBUILD_DIRS is the group of directories under ${WRKSRC} that will
# be built in.
# XINCLUDE_DIRS is the group of directories under ${WRKSRC} that need
# to be Makefilesed or included in besides XBUILD_DIRS
# XINSTALL_DIRS is the group of directories which will have
# their install targets run.
# XINSTALL_MAN_DIRS is the group of directories which will have
# their install.man targets run.
.if !defined(XORG_MAKEFILE_COMMON)
XORG_MAKEFILE_COMMON= # defined
.include "../../mk/bsd.prefs.mk"
#
# Manual page handling.
#
.if ${OPSYS} == "FreeBSD"
. if ${LOWER_OPSYS_VERSUFFIX} == "4"
XTHRSTUB_MINOR= '@comment '
LIBXTHRSTUB=
. else
XTHRSTUB_MINOR=
LIBXTHRSTUB= '@comment '
. endif
XF86RUSH= '@comment '
IMAKE_MANTOOLS=
LIBDRI=
MANSOURCEPATH= man/man
MAN_DIR= ${MANSOURCEPATH}1
LIBMAN_DIR= ${MANSOURCEPATH}3
KERNMAN_DIR= ${MANSOURCEPATH}4
FILEMAN_DIR= ${MANSOURCEPATH}5
MISCMAN_DIR= ${MANSOURCEPATH}7
MAN_SUFFIX= 1
LIBMAN_SUFFIX= 3
KERNMAN_SUFFIX= 4
FILEMAN_SUFFIX= 5
MISCMAN_SUFFIX= 7
.elif ${OPSYS} == "Linux"
XF86RUSH=
USE_GNU_TOOLS+= make
IMAKE_MANTOOLS=
LIBDRI=
MANSOURCEPATH= man/man
MAN_DIR= ${MANSOURCEPATH}1
LIBMAN_DIR= ${MANSOURCEPATH}3
KERNMAN_DIR= ${MANSOURCEPATH}4
FILEMAN_DIR= ${MANSOURCEPATH}5
MISCMAN_DIR= ${MANSOURCEPATH}7
MAN_SUFFIX= 1x
LIBMAN_SUFFIX= 3x
KERNMAN_SUFFIX= 4
FILEMAN_SUFFIX= 5x
MISCMAN_SUFFIX= 7
.elif ${OPSYS} == "NetBSD" || ${OPSYS} == "OpenBSD"
XF86RUSH= '@comment '
IMAKE_MANTOOLS= '@comment '
LIBDRI= '@comment '
MANSOURCEPATH= man/cat
MAN_DIR= ${MANSOURCEPATH}1
LIBMAN_DIR= ${MANSOURCEPATH}3
KERNMAN_DIR= ${MANSOURCEPATH}4
FILEMAN_DIR= ${MANSOURCEPATH}5
MISCMAN_DIR= ${MANSOURCEPATH}7
MAN_SUFFIX= 0
LIBMAN_SUFFIX= ${MAN_SUFFIX}
KERNMAN_SUFFIX= ${MAN_SUFFIX}
FILEMAN_SUFFIX= ${MAN_SUFFIX}
MISCMAN_SUFFIX= ${MAN_SUFFIX}
.endif # NetBSD
.if !defined(XORG_ONLY_DIRS) || empty(XORG_ONLY_DIRS:M[Yy][Ee][Ss])
PLIST_SUBST+= XTHRSTUB_MINOR=${XTHRSTUB_MINOR}
PLIST_SUBST+= LIBXTHRSTUB=${LIBXTHRSTUB}
PLIST_SUBST+= XF86RUSH=${XF86RUSH}
PLIST_SUBST+= IMAKE_MANTOOLS=${IMAKE_MANTOOLS}
PLIST_SUBST+= LIBDRI=${LIBDRI}
PLIST_SUBST+= MAN_DIR=${MAN_DIR}
PLIST_SUBST+= LIBMAN_DIR=${LIBMAN_DIR}
PLIST_SUBST+= MAN_SUFFIX=${MAN_SUFFIX}
PLIST_SUBST+= LIBMAN_SUFFIX=${LIBMAN_SUFFIX}
PLIST_SUBST+= KERNMAN_DIR=${KERNMAN_DIR}
PLIST_SUBST+= KERNMAN_SUFFIX=${KERNMAN_SUFFIX}
PLIST_SUBST+= FILEMAN_DIR=${FILEMAN_DIR}
PLIST_SUBST+= FILEMAN_SUFFIX=${FILEMAN_SUFFIX}
PLIST_SUBST+= MISCMAN_DIR=${MISCMAN_DIR}
PLIST_SUBST+= MISCMAN_SUFFIX=${MISCMAN_SUFFIX}
.if defined(CHECK_X11_TYPE)
. if !defined(X11_TYPE) || empty(X11_TYPE:Mxorg)
PKG_FAIL_REASON+= "X11_TYPE=xorg is mandatory."
. endif
.endif
NO_MTREE= # defined
X11ROOT_PREFIX?= xorg
WRKSRC?= ${WRKDIR}/xc
X11ROOT?= ${PREFIX}/${X11ROOT_PREFIX}
PREPEND_PATH= ${X11ROOT}/bin # Make sure we have this in PATH :)
PLIST_SUBST+= X11ROOT_PREFIX=${X11ROOT_PREFIX}
MESSAGE_SUBST+= X11ROOT=${X11ROOT}
#
# Any volunteer to test any platform not listed here? :)
#
ONLY_FOR_PLATFORM= FreeBSD-*-* Linux-*-* NetBSD-*-* OpenBSD-*-* SunOS-*-*
MASTER_SITE_XORG+= \
http://freedesktop.org/~xorg/X11R6.7.0/src/ \
ftp://ftp.x.org/pub/ \
ftp://ftp.gwdg.de/pub/x11/x.org/pub/ \
ftp://ftp.cica.es/pub/X/pub/ \
ftp://ftp.cs.cuhk.edu.hk/pub/X11/ \
ftp://sunsite.sut.ac.jp/pub/archives/X11/ \
ftp://ftp.unicamp.br/pub/X11/releases/
XORG_VER= 6.7.0
IMAKE= ${X11ROOT}/bin/imake
XINSTALL_DIRS?= ${XBUILD_DIRS}
_XINCLUDE_DIRS= include ${XBUILD_DIRS} ${XINCLUDE_DIRS}
#
# Operating Systems to pass our compiler options (CC, CXX, CPP, CFLAGS).
#
SYSTEMS= FreeBSD NetBSD OpenBSD linux
.if !defined(NO_XORG_TARGETS)
USE_LANGUAGES= c c++
. if !target(post-extract)
GLOBAL_LDFLAGS= -L${LOCALBASE}/lib -L${X11ROOT}/lib \
${_COMPILER_LD_FLAG}${RPATH_FLAG}${LOCALBASE}/lib \
${_COMPILER_LD_FLAG}${RPATH_FLAG}${X11BASE}/lib
post-extract:
@${SED} \
-e "s|@BLNK@|${BUILDLINK_DIR}|g" \
-e "s|@MAKE@|${MAKE_PROGRAM}|g" \
-e "s|@MAKE_PROGRAM@|${MAKE_PROGRAM}|g" \
-e "s|@IMAKE@|${IMAKE}|g" \
-e "s|@RMAN@|${X11ROOT}/bin/rman|g" \
-e "s|@MKHTMLINDEX@|${X11ROOT}/bin/mkhtmlindex|g" \
-e "s|@GCCMAKEDEP@|${X11ROOT}/bin/gccmakedep|g" \
-e "s|@MAKEDEPEND@|${X11ROOT}/bin/makedepend|g" \
-e "s|@REVPATH@|${X11ROOT}/bin/revpath|g" \
-e "s|@PREFIX@|${X11ROOT}|g" \
-e "s|@LOCALBASE@|${LOCALBASE}|g" \
-e "s|@LDFLAGS@|${GLOBAL_LDFLAGS}|g" \
-e "s|@WRKSRC@|${WRKSRC}|g" \
${FILESDIR}/host.def > ${WRKSRC}/config/cf/host.def
@${LN} -sf ${X11ROOT}/bin/gccmakedep ${WRKSRC}/config/util
@${LN} -sf ${X11ROOT}/bin/revpath ${WRKSRC}/config/util
@${LN} -sf ${X11ROOT}/bin/pswrap ${WRKSRC}/config/pswrap
@${LN} -sf ${X11ROOT}/lib/X11/config/version.def ${WRKSRC}/config/cf
@${LN} -sf ${X11ROOT}/lib/X11/config/date.def ${WRKSRC}/config/cf
. if exists(${FILESDIR}/Wraphelp.c)
@${CP} ${FILESDIR}/Wraphelp.c ${WRKSRC}/lib/Xdmcp
. endif
. for F in ${SYSTEMS}
@${MV} ${WRKSRC}/config/cf/${F}.cf \
${WRKSRC}/config/cf/${F}.cf.in
. endfor
. undef F
. endif
. if !target(pre-configure)
pre-configure:
. for F in ${SYSTEMS}
@${SED} -e "s|@@PKGSRC_CC@@|${CC}|g" \
-e "s|@@PKGSRC_CXX@@|${CXX}|g" \
-e "s|@@PKGSRC_CPP@@|${CPP}|g" \
-e "s|@@PKGSRC_CFLAGS@@|${CFLAGS:C/-I.*//}|g" \
-e "s|-I${LOCALBASE}/include||" \
-e "s|-I${X11BASE}/include||" \
${WRKSRC}/config/cf/${F}.cf.in > \
${WRKSRC}/config/cf/${F}.cf
. endfor
. undef F
. endif
. if !target(do-configure)
do-configure:
@for dir in ${_XINCLUDE_DIRS}; do \
cd ${WRKSRC}/$${dir} && ${IMAKE} \
-DTOPDIR=${WRKSRC} -DCURDIR=$${dir} \
-I${WRKSRC}/config/cf; \
done
@for dir in ${_XINCLUDE_DIRS}; do \
cd ${WRKSRC}/$${dir} && ${MAKE} Makefiles; \
done
@for dir in ${_XINCLUDE_DIRS}; do \
cd ${WRKSRC}/$${dir} && ${MAKE} includes; \
done
@for dir in include ${XBUILD_DIRS}; do \
cd ${WRKSRC}/$${dir} && ${MAKE} depend; \
done
. endif
. if !target(do-build)
do-build:
@for dir in ${XBUILD_DIRS}; do \
cd ${WRKSRC}/$${dir} && ${MAKE} all; \
done
. endif
. if !target(do-install)
do-install:
@for dir in ${XINSTALL_DIRS}; do \
cd ${WRKSRC}/$${dir} && ${MAKE} install; \
done
@for dir in ${XINSTALL_MAN_DIRS}; do \
cd ${WRKSRC}/$${dir} && ${MAKE} install.man; \
done
. endif
.endif # NO_XORG_TARGETS
.endif # !defined(XORG_ONLY_DIRS) || empty(XORG_ONLY_DIRS:M[Yy][Ee][Ss])
.endif # !defined(XORG_MAKEFILE_COMMON)