#
# Makefile for the whole library
-# include global options and pathes. there's one exception where we don't want
+# include global options and paths. there's one exception where we don't want
# that, namely for build tests: in that case, the makefile is called before we
# have even run ./configure, so we can't include this file, but the target
# then called doesn't need the variables defined in there doesn't need them
@echo "= distclean : removes all object files, libraries, etc in subdirs ="
@echo "========================================================================"
-
-common/scripts/make_dependencies:
- cd $D/common/scripts && $(MAKE) $(MAKEOPTIONS) make_dependencies
-
-common/scripts/expand_instantiations:
- cd $D/common/scripts && $(MAKE) $(MAKEOPTIONS) expand_instantiations
-
-deps: common/scripts/make_dependencies common/scripts/expand_instantiations
+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
perl -pi -e 's/ \* .*//g; s&[\t]*/\*.*&&g; s&[\t]*\*/.*&&g;' TAGS
-clean: deps \
- clean-contrib clean-base clean-lac clean-dealII \
+clean: clean-contrib clean-base clean-lac clean-dealII \
clean-doc clean-examples clean-lib clean-tests
-rm -f TODO common/TAGS
cd $D/contrib && $(MAKE) clean
clean-base:
- cd $D/base && $(MAKE) clean
+ cd $D/base && $(MAKE) CLEAN=yes clean
clean-lac:
- cd $D/lac && $(MAKE) clean
+ cd $D/lac && $(MAKE) CLEAN=yes clean
clean-dealII:
- cd $D/deal.II && $(MAKE) clean
+ cd $D/deal.II && $(MAKE) CLEAN=yes clean
clean-doc:
- cd $D/doc && $(MAKE) clean
+ cd $D/doc && $(MAKE) CLEAN=yes clean
clean-examples:
- cd $D/examples && $(MAKE) clean
+ cd $D/examples && $(MAKE) CLEAN=yes clean
clean-lib:
- cd $D/lib && $(MAKE) clean
+ cd $D/lib && $(MAKE) CLEAN=yes clean
# if that directory exists, go into 'tests' and clean up there as well
clean-tests:
# 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)
go-files = $(o-files:.$(OBJEXT)=.g.$(OBJEXT))
h-files = $(sort $(shell echo include/base/*.h))
-# get options which hold for all files of the project
-include $D/common/Make.global_options
-
-
# 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
@ln -f -s $(call DEAL_II_SHLIB_NAME,base.g) $@
-
-
-clean:
- -rm -f *~ include/*~ include/*/*~ Makefile.dep source/*.inst
-
-
# 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
# 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)
@$(CXX) $(CXXFLAGS.o) $(LDFLAGS) $< -o $@
clean:
- -rm -f make_dependencies
+ -rm -f make_dependencies$(EXEEXT)
-rm -f make_dependencies.o
- -rm -f expand_instantiations
+ -rm -f expand_instantiations$(EXEEXT)
-rm -f expand_instantiations.o
.PHONY: clean
# 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
# include all the dependencies
include Makefile.dep
+endif
clean:
-for i in deal.II/* ; do rm $$i ; done
-rm *.tag
- @cd tutorial ; $(MAKE) clean
+ @cd tutorial ; $(MAKE) CLEAN=yes clean
.PHONY: html tutorial private deal.II \
done \
> $@
+ifneq ($(CLEAN),yes)
include Makefile.dep
+endif
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)))))
@echo ===================================== Remaking $@
@$(PERL) $D/common/scripts/lapack_templates.pl include/lac/lapack_templates.h.in > $@
-
-clean:
- -rm -f *~ include/*~ include/*/*~ Makefile.dep source/*.inst
-
-
# 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
# 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)