summaryrefslogtreecommitdiff
path: root/devel/tmake
diff options
context:
space:
mode:
authordmcmahill <dmcmahill@pkgsrc.org>2001-04-25 14:55:59 +0000
committerdmcmahill <dmcmahill@pkgsrc.org>2001-04-25 14:55:59 +0000
commit1f1744e997278fe0bf570474bf4b1812815942ab (patch)
tree13cebdccd544241a04b5492185e7f8718522b856 /devel/tmake
parent758cdb7951d8d5d9281ae352e39355484d49a337 (diff)
downloadpkgsrc-1f1744e997278fe0bf570474bf4b1812815942ab.tar.gz
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.
Diffstat (limited to 'devel/tmake')
-rw-r--r--devel/tmake/Makefile55
-rw-r--r--devel/tmake/distinfo7
-rw-r--r--devel/tmake/patches/patch-aa23
-rw-r--r--devel/tmake/patches/patch-ab32
-rw-r--r--devel/tmake/patches/patch-ac13
-rw-r--r--devel/tmake/pkg/DESCR16
-rw-r--r--devel/tmake/pkg/PLIST25
7 files changed, 171 insertions, 0 deletions
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