cd $D/deal.II && $(MAKE) $(MAKEOPTIONS) Makefile.dep
cd $D/lib && $(MAKE) $(MAKEOPTIONS) external-links
-baseg: deps contrib
+# 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: deps contrib
+baseo: baseoo contrib
cd $D/base && $(MAKE) $(MAKEOPTIONS) libo
-lacg: deps baseg
+
+lacg: lacog baseg
cd $D/lac && $(MAKE) $(MAKEOPTIONS) libg
-laco: deps baseo
+laco: lacoo baseo
cd $D/lac && $(MAKE) $(MAKEOPTIONS) libo
-1dg: deps baseg lacg
+1dg: 1dog lacg baseg
cd $D/deal.II && $(MAKE) $(MAKEOPTIONS) 1dg
-2dg: deps baseg lacg
+2dg: 2dog lacg baseg
cd $D/deal.II && $(MAKE) $(MAKEOPTIONS) 2dg
-3dg: deps baseg lacg
+3dg: 3dog lacg baseg
cd $D/deal.II && $(MAKE) $(MAKEOPTIONS) 3dg
-1do: deps baseo laco
+1do: 1doo laco baseo
cd $D/deal.II && $(MAKE) $(MAKEOPTIONS) 1d
-2do: deps baseo laco
+2do: 2doo baseo laco
cd $D/deal.II && $(MAKE) $(MAKEOPTIONS) 2d
-3do: deps baseo laco
+3do: 3doo baseo laco
cd $D/deal.II && $(MAKE) $(MAKEOPTIONS) 3d
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: adog lacog baseog contrib baseg lacg 2dg 1dg 3dg
+optimized: adoo lacoo baseoo contrib baseo laco 2do 1do 3do
# when HSL functions are used, we also compile the detached_ma27
# 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)))
- o-files += $(umfpack-files)
- go-files += $(umfpack-files)
+ libo-files += $(umfpack-files)
+ libgo-files += $(umfpack-files)
endif
@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)
endif
-$(LIBDIR)/liblac$(static-lib-suffix): $(o-files)
+$(LIBDIR)/liblac$(static-lib-suffix): $(libo-files)
@echo "=====lac==============optimized==$(MT)== Linking library: $(@F)"
- @$(AR) ru $@ $(o-files)
+ @$(AR) ru $@ $(libo-files)
@$(RANLIB) $@
-$(LIBDIR)/liblac.g$(static-lib-suffix): $(go-files)
+$(LIBDIR)/liblac.g$(static-lib-suffix): $(libgo-files)
@echo "=====lac==============debug======$(MT)== Linking library: $(@F)"
- @$(AR) ru $@ $(go-files)
+ @$(AR) ru $@ $(libgo-files)
@$(RANLIB) $@
-$(LIBDIR)/liblac$(shared-lib-suffix): $(o-files)
+$(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) $(o-files) $(deplibs.o)
+ @$(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): $(go-files)
+$(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) $(go-files) $(deplibs.g)
+ @$(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) $@