From 1f1744e997278fe0bf570474bf4b1812815942ab Mon Sep 17 00:00:00 2001 From: dmcmahill Date: Wed, 25 Apr 2001 14:55:59 +0000 Subject: initial import of tmake-1.7 from pkg/DESCR: tmake is an easy-to-use tool from Trolltech to create and maintain makefiles for software projects. It can be a painful task to manage makefiles manually, especially if you develop for more than one platform or use more than one compiler. tmake automates and streamlines this process and lets you spend your valuable time on writing code, not makefiles. Our main motivation for developing tmake was that we spent far too much time maintaining makefiles for Qt, our cross-platform GUI toolkit. Qt supports around 15 flavors of Unix, Microsoft Windows, and around 15 different C++ compilers. We looked at GNU autoconf, but it was Unix-specific and not flexible enough in our opinion. Our makefile system also had to deal with Qt meta object compiler (moc) issues. The moc program extracts meta information from C++ files and generates a C++ file with data tables etc. It takes extra work to add makefile rules for the moc and wanted to automate this task. --- devel/tmake/Makefile | 55 ++++++++++++++++++++++++++++++++++++++++++++ devel/tmake/distinfo | 7 ++++++ devel/tmake/patches/patch-aa | 23 ++++++++++++++++++ devel/tmake/patches/patch-ab | 32 ++++++++++++++++++++++++++ devel/tmake/patches/patch-ac | 13 +++++++++++ devel/tmake/pkg/DESCR | 16 +++++++++++++ devel/tmake/pkg/PLIST | 25 ++++++++++++++++++++ 7 files changed, 171 insertions(+) create mode 100644 devel/tmake/Makefile create mode 100644 devel/tmake/distinfo create mode 100644 devel/tmake/patches/patch-aa create mode 100644 devel/tmake/patches/patch-ab create mode 100644 devel/tmake/patches/patch-ac create mode 100644 devel/tmake/pkg/DESCR create mode 100644 devel/tmake/pkg/PLIST diff --git a/devel/tmake/Makefile b/devel/tmake/Makefile new file mode 100644 index 00000000000..642d2035eeb --- /dev/null +++ b/devel/tmake/Makefile @@ -0,0 +1,55 @@ +# $NetBSD: Makefile,v 1.1.1.1 2001/04/25 14:55:59 dmcmahill Exp $ +# + +DISTNAME= tmake-1.7 +CATEGORIES= devel +MASTER_SITES= ftp://ftp.trolltech.com/freebies/tmake/ + +MAINTAINER= packages@netbsd.org +HOMEPAGE= http://www.trolltech.com/products/download/freebies/tmake.html +COMMENT= Cross-platform Makefile Tool + +RESTRICTED= No paid redistribution +NO_BIN_ON_CDROM= ${RESTRICTED} +NO_SRC_ON_CDROM= ${RESTRICTED} + +USE_PERL5= YES + +TMAKEPATH= ${PREFIX}/lib/tmake/netbsd-g++ +GLBASE= ${X11BASE} + +do-build: + ${MV} ${WRKSRC}/bin/tmake ${WRKSRC}/bin/tmake.BAK + ${SED} -e 's;@PERL5@;${PERL5};g' \ + -e 's;@TMAKEPATH@;${TMAKEPATH};g' \ + ${WRKSRC}/bin/tmake.BAK > ${WRKSRC}/bin/tmake + ${RM} ${WRKSRC}/bin/tmake.BAK + ${MV} ${WRKSRC}/lib/netbsd-g++/tmake.conf ${WRKSRC}/lib/netbsd-g++/tmake.conf.BAK + ${SED} -e 's;@LOCALBASE@;${LOCALBASE};g' \ + -e 's;@X11BASE@;${X11BASE};g' \ + -e 's;@GLBASE@;${GLBASE};g' \ + ${WRKSRC}/lib/netbsd-g++/tmake.conf.BAK > ${WRKSRC}/lib/netbsd-g++/tmake.conf + ${RM} ${WRKSRC}/lib/netbsd-g++/tmake.conf.BAK + ${MV} ${WRKSRC}/bin/progen ${WRKSRC}/bin/progen.BAK + ${SED} 's;/usr/bin/perl;${PERL5};g' \ + ${WRKSRC}/bin/progen.BAK > ${WRKSRC}/bin/progen + ${RM} ${WRKSRC}/bin/progen.BAK + +# avoid installing .orig files +pre-install: + ${RM} -f ${WRKSRC}/lib/netbsd-g++/*.orig + ${RM} -f ${WRKSRC}/lib/unix/*.orig + +do-install: + ${INSTALL_SCRIPT} ${WRKSRC}/bin/progen ${PREFIX}/bin/progen + ${INSTALL_SCRIPT} ${WRKSRC}/bin/tmake ${PREFIX}/bin/tmake + ${INSTALL_DATA_DIR} ${PREFIX}/share/doc/tmake + ${INSTALL_DATA} ${WRKSRC}/doc/* ${PREFIX}/share/doc/tmake + ${INSTALL_DATA_DIR} ${PREFIX}/share/examples/tmake + ${INSTALL_DATA} ${WRKSRC}/example/* ${PREFIX}/share/examples/tmake + ${INSTALL_DATA_DIR} ${PREFIX}/lib/tmake/netbsd-g++ + ${INSTALL_DATA} ${WRKSRC}/lib/netbsd-g++/* ${PREFIX}/lib/tmake/netbsd-g++ + ${INSTALL_DATA_DIR} ${PREFIX}/lib/tmake/unix + ${INSTALL_DATA} ${WRKSRC}/lib/unix/* ${PREFIX}/lib/tmake/unix + +.include "../../mk/bsd.pkg.mk" diff --git a/devel/tmake/distinfo b/devel/tmake/distinfo new file mode 100644 index 00000000000..86dbea35737 --- /dev/null +++ b/devel/tmake/distinfo @@ -0,0 +1,7 @@ +$NetBSD: distinfo,v 1.1.1.1 2001/04/25 14:55:59 dmcmahill Exp $ + +SHA1 (tmake-1.7.tar.gz) = 39df9db9be67293694b82a944b38f17659d29a83 +Size (tmake-1.7.tar.gz) = 46518 bytes +SHA1 (patch-aa) = daa9e10c3ae1dce66620657919e06b2db07049d1 +SHA1 (patch-ab) = b81f6022a9103a9ae0fe3d9adddbf57d374d51d9 +SHA1 (patch-ac) = 14c1cd48a8facdced5249c4ca0513b6b2a1c7799 diff --git a/devel/tmake/patches/patch-aa b/devel/tmake/patches/patch-aa new file mode 100644 index 00000000000..02d685d0805 --- /dev/null +++ b/devel/tmake/patches/patch-aa @@ -0,0 +1,23 @@ +$NetBSD: patch-aa,v 1.1.1.1 2001/04/25 14:55:59 dmcmahill Exp $ + +--- lib/netbsd-g++/tmake.conf.orig Thu Sep 7 02:21:26 2000 ++++ lib/netbsd-g++/tmake.conf Wed Apr 25 10:04:11 2001 +@@ -26,12 +26,12 @@ + TMAKE_CXXFLAGS_YACC = $$TMAKE_CFLAGS_YACC + +-TMAKE_INCDIR = +-TMAKE_LIBDIR = +-TMAKE_INCDIR_X11 = /usr/X11R6/include +-TMAKE_LIBDIR_X11 = /usr/X11R6/lib ++TMAKE_INCDIR = @LOCALBASE@/include ++TMAKE_LIBDIR = @LOCALBASE@/lib ++TMAKE_INCDIR_X11 = @X11BASE@/include ++TMAKE_LIBDIR_X11 = @X11BASE@/lib + TMAKE_INCDIR_QT = $(QTDIR)/include + TMAKE_LIBDIR_QT = $(QTDIR)/lib +-TMAKE_INCDIR_OPENGL = /usr/X11R6/include +-TMAKE_LIBDIR_OPENGL = /usr/X11R6/lib ++TMAKE_INCDIR_OPENGL = @GLBASE@/include ++TMAKE_LIBDIR_OPENGL = @GLBASE@/lib + + TMAKE_LINK = g++ diff --git a/devel/tmake/patches/patch-ab b/devel/tmake/patches/patch-ab new file mode 100644 index 00000000000..692bc2435e1 --- /dev/null +++ b/devel/tmake/patches/patch-ab @@ -0,0 +1,32 @@ +$NetBSD: patch-ab,v 1.1.1.1 2001/04/25 14:55:59 dmcmahill Exp $ + +--- lib/unix/generic.t.orig Sun Dec 3 21:26:06 2000 ++++ lib/unix/generic.t Wed Apr 25 09:24:19 2001 +@@ -32,5 +32,5 @@ + } + if ( Project("TMAKE_LIBDIR") ) { +- Project('TMAKE_LIBDIR_FLAGS *= -L$$TMAKE_LIBDIR'); ++ Project('TMAKE_LIBDIR_FLAGS *= -Wl,-R$$TMAKE_LIBDIR -L$$TMAKE_LIBDIR'); + } + if ( Config("qt") || Config("opengl") ) { +@@ -65,5 +65,5 @@ + Project("TMAKE_LIB_FLAG")) ) { + Project("TMAKE_LIBDIR_QT") && +- Project('TMAKE_LIBDIR_FLAGS *= -L$$TMAKE_LIBDIR_QT'); ++ Project('TMAKE_LIBDIR_FLAGS *= -Wl,-R$$TMAKE_LIBDIR_QT -L$$TMAKE_LIBDIR_QT'); + if (Config("thread") && Project("TMAKE_LIBS_QT_THREAD")) { + Project('TMAKE_LIBS *= $$TMAKE_LIBS_QT_THREAD'); +@@ -76,5 +76,5 @@ + AddIncludePath(Project("TMAKE_INCDIR_OPENGL")); + Project("TMAKE_LIBDIR_OPENGL") && +- Project('TMAKE_LIBDIR_FLAGS *= -L$$TMAKE_LIBDIR_OPENGL'); ++ Project('TMAKE_LIBDIR_FLAGS *= -Wl,-R$$TMAKE_LIBDIR_OPENGL -L$$TMAKE_LIBDIR_OPENGL'); + Project('TMAKE_LIBS *= $$TMAKE_LIBS_OPENGL'); + } +@@ -84,5 +84,5 @@ + if ( Config("x11lib") ) { + Project("TMAKE_LIBDIR_X11") && +- Project('TMAKE_LIBDIR_FLAGS *= -L$$TMAKE_LIBDIR_X11'); ++ Project('TMAKE_LIBDIR_FLAGS *= -Wl,-R$$TMAKE_LIBDIR_X11 -L$$TMAKE_LIBDIR_X11'); + Project('TMAKE_LIBS *= $$TMAKE_LIBS_X11'); + } diff --git a/devel/tmake/patches/patch-ac b/devel/tmake/patches/patch-ac new file mode 100644 index 00000000000..b4378f74719 --- /dev/null +++ b/devel/tmake/patches/patch-ac @@ -0,0 +1,13 @@ +$NetBSD: patch-ac,v 1.1.1.1 2001/04/25 14:55:59 dmcmahill Exp $ + +--- bin/tmake.orig Thu Dec 21 18:38:41 2000 ++++ bin/tmake Wed Apr 25 10:53:46 2001 +@@ -1,2 +1,2 @@ +-#!/usr/bin/perl ++#!@PERL5@ + ############################################################################ +@@ -68,3 +68,3 @@ + +-$project{"TMAKEPATH"} = $ENV{"TMAKEPATH"} . ";" . $ENV{"HOME"} . "/.tmake/"; ++$project{"TMAKEPATH"} = $ENV{"TMAKEPATH"} . ";" . $ENV{"HOME"} . "/.tmake/;@TMAKEPATH@"; + diff --git a/devel/tmake/pkg/DESCR b/devel/tmake/pkg/DESCR new file mode 100644 index 00000000000..2a3d7b95552 --- /dev/null +++ b/devel/tmake/pkg/DESCR @@ -0,0 +1,16 @@ +tmake is an easy-to-use tool from Trolltech to create and maintain +makefiles for software projects. It can be a painful task to manage +makefiles manually, especially if you develop for more than one platform +or use more than one compiler. tmake automates and streamlines this +process and lets you spend your valuable time on writing code, not +makefiles. + +Our main motivation for developing tmake was that we spent far too much +time maintaining makefiles for Qt, +our cross-platform GUI toolkit. Qt supports around 15 flavors of Unix, +Microsoft Windows, and around 15 different C++ compilers. We looked at +GNU autoconf, but it was Unix-specific and not flexible enough in our +opinion. Our makefile system also had to deal with Qt meta object compiler +(moc) issues. The moc program extracts meta information from C++ files and +generates a C++ file with data tables etc. It takes extra work to add +makefile rules for the moc and wanted to automate this task. diff --git a/devel/tmake/pkg/PLIST b/devel/tmake/pkg/PLIST new file mode 100644 index 00000000000..8d038caf498 --- /dev/null +++ b/devel/tmake/pkg/PLIST @@ -0,0 +1,25 @@ +@comment $NetBSD: PLIST,v 1.1.1.1 2001/04/25 14:55:59 dmcmahill Exp $ +bin/progen +bin/tmake +lib/tmake/${LOWER_OPSYS}-g++/app.t +lib/tmake/${LOWER_OPSYS}-g++/lib.t +lib/tmake/${LOWER_OPSYS}-g++/subdirs.t +lib/tmake/${LOWER_OPSYS}-g++/tmake.conf +lib/tmake/unix/app.t +lib/tmake/unix/generic.t +lib/tmake/unix/lib.t +lib/tmake/unix/subdirs.t +share/doc/tmake/m-linux-gcc.html +share/doc/tmake/m-win32-msvc.html +share/doc/tmake/tmake.html +share/doc/tmake/tmake_ref.html +share/examples/tmake/hello.cpp +share/examples/tmake/hello.h +share/examples/tmake/hello.pro +share/examples/tmake/main.cpp +share/examples/tmake/wc.t +@dirrm share/examples/tmake +@dirrm share/doc/tmake +@dirrm lib/tmake/${LOWER_OPSYS}-g++ +@dirrm lib/tmake/unix +@dirrm lib/tmake -- cgit v1.2.3