# $NetBSD: Makefile.common,v 1.4 2004/02/07 18:47:07 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. # X430src-1 is the base. # X430src-2 contains various programs like bitmap, twm, xterm, xdm, xinit, ... # X430src-3 is xc/programs/Xserver/. # X430src-4 contains xc/fonts/{PEX,bdf/100dpi,bdf/75dpi,bdf/misc,encodings} # X430src-5 contains xc/fonts/scaled/{CID,Ethiopic,Meltho,Speedo,TTF,Type1} # X430src-6 contains the documentation source. # X430src-7 contains the hardcopy documentation. .include "../../mk/bsd.prefs.mk" .if ${OPSYS} == "Linux" USE_GNU_TOOLS+= make .endif WRKSRC?= ${WRKDIR}/xc USE_X11BASE= YES USE_X11_LINKS= NO X11ROOT= ${X11PREFIX}/X11R6 ONLY_FOR_PLATFORM= FreeBSD-*-i386 Linux-*-i386 MASTER_SITE_XFREE+= \ ftp://archive.progeny.com/XFree86/${XF_VER}/source/ \ http://ftp.mirrorcentral.com/pub/XFree86/${XF_VER}/source/ \ ftp://ftp.xfree86.org/pub/XFree86/${XF_VER}/source/ \ ftp://ftp.gwdg.de/pub/xfree86/XFree86/${XF_VER}/source/ \ ftp://ftp.free.fr/pub/XFree86/${XF_VER}/source/ XF_VER= 4.3.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 linux .if !defined(NO_XFREE86_TARGETS) .if !target(post-extract) 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@|${LDFLAGS}|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}/ucs2any.c) @${CP} ${FILESDIR}/ucs2any.c ${WRKSRC}/fonts/util .endif .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}|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 # Check if we have a native threads implementation .if ${OPSYS} == "NetBSD" && !exists(/usr/include/pthread.h) ${ECHO} "#define TheadedX NO" >> ${WRKSRC}/config/cf/NetBSD.cf .else @( \ cd ${WRKSRC}/config/cf && \ ${ECHO} "#define HasPosixThreads YES" >> NetBSD.cf; \ ${ECHO} "#define ThreadedX YES" >> NetBSD.cf; \ ${ECHO} "#define HasThreadSafeAPI YES" >> NetBSD.cf; \ ${ECHO} "#define ThreadsLibraries -lpthread" >> NetBSD.cf; \ ${ECHO} "#define LibraryMTDefines -DUSE_NBSD_THREADLIB" >> NetBSD.cf; \ ${ECHO} "#define SystemMTDefines -D_REENTRANT" >> NetBSD.cf; \ ${ECHO} "#define MTSafeAPIDefines -DXUSE_MTSAFE_API -DXNO_MTSAFE_PWDAPI" \ >> NetBSD.cf \ ) .endif .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_XFREE86_TARGETS