[Trilinos-Users] Packaging trilinos

Guillaume Rousse Guillaume.Rousse at inria.fr
Thu Mar 9 09:43:39 MST 2006


Hello. I'm trying to package trilinos for mandriva linux. Whereas I did
not finish yet (I have some issues with producing dynamic libraries), I
already have some remarks.

First, I was quite unhappy to have to register myself to access the
tarballs _without_ being able to know exact licensing scheme of the
software, as it appears nowehere on the web site. For people interested
in redistributing it, it is one of most relevant informations, as we
have to know if we are allowed to do it before spending time packaging.
So a more proeminent notice about the LGPL use would be worth.

Second, the current distribution scheme is a bit unhappy. As every
project has independant name, version, build scripts and known
interdependencies, they could easily get distributed separatly, bringing
much more flexibility for people only interested by one project (as I
was only interested in aztecoo, for instance). And whereas it could
potentially allows you to share some common files, there are a lot of
duplicated files, such as m4 macros and additional utility scripts,
making corrections more difficult (I had to correct the same single perl
script in ten place, for instance). So, you seems to currently mix the
disadvantages of both distribution schemes.

Third, the export makefile feature is buggy, for two reasons:
- you install makefiles and some perl scripts under $prefix/include
directory, which is not FHS compliant
- you don't honor DESTDIR variable in the makefile, making impossible to
use it in undirect installation scenario such as rpm creation

The attached patch fix the issue, using standard automake declarative
statement to handle installation/uninstallation automatically under
correct location. I had to patch the first perl script to be used as a
simple filter instead of hardcoding target file, which is really more
flexible. And the second perl script (replace_string.pl), which seems to
be an overcomplex version of a single perl -pi -e 's/foo/bar/g'
oneliner, is not even needed.

However, having a makefile modified once by configure script, used for
building, then modified a second time before being installated is quite
ugly. Rather as using this home-made building help system, you'd rather
use a more robust and standard one, such as pkgconfig(1), for instance,
which would avoid you a lot of troubles IMHO.

-------------- next part --------------
diff -Naur trilinos-6.0.14/Makefile.am trilinos-6.0.14.export/Makefile.am
--- trilinos-6.0.14/Makefile.am	2005-09-19 02:09:00.000000000 +0200
+++ trilinos-6.0.14.export/Makefile.am	2006-03-08 17:23:07.000000000 +0100
@@ -110,14 +110,8 @@
 ## Install the perl scrpts used for external makefiles
 ## #######################################################################
 
-install-exec-hook:	
-	cp $(top_srcdir)/commonTools/buildTools/strip_dup_incl_paths.pl $(exec_prefix)/include/. ;
-	cp $(top_srcdir)/commonTools/buildTools/strip_dup_libs.pl $(exec_prefix)/include/.
-
-uninstall-hook:
-	rm -f $(exec_prefix)/include/strip_dup_incl_paths.pl
-	rm -f $(exec_prefix)/include/strip_dup_libs.pl
-
+pkgdata_SCRIPTS: commonTools/buildTools/strip_dup_incl_paths.pl \
+	         commonTools/buildTools/strip_dup_libs.pl
 
 #
 # The below targets allow you to use the new
diff -Naur trilinos-6.0.14/packages/PyTrilinos/Makefile.am trilinos-6.0.14.export/packages/PyTrilinos/Makefile.am
--- trilinos-6.0.14/packages/PyTrilinos/Makefile.am	2005-09-26 22:31:25.000000000 +0200
+++ trilinos-6.0.14.export/packages/PyTrilinos/Makefile.am	2006-03-08 17:53:32.000000000 +0100
@@ -105,24 +105,17 @@
 ## #######################################################################
 if USING_EXPORT_MAKEFILES
 
-install-exec-hook:
-	cp $(top_builddir)/Makefile.export.pytrilinos $(exec_prefix)/include/.
+trilinosdatadir = $(datadir)/trilinos
+trilinosdata_DATA = Makefile.export.$(PACKAGE).out
+
+Makefile.export.$(PACKAGE).out: Makefile.export.$(PACKAGE)
 	$(PERL_EXE) $(top_srcdir)/config/replace-install-prefix.pl \
 	       --exec-prefix=$(exec_prefix) \
 	       --my-export-makefile=Makefile.export.pytrilinos \
 	       --my-abs-top-srcdir=@abs_top_srcdir@ \
 	       --my-abs-incl-dirs=@abs_top_builddir@/src:@abs_top_srcdir@/src \
 	       --my-abs-lib-dirs=@abs_top_builddir@/src \
-	       --dep-package-abs-builddirs=
-
-uninstall-hook:
-	rm -f $(exec_prefix)/include/Makefile.export.pytrilinos
-
-else
-
-install-exec-hook:
-
-uninstall-hook:
+	       --dep-package-abs-builddirs= < $< > $@
 
 endif
 
diff -Naur trilinos-6.0.14/packages/PyTrilinos/config/replace-install-prefix.pl trilinos-6.0.14.export/packages/PyTrilinos/config/replace-install-prefix.pl
--- trilinos-6.0.14/packages/PyTrilinos/config/replace-install-prefix.pl	2005-08-31 00:04:08.000000000 +0200
+++ trilinos-6.0.14.export/packages/PyTrilinos/config/replace-install-prefix.pl	2006-03-08 17:51:42.000000000 +0100
@@ -38,28 +38,24 @@
 my @dep_export_package_builddirs = split(":",$dep_package_builddirs);
 #
 # Do the replacements
-#
-my $my_abs_export_makefile = "${exec_prefix}/include/${my_export_makefile}";
-
-my $cmnd_base = "${my_top_srcdir}/config/string-replace.pl ";
-#
-foreach(@dep_export_package_builddirs) {
-  if($_ ne "") {
-    run_cmnd($cmnd_base . "${_} ${exec_prefix}/include ${my_abs_export_makefile} ${my_abs_export_makefile}");
+while (my $line = <>) {
+  foreach(@dep_export_package_builddirs) {
+    next unless $_;
+    $line =~ s|$_|$exec_prefix/include|g;
   }
-}
-#
-foreach(@my_incl_dirs) {
-  if($_ ne "") {
-    run_cmnd($cmnd_base . "-I${_} -I${exec_prefix}/include ${my_abs_export_makefile} ${my_abs_export_makefile}");
+
+  foreach(@my_incl_dirs) {
+    next unless $_;
+    $line =~ s|-I$_|-I$exec_prefix/include|g;
   }
-}
-#
-foreach(@my_lib_dirs) {
-  if($_ ne "") {
-    run_cmnd($cmnd_base . "-L${_} -L${exec_prefix}/lib ${my_abs_export_makefile} ${my_abs_export_makefile}");
+
+  foreach(@my_lib_dirs) {
+    next unless $_;
+    $line =~ s|-L$_|-L$exec_prefix/lib|g;
   }
+  print $line;
 }
+
 #
 # Subroutines
 #
diff -Naur trilinos-6.0.14/packages/amesos/Makefile.am trilinos-6.0.14.export/packages/amesos/Makefile.am
--- trilinos-6.0.14/packages/amesos/Makefile.am	2005-09-13 00:39:24.000000000 +0200
+++ trilinos-6.0.14.export/packages/amesos/Makefile.am	2006-03-08 17:59:33.000000000 +0100
@@ -133,26 +133,21 @@
 ## #######################################################################
 if USING_EXPORT_MAKEFILES
 
-install-exec-hook:	
-	cp $(top_builddir)/Makefile.export.amesos $(exec_prefix)/include/.
+trilinosdatadir = $(datadir)/trilinos
+trilinosdata_DATA = Makefile.export.$(PACKAGE).out \
+	            Makefile.export.$(PACKAGE).macros
+
+Makefile.export.$(PACKAGE).out: Makefile.export.$(PACKAGE)
 	$(PERL_EXE) $(top_srcdir)/config/replace-install-prefix.pl \
 		--exec-prefix=$(exec_prefix) \
 		--my-export-makefile=Makefile.export.amesos \
 		--my-abs-top-srcdir=@abs_top_srcdir@ \
 		--my-abs-incl-dirs=@abs_top_builddir@/src:@abs_top_srcdir@/src:@abs_top_srcdir@/src/klu_btf:@abs_top_srcdir@/src/klu_kernel:@abs_top_srcdir@/src/btf:@abs_top_srcdir@/src/AMD:@abs_top_srcdir@/src/AMD/Include:@abs_top_srcdir@/src/AMD/Source:@abs_top_srcdir@/src/colamd:@abs_top_srcdir@/src/ksparse \
 		--my-abs-lib-dirs=@abs_top_builddir@/src \
-		--dep-package-abs-builddirs=@abs_top_builddir@/../epetra:@abs_top_builddir@/../thyra:@abs_top_builddir@/../teuchos
-	$(PERL_EXE) $(top_srcdir)/config/generate-makeoptions.pl $(top_builddir)/src/Makefile amesos > $(exec_prefix)/include/Makefile.export.amesos.macros
-
-uninstall-hook:
-	rm -f $(exec_prefix)/include/Makefile.export.amesos
-	rm -f $(exec_prefix)/include/Makefile.export.amesos.macros
-
-else 
-
-install-exec-hook:
+		--dep-package-abs-builddirs=@abs_top_builddir@/../epetra:@abs_top_builddir@/../thyra:@abs_top_builddir@/../teuchos  < $< > $@
 
-uninstall-hook:
+Makefile.export.$(PACKAGE).macros: $(top_builddir)/src/Makefile
+	$(PERL_EXE) $(top_srcdir)/config/generate-makeoptions.pl $(top_builddir)/src/Makefile amesos > $@
 
 endif
 
diff -Naur trilinos-6.0.14/packages/amesos/config/replace-install-prefix.pl trilinos-6.0.14.export/packages/amesos/config/replace-install-prefix.pl
--- trilinos-6.0.14/packages/amesos/config/replace-install-prefix.pl	2005-08-29 22:46:24.000000000 +0200
+++ trilinos-6.0.14.export/packages/amesos/config/replace-install-prefix.pl	2006-03-08 17:55:15.000000000 +0100
@@ -38,30 +38,24 @@
 my @dep_export_package_builddirs = split(":",$dep_package_builddirs);
 #
 # Do the replacements
-#
-my $my_abs_export_makefile = "${exec_prefix}/include/${my_export_makefile}";
-
-my $cmnd_base = "${my_top_srcdir}/config/string-replace.pl ";
-#
-foreach(@dep_export_package_builddirs) {
-  if($_ ne "") {
-    run_cmnd($cmnd_base . "${_} ${exec_prefix}/include ${my_abs_export_makefile} ${my_abs_export_makefile}");
+while (my $line = <>) {
+  foreach(@dep_export_package_builddirs) {
+    next unless $_;
+    $line =~ s|$_|$exec_prefix/include|g;
   }
-}
-#
-foreach(@my_incl_dirs) {
-  if($_ ne "") {
-    run_cmnd($cmnd_base . "-I${_} -I${exec_prefix}/include ${my_abs_export_makefile} ${my_abs_export_makefile}");
+
+  foreach(@my_incl_dirs) {
+    next unless $_;
+    $line =~ s|-I$_|-I$exec_prefix/include|g;
   }
-}
-#
-foreach(@my_lib_dirs) {
-  if($_ ne "") {
-    run_cmnd($cmnd_base . "-L${_} -L${exec_prefix}/lib ${my_abs_export_makefile} ${my_abs_export_makefile}");
+
+  foreach(@my_lib_dirs) {
+    next unless $_;
+    $line =~ s|-L$_|-L$exec_prefix/lib|g;
   }
+  print $line;
 }
-#
-run_cmnd($cmnd_base . "${my_top_srcdir}/config ${exec_prefix}/include ${my_abs_export_makefile} ${my_abs_export_makefile}");
+
 #
 # Subroutines
 #
diff -Naur trilinos-6.0.14/packages/anasazi/Makefile.am trilinos-6.0.14.export/packages/anasazi/Makefile.am
--- trilinos-6.0.14/packages/anasazi/Makefile.am	2005-09-12 23:17:40.000000000 +0200
+++ trilinos-6.0.14.export/packages/anasazi/Makefile.am	2006-03-08 17:59:41.000000000 +0100
@@ -123,26 +123,21 @@
 ## #######################################################################
 if USING_EXPORT_MAKEFILES
 
-install-exec-hook:	
-	cp $(top_builddir)/Makefile.export.anasazi $(exec_prefix)/include/.
+trilinosdatadir = $(datadir)/trilinos
+trilinosdata_DATA = Makefile.export.$(PACKAGE).out \
+	            Makefile.export.$(PACKAGE).macros
+
+Makefile.export.$(PACKAGE).out: Makefile.export.$(PACKAGE)
 	$(PERL_EXE) $(top_srcdir)/config/replace-install-prefix.pl \
 		--exec-prefix=$(exec_prefix) \
 		--my-export-makefile=Makefile.export.anasazi \
 		--my-abs-top-srcdir=@abs_top_srcdir@ \
 		--my-abs-incl-dirs=@abs_top_builddir@/src:@abs_top_srcdir@/src \
 		--my-abs-lib-dirs=@abs_top_builddir@/src \
-		--dep-package-abs-builddirs=@abs_top_builddir@/../epetra:@abs_top_builddir@/../teuchos
-	$(PERL_EXE) $(top_srcdir)/config/generate-makeoptions.pl $(top_builddir)/src/Makefile anasazi > $(exec_prefix)/include/Makefile.export.anasazi.macros
-
-uninstall-hook:
-	rm -f $(exec_prefix)/include/Makefile.export.anasazi
-	rm -f $(exec_prefix)/include/Makefile.export.anasazi.macros
-
-else 
-
-install-exec-hook:
+		--dep-package-abs-builddirs=@abs_top_builddir@/../epetra:@abs_top_builddir@/../teuchos < $< > $@
 
-uninstall-hook:
+Makefile.export.$(PACKAGE).macros: $(top_builddir)/src/Makefile
+	$(PERL_EXE) $(top_srcdir)/config/generate-makeoptions.pl $(top_builddir)/src/Makefile anasazi > $@
 
 endif
 
diff -Naur trilinos-6.0.14/packages/anasazi/config/replace-install-prefix.pl trilinos-6.0.14.export/packages/anasazi/config/replace-install-prefix.pl
--- trilinos-6.0.14/packages/anasazi/config/replace-install-prefix.pl	2005-08-29 22:46:25.000000000 +0200
+++ trilinos-6.0.14.export/packages/anasazi/config/replace-install-prefix.pl	2006-03-08 17:57:03.000000000 +0100
@@ -38,30 +38,24 @@
 my @dep_export_package_builddirs = split(":",$dep_package_builddirs);
 #
 # Do the replacements
-#
-my $my_abs_export_makefile = "${exec_prefix}/include/${my_export_makefile}";
-
-my $cmnd_base = "${my_top_srcdir}/config/string-replace.pl ";
-#
-foreach(@dep_export_package_builddirs) {
-  if($_ ne "") {
-    run_cmnd($cmnd_base . "${_} ${exec_prefix}/include ${my_abs_export_makefile} ${my_abs_export_makefile}");
+while (my $line = <>) {
+  foreach(@dep_export_package_builddirs) {
+    next unless $_;
+    $line =~ s|$_|$exec_prefix/include|g;
   }
-}
-#
-foreach(@my_incl_dirs) {
-  if($_ ne "") {
-    run_cmnd($cmnd_base . "-I${_} -I${exec_prefix}/include ${my_abs_export_makefile} ${my_abs_export_makefile}");
+
+  foreach(@my_incl_dirs) {
+    next unless $_;
+    $line =~ s|-I$_|-I$exec_prefix/include|g;
   }
-}
-#
-foreach(@my_lib_dirs) {
-  if($_ ne "") {
-    run_cmnd($cmnd_base . "-L${_} -L${exec_prefix}/lib ${my_abs_export_makefile} ${my_abs_export_makefile}");
+
+  foreach(@my_lib_dirs) {
+    next unless $_;
+    $line =~ s|-L$_|-L$exec_prefix/lib|g;
   }
+  print $line;
 }
-#
-run_cmnd($cmnd_base . "${my_top_srcdir}/config ${exec_prefix}/include ${my_abs_export_makefile} ${my_abs_export_makefile}");
+
 #
 # Subroutines
 #
diff -Naur trilinos-6.0.14/packages/aztecoo/Makefile.am trilinos-6.0.14.export/packages/aztecoo/Makefile.am
--- trilinos-6.0.14/packages/aztecoo/Makefile.am	2005-09-13 00:31:08.000000000 +0200
+++ trilinos-6.0.14.export/packages/aztecoo/Makefile.am	2006-03-08 17:59:14.000000000 +0100
@@ -117,26 +117,21 @@
 ## #######################################################################
 if USING_EXPORT_MAKEFILES
 
-install-exec-hook:	
-	cp $(top_builddir)/Makefile.export.aztecoo $(exec_prefix)/include/.
+trilinosdatadir = $(datadir)/trilinos
+trilinosdata_DATA = Makefile.export.$(PACKAGE).out \
+	            Makefile.export.$(PACKAGE).macros
+
+Makefile.export.$(PACKAGE).out: Makefile.export.$(PACKAGE)
 	$(PERL_EXE) $(top_srcdir)/config/replace-install-prefix.pl \
 		--exec-prefix=$(exec_prefix) \
 		--my-export-makefile=Makefile.export.aztecoo \
 		--my-abs-top-srcdir=@abs_top_srcdir@ \
 		--my-abs-incl-dirs=@abs_top_builddir@/src:@abs_top_srcdir@/src \
 		--my-abs-lib-dirs=@abs_top_builddir@/src \
-		--dep-package-abs-builddirs=@abs_top_builddir@/../epetra:@abs_top_builddir@/../triutils:@abs_top_builddir@/../thyra:@abs_top_builddir@/../teuchos
-	$(PERL_EXE) $(top_srcdir)/config/generate-makeoptions.pl $(top_builddir)/src/Makefile aztecoo > $(exec_prefix)/include/Makefile.export.aztecoo.macros
-
-uninstall-hook:
-	rm -f $(exec_prefix)/include/Makefile.export.aztecoo
-	rm -f $(exec_prefix)/include/Makefile.export.aztecoo.macros
-
-else 
-
-install-exec-hook:
+		--dep-package-abs-builddirs=@abs_top_builddir@/../epetra:@abs_top_builddir@/../triutils:@abs_top_builddir@/../thyra:@abs_top_builddir@/../teuchos < $< > $@
 
-uninstall-hook:
+Makefile.export.$(PACKAGE).macros: $(top_builddir)/src/Makefile
+	$(PERL_EXE) $(top_srcdir)/config/generate-makeoptions.pl $(top_builddir)/src/Makefile aztecoo > $@
 
 endif
 
diff -Naur trilinos-6.0.14/packages/aztecoo/config/replace-install-prefix.pl trilinos-6.0.14.export/packages/aztecoo/config/replace-install-prefix.pl
--- trilinos-6.0.14/packages/aztecoo/config/replace-install-prefix.pl	2005-08-29 22:46:31.000000000 +0200
+++ trilinos-6.0.14.export/packages/aztecoo/config/replace-install-prefix.pl	2006-03-08 17:57:10.000000000 +0100
@@ -38,30 +38,24 @@
 my @dep_export_package_builddirs = split(":",$dep_package_builddirs);
 #
 # Do the replacements
-#
-my $my_abs_export_makefile = "${exec_prefix}/include/${my_export_makefile}";
-
-my $cmnd_base = "${my_top_srcdir}/config/string-replace.pl ";
-#
-foreach(@dep_export_package_builddirs) {
-  if($_ ne "") {
-    run_cmnd($cmnd_base . "${_} ${exec_prefix}/include ${my_abs_export_makefile} ${my_abs_export_makefile}");
+while (my $line = <>) {
+  foreach(@dep_export_package_builddirs) {
+    next unless $_;
+    $line =~ s|$_|$exec_prefix/include|g;
   }
-}
-#
-foreach(@my_incl_dirs) {
-  if($_ ne "") {
-    run_cmnd($cmnd_base . "-I${_} -I${exec_prefix}/include ${my_abs_export_makefile} ${my_abs_export_makefile}");
+
+  foreach(@my_incl_dirs) {
+    next unless $_;
+    $line =~ s|-I$_|-I$exec_prefix/include|g;
   }
-}
-#
-foreach(@my_lib_dirs) {
-  if($_ ne "") {
-    run_cmnd($cmnd_base . "-L${_} -L${exec_prefix}/lib ${my_abs_export_makefile} ${my_abs_export_makefile}");
+
+  foreach(@my_lib_dirs) {
+    next unless $_;
+    $line =~ s|-L$_|-L$exec_prefix/lib|g;
   }
+  print $line;
 }
-#
-run_cmnd($cmnd_base . "${my_top_srcdir}/config ${exec_prefix}/include ${my_abs_export_makefile} ${my_abs_export_makefile}");
+
 #
 # Subroutines
 #
diff -Naur trilinos-6.0.14/packages/epetra/Makefile.am trilinos-6.0.14.export/packages/epetra/Makefile.am
--- trilinos-6.0.14/packages/epetra/Makefile.am	2005-09-12 23:11:46.000000000 +0200
+++ trilinos-6.0.14.export/packages/epetra/Makefile.am	2006-03-08 18:01:12.000000000 +0100
@@ -137,26 +137,21 @@
 
 if USING_EXPORT_MAKEFILES
 
-install-exec-hook:	
-	cp $(top_builddir)/Makefile.export.epetra $(exec_prefix)/include/.
+trilinosdatadir = $(datadir)/trilinos
+trilinosdata_DATA = Makefile.export.$(PACKAGE).out \
+	            Makefile.export.$(PACKAGE).macros
+
+Makefile.export.$(PACKAGE).out: Makefile.export.$(PACKAGE)
 	$(PERL_EXE) $(top_srcdir)/config/replace-install-prefix.pl \
 		--exec-prefix=$(exec_prefix) \
 		--my-export-makefile=Makefile.export.epetra \
 		--my-abs-top-srcdir=@abs_top_srcdir@ \
 		--my-abs-incl-dirs=@abs_top_srcdir@/thyra/src:@abs_top_builddir@/src:@abs_top_srcdir@/src \
 		--my-abs-lib-dirs=@abs_top_builddir@/thyra/src:@abs_top_builddir@/src \
-		--dep-package-abs-builddirs=@abs_top_builddir@/../thyra
-	$(PERL_EXE) $(top_srcdir)/config/generate-makeoptions.pl $(top_builddir)/src/Makefile EPETRA > $(exec_prefix)/include/Makefile.export.epetra.macros
-
-uninstall-hook:
-	rm -f $(exec_prefix)/include/Makefile.export.epetra
-	rm -f $(exec_prefix)/include/Makefile.export.epetra.macros
-
-else 
-
-install-exec-hook:
+		--dep-package-abs-builddirs=@abs_top_builddir@/../thyra < $< > $@
 
-uninstall-hook:
+Makefile.export.$(PACKAGE).macros: $(top_builddir)/src/Makefile
+	$(PERL_EXE) $(top_srcdir)/config/generate-makeoptions.pl $(top_builddir)/src/Makefile EPETRA > $@
 
 endif
 
diff -Naur trilinos-6.0.14/packages/epetra/config/replace-install-prefix.pl trilinos-6.0.14.export/packages/epetra/config/replace-install-prefix.pl
--- trilinos-6.0.14/packages/epetra/config/replace-install-prefix.pl	2005-09-08 00:13:56.000000000 +0200
+++ trilinos-6.0.14.export/packages/epetra/config/replace-install-prefix.pl	2006-03-08 18:00:29.000000000 +0100
@@ -38,30 +38,24 @@
 my @dep_export_package_builddirs = split(":",$dep_package_builddirs);
 #
 # Do the replacements
-#
-my $my_abs_export_makefile = "${exec_prefix}/include/${my_export_makefile}";
-
-my $cmnd_base = "${my_top_srcdir}/config/string-replace.pl ";
-#
-foreach(@dep_export_package_builddirs) {
-  if($_ ne "") {
-    run_cmnd($cmnd_base . "${_} ${exec_prefix}/include ${my_abs_export_makefile} ${my_abs_export_makefile}");
+while (my $line = <>) {
+  foreach(@dep_export_package_builddirs) {
+    next unless $_;
+    $line =~ s|$_|$exec_prefix/include|g;
   }
-}
-#
-foreach(@my_incl_dirs) {
-  if($_ ne "") {
-    run_cmnd($cmnd_base . "-I${_} -I${exec_prefix}/include ${my_abs_export_makefile} ${my_abs_export_makefile}");
+
+  foreach(@my_incl_dirs) {
+    next unless $_;
+    $line =~ s|-I$_|-I$exec_prefix/include|g;
   }
-}
-#
-foreach(@my_lib_dirs) {
-  if($_ ne "") {
-    run_cmnd($cmnd_base . "-L${_} -L${exec_prefix}/lib ${my_abs_export_makefile} ${my_abs_export_makefile}");
+
+  foreach(@my_lib_dirs) {
+    next unless $_;
+    $line =~ s|-L$_|-L$exec_prefix/lib|g;
   }
+  print $line;
 }
-#
-run_cmnd($cmnd_base . "${my_top_srcdir}/config ${exec_prefix}/include ${my_abs_export_makefile} ${my_abs_export_makefile}");
+
 #
 # Subroutines
 #
diff -Naur trilinos-6.0.14/packages/epetraext/Makefile.am trilinos-6.0.14.export/packages/epetraext/Makefile.am
--- trilinos-6.0.14/packages/epetraext/Makefile.am	2005-09-12 23:38:20.000000000 +0200
+++ trilinos-6.0.14.export/packages/epetraext/Makefile.am	2006-03-08 18:02:29.000000000 +0100
@@ -95,26 +95,21 @@
 ## #######################################################################
 if USING_EXPORT_MAKEFILES
 
-install-exec-hook:	
-	cp $(top_builddir)/Makefile.export.epetraext $(exec_prefix)/include/.
+trilinosdatadir = $(datadir)/trilinos
+trilinosdata_DATA = Makefile.export.$(PACKAGE).out \
+	            Makefile.export.$(PACKAGE).macros
+
+Makefile.export.$(PACKAGE).out: Makefile.export.$(PACKAGE)
 	$(PERL_EXE) $(top_srcdir)/config/replace-install-prefix.pl \
 		--exec-prefix=$(exec_prefix) \
 		--my-export-makefile=Makefile.export.epetraext \
 		--my-abs-top-srcdir=@abs_top_srcdir@ \
 		--my-abs-incl-dirs=@abs_top_builddir@/src:@abs_top_srcdir@/src:@abs_top_srcdir@/src/block:@abs_top_srcdir@/src/btf:@abs_top_srcdir@/src/coloring:@abs_top_srcdir@/src/distdir:@abs_top_srcdir@/src/inout:@abs_top_srcdir@/src/matlab:@abs_top_srcdir@/src/transform:@abs_top_srcdir@/src/zoltan \
 		--my-abs-lib-dirs=@abs_top_builddir@/src \
-		--dep-package-abs-builddirs=@abs_top_builddir@/../epetra:@abs_top_builddir@/../triutils
-	$(PERL_EXE) $(top_srcdir)/config/generate-makeoptions.pl $(top_builddir)/src/Makefile epetraext > $(exec_prefix)/include/Makefile.export.epetraext.macros
-
-uninstall-hook:
-	rm -f $(exec_prefix)/include/Makefile.export.epetraext
-	rm -f $(exec_prefix)/include/Makefile.export.epetraext.macros
-
-else 
-
-install-exec-hook:
+		--dep-package-abs-builddirs=@abs_top_builddir@/../epetra:@abs_top_builddir@/../triutils < $< > $@
 
-uninstall-hook:
+Makefile.export.$(PACKAGE).macros:  $(top_builddir)/src/Makefile
+	$(PERL_EXE) $(top_srcdir)/config/generate-makeoptions.pl $(top_builddir)/src/Makefile epetraext > $@
 
 endif
 
diff -Naur trilinos-6.0.14/packages/epetraext/config/replace-install-prefix.pl trilinos-6.0.14.export/packages/epetraext/config/replace-install-prefix.pl
--- trilinos-6.0.14/packages/epetraext/config/replace-install-prefix.pl	2005-08-29 22:46:35.000000000 +0200
+++ trilinos-6.0.14.export/packages/epetraext/config/replace-install-prefix.pl	2006-03-08 18:01:44.000000000 +0100
@@ -38,30 +38,24 @@
 my @dep_export_package_builddirs = split(":",$dep_package_builddirs);
 #
 # Do the replacements
-#
-my $my_abs_export_makefile = "${exec_prefix}/include/${my_export_makefile}";
-
-my $cmnd_base = "${my_top_srcdir}/config/string-replace.pl ";
-#
-foreach(@dep_export_package_builddirs) {
-  if($_ ne "") {
-    run_cmnd($cmnd_base . "${_} ${exec_prefix}/include ${my_abs_export_makefile} ${my_abs_export_makefile}");
+while (my $line = <>) {
+  foreach(@dep_export_package_builddirs) {
+    next unless $_;
+    $line =~ s|$_|$exec_prefix/include|g;
   }
-}
-#
-foreach(@my_incl_dirs) {
-  if($_ ne "") {
-    run_cmnd($cmnd_base . "-I${_} -I${exec_prefix}/include ${my_abs_export_makefile} ${my_abs_export_makefile}");
+
+  foreach(@my_incl_dirs) {
+    next unless $_;
+    $line =~ s|-I$_|-I$exec_prefix/include|g;
   }
-}
-#
-foreach(@my_lib_dirs) {
-  if($_ ne "") {
-    run_cmnd($cmnd_base . "-L${_} -L${exec_prefix}/lib ${my_abs_export_makefile} ${my_abs_export_makefile}");
+
+  foreach(@my_lib_dirs) {
+    next unless $_;
+    $line =~ s|-L$_|-L$exec_prefix/lib|g;
   }
+  print $line;
 }
-#
-run_cmnd($cmnd_base . "${my_top_srcdir}/config ${exec_prefix}/include ${my_abs_export_makefile} ${my_abs_export_makefile}");
+
 #
 # Subroutines
 #
diff -Naur trilinos-6.0.14/packages/ifpack/Makefile.am trilinos-6.0.14.export/packages/ifpack/Makefile.am
--- trilinos-6.0.14/packages/ifpack/Makefile.am	2005-09-13 00:25:44.000000000 +0200
+++ trilinos-6.0.14.export/packages/ifpack/Makefile.am	2006-03-08 18:03:14.000000000 +0100
@@ -112,26 +112,21 @@
 ## #######################################################################
 if USING_EXPORT_MAKEFILES
 
-install-exec-hook:	
-	cp $(top_builddir)/Makefile.export.ifpack $(exec_prefix)/include/.
+trilinosdatadir = $(datadir)/trilinos
+trilinosdata_DATA = Makefile.export.$(PACKAGE).out \
+	            Makefile.export.$(PACKAGE).macros
+
+Makefile.export.$(PACKAGE).out: Makefile.export.$(PACKAGE)
 	$(PERL_EXE) $(top_srcdir)/config/replace-install-prefix.pl \
 		--exec-prefix=$(exec_prefix) \
 		--my-export-makefile=Makefile.export.ifpack \
 		--my-abs-top-srcdir=@abs_top_srcdir@ \
 		--my-abs-incl-dirs=@abs_top_builddir@/src:@abs_top_srcdir@/src \
 		--my-abs-lib-dirs=@abs_top_builddir@/src \
-		--dep-package-abs-builddirs=@abs_top_builddir@/../epetraext:@abs_top_builddir@/../aztecoo:@abs_top_builddir@/../teuchos:@abs_top_builddir@/../amesos:@abs_top_builddir@/../epetra:@abs_top_builddir@/../triutils
-	$(PERL_EXE) $(top_srcdir)/config/generate-makeoptions.pl $(top_builddir)/src/Makefile ifpack > $(exec_prefix)/include/Makefile.export.ifpack.macros
-
-uninstall-hook:
-	rm -f $(exec_prefix)/include/Makefile.export.ifpack
-	rm -f $(exec_prefix)/include/Makefile.export.ifpack.macros
-
-else 
-
-install-exec-hook:
+		--dep-package-abs-builddirs=@abs_top_builddir@/../epetraext:@abs_top_builddir@/../aztecoo:@abs_top_builddir@/../teuchos:@abs_top_builddir@/../amesos:@abs_top_builddir@/../epetra:@abs_top_builddir@/../triutils < $< > $@
 
-uninstall-hook:
+Makefile.export.$(PACKAGE).macros: $(top_builddir)/src/Makefile
+	$(PERL_EXE) $(top_srcdir)/config/generate-makeoptions.pl $(top_builddir)/src/Makefile ifpack > $@
 
 endif
 
diff -Naur trilinos-6.0.14/packages/ifpack/config/replace-install-prefix.pl trilinos-6.0.14.export/packages/ifpack/config/replace-install-prefix.pl
--- trilinos-6.0.14/packages/ifpack/config/replace-install-prefix.pl	2005-08-29 22:46:37.000000000 +0200
+++ trilinos-6.0.14.export/packages/ifpack/config/replace-install-prefix.pl	2006-03-08 18:03:26.000000000 +0100
@@ -38,30 +38,24 @@
 my @dep_export_package_builddirs = split(":",$dep_package_builddirs);
 #
 # Do the replacements
-#
-my $my_abs_export_makefile = "${exec_prefix}/include/${my_export_makefile}";
-
-my $cmnd_base = "${my_top_srcdir}/config/string-replace.pl ";
-#
-foreach(@dep_export_package_builddirs) {
-  if($_ ne "") {
-    run_cmnd($cmnd_base . "${_} ${exec_prefix}/include ${my_abs_export_makefile} ${my_abs_export_makefile}");
+while (my $line = <>) {
+  foreach(@dep_export_package_builddirs) {
+    next unless $_;
+    $line =~ s|$_|$exec_prefix/include|g;
   }
-}
-#
-foreach(@my_incl_dirs) {
-  if($_ ne "") {
-    run_cmnd($cmnd_base . "-I${_} -I${exec_prefix}/include ${my_abs_export_makefile} ${my_abs_export_makefile}");
+
+  foreach(@my_incl_dirs) {
+    next unless $_;
+    $line =~ s|-I$_|-I$exec_prefix/include|g;
   }
-}
-#
-foreach(@my_lib_dirs) {
-  if($_ ne "") {
-    run_cmnd($cmnd_base . "-L${_} -L${exec_prefix}/lib ${my_abs_export_makefile} ${my_abs_export_makefile}");
+
+  foreach(@my_lib_dirs) {
+    next unless $_;
+    $line =~ s|-L$_|-L$exec_prefix/lib|g;
   }
+  print $line;
 }
-#
-run_cmnd($cmnd_base . "${my_top_srcdir}/config ${exec_prefix}/include ${my_abs_export_makefile} ${my_abs_export_makefile}");
+
 #
 # Subroutines
 #
diff -Naur trilinos-6.0.14/packages/ml/Makefile.am trilinos-6.0.14.export/packages/ml/Makefile.am
--- trilinos-6.0.14/packages/ml/Makefile.am	2005-09-19 22:54:55.000000000 +0200
+++ trilinos-6.0.14.export/packages/ml/Makefile.am	2006-03-08 18:04:46.000000000 +0100
@@ -133,26 +133,21 @@
 ## #######################################################################
 if USING_EXPORT_MAKEFILES
 
-install-exec-hook:
-	cp $(top_builddir)/Makefile.export.ml $(exec_prefix)/include/.
+trilinosdatadir = $(datadir)/trilinos
+trilinosdata_DATA = Makefile.export.$(PACKAGE).out \
+	            Makefile.export.$(PACKAGE).macros
+
+Makefile.export.$(PACKAGE).out: Makefile.export.$(PACKAGE)
 	$(PERL_EXE) $(top_srcdir)/config/replace-install-prefix.pl \
 		--exec-prefix=$(exec_prefix) \
 		--my-export-makefile=Makefile.export.ml \
 		--my-abs-top-srcdir=@abs_top_srcdir@ \
 		--my-abs-incl-dirs=@abs_top_builddir@/src:@abs_top_srcdir@/src:@abs_top_srcdir@/Comm:abs_top_srcdir@/Operator:abs_top_srcdir@/Smoother:@abs_top_srcdir@/Coarsen:@abs_top_srcdir@/Krylov:@abs_top_srcdir@/Main:@abs_top_srcdir@/FEGrid:@abs_top_srcdir@/Utils:@abs_top_srcdir@/MLAPI:@abs_top_srcdir@/Include \
 		--my-abs-lib-dirs=@abs_top_builddir@/src \
-		--dep-package-abs-builddirs=@abs_top_builddir@/../epetraext:@abs_top_builddir@/../epetra:@abs_top_builddir@/../triutils:@abs_top_builddir@/../amesos:@abs_top_builddir@/../ifpack:@abs_top_builddir@/../teuchos:@abs_top_builddir@/../anasazi:@abs_top_builddir@/../aztecoo
-	$(PERL_EXE) $(top_srcdir)/config/generate-makeoptions.pl $(top_builddir)/src/Makefile ml > $(exec_prefix)/include/Makefile.export.ml.macros
-
-uninstall-hook:
-	rm -f $(exec_prefix)/include/Makefile.export.ml
-	rm -f $(exec_prefix)/include/Makefile.export.ml.macros
-
-else 
-
-install-exec-hook:
+		--dep-package-abs-builddirs=@abs_top_builddir@/../epetraext:@abs_top_builddir@/../epetra:@abs_top_builddir@/../triutils:@abs_top_builddir@/../amesos:@abs_top_builddir@/../ifpack:@abs_top_builddir@/../teuchos:@abs_top_builddir@/../anasazi:@abs_top_builddir@/../aztecoo < $< > $@
 
-uninstall-hook:
+Makefile.export.$(PACKAGE).macros: $(top_builddir)/src/Makefile
+	$(PERL_EXE) $(top_srcdir)/config/generate-makeoptions.pl $(top_builddir)/src/Makefile ml > $@
 
 endif
 
diff -Naur trilinos-6.0.14/packages/ml/config/replace-install-prefix.pl trilinos-6.0.14.export/packages/ml/config/replace-install-prefix.pl
--- trilinos-6.0.14/packages/ml/config/replace-install-prefix.pl	2005-11-25 17:36:05.000000000 +0100
+++ trilinos-6.0.14.export/packages/ml/config/replace-install-prefix.pl	2006-03-08 18:05:13.000000000 +0100
@@ -38,30 +38,24 @@
 my @dep_export_package_builddirs = split(":",$dep_package_builddirs);
 #
 # Do the replacements
-#
-my $my_abs_export_makefile = "${exec_prefix}/include/${my_export_makefile}";
-
-my $cmnd_base = "${my_top_srcdir}/config/string-replace.pl ";
-#
-foreach(@dep_export_package_builddirs) {
-  if($_ ne "") {
-    run_cmnd($cmnd_base . "${_} ${exec_prefix}/include ${my_abs_export_makefile} ${my_abs_export_makefile}");
+while (my $line = <>) {
+  foreach(@dep_export_package_builddirs) {
+    next unless $_;
+    $line =~ s|$_|$exec_prefix/include|g;
   }
-}
-#
-foreach(@my_incl_dirs) {
-  if($_ ne "") {
-    run_cmnd($cmnd_base . "-I${_} -I${exec_prefix}/include ${my_abs_export_makefile} ${my_abs_export_makefile}");
+
+  foreach(@my_incl_dirs) {
+    next unless $_;
+    $line =~ s|-I$_|-I$exec_prefix/include|g;
   }
-}
-#
-foreach(@my_lib_dirs) {
-  if($_ ne "") {
-    run_cmnd($cmnd_base . "-L${_} -L${exec_prefix}/lib ${my_abs_export_makefile} ${my_abs_export_makefile}");
+
+  foreach(@my_lib_dirs) {
+    next unless $_;
+    $line =~ s|-L$_|-L$exec_prefix/lib|g;
   }
+  print $line;
 }
-#
-run_cmnd($cmnd_base . "${my_top_srcdir}/config ${exec_prefix}/include ${my_abs_export_makefile} ${my_abs_export_makefile}");
+
 #
 # Subroutines
 #
diff -Naur trilinos-6.0.14/packages/nox/Makefile.am trilinos-6.0.14.export/packages/nox/Makefile.am
--- trilinos-6.0.14/packages/nox/Makefile.am	2005-09-12 23:50:22.000000000 +0200
+++ trilinos-6.0.14.export/packages/nox/Makefile.am	2006-03-08 18:06:02.000000000 +0100
@@ -104,26 +104,21 @@
 ## #######################################################################
 if USING_EXPORT_MAKEFILES
 
-install-exec-hook:	
-	cp $(top_builddir)/Makefile.export.nox $(exec_prefix)/include/.
+trilinosdatadir = $(datadir)/trilinos
+trilinosdata_DATA = Makefile.export.$(PACKAGE).out \
+	            Makefile.export.$(PACKAGE).macros
+
+Makefile.export.$(PACKAGE).out: Makefile.export.$(PACKAGE)
 	$(PERL_EXE) $(top_srcdir)/config/replace-install-prefix.pl \
 		--exec-prefix=$(exec_prefix) \
 		--my-export-makefile=Makefile.export.nox \
 		--my-abs-top-srcdir=@abs_top_srcdir@ \
 		--my-abs-incl-dirs=@abs_top_builddir@/src:@abs_top_srcdir@/src:@abs_top_srcdir@/src-epetra:@abs_top_srcdir@/src-lapack:@abs_top_srcdir@/src-petsc:@abs_top_srcdir@/src-belos:@abs_top_srcdir@/src-tsf:@abs_top_srcdir@/src-loca/src:@abs_top_srcdir@/src-loca/src-lapack:@abs_top_srcdir@/src-loca/src-epetra:@abs_top_srcdir@/src-loca/src-mf \
 		--my-abs-lib-dirs=@abs_top_builddir@/src:@abs_top_builddir@/src-epetra:@abs_top_builddir@/src-lapack:@abs_top_builddir@/src-petsc:@abs_top_builddir@/src-belos:@abs_top_builddir@/src-tsf:@abs_top_builddir@/src-loca/src:@abs_top_builddir@/src-loca/src-epetra:@abs_top_builddir@/src-loca/src-lapack:@abs_top_builddir@/src-loca/src-mf \
-		--dep-package-abs-builddirs=@abs_top_builddir@/../epetraext:@abs_top_builddir@/../aztecoo:@abs_top_builddir@/../teuchos:@abs_top_builddir@/../ifpack:@abs_top_builddir@/../epetra:@abs_top_builddir@/../ml:@abs_top_builddir@/../belos:@abs_top_builddir@/../anasazi:@abs_top_builddir@/../TSFExtended
-	$(PERL_EXE) $(top_srcdir)/config/generate-makeoptions.pl $(top_builddir)/src/Makefile nox > $(exec_prefix)/include/Makefile.export.nox.macros
-
-uninstall-hook:
-	rm -f $(exec_prefix)/include/Makefile.export.nox
-	rm -f $(exec_prefix)/include/Makefile.export.nox.macros
-
-else 
-
-install-exec-hook:
+		--dep-package-abs-builddirs=@abs_top_builddir@/../epetraext:@abs_top_builddir@/../aztecoo:@abs_top_builddir@/../teuchos:@abs_top_builddir@/../ifpack:@abs_top_builddir@/../epetra:@abs_top_builddir@/../ml:@abs_top_builddir@/../belos:@abs_top_builddir@/../anasazi:@abs_top_builddir@/../TSFExtended < $< > $@
 
-uninstall-hook:
+Makefile.export.$(PACKAGE).macros: $(top_builddir)/src/Makefile
+	$(PERL_EXE) $(top_srcdir)/config/generate-makeoptions.pl $(top_builddir)/src/Makefile nox > $@
 
 endif
 
diff -Naur trilinos-6.0.14/packages/nox/config/replace-install-prefix.pl trilinos-6.0.14.export/packages/nox/config/replace-install-prefix.pl
--- trilinos-6.0.14/packages/nox/config/replace-install-prefix.pl	2005-08-29 22:46:38.000000000 +0200
+++ trilinos-6.0.14.export/packages/nox/config/replace-install-prefix.pl	2006-03-08 18:06:20.000000000 +0100
@@ -38,30 +38,24 @@
 my @dep_export_package_builddirs = split(":",$dep_package_builddirs);
 #
 # Do the replacements
-#
-my $my_abs_export_makefile = "${exec_prefix}/include/${my_export_makefile}";
-
-my $cmnd_base = "${my_top_srcdir}/config/string-replace.pl ";
-#
-foreach(@dep_export_package_builddirs) {
-  if($_ ne "") {
-    run_cmnd($cmnd_base . "${_} ${exec_prefix}/include ${my_abs_export_makefile} ${my_abs_export_makefile}");
+while (my $line = <>) {
+  foreach(@dep_export_package_builddirs) {
+    next unless $_;
+    $line =~ s|$_|$exec_prefix/include|g;
   }
-}
-#
-foreach(@my_incl_dirs) {
-  if($_ ne "") {
-    run_cmnd($cmnd_base . "-I${_} -I${exec_prefix}/include ${my_abs_export_makefile} ${my_abs_export_makefile}");
+
+  foreach(@my_incl_dirs) {
+    next unless $_;
+    $line =~ s|-I$_|-I$exec_prefix/include|g;
   }
-}
-#
-foreach(@my_lib_dirs) {
-  if($_ ne "") {
-    run_cmnd($cmnd_base . "-L${_} -L${exec_prefix}/lib ${my_abs_export_makefile} ${my_abs_export_makefile}");
+
+  foreach(@my_lib_dirs) {
+    next unless $_;
+    $line =~ s|-L$_|-L$exec_prefix/lib|g;
   }
+  print $line;
 }
-#
-run_cmnd($cmnd_base . "${my_top_srcdir}/config ${exec_prefix}/include ${my_abs_export_makefile} ${my_abs_export_makefile}");
+
 #
 # Subroutines
 #
diff -Naur trilinos-6.0.14/packages/teuchos/Makefile.am trilinos-6.0.14.export/packages/teuchos/Makefile.am
--- trilinos-6.0.14/packages/teuchos/Makefile.am	2005-09-12 23:12:56.000000000 +0200
+++ trilinos-6.0.14.export/packages/teuchos/Makefile.am	2006-03-08 17:59:12.000000000 +0100
@@ -127,25 +127,19 @@
 
 if USING_EXPORT_MAKEFILES
 
-install-exec-hook:	
-	cp $(top_builddir)/Makefile.export.teuchos $(exec_prefix)/include/. ; \
+trilinosdatadir = $(datadir)/trilinos
+trilinosdata_DATA = Makefile.export.$(PACKAGE).out \
+	            Makefile.export.$(PACKAGE).macros
+
+Makefile.export.$(PACKAGE).out: Makefile.export.$(PACKAGE)
 	$(PERL_EXE) $(top_srcdir)/config/replace-install-prefix.pl \
 		--exec-prefix=$(exec_prefix) \
 		--my-export-makefile=Makefile.export.teuchos \
 		--my-abs-top-srcdir=@abs_top_srcdir@ \
 		--my-abs-incl-dirs=@abs_top_builddir@/src:@abs_top_srcdir@/src \
-		--my-abs-lib-dirs=@abs_top_builddir@/src ; \
-	$(PERL_EXE) $(top_srcdir)/config/generate-makeoptions.pl $(top_builddir)/src/Makefile TEUCHOS > $(exec_prefix)/include/Makefile.export.teuchos.macros
-
-uninstall-hook:
-	rm -f $(exec_prefix)/include/Makefile.export.teuchos ; \
-	rm -f $(exec_prefix)/include/Makefile.export.teuchos.macros
-
-
-else 
-
-install-exec-hook:
+		--my-abs-lib-dirs=@abs_top_builddir@/src < $< > $@
 
-uninstall-hook:
+Makefile.export.$(PACKAGE).macros: $(top_builddir)/src/Makefile
+	$(PERL_EXE) $(top_srcdir)/config/generate-makeoptions.pl $(top_builddir)/src/Makefile TEUCHOS > $@
 
 endif
diff -Naur trilinos-6.0.14/packages/teuchos/config/replace-install-prefix.pl trilinos-6.0.14.export/packages/teuchos/config/replace-install-prefix.pl
--- trilinos-6.0.14/packages/teuchos/config/replace-install-prefix.pl	2005-08-29 22:46:42.000000000 +0200
+++ trilinos-6.0.14.export/packages/teuchos/config/replace-install-prefix.pl	2006-03-08 17:50:31.000000000 +0100
@@ -38,30 +38,24 @@
 my @dep_export_package_builddirs = split(":",$dep_package_builddirs);
 #
 # Do the replacements
-#
-my $my_abs_export_makefile = "${exec_prefix}/include/${my_export_makefile}";
-
-my $cmnd_base = "${my_top_srcdir}/config/string-replace.pl ";
-#
-foreach(@dep_export_package_builddirs) {
-  if($_ ne "") {
-    run_cmnd($cmnd_base . "${_} ${exec_prefix}/include ${my_abs_export_makefile} ${my_abs_export_makefile}");
+while (my $line = <>) {
+  foreach(@dep_export_package_builddirs) {
+    next unless $_;
+    $line =~ s|$_|$exec_prefix/include|g;
   }
-}
-#
-foreach(@my_incl_dirs) {
-  if($_ ne "") {
-    run_cmnd($cmnd_base . "-I${_} -I${exec_prefix}/include ${my_abs_export_makefile} ${my_abs_export_makefile}");
+
+  foreach(@my_incl_dirs) {
+    next unless $_;
+    $line =~ s|-I$_|-I$exec_prefix/include|g;
   }
-}
-#
-foreach(@my_lib_dirs) {
-  if($_ ne "") {
-    run_cmnd($cmnd_base . "-L${_} -L${exec_prefix}/lib ${my_abs_export_makefile} ${my_abs_export_makefile}");
+
+  foreach(@my_lib_dirs) {
+    next unless $_;
+    $line =~ s|-L$_|-L$exec_prefix/lib|g;
   }
+  print $line;
 }
-#
-run_cmnd($cmnd_base . "${my_top_srcdir}/config ${exec_prefix}/include ${my_abs_export_makefile} ${my_abs_export_makefile}");
+
 #
 # Subroutines
 #
diff -Naur trilinos-6.0.14/packages/thyra/Makefile.am trilinos-6.0.14.export/packages/thyra/Makefile.am
--- trilinos-6.0.14/packages/thyra/Makefile.am	2005-09-12 23:46:08.000000000 +0200
+++ trilinos-6.0.14.export/packages/thyra/Makefile.am	2006-03-08 18:07:11.000000000 +0100
@@ -135,25 +135,20 @@
 
 if USING_EXPORT_MAKEFILES
 
-install-exec-hook:	
-	cp $(top_builddir)/Makefile.export.thyra $(exec_prefix)/include/.
+trilinosdatadir = $(datadir)/trilinos
+trilinosdata_DATA = Makefile.export.$(PACKAGE).out \
+	            Makefile.export.$(PACKAGE).macros
+
+Makefile.export.$(PACKAGE).out: Makefile.export.$(PACKAGE)
 	$(PERL_EXE) $(top_srcdir)/config/replace-install-prefix.pl \
 		--exec-prefix=$(exec_prefix) \
 		--my-export-makefile=Makefile.export.thyra \
 		--my-abs-top-srcdir=@abs_top_srcdir@ \
 		--my-abs-incl-dirs=@abs_top_builddir@/src:@abs_top_srcdir@/src \
 		--my-abs-lib-dirs=@abs_top_builddir@/src \
-		--dep-package-abs-builddirs=@abs_top_builddir@/../teuchos
-	$(PERL_EXE) $(top_srcdir)/config/generate-makeoptions.pl $(top_builddir)/src/Makefile THYRA > $(exec_prefix)/include/Makefile.export.thyra.macros
-
-uninstall-hook:
-	rm -f $(exec_prefix)/include/Makefile.export.thyra
-	rm -f $(exec_prefix)/include/Makefile.export.thyra.macros
-
-else 
-
-install-exec-hook:
+		--dep-package-abs-builddirs=@abs_top_builddir@/../teuchos < $< > $@
 
-uninstall-hook:
+Makefile.export.$(PACKAGE).macros: $(top_builddir)/src/Makefile
+	$(PERL_EXE) $(top_srcdir)/config/generate-makeoptions.pl $(top_builddir)/src/Makefile THYRA > $@
 
 endif
diff -Naur trilinos-6.0.14/packages/thyra/config/replace-install-prefix.pl trilinos-6.0.14.export/packages/thyra/config/replace-install-prefix.pl
--- trilinos-6.0.14/packages/thyra/config/replace-install-prefix.pl	2005-08-29 22:46:43.000000000 +0200
+++ trilinos-6.0.14.export/packages/thyra/config/replace-install-prefix.pl	2006-03-08 18:07:47.000000000 +0100
@@ -38,30 +38,24 @@
 my @dep_export_package_builddirs = split(":",$dep_package_builddirs);
 #
 # Do the replacements
-#
-my $my_abs_export_makefile = "${exec_prefix}/include/${my_export_makefile}";
-
-my $cmnd_base = "${my_top_srcdir}/config/string-replace.pl ";
-#
-foreach(@dep_export_package_builddirs) {
-  if($_ ne "") {
-    run_cmnd($cmnd_base . "${_} ${exec_prefix}/include ${my_abs_export_makefile} ${my_abs_export_makefile}");
+while (my $line = <>) {
+  foreach(@dep_export_package_builddirs) {
+    next unless $_;
+    $line =~ s|$_|$exec_prefix/include|g;
   }
-}
-#
-foreach(@my_incl_dirs) {
-  if($_ ne "") {
-    run_cmnd($cmnd_base . "-I${_} -I${exec_prefix}/include ${my_abs_export_makefile} ${my_abs_export_makefile}");
+
+  foreach(@my_incl_dirs) {
+    next unless $_;
+    $line =~ s|-I$_|-I$exec_prefix/include|g;
   }
-}
-#
-foreach(@my_lib_dirs) {
-  if($_ ne "") {
-    run_cmnd($cmnd_base . "-L${_} -L${exec_prefix}/lib ${my_abs_export_makefile} ${my_abs_export_makefile}");
+
+  foreach(@my_lib_dirs) {
+    next unless $_;
+    $line =~ s|-L$_|-L$exec_prefix/lib|g;
   }
+  print $line;
 }
-#
-run_cmnd($cmnd_base . "${my_top_srcdir}/config ${exec_prefix}/include ${my_abs_export_makefile} ${my_abs_export_makefile}");
+
 #
 # Subroutines
 #
diff -Naur trilinos-6.0.14/packages/triutils/Makefile.am trilinos-6.0.14.export/packages/triutils/Makefile.am
--- trilinos-6.0.14/packages/triutils/Makefile.am	2005-09-12 23:16:31.000000000 +0200
+++ trilinos-6.0.14.export/packages/triutils/Makefile.am	2006-03-08 18:08:33.000000000 +0100
@@ -86,25 +86,20 @@
 ## #######################################################################
 if USING_EXPORT_MAKEFILES
 
-install-exec-hook:	
-	cp $(top_builddir)/Makefile.export.triutils $(exec_prefix)/include/.
+trilinosdatadir = $(datadir)/trilinos
+trilinosdata_DATA = Makefile.export.$(PACKAGE).out \
+	            Makefile.export.$(PACKAGE).macros
+
+Makefile.export.$(PACKAGE).out: Makefile.export.$(PACKAGE)
 	$(PERL_EXE) $(top_srcdir)/config/replace-install-prefix.pl \
 		--exec-prefix=$(exec_prefix) \
 		--my-export-makefile=Makefile.export.triutils \
 		--my-abs-top-srcdir=@abs_top_srcdir@ \
 		--my-abs-incl-dirs=@abs_top_builddir@/src:@abs_top_srcdir@/src \
 		--my-abs-lib-dirs=@abs_top_builddir@/src \
-		--dep-package-abs-builddirs=@abs_top_builddir@/../epetra
-	$(PERL_EXE) $(top_srcdir)/config/generate-makeoptions.pl $(top_builddir)/src/Makefile triutils > $(exec_prefix)/include/Makefile.export.triutils.macros
-
-uninstall-hook:
-	rm -f $(exec_prefix)/include/Makefile.export.triutils
-	rm -f $(exec_prefix)/include/Makefile.export.triutils.macros
-
-else 
-
-install-exec-hook:
+		--dep-package-abs-builddirs=@abs_top_builddir@/../epetra < $< > $@
 
-uninstall-hook:
+Makefile.export.$(PACKAGE).macros: $(top_builddir)/src/Makefile
+	$(PERL_EXE) $(top_srcdir)/config/generate-makeoptions.pl $(top_builddir)/src/Makefile triutils > $@
 
 endif
diff -Naur trilinos-6.0.14/packages/triutils/config/replace-install-prefix.pl trilinos-6.0.14.export/packages/triutils/config/replace-install-prefix.pl
--- trilinos-6.0.14/packages/triutils/config/replace-install-prefix.pl	2005-08-29 22:46:45.000000000 +0200
+++ trilinos-6.0.14.export/packages/triutils/config/replace-install-prefix.pl	2006-03-08 18:08:52.000000000 +0100
@@ -38,30 +38,24 @@
 my @dep_export_package_builddirs = split(":",$dep_package_builddirs);
 #
 # Do the replacements
-#
-my $my_abs_export_makefile = "${exec_prefix}/include/${my_export_makefile}";
-
-my $cmnd_base = "${my_top_srcdir}/config/string-replace.pl ";
-#
-foreach(@dep_export_package_builddirs) {
-  if($_ ne "") {
-    run_cmnd($cmnd_base . "${_} ${exec_prefix}/include ${my_abs_export_makefile} ${my_abs_export_makefile}");
+while (my $line = <>) {
+  foreach(@dep_export_package_builddirs) {
+    next unless $_;
+    $line =~ s|$_|$exec_prefix/include|g;
   }
-}
-#
-foreach(@my_incl_dirs) {
-  if($_ ne "") {
-    run_cmnd($cmnd_base . "-I${_} -I${exec_prefix}/include ${my_abs_export_makefile} ${my_abs_export_makefile}");
+
+  foreach(@my_incl_dirs) {
+    next unless $_;
+    $line =~ s|-I$_|-I$exec_prefix/include|g;
   }
-}
-#
-foreach(@my_lib_dirs) {
-  if($_ ne "") {
-    run_cmnd($cmnd_base . "-L${_} -L${exec_prefix}/lib ${my_abs_export_makefile} ${my_abs_export_makefile}");
+
+  foreach(@my_lib_dirs) {
+    next unless $_;
+    $line =~ s|-L$_|-L$exec_prefix/lib|g;
   }
+  print $line;
 }
-#
-run_cmnd($cmnd_base . "${my_top_srcdir}/config ${exec_prefix}/include ${my_abs_export_makefile} ${my_abs_export_makefile}");
+
 #
 # Subroutines
 #


More information about the Trilinos-Users mailing list