freebsd-ports/x11-toolkits/jx/Makefile
Satoshi Asami c6bcad2436 (1) Add new variable, XFREE86_VERSION, to specify which version of
XFree86 (3 or 4) to depend to when USE_XLIB is set.
    XFREE86_VERSION defaults to 3 for now, but adventurous users can
    override it in /etc/make.conf.  When XFREE86_VERSION=3, USE_XLIB
    will add a dependency to x11/XFree86; when it is set to 4, the
    dependency will be to x11/XFree86-4-libraries.  When
    XFREE86_VERSION=4, the PKG_IGNORE_DEPENDS and ALWAYS_BUILD_DEPENDS
    hacks to avoid messing with XFree86 are turned off.

    Since XFree86 version 4 includes some software that used to be
    separate ports, when XFREE86_VERSION=3 the following variables are
    provided:

    USE_DGS		LIB_DEPENDS on x11/dgs
    USE_FREETYPE	LIB_DEPENDS on print/freetype
    USE_MESA		LIB_DEPENDS on graphics/Mesa3
    USE_XPM		LIB_DEPENDS on graphics/xpm

    When XFREE86_VERSION=4, these variables have no effect.  The
    LIB_DEPENDS in the tree for the above four ports have all been
    converted to the USE_* counterparts.  For your information, this
    is the count of the number of ports:

    USE_DGS		0
    USE_FREETYPE	16
    USE_MESA		36
    USE_XPM		236

    There is a new variable, XAWVER, which is set to 6 when
    XFREE86_VERSION=3 and 7 when XFREE86_VERSION=4.  This is also
    passed to PLIST_SUB so ports that build Xaw based shared libraries
    can use this variable to substitute the shlib version number.

    There is also a provision of using a separate mtree file for
    XFREE86_VERSION=4, but that part is not enabled yet.

Reviewed by:	the ports list
Tested by:	make index (XFREE86_VERSION=3 only)

(2) Add hebrew to list of valid categories.
Submitted by:	nbm
2000-08-03 09:28:57 +00:00

240 lines
6.3 KiB
Makefile

# New ports collection makefile for: JX
# Date created: 30 July 1999
# Whom: Davec <davec@unforgettable.com>
#
# $FreeBSD$
#
PORTNAME= JX
PORTVERSION= 1.5.3
CATEGORIES= x11-toolkits
MASTER_SITES= ftp://ftp.newplanetsoftware.com/pub/jx/source-1.5.3/ \
ftp://ftp.newplanetsoftware.com/pub/jcc/source/ \
ftp://ftp.newplanetsoftware.com/pub/medic/source/ \
ftp://ftp.cs.itu.edu.tr/pub/linux/x11/jx/
DISTNAME= ${PORTNAME}_source-${PORTVERSION}
MAINTAINER= lioux@linf.unb.br
LIB_DEPENDS= png.4:${PORTSDIR}/graphics/png
WRKSRC= ${WRKDIR}/${PORTNAME}-${PORTVERSION}
USE_X_PREFIX= yes
USE_XPM= yes
INSTALLS_SHLIB= yes
USE_BISON= yes
USE_GMAKE= yes
MAKE_ENV+= JX_INSTALL_ROOT="${PREFIX}/bin" \
JX_LIB_ROOT="${PREFIX}/lib" \
X11PREFIX="${X11PREFIX}" \
PATH="${WRKSRC}/programs/makemake:${PATH}" \
PORTCFLAGS="${CFLAGS}" \
PORTCXXFLAGS="${CXXFLAGS}"
PLIST_SUB= LIBACE="${LIBACE}" \
LIBJTOOL="${LIBJTOOL}" \
LIBJX="${LIBJX}" \
X11PREFIX="${X11PREFIX}"
EXTRA_PATCHES= ${WRKDIR}/patch-aa ${WRKDIR}/patch-ab
X11PREFIX?= ${X11BASE}
# Installs dir with proper permissions
INSTALL_DATA_DIR= ${INSTALL} -d -o ${SHAREOWN} -g ${SHAREGRP} -m 755
# the libraries
LIBFILES= libACE-5_0_2.so \
libjcore-1_5_3.a libjcore-1_5_3.so \
libjx-1_5_3.a libjx-1_5_3.so
# bin program files
PROGRAMFILES= lib/util/autodoc/autodoc programs/makemake/makemake
PROGRAMFILES_SCRIPT= makemake/makecheck makemake/maketouch
# x11 program files
X11R6FILES= jxlayout/jxlayout
X11R6FILES_SCRIPT= jxlayout/jfdesign
# header files
INCLUDEDIR= jcore jx
INCLUDEDIR_ACE_WRKSRC= ACE/ACE_wrappers/ace
INCLUDEDIR_ACE_DIR= . CLASSIX
# documentation
DOCDIR_PREFIX= ${PREFIX}/share/doc/jx
DOCFILES= README FAQ LICENSE CHANGES
DOCDIRS= ACE jxlayout makemake
DOCDIRFILES= LICENSE README
# examples
EXAMPLEDIRS= tutorial
EXAMPLEDIR_PREFIX= ${PREFIX}/share/examples/jx
# xpm images
ICONDIRS= libjx/menu_image
ICONDIR_PREFIX= ${PREFIX}/share/jx
# additional configuration and header files
EXTRALIB_PREFIX= ${PREFIX}/lib/jx
EXTRALIBDIRS= jxlayout lib make
EXTRALIBFILES_JXLAYOUT= class_map need_font_list option_map
EXTRALIBFILES_MAKE_WRKSRC= include/make
EXTRALIBFILES_MAKE_DIR= . sys
# odd behavior
POSTBUILD_WRKSRC= makemake jxlayout
# post patch preprocessing
POSTPATCH_PREPROCESS_FILES= patch-aa patch-ab
# post patch garbage colletion
POSTPATCH_CLEAN_WRKSRC= include/make include/make/sys
.include <bsd.port.pre.mk>
.if ${OSVERSION} >= 300000
ALL_TARGET= freebsd3.x
LIBACE= 5
LIBJTOOL= 0
LIBJX= 1
.else
ALL_TARGET= freebsd2.x
LIBACE= 5.0
LIBJTOOL= 0.5
LIBJX= 1.5
.endif
.if defined(NOPORTDOCS)
PLIST_SUB+= PORTDOCS:="@comment "
.else
PLIST_SUB+= PORTDOCS:=
.endif # !defined(NOPORTDOCS)
pre-patch:
.for i in ${POSTPATCH_PREPROCESS_FILES}
@${SED} "s!X11PREFIX!${X11PREFIX}!g" ${FILESDIR}/${i} > ${WRKDIR}/${i}
.endfor
post-patch:
.for i in ${POSTPATCH_CLEAN_WRKSRC}
@cd ${WRKSRC}/${i} ; ${RM} *.orig
.endfor
# odd behavior
post-build:
.for i in ${POSTBUILD_WRKSRC}
@cd ${WRKSRC}/programs/${i}; ${SETENV} ${MAKE_ENV} ${GMAKE}
.endfor
do-install:
.if !defined(NOPORTDOCS)
# Install all documentation
@${INSTALL_DATA_DIR} ${DOCDIR_PREFIX}
.for i in ${DOCFILES}
@${INSTALL_DATA} ${WRKSRC}/${i} ${DOCDIR_PREFIX}
.endfor
.for i in ${DOCDIRS}
@for j in ${DOCDIRFILES} ; \
do \
if [ -f ${WRKSRC}/programs/${i}/$${j} ]; \
then \
${INSTALL_DATA} ${WRKSRC}/programs/${i}/$${j} \
${DOCDIR_PREFIX}/$${j}_${i} ; \
elif [ -f ${WRKSRC}/${i}/$${j} ]; \
then \
${INSTALL_DATA} ${WRKSRC}/${i}/$${j} \
${DOCDIR_PREFIX}/$${j}_${i} ; \
fi ; \
done
.endfor
@${INSTALL_DATA} ${WRKSRC}/doc/* ${DOCDIR_PREFIX}
@${INSTALL_DATA} ${WRKSRC}/ACE/ACE_wrappers/VERSION \
${DOCDIR_PREFIX}/ACE_VERSION
# Install all examples
.for i in ${EXAMPLEDIRS}
@${INSTALL_DATA_DIR} ${EXAMPLEDIR_PREFIX}/${i} ; \
cd ${WRKSRC}/${i}; \
for j in * ; \
do \
if [ -f $${j} ]; \
then \
${INSTALL_DATA} $${j} ${EXAMPLEDIR_PREFIX}/${i} ; \
elif [ -d $${j} ]; \
then \
${INSTALL_DATA_DIR} ${EXAMPLEDIR_PREFIX}/${i}/$${j} ; \
for k in $${j}/* ; \
do \
${INSTALL_DATA} $${k} ${EXAMPLEDIR_PREFIX}/${i}/$${j} ; \
done; \
fi; \
done
.endfor
.endif # !defined(NOPORTDOCS)
# Install all icons
.for i in ${ICONDIRS}
@${INSTALL_DATA_DIR} ${ICONDIR_PREFIX} ; \
for j in ${WRKSRC}/${i}/*.xpm ; \
do \
${INSTALL_DATA} $${j} ${ICONDIR_PREFIX} ; \
done
.endfor
# Install all header files
.for i in ${INCLUDEDIR}
@${INSTALL_DATA_DIR} ${PREFIX}/include/${i} ; \
for j in ${WRKSRC}/include/${i}/*.h ${WRKSRC}/include/${i}/*.th ; \
do \
${INSTALL_DATA} $${j} ${PREFIX}/include/${i} ; \
done
.endfor
.for i in ${INCLUDEDIR_ACE_DIR}
@${INSTALL_DATA_DIR} ${PREFIX}/include/ace/${i}
@${INSTALL_DATA} ${WRKSRC}/${INCLUDEDIR_ACE_WRKSRC}/${i}/*.cpp \
${PREFIX}/include/ace/${i}/
@${INSTALL_DATA} ${WRKSRC}/${INCLUDEDIR_ACE_WRKSRC}/${i}/*.h \
${PREFIX}/include/ace/${i}/
@${INSTALL_DATA} ${WRKSRC}/${INCLUDEDIR_ACE_WRKSRC}/${i}/*.i \
${PREFIX}/include/ace/${i}/
.endfor
# Install all *.tmpl* files
@for j in ${WRKSRC}/include/jcore/*.tmpl* ; \
do \
${INSTALL_DATA} $${j} ${PREFIX}/include/jcore ; \
done
# Install all libraries
.for i in ${LIBFILES}
@${INSTALL_PROGRAM} ${WRKSRC}/lib/${i} ${PREFIX}/lib
.endfor
# Install additional library files
.for i in ${EXTRALIBDIRS}
@${INSTALL_DATA_DIR} ${EXTRALIB_PREFIX}/${i}
.endfor
.for i in ${EXTRALIBFILES_JXLAYOUT}
@${INSTALL_DATA} ${WRKSRC}/programs/jxlayout/${i} \
${EXTRALIB_PREFIX}/jxlayout
.endfor
.for i in ${EXTRALIBFILES_MAKE_DIR}
@${INSTALL_DATA_DIR} ${EXTRALIB_PREFIX}/make/${i} ; \
for j in ${WRKSRC}/${EXTRALIBFILES_MAKE_WRKSRC}/${i}/* ; \
do \
if [ -f $${j} ]; \
then \
${INSTALL_DATA} $${j} ${EXTRALIB_PREFIX}/make/${i}/ ; \
fi; \
done
.endfor
# Install all programs
.for i in ${PROGRAMFILES}
@${INSTALL_PROGRAM} ${WRKSRC}/${i} ${PREFIX}/bin
.endfor
.for i in ${PROGRAMFILES_SCRIPT}
@${INSTALL_SCRIPT} ${WRKSRC}/programs/${i} ${PREFIX}/bin
.endfor
.for i in ${X11R6FILES}
@${INSTALL_PROGRAM} ${WRKSRC}/programs/${i} ${PREFIX}/bin
.endfor
.for i in ${X11R6FILES_SCRIPT}
@${INSTALL_SCRIPT} ${WRKSRC}/programs/${i} ${PREFIX}/bin
.endfor
post-install:
@${LN} -sf libACE-5_0_2.so \
${PREFIX}/lib/libACE-5_0_2.so.${LIBACE}
@${LN} -sf libjcore-1_5_3.so \
${PREFIX}/lib/libjcore-1_5_3.so.${LIBJX}
@${LN} -sf libjx-1_5_3.so \
${PREFIX}/lib/libjx-1_5_3.so.${LIBJX}
.for i in ${LIBFILES}
@${LN} -sf ../../${i} ${EXTRALIB_PREFIX}/lib/${i}
.endfor
.include <bsd.port.post.mk>