# And so does the following variable. You will have to set it to
# something more reasonable, of course.
-clean-up-files =
+clean-up-files =
# Finally, here is a variable which tells the `run' rule which
# parameters to pass to the executable. Usually, this will be the name
# are expected in `include/', while implementation files are expected
# in `source/'. Object files are placed into `lib/[123]d', using the
# same base name as the `.cc' file.
-cc-files = $(shell echo source/*.cc)
-o-files = $(cc-files:source/%.cc=lib/$(deal_II_dimension)d/%.$(OBJEXT))
-go-files = $(cc-files:source/%.cc=lib/$(deal_II_dimension)d/%.g.$(OBJEXT))
-h-files = $(wildcard include/*.h)
-lib-h-files = $(shell echo $D/base/include/base/*.h \
- $D/lac/include/lac/*.h \
- $D/deal.II/include/*/*.h)
+cc-files := $(shell echo source/*.cc)
+o-files := $(cc-files:source/%.cc=lib/$(deal_II_dimension)d/%.$(OBJEXT))
+go-files := $(cc-files:source/%.cc=lib/$(deal_II_dimension)d/%.g.$(OBJEXT))
+h-files := $(wildcard include/*.h)
+lib-h-files := $(shell echo $D/include/deal.II/*/*.h)
-# As before, define a list of libraries. This, of course depends on
-# the dimension in which we are working:
-libs.g = $(lib-deal2-$(deal_II_dimension)d.g) \
- $(lib-lac.g) \
- $(lib-base.g)
-libs.o = $(lib-deal2-$(deal_II_dimension)d.o) \
- $(lib-lac.o) \
- $(lib-base.o)
+# As before, define two variables that denote the debug and optimized
+# versions of the deal.II libraries:
+libs.g := $(lib-deal2.g)
+libs.o := $(lib-deal2.o)
# Now use the information from above to define the set of libraries to
# link with and the flags to be passed to the compiler:
ifeq ($(debug-mode),on)
- libraries = $(go-files) $(libs.g)
+ libraries = $(go-files) $(libs.g)
flags = $(CXXFLAGS.g)
else
libraries = $(o-files) $(libs.o)
# 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-2d.g) \
- $(lib-lac.g) \
- $(lib-base.g)
-libs.o = $(lib-deal2-2d.o) \
- $(lib-lac.o) \
- $(lib-base.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
# 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.
Makefile.dep: $(target).cc Makefile \
- $(shell echo $(include-path-base)/base/*.h \
- $(include-path-lac)/lac/*.h \
- $(include-path-deal2)/*/*.h)
+ $(shell echo $D/include/deal.II/*/*.h)
@echo ============================ Remaking $@
@$D/common/scripts/make_dependencies $(INCLUDE) -B. $(target).cc \
> Makefile.dep