# The first is the name of the application. It is assumed that the
# application name is the same as the base file name of the single C++
# file from which the application is generated.
-target = step-1
+target = $(basename $(shell echo step-*.cc))
# The second field determines whether you want to run your program in
# debug or optimized mode. The latter is significantly faster, but no
include $D/common/Make.global_options
-################################################################
# Since the whole project consists of only one file, we need not
# consider difficult dependencies. We only have to declare the
# libraries which we want to link to the object file. deal.II has two
# them:
include Makefile.dep
+
include $D/common/Make.global_options
-################################################################
# Since the whole project consists of only one file, we need not
# consider difficult dependencies. We only have to declare the
# libraries which we want to link to the object file. deal.II has two
# them:
include Makefile.dep
+
include $D/common/Make.global_options
-################################################################
# Since the whole project consists of only one file, we need not
# consider difficult dependencies. We only have to declare the
# libraries which we want to link to the object file. deal.II has two
# them:
include Makefile.dep
+
include $D/common/Make.global_options
-################################################################
# Since the whole project consists of only one file, we need not
# consider difficult dependencies. We only have to declare the
# libraries which we want to link to the object file. deal.II has two
# them:
include Makefile.dep
+
include $D/common/Make.global_options
-################################################################
# Since the whole project consists of only one file, we need not
# consider difficult dependencies. We only have to declare the
# libraries which we want to link to the object file. deal.II has two
# them:
include Makefile.dep
+
include $D/common/Make.global_options
-################################################################
# Since the whole project consists of only one file, we need not
# consider difficult dependencies. We only have to declare the
# libraries which we want to link to the object file. deal.II has two
# To make the dependencies known to `make', we finally have to include
# them:
include Makefile.dep
+
+
# The first is the name of the application. It is assumed that the
# application name is the same as the base file name of the single C++
# file from which the application is generated.
-target = step-35
+target = $(basename $(shell echo step-*.cc))
# The second field determines whether you want to run your program in
# debug or optimized mode. The latter is significantly faster, but no
# $Id$
+
# For the small projects Makefile, you basically need to fill in only
# four fields.
#
include $D/common/Make.global_options
-
-
# Since the whole project consists of only one file, we need not
# consider difficult dependencies. We only have to declare the
# libraries which we want to link to the object file. deal.II has two
include $D/common/Make.global_options
-################################################################
# Since the whole project consists of only one file, we need not
# consider difficult dependencies. We only have to declare the
# libraries which we want to link to the object file. deal.II has two
# To make the dependencies known to `make', we finally have to include
# them:
include Makefile.dep
+
+
# The first is the name of the application. It is assumed that the
# application name is the same as the base file name of the single C++
# file from which the application is generated.
-target = step-40
-#$(basename $(shell echo step-*.cc))
+target = $(basename $(shell echo step-*.cc))
# The second field determines whether you want to run your program in
# debug or optimized mode. The latter is significantly faster, but no
include Makefile.dep
-endif # USE_CONTRIB_TRILINOS
+endif # USE_CONTRIB_PETSC
D = ../../
-# The fourth field specifies the names of data and other files that
+# The last field specifies the names of data and other files that
# shall be deleted when calling `make clean'. Object and backup files,
# executables and the like are removed anyway. Here, we give a list of
# files in the various output formats that deal.II supports.
-# The last field specifies the name of the input file that passes the
-# parameters to the program.
-run-parameters = input.prm
-
-
-
-
#
#
# following rule:
run: $(target)$(EXEEXT)
@echo ============================ Running $<
- @./$(target)$(EXEEXT) $(run-parameters)
+ @./$(target)$(EXEEXT)
+
# As a last rule to the `make' program, we define what to do when
@$(CXX) $(CXXFLAGS.o) -c $< -o $@
+
# The following statement tells make that the rules `run' and `clean'
# are not expected to produce files of the same name as Makefile rules
# usually do.
include Makefile.dep
-endif # CONTRIB_USE_TRILINOS
+endif # USE_CONTRIB_TRILINOS
# shall be deleted when calling `make clean'. Object and backup files,
# executables and the like are removed anyway. Here, we give a list of
# files in the various output formats that deal.II supports.
-clean-up-files = *gmv *gnuplot *gpl *eps *pov
+clean-up-files = *gmv *gnuplot *gpl *eps *pov *vtk *ucd *.d2
# Usually, you will not need to change anything beyond this point.
#
#
-# The next statement tell the `make' program where to find the
+# The next statement tells the `make' program where to find the
# deal.II top level directory and to include the file with the global
# settings
include $D/common/Make.global_options
# Since the whole project consists of only one file, we need not
# consider difficult dependencies. We only have to declare the
-# libraries which we want to link to the object file, and there need
-# to be two sets of libraries: one for the debug mode version of the
-# application and one for the optimized mode. Here we have selected
-# the versions for 2d. Note that the order in which the libraries are
-# given here is important and that your applications won't link
-# properly if they are given in another order.
-#
-# 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.g)
-libs.o = $(lib-deal2.o)
+# libraries which we want to link to the object file. deal.II has two
+# libraries: one for the debug mode version of the
+# application and one for optimized mode.
+libs.g := $(lib-deal2.g)
+libs.o := $(lib-deal2.o)
-# We now use the variable defined above which switch between debug and
+# We now use the variable defined above to switch between debug and
# optimized mode to select the set of libraries to link with. Included
# in the list of libraries is the name of the object file which we
# will produce from the single C++ file. Note that by default we use
# the extension .g.o for object files compiled in debug mode and .o for
-# object files in optimized mode (or whatever the local default on your
-# system is instead of .o).
+# object files in optimized mode (or whatever local default on your
+# system is instead of .o)
ifeq ($(debug-mode),on)
libraries = $(target).g.$(OBJEXT) $(libs.g)
else
# file produced from the single C++ file into the executable. Since
# this is the first rule in the Makefile, it is the one `make' selects
# if you call it without arguments.
-$(target) : $(libraries)
+$(target)$(EXEEXT) : $(libraries)
@echo ============================ Linking $@
- @$(CXX) -o $@$(EXEEXT) $^ $(LIBS) $(LDFLAGS)
+ @$(CXX) -o $@ $^ $(LIBS) $(LDFLAGS)
# To make running the application somewhat independent of the actual
# useful if you want to call the executable with arguments which do
# not change frequently. You may then want to add them to the
# following rule:
-run: $(target)
+run: $(target)$(EXEEXT)
@echo ============================ Running $<
@./$(target)$(EXEEXT)
# 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)
+ @echo "==============optimized===== $(<F) -> $@"
@$(CXX) $(CXXFLAGS.o) -c $< -o $@
# since the executable depends on some include files from the library,
# besides the C++ application file of course, it is necessary to
# re-generate the executable when one of the files it depends on has
-# changed. The following rule to created a dependency file
+# changed. The following rule creates a dependency file
# `Makefile.dep', which `make' uses to determine when to regenerate
# the executable. This file is automagically remade whenever needed,
# i.e. whenever one of the cc-/h-files changed. Make detects whether
|| (rm -f $@ ; false)
@if test -s $@ ; then : else rm $@ ; fi
-
# To make the dependencies known to `make', we finally have to include
# them:
include Makefile.dep