PAR: support parallel builds
authordberzano <dario.berzano@cern.ch>
Mon, 26 Jan 2015 14:32:32 +0000 (15:32 +0100)
committerdberzano <dario.berzano@cern.ch>
Thu, 29 Jan 2015 11:57:51 +0000 (12:57 +0100)
cmake/PARfiles/BUILD.sh.in
cmake/PARfiles/Makefile.in

index 2bc70e9..7405f39 100644 (file)
@@ -1,2 +1,16 @@
 #!/bin/sh
-exec make
+
+# Automatically generated BUILD.sh for @PARMODULE@
+
+npar=`grep -c bogomips /proc/cpuinfo 2> /dev/null`
+if [ "$npar" == 0 ] ; then
+  npar=`sysctl hw.ncpu | cut -b10 2> /dev/null`
+fi
+if test "$npar" -gt 0 2> /dev/null ; then
+  let npar++
+  echo "Building PARfile using $npar parallel thread(s)"
+  exec make -j$npar
+else
+  echo "Building PARfile"
+  exec make
+fi
index 1e72420..6e9d371 100644 (file)
@@ -43,8 +43,10 @@ lib$(PAR_MODULE).so: $(OBJS)
        @echo -e "[$(COLM)$(PAR_MODULE)$(COLZ)]" building shared library
        @$(LD) $(PAR_SOFLAGS) $^ -o $@ $(EXPLLINKLIBS)
 
-# Generate dictionary
-G__$(PAR_MODULE).cxx G__$(PAR_MODULE).h: $(HDRS) $(DHDR)
+# Generate dictionary (rule broken up to accommodate parallel builds)
+G__$(PAR_MODULE).h: G__$(PAR_MODULE).cxx
+
+G__$(PAR_MODULE).cxx: $(HDRS) $(DHDR)
        @echo -e "[$(COLM)$(PAR_MODULE)$(COLZ)]" generating dictionary
        @rootcint -f $@ -c $(PAR_INCLUDES) $^