--- hypre-2.0.0.orig/src/FEI_mv/fei-hypre/Makefile
+++ hypre-2.0.0/src/FEI_mv/fei-hypre/Makefile
@@ -77,6 +77,19 @@
  ${SUPERLU_INCLUDE}\
  ${CXXINCLUDES}
 
+
+HYPRE_LIBS = \
+  ../../utilities/libHYPRE_utilities.so \
+  ../../seq_mv/libHYPRE_seq_mv.so \
+  ../../parcsr_mv/libHYPRE_parcsr_mv.so \
+  ../../IJ_mv/libHYPRE_IJ_mv.so \
+  ../../parcsr_ls/libHYPRE_parcsr_ls.so \
+  ../fgmres/libHYPRE_FEI_fgmres.so \
+  ../femli/lib/libHYPRE_mli.so
+#  ../../krylov/libHYPRE_krylov.so
+
+SYSTEM_LIBS = -lmpi -lm -lstdc++ -lmpi_cxx -lsuperlu
+
 HEADERS =\
  cfei-hypre.h\
  HYPRE_LinSysCore.h\
@@ -128,7 +141,6 @@
  HYPRE_parcsr_TFQmr.c\
  HYPRE_parcsr_bicgs.c\
  HYPRE_parcsr_bicgstabl.c\
- HYPRE_parcsr_fgmres.c\
  HYPRE_parcsr_lsicg.c\
  HYPRE_parcsr_symqmr.c\
  HYPRE_parcsr_maxwell.c\
@@ -136,11 +148,12 @@
  TFQmr.c\
  bicgs.c\
  bicgstabl.c\
- fgmres.c\
  hypre_lsi_amge.c\
  hypre_lsi_ddamg.c\
  hypre_lsi_misc.c\
  lsicg.c
+# HYPRE_parcsr_fgmres.c
+# fgmres.c
 
 FILESCXX = \
  FEI_HYPRE_Impl.cxx\
@@ -171,28 +184,28 @@
 ##################################################################
 
 all: libHYPRE_FEI${HYPRE_LIB_SUFFIX}
-	cp -fp $(srcdir)/cfei-hypre.h $(HYPRE_BUILD_DIR)/include
-	cp -fp $(srcdir)/cfei_hypre.h $(HYPRE_BUILD_DIR)/include
-	cp -fp $(srcdir)/HYPRE_LinSysCore.h $(HYPRE_BUILD_DIR)/include
-	cp -fp $(srcdir)/HYPRE_FEI*.h $(HYPRE_BUILD_DIR)/include
-	cp -fp $(srcdir)/LLNL_FEI*.h $(HYPRE_BUILD_DIR)/include
-	cp -fp $(BASE_DIR)/base/Data.h $(HYPRE_BUILD_DIR)/include
-	cp -fp $(BASE_DIR)/base/Lookup.h $(HYPRE_BUILD_DIR)/include
-	cp -fp $(BASE_DIR)/base/LinearSystemCore.h $(HYPRE_BUILD_DIR)/include
-	cp -fp $(BASE_DIR)/fei_defs.h $(HYPRE_BUILD_DIR)/include
-	cp -fp libHYPRE* $(HYPRE_BUILD_DIR)/lib
+	cp -fpd $(srcdir)/cfei-hypre.h $(HYPRE_BUILD_DIR)/include
+	cp -fpd $(srcdir)/cfei_hypre.h $(HYPRE_BUILD_DIR)/include
+	cp -fpd $(srcdir)/HYPRE_LinSysCore.h $(HYPRE_BUILD_DIR)/include
+	cp -fpd $(srcdir)/HYPRE_FEI*.h $(HYPRE_BUILD_DIR)/include
+	cp -fpd $(srcdir)/LLNL_FEI*.h $(HYPRE_BUILD_DIR)/include
+	cp -fpd $(BASE_DIR)/base/Data.h $(HYPRE_BUILD_DIR)/include
+	cp -fpd $(BASE_DIR)/base/Lookup.h $(HYPRE_BUILD_DIR)/include
+	cp -fpd $(BASE_DIR)/base/LinearSystemCore.h $(HYPRE_BUILD_DIR)/include
+	cp -fpd $(BASE_DIR)/fei_defs.h $(HYPRE_BUILD_DIR)/include
+	cp -fpd libHYPRE* $(HYPRE_BUILD_DIR)/lib
 
 install: libHYPRE_FEI${HYPRE_LIB_SUFFIX}
-	cp -fp $(srcdir)/cfei-hypre.h $(HYPRE_INC_INSTALL)
-	cp -fp $(srcdir)/cfei_hypre.h $(HYPRE_INC_INSTALL)
-	cp -fp $(srcdir)/HYPRE_LinSysCore.h $(HYPRE_INC_INSTALL)
-	cp -fp $(srcdir)/HYPRE_FEI*.h $(HYPRE_INC_INSTALL)
-	cp -fp $(srcdir)/LLNL_FEI*.h $(HYPRE_INC_INSTALL)
-	cp -fp $(BASE_DIR)/base/Data.h $(HYPRE_INC_INSTALL)
-	cp -fp $(BASE_DIR)/base/Lookup.h $(HYPRE_INC_INSTALL)
-	cp -fp $(BASE_DIR)/base/LinearSystemCore.h $(HYPRE_INC_INSTALL)
-	cp -fp $(BASE_DIR)/fei_defs.h $(HYPRE_INC_INSTALL)
-	cp -fp libHYPRE* $(HYPRE_LIB_INSTALL)
+	cp -fpd $(srcdir)/cfei-hypre.h $(HYPRE_INC_INSTALL)
+	cp -fpd $(srcdir)/cfei_hypre.h $(HYPRE_INC_INSTALL)
+	cp -fpd $(srcdir)/HYPRE_LinSysCore.h $(HYPRE_INC_INSTALL)
+	cp -fpd $(srcdir)/HYPRE_FEI*.h $(HYPRE_INC_INSTALL)
+	cp -fpd $(srcdir)/LLNL_FEI*.h $(HYPRE_INC_INSTALL)
+	cp -fpd $(BASE_DIR)/base/Data.h $(HYPRE_INC_INSTALL)
+	cp -fpd $(BASE_DIR)/base/Lookup.h $(HYPRE_INC_INSTALL)
+	cp -fpd $(BASE_DIR)/base/LinearSystemCore.h $(HYPRE_INC_INSTALL)
+	cp -fpd $(BASE_DIR)/fei_defs.h $(HYPRE_INC_INSTALL)
+	cp -fpd libHYPRE* $(HYPRE_LIB_INSTALL)
 	@echo  ""
 
 clean:
@@ -204,10 +217,16 @@
 ##################################################################
 # Rules
 ##################################################################
-libHYPRE_FEI${HYPRE_LIB_SUFFIX}: ${OBJS}
+libHYPRE_FEI.a: ${OBJS}
 	@echo  "Building $@ ... "
 	${AR} $@ ${OBJS}
 	${RANLIB} $@
-                                                                                
+
+libHYPRE_FEI.so: ${OBJS} ${HYPRE_LIBS}
+	@echo  "Building $@ ... "
+	${BUILD_CC_SHARED} $^ ${SYSTEM_LIBS} -o $@.2.0.0 -Wl,-soname,$@.2.0.0 \
+	  -Wl,-z,defs
+	ln -s $@.2.0.0 $@
+
 ${OBJS}: ${HEADERS}
 
--- hypre-2.0.0.orig/src/FEI_mv/femli/Makefile
+++ hypre-2.0.0/src/FEI_mv/femli/Makefile
@@ -103,11 +103,11 @@
 	@ \
 	for head in ${HEADERS}; \
 	do \
-	    (cp -fp $$head ./lib); \
+	    (cp -fpd $$head ./lib); \
 	done;\
 	for file in ${FILES}; \
 	do \
-	    (cp -fp $$file ./lib); \
+	    (cp -fpd $$file ./lib); \
 	done;\
 	(cd ./lib && $(MAKE) $@)
 
@@ -115,11 +115,11 @@
 	@ \
 	for head in ${HEADERS}; \
 	do \
-	    (cp -fp $$head ./lib); \
+	    (cp -fpd $$head ./lib); \
 	done;\
 	for file in ${FILES}; \
 	do \
-	    (cp -fp $$file ./lib); \
+	    (cp -fpd $$file ./lib); \
 	done;\
 	(cd ./lib && $(MAKE) $@)
 
--- hypre-2.0.0.orig/src/FEI_mv/femli/lib/Makefile
+++ hypre-2.0.0/src/FEI_mv/femli/lib/Makefile
@@ -58,6 +58,18 @@
  ${MLI_INCLUDES}\
  ${CINCLUDES}
 
+HYPRE_LIBS = \
+  ../../../utilities/libHYPRE_utilities.so \
+  ../../../krylov/libHYPRE_krylov.so \
+  ../../../seq_mv/libHYPRE_seq_mv.so \
+  ../../../parcsr_mv/libHYPRE_parcsr_mv.so \
+  ../../../IJ_mv/libHYPRE_IJ_mv.so \
+  ../../../distributed_ls/ParaSails/libHYPRE_ParaSails.so \
+  ../../../parcsr_ls/libHYPRE_parcsr_ls.so \
+  ../../fgmres/libHYPRE_FEI_fgmres.so
+
+SYSTEM_LIBS = -lmpi -lm -lstdc++ -lmpi_cxx -lsuperlu \
+  ${LAPACKLIBDIRS} ${LAPACKLIBS}
 
 HEADERS =\
  ../amgs/mli_method.h\
@@ -148,10 +160,10 @@
 ##################################################################
 
 all: libHYPRE_mli${HYPRE_LIB_SUFFIX}
-	cp -fp libHYPRE* $(HYPRE_BUILD_DIR)/lib
+	cp -fpd libHYPRE* $(HYPRE_BUILD_DIR)/lib
 
 install: libHYPRE_mli${HYPRE_LIB_SUFFIX}
-	cp -fp libHYPRE* $(HYPRE_LIB_INSTALL)
+	cp -fpd libHYPRE* $(HYPRE_LIB_INSTALL)
 	@echo  " "
 
 clean:
@@ -170,8 +182,9 @@
 	${AR} $@ ${OBJS}
 	${RANLIB} $@
 
-libHYPRE_mli.so: ${OBJS}
+libHYPRE_mli.so: ${OBJS} ${HYPRE_LIBS}
 	@echo  "Building $@ ... "
-	${BUILD_CC_SHARED} -o $@ ${OBJS}
+	${BUILD_CC_SHARED} $^ ${SYSTEM_LIBS} -o $@.2.0.0 -Wl,-soname,$@.2.0.0 -Wl,-z,defs
+	ln -s $@.2.0.0 $@
 
 ${OBJS}: ${HEADERS}
--- hypre-2.0.0.orig/src/FEI_mv/fgmres/Makefile
+++ hypre-2.0.0/src/FEI_mv/fgmres/Makefile
@@ -0,0 +1,136 @@
+#BHEADER**********************************************************************
+# Copyright (c) 2006   The Regents of the University of California.
+# Produced at the Lawrence Livermore National Laboratory.
+# Written by the HYPRE team. UCRL-CODE-222953.
+# All rights reserved.
+#
+# This file is part of HYPRE (see http://www.llnl.gov/CASC/hypre/).
+# Please see the COPYRIGHT_and_LICENSE file for the copyright notice, 
+# disclaimer, contact information and the GNU Lesser General Public License.
+#
+# HYPRE is free software; you can redistribute it and/or modify it under the
+# terms of the GNU General Public License (as published by the Free Software 
+# Foundation) version 2.1 dated February 1999.
+#
+# HYPRE is distributed in the hope that it will be useful, but WITHOUT ANY 
+# WARRANTY; without even the IMPLIED WARRANTY OF MERCHANTABILITY or FITNESS 
+# FOR A PARTICULAR PURPOSE.  See the terms and conditions of the GNU General
+# Public License for more details.
+#
+# You should have received a copy of the GNU Lesser General Public License
+# along with this program; if not, write to the Free Software Foundation,
+# Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
+#
+# $Revision: 2.17 $
+#EHEADER**********************************************************************
+
+# why do we create this variable, asked by Charles
+HYPRE_LIB_SUFFIX = .a
+
+include ../../config/Makefile.config
+
+BASE_DIR = ${HYPRE_FEI_BASE_DIR}
+
+SUPERLU_INCLUDE = -I$(srcdir)/../SuperLU
+SUPERLU_LIB     = -L$(srcdir)/../SuperLU
+
+CINCLUDES=${INCLUDES} ${MPIINCLUDE} -I../ml/src/Include
+CXXINCLUDES=${INCLUDES} ${MPIINCLUDE} -I../ml/src/Include
+CDEFS = -DHAVE_SUPERLU -DBOOL_NOT_SUPPORTED
+CXXDEFS = -DHAVE_SUPERLU -DBOOL_NOT_SUPPORTED -DMPICH_SKIP_MPICXX
+
+C_COMPILE_FLAGS = \
+ ${CDEFS}\
+ -I../..\
+ -I$(BASE_DIR)\
+ -I$(srcdir)\
+ -I$(srcdir)/../..\
+ -I$(srcdir)/../../IJ_mv\
+ -I$(srcdir)/../../utilities\
+ -I$(srcdir)/../../multivector\
+ -I$(srcdir)/../../krylov\
+ -I$(srcdir)/../../parcsr_mv\
+ -I$(srcdir)/../../parcsr_ls\
+ -I$(srcdir)/../../seq_mv\
+ -I$(srcdir)/../../distributed_matrix\
+ -I$(srcdir)/../../distributed_ls\
+ -I$(srcdir)/../fei-base\
+ ${SUPERLU_INCLUDE}\
+ ${CINCLUDES}
+
+CXX_COMPILE_FLAGS = \
+ ${CXXDEFS}\
+ -I../..\
+ -I$(BASE_DIR)\
+ -I$(srcdir)/../..\
+ -I$(srcdir)/../../IJ_mv\
+ -I$(srcdir)/../../utilities\
+ -I$(srcdir)/../../multivector\
+ -I$(srcdir)/../../krylov\
+ -I$(srcdir)/../../parcsr_mv\
+ -I$(srcdir)/../../parcsr_ls\
+ -I$(srcdir)/../../seq_mv\
+ -I$(srcdir)/../../distributed_matrix\
+ -I$(srcdir)/../../distributed_ls\
+ -I$(srcdir)/../femli\
+ -I$(srcdir)/../fei-base\
+ ${SUPERLU_INCLUDE}\
+ ${CXXINCLUDES}
+
+HYPRE_LIBS = \
+  ../../utilities/libHYPRE_utilities.so \
+  ../../parcsr_ls/libHYPRE_parcsr_ls.so
+#  ../../krylov/libHYPRE_krylov.so
+#  ../../seq_mv/libHYPRE_seq_mv.so
+#  ../../parcsr_mv/libHYPRE_parcsr_mv.so
+#  ../../IJ_mv/libHYPRE_IJ_mv.so
+
+SYSTEM_LIBS = -lm
+
+HEADERS = 
+
+FILESC = \
+ ../fei-hypre/HYPRE_parcsr_fgmres.c\
+ ../fei-hypre/fgmres.c
+
+FILESCXX = 
+
+OBJSC = ${FILESC:.c=.o}
+OBJSCXX = ${FILESCXX:.cxx=.o}
+OBJS = ${OBJSC} ${OBJSCXX}
+
+##################################################################
+# Targets
+##################################################################
+
+all: libHYPRE_FEI_fgmres${HYPRE_LIB_SUFFIX}
+	cp -fpd libHYPRE* $(HYPRE_BUILD_DIR)/lib
+
+install: libHYPRE_FEI_fgmres${HYPRE_LIB_SUFFIX}
+	cp -fpd libHYPRE* $(HYPRE_LIB_INSTALL)
+	@echo  ""
+
+clean:
+	rm -rf *.o libHYPRE*
+	rm -rf pchdir tca.map *inslog*
+
+distclean: clean
+
+##################################################################
+# Rules
+##################################################################
+libHYPRE_FEI_fgmres.a: ${OBJS}
+	@echo  "Building $@ ... "
+	mv -f *.o ../fei-hypre/
+	${AR} $@ ${OBJS}
+	${RANLIB} $@
+
+libHYPRE_FEI_fgmres.so: ${OBJS} ${HYPRE_LIBS}
+	@echo  "Building $@ ... "
+	mv -f *.o ../fei-hypre/
+	${BUILD_CC_SHARED} $^ ${SYSTEM_LIBS} -o $@.2.0.0 -Wl,-soname,$@.2.0.0 \
+	  -Wl,-z,defs
+	ln -s $@.2.0.0 $@
+
+${OBJS}: ${HEADERS}
+
--- hypre-2.0.0.orig/src/IJ_mv/Makefile
+++ hypre-2.0.0/src/IJ_mv/Makefile
@@ -41,6 +41,13 @@
  -I$(srcdir)/../parcsr_ls\
  ${CINCLUDES}
 
+HYPRE_LIBS = \
+  ../utilities/libHYPRE_utilities.so \
+  ../seq_mv/libHYPRE_seq_mv.so \
+  ../parcsr_mv/libHYPRE_parcsr_mv.so
+
+SYSTEM_LIBS = -lmpi
+
 HEADERS =\
  aux_parcsr_matrix.h\
  aux_par_vector.h\
@@ -74,14 +81,14 @@
 ##################################################################
 
 all: libHYPRE_IJ_mv${HYPRE_LIB_SUFFIX}
-	cp -fp $(srcdir)/HYPRE_*.h $(HYPRE_BUILD_DIR)/include
-	cp -fp $(srcdir)/_hypre_IJ_mv.h $(HYPRE_BUILD_DIR)/include
-	cp -fp libHYPRE* $(HYPRE_BUILD_DIR)/lib
+	cp -fpd $(srcdir)/HYPRE_*.h $(HYPRE_BUILD_DIR)/include
+	cp -fpd $(srcdir)/_hypre_IJ_mv.h $(HYPRE_BUILD_DIR)/include
+	cp -fpd libHYPRE* $(HYPRE_BUILD_DIR)/lib
 
 install: libHYPRE_IJ_mv${HYPRE_LIB_SUFFIX}
-	cp -fp $(srcdir)/HYPRE_*.h $(HYPRE_INC_INSTALL)
-	cp -fp $(srcdir)/_hypre_IJ_mv.h $(HYPRE_INC_INSTALL)
-	cp -fp libHYPRE* $(HYPRE_LIB_INSTALL)
+	cp -fpd $(srcdir)/HYPRE_*.h $(HYPRE_INC_INSTALL)
+	cp -fpd $(srcdir)/_hypre_IJ_mv.h $(HYPRE_INC_INSTALL)
+	cp -fpd libHYPRE* $(HYPRE_LIB_INSTALL)
 
 clean:
 	rm -f *.o libHYPRE*
@@ -98,8 +105,10 @@
 	${AR} $@ ${OBJS}
 	${RANLIB} $@
 
-libHYPRE_IJ_mv.so: ${OBJS}
+libHYPRE_IJ_mv.so: ${OBJS} ${HYPRE_LIBS}
 	@echo  "Building $@ ... "
-	${BUILD_CC_SHARED} -o $@ ${OBJS}
+	${BUILD_CC_SHARED} $^ ${SYSTEM_LIBS} -o $@.2.0.0 -Wl,-soname,$@.2.0.0 \
+	  -Wl,-z,defs
+	ln -s $@.2.0.0 $@
 
 ${OBJS}: ${HEADERS}
--- hypre-2.0.0.orig/src/Makefile
+++ hypre-2.0.0/src/Makefile
@@ -55,8 +55,8 @@
  parcsr_mv\
  parcsr_block_mv\
  distributed_matrix\
- matrix_matrix\
  IJ_mv\
+ matrix_matrix\
  distributed_ls\
  parcsr_ls
 
@@ -78,11 +78,11 @@
 # These are directories that are officially in HYPRE
 HYPRE_DIRS =\
  ${HYPRE_BASIC_DIRS}\
+ ${HYPRE_MULTIVEC_DIRS}\
  ${HYPRE_KRYLOV_DIRS}\
  ${HYPRE_STRUCT_DIRS}\
- ${HYPRE_SSTRUCT_DIRS}\
  ${HYPRE_IJ_DIRS}\
- ${HYPRE_MULTIVEC_DIRS}\
+ ${HYPRE_SSTRUCT_DIRS}\
  ${HYPRE_FEI_DIRS}\
  ${HYPRE_LIBS_DIRS}
 
@@ -100,8 +100,8 @@
 	@ \
 	mkdir -p ${HYPRE_BUILD_DIR}/include; \
 	mkdir -p ${HYPRE_BUILD_DIR}/lib; \
-	cp -fp HYPRE_config.h ${HYPRE_BUILD_DIR}/include/.; \
-	cp -fp $(srcdir)/HYPRE.h ${HYPRE_BUILD_DIR}/include/.; \
+	cp -fpd HYPRE_config.h ${HYPRE_BUILD_DIR}/include/.; \
+	cp -fpd $(srcdir)/HYPRE.h ${HYPRE_BUILD_DIR}/include/.; \
 	for i in ${HYPRE_DIRS} ${HYPRE_BABEL_DIRS} ${HYPRE_EXAMPLE_DIRS}; \
 	do \
 	  echo "Making $$i ..."; \
@@ -176,7 +176,7 @@
 	@ \
 	for i in ${HYPRE_DIRS} ${HYPRE_EXTRA_DIRS} ${HYPRE_BABEL_DIRS} ${HYPRE_EXAMPLE_DIRS}; \
 	do \
-	  if [ -d $$i ]; \
+	  if [ -f $$i/Makefile ]; \
 	  then \
 	    echo "Cleaning $$i ..."; \
 	    (cd $$i && $(MAKE) $@); \
--- hypre-2.0.0.orig/src/config/configure.in
+++ hypre-2.0.0/src/config/configure.in
@@ -1026,7 +1026,7 @@
 if test "$casc_using_fei" = "yes"
 then
    HYPRE_FEI_SRC_DIR="HYPRE_TOP_SRC_DIR/FEI_mv"
-   HYPRE_FEI_SUBDIRS="fei-hypre femli"
+   HYPRE_FEI_SUBDIRS="fgmres femli fei-hypre"
    HYPRE_FEI_HYPRE_FILES="HYPRE_TOP_SRC_DIR/FEI_mv/fei-hypre/*.o"
    HYPRE_FEI_FEMLI_FILES="HYPRE_TOP_SRC_DIR/FEI_mv/femli/lib/*.o"
    if test "$casc_using_superlu" = "yes"
--- hypre-2.0.0.orig/src/configure
+++ hypre-2.0.0/src/configure
@@ -9282,7 +9282,7 @@
 if test "$casc_using_fei" = "yes"
 then
    HYPRE_FEI_SRC_DIR="`pwd`/FEI_mv"
-   HYPRE_FEI_SUBDIRS="fei-hypre femli"
+   HYPRE_FEI_SUBDIRS="fgmres femli fei-hypre"
    HYPRE_FEI_HYPRE_FILES="`pwd`/FEI_mv/fei-hypre/*.o"
    HYPRE_FEI_FEMLI_FILES="`pwd`/FEI_mv/femli/lib/*.o"
    if test "$casc_using_superlu" = "yes"
--- hypre-2.0.0.orig/src/distributed_ls/Euclid/Makefile
+++ hypre-2.0.0/src/distributed_ls/Euclid/Makefile
@@ -47,6 +47,10 @@
  -I$(srcdir)/../../hypre/include\
  ${CINCLUDES}
 
+HYPRE_LIBS = ../../parcsr_mv/libHYPRE_parcsr_mv.so
+
+SYSTEM_LIBS = -lmpi -lm
+
 HEADERS =\
  blas_dh.h\
  euclid_common.h\
@@ -115,10 +119,10 @@
 ##################################################################
 
 all: libHYPRE_Euclid${HYPRE_LIB_SUFFIX}
-	cp -fp libHYPRE* $(HYPRE_BUILD_DIR)/lib
+	cp -fpd libHYPRE* $(HYPRE_BUILD_DIR)/lib
 
 install: libHYPRE_Euclid${HYPRE_LIB_SUFFIX}
-	cp -fp libHYPRE* $(HYPRE_LIB_INSTALL)
+	cp -fpd libHYPRE* $(HYPRE_LIB_INSTALL)
 
 clean:
 	rm -f *.o libHYPRE*
@@ -136,8 +140,10 @@
 	${AR} $@ ${OBJS}
 	${RANLIB} $@
 
-libHYPRE_Euclid.so: ${OBJS}
+libHYPRE_Euclid.so: ${OBJS} ${HYPRE_LIBS}
 	@echo  "Building $@ ... "
-	${BUILD_CC_SHARED}  -o $@ ${OBJS}
+	${BUILD_CC_SHARED} $^ ${SYSTEM_LIBS} -o $@.2.0.0 -Wl,-soname,$@.2.0.0 \
+	  -Wl,-z,defs
+	ln -s $@.2.0.0 $@
 
 ${OBJS}: ${HEADERS}
--- hypre-2.0.0.orig/src/distributed_ls/ParaSails/Makefile
+++ hypre-2.0.0/src/distributed_ls/ParaSails/Makefile
@@ -39,6 +39,13 @@
  -I$(srcdir)/../../distributed_matrix\
  ${CINCLUDES}
 
+HYPRE_LIBS = \
+  ../../utilities/libHYPRE_utilities.so \
+  ../../IJ_mv/libHYPRE_IJ_mv.so \
+  ../../distributed_matrix/libHYPRE_DistributedMatrix.so
+
+SYSTEM_LIBS = -lmpi -lm ${BLASLIBDIRS} ${BLASLIBS} ${LAPACKLIBDIRS} ${LAPACKLIBS}
+
 HEADERS =\
  Common.h\
  ConjGrad.h\
@@ -78,10 +85,10 @@
 ##################################################################
 
 all: libHYPRE_ParaSails${HYPRE_LIB_SUFFIX}
-	cp -fp libHYPRE* $(HYPRE_BUILD_DIR)/lib
+	cp -fpd libHYPRE* $(HYPRE_BUILD_DIR)/lib
 
 install: libHYPRE_ParaSails${HYPRE_LIB_SUFFIX}
-	cp -fp libHYPRE* $(HYPRE_LIB_INSTALL)
+	cp -fpd libHYPRE* $(HYPRE_LIB_INSTALL)
 
 clean:
 	rm -f *.o libHYPRE*
@@ -99,8 +106,10 @@
 	${AR} $@ ${OBJS}
 	${RANLIB} $@
 
-libHYPRE_ParaSails.so: ${OBJS}
+libHYPRE_ParaSails.so: ${OBJS} ${HYPRE_LIBS}
 	@echo  "Building $@ ... "
-	${BUILD_CC_SHARED} -o $@ ${OBJS}
+	${BUILD_CC_SHARED} $^ ${SYSTEM_LIBS} -o $@.2.0.0 -Wl,-soname,$@.2.0.0 \
+	  -Wl,-z,defs
+	ln -s $@.2.0.0 $@
 
 ${OBJS}: ${HEADERS}
--- hypre-2.0.0.orig/src/distributed_ls/pilut/Makefile
+++ hypre-2.0.0/src/distributed_ls/pilut/Makefile
@@ -39,6 +39,12 @@
  -I$(srcdir)/../../distributed_matrix\
 ${CINCLUDES}
 
+HYPRE_LIBS = \
+  ../../utilities/libHYPRE_utilities.so \
+  ../../distributed_matrix/libHYPRE_DistributedMatrix.so
+
+SYSTEM_LIBS = -lmpi -lm ${BLASLIBDIRS} ${BLASLIBS}
+
 HEADERS = \
  HYPRE_DistributedMatrixPilutSolver_protos.h\
  HYPRE_DistributedMatrixPilutSolver_types.h\
@@ -71,12 +77,12 @@
 ##################################################################
 
 all: libHYPRE_DistributedMatrixPilutSolver${HYPRE_LIB_SUFFIX}
-	cp -fp $(srcdir)/HYPRE_*.h $(HYPRE_BUILD_DIR)/include
-	cp -fp libHYPRE* $(HYPRE_BUILD_DIR)/lib
+	cp -fpd $(srcdir)/HYPRE_*.h $(HYPRE_BUILD_DIR)/include
+	cp -fpd libHYPRE* $(HYPRE_BUILD_DIR)/lib
 
 install: libHYPRE_DistributedMatrixPilutSolver${HYPRE_LIB_SUFFIX}
-	cp -f $(srcdir)/HYPRE_*.h $(HYPRE_INC_INSTALL)
-	cp -f libHYPRE* $(HYPRE_LIB_INSTALL)
+	cp -fpd $(srcdir)/HYPRE_*.h $(HYPRE_INC_INSTALL)
+	cp -fpd libHYPRE* $(HYPRE_LIB_INSTALL)
 
 clean:
 	rm -f *.o libHYPRE*
@@ -93,8 +99,10 @@
 	${AR} $@ ${OBJS}
 	${RANLIB} $@
 
-libHYPRE_DistributedMatrixPilutSolver.so: ${OBJS}
+libHYPRE_DistributedMatrixPilutSolver.so: ${OBJS} ${HYPRE_LIBS}
 	@echo "Building $@ ... "
-	${BUILD_CC_SHARED} -o $@ ${OBJS}
+	${BUILD_CC_SHARED} $^ ${SYSTEM_LIBS} -o $@.2.0.0 -Wl,-soname,$@.2.0.0 \
+	  -Wl,-z,defs
+	ln -s $@.2.0.0 $@
 
 ${OBJS}: ${HEADERS}
--- hypre-2.0.0.orig/src/distributed_matrix/Makefile
+++ hypre-2.0.0/src/distributed_matrix/Makefile
@@ -39,6 +39,8 @@
  -I$(srcdir)/../seq_mv\
  ${CINCLUDES}
 
+LIBS = ../utilities/libHYPRE_utilities.so ../parcsr_mv/libHYPRE_parcsr_mv.so
+
 EXTRA_HEADERS = internal_protos.h
 
 HEADERS =\
@@ -61,12 +63,12 @@
 ##################################################################
 
 all: libHYPRE_DistributedMatrix${HYPRE_LIB_SUFFIX}
-	cp -fp $(srcdir)/distributed_matrix.h $(HYPRE_BUILD_DIR)/include
-	cp -fp libHYPRE* $(HYPRE_BUILD_DIR)/lib
+	cp -fpd $(srcdir)/distributed_matrix.h $(HYPRE_BUILD_DIR)/include
+	cp -fpd libHYPRE* $(HYPRE_BUILD_DIR)/lib
 
 install: libHYPRE_DistributedMatrix${HYPRE_LIB_SUFFIX}
-	cp -fp $(srcdir)/distributed_matrix.h $(HYPRE_INC_INSTALL)
-	cp -fp libHYPRE* $(HYPRE_LIB_INSTALL)
+	cp -fpd $(srcdir)/distributed_matrix.h $(HYPRE_INC_INSTALL)
+	cp -fpd libHYPRE* $(HYPRE_LIB_INSTALL)
 clean:
 	rm -f *.o libHYPRE*
 	rm -rf pchdir tca.map *inslog*
@@ -83,8 +85,9 @@
 	${AR} $@ ${OBJS}
 	${RANLIB} $@
 
-libHYPRE_DistributedMatrix.so: ${OBJS}
+libHYPRE_DistributedMatrix.so: ${OBJS} ${LIBS}
 	@echo  "Building $@ ... "
-	${BUILD_CC_SHARED} -o $@ ${OBJS}
+	${BUILD_CC_SHARED} $^ -o $@.2.0.0 -Wl,-soname,$@.2.0.0 -Wl,-z,defs
+	ln -s $@.2.0.0 $@
 
 ${OBJS}: ${HEADERS}
--- hypre-2.0.0.orig/src/krylov/Makefile
+++ hypre-2.0.0/src/krylov/Makefile
@@ -38,6 +38,10 @@
  -I$(srcdir)/../utilities\
  ${CINCLUDES}
 
+HYPRE_LIBS = ../utilities/libHYPRE_utilities.so ../multivector/libHYPRE_multivector.so
+
+SYSTEM_LIBS = ${LAPACKLIBDIRS} ${LAPACKLIBS} -lm
+
 HEADERS =\
  HYPRE_krylov.h\
  krylov.h\
@@ -68,16 +72,16 @@
 ##################################################################
 
 all: libHYPRE_krylov${HYPRE_LIB_SUFFIX}
-	cp -fp $(srcdir)/HYPRE_*.h $(HYPRE_BUILD_DIR)/include
-	cp -fp $(srcdir)/krylov.h $(HYPRE_BUILD_DIR)/include
-	cp -fp $(srcdir)/lobpcg.h $(HYPRE_BUILD_DIR)/include
-	cp -fp libHYPRE* $(HYPRE_BUILD_DIR)/lib
+	cp -fpd $(srcdir)/HYPRE_*.h $(HYPRE_BUILD_DIR)/include
+	cp -fpd $(srcdir)/krylov.h $(HYPRE_BUILD_DIR)/include
+	cp -fpd $(srcdir)/lobpcg.h $(HYPRE_BUILD_DIR)/include
+	cp -fpd libHYPRE* $(HYPRE_BUILD_DIR)/lib
 
 install: all
-	cp -fp $(srcdir)/HYPRE_*.h $(HYPRE_INC_INSTALL)
-	cp -fp $(srcdir)/krylov.h $(HYPRE_INC_INSTALL)
-	cp -fp $(srcdir)/lobpcg.h $(HYPRE_INC_INSTALL)
-	cp -fp libHYPRE* $(HYPRE_LIB_INSTALL)
+	cp -fpd $(srcdir)/HYPRE_*.h $(HYPRE_INC_INSTALL)
+	cp -fpd $(srcdir)/krylov.h $(HYPRE_INC_INSTALL)
+	cp -fpd $(srcdir)/lobpcg.h $(HYPRE_INC_INSTALL)
+	cp -fpd libHYPRE* $(HYPRE_LIB_INSTALL)
 
 clean:
 	rm -f *.o libHYPRE*
@@ -95,8 +99,10 @@
 	${AR} $@ ${OBJS}
 	${RANLIB} $@
 
-libHYPRE_krylov.so: ${OBJS}
+libHYPRE_krylov.so: ${OBJS} ${HYPRE_LIBS}
 	@echo  "Building $@ ... "
-	${BUILD_CC_SHARED} -o $@ ${OBJS}
+	${BUILD_CC_SHARED} $^ ${SYSTEM_LIBS} -o $@.2.0.0 -Wl,-soname,$@.2.0.0 \
+	  -Wl,-z,defs
+	ln -s $@.2.0.0 $@
 
 ${OBJS}: ${HEADERS}
--- hypre-2.0.0.orig/src/lib/Makefile
+++ hypre-2.0.0/src/lib/Makefile
@@ -29,27 +29,6 @@
 
 include ../config/Makefile.config
 
- 
-SUPERLUFILES = ${HYPRE_FEI_SUPERLU_FILES}
-FEIHYPREFILES = ${HYPRE_FEI_HYPRE_FILES}
-FEMLIFILES = ${HYPRE_FEI_FEMLI_FILES}
-IJMVFILES = ${HYPRE_SRC_TOP_DIR}/IJ_mv/*.o
-EUCLIDFILES = ${HYPRE_SRC_TOP_DIR}/distributed_ls/Euclid/*.o
-PARASAILSFILES = ${HYPRE_SRC_TOP_DIR}/distributed_ls/ParaSails/*.o
-PILUTFILES = ${HYPRE_SRC_TOP_DIR}/distributed_ls/pilut/*.o
-DISTMATRIXFILES = ${HYPRE_SRC_TOP_DIR}/distributed_matrix/*.o
-KRYLOVFILES = ${HYPRE_SRC_TOP_DIR}/krylov/*.o
-MATMATFILES = ${HYPRE_SRC_TOP_DIR}/matrix_matrix/*.o
-MULTIVECFILES = ${HYPRE_SRC_TOP_DIR}/multivector/*.o
-PARCSRLSFILES = ${HYPRE_SRC_TOP_DIR}/parcsr_ls/*.o
-PARCSRMVFILES = ${HYPRE_SRC_TOP_DIR}/parcsr_mv/*.o
-PARCSRBLOCKMVFILES = ${HYPRE_SRC_TOP_DIR}/parcsr_block_mv/*.o
-SEQMVFILES = ${HYPRE_SRC_TOP_DIR}/seq_mv/*.o
-SSTRUCTLSFILES = ${HYPRE_SRC_TOP_DIR}/sstruct_ls/*.o
-SSTRUCTMVFILES = ${HYPRE_SRC_TOP_DIR}/sstruct_mv/*.o
-STRUCTLSFILES = ${HYPRE_SRC_TOP_DIR}/struct_ls/*.o
-STRUCTMVFILES = ${HYPRE_SRC_TOP_DIR}/struct_mv/*.o
-UTILITIESFILES = ${HYPRE_SRC_TOP_DIR}/utilities/*.o
 
 UTILFILES = \
  ${HYPRE_SRC_TOP_DIR}/utilities/amg_linklist.o\
@@ -91,6 +70,30 @@
 $(STRUCTMVFILES)\
 $(UTILITIESFILES)
 
+LIBS_BOTH = \
+  ../utilities/libHYPRE_utilities.so \
+  ../multivector/libHYPRE_multivector.so \
+  ../krylov/libHYPRE_krylov.so \
+  ../struct_mv/libHYPRE_struct_mv.so \
+  ../struct_ls/libHYPRE_struct_ls.so \
+  ../sstruct_mv/libHYPRE_sstruct_mv.so \
+  ../sstruct_ls/libHYPRE_sstruct_ls.so \
+  ../seq_mv/libHYPRE_seq_mv.so \
+  ../parcsr_mv/libHYPRE_parcsr_mv.so \
+  ../parcsr_block_mv/libHYPRE_parcsr_block_mv.so \
+  ../distributed_matrix/libHYPRE_DistributedMatrix.so \
+  ../matrix_matrix/libHYPRE_MatrixMatrix.so \
+  ../IJ_mv/libHYPRE_IJ_mv.so \
+  ../distributed_ls/Euclid/libHYPRE_Euclid.so \
+  ../distributed_ls/ParaSails/libHYPRE_ParaSails.so \
+  ../distributed_ls/pilut/libHYPRE_DistributedMatrixPilutSolver.so \
+  ../parcsr_ls/libHYPRE_parcsr_ls.so \
+  ../FEI_mv/fgmres/libHYPRE_FEI_fgmres.so \
+  ../FEI_mv/femli/lib/libHYPRE_mli.so \
+  ../FEI_mv/fei-hypre/libHYPRE_FEI.so
+
+LIBS_HYPRE = ../utilities/libHYPRE_utilities.so ${LIBS_BOTH}
+
 FILES_LSI = \
 $(FEIHYPREFILES)\
 $(FEMLIFILES)\
@@ -117,10 +120,10 @@
 ##################################################################
 
 all: libHYPRE${HYPRE_LIB_SUFFIX} libHYPRE_LSI${HYPRE_LIB_SUFFIX}
-	cp -fp libHYPRE* ${HYPRE_BUILD_DIR}/lib
+	cp -fpd libHYPRE* ${HYPRE_BUILD_DIR}/lib
 
 install: all
-	cp -fp libHYPRE* ${HYPRE_LIB_INSTALL}
+	cp -fpd libHYPRE* ${HYPRE_LIB_INSTALL}
 
 clean:
 	rm -f *.o libHYPRE*
@@ -156,9 +159,10 @@
 	${AR} $@ $(UTILITIESFILES)
 	${RANLIB} $@
 
-libHYPRE.so: ${FILES_HYPRE}
+libHYPRE.so: ${LIBS_HYPRE}
 	@echo  "Building libHYPRE ... "
-	${BUILD_CC_SHARED} -o $@ ${FILES_HYPRE}
+	${BUILD_CC_SHARED} $^ -o $@.2.0.0 -Wl,-soname,$@.2.0.0 -Wl,-z,defs
+	ln -s $@.2.0.0 $@
 
 libHYPRE_LSI.a: ${FILES_LSI}
 	@echo  "Building libHYPRE_LSI ... "
@@ -185,5 +189,6 @@
 
 libHYPRE_LSI.so: ${FILES_LSI}
 	@echo  "Building libHYPRE_LSI ... "
-	${BUILD_CC_SHARED} -o $@ ${FILES_LSI}
+	${BUILD_CC_SHARED} $^ -lmpi -lm -o $@.2.0.0 -Wl,-soname,$@.2.0.0 -Wl,-z,defs
+	ln -s $@.2.0.0 $@
 
--- hypre-2.0.0.orig/src/matrix_matrix/Makefile
+++ hypre-2.0.0/src/matrix_matrix/Makefile
@@ -40,6 +40,11 @@
  -I$(srcdir)/../parcsr_mv\
  ${CINCLUDES}
 
+LIBS =  \
+  ../parcsr_mv/libHYPRE_parcsr_mv.so \
+  ../distributed_matrix/libHYPRE_DistributedMatrix.so
+#  ../IJ_mv/libHYPRE_IJ_mv.so
+
 EXTRA_FILES =\
  internal_protos.h
 
@@ -56,12 +61,12 @@
 ##################################################################
 
 all: libHYPRE_MatrixMatrix${HYPRE_LIB_SUFFIX}
-	cp -fp $(srcdir)/HYPRE_*.h $(HYPRE_BUILD_DIR)/include
-	cp -fp libHYPRE* $(HYPRE_BUILD_DIR)/lib
+	cp -fpd $(srcdir)/HYPRE_*.h $(HYPRE_BUILD_DIR)/include
+	cp -fpd libHYPRE* $(HYPRE_BUILD_DIR)/lib
 
 install: libHYPRE_MatrixMatrix${HYPRE_LIB_SUFFIX}
-	cp -fp $(srcdir)/HYPRE_*.h $(HYPRE_INC_INSTALL)
-	cp -fp libHYPRE* $(HYPRE_LIB_INSTALL)
+	cp -fpd $(srcdir)/HYPRE_*.h $(HYPRE_INC_INSTALL)
+	cp -fpd libHYPRE* $(HYPRE_LIB_INSTALL)
 
 clean:
 	rm -f *.o lib*
@@ -78,8 +83,9 @@
 	${AR} $@ ${OBJS}
 	${RANLIB} $@
 
-libHYPRE_MatrixMatrix.so: ${OBJS}
+libHYPRE_MatrixMatrix.so: ${OBJS} ${LIBS}
 	@echo  "Building $@ ... "
-	${BUILD_CC_SHARED} -o $@ ${OBJS}
+	${BUILD_CC_SHARED} $^ -o $@.2.0.0 -Wl,-soname,$@.2.0.0 -Wl,-z,defs
+	ln -s $@.2.0.0 $@
 
 ${OBJS}: ${HEADERS}
--- hypre-2.0.0.orig/src/multivector/Makefile
+++ hypre-2.0.0/src/multivector/Makefile
@@ -52,12 +52,12 @@
 ##################################################################
 
 all: libHYPRE_multivector${HYPRE_LIB_SUFFIX}
-	cp -fp *.h $(HYPRE_BUILD_DIR)/include
-	cp -fp libHYPRE* $(HYPRE_BUILD_DIR)/lib
+	cp -fpd *.h $(HYPRE_BUILD_DIR)/include
+	cp -fpd libHYPRE* $(HYPRE_BUILD_DIR)/lib
 
 install: libHYPRE_multivector${HYPRE_LIB_SUFFIX}
-	cp -f *.h $(HYPRE_INC_INSTALL)
-	cp -f libHYPRE* $(HYPRE_LIB_INSTALL)
+	cp -fpd *.h $(HYPRE_INC_INSTALL)
+	cp -fpd libHYPRE* $(HYPRE_LIB_INSTALL)
 
 clean:
 	rm -f *.o libHYPRE*
@@ -74,8 +74,9 @@
 	${AR} $@ ${OBJS}
 	${RANLIB} $@
 
-libHYPRE_multivector.so: ${OBJS}
+libHYPRE_multivector.so: ${OBJS} ../utilities/libHYPRE_utilities.so
 	@echo  "Building $@ ... "
-	${BUILD_CC_SHARED} -o $@ ${OBJS}
+	${BUILD_CC_SHARED} $^ -o $@.2.0.0 -Wl,-soname,$@.2.0.0 -Wl,-z,defs
+	ln -s $@.2.0.0 $@
 
 ${OBJS}: ${HEADERS}
--- hypre-2.0.0.orig/src/parcsr_block_mv/Makefile
+++ hypre-2.0.0/src/parcsr_block_mv/Makefile
@@ -44,8 +44,15 @@
  -I$(srcdir)/../krylov\
  ${CINCLUDES}
  
+HYPRE_LIBS = \
+  ../utilities/libHYPRE_utilities.so \
+  ../seq_mv/libHYPRE_seq_mv.so \
+  ../parcsr_mv/libHYPRE_parcsr_mv.so
+
+SYSTEM_LIBS = -lmpi -lm
+
 LFLAGS = \
-  -L. -lHYPRE_parcsr_block_mv -L../hypre/lib -lHYPRE_krylov \
+  -L../hypre/lib -lHYPRE_krylov \
       -lHYPRE_parcsr_ls -lHYPRE_ParaSails -lHYPRE_Euclid \
       -lHYPRE_DistributedMatrixPilutSolver -lHYPRE_IJ_mv \
       -lHYPRE_parcsr_mv -lHYPRE_seq_mv -lHYPRE_DistributedMatrix \
@@ -80,9 +87,9 @@
 ##################################################################
 
 all: libHYPRE_parcsr_block_mv${HYPRE_LIB_SUFFIX}
-	cp -fp $(srcdir)/par_csr_block_matrix.h $(HYPRE_BUILD_DIR)/include	
-	cp -fp $(srcdir)/csr_block_matrix.h $(HYPRE_BUILD_DIR)/include
-	cp -fp libHYPRE_* $(HYPRE_BUILD_DIR)/lib/.
+	cp -fpd $(srcdir)/par_csr_block_matrix.h $(HYPRE_BUILD_DIR)/include	
+	cp -fpd $(srcdir)/csr_block_matrix.h $(HYPRE_BUILD_DIR)/include
+	cp -fpd libHYPRE_* $(HYPRE_BUILD_DIR)/lib/.
  
 driver: driver.o libHYPRE_parcsr_block_mv${HYPRE_LIB_SUFFIX}
 	@echo  "Linking" $@ "... "
@@ -109,9 +116,9 @@
 	${CC} -o driver_boolaat driver_boolaat.o ${LFLAGS} 
 
 install: libHYPRE_parcsr_block_mv${HYPRE_LIB_SUFFIX}
-	cp -fp $(srcdir)/par_csr_block_matrix.h $(HYPRE_INC_INSTALL)/.
-	cp -fp $(srcdir)/csr_block_matrix.h $(HYPRE_INC_INSTALL)/.
-	cp -fp libHYPRE_* $(HYPRE_LIB_INSTALL)/.
+	cp -fpd $(srcdir)/par_csr_block_matrix.h $(HYPRE_INC_INSTALL)/.
+	cp -fpd $(srcdir)/csr_block_matrix.h $(HYPRE_INC_INSTALL)/.
+	cp -fpd libHYPRE_* $(HYPRE_LIB_INSTALL)/.
  
 clean:
 	rm -rf *.o libHYPRE_*
@@ -128,9 +135,11 @@
 	${AR} $@ ${OBJS}
 	${RANLIB} $@
 
-libHYPRE_parcsr_block_mv.so: ${OBJS}
+libHYPRE_parcsr_block_mv.so: ${OBJS} ${HYPRE_LIBS}
 	@echo  "Building $@ ... "
-	${BUILD_CC_SHARED} -o $@ ${OBJS}
+	${BUILD_CC_SHARED} $^ ${SYSTEM_LIBS} -o $@.2.0.0 -Wl,-soname,$@.2.0.0 \
+	  -Wl,-z,defs
+	ln -s $@.2.0.0 $@
 
 ${OBJS}: ${HEADERS}
 
--- hypre-2.0.0.orig/src/parcsr_ls/Makefile
+++ hypre-2.0.0/src/parcsr_ls/Makefile
@@ -52,7 +52,22 @@
  -I$(srcdir)/../parcsr_block_mv\
  ${CINCLUDES}
  
- 
+HYPRE_LIBS = \
+  ../utilities/libHYPRE_utilities.so \
+  ../multivector/libHYPRE_multivector.so \
+  ../krylov/libHYPRE_krylov.so \
+  ../seq_mv/libHYPRE_seq_mv.so \
+  ../parcsr_mv/libHYPRE_parcsr_mv.so \
+  ../parcsr_block_mv/libHYPRE_parcsr_block_mv.so \
+  ../distributed_matrix/libHYPRE_DistributedMatrix.so \
+  ../IJ_mv/libHYPRE_IJ_mv.so \
+  ../matrix_matrix/libHYPRE_MatrixMatrix.so \
+  ../distributed_ls/pilut/libHYPRE_DistributedMatrixPilutSolver.so \
+  ../distributed_ls/ParaSails/libHYPRE_ParaSails.so \
+  ../distributed_ls/Euclid/libHYPRE_Euclid.so
+
+SYSTEM_LIBS = -lmpi -lm $(LAPACKLIBDIRS) $(LAPACKLIBS)
+
 HEADERS =\
  aux_interp.h\
  Common.h\
@@ -137,14 +152,14 @@
 ##################################################################
 
 all: libHYPRE_parcsr_ls${HYPRE_LIB_SUFFIX}
-	cp -fp $(srcdir)/HYPRE_*.h $(HYPRE_BUILD_DIR)/include
-	cp -fp $(srcdir)/_hypre_parcsr_ls.h $(HYPRE_BUILD_DIR)/include
-	cp -fp libHYPRE* $(HYPRE_BUILD_DIR)/lib
+	cp -fpd $(srcdir)/HYPRE_*.h $(HYPRE_BUILD_DIR)/include
+	cp -fpd $(srcdir)/_hypre_parcsr_ls.h $(HYPRE_BUILD_DIR)/include
+	cp -fpd libHYPRE* $(HYPRE_BUILD_DIR)/lib
  
 install: libHYPRE_parcsr_ls${HYPRE_LIB_SUFFIX}
-	cp -fp $(srcdir)/HYPRE_*.h $(HYPRE_INC_INSTALL)
-	cp -fp $(srcdir)/_hypre_parcsr_ls.h $(HYPRE_INC_INSTALL)
-	cp -fp libHYPRE* $(HYPRE_LIB_INSTALL)
+	cp -fpd $(srcdir)/HYPRE_*.h $(HYPRE_INC_INSTALL)
+	cp -fpd $(srcdir)/_hypre_parcsr_ls.h $(HYPRE_INC_INSTALL)
+	cp -fpd libHYPRE* $(HYPRE_LIB_INSTALL)
  
 clean:
 	rm -f *.o libHYPRE*
@@ -162,8 +177,10 @@
 	${AR} $@ ${OBJS}
 	${RANLIB} $@
 
-libHYPRE_parcsr_ls.so: ${OBJS}
+libHYPRE_parcsr_ls.so: ${OBJS} ${HYPRE_LIBS}
 	@echo  "Building $@ ... "
-	${BUILD_CC_SHARED} -o $@ ${OBJS}
+	${BUILD_CC_SHARED} $^ ${SYSTEM_LIBS} -o $@.2.0.0 -Wl,-soname,$@.2.0.0 \
+	  -Wl,-z,defs
+	ln -s $@.2.0.0 $@
  
 ${OBJS}: ${HEADERS}
--- hypre-2.0.0.orig/src/parcsr_mv/Makefile
+++ hypre-2.0.0/src/parcsr_mv/Makefile
@@ -39,6 +39,10 @@
  -I$(srcdir)/../seq_mv\
  ${CINCLUDES}
  
+HYPRE_LIBS = ../seq_mv/libHYPRE_seq_mv.so ../utilities/libHYPRE_utilities.so
+
+SYSTEM_LIBS = -lmpi
+
 HEADERS =\
  headers.h\
  HYPRE_parcsr_mv.h\
@@ -92,9 +96,9 @@
 ##################################################################
 
 all: libHYPRE_parcsr_mv${HYPRE_LIB_SUFFIX}
-	cp -fp $(srcdir)/HYPRE_*.h $(HYPRE_BUILD_DIR)/include
-	cp -fp $(srcdir)/_hypre_parcsr_mv.h $(HYPRE_BUILD_DIR)/include
-	cp -fp libHYPRE* $(HYPRE_BUILD_DIR)/lib
+	cp -fpd $(srcdir)/HYPRE_*.h $(HYPRE_BUILD_DIR)/include
+	cp -fpd $(srcdir)/_hypre_parcsr_mv.h $(HYPRE_BUILD_DIR)/include
+	cp -fpd libHYPRE* $(HYPRE_BUILD_DIR)/lib
  
 driver: driver.o libHYPRE_parcsr_mv${HYPRE_LIB_SUFFIX} 
 	@echo  "Linking" $@ "... "
@@ -121,9 +125,9 @@
 	${CC} -o driver_boolaat driver_boolaat.o ${LFLAGS} 
 
 install: libHYPRE_parcsr_mv${HYPRE_LIB_SUFFIX}
-	cp -fp $(srcdir)/HYPRE_*.h $(HYPRE_INC_INSTALL)
-	cp -fp $(srcdir)/_hypre_parcsr_mv.h $(HYPRE_INC_INSTALL)
-	cp -fp libHYPRE* $(HYPRE_LIB_INSTALL)
+	cp -fpd $(srcdir)/HYPRE_*.h $(HYPRE_INC_INSTALL)
+	cp -fpd $(srcdir)/_hypre_parcsr_mv.h $(HYPRE_INC_INSTALL)
+	cp -fpd libHYPRE* $(HYPRE_LIB_INSTALL)
  
 clean:
 	rm -f *.o libHYPRE*
@@ -141,9 +145,11 @@
 	${AR} $@ ${OBJS}
 	${RANLIB} $@
 
-libHYPRE_parcsr_mv.so: ${OBJS}
+libHYPRE_parcsr_mv.so: ${OBJS} ${HYPRE_LIBS}
 	@echo  "Building $@ ... "
-	${BUILD_CC_SHARED} -o $@ ${OBJS}
+	${BUILD_CC_SHARED} $^ ${SYSTEM_LIBS} -o $@.2.0.0 -Wl,-soname,$@.2.0.0 \
+	  -Wl,-z,defs
+	ln -s $@.2.0.0 $@
 
 ${OBJS}: ${HEADERS}
 
--- hypre-2.0.0.orig/src/seq_mv/Makefile
+++ hypre-2.0.0/src/seq_mv/Makefile
@@ -68,14 +68,14 @@
 ##################################################################
  
 all: libHYPRE_seq_mv${HYPRE_LIB_SUFFIX}
-	cp -fp $(srcdir)/HYPRE_*.h $(HYPRE_BUILD_DIR)/include
-	cp -fp $(srcdir)/seq_mv.h $(HYPRE_BUILD_DIR)/include
-	cp -fp libHYPRE* $(HYPRE_BUILD_DIR)/lib
+	cp -fpd $(srcdir)/HYPRE_*.h $(HYPRE_BUILD_DIR)/include
+	cp -fpd $(srcdir)/seq_mv.h $(HYPRE_BUILD_DIR)/include
+	cp -fpd libHYPRE* $(HYPRE_BUILD_DIR)/lib
  
 install: libHYPRE_seq_mv${HYPRE_LIB_SUFFIX}
-	cp -fp $(srcdir)/HYPRE_*.h $(HYPRE_INC_INSTALL)
-	cp -fp $(srcdir)/seq_mv.h $(HYPRE_INC_INSTALL)
-	cp -fp libHYPRE* $(HYPRE_LIB_INSTALL)
+	cp -fpd $(srcdir)/HYPRE_*.h $(HYPRE_INC_INSTALL)
+	cp -fpd $(srcdir)/seq_mv.h $(HYPRE_INC_INSTALL)
+	cp -fpd libHYPRE* $(HYPRE_LIB_INSTALL)
 
 clean:
 	rm -f *.o libHYPRE*
@@ -93,8 +93,9 @@
 	${AR} $@ ${OBJS}
 	${RANLIB} $@
 
-libHYPRE_seq_mv.so: ${OBJS}
+libHYPRE_seq_mv.so: ${OBJS} ../utilities/libHYPRE_utilities.so
 	@echo  "Building $@ ... "
-	${BUILD_CC_SHARED} -o $@ ${OBJS}
+	${BUILD_CC_SHARED} $^ -o $@.2.0.0 -Wl,-soname,$@.2.0.0 -Wl,-z,defs
+	ln -s $@.2.0.0 libHYPRE_seq_mv.so
 
 ${OBJS}: ${HEADERS}
--- hypre-2.0.0.orig/src/seq_ls/pamg/Makefile
+++ hypre-2.0.0/src/seq_ls/pamg/Makefile
@@ -44,11 +44,9 @@
  
 LFLAGS =\
  ${LD_LINK_FLAGS}\
- -L.\
  -L../../seq_mv\
  -L../../utilities\
  -L../../krylov\
- -lHYPRE_amg_ls\
  -lHYPRE_seq_mv\
  -lHYPRE_utilities\
  -lHYPRE_krylov\
@@ -134,6 +132,7 @@
 
 libHYPRE_amg_ls.so: ${OBJS}
 	@echo  "Building $@ ... "
-	${BUILD_CC_SHARED} -o $@ ${OBJS}
+	${BUILD_CC_SHARED} -o $@ -Wl,-soname,$@ ${LFLAGS} ${OBJS}
+	ln -s $@ libHYPRE_amg_ls.so
 
 ${OBJS}: ${HEADERS}
--- hypre-2.0.0.orig/src/sstruct_ls/Makefile
+++ hypre-2.0.0/src/sstruct_ls/Makefile
@@ -47,6 +47,20 @@
  -I$(srcdir)/../parcsr_ls\
  ${CINCLUDES}
 
+HYPRE_LIBS = \
+  ../utilities/libHYPRE_utilities.so \
+  ../multivector/libHYPRE_multivector.so \
+  ../krylov/libHYPRE_krylov.so \
+  ../struct_mv/libHYPRE_struct_mv.so \
+  ../struct_ls/libHYPRE_struct_ls.so \
+  ../seq_mv/libHYPRE_seq_mv.so \
+  ../parcsr_mv/libHYPRE_parcsr_mv.so \
+  ../IJ_mv/libHYPRE_IJ_mv.so \
+  ../parcsr_ls/libHYPRE_parcsr_ls.so \
+  ../sstruct_mv/libHYPRE_sstruct_mv.so
+
+SYSTEM_LIBS = -lmpi -lm
+
 HEADERS =\
  HYPRE_sstruct_int.h\
  HYPRE_sstruct_ls.h\
@@ -128,14 +142,14 @@
 ##################################################################
 
 all: libHYPRE_sstruct_ls${HYPRE_LIB_SUFFIX}
-	cp -fp $(srcdir)/HYPRE_*.h $(HYPRE_BUILD_DIR)/include
-	cp -fp $(srcdir)/_hypre_sstruct_ls.h $(HYPRE_BUILD_DIR)/include
-	cp -fp libHYPRE* $(HYPRE_BUILD_DIR)/lib
+	cp -fpd $(srcdir)/HYPRE_*.h $(HYPRE_BUILD_DIR)/include
+	cp -fpd $(srcdir)/_hypre_sstruct_ls.h $(HYPRE_BUILD_DIR)/include
+	cp -fpd libHYPRE* $(HYPRE_BUILD_DIR)/lib
 
 install: libHYPRE_sstruct_ls${HYPRE_LIB_SUFFIX}
-	cp -fp $(srcdir)/HYPRE_*.h $(HYPRE_INC_INSTALL)
-	cp -fp $(srcdir)/_hypre_sstruct_ls.h $(HYPRE_INC_INSTALL)
-	cp -fp libHYPRE* $(HYPRE_LIB_INSTALL)
+	cp -fpd $(srcdir)/HYPRE_*.h $(HYPRE_INC_INSTALL)
+	cp -fpd $(srcdir)/_hypre_sstruct_ls.h $(HYPRE_INC_INSTALL)
+	cp -fpd libHYPRE* $(HYPRE_LIB_INSTALL)
 
 clean:
 	rm -f *.o libHYPRE*
@@ -152,8 +166,10 @@
 	${AR} $@ ${OBJS}
 	${RANLIB} $@
 
-libHYPRE_sstruct_ls.so: ${OBJS}
+libHYPRE_sstruct_ls.so: ${OBJS} ${HYPRE_LIBS}
 	@echo  "Building $@ ... "
-	${BUILD_CC_SHARED} -o $@ ${OBJS}
+	${BUILD_CC_SHARED} $^ ${SYSTEM_LIBS} -o $@.2.0.0 -Wl,-soname,$@.2.0.0 \
+	  -Wl,-z,defs
+	ln -s $@.2.0.0 $@
 
 ${OBJS}: ${HEADERS}
--- hypre-2.0.0.orig/src/sstruct_mv/Makefile
+++ hypre-2.0.0/src/sstruct_mv/Makefile
@@ -42,6 +42,14 @@
  -I$(srcdir)/../IJ_mv\
  ${CINCLUDES}
 
+HYPRE_LIBS = \
+  ../utilities/libHYPRE_utilities.so \
+  ../struct_mv/libHYPRE_struct_mv.so \
+  ../parcsr_mv/libHYPRE_parcsr_mv.so \
+  ../IJ_mv/libHYPRE_IJ_mv.so
+
+SYSTEM_LIBS = -lmpi
+
 HEADERS =\
  HYPRE_sstruct_mv.h\
  _hypre_sstruct_mv.h\
@@ -84,14 +92,14 @@
 ##################################################################
 
 all: libHYPRE_sstruct_mv${HYPRE_LIB_SUFFIX}
-	cp -fp $(srcdir)/HYPRE_*.h $(HYPRE_BUILD_DIR)/include
-	cp -fp $(srcdir)/_hypre_sstruct_mv.h $(HYPRE_BUILD_DIR)/include
-	cp -fp libHYPRE* $(HYPRE_BUILD_DIR)/lib
+	cp -fpd $(srcdir)/HYPRE_*.h $(HYPRE_BUILD_DIR)/include
+	cp -fpd $(srcdir)/_hypre_sstruct_mv.h $(HYPRE_BUILD_DIR)/include
+	cp -fpd libHYPRE* $(HYPRE_BUILD_DIR)/lib
 
 install: libHYPRE_sstruct_mv${HYPRE_LIB_SUFFIX}
-	cp -fp $(srcdir)/HYPRE_*.h $(HYPRE_INC_INSTALL)
-	cp -fp $(srcdir)/_hypre_sstruct_mv.h $(HYPRE_INC_INSTALL)
-	cp -fp libHYPRE* $(HYPRE_LIB_INSTALL)
+	cp -fpd $(srcdir)/HYPRE_*.h $(HYPRE_INC_INSTALL)
+	cp -fpd $(srcdir)/_hypre_sstruct_mv.h $(HYPRE_INC_INSTALL)
+	cp -fpd libHYPRE* $(HYPRE_LIB_INSTALL)
 
 clean:
 	rm -f *.o libHYPRE*
@@ -108,8 +116,10 @@
 	${AR} $@ ${OBJS}
 	${RANLIB} $@
 
-libHYPRE_sstruct_mv.so: ${OBJS}
+libHYPRE_sstruct_mv.so: ${OBJS} ${HYPRE_LIBS}
 	@echo  "Building $@ ... "
-	${BUILD_CC_SHARED} -o $@ ${OBJS}
+	${BUILD_CC_SHARED} $^ ${SYSTEM_LIBS} -o $@.2.0.0 -Wl,-soname,$@.2.0.0 \
+	  -Wl,-z,defs
+	ln -s $@.2.0.0 $@
 
 ${OBJS}: ${HEADERS}
--- hypre-2.0.0.orig/src/struct_ls/Makefile
+++ hypre-2.0.0/src/struct_ls/Makefile
@@ -41,6 +41,14 @@
  -I$(srcdir)/../struct_mv\
  ${CINCLUDES}
 
+HYPRE_LIBS = \
+  ../utilities/libHYPRE_utilities.so \
+  ../multivector/libHYPRE_multivector.so \
+  ../krylov/libHYPRE_krylov.so \
+  ../struct_mv/libHYPRE_struct_mv.so
+
+SYSTEM_LIBS = -lmpi -lm
+
 HEADERS =\
  HYPRE_struct_int.h\
  HYPRE_struct_ls.h\
@@ -121,14 +129,14 @@
 ##################################################################
 
 all: libHYPRE_struct_ls${HYPRE_LIB_SUFFIX}
-	cp -fp $(srcdir)/HYPRE_*.h $(HYPRE_BUILD_DIR)/include
-	cp -fp $(srcdir)/_hypre_struct_ls.h $(HYPRE_BUILD_DIR)/include
-	cp -fp libHYPRE* $(HYPRE_BUILD_DIR)/lib
+	cp -fpd $(srcdir)/HYPRE_*.h $(HYPRE_BUILD_DIR)/include
+	cp -fpd $(srcdir)/_hypre_struct_ls.h $(HYPRE_BUILD_DIR)/include
+	cp -fpd libHYPRE* $(HYPRE_BUILD_DIR)/lib
 
 install: libHYPRE_struct_ls${HYPRE_LIB_SUFFIX}
-	cp -fp $(srcdir)/HYPRE_*.h $(HYPRE_INC_INSTALL)
-	cp -fp $(srcdir)/_hypre_struct_ls.h $(HYPRE_INC_INSTALL)
-	cp -fp libHYPRE* $(HYPRE_LIB_INSTALL)
+	cp -fpd $(srcdir)/HYPRE_*.h $(HYPRE_INC_INSTALL)
+	cp -fpd $(srcdir)/_hypre_struct_ls.h $(HYPRE_INC_INSTALL)
+	cp -fpd libHYPRE* $(HYPRE_LIB_INSTALL)
 
 clean:
 	rm -f *.o libHYPRE*
@@ -146,8 +154,10 @@
 	${AR} $@ ${OBJS}
 	${RANLIB} $@
 
-libHYPRE_struct_ls.so: ${OBJS}
+libHYPRE_struct_ls.so: ${OBJS} ${HYPRE_LIBS}
 	@echo  "Building $@ ... "
-	${BUILD_CC_SHARED} -o $@ ${OBJS}
+	${BUILD_CC_SHARED} $^ ${SYSTEM_LIBS} -o $@.2.0.0 -Wl,-soname,$@.2.0.0 \
+	  -Wl,-z,defs
+	ln -s $@.2.0.0 $@
 
 ${OBJS}: ${HEADERS}
--- hypre-2.0.0.orig/src/struct_mv/Makefile
+++ hypre-2.0.0/src/struct_mv/Makefile
@@ -37,6 +37,9 @@
  -I$(srcdir)/../utilities\
  ${CINCLUDES}
 
+HYPRE_LIBS = ../utilities/libHYPRE_utilities.so
+
+SYSTEM_LIBS = -lmpi -lm
 HEADERS =\
  HYPRE_struct_mv.h\
  _hypre_struct_mv.h\
@@ -94,14 +97,14 @@
 ##################################################################
 
 all: libHYPRE_struct_mv${HYPRE_LIB_SUFFIX}
-	cp -fp $(srcdir)/HYPRE_*.h $(HYPRE_BUILD_DIR)/include
-	cp -fp $(srcdir)/_hypre_struct_mv.h $(HYPRE_BUILD_DIR)/include
-	cp -fp libHYPRE* $(HYPRE_BUILD_DIR)/lib
+	cp -fpd $(srcdir)/HYPRE_*.h $(HYPRE_BUILD_DIR)/include
+	cp -fpd $(srcdir)/_hypre_struct_mv.h $(HYPRE_BUILD_DIR)/include
+	cp -fpd libHYPRE* $(HYPRE_BUILD_DIR)/lib
 
 install: libHYPRE_struct_mv${HYPRE_LIB_SUFFIX}
-	cp -fp $(srcdir)/HYPRE_*.h $(HYPRE_INC_INSTALL)
-	cp -fp $(srcdir)/_hypre_struct_mv.h $(HYPRE_INC_INSTALL)
-	cp -fp libHYPRE* $(HYPRE_LIB_INSTALL)
+	cp -fpd $(srcdir)/HYPRE_*.h $(HYPRE_INC_INSTALL)
+	cp -fpd $(srcdir)/_hypre_struct_mv.h $(HYPRE_INC_INSTALL)
+	cp -fpd libHYPRE* $(HYPRE_LIB_INSTALL)
 
 clean:
 	rm -f *.o libHYPRE*
@@ -118,8 +121,10 @@
 	${AR} $@ ${OBJS}
 	${RANLIB} $@
 
-libHYPRE_struct_mv.so: ${OBJS}
+libHYPRE_struct_mv.so: ${OBJS} ${HYPRE_LIBS}
 	@echo  "Building $@ ... "
-	${BUILD_CC_SHARED} -o $@ ${OBJS}
+	${BUILD_CC_SHARED} $^ ${SYSTEM_LIBS} -o $@.2.0.0 -Wl,-soname,$@.2.0.0 \
+	  -Wl,-z,defs
+	ln -s $@.2.0.0 $@
 
 ${OBJS}: ${HEADERS}
--- hypre-2.0.0.orig/src/utilities/Makefile
+++ hypre-2.0.0/src/utilities/Makefile
@@ -85,16 +85,16 @@
 ##################################################################
 
 all: libHYPRE_utilities${HYPRE_LIB_SUFFIX}
-	cp -fp $(srcdir)/HYPRE_*.h $(HYPRE_BUILD_DIR)/include
-	cp -fp $(srcdir)/_hypre_utilities.h $(HYPRE_BUILD_DIR)/include
-	cp -fp $(srcdir)/fortran*.h $(HYPRE_BUILD_DIR)/include
-	cp -fp libHYPRE* $(HYPRE_BUILD_DIR)/lib
+	cp -fpd $(srcdir)/HYPRE_*.h $(HYPRE_BUILD_DIR)/include
+	cp -fpd $(srcdir)/_hypre_utilities.h $(HYPRE_BUILD_DIR)/include
+	cp -fpd $(srcdir)/fortran*.h $(HYPRE_BUILD_DIR)/include
+	cp -fpd libHYPRE* $(HYPRE_BUILD_DIR)/lib
 
 install: libHYPRE_utilities${HYPRE_LIB_SUFFIX}
-	cp -fp $(srcdir)/HYPRE_*.h $(HYPRE_INC_INSTALL)
-	cp -fp $(srcdir)/_hypre_utilities.h $(HYPRE_INC_INSTALL)
-	cp -fp $(srcdir)/fortran*.h $(HYPRE_INC_INSTALL)
-	cp -fp libHYPRE* $(HYPRE_LIB_INSTALL)
+	cp -fpd $(srcdir)/HYPRE_*.h $(HYPRE_INC_INSTALL)
+	cp -fpd $(srcdir)/_hypre_utilities.h $(HYPRE_INC_INSTALL)
+	cp -fpd $(srcdir)/fortran*.h $(HYPRE_INC_INSTALL)
+	cp -fpd libHYPRE* $(HYPRE_LIB_INSTALL)
 
 clean:
 	rm -f *.o libHYPRE* f2c.h *blas.h *lapack.h 
@@ -113,6 +113,7 @@
  
 libHYPRE_utilities.so: ${OBJS}
 	@echo  "Building $@ ... "
-	${BUILD_CC_SHARED} -o $@ *.o
+	${BUILD_CC_SHARED} $^ -lm -lmpi -o $@.2.0.0 -Wl,-soname,$@.2.0.0 -Wl,-z,defs
+	ln -s $@.2.0.0 $@
 
 ${OBJS}: ${HEADERS}
--- hypre-2.0.0.orig/debian/changelog
+++ hypre-2.0.0/debian/changelog
@@ -0,0 +1,53 @@
+hypre (2.0.0-1) unstable; urgency=low
+
+  * New upstream release (closes: #451738).
+  * Builds against OpenMPI (closes: #447673).
+  * libhypre2.0.0 doesn't need to conflict with and replace older versions
+    (closes: #349885).
+  * No longer builds or installs included SuperLU (closes: #436230).
+  * Only builds shared libs for now, will change this if somebody bugs me.
+  * Forward-ported shared library versioning.
+  * Forward-ported inter-lib links to satisfy dh_shlibdeps.
+  * Created a new lib to resolve HYPRE_FEI and HYPRE_mli inter-lib dependency.
+
+ -- Adam C. Powell, IV <hazelsct@debian.org>  Wed, 21 Nov 2007 13:21:32 -0500
+
+hypre (1.6.0-4) unstable; urgency=low
+
+  * Rebuild with new mpich and linked against libblas-3.so.
+  * Fixed configure to actually use -with-blas= value.
+  * Fixed build-depends, replacing obsolete mpich with libmpich1.0-dev and
+    adding version 3 BLAS dev.
+  * Appended c2 to shared lib package name since it includes C++ objects.
+  * Massive changes to link shared libs with all of their dependent libs.
+  * Removed HYPRE_BuildIJMatrixFromDistributedMatrix() because it uses an
+    obsolete IJ_mv API.
+  * Got rid of a bunch of @s in Makefiles to make build more transparent.
+  * Added libHYPRE_Euclid to SSTRUCT_LFLAGS in test/Makefile.in so it works.
+  * Added Makefile removal to clean target to avoid bloated .diff.gz.
+  * Added installation of lintian overrides files.
+
+ -- Adam C. Powell, IV <hazelsct@debian.org>  Thu,  8 Sep 2005 23:22:43 -0400
+
+hypre (1.6.0-3) unstable; urgency=low
+
+  * Commented -DBOOL_NOT_SUPPORTED erroneous flags in
+    src/FEI_mv/fei-hypre/Makefile.in (closes: #249525).
+  * Removed gcc | c-compiler from Build-Depends.
+  * Added lintian overrides for GPL false positives in copyright file.
+
+ -- Adam C. Powell, IV <hazelsct@debian.org>  Wed, 11 Aug 2004 22:25:09 -0400
+
+hypre (1.6.0-2) unstable; urgency=low
+
+  * Added mpich to build-depends (closes: #220591).
+
+ -- Adam C. Powell, IV <hazelsct@debian.org>  Thu, 13 Nov 2003 10:28:17 -0500
+
+hypre (1.6.0-1) unstable; urgency=low
+
+  * First packaging attempt (closes: #207414).
+  * Added shared library building to each Makefile.in.
+  * doc-base index for user and reference manuals.
+
+ -- Adam C. Powell, IV <hazelsct@debian.org>  Thu,  2 Oct 2003 14:52:22 -0400
--- hypre-2.0.0.orig/debian/shlibs.local
+++ hypre-2.0.0/debian/shlibs.local
@@ -0,0 +1 @@
+liblapack 3 atlas3-base | lapack3 | liblapack.so.3
--- hypre-2.0.0.orig/debian/rules
+++ hypre-2.0.0/debian/rules
@@ -0,0 +1,69 @@
+#!/usr/bin/make -f
+# Made with the aid of debmake, by Christoph Lameter,
+# based on the sample debian/rules file for GNU hello by Ian Jackson.
+
+package=hypre
+
+# Override compiler settings to avoid using mpicc etc. to build shlibs
+build:
+	dh_testdir
+	(cd src && ./configure --enable-shared --without-superlu \
+	  --with-blas-libs="blas-3" --with-blas-lib-dirs="/usr/lib" \
+	  --with-lapack-libs="lapack-3" --with-lapack-lib-dirs="/usr/lib")
+	$(MAKE) -C src BUILD_CC_SHARED="gcc -shared"
+	# Remove PIC object files
+	rm -f `find . -name \*.o -print`
+	(cd src && ./configure --without-superlu \
+	  --with-blas-libs="blas-3" --with-blas-lib-dirs="/usr/lib" \
+	  --with-lapack-libs="lapack-3" --with-lapack-lib-dirs="/usr/lib")
+	$(MAKE) -C src
+	touch $@
+
+clean:
+	dh_testdir
+	rm -f stamp-configure build
+	if [ -e src/Makefile ]; then $(MAKE) -C src clean; fi
+	rm -f src/config.log src/config.status src/HYPRE_config.h
+	dh_clean
+
+install: build
+	install -d `pwd`/debian/tmp/usr/include
+	install -d `pwd`/debian/tmp/usr/lib
+	$(MAKE) -C src install HYPRE_INSTALL_DIR=`pwd`/debian/tmp/usr \
+	  prefix=`pwd`/debian/tmp/usr exec_prefix=`pwd`/debian/tmp/usr
+	touch $@
+
+binary-indep: install
+	dh_testdir -i
+	dh_testroot -i
+	dh_installdirs -i
+	dh_movefiles -i
+	dh_installdocs -i
+	dh_installchangelogs -i
+	dh_compress -i -X.pdf
+	dh_fixperms -i
+	dh_installdeb -i
+	dh_gencontrol -i
+	dh_md5sums -i
+	dh_builddeb -i
+
+binary-arch: install
+	dh_testdir -a
+	dh_testroot -a
+	dh_installdirs -a
+	dh_movefiles -a
+	dh_installdocs -a
+	dh_installchangelogs -a
+	dh_strip -a
+	dh_makeshlibs -a
+	dh_compress -a
+	dh_fixperms -a
+	dh_installdeb -a
+	dh_shlibdeps -a
+	dh_gencontrol -a
+	dh_md5sums -a
+	dh_builddeb -a
+
+binary: binary-indep binary-arch
+
+.PHONY: binary binary-arch binary-indep clean checkroot
--- hypre-2.0.0.orig/debian/compat
+++ hypre-2.0.0/debian/compat
@@ -0,0 +1 @@
+5
--- hypre-2.0.0.orig/debian/control
+++ hypre-2.0.0/debian/control
@@ -0,0 +1,38 @@
+Source: hypre
+Section: math
+Priority: extra
+Maintainer: Adam C. Powell, IV <hazelsct@debian.org>
+Standards-Version: 3.7.2
+Build-Depends: debhelper (>= 3.0), libopenmpi-dev, libsuperlu3-dev, atlas3-base-dev | libblas-3.so
+
+Package: libhypre-dev
+Architecture: any
+Section: libdevel
+Depends: libhypre2.0.0 (= ${binary:Version}), libopenmpi-dev, libsuperlu3-dev, atlas3-base-dev | libblas-3.so
+Suggests: hypre-doc
+Description: High Performance Matrix Preconditioners - Development Files
+ Hypre is a high-performance matrix preconditioning library to aid in the
+ solution of large systems of linear equations.
+ .
+ This package contains the static library, headers, and symlinks necessary to
+ develop programs which use hypre.
+
+Package: libhypre2.0.0
+Architecture: any
+Section: libs
+Depends: ${shlibs:Depends}
+Description: High Performance Matrix Preconditioners - Shared Library
+ Hypre is a high-performance matrix preconditioning library to aid in the
+ solution of large systems of linear equations.
+ .
+ This package contains the shared library.
+
+Package: hypre-doc
+Architecture: all
+Section: doc
+Suggests: libhypre-dev
+Description: High Performance Matrix Preconditioners - Documentation
+ Hypre is a high-performance matrix preconditioning library to aid in the
+ solution of large systems of linear equations.
+ .
+ This package contains documentation for hypre.
--- hypre-2.0.0.orig/debian/index.html
+++ hypre-2.0.0/debian/index.html
@@ -0,0 +1,12 @@
+<html><head><title>Installed Hypre Documentation</title></head>
+<body><center><h1>Installed Hypre Documentation</h1></center>
+
+The installed hypre-doc Debian package contains the following documentation:
+<ul>
+  <li>Hypre User Manual: <a href="docs/HYPRE_usr_manual/usr_manual.html">HTML</a>,
+    <a href="docs/HYPRE_usr_manual.pdf">PostScript</a></li>
+  <li>Hypre Reference Manual:
+    <a href="docs/HYPRE_ref_manual/index.html">HTML</a>,
+    <a href="docs/HYPRE_ref_manual.pdf">PostScript</a></li>
+</ul>
+</body></html>
--- hypre-2.0.0.orig/debian/hypre-doc.doc-base
+++ hypre-2.0.0/debian/hypre-doc.doc-base
@@ -0,0 +1,16 @@
+Document: hypre-doc
+Title: Hypre High-Performance Preconditioners
+Author: Thomas Treadway <treadway1@llnl.gov>
+Abstract: HYPRE is a software library for solving large, sparse linear systems
+ of equations on massively parallel computers.  The library was created with
+ the primary goal of providing users with advanced parallel preconditioners.
+ Issues of robustness, ease of use, flexibility, and interoperability also play
+ an important role.
+Section: Math
+
+Format: HTML
+Index: /usr/share/doc/hypre-doc/index.html
+Files: /usr/share/doc/hypre-doc/docs/*/*.html
+
+Format: PDF
+Files: /usr/share/doc/hypre-doc/*/*.pdf
--- hypre-2.0.0.orig/debian/libhypre2.0.0.files
+++ hypre-2.0.0/debian/libhypre2.0.0.files
@@ -0,0 +1 @@
+usr/lib/*.so.*
--- hypre-2.0.0.orig/debian/copyright
+++ hypre-2.0.0/debian/copyright
@@ -0,0 +1,24 @@
+This package was debianized by Adam C. Powell, IV <hazelsct@debian.org> on
+August 27, 2003.
+
+It was downloaded from http://www.llnl.gov/CASC/hypre/ .
+
+As of version 2.0.0, hypre comes with the copyright text below at
+http://www.llnl.gov/casc/hypre/download/hypre-2.0.0_agree.html (the LGPL
+version 2.1 can be found at /usr/share/common-licenses/LGPL-2.1):
+
+NOTICE
+
+A. This notice is required to be provided under our contract with the U.S. Department of Energy (DOE). This work was produced at the Lawrence Livermore National Laboratory under Contract No. DE-AC52-07NA27344 with the DOE.
+
+B. Neither the United States Government nor Lawrence Livermore National Security, LLC nor any of their employees, makes any warranty, express or implied, or assumes any liability or responsibility for the accuracy, completeness, or usefulness of any information, apparatus, product, or process disclosed, or represents that its use would not infringe privately-owned rights.
+
+C. Also, reference herein to any specific commercial products, process, or services by trade name, trademark, manufacturer or otherwise does not necessarily constitute or imply its endorsement, recommendation, or favoring by the United States Government or LLNS, LLC. The views and opinions of authors expressed herein do not necessarily state or reflect those of the United States Government or LLNS, LLC, and shall not be used for advertising or product endorsement purposes.
+
+LICENSE
+
+Please see the COPYRIGHT_and_LICENSE file provided with this program for the copyright notice, disclaimer, contact information and the GNU Lesser General Public License.
+
+HYPRE is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License (as published by the Free Software Foundation) version 2.1 dated February 1999.
+
+HYPRE is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the IMPLIED WARRANTY OF MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the terms and conditions of the GNU General Public License for more details.
\ No newline at end of file
--- hypre-2.0.0.orig/debian/libhypre-dev.files
+++ hypre-2.0.0/debian/libhypre-dev.files
@@ -0,0 +1,3 @@
+usr/lib/*.a
+usr/lib/*.so
+usr/include/*.h
--- hypre-2.0.0.orig/debian/hypre-doc.docs
+++ hypre-2.0.0/debian/hypre-doc.docs
@@ -0,0 +1,2 @@
+docs
+debian/index.html
