]> https://gitweb.dealii.org/ - dealii.git/commitdiff
allow for more parallel compiling
authorGuido Kanschat <dr.guido.kanschat@gmail.com>
Sun, 18 Jul 2010 15:20:53 +0000 (15:20 +0000)
committerGuido Kanschat <dr.guido.kanschat@gmail.com>
Sun, 18 Jul 2010 15:20:53 +0000 (15:20 +0000)
git-svn-id: https://svn.dealii.org/trunk@21517 0785d39b-7218-0410-832d-ea1e28bc413d

deal.II/Makefile
deal.II/base/Makefile
deal.II/deal.II/Makefile
deal.II/lac/Makefile

index 1e83c7386e7a1479b6936ea44ddaab2bd0c62531..b67a4c77d90b857ced3e29371ef5a057b29c3321 100644 (file)
@@ -46,34 +46,65 @@ deps:
        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
 
 
@@ -89,8 +120,8 @@ $(LIBDIR):
 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
index e59816695ef336330136398930fdb3f38521e479..9f0935631239cf31ceba5402997ec641c90f2d7a 100644 (file)
@@ -65,6 +65,9 @@ else
   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)
index 11e920bb2684f89017b4c8fcb81495dab7e7ab3f..a84078518afff97f3622aabf21f299e407367292 100644 (file)
@@ -127,7 +127,16 @@ else
   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)
index e7b503ef4d9fd9ec093ceef119810fabb3485940..fb4d8fefc87b7ab7cdb9e65fcaa005f45310a9aa 100644 (file)
@@ -22,10 +22,13 @@ 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)))
-  o-files += $(umfpack-files)
-  go-files += $(umfpack-files)
+  libo-files += $(umfpack-files)
+  libgo-files += $(umfpack-files)
 endif
 
 
@@ -41,6 +44,10 @@ 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)
@@ -103,25 +110,25 @@ else
 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) $@
 
 

In the beginning the Universe was created. This has made a lot of people very angry and has been widely regarded as a bad move.

Douglas Adams


Typeset in Trocchi and Trocchi Bold Sans Serif.