@echo "========================================================================"
@echo "= ="
@echo "= The following targets exist: ="
- @echo "= baseg lacg : debug libraries \"base\" and \"lac\" ="
- @echo "= baseo laco : optimized libraries \"base\" and \"lac\" ="
- @echo "= base lac : debug and optimized libraries \"base\" and \"lac\" ="
- @echo "= 1dg 2dg 3dg: deal.II debug version for specified dimension ="
- @echo "= 1do 2do 3do: deal.II optimized version for specified dimension ="
- @echo "= 1d 2d 3d : deal.II debug and optimized for specified dimension ="
- @echo "= ="
@echo "= contrib : additional libraries in contrib, if there are any ="
@echo "= ="
- @echo "= all : base, lac, 1d, 2d and 3d, contrib ="
- @echo "= debug : baseg, lacg, 1dg, 2dg and 3dg, contrib ="
- @echo "= optimized : baseo, laco, 1do, 2do and 3do, contrib ="
+ @echo "= all : debug and optimized libraries ="
+ @echo "= debug : the debug version of the deal.II library ="
+ @echo "= optimized : the optimized version of the deal.II library ="
@echo "= ="
@echo "= online-doc : generate the documentation in HTML format ="
@echo "= TODO : create a \"TODO\" file from the source files ="
deps:
cd $D/common/scripts && $(MAKE) $(MAKEOPTIONS)
- cd $D/base && $(MAKE) $(MAKEOPTIONS) Makefile.dep
- cd $D/lac && $(MAKE) $(MAKEOPTIONS) Makefile.dep
- cd $D/deal.II && $(MAKE) $(MAKEOPTIONS) Makefile.dep
+ cd $D/source && $(MAKE) $(MAKEOPTIONS) Makefile.dep
cd $D/lib && $(MAKE) $(MAKEOPTIONS) external-links
-# Targets for object files of sublibraries
-baseog: deps
- cd $D/base && $(MAKE) $(MAKEOPTIONS) objg
-baseoo: deps
- cd $D/base && $(MAKE) $(MAKEOPTIONS) objo
-
-lacog: deps
- cd $D/lac && $(MAKE) $(MAKEOPTIONS) objg
-lacoo: deps
- cd $D/lac && $(MAKE) $(MAKEOPTIONS) objo
-
-1dog: deps
- cd $D/deal.II && $(MAKE) $(MAKEOPTIONS) obj1dg
-2dog: deps
- cd $D/deal.II && $(MAKE) $(MAKEOPTIONS) obj2dg
-3dog: deps
- cd $D/deal.II && $(MAKE) $(MAKEOPTIONS) obj3dg
-
-1doo: deps
- cd $D/deal.II && $(MAKE) $(MAKEOPTIONS) obj1do
-2doo: deps
- cd $D/deal.II && $(MAKE) $(MAKEOPTIONS) obj2do
-3doo: deps
- cd $D/deal.II && $(MAKE) $(MAKEOPTIONS) obj3do
-
-adog: deps
- cd $D/deal.II && $(MAKE) $(MAKEOPTIONS) objg
-adoo: deps
- cd $D/deal.II && $(MAKE) $(MAKEOPTIONS) objo
-
-baseg: baseog contrib
- cd $D/base && $(MAKE) $(MAKEOPTIONS) libg
-
-baseo: baseoo contrib
- cd $D/base && $(MAKE) $(MAKEOPTIONS) libo
-
-
-lacg: lacog baseg
- cd $D/lac && $(MAKE) $(MAKEOPTIONS) libg
-
-laco: lacoo baseo
- cd $D/lac && $(MAKE) $(MAKEOPTIONS) libo
-
-1dg: 1dog lacg baseg
- cd $D/deal.II && $(MAKE) $(MAKEOPTIONS) 1dg
-
-2dg: 2dog lacg baseg
- cd $D/deal.II && $(MAKE) $(MAKEOPTIONS) 2dg
-
-3dg: 3dog lacg baseg
- cd $D/deal.II && $(MAKE) $(MAKEOPTIONS) 3dg
-
-1do: 1doo laco baseo
- cd $D/deal.II && $(MAKE) $(MAKEOPTIONS) 1d
-
-2do: 2doo baseo laco
- cd $D/deal.II && $(MAKE) $(MAKEOPTIONS) 2d
-
-3do: 3doo baseo laco
- cd $D/deal.II && $(MAKE) $(MAKEOPTIONS) 3d
-
-
-base: baseg baseo
-lac: lacg laco
-1d: 1dg 1do
-2d: 2dg 2do
-3d: 3dg 3do
-
-$(LIBDIR):
- @mkdir $@
-
-baseg baseo base lacg laco lac 1dg 1do 1d 2dg 2do 2d 3dg 3do 3d all debug contrib functionparser : $(LIBDIR) deps
all: debug optimized
-debug: contrib baseg lacg 2dg 1dg 3dg
-optimized: contrib baseo laco 2do 1do 3do
+debug: deps contrib
+ @cd source && $(MAKE) debug
+
+optimized: deps contrib
+ @cd source && $(MAKE) optimized
-# when HSL functions are used, we also compile the detached_ma27
-# program which itself uses the optimized base library; so add this to
-# the dependencies if necessary
-#
-# make sure the function parser is also built (it isn't in the default
-# build list of the subdirectory, since it needs to be built before
-# libbase
contrib: contrib-functionparser
cd $D/contrib && $(MAKE)
TAGS:
@cd $D/common ; etags --language=c++ \
- $D/base/include/*/*.h $D/lac/include/*/*.h $D/deal.II/include/*/*.h \
- $D/base/source/*.cc $D/lac/source/*.cc \
- $D/deal.II/source/*/*.cc $D/deal.II/source/*/*.h \
+ $D/include/*/*.h $D/source/*/*.cc \
$D/examples/*/*.cc ; \
perl -pi -e 's/ \* .*//g; s&[\t]*/\*.*&&g; s&[\t]*\*/.*&&g;' TAGS
-clean: clean-contrib clean-base clean-lac clean-dealII \
+clean: clean-contrib clean-source \
clean-doc clean-examples clean-lib clean-tests
-rm -f TODO common/TAGS
clean-contrib:
cd $D/contrib && $(MAKE) clean
-clean-base:
- cd $D/base && $(MAKE) CLEAN=yes clean
-
-clean-lac:
- cd $D/lac && $(MAKE) CLEAN=yes clean
-
-clean-dealII:
- cd $D/deal.II && $(MAKE) CLEAN=yes clean
+clean-source:
+ cd $D/source && $(MAKE) CLEAN=yes clean
clean-doc:
cd $D/doc && $(MAKE) CLEAN=yes clean
distclean: clean
cd lib && $(MAKE) distclean
-cd tests && $(MAKE) distclean
- -rm base/source/*.inst lac/source/*.inst deal.II/source/*/*.inst
+ -rm source/*/*.inst
$(MAKE) clean-common-scripts
@echo BUILD TEST SUCCESSFUL `date -u '+%Y-%m-%d %T'`
-.PHONY: base baseg lac lacg 1d 2d 3d 1dg 2dg 3dg all \
+.PHONY: all \
online-doc doc printable-doc tex-doc contrib \
contrib-functionparser \
clean clean-contrib clean-base clean-lac clean-dealII \
+++ /dev/null
-# $Id$
-# Copyright W. Bangerth, University of Heidelberg, 1998, 1999, 2000, 2001, 2002
-
-
-
-# deal.II top level directory
-D=..
-
-# get options which hold for all files of the project
-ifneq ($(CLEAN),yes)
-include $D/common/Make.global_options
-
-# create lists of file names
-cc-files = $(shell echo $D/base/source/*.cc)
-o-files-base = $(addprefix $(LIBDIR)/base/, $(patsubst $D/base/source/%,%,$(cc-files:.cc=.$(OBJEXT))))
-o-files = $(sort $(o-files-base))
-go-files = $(o-files:.$(OBJEXT)=.g.$(OBJEXT))
-h-files = $(sort $(shell echo include/base/*.h))
-
-# there's an extra .o file for the function parser that we need to link into
-# libbase. do similarly for the threading building block things if threading
-# is enabled
-ifeq ($(enable-parser),yes)
- extra-o-files = $(LIBDIR)/contrib/functionparser/fparser.$(OBJEXT)
- extra-g.o-files = $(LIBDIR)/contrib/functionparser/fparser.$(OBJEXT)
-endif
-
-
-# production rules
-$(LIBDIR)/base/%.g.$(OBJEXT) :
- @echo "=====base=============debug======$(MT)== $(<F)"
- @$(CXX) $(CXXFLAGS.g) -c $< -o $@
-$(LIBDIR)/base/%.$(OBJEXT) :
- @echo "=====base=============optimized==$(MT)== $(<F)"
- @$(CXX) $(CXXFLAGS.o) -c $< -o $@
-
-
-# in general, when linking shared libraries, we will want to link with
-# the underlying libs as well. AIX even requires this. on the other
-# hand, on DEC OSF with CXX this will fail with duplicate symbols, so
-# make sure that it doesn't happen on that system and that compiler
-#
-# for the current directory, this is only the PETSc libraries since we
-# reference them in base/source/utilities
-ifneq ($(GXX-VERSION),compaq_cxx)
- deplibs.g =
- deplibs.o =
-
- ifeq ($(USE_CONTRIB_PETSC),yes)
- deplibs.g += $(lib-contrib-petsc.g) $(DEAL_II_PETSC_MPIUNI_LIB)
- deplibs.o += $(lib-contrib-petsc.o) $(DEAL_II_PETSC_MPIUNI_LIB)
- endif
-
- ifeq ($(USE_CONTRIB_TRILINOS),yes)
- deplibs.g += $(lib-contrib-trilinos)
- deplibs.o += $(lib-contrib-trilinos)
- endif
-
- ifeq ($(enable-threads),yes)
- deplibs.g += $D/lib/libtbb_debug$(shared-lib-suffix)
- deplibs.o += $D/lib/libtbb$(shared-lib-suffix)
- endif
-
- ifeq ($(USE_CONTRIB_P4EST),yes)
- deplibs.g += $(DEAL_II_P4EST_DIR)/DEBUG/lib/libp4est.so \
- $(DEAL_II_P4EST_DIR)/DEBUG/lib/libsc.so \
- -Wl,-rpath,$(DEAL_II_P4EST_DIR)/DEBUG/lib
- deplibs.o += $(DEAL_II_P4EST_DIR)/FAST/lib/libp4est.so \
- $(DEAL_II_P4EST_DIR)/FAST/lib/libsc.so \
- -Wl,-rpath,$(DEAL_II_P4EST_DIR)/FAST/lib
- endif
-
-else
- deplibs.g =
- deplibs.o =
-endif
-
-# targets for object code without linking into library
-objg: $(go-files)
-objo: $(o-files)
-
-# rules for libraries
-lib: $(LIBDIR)/libbase.g$(lib-suffix) $(LIBDIR)/libbase$(lib-suffix)
-libg: $(LIBDIR)/libbase.g$(lib-suffix)
-libo: $(LIBDIR)/libbase$(lib-suffix)
-
-$(LIBDIR)/libbase$(static-lib-suffix): $(o-files) $(extra-o-files)
- @echo "=====base=============optimized==$(MT)== Linking library: $(@F)"
- @$(AR) ru $@ $(o-files) $(extra-o-files)
- @$(RANLIB) $@
-
-$(LIBDIR)/libbase.g$(static-lib-suffix): $(go-files) $(extra-g.o-files)
- @echo "=====base=============debug======$(MT)== Linking library: $(@F)"
- @$(AR) ru $@ $(go-files) $(extra-g.o-files)
- @$(RANLIB) $@
-
-
-$(LIBDIR)/libbase$(shared-lib-suffix): $(o-files) $(extra-o-files)
- @echo "=====base=============optimized==$(MT)== Linking library: $(@F)"
- @$(SHLIBLD) $(LDFLAGS) $(SHLIBFLAGS) -o $(LIBDIR)/$(call DEAL_II_SHLIB_NAME,base) $(call DEAL_II_ADD_SONAME,base) $(o-files) $(extra-o-files) $(deplibs.o)
- @ln -f -s $(call DEAL_II_SHLIB_NAME,base) $@
-
-$(LIBDIR)/libbase.g$(shared-lib-suffix): $(go-files) $(extra-g.o-files)
- @echo "=====base=============debug======$(MT)== Linking library: $(@F)"
- @$(SHLIBLD) $(LDFLAGS) $(SHLIBFLAGS) -o $(LIBDIR)/$(call DEAL_II_SHLIB_NAME,base.g) $(call DEAL_II_ADD_SONAME,base.g) $(go-files) $(extra-g.o-files) $(deplibs.g)
- @ln -f -s $(call DEAL_II_SHLIB_NAME,base.g) $@
-
-
-# Rule to generate the dependency file. This file is
-# automagically remade whenever needed, i.e. whenever
-# one of the cc-/h-files changed. Make detects whether
-# to remake this file upon inclusion at the bottom
-# of this file.
-#
-# If the command fails, then remove Makefile.dep again and fail
-Makefile.dep: $(cc-files) $(h-files) Makefile $D/common/Make.global_options
- @echo ============================ Remaking base/Makefile
- @$D/common/scripts/make_dependencies $(INCLUDE) "-B$(LIBDIR)/base" $(cc-files) \
- > $@ \
- || (rm -f $@ ; false)
-
-
-
-# include all the dependencies
-include Makefile.dep
-endif
-
-clean:
- -rm -f *~ include/*~ include/*/*~ Makefile.dep source/*.inst
-
-
-.PHONY: clean
-.PHONY: lib lib$(static-lib-suffix) lib.g$(static-lib-suffix)
endif
# set paths to all the libraries we need:
-lib-base.o = $(LIBDIR)/libbase$(lib-suffix) \
- $(lib-contrib-trilinos) \
- $(lib-contrib-tbb.o)
-lib-base.g = $(LIBDIR)/libbase.g$(lib-suffix) \
- $(lib-contrib-trilinos) \
- $(lib-contrib-tbb.g)
-
-lib-lac.o = $(LIBDIR)/liblac$(lib-suffix) \
- $(lib-hsl) \
- $(lib-contrib-petsc.o) $(DEAL_II_PETSC_MPIUNI_LIB) \
- $(lib-contrib-slepc) \
- $(lib-contrib-mumps) \
- $(lib-contrib-arpack) \
- $(lib-contrib-metis)
-lib-lac.g = $(LIBDIR)/liblac.g$(lib-suffix) \
- $(lib-hsl) \
- $(lib-contrib-petsc.g) $(DEAL_II_PETSC_MPIUNI_LIB) \
- $(lib-contrib-slepc) \
- $(lib-contrib-mumps) \
- $(lib-contrib-arpack) \
- $(lib-contrib-metis)
-
-lib-deal2-1d.o = $(LIBDIR)/libdeal_II_1d$(lib-suffix)
-lib-deal2-2d.o = $(LIBDIR)/libdeal_II_2d$(lib-suffix)
-lib-deal2-3d.o = $(LIBDIR)/libdeal_II_3d$(lib-suffix)
-
-lib-deal2-1d.g = $(LIBDIR)/libdeal_II_1d.g$(lib-suffix)
-lib-deal2-2d.g = $(LIBDIR)/libdeal_II_2d.g$(lib-suffix)
-lib-deal2-3d.g = $(LIBDIR)/libdeal_II_3d.g$(lib-suffix)
-
+lib-deal2.o = $(LIBDIR)/libdeal_II$(lib-suffix) \
+ $(lib-contrib-trilinos) \
+ $(lib-hsl) \
+ $(lib-contrib-petsc.o) $(DEAL_II_PETSC_MPIUNI_LIB) \
+ $(lib-contrib-slepc) \
+ $(lib-contrib-mumps) \
+ $(lib-contrib-metis) \
+ $(lib-contrib-tbb.o)
+lib-deal2.g = $(LIBDIR)/libdeal_II.g$(lib-suffix) \
+ $(lib-contrib-trilinos) \
+ $(lib-hsl) \
+ $(lib-contrib-petsc.g) $(DEAL_II_PETSC_MPIUNI_LIB) \
+ $(lib-contrib-slepc) \
+ $(lib-contrib-mumps) \
+ $(lib-contrib-metis) \
+ $(lib-contrib-tbb.g)
# include paths. do not take into account a possibly existing
# environment variable, since the compiler will evaluate the value of
# include paths as command line flags. while compilers allow a space between
# the '-I' and the actual path, we also send these flags to the
# make_dependencies program that doesn't support the extra space.
-INCLUDE = -I$D/base/include -I$D/lac/include -I$D/deal.II/include \
+INCLUDE = -I$D/include -I$D/include/deal.II \
@CPPFLAGS@ @TECPLOT_INCLUDE_DIR@ \
@UMFPACK_INCLUDE_DIR@ @HSL_INCLUDE_DIR@ \
-I$D/contrib
// $Id$
// Version: $Name$
//
-// Copyright (C) 2003, 2007, 2008 by the deal.II authors
+// Copyright (C) 2003, 2007, 2008, 2010 by the deal.II authors
//
// This file is subject to QPL and may not be distributed
// without copyright and license information. Please refer
// given by the -B parameter to this script). if no path is given, no
// path is printed. if one is given, a slash is appended if necessary
+// If the -n (for "new-style") flag is passed, then the output format
+// $basepath/optimized/.o-file $basepath/debug/.o-file: file included_files
+// is used.
+
// Author: Wolfgang Bangerth, 2003 (and based on a previous perl
// script written 1998, 1999, 2000, 2001, 2002)
// includes directly
std::map<std::string,std::set<std::string> > direct_includes;
+ // A variable that stores whether
+ // we want old-style or new-style format
+enum Format
+ {
+ old_style, new_style
+ } format;
// for the given file, fill a
// respective entry in the "direct_includes"
// map listing the names of those
// files that are directly included
-void determine_direct_includes (const std::string &file)
+void determine_direct_includes (const std::string &file)
{
// if this file has already been
// treated, then leave it at this
assert ((bool)in);
std::string line;
- while (in)
+ while (in)
{
// get one line, eat whitespace
// at the beginning and see
<< line << std::endl;
std::abort();
}
-
+
// next try to locate the file
// in absolute paths. this is
// easy if it was included via
break;
}
}
-
+
// make sure the file
// exists, otherwise just
// ignore the line
// files in the function above is a
// much bigger time-hit.
std::set<std::string>
-get_all_includes (const std::string &name)
+get_all_includes (const std::string &name)
{
// start with direct includes
std::set<std::string> all_includes = direct_includes[name];
// more, then quit
if (next_level_includes.size() == 0)
return all_includes;
-
+
// otherwise, copy over and
// start over on the next level
// of the tree
-int main (int argc, char **argv)
+int main (int argc, char **argv)
{
std::vector<std::string> filenames;
// is there
if ((dir[0]=='.') && (dir[1]=='/'))
dir = std::string(dir.begin()+2, dir.end());
-
+
include_directories.push_back (dir);
}
// if string starts with -B,
if (basepath[basepath.size()-1] != '/')
basepath += '/';
}
+ // if string is -n,
+ // then use new-style format
+ else if ((arg.length()==2) && (arg[0]=='-') && (arg[1]=='n'))
+ format = new_style;
// otherwise assume that this
// is one of the files for
{
assert (arg.size()>=1);
assert (arg[0] != '-');
-
+
filenames.push_back (arg);
}
}
// ...write the rule for the .o
// file...
- std::cout << basepath << basename << ".o: \\"
- << std::endl
- << "\t\t" << *file;
+ if (format == old_style)
+ std::cout << basepath << basename << ".o: \\"
+ << std::endl
+ << "\t\t" << *file;
+ else
+ std::cout << basepath << "optimized/" << basename << ".o: \\"
+ << std::endl
+ << "\t\t" << *file;
for (std::set<std::string>::const_iterator i=includes.begin();
i!=includes.end(); ++i)
std::cout << "\\\n\t\t" << *i;
std::cout << std::endl;
// ...and a similar rule for
- // the .g.o file
- std::cout << basepath << basename << ".g.o: \\"
- << std::endl
- << "\t\t" << *file;
+ // the .o file in debug mode
+ if (format == old_style)
+ std::cout << basepath << basename << ".g.o: \\"
+ << std::endl
+ << "\t\t" << *file;
+ else
+ std::cout << basepath << "debug/" << basename << ".o: \\"
+ << std::endl
+ << "\t\t" << *file;
for (std::set<std::string>::const_iterator i=includes.begin();
i!=includes.end(); ++i)
std::cout << "\\\n\t\t" << *i;
-ac_config_headers="$ac_config_headers base/include/base/config.h"
+ac_config_headers="$ac_config_headers include/deal.II/base/config.h"
ac_aux_dir=
for ac_config_target in $ac_config_targets
do
case $ac_config_target in
- "base/include/base/config.h") CONFIG_HEADERS="$CONFIG_HEADERS base/include/base/config.h" ;;
+ "include/deal.II/base/config.h") CONFIG_HEADERS="$CONFIG_HEADERS include/deal.II/base/config.h" ;;
"$process_files") CONFIG_FILES="$CONFIG_FILES $process_files" ;;
*) { { $as_echo "$as_me:$LINENO: error: invalid argument: $ac_config_target" >&5
s/PACKAGE_STRING/DEAL_II_PACKAGE_STRING/g;
s/PACKAGE_BUGREPORT/DEAL_II_PACKAGE_BUGREPORT/g;
s/PACKAGE_VERSION/DEAL_II_PACKAGE_VERSION/g;' \
- $process_files base/include/base/config.h
+ $process_files include/deal.II/base/config.h
echo
echo
dnl Where the output config file is located
-AC_CONFIG_HEADER(base/include/base/config.h)
+AC_CONFIG_HEADER(include/deal.II/base/config.h)
dnl Have the auxiliary tools like config.guess etc in contrib/config
AC_CONFIG_AUX_DIR(contrib/config)
s/PACKAGE_STRING/DEAL_II_PACKAGE_STRING/g;
s/PACKAGE_BUGREPORT/DEAL_II_PACKAGE_BUGREPORT/g;
s/PACKAGE_VERSION/DEAL_II_PACKAGE_VERSION/g;' \
- $process_files base/include/base/config.h
+ $process_files include/deal.II/base/config.h
echo
echo
+++ /dev/null
-# $Id$
-# Copyright W. Bangerth, University of Heidelberg, 1998, 1999, 2000, 2001, 2002
-
-
-# deal.II top level directory
-D=..
-
-
-# get options which hold for all files of the project
-ifneq ($(CLEAN),yes)
-include $D/common/Make.global_options
-
-# top level targets
-default: 2dg 2d
-all: 2dg 2d 3dg 3d 1dg 1d
-debug: 2dg 3dg 1dg
-
-
-1dg: $(LIBDIR)/libdeal_II_1d.g$(lib-suffix)
-1d : $(LIBDIR)/libdeal_II_1d$(lib-suffix)
-2dg: $(LIBDIR)/libdeal_II_2d.g$(lib-suffix)
-2d : $(LIBDIR)/libdeal_II_2d$(lib-suffix)
-3dg: $(LIBDIR)/libdeal_II_3d.g$(lib-suffix)
-3d : $(LIBDIR)/libdeal_II_3d$(lib-suffix)
-
-# create lists of file names. compile vectors.cc first because it is
-# one of the files that takes the longest
-cc-files = $D/deal.II/source/numerics/vectors.cc \
- $(filter-out $D/deal.II/source/numerics/vectors.cc, $(shell echo $D/deal.II/source/*/*.cc))
-h-files = $(sort $(shell echo include/*/*.h))
-
-inst-in-files= $(shell echo source/*/*.inst.in)
-inst-files = $(inst-in-files:%.in=%)
-
-
-# replace subdirectories in cc file names by a prefix, preprend a "lib/[g]o"
-# and change the suffix
-tmp1 = $(shell echo $(cc-files) | $(PERL) -pi -e 's,$D/deal.II/source/,,g; s,/,_,g;')
-o-files-1d = $(addprefix $(LIBDIR)/1d/, $(tmp1:.cc=_1d.$(OBJEXT)) )
-go-files-1d = $(addprefix $(LIBDIR)/1d/, $(tmp1:.cc=_1d.g.$(OBJEXT)))
-o-files-2d = $(addprefix $(LIBDIR)/2d/, $(tmp1:.cc=_2d.$(OBJEXT)) )
-go-files-2d = $(addprefix $(LIBDIR)/2d/, $(tmp1:.cc=_2d.g.$(OBJEXT)))
-o-files-3d = $(addprefix $(LIBDIR)/3d/, $(tmp1:.cc=_3d.$(OBJEXT)) )
-go-files-3d = $(addprefix $(LIBDIR)/3d/, $(tmp1:.cc=_3d.g.$(OBJEXT)))
-
-o-files = $(o-files-1d) $(o-files-2d) $(o-files-3d)
-go-files = $(go-files-1d) $(go-files-2d) $(go-files-3d)
-
-
-# rules how to generate object files from source files. note that
-# there are some files which needs exceptional rules; these are
-# listed immediately below
-$(LIBDIR)/1d/%.g.$(OBJEXT) :
- @echo "=====deal.II====1d====debug======$(MT)== $(<:$D/deal.II/source/%=%)"
- @$(CXX) $(CXXFLAGS.g) -Ddeal_II_dimension=1 -c $< -o $@
-$(LIBDIR)/1d/%.$(OBJEXT) :
- @echo "=====deal.II====1d====optimized==$(MT)== $(<:$D/deal.II/source/%=%)"
- @$(CXX) $(CXXFLAGS.o) -Ddeal_II_dimension=1 -c $< -o $@
-
-$(LIBDIR)/2d/%.g.$(OBJEXT) :
- @echo "=====deal.II====2d====debug======$(MT)== $(<:$D/deal.II/source/%=%)"
- @$(CXX) $(CXXFLAGS.g) -Ddeal_II_dimension=2 -c $< -o $@
-$(LIBDIR)/2d/%.$(OBJEXT) :
- @echo "=====deal.II====2d====optimized==$(MT)== $(<:$D/deal.II/source/%=%)"
- @$(CXX) $(CXXFLAGS.o) -Ddeal_II_dimension=2 -c $< -o $@
-
-$(LIBDIR)/3d/%.g.$(OBJEXT) :
- @echo "=====deal.II====3d====debug======$(MT)== $(<:$D/deal.II/source/%=%)"
- @$(CXX) $(CXXFLAGS.g) -Ddeal_II_dimension=3 -c $< -o $@
-$(LIBDIR)/3d/%.$(OBJEXT) :
- @echo "=====deal.II====3d====optimized==$(MT)== $(<:$D/deal.II/source/%=%)"
- @$(CXX) $(CXXFLAGS.o) -Ddeal_II_dimension=3 -c $< -o $@
-
-source/%.inst : source/%.inst.in $D/common/template-arguments
- @echo "=====deal.II========================= $(@F)"
- @$D/common/scripts/expand_instantiations $D/common/template-arguments < $< > $@
-
-
-
-# in general, when linking shared libraries, we will want to link with
-# the underlying libs as well. AIX even requires this. on the other
-# hand, on DEC OSF with CXX this will fail with duplicate symbols, so
-# make sure that it doesn't happen on that system and that compiler
-ifneq ($(GXX-VERSION),compaq_cxx)
- deplibs.g = $(lib-lac.g) $(lib-base.g)
- deplibs.o = $(lib-lac.o) $(lib-base.o)
-
- # if we use HSL, then we need to link against libhsl.so.
- ifeq ($(USE_CONTRIB_HSL),yes)
- deplibs.g += $(lib-contrib-hsl)
- deplibs.o += $(lib-contrib-hsl)
- endif
-
- # same with PETSC
- ifeq ($(USE_CONTRIB_PETSC),yes)
- deplibs.g += $(lib-contrib-petsc.g)
- deplibs.o += $(lib-contrib-petsc.o)
- endif
-
- # same with SLEPC
- ifeq ($(USE_CONTRIB_SLEPC),yes)
- deplibs.g += $(lib-contrib-slepc)
- deplibs.o += $(lib-contrib-slepc)
- endif
-
- # same with MUMPS
- ifeq ($(USE_CONTRIB_MUMPS),yes)
- deplibs.g += $(lib-contrib-mumps)
- deplibs.o += $(lib-contrib-mumps)
- endif
-
- # and METIS
- ifeq ($(USE_CONTRIB_METIS),yes)
- deplibs.g += $(lib-contrib-metis)
- deplibs.o += $(lib-contrib-metis)
- endif
-
- # for cygwin and darwin, also llapack and such are necessary
- # we better link all libraries mentioned in $(LIBS)
- ifneq ($(findstring cygwin,$(TARGET))$(findstring darwin,$(TARGET)),)
- deplibs.g += $(LIBS)
- deplibs.o += $(LIBS)
- endif
-
-else
- deplibs.g =
- deplibs.o =
-endif
-
-# targets for object code without linking into libraries
-objg: $(go-files)
-objo: $(o-files)
-
-obj1dg: $(go-files-1d)
-obj2dg: $(go-files-2d)
-obj3dg: $(go-files-3d)
-obj1do: $(o-files-1d)
-obj2do: $(o-files-2d)
-obj3do: $(o-files-3d)
-
-# rules how to make the libraries themselves
-$(LIBDIR)/libdeal_II_1d.g$(static-lib-suffix): $(go-files-1d)
- @echo "=====deal.II====1d====debug======$(MT)== Linking library: $(@F)"
- @$(AR) ru $@ $(go-files-1d)
- @$(RANLIB) $@
-$(LIBDIR)/libdeal_II_1d$(static-lib-suffix): $(o-files-1d)
- @echo "=====deal.II====1d====optimized==$(MT)== Linking library: $(@F)"
- @$(AR) ru $@ $(o-files-1d)
- @$(RANLIB) $@
-
-
-$(LIBDIR)/libdeal_II_2d.g$(static-lib-suffix): $(go-files-2d)
- @echo "=====deal.II====2d====debug======$(MT)== Linking library: $(@F)"
- @$(AR) ru $@ $(go-files-2d)
- @$(RANLIB) $@
-$(LIBDIR)/libdeal_II_2d$(static-lib-suffix): $(o-files-2d)
- @echo "=====deal.II====2d====optimized==$(MT)== Linking library: $(@F)"
- @$(AR) ru $@ $(o-files-2d)
- @$(RANLIB) $@
-
-
-$(LIBDIR)/libdeal_II_3d.g$(static-lib-suffix): $(go-files-3d)
- @echo "=====deal.II====3d====debug======$(MT)== Linking library: $(@F)"
- @$(AR) ru $@ $(go-files-3d)
- @$(RANLIB) $@
-$(LIBDIR)/libdeal_II_3d$(static-lib-suffix): $(o-files-3d)
- @echo "=====deal.II====3d====optimized==$(MT)== Linking library: $(@F)"
- @$(AR) ru $@ $(o-files-3d)
- @$(RANLIB) $@
-
-
-$(LIBDIR)/libdeal_II_1d.g$(shared-lib-suffix): $(go-files-1d)
- @echo "=====deal.II====1d====debug======$(MT)== Linking library: $(@F)"
- @$(SHLIBLD) $(LDFLAGS) $(SHLIBFLAGS) -o $(LIBDIR)/$(call DEAL_II_SHLIB_NAME,deal_II_1d.g) $(call DEAL_II_ADD_SONAME,deal_II_1d.g) $(go-files-1d) $(deplibs.g)
- @ln -f -s $(call DEAL_II_SHLIB_NAME,deal_II_1d.g) $@
-
-$(LIBDIR)/libdeal_II_1d$(shared-lib-suffix): $(o-files-1d)
- @echo "=====deal.II====1d====optimized==$(MT)== Linking library: $(@F)"
- @$(SHLIBLD) $(LDFLAGS) $(SHLIBFLAGS) -o $(LIBDIR)/$(call DEAL_II_SHLIB_NAME,deal_II_1d) $(call DEAL_II_ADD_SONAME,deal_II_1d) $(o-files-1d) $(deplibs.o)
- @ln -f -s $(call DEAL_II_SHLIB_NAME,deal_II_1d) $@
-
-
-$(LIBDIR)/libdeal_II_2d.g$(shared-lib-suffix): $(go-files-2d)
- @echo "=====deal.II====2d====debug======$(MT)== Linking library: $(@F)"
- @$(SHLIBLD) $(LDFLAGS) $(SHLIBFLAGS) -o $(LIBDIR)/$(call DEAL_II_SHLIB_NAME,deal_II_2d.g) $(call DEAL_II_ADD_SONAME,deal_II_2d.g) $(go-files-2d) $(deplibs.g)
- @ln -f -s $(call DEAL_II_SHLIB_NAME,deal_II_2d.g) $@
-
-$(LIBDIR)/libdeal_II_2d$(shared-lib-suffix): $(o-files-2d)
- @echo "=====deal.II====2d====optimized==$(MT)== Linking library: $(@F)"
- @$(SHLIBLD) $(LDFLAGS) $(SHLIBFLAGS) -o $(LIBDIR)/$(call DEAL_II_SHLIB_NAME,deal_II_2d) $(call DEAL_II_ADD_SONAME,deal_II_2d) $(o-files-2d) $(deplibs.o)
- @ln -f -s $(call DEAL_II_SHLIB_NAME,deal_II_2d) $@
-
-
-$(LIBDIR)/libdeal_II_3d.g$(shared-lib-suffix): $(go-files-3d)
- @echo "=====deal.II====3d====debug======$(MT)== Linking library: $(@F)"
- @$(SHLIBLD) $(LDFLAGS) $(SHLIBFLAGS) -o $(LIBDIR)/$(call DEAL_II_SHLIB_NAME,deal_II_3d.g) $(call DEAL_II_ADD_SONAME,deal_II_3d.g) $(go-files-3d) $(deplibs.g)
- @ln -f -s $(call DEAL_II_SHLIB_NAME,deal_II_3d.g) $@
-
-$(LIBDIR)/libdeal_II_3d$(shared-lib-suffix): $(o-files-3d)
- @echo "=====deal.II====3d====optimized==$(MT)== Linking library: $(@F)"
- @$(SHLIBLD) $(LDFLAGS) $(SHLIBFLAGS) -o $(LIBDIR)/$(call DEAL_II_SHLIB_NAME,deal_II_3d) $(call DEAL_II_ADD_SONAME,deal_II_3d) $(o-files-3d) $(deplibs.o)
- @ln -f -s $(call DEAL_II_SHLIB_NAME,deal_II_3d) $@
-
-
-
-# Rule to generate the dependency file. This file is
-# automagically remade whenever needed, i.e. whenever
-# one of the cc-/h-files changed. Make detects whether
-# to remake this file upon inclusion at the bottom
-# of this file.
-#
-# If the command fails, then remove Makefile.dep again and fail
-Makefile.dep: $(cc-files) $(h-files) \
- $(inst-files) \
- Makefile $D/common/Make.global_options
- @echo "===================================== Remaking deal.II/Makefile"
- @(for dir in dofs fe grid hp multigrid numerics distributed ; do \
- $D/common/scripts/make_dependencies $(INCLUDE) "-B\$$(LIBDIR)" `echo $D/deal.II/source/$$dir/*cc` \
- | $(PERL) -p -e 's!LIBDIR\)/(.*):!LIBDIR)/DIM_PLACEHOLDER/$$1:!g;' \
- | $(PERL) -pe 's!((\.g)?.$(OBJEXT)):!_DIM_PLACEHOLDER$$1:!g;' \
- | $(PERL) -pe 's!^(.*)/DIM_PLACEHOLDER/(.*)_DIM_PLACEHOLDER(\..*):!$$1/1d/DIRPLACEHOLDER_$$2_1d$$3 $$1/2d/DIRPLACEHOLDER_$$2_2d$$3 $$1/3d/DIRPLACEHOLDER_$$2_3d$$3:!g;'\
- | $(PERL) -pe "s/DIRPLACEHOLDER/$$dir/g;" \
- ; done ) > $@ \
- || (rm -f $@ ; false)
-
-
-# include all the dependencies
-include Makefile.dep
-
-endif
-
-
-
-################### some clean-up rules
-
-clean:
- -rm -f *~ */*~ */*/*~ Makefile.dep source/*/*.inst
-
-
-###################
-
-.PHONY: all deal.II TAGS
-.PHONY: clean
-.PHONY: default 1d 2d 3d all
# Specific targets
######################################################################
-block_matrix_array$(EXEEXT): block_matrix_array.g.$(OBJEXT) $(lib-lac.g) $(lib-base.g)
+block_matrix_array$(EXEEXT): block_matrix_array.g.$(OBJEXT) $(lib-deal2.g)
@echo ============================ Linking $@
@$(CXX) -o $@ $^ $(LIBS) $(LDFLAGS)
-product_matrix$(EXEEXT): product_matrix.g.$(OBJEXT) $(lib-lac.g) $(lib-base.g)
+product_matrix$(EXEEXT): product_matrix.g.$(OBJEXT) $(lib-deal2.g)
@echo ============================ Linking $@
@$(CXX) -o $@ $^ $(LIBS) $(LDFLAGS)
-compressed_block_sparsity_pattern$(EXEEXT): compressed_block_sparsity_pattern.g.$(OBJEXT) $(lib-deal2-2d.g) $(lib-lac.g) $(lib-base.g)
+compressed_block_sparsity_pattern$(EXEEXT): compressed_block_sparsity_pattern.g.$(OBJEXT) $(lib-deal2.g)
@echo ============================ Linking $@
@$(CXX) -o $@ $^ $(LIBS) $(LDFLAGS)
-theta_timestepping$(EXEEXT): theta_timestepping.g.$(OBJEXT) $(lib-deal2-2d.g) $(lib-lac.g) $(lib-base.g)
+theta_timestepping$(EXEEXT): theta_timestepping.g.$(OBJEXT) $(lib-deal2.g)
@echo ============================ Linking $@
@$(CXX) -o $@ $^ $(LIBS) $(LDFLAGS)
#
# If the creation of Makefile.dep fails, blow it away and fail
Makefile.dep: *.cc Makefile \
- $(shell echo $D/*/include/*/*.h)
+ $(shell echo $D/include/deal.II/*/*.h)
@echo ============================ Remaking $@
@$D/common/scripts/make_dependencies $(INCLUDE) -B. *.cc \
> $@ \
#
# You may need to augment the lists of libraries when compiling your
# program for other dimensions, or when using third party libraries
-libs.g = $(lib-deal2-2d.g) \
- $(lib-lac.g) \
- $(lib-base.g)
-libs.o = $(lib-deal2-2d.o) \
- $(lib-lac.o) \
- $(lib-base.o)
+libs.g = $(lib-deal2.g)
+libs.o = $(lib-deal2.o)
# We now use the variable defined above which switch between debug and
# command line using the `at' sign in the first column of the rules
# and write the string indicating what we do instead.
./%.g.$(OBJEXT) :
- @echo ==============debug========= $(<F)
+ @echo ==============debug========= $(<F) $@
@$(CXX) $(CXXFLAGS.g) -c $< -o $@
./%.$(OBJEXT) :
@echo ==============optimized===== $(<F)
#
# If the creation of Makefile.dep fails, blow it away and fail
Makefile.dep: $(target).cc Makefile \
- $(shell echo $D/*/include/*/*.h)
+ $(shell echo $D/include/deal.II/*/*.h)
@echo ============================ Remaking $@
@$D/common/scripts/make_dependencies $(INCLUDE) -B. $(target).cc \
> $@ \
#
# You may need to augment the lists of libraries when compiling your
# program for other dimensions, or when using third party libraries
-libs.g = $(lib-deal2-2d.g) \
- $(lib-lac.g) \
- $(lib-base.g)
-libs.o = $(lib-deal2-2d.o) \
- $(lib-lac.o) \
- $(lib-base.o)
+libs.g = $(lib-deal2.g)
+libs.o = $(lib-deal2.o)
# We now use the variable defined above which switch between debug and
#
# If the creation of Makefile.dep fails, blow it away and fail
Makefile.dep: $(target).cc Makefile \
- $(shell echo $D/*/include/*/*.h)
+ $(shell echo $D/include/deal.II/*/*.h)
@echo ============================ Remaking $@
@$D/common/scripts/make_dependencies $(INCLUDE) -B. $(target).cc \
> $@ \
#
# You may need to augment the lists of libraries when compiling your
# program for other dimensions, or when using third party libraries
-libs.g = $(lib-deal2-2d.g) \
- $(lib-lac.g) \
- $(lib-base.g)
-libs.o = $(lib-deal2-2d.o) \
- $(lib-lac.o) \
- $(lib-base.o)
+libs.g = $(lib-deal2.g)
+libs.o = $(lib-deal2.o)
# We now use the variable defined above which switch between debug and
#
# If the creation of Makefile.dep fails, blow it away and fail
Makefile.dep: $(target).cc Makefile \
- $(shell echo $D/*/include/*/*.h)
+ $(shell echo $D/include/deal.II/*/*.h)
@echo ============================ Remaking $@
@$D/common/scripts/make_dependencies $(INCLUDE) -B. $(target).cc \
> $@ \
#
# You may need to augment the lists of libraries when compiling your
# program for other dimensions, or when using third party libraries
-libs.g = $(lib-deal2-2d.g) \
- $(lib-lac.g) \
- $(lib-base.g)
-libs.o = $(lib-deal2-2d.o) \
- $(lib-lac.o) \
- $(lib-base.o)
+libs.g = $(lib-deal2.g)
+libs.o = $(lib-deal2.o)
# We now use the variable defined above which switch between debug and
#
# If the creation of Makefile.dep fails, blow it away and fail
Makefile.dep: $(target).cc Makefile \
- $(shell echo $D/*/include/*/*.h)
+ $(shell echo $D/include/deal.II/*/*.h)
@echo ============================ Remaking $@
@$D/common/scripts/make_dependencies $(INCLUDE) -B. $(target).cc \
> $@ \
#
# You may need to augment the lists of libraries when compiling your
# program for other dimensions, or when using third party libraries
-libs.g = $(lib-deal2-2d.g) \
- $(lib-lac.g) \
- $(lib-base.g)
-libs.o = $(lib-deal2-2d.o) \
- $(lib-lac.o) \
- $(lib-base.o)
+libs.g = $(lib-deal2.g)
+libs.o = $(lib-deal2.o)
# We now use the variable defined above which switch between debug and
#
# If the creation of Makefile.dep fails, blow it away and fail
Makefile.dep: $(target).cc Makefile \
- $(shell echo $D/*/include/*/*.h)
+ $(shell echo $D/include/deal.II/*/*.h)
@echo ============================ Remaking $@
@$D/common/scripts/make_dependencies $(INCLUDE) -B. $(target).cc \
> $@ \
#
# You may need to augment the lists of libraries when compiling your
# program for other dimensions, or when using third party libraries
-libs.g = $(lib-deal2-2d.g) \
- $(lib-lac.g) \
- $(lib-base.g)
-libs.o = $(lib-deal2-2d.o) \
- $(lib-lac.o) \
- $(lib-base.o)
+libs.g = $(lib-deal2.g)
+libs.o = $(lib-deal2.o)
# We now use the variable defined above which switch between debug and
#
# If the creation of Makefile.dep fails, blow it away and fail
Makefile.dep: $(target).cc Makefile \
- $(shell echo $D/*/include/*/*.h)
+ $(shell echo $D/include/deal.II/*/*.h)
@echo ============================ Remaking $@
@$D/common/scripts/make_dependencies $(INCLUDE) -B. $(target).cc \
> $@ \
#
# You may need to augment the lists of libraries when compiling your
# program for other dimensions, or when using third party libraries
-libs.g = $(lib-deal2-1d.g) \
- $(lib-lac.g) \
- $(lib-base.g)
-libs.o = $(lib-deal2-1d.o) \
- $(lib-lac.o) \
- $(lib-base.o)
+libs.g = $(lib-deal2.g)
+libs.o = $(lib-deal2.o)
# We now use the variable defined above which switch between debug and
#
# If the creation of Makefile.dep fails, blow it away and fail
Makefile.dep: $(target).cc Makefile \
- $(shell echo $D/*/include/*/*.h)
+ $(shell echo $D/include/deal.II/*/*.h)
@echo ============================ Remaking $@
@$D/common/scripts/make_dependencies $(INCLUDE) -B. $(target).cc \
> $@ \
#
# You may need to augment the lists of libraries when compiling your
# program for other dimensions, or when using third party libraries
-libs.g = $(lib-deal2-2d.g) \
- $(lib-lac.g) \
- $(lib-base.g)
-libs.o = $(lib-deal2-2d.o) \
- $(lib-lac.o) \
- $(lib-base.o)
+libs.g = $(lib-deal2.g)
+libs.o = $(lib-deal2.o)
# We now use the variable defined above which switch between debug and
#
# If the creation of Makefile.dep fails, blow it away and fail
Makefile.dep: $(target).cc Makefile \
- $(shell echo $D/*/include/*/*.h)
+ $(shell echo $D/include/deal.II/*/*.h)
@echo ============================ Remaking $@
@$D/common/scripts/make_dependencies $(INCLUDE) -B. $(target).cc \
> $@ \
#
# You may need to augment the lists of libraries when compiling your
# program for other dimensions, or when using third party libraries
-libs.g = $(lib-deal2-2d.g) \
- $(lib-lac.g) \
- $(lib-base.g)
-libs.o = $(lib-deal2-2d.o) \
- $(lib-lac.o) \
- $(lib-base.o)
+libs.g = $(lib-deal2.g)
+libs.o = $(lib-deal2.o)
# We now use the variable defined above which switch between debug and
#
# If the creation of Makefile.dep fails, blow it away and fail
Makefile.dep: $(target).cc Makefile \
- $(shell echo $D/*/include/*/*.h)
+ $(shell echo $D/include/deal.II/*/*.h)
@echo ============================ Remaking $@
@$D/common/scripts/make_dependencies $(INCLUDE) -B. $(target).cc \
> $@ \
#
# You may need to augment the lists of libraries when compiling your
# program for other dimensions, or when using third party libraries
-libs.g = $(lib-deal2-3d.g) \
- $(lib-lac.g) \
- $(lib-base.g)
-libs.o = $(lib-deal2-3d.o) \
- $(lib-lac.o) \
- $(lib-base.o)
+libs.g = $(lib-deal2.g)
+libs.o = $(lib-deal2.o)
# We now use the variable defined above which switch between debug and
#
# If the creation of Makefile.dep fails, blow it away and fail
Makefile.dep: $(target).cc Makefile \
- $(shell echo $D/*/include/*/*.h)
+ $(shell echo $D/include/deal.II/*/*.h)
@echo ============================ Remaking $@
@$D/common/scripts/make_dependencies $(INCLUDE) -B. $(target).cc \
> $@ \
#
# You may need to augment the lists of libraries when compiling your
# program for other dimensions, or when using third party libraries
-libs.g = $(lib-deal2-2d.g) \
- $(lib-lac.g) \
- $(lib-base.g)
-libs.o = $(lib-deal2-2d.o) \
- $(lib-lac.o) \
- $(lib-base.o)
+libs.g = $(lib-deal2.g)
+libs.o = $(lib-deal2.o)
# We now use the variable defined above which switch between debug and
#
# If the creation of Makefile.dep fails, blow it away and fail
Makefile.dep: $(target).cc Makefile \
- $(shell echo $D/*/include/*/*.h)
+ $(shell echo $D/include/deal.II/*/*.h)
@echo ============================ Remaking $@
@$D/common/scripts/make_dependencies $(INCLUDE) -B. $(target).cc \
> $@ \
#
# You may need to augment the lists of libraries when compiling your
# program for other dimensions, or when using third party libraries
-libs.g = $(lib-deal2-2d.g) \
- $(lib-lac.g) \
- $(lib-base.g)
-libs.o = $(lib-deal2-2d.o) \
- $(lib-lac.o) \
- $(lib-base.o)
+libs.g = $(lib-deal2.g)
+libs.o = $(lib-deal2.o)
# We now use the variable defined above which switch between debug and
#
# If the creation of Makefile.dep fails, blow it away and fail
Makefile.dep: $(target).cc Makefile \
- $(shell echo $D/*/include/*/*.h)
+ $(shell echo $D/include/deal.II/*/*.h)
@echo ============================ Remaking $@
@$D/common/scripts/make_dependencies $(INCLUDE) -B. $(target).cc \
> $@ \
#
# You may need to augment the lists of libraries when compiling your
# program for other dimensions, or when using third party libraries
-libs.g = $(lib-deal2-2d.g) \
- $(lib-deal2-3d.g) \
- $(lib-lac.g) \
- $(lib-base.g)
-libs.o = $(lib-deal2-2d.o) \
- $(lib-deal2-3d.o) \
- $(lib-lac.o) \
- $(lib-base.o)
+libs.g = $(lib-deal2.g)
+libs.o = $(lib-deal2.o)
# We now use the variable defined above which switch between debug and
#
# If the creation of Makefile.dep fails, blow it away and fail
Makefile.dep: $(target).cc Makefile \
- $(shell echo $D/*/include/*/*.h)
+ $(shell echo $D/include/deal.II/*/*.h)
@echo ============================ Remaking $@
@$D/common/scripts/make_dependencies $(INCLUDE) -B. $(target).cc \
> $@ \
#
# You may need to augment the lists of libraries when compiling your
# program for other dimensions, or when using third party libraries
-libs.g = $(lib-deal2-2d.g) \
- $(lib-deal2-3d.g) \
- $(lib-lac.g) \
- $(lib-base.g)
-libs.o = $(lib-deal2-2d.o) \
- $(lib-deal2-3d.o) \
- $(lib-lac.o) \
- $(lib-base.o)
+libs.g = $(lib-deal2.g)
+libs.o = $(lib-deal2.o)
# We now use the variable defined above which switch between debug and
#
# If the creation of Makefile.dep fails, blow it away and fail
Makefile.dep: $(target).cc Makefile \
- $(shell echo $D/*/include/*/*.h)
+ $(shell echo $D/include/deal.II/*/*.h)
@echo ============================ Remaking $@
@$D/common/scripts/make_dependencies $(INCLUDE) -B. $(target).cc \
> $@ \
#
# You may need to augment the lists of libraries when compiling your
# program for other dimensions, or when using third party libraries
-libs.g = $(lib-deal2-2d.g) \
- $(lib-deal2-3d.g) \
- $(lib-lac.g) \
- $(lib-base.g)
-libs.o = $(lib-deal2-2d.o) \
- $(lib-deal2-3d.o) \
- $(lib-lac.o) \
- $(lib-base.o)
+libs.g = $(lib-deal2.g)
+libs.o = $(lib-deal2.o)
# We now use the variable defined above which switch between debug and
#
# If the creation of Makefile.dep fails, blow it away and fail
Makefile.dep: $(target).cc Makefile \
- $(shell echo $D/*/include/*/*.h)
+ $(shell echo $D/include/deal.II/*/*.h)
@echo ============================ Remaking $@
@$D/common/scripts/make_dependencies $(INCLUDE) -B. $(target).cc \
> $@ \
#
# You may need to augment the lists of libraries when compiling your
# program for other dimensions, or when using third party libraries
-libs.g = $(lib-deal2-2d.g) \
- $(lib-lac.g) \
- $(lib-base.g)
-libs.o = $(lib-deal2-2d.o) \
- $(lib-lac.o) \
- $(lib-base.o)
+libs.g = $(lib-deal2.g)
+libs.o = $(lib-deal2.o)
# We now use the variable defined above which switch between debug and
#
# If the creation of Makefile.dep fails, blow it away and fail
Makefile.dep: $(target).cc Makefile \
- $(shell echo $D/*/include/*/*.h)
+ $(shell echo $D/include/deal.II/*/*.h)
@echo ============================ Remaking $@
@$D/common/scripts/make_dependencies $(INCLUDE) -B. $(target).cc \
> $@ \
#
# You may need to augment the lists of libraries when compiling your
# program for other dimensions, or when using third party libraries
-libs.g = $(lib-deal2-2d.g) \
- $(lib-lac.g) \
- $(lib-base.g)
-libs.o = $(lib-deal2-2d.o) \
- $(lib-lac.o) \
- $(lib-base.o)
+libs.g = $(lib-deal2.g)
+libs.o = $(lib-deal2.o)
# We now use the variable defined above which switch between debug and
#
# If the creation of Makefile.dep fails, blow it away and fail
Makefile.dep: $(target).cc Makefile \
- $(shell echo $D/*/include/*/*.h)
+ $(shell echo $D/include/deal.II/*/*.h)
@echo ============================ Remaking $@
@$D/common/scripts/make_dependencies $(INCLUDE) -B. $(target).cc \
> $@ \
#
# You may need to augment the lists of libraries when compiling your
# program for other dimensions, or when using third party libraries
-libs.g = $(lib-deal2-1d.g) \
- $(lib-lac.g) \
- $(lib-base.g)
-libs.o = $(lib-deal2-1d.o) \
- $(lib-lac.o) \
- $(lib-base.o)
+libs.g = $(lib-deal2.g)
+libs.o = $(lib-deal2.o)
# We now use the variable defined above which switch between debug and
#
# If the creation of Makefile.dep fails, blow it away and fail
Makefile.dep: $(target).cc Makefile \
- $(shell echo $D/*/include/*/*.h)
+ $(shell echo $D/include/deal.II/*/*.h)
@echo ============================ Remaking $@
@$D/common/scripts/make_dependencies $(INCLUDE) -B. $(target).cc \
> $@ \
#
# You may need to augment the lists of libraries when compiling your
# program for other dimensions, or when using third party libraries
-libs.g = $(lib-deal2-3d.g) \
- $(lib-lac.g) \
- $(lib-base.g)
-libs.o = $(lib-deal2-3d.o) \
- $(lib-lac.o) \
- $(lib-base.o)
+libs.g = $(lib-deal2.g)
+libs.o = $(lib-deal2.o)
# We now use the variable defined above which switch between debug and
#
# If the creation of Makefile.dep fails, blow it away and fail
Makefile.dep: $(target).cc Makefile \
- $(shell echo $D/*/include/*/*.h)
+ $(shell echo $D/include/deal.II/*/*.h)
@echo ============================ Remaking $@
@$D/common/scripts/make_dependencies $(INCLUDE) -B. $(target).cc \
> $@ \
#
# You may need to augment the lists of libraries when compiling your
# program for other dimensions, or when using third party libraries
-libs.g = $(lib-deal2-2d.g) \
- $(lib-lac.g) \
- $(lib-base.g)
-libs.o = $(lib-deal2-2d.o) \
- $(lib-lac.o) \
- $(lib-base.o)
+libs.g = $(lib-deal2.g)
+libs.o = $(lib-deal2.o)
# We now use the variable defined above which switch between debug and
#
# If the creation of Makefile.dep fails, blow it away and fail
Makefile.dep: $(target).cc Makefile \
- $(shell echo $D/*/include/*/*.h)
+ $(shell echo $D/include/deal.II/*/*.h)
@echo ============================ Remaking $@
@$D/common/scripts/make_dependencies $(INCLUDE) -B. $(target).cc \
> $@ \
#
# You may need to augment the lists of libraries when compiling your
# program for other dimensions, or when using third party libraries
-libs.g = $(lib-deal2-2d.g) \
- $(lib-lac.g) \
- $(lib-base.g)
-libs.o = $(lib-deal2-2d.o) \
- $(lib-lac.o) \
- $(lib-base.o)
+libs.g = $(lib-deal2.g)
+libs.o = $(lib-deal2.o)
# We now use the variable defined above which switch between debug and
#
# If the creation of Makefile.dep fails, blow it away and fail
Makefile.dep: $(target).cc Makefile \
- $(shell echo $D/*/include/*/*.h)
+ $(shell echo $D/include/deal.II/*/*.h)
@echo ============================ Remaking $@
@$D/common/scripts/make_dependencies $(INCLUDE) -B. $(target).cc \
> $@ \
#
# You may need to augment the lists of libraries when compiling your
# program for other dimensions, or when using third party libraries
-libs.g = $(lib-deal2-2d.g) \
- $(lib-deal2-3d.g) \
- $(lib-lac.g) \
- $(lib-base.g)
-libs.o = $(lib-deal2-2d.o) \
- $(lib-deal2-3d.o) \
- $(lib-lac.o) \
- $(lib-base.o)
+libs.g = $(lib-deal2.g)
+libs.o = $(lib-deal2.o)
# We now use the variable defined above which switch between debug and
#
# If the creation of Makefile.dep fails, blow it away and fail
Makefile.dep: $(target).cc Makefile \
- $(shell echo $D/*/include/*/*.h)
+ $(shell echo $D/include/deal.II/*/*.h)
@echo ============================ Remaking $@
@$D/common/scripts/make_dependencies $(INCLUDE) -B. $(target).cc \
> $@ \
#
# You may need to augment the lists of libraries when compiling your
# program for other dimensions, or when using third party libraries
-libs.g = $(lib-deal2-2d.g) \
- $(lib-lac.g) \
- $(lib-base.g)
-libs.o = $(lib-deal2-2d.o) \
- $(lib-lac.o) \
- $(lib-base.o)
+libs.g = $(lib-deal2.g)
+libs.o = $(lib-deal2.o)
# We now use the variable defined above which switch between debug and
#
# If the creation of Makefile.dep fails, blow it away and fail
Makefile.dep: $(target).cc Makefile \
- $(shell echo $D/*/include/*/*.h)
+ $(shell echo $D/include/deal.II/*/*.h)
@echo ============================ Remaking $@
@$D/common/scripts/make_dependencies $(INCLUDE) -B. $(target).cc \
> $@ \
#
# You may need to augment the lists of libraries when compiling your
# program for other dimensions, or when using third party libraries
-libs.g = $(lib-deal2-2d.g) \
- $(lib-deal2-3d.g) \
- $(lib-lac.g) \
- $(lib-base.g)
-libs.o = $(lib-deal2-2d.o) \
- $(lib-deal2-3d.o) \
- $(lib-lac.o) \
- $(lib-base.o)
+libs.g = $(lib-deal2.g)
+libs.o = $(lib-deal2.o)
# We now use the variable defined above which switch between debug and
#
# If the creation of Makefile.dep fails, blow it away and fail
Makefile.dep: $(target).cc Makefile \
- $(shell echo $D/*/include/*/*.h)
+ $(shell echo $D/include/deal.II/*/*.h)
@echo ============================ Remaking $@
@$D/common/scripts/make_dependencies $(INCLUDE) -B. $(target).cc \
> $@ \
#
# You may need to augment the lists of libraries when compiling your
# program for other dimensions, or when using third party libraries
-libs.g = $(lib-deal2-2d.g) \
- $(lib-deal2-3d.g) \
- $(lib-lac.g) \
- $(lib-base.g)
-libs.o = $(lib-deal2-2d.o) \
- $(lib-deal2-3d.o) \
- $(lib-lac.o) \
- $(lib-base.o)
+libs.g = $(lib-deal2.g)
+libs.o = $(lib-deal2.o)
# We now use the variable defined above which switch between debug and
#
# If the creation of Makefile.dep fails, blow it away and fail
Makefile.dep: $(target).cc Makefile \
- $(shell echo $D/*/include/*/*.h)
+ $(shell echo $D/include/deal.II/*/*.h)
@echo ============================ Remaking $@
@$D/common/scripts/make_dependencies $(INCLUDE) -B. $(target).cc \
> $@ \
#
# You may need to augment the lists of libraries when compiling your
# program for other dimensions, or when using third party libraries
-libs.g = $(lib-deal2-2d.g) \
- $(lib-deal2-3d.g) \
- $(lib-lac.g) \
- $(lib-base.g)
-libs.o = $(lib-deal2-2d.o) \
- $(lib-deal2-3d.o) \
- $(lib-lac.o) \
- $(lib-base.o)
+libs.g = $(lib-deal2.g)
+libs.o = $(lib-deal2.o)
# We now use the variable defined above which switch between debug and
#
# If the creation of Makefile.dep fails, blow it away and fail
Makefile.dep: $(target).cc Makefile \
- $(shell echo $D/*/include/*/*.h)
+ $(shell echo $D/include/deal.II/*/*.h)
@echo ============================ Remaking $@
@$D/common/scripts/make_dependencies $(INCLUDE) -B. $(target).cc \
> $@ \
#
# You may need to augment the lists of libraries when compiling your
# program for other dimensions, or when using third party libraries
-libs.g = $(lib-deal2-2d.g) \
- $(lib-lac.g) \
- $(lib-base.g)
-libs.o = $(lib-deal2-2d.o) \
- $(lib-lac.o) \
- $(lib-base.o)
+libs.g = $(lib-deal2.g)
+libs.o = $(lib-deal2.o)
# We now use the variable defined above which switch between debug and
#
# If the creation of Makefile.dep fails, blow it away and fail
Makefile.dep: $(target).cc Makefile \
- $(shell echo $D/*/include/*/*.h)
+ $(shell echo $D/include/deal.II/*/*.h)
@echo ============================ Remaking $@
@$D/common/scripts/make_dependencies $(INCLUDE) -B. $(target).cc \
> $@ \
#
# You may need to augment the lists of libraries when compiling your
# program for other dimensions, or when using third party libraries
-libs.g = $(lib-deal2-3d.g) \
- $(lib-deal2-2d.g) \
- $(lib-deal2-1d.g) \
- $(lib-lac.g) \
- $(lib-base.g)
-libs.o = $(lib-deal2-3d.o) \
- $(lib-deal2-2d.o) \
- $(lib-deal2-1d.o) \
- $(lib-lac.o) \
- $(lib-base.o)
+libs.g = $(lib-deal2.g)
+libs.o = $(lib-deal2.o)
# We now use the variable defined above which switch between debug and
#
# If the creation of Makefile.dep fails, blow it away and fail
Makefile.dep: $(target).cc Makefile \
- $(shell echo $D/*/include/*/*.h)
+ $(shell echo $D/include/deal.II/*/*.h)
@echo ============================ Remaking $@
@$D/common/scripts/make_dependencies $(INCLUDE) -B. $(target).cc \
> $@ \
#
# You may need to augment the lists of libraries when compiling your
# program for other dimensions, or when using third party libraries
-libs.g = $(lib-deal2-2d.g) \
- $(lib-lac.g) \
- $(lib-base.g)
-libs.o = $(lib-deal2-2d.o) \
- $(lib-lac.o) \
- $(lib-base.o)
+libs.g = $(lib-deal2.g)
+libs.o = $(lib-deal2.o)
# We now use the variable defined above which switch between debug and
#
# If the creation of Makefile.dep fails, blow it away and fail
Makefile.dep: $(target).cc Makefile \
- $(shell echo $D/*/include/*/*.h)
+ $(shell echo $D/include/deal.II/*/*.h)
@echo ============================ Remaking $@
@$D/common/scripts/make_dependencies $(INCLUDE) -B. $(target).cc \
> $@ \
#
# You may need to augment the lists of libraries when compiling your
# program for other dimensions, or when using third party libraries
-libs.g = $(lib-deal2-2d.g) \
- $(lib-lac.g) \
- $(lib-base.g)
-libs.o = $(lib-deal2-2d.o) \
- $(lib-lac.o) \
- $(lib-base.o)
+libs.g = $(lib-deal2.g)
+libs.o = $(lib-deal2.o)
# We now use the variable defined above which switch between debug and
#
# If the creation of Makefile.dep fails, blow it away and fail
Makefile.dep: $(target).cc Makefile \
- $(shell echo $D/*/include/*/*.h)
+ $(shell echo $D/include/deal.II/*/*.h)
@echo ============================ Remaking $@
@$D/common/scripts/make_dependencies $(INCLUDE) -B. $(target).cc \
> $@ \
#
# You may need to augment the lists of libraries when compiling your
# program for other dimensions, or when using third party libraries
-libs.g = $(lib-deal2-2d.g) \
- $(lib-deal2-3d.g) \
- $(lib-lac.g) \
- $(lib-base.g)
-libs.o = $(lib-deal2-2d.o) \
- $(lib-deal2-3d.o) \
- $(lib-lac.o) \
- $(lib-base.o)
+libs.g = $(lib-deal2.g)
+libs.o = $(lib-deal2.o)
# We now use the variable defined above which switch between debug and
#
# If the creation of Makefile.dep fails, blow it away and fail
Makefile.dep: $(target).cc Makefile \
- $(shell echo $D/*/include/*/*.h)
+ $(shell echo $D/include/deal.II/*/*.h)
@echo ============================ Remaking $@
@$D/common/scripts/make_dependencies $(INCLUDE) -B. $(target).cc \
> $@ \
#
# You may need to augment the lists of libraries when compiling your
# program for other dimensions, or when using third party libraries
-libs.g = $(lib-deal2-2d.g) \
- $(lib-lac.g) \
- $(lib-base.g)
-libs.o = $(lib-deal2-2d.o) \
- $(lib-lac.o) \
- $(lib-base.o)
+libs.g = $(lib-deal2.g)
+libs.o = $(lib-deal2.o)
# We now use the variable defined above which switch between debug and
#
# If the creation of Makefile.dep fails, blow it away and fail
Makefile.dep: $(target).cc Makefile \
- $(shell echo $D/*/include/*/*.h)
+ $(shell echo $D/include/deal.II/*/*.h)
@echo ============================ Remaking $@
@$D/common/scripts/make_dependencies $(INCLUDE) -B. $(target).cc \
> $@ \
#
# You may need to augment the lists of libraries when compiling your
# program for other dimensions, or when using third party libraries
-libs.g = $(lib-deal2-2d.g) \
- $(lib-deal2-3d.g) \
- $(lib-lac.g) \
- $(lib-base.g)
-libs.o = $(lib-deal2-2d.o) \
- $(lib-deal2-3d.o) \
- $(lib-lac.o) \
- $(lib-base.o)
+libs.g = $(lib-deal2.g)
+libs.o = $(lib-deal2.o)
# We now use the variable defined above which switch between debug and
#
# If the creation of Makefile.dep fails, blow it away and fail
Makefile.dep: $(target).cc Makefile \
- $(shell echo $D/*/include/*/*.h)
+ $(shell echo $D/include/deal.II/*/*.h)
@echo ============================ Remaking $@
@$D/common/scripts/make_dependencies $(INCLUDE) -B. $(target).cc \
> $@ \
#
# You may need to augment the lists of libraries when compiling your
# program for other dimensions, or when using third party libraries
-libs.g = $(lib-deal2-2d.g) \
- $(lib-deal2-3d.g) \
- $(lib-lac.g) \
- $(lib-base.g)
-libs.o = $(lib-deal2-2d.o) \
- $(lib-deal2-3d.o) \
- $(lib-lac.o) \
- $(lib-base.o)
+libs.g = $(lib-deal2.g)
+libs.o = $(lib-deal2.o)
# We now use the variable defined above which switch between debug and
#
# You may need to augment the lists of libraries when compiling your
# program for other dimensions, or when using third party libraries
-libs.g = $(lib-deal2-2d.g) \
- $(lib-deal2-3d.g) \
- $(lib-lac.g) \
- $(lib-base.g)
-libs.o = $(lib-deal2-2d.o) \
- $(lib-deal2-3d.o) \
- $(lib-lac.o) \
- $(lib-base.o)
+libs.g = $(lib-deal2.g)
+libs.o = $(lib-deal2.o)
# We now use the variable defined above which switch between debug and
#
# If the creation of Makefile.dep fails, blow it away and fail
Makefile.dep: $(target).cc Makefile \
- $(shell echo $D/*/include/*/*.h)
+ $(shell echo $D/include/deal.II/*/*.h)
@echo ============================ Remaking $@
@$D/common/scripts/make_dependencies $(INCLUDE) -B. $(target).cc \
> $@ \
#
# You may need to augment the lists of libraries when compiling your
# program for other dimensions, or when using third party libraries
-libs.g = $(lib-deal2-2d.g) \
- $(lib-lac.g) \
- $(lib-base.g)
-libs.o = $(lib-deal2-2d.o) \
- $(lib-lac.o) \
- $(lib-base.o)
+libs.g = $(lib-deal2.g)
+libs.o = $(lib-deal2.o)
# We now use the variable defined above which switch between debug and
#
# If the creation of Makefile.dep fails, blow it away and fail
Makefile.dep: $(target).cc Makefile \
- $(shell echo $D/*/include/*/*.h)
+ $(shell echo $D/include/deal.II/*/*.h)
@echo ============================ Remaking $@
@$D/common/scripts/make_dependencies $(INCLUDE) -B. $(target).cc \
> $@ \
#
# You may need to augment the lists of libraries when compiling your
# program for other dimensions, or when using third party libraries
-libs.g = $(lib-deal2-2d.g) \
- $(lib-lac.g) \
- $(lib-base.g)
-libs.o = $(lib-deal2-2d.o) \
- $(lib-lac.o) \
- $(lib-base.o)
+libs.g = $(lib-deal2.g)
+libs.o = $(lib-deal2.o)
# We now use the variable defined above which switch between debug and
#
# If the creation of Makefile.dep fails, blow it away and fail
Makefile.dep: $(target).cc Makefile \
- $(shell echo $D/*/include/*/*.h)
+ $(shell echo $D/include/deal.II/*/*.h)
@echo ============================ Remaking $@
@$D/common/scripts/make_dependencies $(INCLUDE) -B. $(target).cc \
> $@ \
#
# You may need to augment the lists of libraries when compiling your
# program for other dimensions, or when using third party libraries
-libs.g = $(lib-deal2-2d.g) \
- $(lib-lac.g) \
- $(lib-base.g)
-libs.o = $(lib-deal2-2d.o) \
- $(lib-lac.o) \
- $(lib-base.o)
+libs.g = $(lib-deal2.g)
+libs.o = $(lib-deal2.o)
# We now use the variable defined above which switch between debug and
#
# If the creation of Makefile.dep fails, blow it away and fail
Makefile.dep: $(target).cc Makefile \
- $(shell echo $D/*/include/*/*.h)
+ $(shell echo $D/include/deal.II/*/*.h)
@echo ============================ Remaking $@
@$D/common/scripts/make_dependencies $(INCLUDE) -B. $(target).cc \
> $@ \
#
# You may need to augment the lists of libraries when compiling your
# program for other dimensions, or when using third party libraries
-libs.g = $(lib-deal2-2d.g) \
- $(lib-lac.g) \
- $(lib-base.g)
-libs.o = $(lib-deal2-2d.o) \
- $(lib-lac.o) \
- $(lib-base.o)
+libs.g = $(lib-deal2.g)
+libs.o = $(lib-deal2.o)
# We now use the variable defined above which switch between debug and
#
# If the creation of Makefile.dep fails, blow it away and fail
Makefile.dep: $(target).cc Makefile \
- $(shell echo $D/*/include/*/*.h)
+ $(shell echo $D/include/deal.II/*/*.h)
@echo ============================ Remaking $@
@$D/common/scripts/make_dependencies $(INCLUDE) -B. $(target).cc \
> $@ \
#
# You may need to augment the lists of libraries when compiling your
# program for other dimensions, or when using third party libraries
-libs.g = $(lib-deal2-2d.g) \
- $(lib-lac.g) \
- $(lib-base.g)
-libs.o = $(lib-deal2-2d.o) \
- $(lib-lac.o) \
- $(lib-base.o)
+libs.g = $(lib-deal2.g)
+libs.o = $(lib-deal2.o)
# We now use the variable defined above which switch between debug and
#
# If the creation of Makefile.dep fails, blow it away and fail
Makefile.dep: $(target).cc Makefile \
- $(shell echo $D/*/include/*/*.h)
+ $(shell echo $D/include/deal.II/*/*.h)
@echo ============================ Remaking $@
@$D/common/scripts/make_dependencies $(INCLUDE) -B. $(target).cc \
> $@ \
#
# You may need to augment the lists of libraries when compiling your
# program for other dimensions, or when using third party libraries
-libs.g = $(lib-deal2-2d.g) \
- $(lib-lac.g) \
- $(lib-base.g)
-libs.o = $(lib-deal2-2d.o) \
- $(lib-lac.o) \
- $(lib-base.o)
+libs.g = $(lib-deal2.g)
+libs.o = $(lib-deal2.o)
# We now use the variable defined above which switch between debug and
#
# If the creation of Makefile.dep fails, blow it away and fail
Makefile.dep: $(target).cc Makefile \
- $(shell echo $D/*/include/*/*.h)
+ $(shell echo $D/include/deal.II/*/*.h)
@echo ============================ Remaking $@
@$D/common/scripts/make_dependencies $(INCLUDE) -B. $(target).cc \
> $@ \
+++ /dev/null
-# $Id$
-# Copyright W. Bangerth, University of Heidelberg, 1998, 1999, 2000, 2001, 2002
-
-
-# deal.II top level directory
-D=..
-
-# get options which hold for all files of the project
-ifneq ($(CLEAN),yes)
-include $D/common/Make.global_options
-
-# create lists of file names
-cc-files = $(shell echo $D/lac/source/*.cc)
-o-files-base = $(sort $(addprefix $(LIBDIR)/lac/, $(patsubst $D/lac/source/%,%,$(cc-files:.cc=.$(OBJEXT)))))
-o-files = $(o-files-base)
-go-files = $(o-files-base:.$(OBJEXT)=.g.$(OBJEXT))
-h-files = $(sort $(shell echo include/lac/*.h))
-
-inst-in-files= $(shell echo source/*.inst.in)
-inst-files = $(inst-in-files:%.in=%)
-
-# if umfpack was configured, simply link all the umfpack files into liblac.
-# these object files should have been generated before we got to the present
-# directory
-libo-files = $(o-files)
-libgo-files = $(go-files)
-
-ifeq ($(USE_CONTRIB_UMFPACK),yes)
- umfpack-files = $(sort $(shell echo $(LIBDIR)/contrib/umfpack/*.$(OBJEXT)))
- libo-files += $(umfpack-files)
- libgo-files += $(umfpack-files)
-endif
-
-
-# production rules
-$(LIBDIR)/lac/%.g.$(OBJEXT) :
- @echo "=====lac==============debug======$(MT)== $(<F)"
- @$(CXX) $(CXXFLAGS.g) -c $< -o $@
-$(LIBDIR)/lac/%.$(OBJEXT) :
- @echo "=====lac==============optimized==$(MT)== $(<F)"
- @$(CXX) $(CXXFLAGS.o) -c $< -o $@
-
-source/%.inst : source/%.inst.in $D/common/template-arguments
- @echo "=====lac============================= $(@F)"
- @$D/common/scripts/expand_instantiations $D/common/template-arguments < $< > $@
-
-# targets for object code without linking into library
-objg: $(go-files)
-objo: $(o-files)
-
-# rules
-lib: $(LIBDIR)/liblac.g$(lib-suffix) $(LIBDIR)/liblac$(lib-suffix)
-libg: $(LIBDIR)/liblac.g$(lib-suffix)
-libo: $(LIBDIR)/liblac$(lib-suffix)
-
-# in general, when linking shared libraries, we will want to link with
-# the underlying libs as well. AIX even requires this. on the other
-# hand, on DEC OSF with CXX this will fail with duplicate symbols, so
-# make sure that it doesn't happen on that system and that compiler
-ifneq ($(GXX-VERSION),compaq_cxx)
- deplibs.g = $(lib-base.g)
- deplibs.o = $(lib-base.o)
-
- # if we use HSL, then we need to link against libhsl.so.
- ifeq ($(USE_CONTRIB_HSL),yes)
- deplibs.g += $(lib-contrib-hsl)
- deplibs.o += $(lib-contrib-hsl)
- endif
-
- # same with PETSC
- ifeq ($(USE_CONTRIB_PETSC),yes)
- deplibs.g += $(lib-contrib-petsc.g)
- deplibs.o += $(lib-contrib-petsc.o)
- endif
-
- # same with SLEPC
- ifeq ($(USE_CONTRIB_SLEPC),yes)
- deplibs.g += $(lib-contrib-slepc)
- deplibs.o += $(lib-contrib-slepc)
- endif
-
- # same with TRILINOS
- ifeq ($(USE_CONTRIB_TRILINOS),yes)
- deplibs.g += $(lib-contrib-trilinos)
- deplibs.o += $(lib-contrib-trilinos)
- endif
-
- # same with MUMPS
- ifeq ($(USE_CONTRIB_MUMPS),yes)
- deplibs.g += $(lib-contrib-mumps)
- deplibs.o += $(lib-contrib-mumps)
- endif
-
- # and METIS
- ifeq ($(USE_CONTRIB_METIS),yes)
- deplibs.g += $(lib-contrib-metis)
- deplibs.o += $(lib-contrib-metis)
- endif
-
- # for cygwin and darwin, also llapack and such are necessary
- # we better link all libraries mentioned in $(LIBS)
- ifneq ($(findstring cygwin,$(TARGET))$(findstring darwin,$(TARGET)),)
- deplibs.g += $(LIBS)
- deplibs.o += $(LIBS)
- endif
-
-else
- deplibs.g =
- deplibs.o =
-endif
-
-
-$(LIBDIR)/liblac$(static-lib-suffix): $(libo-files)
- @echo "=====lac==============optimized==$(MT)== Linking library: $(@F)"
- @$(AR) ru $@ $(libo-files)
- @$(RANLIB) $@
-
-$(LIBDIR)/liblac.g$(static-lib-suffix): $(libgo-files)
- @echo "=====lac==============debug======$(MT)== Linking library: $(@F)"
- @$(AR) ru $@ $(libgo-files)
- @$(RANLIB) $@
-
-
-$(LIBDIR)/liblac$(shared-lib-suffix): $(libo-files)
- @echo "=====lac==============optimized==$(MT)== Linking library: $(@F)"
- @$(SHLIBLD) $(LDFLAGS) $(SHLIBFLAGS) -o $(LIBDIR)/$(call DEAL_II_SHLIB_NAME,lac) $(call DEAL_II_ADD_SONAME,lac) $(libo-files) $(deplibs.o)
- @ln -f -s $(call DEAL_II_SHLIB_NAME,lac) $@
-
-$(LIBDIR)/liblac.g$(shared-lib-suffix): $(libgo-files)
- @echo "=====lac==============debug======$(MT)== Linking library: $(@F)"
- @$(SHLIBLD) $(LDFLAGS) $(SHLIBFLAGS) -o $(LIBDIR)/$(call DEAL_II_SHLIB_NAME,lac.g) $(call DEAL_II_ADD_SONAME,lac.g) $(libgo-files) $(deplibs.g)
- @ln -f -s $(call DEAL_II_SHLIB_NAME,lac.g) $@
-
-
-# generate a file that contains prototypes for BLAS and LAPACK functions
-include/lac/lapack_templates.h: include/lac/lapack_templates.h.in $D/common/scripts/lapack_templates.pl
- @echo ===================================== Remaking $@
- @$(PERL) $D/common/scripts/lapack_templates.pl include/lac/lapack_templates.h.in > $@
-
-# Rule to generate the dependency file. This file is
-# automagically remade whenever needed, i.e. whenever
-# one of the cc-/h-files changed. Make detects whether
-# to remake this file upon inclusion at the bottom
-# of this file.
-#
-# If the command fails, then remove Makefile.dep again and fail
-Makefile.dep: include/lac/lapack_templates.h \
- $(cc-files) $(h-files) $(inst-files) \
- Makefile $D/common/Make.global_options
- @echo ===================================== Remaking lac/Makefile
- @$D/common/scripts/make_dependencies $(INCLUDE) "-B$(LIBDIR)/lac" $(cc-files) \
- > $@ \
- || (rm -f $@ ; false)
-
-
-# include all the dependencies
-include Makefile.dep
-endif # CLEAN
-
-
-clean:
- -rm -f *~ include/*~ include/*/*~ Makefile.dep source/*.inst
-
-
-.PHONY: clean
-.PHONY: lib lib$(static-lib-suffix) lib.g$(static-lib-suffix)
--- /dev/null
+#todo: extra-libs, extra-o-files
+
+
+# $Id$
+# Copyright W. Bangerth, University of Heidelberg, 1998, 1999, 2000, 2001, 2002, 2010
+
+
+ifneq ($(CLEAN),yes)
+
+# deal.II top level directory
+D=..
+
+
+# get options which hold for all files of the project
+include $D/common/Make.global_options
+
+# top level targets
+default all: debug optimized
+
+
+# list the dimension dependent and dimension independent directories
+dim-dep-dirs = dofs fe grid hp multigrid numerics distributed
+dim-indep-dirs = base lac
+all-dirs = $(dim-dep-dirs) $(dim-indep-dirs)
+
+# create lists of file names.
+dim-indep-cc-files = $(shell for i in $(dim-indep-dirs) ; do echo $D/source/$$i/*.cc ; done) \
+ $(shell for i in $(dim-dep-dirs) ; do for j in $D/source/$$i/*.cc ; do \
+ (echo $$j | grep all_dimensions); done ; done)
+dim-dep-cc-files = $(filter-out \
+ %.all_dimensions.cc, \
+ $(shell for i in $(dim-dep-dirs) ; do echo $D/source/$$i/*.cc ; done))
+h-files = $(sort $(shell echo $D/include/deal.II/*/*.h))
+
+inst-in-files= $(shell echo */*.inst.in)
+inst-files = $(inst-in-files:%.in=%)
+
+
+# for the dimension independent files, build unique object file names
+tmp1 = $(shell echo $(dim-indep-cc-files) | $(PERL) -pi -e 's,$D/source/,,g; s,/,_,g;')
+tmp-o-files-indep = $(addprefix $(LIBDIR)/optimized/, $(tmp1:.cc=.$(OBJEXT)) )
+tmp-go-files-indep = $(addprefix $(LIBDIR)/debug/, $(tmp1:.cc=.$(OBJEXT)))
+
+# for the dimension dependent files, build unique object file names for each
+# dimension
+tmp2 = $(shell echo $(dim-dep-cc-files) | $(PERL) -pi -e 's,$D/source/,,g; s,/,_,g;')
+tmp-o-files-1d = $(addprefix $(LIBDIR)/optimized/1d_, $(tmp2:.cc=.$(OBJEXT)) )
+tmp-go-files-1d = $(addprefix $(LIBDIR)/debug/1d_, $(tmp2:.cc=.$(OBJEXT)))
+tmp-o-files-2d = $(addprefix $(LIBDIR)/optimized/2d_, $(tmp2:.cc=.$(OBJEXT)) )
+tmp-go-files-2d = $(addprefix $(LIBDIR)/debug/2d_, $(tmp2:.cc=.$(OBJEXT)))
+tmp-o-files-3d = $(addprefix $(LIBDIR)/optimized/3d_, $(tmp2:.cc=.$(OBJEXT)) )
+tmp-go-files-3d = $(addprefix $(LIBDIR)/debug/3d_, $(tmp2:.cc=.$(OBJEXT)))
+
+o-files = $(tmp-o-files-indep) \
+ $(tmp-o-files-1d) $(tmp-o-files-2d) $(tmp-o-files-3d)
+go-files = $(tmp-go-files-indep) \
+ $(tmp-go-files-1d) $(tmp-go-files-2d) $(tmp-go-files-3d)
+
+
+debug: $(LIBDIR)/libdeal_II.g$(lib-suffix)
+optimized: $(LIBDIR)/libdeal_II$(lib-suffix)
+
+
+
+# rules how to generate object files from source files.
+GET_DIM = $(shell echo $(1) \
+ | $(PERL) -pe 's,.*/,,g; \
+ s/^(\d)?.*/\1d/g; \
+ s/^d//g;')
+DEFINE_DIM = $(shell echo $(1) \
+ | $(PERL) -pe 's,.*/,,g; \
+ s/^(\d)?.*/\1/g; \
+ s/(\d)/-Ddeal_II_dimension=\1/g;')
+
+$(LIBDIR)/debug/%.$(OBJEXT) :
+ @echo "======================debug======$(MT)== $(<:$D/source/%=%) $(call GET_DIM,$@)"
+ @$(CXX) $(CXXFLAGS.g) $(call DEFINE_DIM, $@) -c $< -o $@
+$(LIBDIR)/optimized/%.$(OBJEXT) :
+ @echo "======================optimized==$(MT)== $(<:$D/source/%=%) $(call GET_DIM,$@)"
+ @$(CXX) $(CXXFLAGS.o) $(call DEFINE_DIM, $@) -c $< -o $@
+
+
+
+%.inst : %.inst.in $D/common/template-arguments
+ @echo "===================================== $(@F)"
+ @$D/common/scripts/expand_instantiations $D/common/template-arguments < $< > $@
+
+
+
+# there are extra .o file for the function parser and umfpack that we
+# need to link into out library
+ifeq ($(enable-parser),yes)
+ extra-o-files = $(LIBDIR)/contrib/functionparser/fparser.$(OBJEXT)
+ extra-g.o-files = $(LIBDIR)/contrib/functionparser/fparser.$(OBJEXT)
+endif
+
+ifeq ($(USE_CONTRIB_UMFPACK),yes)
+ umfpack-files = $(sort $(shell echo $(LIBDIR)/contrib/umfpack/*.$(OBJEXT)))
+ extra-o-files += $(umfpack-files)
+ extra-g.o-files += $(umfpack-files)
+endif
+
+
+
+# in general, when linking shared libraries, we will want to link with
+# the underlying libs as well. AIX even requires this. on the other
+# hand, on DEC OSF with CXX this will fail with duplicate symbols, so
+# make sure that it doesn't happen on that system and that compiler
+ifneq ($(GXX-VERSION),compaq_cxx)
+ # if we use HSL, then we need to link against libhsl.so.
+ ifeq ($(USE_CONTRIB_HSL),yes)
+ deplibs.g += $(lib-contrib-hsl)
+ deplibs.o += $(lib-contrib-hsl)
+ endif
+
+ # same with PETSC
+ ifeq ($(USE_CONTRIB_PETSC),yes)
+ deplibs.g += $(lib-contrib-petsc.g)
+ deplibs.o += $(lib-contrib-petsc.o)
+ endif
+
+ # same with SLEPC
+ ifeq ($(USE_CONTRIB_SLEPC),yes)
+ deplibs.g += $(lib-contrib-slepc)
+ deplibs.o += $(lib-contrib-slepc)
+ endif
+
+ # same with TRILINOS
+ ifeq ($(USE_CONTRIB_TRILINOS),yes)
+ deplibs.g += $(lib-contrib-trilinos)
+ deplibs.o += $(lib-contrib-trilinos)
+ endif
+
+ # same with MUMPS
+ ifeq ($(USE_CONTRIB_MUMPS),yes)
+ deplibs.g += $(lib-contrib-mumps)
+ deplibs.o += $(lib-contrib-mumps)
+ endif
+
+ # and METIS
+ ifeq ($(USE_CONTRIB_METIS),yes)
+ deplibs.g += $(lib-contrib-metis)
+ deplibs.o += $(lib-contrib-metis)
+ endif
+
+ # also link with TBB
+ ifeq ($(enable-threads),yes)
+ deplibs.g += $D/lib/libtbb_debug$(shared-lib-suffix)
+ deplibs.o += $D/lib/libtbb$(shared-lib-suffix)
+ endif
+
+ # for cygwin and darwin, also llapack and such are necessary
+ # we better link all libraries mentioned in $(LIBS)
+ ifneq ($(findstring cygwin,$(TARGET))$(findstring darwin,$(TARGET)),)
+ deplibs.g += $(LIBS)
+ deplibs.o += $(LIBS)
+ endif
+
+else
+ deplibs.g =
+ deplibs.o =
+endif
+
+
+# rules how to make the libraries themselves
+$(LIBDIR)/libdeal_II.g$(static-lib-suffix): $(go-files)
+ @echo "=====deal.II==========debug======$(MT)== Linking library: $(@F)"
+ @$(AR) ru $@ $(go-files) $(extra-g.o-files)
+ @$(RANLIB) $@
+$(LIBDIR)/libdeal_IId$(static-lib-suffix): $(o-files)
+ @echo "=====deal.II==========optimized==$(MT)== Linking library: $(@F)"
+ @$(AR) ru $@ $(o-files) $(extra-o-files)
+ @$(RANLIB) $@
+
+
+$(LIBDIR)/libdeal_II.g$(shared-lib-suffix): $(go-files)
+ @echo "=====deal.II==========debug======$(MT)== Linking library: $(@F)"
+ @$(SHLIBLD) $(LDFLAGS) $(SHLIBFLAGS) -o $(LIBDIR)/$(call DEAL_II_SHLIB_NAME,deal_II.g) $(call DEAL_II_ADD_SONAME,deal_II.g) $(go-files) $(extra-g.o-files) $(deplibs.g)
+ @ln -f -s $(call DEAL_II_SHLIB_NAME,deal_II.g) $@
+
+$(LIBDIR)/libdeal_II$(shared-lib-suffix): $(o-files)
+ @echo "=====deal.II==========optimized==$(MT)== Linking library: $(@F)"
+ @$(SHLIBLD) $(LDFLAGS) $(SHLIBFLAGS) -o $(LIBDIR)/$(call DEAL_II_SHLIB_NAME,deal_II) $(call DEAL_II_ADD_SONAME,deal_II) $(o-files) $(extra-o-files) $(deplibs.o)
+ @ln -f -s $(call DEAL_II_SHLIB_NAME,deal_II) $@
+
+
+
+# generate a file that contains prototypes for BLAS and LAPACK functions
+../include/deal.II/lac/lapack_templates.h: ../include/deal.II/lac/lapack_templates.h.in \
+ $D/common/scripts/lapack_templates.pl
+ @echo ===================================== Remaking $@
+ @$(PERL) $D/common/scripts/lapack_templates.pl ../include/deal.II/lac/lapack_templates.h.in > $@
+
+
+# Rule to generate the dependency files, one for each source
+# directory. These file are automagically remade whenever needed,
+# i.e. whenever one of the cc-/h-files changed. Make detects whether
+# to remake this file upon inclusion below.
+#
+# If the command fails, then remove Makefile.dep again and fail
+%/Makefile.dep: $(cc-files) $(h-files) \
+ $(inst-files) \
+ ../include/deal.II/lac/lapack_templates.h \
+ Makefile $D/common/Make.global_options
+ @echo "===================================== Remaking $@"
+ @((($D/common/scripts/make_dependencies -n $(INCLUDE) "-B\$$(LIBDIR)" \
+ $(filter $D/source/$(dir $@)%, $(dim-indep-cc-files)) \
+ | $(PERL) -pe 's!LIBDIR\)/(debug|optimized)/(.*):!LIBDIR)/$$1/$(@:%/Makefile.dep=%)_$$2:!g;' \
+ ) \
+ && \
+ ($D/common/scripts/make_dependencies -n $(INCLUDE) "-B\$$(LIBDIR)" \
+ $(filter $D/source/$(dir $@)%, $(dim-dep-cc-files)) \
+ | $(PERL) -pe 's!LIBDIR\)/(debug|optimized)/(.*):!LIBDIR)/$$1/DIM_PLACEHOLDER_$$2:!g;' \
+ | $(PERL) -pe 's!^(.*)/DIM_PLACEHOLDER_(.*):!$$1/1d_$(@:%/Makefile.dep=%)_$$2 $$1/2d_$(@:%/Makefile.dep=%)_$$2 $$1/3d_$(@:%/Makefile.dep=%)_$$2:!g;'\
+ ) \
+ ) > $@) \
+ || (rm -f $@ ; false)
+
+Makefile.dep: $(addsuffix /Makefile.dep, $(all-dirs))
+
+# include all the dependencies
+include $(addsuffix /Makefile.dep, $(all-dirs))
+
+endif
+
+
+
+################### some clean-up rules
+
+clean:
+ -rm -f *~ */*~ */*/*~ */Makefile.dep source/*/*.inst \
+ $D/{debug.optimized}*.o
+
+
+###################
+
+.PHONY: default all debug optimized TAGS
+.PHONY: clean Makefile.dep