Index: Makefile
===================================================================
--- Makefile	(revision be6c1c802edfcf2f0bab07b4dfe691afa5010c27)
+++ Makefile	(revision 5b5a56bde305e59be1844b3cc8b69b80605f4e66)
@@ -10,9 +10,8 @@
 include doc/Makefile.arch
 
-ifeq ($(ARCH),macosx64)
-UNDEFOPT = dynamic_lookup
-endif
+ROOT_MAJOR := $(shell $(RC) --version | cut -d'.' -f1)
 
 SrcSuf = cc
+PcmSuf = _rdict.pcm
 
 CXXFLAGS += $(ROOTCFLAGS) -Wno-write-strings -D_FILE_OFFSET_BITS=64 -DDROP_CGAL -I. -Iexternal -Iexternal/tcl
@@ -292,4 +291,7 @@
 	modules/Pythia8LinkDef.h \
 	modules/PileUpMergerPythia8.h
+Pythia8Dict$(PcmSuf): \
+	tmp/modules/Pythia8Dict$(PcmSuf) \
+	tmp/modules/Pythia8Dict.$(SrcSuf)
 DELPHES_DICT +=  \
 	tmp/modules/Pythia8Dict.$(SrcSuf)
@@ -297,4 +299,7 @@
 DELPHES_DICT_OBJ +=  \
 	tmp/modules/Pythia8Dict.$(ObjSuf)
+
+DELPHES_DICT_PCM +=  \
+	Pythia8Dict$(PcmSuf)
 
 endif
@@ -306,4 +311,7 @@
 	classes/SortableObject.h \
 	classes/DelphesClasses.h
+ClassesDict$(PcmSuf): \
+	tmp/classes/ClassesDict$(PcmSuf) \
+	tmp/classes/ClassesDict.$(SrcSuf)
 tmp/modules/ModulesDict.$(SrcSuf): \
 	modules/ModulesLinkDef.h \
@@ -337,4 +345,7 @@
 	modules/Hector.h \
 	modules/ExampleModule.h
+ModulesDict$(PcmSuf): \
+	tmp/modules/ModulesDict$(PcmSuf) \
+	tmp/modules/ModulesDict.$(SrcSuf)
 tmp/external/ExRootAnalysis/ExRootAnalysisDict.$(SrcSuf): \
 	external/ExRootAnalysis/ExRootAnalysisLinkDef.h \
@@ -349,4 +360,7 @@
 	external/ExRootAnalysis/ExRootConfReader.h \
 	external/ExRootAnalysis/ExRootTask.h
+ExRootAnalysisDict$(PcmSuf): \
+	tmp/external/ExRootAnalysis/ExRootAnalysisDict$(PcmSuf) \
+	tmp/external/ExRootAnalysis/ExRootAnalysisDict.$(SrcSuf)
 DELPHES_DICT +=  \
 	tmp/classes/ClassesDict.$(SrcSuf) \
@@ -359,8 +373,16 @@
 	tmp/external/ExRootAnalysis/ExRootAnalysisDict.$(ObjSuf)
 
+DELPHES_DICT_PCM +=  \
+	ClassesDict$(PcmSuf) \
+	ModulesDict$(PcmSuf) \
+	ExRootAnalysisDict$(PcmSuf)
+
 tmp/display/DisplayDict.$(SrcSuf): \
 	display/DisplayLinkDef.h \
 	display/DelphesDisplay.h \
 	display/DelphesCaloData.h
+DisplayDict$(PcmSuf): \
+	tmp/display/DisplayDict$(PcmSuf) \
+	tmp/display/DisplayDict.$(SrcSuf)
 DISPLAY_DICT +=  \
 	tmp/display/DisplayDict.$(SrcSuf)
@@ -368,4 +390,7 @@
 DISPLAY_DICT_OBJ +=  \
 	tmp/display/DisplayDict.$(ObjSuf)
+
+DISPLAY_DICT_PCM +=  \
+	DisplayDict$(PcmSuf)
 
 tmp/classes/DelphesHepMCReader.$(ObjSuf): \
@@ -1644,7 +1669,11 @@
 ###
 
+ifeq ($(ROOT_MAJOR),6)
+all: $(DELPHES) $(DELPHES_DICT_PCM) $(EXECUTABLE)
+display: $(DISPLAY) $(DISPLAY_DICT_PCM)
+else
 all: $(DELPHES) $(EXECUTABLE)
-
 display: $(DISPLAY)
+endif
 
 $(DELPHES): $(DELPHES_DICT_OBJ) $(DELPHES_OBJ) $(TCL_OBJ)
@@ -1707,5 +1736,5 @@
 
 distclean: clean
-	@rm -f $(DELPHES) $(DELPHESLIB) $(DISPLAY) $(DISPLAYLIB) $(EXECUTABLE)
+	@rm -f $(DELPHES) $(DELPHESLIB) $(DELPHES_DICT_PCM) $(DISPLAY) $(DISPLAYLIB) $(DISPLAY_DICT_PCM) $(EXECUTABLE)
 
 dist:
@@ -1719,5 +1748,5 @@
 ###
 
-.SUFFIXES: .$(SrcSuf) .$(ObjSuf) .$(DllSuf)
+.SUFFIXES: .$(SrcSuf) .$(ObjSuf) .$(DllSuf) $(PcmSuf)
 
 %Dict.$(SrcSuf):
@@ -1731,4 +1760,8 @@
 	@rm $@.arch $@.base
 
+%Dict$(PcmSuf):
+	@echo ">> Copying $@"
+	@cp $< $@
+
 $(DELPHES_OBJ): tmp/%.$(ObjSuf): %.$(SrcSuf)
 	@mkdir -p $(@D)
Index: doc/genMakefile.tcl
===================================================================
--- doc/genMakefile.tcl	(revision be6c1c802edfcf2f0bab07b4dfe691afa5010c27)
+++ doc/genMakefile.tcl	(revision 5b5a56bde305e59be1844b3cc8b69b80605f4e66)
@@ -6,4 +6,5 @@
 set srcSuf {.$(SrcSuf)}
 set objSuf {.$(ObjSuf)}
+set pcmSuf {$(PcmSuf)}
 set exeSuf {$(ExeSuf)}
 
@@ -28,5 +29,5 @@
         lappend list external/$file
         set headerFiles(external/$file) 1
-	  }
+      }
     }
   }
@@ -54,5 +55,5 @@
 proc dictDeps {dictVar args} {
 
-  global prefix suffix srcSuf objSuf
+  global prefix suffix srcSuf objSuf pcmSuf
 
   set dict [eval glob -nocomplain $args]
@@ -67,6 +68,12 @@
     lappend dictSrcFiles $dictName$srcSuf
     lappend dictObjFiles $dictName$objSuf
+    lappend dictPcmFiles [file tail $dictName$pcmSuf]
 
     dependencies $fileName "$dictName$srcSuf:$suffix$fileName"
+
+    puts -nonewline [file tail $dictName$pcmSuf]:$suffix
+    puts -nonewline $dictName$pcmSuf$suffix
+    puts -nonewline $dictName$srcSuf
+    puts {}
   }
 
@@ -79,4 +86,7 @@
   puts {}
 
+  puts -nonewline "${dictVar}_PCM += $suffix"
+  puts [join $dictPcmFiles $suffix]
+  puts {}
 }
 
@@ -191,9 +201,8 @@
 include doc/Makefile.arch
 
-ifeq ($(ARCH),macosx64)
-UNDEFOPT = dynamic_lookup
-endif
+ROOT_MAJOR := $(shell $(RC) --version | cut -d'.' -f1)
 
 SrcSuf = cc
+PcmSuf = _rdict.pcm
 
 CXXFLAGS += $(ROOTCFLAGS) -Wno-write-strings -D_FILE_OFFSET_BITS=64 -DDROP_CGAL -I. -Iexternal -Iexternal/tcl
@@ -285,7 +294,11 @@
 ###
 
+ifeq ($(ROOT_MAJOR),6)
+all: $(DELPHES) $(DELPHES_DICT_PCM) $(EXECUTABLE)
+display: $(DISPLAY) $(DISPLAY_DICT_PCM)
+else
 all: $(DELPHES) $(EXECUTABLE)
-
 display: $(DISPLAY)
+endif
 
 $(DELPHES): $(DELPHES_DICT_OBJ) $(DELPHES_OBJ) $(TCL_OBJ)
@@ -348,5 +361,5 @@
 
 distclean: clean
-	@rm -f $(DELPHES) $(DELPHESLIB) $(DISPLAY) $(DISPLAYLIB) $(EXECUTABLE)
+	@rm -f $(DELPHES) $(DELPHESLIB) $(DELPHES_DICT_PCM) $(DISPLAY) $(DISPLAYLIB) $(DISPLAY_DICT_PCM) $(EXECUTABLE)
 
 dist:
@@ -360,5 +373,5 @@
 ###
 
-.SUFFIXES: .$(SrcSuf) .$(ObjSuf) .$(DllSuf)
+.SUFFIXES: .$(SrcSuf) .$(ObjSuf) .$(DllSuf) $(PcmSuf)
 
 %Dict.$(SrcSuf):
@@ -372,4 +385,8 @@
 	@rm $@.arch $@.base
 
+%Dict$(PcmSuf):
+	@echo ">> Copying $@"
+	@cp $< $@
+
 $(DELPHES_OBJ): tmp/%.$(ObjSuf): %.$(SrcSuf)
 	@mkdir -p $(@D)
