diff --git a/Makefile b/Makefile
index 81dd1e6faabd0c4773586c76c14e285ad4f8b76b..fc80f8ff84732754db0e019158fe0cd17d8a5cc3 100644
--- a/Makefile
+++ b/Makefile
@@ -38,12 +38,8 @@ endif
 
 ##### Include library dependencies for explicit linking #####
 
-ifeq ($(EXPLICITLINK),yes)
-include config/Makefile.depend
-endif
-ifneq ($(findstring map, $(MAKECMDGOALS)),)
-include config/Makefile.depend
-endif
+MAKEFILEDEP = config/Makefile.depend
+include $(MAKEFILEDEP)
 
 ##### Allow local macros #####
 
@@ -383,13 +379,14 @@ ROOTMAP       = etc/system.rootmap
 ##### libCore #####
 
 COREL         = $(BASEL1) $(BASEL2) $(BASEL3) $(CONTL) $(METAL) \
-                $(SYSTEML) $(CLIBL) $(METAUTILSL)  $(MATHL)
+                $(SYSTEML) $(CLIBL) $(METAUTILSL) $(MATHL)
 COREO         = $(BASEO) $(CONTO) $(METAO) $(SYSTEMO) $(ZIPO) $(CLIBO) \
-                $(METAUTILSO)  $(MATHO)
+                $(METAUTILSO) $(MATHO)
 COREDO        = $(BASEDO) $(CONTDO) $(METADO) $(SYSTEMDO) $(CLIBDO) \
                 $(METAUTILSDO) $(MATHDO)
 
 CORELIB      := $(LPATH)/libCore.$(SOEXT)
+COREMAP      := $(CORELIB:.$(SOEXT)=.rootmap)
 ifneq ($(BUILTINZLIB),yes)
 CORELIBEXTRA += $(ZLIBCLILIB)
 endif
@@ -415,6 +412,7 @@ endif
 
 ALLHDRS      :=
 ALLLIBS      := $(CORELIB)
+ALLMAPS      := $(COREMAP)
 ALLEXECS     :=
 INCLUDEFILES :=
 
@@ -511,7 +509,7 @@ endif
 
 rootcint:       all-cint all-utils
 
-rootlibs:       rootcint compiledata $(ALLLIBS)
+rootlibs:       rootcint compiledata $(ALLLIBS) $(ALLMAPS)
 
 rootexecs:      rootlibs $(ALLEXECS)
 
@@ -568,8 +566,10 @@ else
 	   "$(CORELIBEXTRA) $(PCRELDFLAGS) $(PCRELIB) $(CRYPTLIBS)"
 endif
 
-map::   $(RLIBMAP)
-	$(RLIBMAP) -r $(ROOTMAP) -l $(CORELIB) -d $(CORELIBDEP) -c $(COREL)
+$(COREMAP): $(RLIBMAP) $(MAKEFILEDEP) $(COREL)
+	$(RLIBMAP) -o $(COREMAP) -l $(CORELIB) -d $(CORELIBDEPM) -c $(COREL)
+
+map::   $(ALLMAPS)
 
 dist:
 	@rm -f $(ROOTMAP)
@@ -710,7 +710,7 @@ endif
 
 distclean:: clean
 	-@mv -f include/RConfigure.h include/RConfigure.h-
-	@rm -f include/*.h $(ROOTMAP) $(CORELIB)
+	@rm -f include/*.h $(ROOTMAP) $(CORELIB) $(COREMAP)
 	-@mv -f include/RConfigure.h- include/RConfigure.h
 	@rm -f bin/*.dll bin/*.exp bin/*.lib bin/*.pdb \
                lib/*.def lib/*.exp lib/*.lib lib/*.dll.a \
@@ -891,7 +891,7 @@ uninstall:
 	      test "x`ls $(DESTDIR)$(BINDIR)`" = "x" ; then \
 	      rm -rf $(DESTDIR)$(BINDIR); \
 	   fi ; \
-	   for lib in $(ALLLIBS) $(CINTLIB); do \
+	   for lib in $(ALLLIBS) $(CINTLIB) $(ALLMAPS); do \
 	      rm -f $(DESTDIR)$(LIBDIR)/`basename $$lib`* ; \
 	   done ; \
 	   if test -d $(DESTDIR)$(LIBDIR) && \
diff --git a/alien/Module.mk b/alien/Module.mk
index 158723b3c33f392783c0693f58bc3a0109122c60..7c318c60487f943730e57eef10dec55ea62f6d70 100644
--- a/alien/Module.mk
+++ b/alien/Module.mk
@@ -24,10 +24,12 @@ ALIENO       := $(ALIENS:.cxx=.o)
 ALIENDEP     := $(ALIENO:.o=.d) $(ALIENDO:.o=.d)
 
 ALIENLIB     := $(LPATH)/libRAliEn.$(SOEXT)
+ALIENMAP     := $(ALIENLIB:.$(SOEXT)=.rootmap)
 
 # used in the main Makefile
 ALLHDRS     += $(patsubst $(MODDIRI)/%.h,include/%.h,$(ALIENH))
 ALLLIBS     += $(ALIENLIB)
+ALLMAPS     += $(ALIENMAP)
 
 # include all dependency files
 INCLUDEFILES += $(ALIENDEP)
@@ -36,7 +38,7 @@ INCLUDEFILES += $(ALIENDEP)
 include/%.h:    $(ALIENDIRI)/%.h
 		cp $< $@
 
-$(ALIENLIB):    $(ALIENO) $(ALIENDO) $(ORDER_) $(MAINLIBS) $(ALIENLIBDEP) 
+$(ALIENLIB):    $(ALIENO) $(ALIENDO) $(ORDER_) $(MAINLIBS) $(ALIENLIBDEP)
 		@$(MAKELIB) $(PLATFORM) $(LD) "$(LDFLAGS)" \
 		   "$(SOFLAGS)" libRAliEn.$(SOEXT) $@ "$(ALIENO) $(ALIENDO)" \
 		   "$(ALIENLIBEXTRA) $(ALIENLIBDIR) $(ALIENCLILIB)"
@@ -45,13 +47,11 @@ $(ALIENDS):     $(ALIENH) $(ALIENL) $(ROOTCINTTMPEXE)
 		@echo "Generating dictionary $@..."
 		$(ROOTCINTTMP) -f $@ -c $(ALIENH) $(ALIENL)
 
-all-alien:      $(ALIENLIB)
+$(ALIENMAP):    $(RLIBMAP) $(MAKEFILEDEP) $(ALIENL)
+		$(RLIBMAP) -o $(ALIENMAP) -l $(ALIENLIB) \
+		   -d $(ALIENLIBDEPM) -c $(ALIENL)
 
-map-alien :     $(RLIBMAP)
-		$(RLIBMAP) -r $(ROOTMAP) -l $(ALIENLIB) \
-		   -d $(ALIENLIBDEP) -c $(ALIENL)
-
-map::           map-alien
+all-alien:      $(ALIENLIB) $(ALIENMAP)
 
 clean-alien:
 		@rm -f $(ALIENO) $(ALIENDO)
@@ -59,7 +59,7 @@ clean-alien:
 clean::         clean-alien
 
 distclean-alien: clean-alien
-		@rm -f $(ALIENDEP) $(ALIENDS) $(ALIENDH) $(ALIENLIB)
+		@rm -f $(ALIENDEP) $(ALIENDS) $(ALIENDH) $(ALIENLIB) $(ALIENMAP)
 
 distclean::     distclean-alien
 
diff --git a/asimage/Module.mk b/asimage/Module.mk
index 8c423de4e5f09d56208654dc7914390c669298ea..b066a0a3fe781d503c1e66cc34e3af80e9fba5da 100644
--- a/asimage/Module.mk
+++ b/asimage/Module.mk
@@ -64,6 +64,7 @@ ASIMAGEO     := $(ASIMAGES:.cxx=.o)
 ASIMAGEDEP   := $(ASIMAGEO:.o=.d) $(ASIMAGEDO:.o=.d)
 
 ASIMAGELIB   := $(LPATH)/libASImage.$(SOEXT)
+ASIMAGEMAP   := $(ASIMAGELIB:.$(SOEXT)=.rootmap)
 
 ##### libASImageGui #####
 ASIMAGEGUIL  := $(MODDIRI)/LinkDefGui.h
@@ -78,6 +79,7 @@ ASIMAGEGUIO  := $(ASIMAGEGUIS:.cxx=.o)
 ASIMAGEGUIDEP := $(ASIMAGEGUIO:.o=.d) $(ASIMAGEGUIDO:.o=.d)
 
 ASIMAGEGUILIB := $(LPATH)/libASImageGui.$(SOEXT)
+ASIMAGEGUIMAP := $(ASIMAGEGUILIB:.$(SOEXT)=.rootmap)
 
 ##### libASPluginGS #####
 ASIMAGEGSL  := $(MODDIRI)/LinkDefGS.h
@@ -92,12 +94,14 @@ ASIMAGEGSO  := $(ASIMAGEGSS:.cxx=.o)
 ASIMAGEGSDEP := $(ASIMAGEGSO:.o=.d) $(ASIMAGEGSDO:.o=.d)
 
 ASIMAGEGSLIB := $(LPATH)/libASPluginGS.$(SOEXT)
+ASIMAGEGSMAP := $(ASIMAGEGSLIB:.$(SOEXT)=.rootmap)
 
 # used in the main Makefile
 ALLHDRS     += $(patsubst $(MODDIRI)/%.h,include/%.h,$(ASIMAGEH))
 ALLHDRS     += $(patsubst $(MODDIRI)/%.h,include/%.h,$(ASIMAGEGUIH))
 ALLHDRS     += $(patsubst $(MODDIRI)/%.h,include/%.h,$(ASIMAGEGSH))
 ALLLIBS     += $(ASIMAGELIB) $(ASIMAGEGUILIB) $(ASIMAGEGSLIB)
+ALLMAPS     += $(ASIMAGEMAP) $(ASIMAGEGUIMAP) $(ASIMAGEGSMAP)
 
 # include all dependency files
 INCLUDEFILES += $(ASIMAGEDEP) $(ASIMAGEGUIDEP) $(ASIMAGEGSDEP)
@@ -211,6 +215,10 @@ $(ASIMAGEDS):   $(ASIMAGEH) $(ASIMAGEL) $(ROOTCINTTMPEXE)
 		@echo "Generating dictionary $@..."
 		$(ROOTCINTTMP) -f $@ -c $(ASIMAGEH) $(ASIMAGEL)
 
+$(ASIMAGEMAP):  $(RLIBMAP) $(MAKEFILEDEP) $(ASIMAGEL)
+		$(RLIBMAP) -o $(ASIMAGEMAP) -l $(ASIMAGELIB) \
+		   -d $(ASIMAGELIBDEPM) -c $(ASIMAGEL)
+
 ##### libASImageGui #####
 $(ASIMAGEGUILIB):  $(ASIMAGEGUIO) $(ASIMAGEGUIDO) $(ASTEPDEP) $(FREETYPEDEP) \
                    $(ORDER_) $(MAINLIBS) $(ASIMAGEGUILIBDEP)
@@ -225,6 +233,10 @@ $(ASIMAGEGUIDS): $(ASIMAGEGUIH) $(ASIMAGEGUIL) $(ROOTCINTTMPEXE)
 		@echo "Generating dictionary $@..."
 		$(ROOTCINTTMP) -f $@ -c $(ASIMAGEGUIH) $(ASIMAGEGUIL)
 
+$(ASIMAGEGUIMAP): $(RLIBMAP) $(MAKEFILEDEP) $(ASIMAGEGUIL)
+		$(RLIBMAP) -o $(ASIMAGEGUIMAP) -l $(ASIMAGEGUILIB) \
+		   -d $(ASIMAGEGUILIBDEPM) -c $(ASIMAGEGUIL)
+
 ##### libASPluginGS #####
 $(ASIMAGEGSLIB):  $(ASIMAGEGSO) $(ASIMAGEGSDO) $(ASTEPDEP) $(FREETYPEDEP) \
                   $(ORDER_) $(MAINLIBS) $(ASIMAGEGSLIBDEP)
@@ -239,21 +251,12 @@ $(ASIMAGEGSDS): $(ASIMAGEGSH) $(ASIMAGEGSL) $(ROOTCINTTMPEXE)
 		@echo "Generating dictionary $@..."
 		$(ROOTCINTTMP) -f $@ -c $(ASIMAGEGSH) $(ASIMAGEGSL)
 
-all-asimage:    $(ASIMAGELIB) $(ASIMAGEGUILIB) $(ASIMAGEGSLIB)
-
-map-asimage:    $(RLIBMAP)
-		$(RLIBMAP) -r $(ROOTMAP) -l $(ASIMAGELIB) \
-		   -d $(ASIMAGELIBDEP) -c $(ASIMAGEL)
-
-map-asimagegui: $(RLIBMAP)
-		$(RLIBMAP) -r $(ROOTMAP) -l $(ASIMAGEGUILIB) \
-		   -d $(ASIMAGEGUILIBDEP) -c $(ASIMAGEGUIL)
-
-map-asimagegs: $(RLIBMAP)
-		$(RLIBMAP) -r $(ROOTMAP) -l $(ASIMAGEGSLIB) \
-		   -d $(ASIMAGEGSLIBDEP) -c $(ASIMAGEGSL)
+$(ASIMAGEGSMAP): $(RLIBMAP) $(MAKEFILEDEP) $(ASIMAGEGSL)
+		$(RLIBMAP) -o $(ASIMAGEGSMAP) -l $(ASIMAGEGSLIB) \
+		   -d $(ASIMAGEGSLIBDEPM) -c $(ASIMAGEGSL)
 
-map::           map-asimage map-asimagegui map-asimagegs
+all-asimage:    $(ASIMAGELIB) $(ASIMAGEGUILIB) $(ASIMAGEGSLIB) \
+		$(ASIMAGEMAP) $(ASIMAGEGUIMAP) $(ASIMAGEGSMAP)
 
 clean-asimage:
 		@rm -f $(ASIMAGEO) $(ASIMAGEDO) $(ASIMAGEGUIO) $(ASIMAGEGUIDO) \
@@ -277,11 +280,12 @@ endif
 clean::         clean-asimage
 
 distclean-asimage: clean-asimage
-		@rm -f $(ASIMAGEDEP) $(ASIMAGEDS) $(ASIMAGEDH) $(ASIMAGELIB) \
+		@rm -f $(ASIMAGEDEP) $(ASIMAGEDS) $(ASIMAGEDH) \
+		   $(ASIMAGELIB) $(ASIMAGEMAP) \
 		   $(ASIMAGEGUIDEP) $(ASIMAGEGUIDS) $(ASIMAGEGUIDH) \
-		   $(ASIMAGEGUILIB) \
+		   $(ASIMAGEGUILIB) $(ASIMAGEGUIMAP) \
 		   $(ASIMAGEGSDEP) $(ASIMAGEGSDS) $(ASIMAGEGSDH) \
-		   $(ASIMAGEGSLIB)
+		   $(ASIMAGEGSLIB) $(ASIMAGEGSMAP)
 ifeq ($(BUILTINASIMAGE),yes)
 		@rm -f $(ASTEPLIB) $(ASTEPETAG)
 		@rm -rf $(ASIMAGEDIRS)/$(ASTEPVERS)
diff --git a/auth/Module.mk b/auth/Module.mk
index ae83629b5bc71239fae282228559721e9765e9a9..389c91be681b3a65a6e6a6771912c958187b7fa3 100644
--- a/auth/Module.mk
+++ b/auth/Module.mk
@@ -36,6 +36,7 @@ DAEMONUTILSO := $(MODDIRS)/DaemonUtils.o
 RAUTHDEP     := $(RAUTHO:.o=.d) $(RAUTHDO:.o=.d) $(DAEMONUTILSO:.o=.d)
 
 RAUTHLIB     := $(LPATH)/libRootAuth.$(SOEXT)
+RAUTHMAP     := $(RAUTHLIB:.$(SOEXT)=.rootmap)
 
 ##### libAFSAuth #####
 ifneq ($(AFSLIB),)
@@ -52,6 +53,7 @@ AFSAUTHO     := $(AFSAUTHS:.cxx=.o)
 AFSAUTHDEP   := $(AFSAUTHO:.o=.d) $(AFSAUTHDO:.o=.d)
 
 AFSAUTHLIB   := $(LPATH)/libAFSAuth.$(SOEXT)
+AFSAUTHMAP   := $(AFSAUTHLIB:.$(SOEXT)=.rootmap)
 endif
 
 #### for libSrvAuth (built in rpdutils/Module.mk) ####
@@ -75,9 +77,11 @@ endif
 ALLHDRS      += $(patsubst $(MODDIRI)/%.h,include/%.h,$(RAUTHH)) \
                 include/DaemonUtils.h
 ALLLIBS      += $(RAUTHLIB)
+ALLMAPS      += $(RAUTHMAP)
 ifneq ($(AFSLIB),)
 ALLHDRS      += $(patsubst $(MODDIRI)/%.h,include/%.h,$(AFSAUTHH))
 ALLLIBS      += $(AFSAUTHLIB)
+ALLMAPS      += $(AFSAUTHMAP)
 endif
 
 # include all dependency files
@@ -99,6 +103,10 @@ $(RAUTHDS):     $(RAUTHH) $(RAUTHL) $(ROOTCINTTMPEXE)
 		@echo "Generating dictionary $@..."
 		$(ROOTCINTTMP) -f $@ -c $(RAUTHH) $(RAUTHL)
 
+$(RAUTHMAP):    $(RLIBMAP) $(MAKEFILEDEP) $(RAUTHL)
+		$(RLIBMAP) -o $(RAUTHMAP) -l $(RAUTHLIB) \
+		   -d $(RAUTHLIBDEPM) -c $(RAUTHL)
+
 $(AFSAUTHLIB):  $(AFSAUTHO) $(AFSAUTHDO) $(ORDER_) $(MAINLIBS) $(AFSAUTHLIBDEP)
 		@$(MAKELIB) $(PLATFORM) $(LD) "$(LDFLAGS)" \
 		   "$(SOFLAGS)" libAFSAuth.$(SOEXT) $@ \
@@ -109,21 +117,11 @@ $(AFSAUTHDS):   $(AFSAUTHH) $(AFSAUTHL) $(ROOTCINTTMPEXE)
 		@echo "Generating dictionary $@..."
 		$(ROOTCINTTMP) -f $@ -c $(AFSAUTHH) $(AFSAUTHL)
 
-all-auth:       $(RAUTHLIB) $(AFSAUTHLIB)
-
-map-auth:       $(RLIBMAP)
-		$(RLIBMAP) -r $(ROOTMAP) -l $(RAUTHLIB) \
-		   -d $(RAUTHLIBDEP) -c $(RAUTHL)
-
-ifneq ($(AFSLIB),)
-map-afs:        $(RLIBMAP)
-		$(RLIBMAP) -r $(ROOTMAP) -l $(AFSAUTHLIB) \
-		   -d $(AFSAUTHLIBDEP) -c $(AFSAUTHL)
-
-map::           map-afs
-endif
+$(AFSAUTHMAP):  $(RLIBMAP) $(MAKEFILEDEP) $(AFSAUTHL)
+		$(RLIBMAP) -o $(AFSAUTHMAP) -l $(AFSAUTHLIB) \
+		   -d $(AFSAUTHLIBDEPM) -c $(AFSAUTHL)
 
-map::           map-auth
+all-auth:       $(RAUTHLIB) $(AFSAUTHLIB) $(RAUTHMAP) $(AFSAUTHMAP)
 
 clean-auth:
 		@rm -f $(RAUTHO) $(RAUTHDO) $(DAEMONUTILSO) $(AFSAUTHO) \
@@ -132,8 +130,9 @@ clean-auth:
 clean::         clean-auth
 
 distclean-auth: clean-auth
-		@rm -f $(RAUTHDEP) $(RAUTHDS) $(RAUTHDH) $(RAUTHLIB)\
-		       $(AFSAUTHDEP) $(AFSAUTHDS) $(AFSAUTHLIB)
+		@rm -f $(RAUTHDEP) $(RAUTHDS) $(RAUTHDH) $(RAUTHLIB) \
+		       $(AFSAUTHDEP) $(AFSAUTHDS) $(AFSAUTHLIB) \
+		       $(RAUTHMAP) $(AFSAUTHMAP)
 
 distclean::     distclean-auth
 
diff --git a/castor/Module.mk b/castor/Module.mk
index d738b57927a356fe7cbf22ff921298393d1fbbb1..8c09635a738bc5ff3e72eb90f313a8404b444b24 100644
--- a/castor/Module.mk
+++ b/castor/Module.mk
@@ -24,10 +24,12 @@ CASTORO      := $(CASTORS:.cxx=.o)
 CASTORDEP    := $(CASTORO:.o=.d) $(CASTORDO:.o=.d)
 
 CASTORLIB    := $(LPATH)/libRCastor.$(SOEXT)
+CASTORFMAP   := $(CASTORLIB:.$(SOEXT)=.rootmap)
 
 # used in the main Makefile
 ALLHDRS     += $(patsubst $(MODDIRI)/%.h,include/%.h,$(CASTORH))
 ALLLIBS     += $(CASTORLIB)
+ALLMAPS     += $(CASTORMAP)
 
 # include all dependency files
 INCLUDEFILES += $(CASTORDEP)
@@ -46,13 +48,11 @@ $(CASTORDS):    $(CASTORH) $(CASTORL) $(ROOTCINTTMPEXE)
 		@echo "Generating dictionary $@..."
 		$(ROOTCINTTMP) -f $@ -c $(CASTORH) $(CASTORL)
 
-all-castor:     $(CASTORLIB)
+$(CASTORMAP):   $(RLIBMAP) $(MAKEFILEDEP) $(CASTORL)
+		$(RLIBMAP) -o $(CASTORMAP) -l $(CASTORLIB) \
+		   -d $(CASTORLIBDEPM) -c $(CASTORL)
 
-map-castor:     $(RLIBMAP)
-		$(RLIBMAP) -r $(ROOTMAP) -l $(CASTORLIB) \
-		   -d $(CASTORLIBDEP) -c $(CASTORL)
-
-map::           map-castor
+all-castor:     $(CASTORLIB) $(CASTORMAP)
 
 clean-castor:
 		@rm -f $(CASTORO) $(CASTORDO)
@@ -60,7 +60,7 @@ clean-castor:
 clean::         clean-castor
 
 distclean-castor: clean-castor
-		@rm -f $(CASTORDEP) $(CASTORDS) $(CASTORDH) $(CASTORLIB)
+		@rm -f $(CASTORDEP) $(CASTORDS) $(CASTORDH) $(CASTORLIB) $(CASTORMAP)
 
 distclean::     distclean-castor
 
diff --git a/chirp/Module.mk b/chirp/Module.mk
index 32ca7d0d5ee6f75776cad313575ff6820d7ac052..2b2ede64353645c13eefdcc81ace5b0e96ba805f 100644
--- a/chirp/Module.mk
+++ b/chirp/Module.mk
@@ -23,10 +23,12 @@ CHIRPO      := $(CHIRPS:.cxx=.o)
 CHIRPDEP    := $(CHIRPO:.o=.d) $(CHIRPDO:.o=.d)
 
 CHIRPLIB    := $(LPATH)/libChirp.$(SOEXT)
+CHIRPMAP    := $(CHIRPLIB:.$(SOEXT)=.rootmap)
 
 # used in the main Makefile
 ALLHDRS     += $(patsubst $(MODDIRI)/%.h,include/%.h,$(CHIRPH))
 ALLLIBS     += $(CHIRPLIB)
+ALLMAPS     += $(CHIRPMAP)
 
 # include all dependency files
 INCLUDEFILES += $(CHIRPDEP)
@@ -44,13 +46,11 @@ $(CHIRPDS):     $(CHIRPH) $(CHIRPL) $(ROOTCINTTMPEXE)
 		@echo "Generating dictionary $@..."
 		$(ROOTCINTTMP) -f $@ -c $(CHIRPH) $(CHIRPL)
 
-all-chirp:      $(CHIRPLIB)
+$(CHIRPMAP):    $(RLIBMAP) $(MAKEFILEDEP) $(CHIRPL)
+		$(RLIBMAP) -o $(CHIRPMAP) -l $(CHIRPLIB) \
+		   -d $(CHIRPLIBDEPM) -c $(CHIRPL)
 
-map-chirp:      $(RLIBMAP)
-		$(RLIBMAP) -r $(ROOTMAP) -l $(CHIRPLIB) \
-		   -d $(CHIRPLIBDEP) -c $(CHIRPL)
-
-map::           map-chirp
+all-chirp:      $(CHIRPLIB) $(CHIRPMAP)
 
 clean-chirp:
 		@rm -f $(CHIRPO) $(CHIRPDO)
@@ -58,7 +58,7 @@ clean-chirp:
 clean::         clean-chirp
 
 distclean-chirp: clean-chirp
-		@rm -f $(CHIRPDEP) $(CHIRPDS) $(CHIRPDH) $(CHIRPLIB)
+		@rm -f $(CHIRPDEP) $(CHIRPDS) $(CHIRPDH) $(CHIRPLIB) $(CHIRPMAP)
 
 distclean::     distclean-chirp
 
diff --git a/cintex/Module.mk b/cintex/Module.mk
index 882ae2b4cf2fd43049ca2324abdd8a9ec57ad0ef..04320a43d219eafd01dc8825cfcccf25ddf2e35d 100644
--- a/cintex/Module.mk
+++ b/cintex/Module.mk
@@ -1,4 +1,4 @@
-# Module.mk for reflex module 
+# Module.mk for reflex module
 # Copyright (c) 2000 Rene Brun and Fons Rademakers
 #
 # Author: Fons Rademakers, 29/2/2000
@@ -20,6 +20,7 @@ CINTEXO      := $(CINTEXS:.cxx=.o)
 CINTEXDEP    := $(CINTEXO:.o=.d)
 
 CINTEXLIB    := $(LPATH)/libCintex.$(SOEXT)
+CINTEXMAP    := $(CINTEXLIB:.$(SOEXT)=.rootmap)
 
 CINTEXPYS    := $(wildcard $(MODDIR)/python/*.py)
 ifeq ($(PLATFORM),win32)
@@ -37,6 +38,7 @@ endif
 # used in the main Makefile
 ALLHDRS      += $(patsubst $(MODDIRI)/Cintex/%.h,include/Cintex/%.h,$(CINTEXH))
 ALLLIBS      += $(CINTEXLIB)
+ALLMAPS      += $(CINTEXMAP)
 
 # include all dependency files
 INCLUDEFILES += $(CINTEXDEP)
@@ -51,10 +53,10 @@ else
 REFLEXLL = -Llib -lReflex
 CINTEXLL = -Llib -lCintex
 SHEXT    = .sh
-ifneq ($(PLATFORM),fbsd) 
+ifneq ($(PLATFORM),fbsd)
 ifneq ($(PLATFORM),obsd)
-REFLEXLL   += -ldl 
-endif 
+REFLEXLL   += -ldl
+endif
 endif
 ifeq ($(PLATFORM),macosx)
 DICTEXT  = so
@@ -63,7 +65,7 @@ DICTEXT  = $(SOEXT)
 endif
 endif
 
-GENREFLEX_CMD2 = python ../../../lib/python/genreflex/genreflex.py 
+GENREFLEX_CMD2 = python ../../../lib/python/genreflex/genreflex.py
 
 CINTEXTESTD    = $(CINTEXDIR)/test
 CINTEXTESTDICTD = $(CINTEXTESTD)/dict
@@ -88,13 +90,11 @@ $(CINTEXLIB):   $(CINTEXO) $(CINTEXPY) $(CINTEXPYC) $(CINTEXPYO) \
 		"$(SOFLAGS)" libCintex.$(SOEXT) $@ "$(CINTEXO)" \
 		"$(CINTEXLIBEXTRA)"
 
-all-cintex:     $(CINTEXLIB)
-
-map-cintex:     $(RLIBMAP)
-		$(RLIBMAP) -r $(ROOTMAP) -l $(CINTEXLIB) \
-		-d $(CINTEXLIBDEP) -c $(CINTEXL)
+$(CINTEXMAP):   $(RLIBMAP) $(MAKEFILEDEP) $(CINTEXL)
+		$(RLIBMAP) -o $(CINTEXMAP) -l $(CINTEXLIB) \
+		   -d $(CINTEXLIBDEPM) -c $(CINTEXL)
 
-map::           map-cintex
+all-cintex:     $(CINTEXLIB) $(CINTEXMAP)
 
 clean-cintex: clean-check-cintex
 		@rm -f $(CINTEXO)
@@ -105,7 +105,7 @@ clean-check-cintex:
 clean::         clean-cintex
 
 distclean-cintex: clean-cintex
-		@rm -f $(CINTEXDEP) $(CINTEXLIB) $(CINTEXPY) $(CINTEXPYC) $(CINTEXPYO)
+		@rm -f $(CINTEXDEP) $(CINTEXLIB) $(CINTEXMAP) $(CINTEXPY) $(CINTEXPYC) $(CINTEXPYO)
 		@rm -rf include/Cintex
 
 distclean::     distclean-cintex
@@ -113,7 +113,7 @@ distclean::     distclean-cintex
 
 #### test suite ####
 
-check-cintex: $(REFLEXLIB) $(CINTEXLIB) $(CINTEXTESTDICT) 
+check-cintex: $(REFLEXLIB) $(CINTEXLIB) $(CINTEXTESTDICT)
 		@echo "Running all Cintex tests"
 		@cintex/test/test_all$(SHEXT)  $(PYTHONINCDIR)
 
diff --git a/clarens/Module.mk b/clarens/Module.mk
index 3b8873d89e0ae56338abfde7fa3c593508d6e081..f5e29329c1d31c99ea2b29a0b93884c7f717c4d4 100644
--- a/clarens/Module.mk
+++ b/clarens/Module.mk
@@ -24,10 +24,12 @@ CLARENSO     := $(CLARENSS:.cxx=.o)
 CLARENSDEP   := $(CLARENSO:.o=.d) $(CLARENSDO:.o=.d)
 
 CLARENSLIB   := $(LPATH)/libClarens.$(SOEXT)
+CLARENSMAP   := $(CLARENSLIB:.$(SOEXT)=.rootmap)
 
 # used in the main Makefile
 ALLHDRS     += $(patsubst $(MODDIRI)/%.h,include/%.h,$(CLARENSH))
 ALLLIBS     += $(CLARENSLIB)
+ALLMAPS     += $(CLARENSMAP)
 
 # include all dependency files
 INCLUDEFILES += $(CLARENSDEP)
@@ -46,13 +48,11 @@ $(CLARENSDS):   $(CLARENSH) $(CLARENSL) $(ROOTCINTTMPEXE)
 		@echo "Generating dictionary $@..."
 		$(ROOTCINTTMP) -f $@ -c $(CLARENSH) $(CLARENSL)
 
-all-clarens:    $(CLARENSLIB)
+$(CLARENSMAP):  $(RLIBMAP) $(MAKEFILEDEP) $(CLARENSL)
+		$(RLIBMAP) -o $(CLARENSMAP) -l $(CLARENSLIB) \
+		   -d $(CLARENSLIBDEPM) -c $(CLARENSL)
 
-map-clarens:    $(RLIBMAP)
-		$(RLIBMAP) -r $(ROOTMAP) -l $(CLARENSLIB) \
-		   -d $(CLARENSLIBDEP) -c $(CLARENSL)
-
-map::           map-clarens
+all-clarens:    $(CLARENSLIB) $(CLARENSMAP)
 
 clean-clarens:
 		@rm -f $(CLARENSO) $(CLARENSDO)
@@ -60,7 +60,7 @@ clean-clarens:
 clean::         clean-clarens
 
 distclean-clarens: clean-clarens
-		@rm -f $(CLARENSDEP) $(CLARENSDS) $(CLARENSDH) $(CLARENSLIB)
+		@rm -f $(CLARENSDEP) $(CLARENSDS) $(CLARENSDH) $(CLARENSLIB) $(CLARENSMAP)
 
 distclean::     distclean-clarens
 
diff --git a/config/Makefile.depend b/config/Makefile.depend
index af62b40c20e7da11aca728dbd96c859072c30c12..fc59c541183b6eeec635dc6c756429b3e997ab72 100644
--- a/config/Makefile.depend
+++ b/config/Makefile.depend
@@ -2,333 +2,332 @@
 #
 # Makefile containing library dependencies
 
+NETLIBDEPM             = $(IOLIB)
+HISTLIBDEPM            = $(MATRIXLIB)
+GRAFLIBDEPM            = $(HISTLIB) $(MATRIXLIB) $(IOLIB)
+GPADLIBDEPM            = $(GRAFLIB) $(HISTLIB)
+G3DLIBDEPM             = $(GRAFLIB) $(HISTLIB) $(GPADLIB)
+WIN32GDKLIBDEPM        = $(GPADLIB) $(GRAFLIB)
+ASIMAGELIBDEPM         = $(GRAFLIB) $(HISTLIB) $(GPADLIB)
+ASIMAGEGUILIBDEPM      = $(GRAFLIB) $(HISTLIB) $(GUILIB) $(ASIMAGELIB) $(IOLIB)
+ASIMAGEGSLIBDEPM       = $(GRAFLIB) $(ASIMAGELIB)
+GEDLIBDEPM             = $(HISTLIB) $(GPADLIB) $(GRAFLIB) $(GUILIB) $(TREELIB) \
+                         $(TREEPLAYERLIB)
+POSTSCRIPTLIBDEPM      = $(GRAFLIB)
+GUILIBDEPM             = $(GPADLIB) $(GRAFLIB) $(IOLIB)
+HISTPAINTERLIBDEPM     = $(GRAFLIB) $(HISTLIB) $(MATRIXLIB) $(GPADLIB)
+SPECTRUMPAINTERLIBDEPM = $(GRAFLIB) $(HISTLIB)
+HTMLLIBDEPM            = $(GRAFLIB)
+MINUITLIBDEPM          = $(GRAFLIB) $(HISTLIB) $(MATRIXLIB)
+MINUIT2LIBDEPM         = $(GRAFLIB) $(HISTLIB) $(MATRIXLIB)
+FUMILILIBDEPM          = $(GRAFLIB) $(HISTLIB)
+TREELIBDEPM            = $(NETLIB) $(IOLIB)
+TREEPLAYERLIBDEPM      = $(TREELIB) $(G3DLIB) $(GRAFLIB) $(HISTLIB) $(GPADLIB) \
+                         $(IOLIB)
+TREEVIEWERLIBDEPM      = $(TREELIB) $(GPADLIB) $(GRAFLIB) $(HISTLIB) $(GUILIB)
+PROOFLIBDEPM           = $(NETLIB) $(TREELIB) $(THREADLIB) $(IOLIB)
+PROOFPLAYERLIBDEPM     = $(PROOFLIB) $(NETLIB) $(TREELIB) $(G3DLIB) $(GRAFLIB) \
+                         $(HISTLIB) $(GPADLIB) $(TREEPLAYERLIB) $(THREADLIB) \
+                         $(IOLIB)
+PROOFXLIBDEPM          = $(NETLIB) $(PROOFLIB) $(THREADLIB)
+SESSIONVIEWERLIBDEPM   = $(PROOFLIB) $(GUILIB) $(GPADLIB) $(GRAFLIB) $(TREELIB)
+PEACLIBDEPM            = $(PROOFLIB) $(CLARENSLIB)
+PEACGUILIBDEPM         = $(GUILIB)
+EGLIBDEPM              = $(G3DLIB) $(GRAFLIB) $(GPADLIB)
+VMCLIBDEPM             = $(EGLIB) $(GEOMLIB)
+PHYSICSLIBDEPM         = $(MATRIXLIB)
+PYTHIA6LIBDEPM         = $(EGLIB) $(GRAFLIB) $(VMCLIB) $(PHYSICSLIB)
+TABLELIBDEPM           = $(TREELIB) $(GPADLIB) $(G3DLIB) $(GRAFLIB) $(HISTLIB) \
+                         $(IOLIB)
+MLPLIBDEPM             = $(HISTLIB) $(MATRIXLIB) $(TREELIB) $(GRAFLIB) \
+                         $(GPADLIB) $(TREEPLAYERLIB)
+SPECTRUMLIBDEPM        = $(HISTLIB) $(MATRIXLIB)
+TMVALIBDEPM            = $(IOLIB) $(HISTLIB) $(MATRIXLIB) $(TREELIB) $(GRAFLIB) \
+                         $(GPADLIB) $(TREEPLAYERLIB) $(MLPLIB)
+SPLOTLIBDEPM           = $(MATRIXLIB) $(HISTLIB) $(TREELIB) $(TREEPLAYERLIB) \
+                         $(G3DLIB) $(GRAFLIB)
+QUADPLIBDEPM           = $(MATRIXLIB)
+GLLIBDEPM              = $(G3DLIB) $(GUILIB) $(GRAFLIB) $(HISTLIB) $(GEDLIB)
+HBOOKLIBDEPM           = $(HISTLIB) $(MATRIXLIB) $(TREELIB) $(GRAFLIB) \
+                         $(TREEPLAYERLIB) $(IOLIB)
+GEOMLIBDEPM            = $(IOLIB)
+GEOMPAINTERLIBDEPM     = $(GEOMLIB) $(TREELIB) $(G3DLIB) $(HISTLIB) $(GPADLIB)
+GEOMBUILDERLIBDEPM     = $(GEOMLIB) $(G3DLIB) $(GPADLIB) $(GRAFLIB) $(GUILIB) \
+		         $(GEDLIB)
+QTROOTLIBDEPM          = $(GUILIB) $(GQTLIB)
+GQTLIBDEPM             = $(GPADLIB) $(GRAFLIB) $(RINTLIB)
+RUBYLIBDEPM            = $(HISTLIB)
+GUIBLDLIBDEPM          = $(GUILIB) $(GRAFLIB)
+XMLLIBDEPM             = $(IOLIB)
+FOAMLIBDEPM            = $(HISTLIB)
+ALIENLIBDEPM           = $(XMLLIB) $(NETXLIB) $(TREELIB) $(PROOFLIB)
+ROOFITLIBDEPM          = $(HISTLIB) $(GRAFLIB) $(MATRIXLIB) $(TREELIB) \
+                         $(MINUITLIB) $(HTMLLIB) $(IOLIB)
+CINT7LIBDEPM           = $(REFLEXLIB)
+CINTEXLIBDEPM          = $(REFLEXLIB)
+RAUTHLIBDEPM           = $(NETLIB) $(IOLIB)
+KRB5AUTHLIBDEPM        = $(RAUTHLIB) $(NETLIB)
+SRVAUTHLIBDEPM         = $(NETLIB)
+QTGSILIBDEPM           = $(GUILIB) $(GPADLIB)
+FITPANELLIBDEPM        = $(GUILIB) $(GPADLIB) $(HISTLIB) $(GRAFLIB) $(TREELIB)
+RFIOLIBDEPM            = $(IOLIB)
+SQLLIBDEPM             = $(NETLIB) $(IOLIB)
+ODBCLIBDEPM            = $(NETLIB) $(IOLIB)
+NETXLIBDEPM            = $(NETLIB) $(IOLIB)
+ORACLELIBDEPM          = $(NETLIB) $(IOLIB)
+CASTORLIBDEPM          = $(NETLIB) $(IOLIB)
+PGSQLLIBDEPM           = $(NETLIB) $(IOLIB)
+MYSQLLIBDEPM           = $(NETLIB) $(IOLIB)
+GDMLLIBDEPM            = $(GEOMLIB) $(XMLLIB) $(HISTLIB) $(IOLIB)
+UNURANLIBDEPM          = $(HISTLIB)
+WIN32GDKLIBDEPM        = $(GPADLIB) $(GRAFLIB)
+X11TTFLIBDEPM          = $(X11LIB) $(GRAFLIB)
+X3DLIBDEPM             = $(G3DLIB) $(GUILIB)
+
+
+ifeq ($(EXPLICITLINK),yes)
+
+NETLIBDEP              = NETLIBDEPM
+HISTLIBDEP             = HISTLIBDEPM
+GRAFLIBDEP             = GRAFLIBDEPM
+GPADLIBDEP             = GPADLIBDEPM
+G3DLIBDEP              = G3DLIBDEPM
+WIN32GDKLIBDEP         = WIN32GDKLIBDEPM
+ASIMAGELIBDEP          = ASIMAGELIBDEPM
+ASIMAGEGUILIBDEP       = ASIMAGEGUILIBDEPM
+ASIMAGEGSLIBDEP        = ASIMAGEGSLIBDEPM
+GEDLIBDEP              = GEDLIBDEPM
+POSTSCRIPTLIBDEP       = POSTSCRIPTLIBDEPM
+GUILIBDEP              = GUILIBDEPM
+HISTPAINTERLIBDEP      = HISTPAINTERLIBDEPM
+SPECTRUMPAINTERLIBDEP  = SPECTRUMPAINTERLIBDEPM
+HTMLLIBDEP             = HTMLLIBDEPM
+MINUITLIBDEP           = MINUITLIBDEPM
+MINUIT2LIBDEP          = MINUIT2LIBDEPM
+FUMILILIBDEP           = FUMILILIBDEPM
+TREELIBDEP             = TREELIBDEPM
+TREEPLAYERLIBDEP       = TREEPLAYERLIBDEPM
+TREEVIEWERLIBDEP       = TREEVIEWERLIBDEPM
+PROOFLIBDEP            = PROOFLIBDEPM
+PROOFPLAYERLIBDEP      = PROOFPLAYERLIBDEPM
+PROOFXLIBDEP           = PROOFXLIBDEPM
+SESSIONVIEWERLIBDEP    = SESSIONVIEWERLIBDEPM
+PEACLIBDEP             = PEACLIBDEPM
+PEACGUILIBDEP          = PEACGUILIBDEPM
+EGLIBDEP               = EGLIBDEPM
+VMCLIBDEP              = VMCLIBDEPM
+PHYSICSLIBDEP          = PHYSICSLIBDEPM
+PYTHIA6LIBDEP          = PYTHIA6LIBDEPM
+TABLELIBDEP            = TABLELIBDEPM
+MLPLIBDEP              = MLPLIBDEPM
+SPECTRUMLIBDEP         = SPECTRUMLIBDEPM
+TMVALIBDEP             = TMVALIBDEPM
+SPLOTLIBDEP            = SPLOTLIBDEPM
+QUADPLIBDEP            = QUADPLIBDEPM
+GLLIBDEP               = GLLIBDEPM
+HBOOKLIBDEP            = HBOOKLIBDEPM
+GEOMLIBDEP             = GEOMLIBDEPM
+GEOMPAINTERLIBDEP      = GEOMPAINTERLIBDEPM
+GEOMBUILDERLIBDEP      = GEOMBUILDERLIBDEPM
+QTROOTLIBDEP           = QTROOTLIBDEPM
+GQTLIBDEP              = GQTLIBDEPM
+RUBYLIBDEP             = RUBYLIBDEPM
+GUIBLDLIBDEP           = GUIBLDLIBDEPM
+XMLLIBDEP              = XMLLIBDEPM
+FOAMLIBDEP             = FOAMLIBDEPM
+ALIENLIBDEP            = ALIENLIBDEPM
+ROOFITLIBDEP           = ROOFITLIBDEPM
+CINT7LIBDEP            = CINT7LIBDEPM
+CINTEXLIBDEP           = CINTEXLIBDEPM
+RAUTHLIBDEP            = RAUTHLIBDEPM
+KRB5AUTHLIBDEP         = KRB5AUTHLIBDEPM
+SRVAUTHLIBDEP          = SRVAUTHLIBDEPM
+QTGSILIBDEP            = QTGSILIBDEPM
+FITPANELLIBDEP         = FITPANELLIBDEPM
+RFIOLIBDEP             = RFIOLIBDEPM
+SQLLIBDEP              = SQLLIBDEPM
+ODBCLIBDEP             = ODBCLIBDEPM
+NETXLIBDEP             = NETXLIBDEPM
+ORACLELIBDEP           = ORACLELIBDEPM
+CASTORLIBDEP           = CASTORLIBDEPM
+PGSQLLIBDEP            = PGSQLLIBDEPM
+MYSQLLIBDEP            = MYSQLLIBDEPM
+GDMLLIBDEP             = GDMLLIBDEPM
+UNURANLIBDEP           = UNURANLIBDEPM
+WIN32GDKLIBDEP         = WIN32GDKLIBDEPM
+X11TTFLIBDEP           = X11TTFLIBDEPM
+X3DLIBDEP              = X3DLIBDEPM
+
 ifeq ($(PLATFORM),win32)
 
-NETLIBDEP           = $(IOLIB)
-NETLIBEXTRA         = lib/libRIO.lib
-HISTLIBDEP          = $(MATRIXLIB)
-HISTLIBEXTRA        = lib/libMatrix.lib
-GRAFLIBDEP          = $(HISTLIB) $(MATRIXLIB) $(IOLIB)
-GRAFLIBEXTRA        = lib/libHist.lib lib/libMatrix.lib lib/libRIO.lib
-GPADLIBDEP          = $(GRAFLIB) $(HISTLIB)
-GPADLIBEXTRA        = lib/libGraf.lib lib/libHist.lib
-G3DLIBDEP           = $(GRAFLIB) $(HISTLIB) $(GPADLIB)
-G3DLIBEXTRA         = lib/libGraf.lib lib/libHist.lib lib/libGpad.lib
-WIN32GDKLIBDEP      = $(GPADLIB) $(GRAFLIB)
-WIN32GDKLIBEXTRA    = lib/libGpad.lib lib/libGraf.lib
-ASIMAGELIBDEP       = $(GRAFLIB) $(HISTLIB) $(GPADLIB)
-ASIMAGELIBEXTRA     = lib/libGraf.lib lib/libHist.lib lib/libGpad.lib
-ASIMAGEGUILIBDEP    = $(GRAFLIB) $(HISTLIB) $(GUILIB) $(ASIMAGELIB) $(IOLIB)
-ASIMAGEGUILIBEXTRA  = lib/libGraf.lib lib/libHist.lib lib/libGui.lib \
-                      lib/libASImage.lib lib/libRIO.lib
-ASIMAGEGSLIBDEP     = $(GRAFLIB) $(ASIMAGELIB)
-ASIMAGEGSLIBEXTRA   = lib/libGraf.lib lib/libASImage.lib
-GEDLIBDEP           = $(HISTLIB) $(GPADLIB) $(GRAFLIB) $(GUILIB) $(TREELIB) \
-                      $(TREEPLAYERLIB)
-GEDLIBEXTRA         = lib/libHist.lib lib/libGpad.lib lib/libGraf.lib \
-                      lib/libTree.lib lib/libTreePlayer.lib lib/libGui.lib
-POSTSCRIPTLIBDEP    = $(GRAFLIB)
-POSTSCRIPTLIBEXTRA  = lib/libGraf.lib
-GUILIBDEP           = $(GPADLIB) $(GRAFLIB) $(IOLIB)
-GUILIBEXTRA         = lib/libGpad.lib lib/libGraf.lib lib/libRIO.lib
-HISTPAINTERLIBDEP   = $(GRAFLIB) $(HISTLIB) $(MATRIXLIB) $(GPADLIB)
-HISTPAINTERLIBEXTRA = lib/libGraf.lib lib/libHist.lib lib/libMatrix.lib \
-                      lib/libGpad.lib
-SPECTRUMPAINTERLIBDEP   = $(GRAFLIB) $(HISTLIB)
+NETLIBEXTRA             = lib/libRIO.lib
+HISTLIBEXTRA            = lib/libMatrix.lib
+GRAFLIBEXTRA            = lib/libHist.lib lib/libMatrix.lib lib/libRIO.lib
+GPADLIBEXTRA            = lib/libGraf.lib lib/libHist.lib
+G3DLIBEXTRA             = lib/libGraf.lib lib/libHist.lib lib/libGpad.lib
+WIN32GDKLIBEXTRA        = lib/libGpad.lib lib/libGraf.lib
+ASIMAGELIBEXTRA         = lib/libGraf.lib lib/libHist.lib lib/libGpad.lib
+ASIMAGEGUILIBEXTRA      = lib/libGraf.lib lib/libHist.lib lib/libGui.lib \
+                          lib/libASImage.lib lib/libRIO.lib
+ASIMAGEGSLIBEXTRA       = lib/libGraf.lib lib/libASImage.lib
+GEDLIBEXTRA             = lib/libHist.lib lib/libGpad.lib lib/libGraf.lib \
+                          lib/libTree.lib lib/libTreePlayer.lib lib/libGui.lib
+POSTSCRIPTLIBEXTRA      = lib/libGraf.lib
+GUILIBEXTRA             = lib/libGpad.lib lib/libGraf.lib lib/libRIO.lib
+HISTPAINTERLIBEXTRA     = lib/libGraf.lib lib/libHist.lib lib/libMatrix.lib \
+                          lib/libGpad.lib
 SPECTRUMPAINTERLIBEXTRA = lib/libGraf.lib lib/libHist.lib
-HTMLLIBDEP          = $(GRAFLIB)
-HTMLLIBEXTRA        = lib/libGraf.lib
-MINUITLIBDEP        = $(GRAFLIB) $(HISTLIB) $(MATRIXLIB)
-MINUITLIBEXTRA      = lib/libGraf.lib lib/libHist.lib lib/libMatrix.lib
-MINUIT2LIBDEP       = $(GRAFLIB) $(HISTLIB) $(MATRIXLIB)
-MINUIT2LIBEXTRA     = lib/libGraf.lib lib/libHist.lib lib/libMatrix.lib
-FUMILILIBDEP        = $(GRAFLIB) $(HISTLIB)
-FUMILILIBEXTRA      = lib/libGraf.lib lib/libHist.lib
-TREELIBDEP          = $(NETLIB) $(IOLIB)
-TREELIBEXTRA        = lib/libNet.lib lib/libRIO.lib
-TREEPLAYERLIBDEP    = $(TREELIB) $(G3DLIB) $(GRAFLIB) $(HISTLIB) $(GPADLIB) \
-                      $(IOLIB)
-TREEPLAYERLIBEXTRA  = lib/libTree.lib lib/libGraf3d.lib lib/libGpad.lib \
-                      lib/libGraf.lib lib/libHist.lib lib/libRIO.lib
-TREEVIEWERLIBDEP    = $(TREELIB) $(GPADLIB) $(GRAFLIB) $(HISTLIB) $(GUILIB)
-TREEVIEWERLIBEXTRA  = lib/libTree.lib lib/libGpad.lib lib/libGraf.lib \
-                      lib/libHist.lib lib/libGui.lib
-PROOFLIBDEP         = $(NETLIB) $(TREELIB) $(THREADLIB) $(IOLIB)
-PROOFLIBEXTRA       = lib/libNet.lib lib/libTree.lib lib/libRIO.lib \
-                      lib/libThread.lib
-PROOFPLAYERLIBDEP   = $(PROOFLIB) $(NETLIB) $(TREELIB) $(G3DLIB) $(GRAFLIB) \
-                      $(HISTLIB) $(GPADLIB) $(TREEPLAYERLIB) $(THREADLIB) \
-                      $(IOLIB)
-PROOFPLAYERLIBEXTRA = lib/libProof.lib lib/libNet.lib lib/libTree.lib \
-                      lib/libGraf3d.lib lib/libGraf.lib lib/libGpad.lib \
-                      lib/libRIO.lib lib/libHist.lib lib/libTreePlayer.lib \
-                      lib/libThread.lib
-PROOFXLIBDEP        = $(NETLIB) $(PROOFLIB) $(THREADLIB)
-PROOFXLIBEXTRA      = lib/libNet.lib lib/libProof.lib lib/libThread.lib
-SESSIONVIEWERLIBDEP   = $(PROOFLIB) $(GUILIB) $(GPADLIB) $(GRAFLIB) $(TREELIB)
-SESSIONVIEWERLIBEXTRA = lib/libProof.lib lib/libGui.lib lib/libGpad.lib \
-                        lib/libGraf.lib lib/libTree.lib
-PEACLIBDEP          = $(PROOFLIB) $(CLARENSLIB)
-PEACLIBEXTRA        = lib/libProof.lib lib/libClarens.lib
-PEACGUILIBDEP       = $(GUILIB)
-PEACGUILIBEXTRA     = lib/libGui.lib
-EGLIBDEP            = $(G3DLIB) $(GRAFLIB) $(GPADLIB)
-EGLIBEXTRA          = lib/libGraf3d.lib lib/libGraf.lib lib/libGpad.lib
-VMCLIBDEP           = $(EGLIB) $(GEOMLIB)
-VMCLIBEXTRA         = lib/libEG.lib lib/libGeom.lib
-PHYSICSLIBDEP       = $(MATRIXLIB)
-PHYSICSLIBEXTRA     = lib/libMatrix.lib
-PYTHIA6LIBDEP       = $(EGLIB) $(GRAFLIB) $(VMCLIB) $(PHYSICSLIB)
-PYTHIA6LIBEXTRA     = lib/libEG.lib lib/libGraf.lib lib/libVMC.lib \
-                      lib/libPhysics.lib
-TABLELIBDEP         = $(TREELIB) $(GPADLIB) $(G3DLIB) $(GRAFLIB) $(HISTLIB) \
-                      $(IOLIB)
-TABLELIBEXTRA       = lib/libTree.lib lib/libGpad.lib lib/libRIO.lib \
-                      lib/libGraf3d.lib lib/libGraf.lib lib/libHist.lib
-MLPLIBDEP           = $(HISTLIB) $(MATRIXLIB) $(TREELIB) $(GRAFLIB) \
-                      $(GPADLIB) $(TREEPLAYERLIB)
-MLPLIBEXTRA         = lib/libHist.lib lib/libMatrix.lib lib/libTree.lib \
-                      lib/libGraf.lib lib/libGpad.lib lib/libTreePlayer.lib
-SPECTRUMLIBDEP      = $(HISTLIB) $(MATRIXLIB)
-SPECTRUMLIBEXTRA    = lib/libHist.lib lib/libMatrix.lib
-TMVALIBDEP          = $(IOLIB) $(HISTLIB) $(MATRIXLIB) $(TREELIB) $(GRAFLIB) \
-                      $(GPADLIB) $(TREEPLAYERLIB) $(MLPLIB)
-TMVALIBEXTRA        = lib/libRIO.lib lib/libHist.lib lib/libMatrix.lib \
-                      lib/libTree.lib lib/libGraf.lib lib/libGpad.lib \
-                      lib/libTreePlayer.lib lib/libMLP.lib
-SPLOTLIBDEP         = $(MATRIXLIB) $(HISTLIB) $(TREELIB) $(TREEPLAYERLIB) \
-                      $(G3DLIB) $(GRAFLIB)
-SPLOTLIBEXTRA       = lib/libMatrix.lib lib/libHist.lib lib/libTree.lib \
-                      lib/libTreePlayer.lib lib/libGraf3d.lib lib/libGraf.lib
-QUADPLIBDEP         = $(MATRIXLIB)
-QUADPLIBEXTRA       = lib/libMatrix.lib
-GLLIBDEP            = $(G3DLIB) $(GUILIB) $(GRAFLIB) $(HISTLIB) $(GEDLIB)
-GLLIBEXTRA          = lib/libGraf3d.lib lib/libGui.lib lib/libGraf.lib \
-                      lib/libHist.lib lib/libGed.lib
-HBOOKLIBDEP         = $(HISTLIB) $(MATRIXLIB) $(TREELIB) $(GRAFLIB) \
-                      $(TREEPLAYERLIB) $(IOLIB)
-HBOOKLIBEXTRA       = lib/libHist.lib lib/libMatrix.lib lib/libTree.lib \
-                      lib/libGraf.lib lib/libTreePlayer.lib lib/libRIO.lib
-GEOMLIBDEP          = $(IOLIB)
-GEOMLIBEXTRA        = lib/libRIO.lib
-GEOMPAINTERLIBDEP   = $(GEOMLIB) $(TREELIB) $(G3DLIB) $(HISTLIB) $(GPADLIB)
-GEOMPAINTERLIBEXTRA = lib/libGeom.lib lib/libTree.lib lib/libGraf3d.lib \
-                      lib/libHist.lib lib/libGpad.lib
-GEOMBUILDERLIBDEP   = $(GEOMLIB) $(G3DLIB) $(GPADLIB) $(GRAFLIB) $(GUILIB) \
-		      $(GEDLIB)
-GEOMBUILDERLIBEXTRA = lib/libGeom.lib  lib/libGraf3d.lib lib/libGpad.lib \
-                      lib/libGraf.lib lib/libGui.lib lib/libGed.lib
-QTROOTLIBDEP        = $(GUILIB) $(GQTLIB)
-QTROOTLIBEXTRA      = lib/libGui.lib lib/libGQt.lib
-GQTLIBDEP           = $(GPADLIB) $(GRAFLIB) $(RINTLIB)
-GQTLIBEXTRA         = lib/libGpad.lib lib/libGraf.lib lib/libRint.lib
-RUBYLIBDEP          = $(HISTLIB)
-RUBYLIBEXTRA        = lib/libHist.lib
-GUIBLDLIBDEP        = $(GUILIB) $(GRAFLIB)
-GUIBLDLIBEXTRA      = lib/libGui.lib lib/libGraf.lib
-XMLLIBDEP           = $(IOLIB)
-XMLLIBEXTRA         = lib/libRIO.lib
-FOAMLIBDEP          = $(HISTLIB)
-FOAMLIBEXTRA        = lib/libHist.lib
-ALIENLIBDEP         = $(XMLLIB) $(NETXLIB) $(TREELIB) $(PROOFLIB)
-ALIENLIBEXTRA       = lib/libXMLIO.lib lib/libNetx.lib lib/libTree.lib \
-                      lib/libProof.lib
-ROOFITLIBDEP        = $(HISTLIB) $(GRAFLIB) $(MATRIXLIB) $(TREELIB) \
-                      $(MINUITLIB) $(HTMLLIB) $(IOLIB)
-ROOFITLIBEXTRA      = lib/libHist.lib lib/libGraf.lib lib/libMatrix.lib \
-                      lib/libTree.lib lib/libMinuit.lib lib/libHtml.lib \
-                      lib/libRIO.lib
-CINT7LIBDEP         = $(REFLEXLIB)
-CINT7LIBEXTRA       = lib/libReflex.lib
-CINTEXLIBDEP        = $(REFLEXLIB)
-CINTEXLIBEXTRA      = lib/libReflex.lib
-RAUTHLIBDEP         = $(NETLIB) $(IOLIB)
-RAUTHLIBEXTRA       = lib/libNet.lib lib/libRIO.lib
-KRB5AUTHLIBDEP      = $(RAUTHLIB) $(NETLIB)
-KRB5AUTHLIBEXTRA    = lib/libRootAuth.lib lib/libNet.lib
-SRVAUTHLIBDEP       = $(NETLIB)
-SRVAUTHLIBEXTRA     = lib/libNet.lib
-QTGSILIBDEP         = $(GUILIB) $(GPADLIB)
-QTGSILIBEXTRA       = lib/libGui.lib lib/libGpad.lib
-FITPANELLIBDEP      = $(GUILIB) $(GPADLIB) $(HISTLIB) $(GRAFLIB) $(TREELIB)
-FITPANELLIBEXTRA    = lib/libGui.lib lib/libGpad.lib lib/libHist.lib \
-                      lib/libGraf.lib lib/libTree.lib
-RFIOLIBDEP          = $(IOLIB)
-RFIOLIBEXTRA        = lib/libRIO.lib
-SQLLIBDEP           = $(NETLIB) $(IOLIB)
-SQLLIBEXTRA         = lib/libNet.lib lib/libRIO.lib
-ODBCLIBDEP          = $(NETLIB) $(IOLIB)
-ODBCLIBEXTRA        = lib/libNet.lib lib/libRIO.lib
-NETXLIBDEP          = $(NETLIB) $(IOLIB)
-NETXLIBEXTRA        = lib/libNet.lib lib/libRIO.lib
-ORACLELIBDEP        = $(NETLIB) $(IOLIB)
-ORACLELIBEXTRA      = lib/libNet.lib lib/libRIO.lib
-CASTORLIBDEP        = $(NETLIB) $(IOLIB)
-CASTORLIBEXTRA      = lib/libNet.lib lib/libRIO.lib
-PGSQLLIBDEP         = $(NETLIB) $(IOLIB)
-PGSQLLIBEXTRA       = lib/libNet.lib lib/libRIO.lib
-MYSQLLIBDEP         = $(NETLIB) $(IOLIB)
-MYSQLLIBEXTRA       = lib/libNet.lib lib/libRIO.lib
-GDMLLIBDEP          = $(GEOMLIB) $(XMLLIB) $(HISTLIB) $(IOLIB)
-GDMLLIBEXTRA        = lib/libGeom.lib lib/libXMLIO.lib lib/libHist.lib \
-                      lib/libRIO.lib
-UNURANLIBDEP        = $(HISTLIB)
-UNURANLIBEXTRA      = lib/libHist.lib
-
+HTMLLIBEXTRA            = lib/libGraf.lib
+MINUITLIBEXTRA          = lib/libGraf.lib lib/libHist.lib lib/libMatrix.lib
+MINUIT2LIBEXTRA         = lib/libGraf.lib lib/libHist.lib lib/libMatrix.lib
+FUMILILIBEXTRA          = lib/libGraf.lib lib/libHist.lib
+TREELIBEXTRA            = lib/libNet.lib lib/libRIO.lib
+TREEPLAYERLIBEXTRA      = lib/libTree.lib lib/libGraf3d.lib lib/libGpad.lib \
+                          lib/libGraf.lib lib/libHist.lib lib/libRIO.lib
+TREEVIEWERLIBEXTRA      = lib/libTree.lib lib/libGpad.lib lib/libGraf.lib \
+                          lib/libHist.lib lib/libGui.lib
+PROOFLIBEXTRA           = lib/libNet.lib lib/libTree.lib lib/libRIO.lib \
+                          lib/libThread.lib
+PROOFPLAYERLIBEXTRA     = lib/libProof.lib lib/libNet.lib lib/libTree.lib \
+                          lib/libGraf3d.lib lib/libGraf.lib lib/libGpad.lib \
+                          lib/libRIO.lib lib/libHist.lib lib/libTreePlayer.lib \
+                          lib/libThread.lib
+PROOFXLIBEXTRA          = lib/libNet.lib lib/libProof.lib lib/libThread.lib
+SESSIONVIEWERLIBEXTRA   = lib/libProof.lib lib/libGui.lib lib/libGpad.lib \
+                          lib/libGraf.lib lib/libTree.lib
+PEACLIBEXTRA            = lib/libProof.lib lib/libClarens.lib
+PEACGUILIBEXTRA         = lib/libGui.lib
+EGLIBEXTRA              = lib/libGraf3d.lib lib/libGraf.lib lib/libGpad.lib
+VMCLIBEXTRA             = lib/libEG.lib lib/libGeom.lib
+PHYSICSLIBEXTRA         = lib/libMatrix.lib
+PYTHIA6LIBEXTRA         = lib/libEG.lib lib/libGraf.lib lib/libVMC.lib \
+                          lib/libPhysics.lib
+TABLELIBEXTRA           = lib/libTree.lib lib/libGpad.lib lib/libRIO.lib \
+                          lib/libGraf3d.lib lib/libGraf.lib lib/libHist.lib
+MLPLIBEXTRA             = lib/libHist.lib lib/libMatrix.lib lib/libTree.lib \
+                          lib/libGraf.lib lib/libGpad.lib lib/libTreePlayer.lib
+SPECTRUMLIBEXTRA        = lib/libHist.lib lib/libMatrix.lib
+TMVALIBEXTRA            = lib/libRIO.lib lib/libHist.lib lib/libMatrix.lib \
+                          lib/libTree.lib lib/libGraf.lib lib/libGpad.lib \
+                          lib/libTreePlayer.lib lib/libMLP.lib
+SPLOTLIBEXTRA           = lib/libMatrix.lib lib/libHist.lib lib/libTree.lib \
+                          lib/libTreePlayer.lib lib/libGraf3d.lib lib/libGraf.lib
+QUADPLIBEXTRA           = lib/libMatrix.lib
+GLLIBEXTRA              = lib/libGraf3d.lib lib/libGui.lib lib/libGraf.lib \
+                          lib/libHist.lib lib/libGed.lib
+HBOOKLIBEXTRA           = lib/libHist.lib lib/libMatrix.lib lib/libTree.lib \
+                          lib/libGraf.lib lib/libTreePlayer.lib lib/libRIO.lib
+GEOMLIBEXTRA            = lib/libRIO.lib
+GEOMPAINTERLIBEXTRA     = lib/libGeom.lib lib/libTree.lib lib/libGraf3d.lib \
+                          lib/libHist.lib lib/libGpad.lib
+GEOMBUILDERLIBEXTRA     = lib/libGeom.lib  lib/libGraf3d.lib lib/libGpad.lib \
+                          lib/libGraf.lib lib/libGui.lib lib/libGed.lib
+QTROOTLIBEXTRA          = lib/libGui.lib lib/libGQt.lib
+GQTLIBEXTRA             = lib/libGpad.lib lib/libGraf.lib lib/libRint.lib
+RUBYLIBEXTRA            = lib/libHist.lib
+GUIBLDLIBEXTRA          = lib/libGui.lib lib/libGraf.lib
+XMLLIBEXTRA             = lib/libRIO.lib
+FOAMLIBEXTRA            = lib/libHist.lib
+ALIENLIBEXTRA           = lib/libXMLIO.lib lib/libNetx.lib lib/libTree.lib \
+                          lib/libProof.lib
+ROOFITLIBEXTRA          = lib/libHist.lib lib/libGraf.lib lib/libMatrix.lib \
+                          lib/libTree.lib lib/libMinuit.lib lib/libHtml.lib \
+                          lib/libRIO.lib
+CINT7LIBEXTRA           = lib/libReflex.lib
+CINTEXLIBEXTRA          = lib/libReflex.lib
+RAUTHLIBEXTRA           = lib/libNet.lib lib/libRIO.lib
+KRB5AUTHLIBEXTRA        = lib/libRootAuth.lib lib/libNet.lib
+SRVAUTHLIBEXTRA         = lib/libNet.lib
+QTGSILIBEXTRA           = lib/libGui.lib lib/libGpad.lib
+FITPANELLIBEXTRA        = lib/libGui.lib lib/libGpad.lib lib/libHist.lib \
+                          lib/libGraf.lib lib/libTree.lib
+RFIOLIBEXTRA            = lib/libRIO.lib
+SQLLIBEXTRA             = lib/libNet.lib lib/libRIO.lib
+ODBCLIBEXTRA            = lib/libNet.lib lib/libRIO.lib
+NETXLIBEXTRA            = lib/libNet.lib lib/libRIO.lib
+ORACLELIBEXTRA          = lib/libNet.lib lib/libRIO.lib
+CASTORLIBEXTRA          = lib/libNet.lib lib/libRIO.lib
+PGSQLLIBEXTRA           = lib/libNet.lib lib/libRIO.lib
+MYSQLLIBEXTRA           = lib/libNet.lib lib/libRIO.lib
+GDMLLIBEXTRA            = lib/libGeom.lib lib/libXMLIO.lib lib/libHist.lib \
+                          lib/libRIO.lib
+UNURANLIBEXTRA          = lib/libHist.lib
 
 else
 
-NETLIBDEP           = $(IOLIB)
-NETLIBEXTRA         = -Llib -lRIO
-HISTLIBDEP          = $(MATRIXLIB)
-HISTLIBEXTRA        = -Llib -lMatrix
-GRAFLIBDEP          = $(HISTLIB) $(MATRIXLIB) $(IOLIB)
-GRAFLIBEXTRA        = -Llib -lHist -lMatrix -lRIO
-GPADLIBDEP          = $(GRAFLIB) $(HISTLIB)
-GPADLIBEXTRA        = -Llib -lGraf -lHist
-G3DLIBDEP           = $(GRAFLIB) $(HISTLIB) $(GPADLIB)
-G3DLIBEXTRA         = -Llib -lGraf -lHist -lGpad
-GEDLIBDEP           = $(HISTLIB) $(GPADLIB) $(GRAFLIB) $(GUILIB) $(TREELIB) \
-                      $(TREEPLAYERLIB)
-GEDLIBEXTRA         = -Llib -lHist -lGpad -lGraf -lGui -lTree -lTreePlayer
-POSTSCRIPTLIBDEP    = $(GRAFLIB)
-POSTSCRIPTLIBEXTRA  = -Llib -lGraf
-GUILIBDEP           = $(GPADLIB) $(GRAFLIB) $(IOLIB)
-GUILIBEXTRA         = -Llib -lGpad -lGraf -lRIO
-HISTPAINTERLIBDEP   = $(GRAFLIB) $(HISTLIB) $(MATRIXLIB) $(GPADLIB)
-HISTPAINTERLIBEXTRA = -Llib -lGraf -lHist -lMatrix -lGpad
-SPECTRUMPAINTERLIBDEP   = $(GRAFLIB) $(HISTLIB)
+NETLIBEXTRA             = -Llib -lRIO
+HISTLIBEXTRA            = -Llib -lMatrix
+GRAFLIBEXTRA            = -Llib -lHist -lMatrix -lRIO
+GPADLIBEXTRA            = -Llib -lGraf -lHist
+G3DLIBEXTRA             = -Llib -lGraf -lHist -lGpad
+GEDLIBEXTRA             = -Llib -lHist -lGpad -lGraf -lGui -lTree -lTreePlayer
+POSTSCRIPTLIBEXTRA      = -Llib -lGraf
+GUILIBEXTRA             = -Llib -lGpad -lGraf -lRIO
+HISTPAINTERLIBEXTRA     = -Llib -lGraf -lHist -lMatrix -lGpad
 SPECTRUMPAINTERLIBEXTRA = -Llib -lGraf -lHist
-HTMLLIBDEP          = $(GRAFLIB)
-HTMLLIBEXTRA        = -Llib -lGraf
-MINUITLIBDEP        = $(GRAFLIB) $(HISTLIB) $(MATRIXLIB)
-MINUITLIBEXTRA      = -Llib -lGraf -lHist -lMatrix
-MINUIT2LIBDEP       = $(GRAFLIB) $(HISTLIB) $(MATRIXLIB)
-MINUIT2LIBEXTRA     = -Llib -lGraf -lHist -lMatrix
-FUMILILIBDEP        = $(GRAFLIB) $(HISTLIB)
-FUMILILIBEXTRA      = -Llib -lGraf -lHist
-TREELIBDEP          = $(NETLIB) $(IOLIB)
-TREELIBEXTRA        = -Llib -lNet -lRIO
-TREEPLAYERLIBDEP    = $(TREELIB) $(G3DLIB) $(GRAFLIB) $(HISTLIB) $(GPADLIB) \
-                      $(IOLIB)
-TREEPLAYERLIBEXTRA  = -Llib -lTree -lGraf3d -lGraf -lHist -lGpad -lRIO
-TREEVIEWERLIBDEP    = $(TREELIB) $(GPADLIB) $(GRAFLIB) $(HISTLIB) $(GUILIB)
-TREEVIEWERLIBEXTRA  = -Llib -lTree -lGpad -lGraf -lHist -lGui
-PROOFLIBDEP         = $(NETLIB) $(TREELIB) $(THREADLIB) $(IOLIB)
-PROOFLIBEXTRA       = -Llib -lNet -lTree -lThread -lRIO
-PROOFPLAYERLIBDEP   = $(PROOFLIB) $(NETLIB) $(TREELIB) $(G3DLIB) $(GRAFLIB) \
-                      $(HISTLIB) $(GPADLIB) $(TREEPLAYERLIB) $(THREADLIB) \
-                      $(IOLIB)
-PROOFPLAYERLIBEXTRA = -Llib -lProof -lNet -lTree -lGraf3d -lGraf -lGpad \
-                      -lHist -lTreePlayer -lThread -lRIO
-PROOFXLIBDEP        = $(NETLIB) $(PROOFLIB) $(THREADLIB)
-PROOFXLIBEXTRA      = -Llib -lNet -lProof -lThread
-SESSIONVIEWERLIBDEP   = $(PROOFLIB) $(GUILIB) $(GPADLIB) $(GRAFLIB) $(TREELIB)
-SESSIONVIEWERLIBEXTRA = -Llib -lProof -lGui -lGpad -lGraf -lTree
-PEACLIBDEP          = $(PROOFLIB) $(CLARENSLIB)
-PEACLIBEXTRA        = -Llib -lProof -lClarens
-PEACGUILIBDEP       = $(GUILIB)
-PEACGUILIBEXTRA     = -Llib -lGui
-X3DLIBDEP           = $(G3DLIB) $(GUILIB)
-X3DLIBEXTRA         = -Llib -lGraf3d -lGui
-EGLIBDEP            = $(G3DLIB) $(GRAFLIB) $(GPADLIB)
-EGLIBEXTRA          = -Llib -lGraf3d -lGraf -lGpad
-VMCLIBDEP           = $(EGLIB) $(GEOMLIB)
-VMCLIBEXTRA         = -Llib -lEG -lGeom
-PHYSICSLIBDEP       = $(MATRIXLIB)
-PHYSICSLIBEXTRA     = -Llib -lMatrix
-PYTHIA6LIBDEP       = $(EGLIB) $(GRAFLIB) $(VMCLIB) $(PHYSICSLIB)
-PYTHIA6LIBEXTRA     = -Llib -lEG -lGraf -lVMC -lPhysics $(FPYTHIA6LIBDIR) \
-                      $(FPYTHIA6LIB)
-X11TTFLIBDEP        = $(X11LIB) $(GRAFLIB)
-X11TTFLIBEXTRA      = -Llib -lGX11 -lGraf
-TABLELIBDEP         = $(TREELIB) $(GPADLIB) $(G3DLIB) $(GRAFLIB) $(HISTLIB) \
-                      $(IOLIB)
-TABLELIBEXTRA       = -Llib -lTree -lGpad -lGraf3d -lGraf -lHist -lRIO
-GLLIBDEP            = $(GPADLIB) $(G3DLIB) $(GUILIB) $(GRAFLIB) $(HISTLIB) \
-                      $(GEDLIB)
-GLLIBEXTRA          = -Llib -lGpad -lGraf3d -lGui -lGraf -lHist -lGed
-HBOOKLIBDEP         = $(HISTLIB) $(MATRIXLIB) $(TREELIB) $(GRAFLIB) \
-                      $(TREEPLAYERLIB) $(IOLIB)
-HBOOKLIBEXTRA       = -Llib -lHist -lMatrix -lTree -lGraf -lTreePlayer -lRIO
-GEOMLIBDEP          = $(IOLIB)
-GEOMLIBEXTRA        = -Llib -lRIO
-GEOMPAINTERLIBDEP   = $(GEOMLIB) $(TREELIB) $(G3DLIB) $(HISTLIB) $(GPADLIB)
-GEOMPAINTERLIBEXTRA = -Llib -lGeom -lTree -lGraf3d -lHist -lGpad
-GEOMBUILDERLIBDEP   = $(GEOMLIB) $(G3DLIB) $(GPADLIB) $(GRAFLIB) $(GUILIB) \
-		      $(GEDLIB)
-GEOMBUILDERLIBEXTRA = -Llib -lGeom -lGraf3d -lGpad -lGraf -lGui -lGed
-ASIMAGELIBDEP       = $(GRAFLIB) $(HISTLIB) $(GPADLIB)
-ASIMAGELIBEXTRA     = -Llib -lGraf -lHist -lGpad
-ASIMAGEGUILIBDEP    = $(GRAFLIB) $(HISTLIB) $(GUILIB) $(ASIMAGELIB) $(IOLIB)
-ASIMAGEGUILIBEXTRA  = -Llib -lGraf -lHist -lGui -lASImage -lRIO
-ASIMAGEGSLIBDEP     = $(GRAFLIB) $(ASIMAGELIB)
-ASIMAGEGSLIBEXTRA   = -Llib -lGraf -lASImage
-MLPLIBDEP           = $(HISTLIB) $(MATRIXLIB) $(TREELIB) $(GRAFLIB) \
-                      $(GPADLIB) $(TREEPLAYERLIB)
-MLPLIBEXTRA         = -Llib -lHist -lMatrix -lTree -lGraf -lGpad \
-                      -lTreePlayer
-SPECTRUMLIBDEP      = $(HISTLIB) $(MATRIXLIB)
-SPECTRUMLIBEXTRA    = -Llib -lHist -lMatrix
-TMVALIBDEP          = $(IOLIB) $(HISTLIB) $(MATRIXLIB) $(TREELIB) $(GRAFLIB) \
-                      $(GPADLIB) $(TREEPLAYERLIB) $(MLPLIB)
-TMVALIBEXTRA        = -Llib -lRIO -lHist -lMatrix -lTree -lGraf -lGpad \
-                      -lTreePlayer -lMLP
-SPLOTLIBDEP         = $(MATRIXLIB) $(HISTLIB) $(TREELIB) $(TREEPLAYERLIB) \
-                      $(G3DLIB) $(GRAFLIB)
-SPLOTLIBEXTRA       = -Llib -lMatrix -lHist -lTree -lTreePlayer -lGraf3d -lGraf
-QTROOTLIBDEP        = $(GUILIB) $(GQTLIB)
-QTROOTLIBEXTRA      = -Llib -lGui -lGQt
-GQTLIBDEP           = $(GPADLIB) $(GRAFLIB) $(RINTLIB)
-GQTLIBEXTRA         = -Llib -lGpad -lGraf -lRint
-QUADPLIBDEP         = $(MATRIXLIB)
-QUADPLIBEXTRA       = -Llib -lMatrix
-RUBYLIBDEP          = $(HISTLIB)
-RUBYLIBEXTRA        = -Llib -lHist
-GUIBLDLIBDEP        = $(GUILIB) $(GRAFLIB)
-GUIBLDLIBEXTRA      = -Llib -lGui -lGraf
-XMLLIBDEP           = $(IOLIB)
-XMLLIBEXTRA         = -Llib -lRIO
-FOAMLIBDEP          = $(HISTLIB)
-FOAMLIBEXTRA        = -Llib -lHist
-ALIENLIBDEP         = $(XMLLIB) $(NETXLIB) $(TREELIB) $(PROOFLIB)
-ALIENLIBEXTRA       = -Llib -lXMLIO -lNetx -lTree -lProof
-ROOFITLIBDEP        = $(HISTLIB) $(GRAFLIB) $(MATRIXLIB) $(TREELIB) \
-                      $(MINUITLIB) $(HTMLLIB) $(IOLIB)
-ROOFITLIBEXTRA      = -Llib -lHist -lGraf -lMatrix -lTree -lMinuit -lHtml -lRIO
-CINT7LIBDEP         = $(REFLEXLIB)
-CINT7LIBEXTRA       = -Llib -lReflex
-CINTEXLIBDEP        = $(REFLEXLIB)
-CINTEXLIBEXTRA      = -Llib -lReflex
-RAUTHLIBDEP         = $(NETLIB) $(IOLIB)
-RAUTHLIBEXTRA       = -Llib -lNet -lRIO
-KRB5AUTHLIBDEP      = $(RAUTHLIB) $(NETLIB)
-KRB5AUTHLIBEXTRA    = -Llib -lRootAuth -lNet
-SRVAUTHLIBDEP       = $(NETLIB)
-SRVAUTHLIBEXTRA     = -Llib -lNet
-QTGSILIBDEP         = $(GUILIB) $(GPADLIB)
-QTGSILIBEXTRA       = -Llib -lGui -lGpad
-FITPANELLIBDEP      = $(GUILIB) $(GPADLIB) $(HISTLIB) $(GRAFLIB) $(TREELIB)
-FITPANELLIBEXTRA    = -Llib -lGui -lGpad -lHist -lGraf -lTree
-RFIOLIBDEP          = $(IOLIB)
-RFIOLIBEXTRA        = -Llib -lRIO
-SQLLIBDEP           = $(NETLIB) $(IOLIB)
-SQLLIBEXTRA         = -Llib -lNet -lRIO
-ODBCLIBDEP          = $(NETLIB) $(IOLIB)
-ODBCLIBEXTRA        = -Llib -lNet -lRIO
-NETXLIBDEP          = $(NETLIB) $(IOLIB)
-NETXLIBEXTRA        = -Llib -lNet -lRIO
-ORACLELIBDEP        = $(NETLIB) $(IOLIB)
-ORACLELIBEXTRA      = -Llib -lNet -lRIO
-CASTORLIBDEP        = $(NETLIB) $(IOLIB)
-CASTORLIBEXTRA      = -Llib -lNet -lRIO
-PGSQLLIBDEP         = $(NETLIB) $(IOLIB)
-PGSQLLIBEXTRA       = -Llib -lNet -lRIO
-MYSQLLIBDEP         = $(NETLIB) $(IOLIB)
-MYSQLLIBEXTRA       = -Llib -lNet -lRIO
-GDMLLIBDEP          = $(GEOMLIB) $(XMLLIB) $(HISTLIB) $(IOLIB)
-GDMLLIBEXTRA        = -Llib -lGeom -lXMLIO -lHist -lRIO
-UNURANLIBDEP        = $(HISTLIB)
-UNURANLIBEXTRA      = -Llib -lHist
+HTMLLIBEXTRA            = -Llib -lGraf
+MINUITLIBEXTRA          = -Llib -lGraf -lHist -lMatrix
+MINUIT2LIBEXTRA         = -Llib -lGraf -lHist -lMatrix
+FUMILILIBEXTRA          = -Llib -lGraf -lHist
+TREELIBEXTRA            = -Llib -lNet -lRIO
+TREEPLAYERLIBEXTRA      = -Llib -lTree -lGraf3d -lGraf -lHist -lGpad -lRIO
+TREEVIEWERLIBEXTRA      = -Llib -lTree -lGpad -lGraf -lHist -lGui
+PROOFLIBEXTRA           = -Llib -lNet -lTree -lThread -lRIO
+PROOFPLAYERLIBEXTRA     = -Llib -lProof -lNet -lTree -lGraf3d -lGraf -lGpad \
+                          -lHist -lTreePlayer -lThread -lRIO
+PROOFXLIBEXTRA          = -Llib -lNet -lProof -lThread
+SESSIONVIEWERLIBEXTRA   = -Llib -lProof -lGui -lGpad -lGraf -lTree
+PEACLIBEXTRA            = -Llib -lProof -lClarens
+PEACGUILIBEXTRA         = -Llib -lGui
+X3DLIBEXTRA             = -Llib -lGraf3d -lGui
+EGLIBEXTRA              = -Llib -lGraf3d -lGraf -lGpad
+VMCLIBEXTRA             = -Llib -lEG -lGeom
+PHYSICSLIBEXTRA         = -Llib -lMatrix
+PYTHIA6LIBEXTRA         = -Llib -lEG -lGraf -lVMC -lPhysics $(FPYTHIA6LIBDIR) \
+                          $(FPYTHIA6LIB)
+X11TTFLIBEXTRA          = -Llib -lGX11 -lGraf
+TABLELIBEXTRA           = -Llib -lTree -lGpad -lGraf3d -lGraf -lHist -lRIO
+GLLIBEXTRA              = -Llib -lGpad -lGraf3d -lGui -lGraf -lHist -lGed
+HBOOKLIBEXTRA           = -Llib -lHist -lMatrix -lTree -lGraf -lTreePlayer -lRIO
+GEOMLIBEXTRA            = -Llib -lRIO
+GEOMPAINTERLIBEXTRA     = -Llib -lGeom -lTree -lGraf3d -lHist -lGpad
+GEOMBUILDERLIBEXTRA     = -Llib -lGeom -lGraf3d -lGpad -lGraf -lGui -lGed
+ASIMAGELIBEXTRA         = -Llib -lGraf -lHist -lGpad
+ASIMAGEGUILIBEXTRA      = -Llib -lGraf -lHist -lGui -lASImage -lRIO
+ASIMAGEGSLIBEXTRA       = -Llib -lGraf -lASImage
+MLPLIBEXTRA             = -Llib -lHist -lMatrix -lTree -lGraf -lGpad \
+                          -lTreePlayer
+SPECTRUMLIBEXTRA        = -Llib -lHist -lMatrix
+TMVALIBEXTRA            = -Llib -lRIO -lHist -lMatrix -lTree -lGraf -lGpad \
+                          -lTreePlayer -lMLP
+SPLOTLIBEXTRA           = -Llib -lMatrix -lHist -lTree -lTreePlayer -lGraf3d -lGraf
+QTROOTLIBEXTRA          = -Llib -lGui -lGQt
+GQTLIBEXTRA             = -Llib -lGpad -lGraf -lRint
+QUADPLIBEXTRA           = -Llib -lMatrix
+RUBYLIBEXTRA            = -Llib -lHist
+GUIBLDLIBEXTRA          = -Llib -lGui -lGraf
+XMLLIBEXTRA             = -Llib -lRIO
+FOAMLIBEXTRA            = -Llib -lHist
+ALIENLIBEXTRA           = -Llib -lXMLIO -lNetx -lTree -lProof
+ROOFITLIBEXTRA          = -Llib -lHist -lGraf -lMatrix -lTree -lMinuit -lHtml -lRIO
+CINT7LIBEXTRA           = -Llib -lReflex
+CINTEXLIBEXTRA          = -Llib -lReflex
+RAUTHLIBEXTRA           = -Llib -lNet -lRIO
+KRB5AUTHLIBEXTRA        = -Llib -lRootAuth -lNet
+SRVAUTHLIBEXTRA         = -Llib -lNet
+QTGSILIBEXTRA           = -Llib -lGui -lGpad
+FITPANELLIBEXTRA        = -Llib -lGui -lGpad -lHist -lGraf -lTree
+RFIOLIBEXTRA            = -Llib -lRIO
+SQLLIBEXTRA             = -Llib -lNet -lRIO
+ODBCLIBEXTRA            = -Llib -lNet -lRIO
+NETXLIBEXTRA            = -Llib -lNet -lRIO
+ORACLELIBEXTRA          = -Llib -lNet -lRIO
+CASTORLIBEXTRA          = -Llib -lNet -lRIO
+PGSQLLIBEXTRA           = -Llib -lNet -lRIO
+MYSQLLIBEXTRA           = -Llib -lNet -lRIO
+GDMLLIBEXTRA            = -Llib -lGeom -lXMLIO -lHist -lRIO
+UNURANLIBEXTRA          = -Llib -lHist
+
+endif
 
 endif
diff --git a/dcache/Module.mk b/dcache/Module.mk
index 3a7cd805a8ec09a8ddfedc5a901c198e1d7db72e..ad4de2462c27ec6aea96d85719c5f5fd61e8cc9a 100644
--- a/dcache/Module.mk
+++ b/dcache/Module.mk
@@ -23,10 +23,12 @@ DCACHEO      := $(DCACHES:.cxx=.o)
 DCACHEDEP    := $(DCACHEO:.o=.d) $(DCACHEDO:.o=.d)
 
 DCACHELIB    := $(LPATH)/libDCache.$(SOEXT)
+DCACHEMAP    := $(DCACHELIB:.$(SOEXT)=.rootmap)
 
 # used in the main Makefile
 ALLHDRS     += $(patsubst $(MODDIRI)/%.h,include/%.h,$(DCACHEH))
 ALLLIBS     += $(DCACHELIB)
+ALLMAPS     += $(DCACHEMAP)
 
 # include all dependency files
 INCLUDEFILES += $(DCACHEDEP)
@@ -44,13 +46,11 @@ $(DCACHEDS):    $(DCACHEH) $(DCACHEL) $(ROOTCINTTMPEXE)
 	@echo "Generating dictionary $@..."
 	$(ROOTCINTTMP) -f $@ -c $(DCACHEH) $(DCACHEL)
 
-all-dcache:     $(DCACHELIB)
+$(DCACHEMAP):   $(RLIBMAP) $(MAKEFILEDEP) $(DCACHEL)
+		$(RLIBMAP) -o $(DCACHEMAP) -l $(DCACHELIB) \
+		   -d $(DCACHELIBDEPM) -c $(DCACHEL)
 
-map-dcache:     $(RLIBMAP)
-		$(RLIBMAP) -r $(ROOTMAP) -l $(DCACHELIB) \
-		   -d $(DCACHELIBDEP) -c $(DCACHEL)
-
-map::           map-dcache
+all-dcache:     $(DCACHELIB) $(DCACHEMAP)
 
 clean-dcache:
 	@rm -f $(DCACHEO) $(DCACHEDO)
@@ -58,7 +58,7 @@ clean-dcache:
 clean::         clean-dcache
 
 distclean-dcache: clean-dcache
-	@rm -f $(DCACHEDEP) $(DCACHEDS) $(DCACHEDH) $(DCACHELIB)
+	@rm -f $(DCACHEDEP) $(DCACHEDS) $(DCACHEDH) $(DCACHELIB) $(DCACHEMAP)
 
 distclean::     distclean-dcache
 
diff --git a/eg/Module.mk b/eg/Module.mk
index 616ee6c500d8736c4c6b0fe7e9de2042e20578d8..0a1ca002f410eeff4671d1907441b3b06d86b41b 100644
--- a/eg/Module.mk
+++ b/eg/Module.mk
@@ -25,10 +25,12 @@ EGO          := $(EGS:.cxx=.o)
 EGDEP        := $(EGO:.o=.d) $(EGDO:.o=.d)
 
 EGLIB        := $(LPATH)/libEG.$(SOEXT)
+EGMAP        := $(EGLIB:.$(SOEXT)=.rootmap)
 
 # used in the main Makefile
 ALLHDRS     += $(patsubst $(MODDIRI)/%.h,include/%.h,$(EGH))
 ALLLIBS     += $(EGLIB)
+ALLMAPS     += $(EGMAP)
 
 # include all dependency files
 INCLUDEFILES += $(EGDEP)
@@ -46,13 +48,11 @@ $(EGDS):        $(EGH1) $(EGL) $(ROOTCINTTMPEXE)
 		@echo "Generating dictionary $@..."
 		$(ROOTCINTTMP) -f $@ -c $(EGH1) $(EGL)
 
-all-eg:         $(EGLIB)
+$(EGMAP):       $(RLIBMAP) $(MAKEFILEDEP) $(EGL)
+		$(RLIBMAP) -o $(EGMAP) -l $(EGLIB) \
+		   -d $(EGLIBDEPM) -c $(EGL)
 
-map-eg:         $(RLIBMAP)
-		$(RLIBMAP) -r $(ROOTMAP) -l $(EGLIB) \
-		   -d $(EGLIBDEP) -c $(EGL)
-
-map::           map-eg
+all-eg:         $(EGLIB) $(EGMAP)
 
 clean-eg:
 		@rm -f $(EGO) $(EGDO)
@@ -60,6 +60,6 @@ clean-eg:
 clean::         clean-eg
 
 distclean-eg:   clean-eg
-		@rm -f $(EGDEP) $(EGDS) $(EGDH) $(EGLIB)
+		@rm -f $(EGDEP) $(EGDS) $(EGDH) $(EGLIB) $(EGMAP)
 
 distclean::     distclean-eg
diff --git a/fftw/Module.mk b/fftw/Module.mk
index d6f105b0d0e258509cbb6f3517af92d6b50d6f66..db67a07ad55464c09d5ebd4b1f8351dd582c3e26 100644
--- a/fftw/Module.mk
+++ b/fftw/Module.mk
@@ -24,10 +24,12 @@ FFTWO        := $(FFTWS:.cxx=.o)
 FFTWDEP      := $(FFTWO:.o=.d) $(FFTWDO:.o=.d)
 
 FFTWLIB      := $(LPATH)/libFFTW.$(SOEXT)
+FFTWMAP      := $(FFTWLIB:.$(SOEXT)=.rootmap)
 
 # used in the main Makefile
 ALLHDRS      += $(patsubst $(MODDIRI)/%.h,include/%.h,$(FFTWH))
 ALLLIBS      += $(FFTWLIB)
+ALLMAPS      += $(FFTWLIB)
 
 # include all dependency files
 INCLUDEFILES += $(FFTWDEP)
@@ -45,13 +47,11 @@ $(FFTWDS):      $(FFTWH) $(FFTWL) $(ROOTCINTTMPEXE)
 		@echo "Generating dictionary $@..."
 		$(ROOTCINTTMP) -f $@ -c $(FFTWH) $(FFTWL)
 
-all-fft:        $(FFTWLIB)
+$(FFTWMAP):     $(RLIBMAP) $(MAKEFILEDEP) $(FFTWL)
+		$(RLIBMAP) -o $(FFTWMAP) -l $(FFTWLIB) \
+		   -d $(FFTWLIBDEPM) -c $(FFTWL)
 
-map-fft:        $(RLIBMAP)
-		$(RLIBMAP) -r $(ROOTMAP) -l $(FFTWLIB) \
-		   -d $(FFTWLIBDEP) -c $(FFTWL)
-
-map::           map-fft
+all-fft:        $(FFTWLIB) $(FFTWMAP)
 
 clean-fft:
 		@rm -f $(FFTWO) $(FFTWDO)
@@ -59,7 +59,7 @@ clean-fft:
 clean::         clean-fft
 
 distclean-fft:  clean-fft
-		@rm -f $(FFTWDEP) $(FFTWDS) $(FFTWDH) $(FFTWLIB)
+		@rm -f $(FFTWDEP) $(FFTWDS) $(FFTWDH) $(FFTWLIB) $(FFTWMAP)
 
 distclean::     distclean-fft
 
diff --git a/fitpanel/Module.mk b/fitpanel/Module.mk
index e3d63a8beba631e3c02fd1d9349d68b920f82f16..3ac1fb6f007a2ff449e9f197aade8a800a638e9a 100644
--- a/fitpanel/Module.mk
+++ b/fitpanel/Module.mk
@@ -24,10 +24,12 @@ FITPANELO    := $(FITPANELS:.cxx=.o)
 FITPANELDEP  := $(FITPANELO:.o=.d) $(FITPANELDO:.o=.d)
 
 FITPANELLIB  := $(LPATH)/libFitPanel.$(SOEXT)
+FITPANELMAP  := $(FITPANELLIB:.$(SOEXT)=.rootmap)
 
 # used in the main Makefile
 ALLHDRS      += $(patsubst $(MODDIRI)/%.h,include/%.h,$(FITPANELH))
 ALLLIBS      += $(FITPANELLIB)
+ALLMAPS      += $(FITPANELMAP)
 
 # include all dependency files
 INCLUDEFILES += $(FITPANELDEP)
@@ -45,13 +47,11 @@ $(FITPANELDS):  $(FITPANELH) $(FITPANELL) $(ROOTCINTTMPEXE)
 		@echo "Generating dictionary $@..."
 		$(ROOTCINTTMP) -f $@ -c $(FITPANELH) $(FITPANELL)
 
-all-fitpanel:   $(FITPANELLIB)
+$(FITPANELMAP): $(RLIBMAP) $(MAKEFILEDEP) $(FITPANELL)
+		$(RLIBMAP) -o $(FITPANELMAP) -l $(FITPANELLIB) \
+		   -d $(FITPANELLIBDEPM) -c $(FITPANELL)
 
-map-fitpanel:   $(RLIBMAP)
-		$(RLIBMAP) -r $(ROOTMAP) -l $(FITPANELLIB) \
-		   -d $(FITPANELLIBDEP) -c $(FITPANELL)
-
-map::           map-fitpanel
+all-fitpanel:   $(FITPANELLIB) $(FITPANELMAP)
 
 clean-fitpanel:
 		@rm -f $(FITPANELO) $(FITPANELDO)
@@ -59,6 +59,6 @@ clean-fitpanel:
 clean::         clean-fitpanel
 
 distclean-fitpanel: clean-fitpanel
-		@rm -f $(FITPANELDEP) $(FITPANELDS) $(FITPANELDH) $(FITPANELLIB)
+		@rm -f $(FITPANELDEP) $(FITPANELDS) $(FITPANELDH) $(FITPANELLIB) $(FITPANELMAP)
 
 distclean::     distclean-fitpanel
diff --git a/foam/Module.mk b/foam/Module.mk
index f2ed1b8acd968498f2628c7ea4436a1144a4684a..ac2cc7fa72511c1ce364568c9bbd015a5e0d051e 100644
--- a/foam/Module.mk
+++ b/foam/Module.mk
@@ -24,10 +24,12 @@ FOAMO      := $(FOAMS:.cxx=.o)
 FOAMDEP    := $(FOAMO:.o=.d) $(FOAMDO:.o=.d)
 
 FOAMLIB    := $(LPATH)/libFoam.$(SOEXT)
+FOAMMAP    := $(FOAMLIB:.$(SOEXT)=.rootmap)
 
 # used in the main Makefile
 ALLHDRS     += $(patsubst $(MODDIRI)/%.h,include/%.h,$(FOAMH))
 ALLLIBS     += $(FOAMLIB)
+ALLMAPS     += $(FOAMMAP)
 
 # include all dependency files
 INCLUDEFILES += $(FOAMDEP)
@@ -45,13 +47,11 @@ $(FOAMDS):      $(FOAMH) $(FOAML) $(ROOTCINTTMPEXE)
 		@echo "Generating dictionary $@..."
 		$(ROOTCINTTMP) -f $@ -c $(FOAMH) $(FOAML)
 
-all-foam:       $(FOAMLIB)
+$(FOAMMAP):     $(RLIBMAP) $(MAKEFILEDEP) $(FOAML)
+		$(RLIBMAP) -o $(FOAMMAP) -l $(FOAMLIB) \
+		   -d $(FOAMLIBDEPM) -c $(FOAML)
 
-map-foam:       $(RLIBMAP)
-		$(RLIBMAP) -r $(ROOTMAP) -l $(FOAMLIB) \
-		   -d $(FOAMLIBDEP) -c $(FOAML)
-
-map::           map-foam
+all-foam:       $(FOAMLIB) $(FOAMMAP)
 
 clean-foam:
 		@rm -f $(FOAMO) $(FOAMDO)
@@ -59,6 +59,6 @@ clean-foam:
 clean::         clean-foam
 
 distclean-foam: clean-foam
-		@rm -f $(FOAMDEP) $(FOAMDS) $(FOAMDH) $(FOAMLIB)
+		@rm -f $(FOAMDEP) $(FOAMDS) $(FOAMDH) $(FOAMLIB) $(FOAMMAP)
 
 distclean::     distclean-foam
diff --git a/fumili/Module.mk b/fumili/Module.mk
index 0a09b08f1b8a547982d8cd1d392f068eefea48e5..e5d5196782fbeca4ec417b0001647980c262f8ba 100644
--- a/fumili/Module.mk
+++ b/fumili/Module.mk
@@ -24,10 +24,12 @@ FUMILIO      := $(FUMILIS:.cxx=.o)
 FUMILIDEP    := $(FUMILIO:.o=.d) $(FUMILIDO:.o=.d)
 
 FUMILILIB    := $(LPATH)/libFumili.$(SOEXT)
+FUMILIMAP    := $(FUMILILIB:.$(SOEXT)=.rootmap)
 
 # used in the main Makefile
 ALLHDRS     += $(patsubst $(MODDIRI)/%.h,include/%.h,$(FUMILIH))
 ALLLIBS     += $(FUMILILIB)
+ALLMAPS     += $(FUMILIMAP)
 
 # include all dependency files
 INCLUDEFILES += $(FUMILIDEP)
@@ -45,13 +47,11 @@ $(FUMILIDS):    $(FUMILIH) $(FUMILIL) $(ROOTCINTTMPEXE)
 		@echo "Generating dictionary $@..."
 		$(ROOTCINTTMP) -f $@ -c $(FUMILIH) $(FUMILIL)
 
-all-fumili:     $(FUMILILIB)
+$(FUMILIMAP):   $(RLIBMAP) $(MAKEFILEDEP) $(FUMILIL)
+		$(RLIBMAP) -o $(FUMILIMAP) -l $(FUMILILIB) \
+		   -d $(FUMILILIBDEPM) -c $(FUMILIL)
 
-map-fumili:     $(RLIBMAP)
-		$(RLIBMAP) -r $(ROOTMAP) -l $(FUMILILIB) \
-		   -d $(FUMILILIBDEP) -c $(FUMILIL)
-
-map::           map-fumili
+all-fumili:     $(FUMILILIB) $(FUMILIMAP)
 
 clean-fumili:
 		@rm -f $(FUMILIO) $(FUMILIDO)
@@ -59,6 +59,6 @@ clean-fumili:
 clean::         clean-fumili
 
 distclean-fumili: clean-fumili
-		@rm -f $(FUMILIDEP) $(FUMILIDS) $(FUMILIDH) $(FUMILILIB)
+		@rm -f $(FUMILIDEP) $(FUMILIDS) $(FUMILIDH) $(FUMILILIB) $(FUMILIMAP)
 
 distclean::     distclean-fumili
diff --git a/g3d/Module.mk b/g3d/Module.mk
index bdae11f5117ff9a78bb5ce52b6399a9ede710781..bf2593d1241b63f6540d184db2ab3a7456b8f2d4 100644
--- a/g3d/Module.mk
+++ b/g3d/Module.mk
@@ -29,10 +29,12 @@ G3DO         := $(G3DS1:.cxx=.o) $(G3DS2:.c=.o)
 G3DDEP       := $(G3DO:.o=.d) $(G3DDO:.o=.d)
 
 G3DLIB       := $(LPATH)/libGraf3d.$(SOEXT)
+G3DMAP       := $(G3DLIB:.$(SOEXT)=.rootmap)
 
 # used in the main Makefile
 ALLHDRS     += $(patsubst $(MODDIRI)/%.h,include/%.h,$(G3DH))
 ALLLIBS     += $(G3DLIB)
+ALLMAPS     += $(G3DMAP)
 
 # include all dependency files
 INCLUDEFILES += $(G3DDEP)
@@ -50,13 +52,11 @@ $(G3DDS):       $(G3DH1) $(G3DL) $(ROOTCINTTMPEXE)
 		@echo "Generating dictionary $@..."
 		$(ROOTCINTTMP) -f $@ -c $(G3DH1) $(G3DL)
 
-all-g3d:        $(G3DLIB)
+$(G3DMAP):      $(RLIBMAP) $(MAKEFILEDEP) $(G3DL)
+		$(RLIBMAP) -o $(G3DMAP) -l $(G3DLIB) \
+		   -d $(G3DLIBDEPM) -c $(G3DL)
 
-map-g3d:        $(RLIBMAP)
-		$(RLIBMAP) -r $(ROOTMAP) -l $(G3DLIB) \
-		   -d $(G3DLIBDEP) -c $(G3DL)
-
-map::           map-g3d
+all-g3d:        $(G3DLIB) $(G3DMAP)
 
 clean-g3d:
 		@rm -f $(G3DO) $(G3DDO)
@@ -64,6 +64,6 @@ clean-g3d:
 clean::         clean-g3d
 
 distclean-g3d:  clean-g3d
-		@rm -f $(G3DDEP) $(G3DDS) $(G3DDH) $(G3DLIB)
+		@rm -f $(G3DDEP) $(G3DDS) $(G3DDH) $(G3DLIB) $(G3DMAP)
 
 distclean::     distclean-g3d
diff --git a/g4root/Module.mk b/g4root/Module.mk
index 1cdf94442ea7c3ac5314291213bbd10c8b337fb4..06e91c3df33dd6b75324b64cd1f2879dbac3cca4 100644
--- a/g4root/Module.mk
+++ b/g4root/Module.mk
@@ -30,10 +30,12 @@ G4ROOTO      := $(G4ROOTS:.cxx=.o)
 G4ROOTDEP    := $(G4ROOTO:.o=.d) $(G4ROOTDO:.o=.d)
 
 G4ROOTLIB    := $(LPATH)/libG4root.$(SOEXT)
+G4ROOTMAP    := $(G4ROOTLIB:.$(SOEXT)=.rootmap)
 
 # used in the main Makefile
 ALLHDRS     += $(patsubst $(MODDIRI)/%.h,include/%.h,$(G4ROOTH))
 ALLLIBS     += $(G4ROOTLIB)
+ALLMAPS     += $(G4ROOTMAP)
 
 # include all dependency files
 INCLUDEFILES += $(G4ROOTDEP)
@@ -52,13 +54,11 @@ $(G4ROOTDS1):   $(G4ROOTH1) $(G4ROOTL1) $(ROOTCINTTMPEXE)
 		$(ROOTCINTTMP) -f $@ -c $(CXXFLAGS) -I$(G4ROOTINCDIR) \
 		   $(G4ROOTH2) $(G4ROOTL1)
 
-all-g4root:     $(G4ROOTLIB)
+$(G4ROOTMAP):   $(RLIBMAP) $(MAKEFILEDEP) $(G4ROOTL)
+		$(RLIBMAP) -o $(G4ROOTMAP) -l $(G4ROOTLIB) \
+		   -d $(G4ROOTLIBDEPM) -c $(G4ROOTL)
 
-map-g4root:     $(RLIBMAP)
-		$(RLIBMAP) -r $(ROOTMAP) -l $(G4ROOTLIB) \
-		   -d $(G4ROOTLIBDEP) -c $(G4ROOTL)
-
-map::           map-g4root
+all-g4root:     $(G4ROOTLIB) $(G4ROOTMAP)
 
 clean-g4root:
 		@rm -f $(G4ROOTO) $(G4ROOTDO)
@@ -66,7 +66,7 @@ clean-g4root:
 clean::         clean-g4root
 
 distclean-g4root: clean-g4root
-		@rm -f $(G4ROOTDEP) $(G4ROOTDS) $(G4ROOTDH) $(G4ROOTLIB)
+		@rm -f $(G4ROOTDEP) $(G4ROOTDS) $(G4ROOTDH) $(G4ROOTLIB) $(G4ROOTMAP)
 
 distclean::     distclean-g4root
 
diff --git a/gdml/Module.mk b/gdml/Module.mk
index 397ed67b55dcc1eef9778ff9b548715b2a07bc1f..c1cd7c92f85352f1a2043bac9c249059ce1d0400 100644
--- a/gdml/Module.mk
+++ b/gdml/Module.mk
@@ -24,10 +24,12 @@ GDMLO        := $(GDMLS:.cxx=.o)
 GDMLDEP      := $(GDMLO:.o=.d) $(GDMLDO:.o=.d)
 
 GDMLLIB      := $(LPATH)/libGdml.$(SOEXT)
+GDMLMAP      := $(GDMLLIB:.$(SOEXT)=.rootmap)
 
 # used in the main Makefile
 ALLHDRS      += $(patsubst $(MODDIRI)/%.h,include/%.h,$(GDMLH))
 ALLLIBS      += $(GDMLLIB)
+ALLMAPS      += $(GDMLMAP)
 
 # include all dependency files
 INCLUDEFILES += $(GDMLDEP)
@@ -45,13 +47,11 @@ $(GDMLDS):      $(GDMLH) $(GDMLL) $(ROOTCINTTMPEXE)
 		@echo "Generating dictionary $@..."
 		$(ROOTCINTTMP) -f $@ -c $(GDMLH) $(GDMLL)
 
-all-gdml:       $(GDMLLIB)
+$(GDMLMAP):     $(RLIBMAP) $(MAKEFILEDEP) $(GDMLL)
+		$(RLIBMAP) -o $(GDMLMAP) -l $(GDMLLIB) \
+		   -d $(GDMLLIBDEPM) -c $(GDMLL)
 
-map-gdml:       $(RLIBMAP)
-		$(RLIBMAP) -r $(ROOTMAP) -l $(GDMLLIB) \
-		   -d $(GDMLLIBDEP) -c $(GDMLL)
-
-map::           map-gdml
+all-gdml:       $(GDMLLIB) $(GDMLMAP)
 
 clean-gdml:
 		@rm -f $(GDMLO) $(GDMLDO)
@@ -59,6 +59,6 @@ clean-gdml:
 clean::         clean-gdml
 
 distclean-gdml: clean-gdml
-		@rm -f $(GDMLDEP) $(GDMLDS) $(GDMLDH) $(GDMLLIB)
+		@rm -f $(GDMLDEP) $(GDMLDS) $(GDMLDH) $(GDMLLIB) $(GDMLMAP)
 
 distclean::     distclean-gdml
diff --git a/ged/Module.mk b/ged/Module.mk
index b3f7adb2c2ff65d673efb217308d9865606474af..6023ba631d3002e811794badff6ebdd136f5a65d 100644
--- a/ged/Module.mk
+++ b/ged/Module.mk
@@ -24,10 +24,12 @@ GEDO      := $(GEDS:.cxx=.o)
 GEDDEP    := $(GEDO:.o=.d) $(GEDDO:.o=.d)
 
 GEDLIB    := $(LPATH)/libGed.$(SOEXT)
+GEDMAP    := $(GEDLIB:.$(SOEXT)=.rootmap)
 
 # used in the main Makefile
 ALLHDRS     += $(patsubst $(MODDIRI)/%.h,include/%.h,$(GEDH))
 ALLLIBS     += $(GEDLIB)
+ALLMAPS     += $(GEDMAP)
 
 # include all dependency files
 INCLUDEFILES += $(GEDDEP)
@@ -45,13 +47,11 @@ $(GEDDS):       $(GEDH) $(GEDL) $(ROOTCINTTMPEXE)
 		@echo "Generating dictionary $@..."
 		$(ROOTCINTTMP) -f $@ -c $(GEDH) $(GEDL)
 
-all-ged:        $(GEDLIB)
+$(GEDMAP):      $(RLIBMAP) $(MAKEFILEDEP) $(GEDL)
+		$(RLIBMAP) -o $(GEDMAP) -l $(GEDLIB) \
+		   -d $(GEDLIBDEPM) -c $(GEDL)
 
-map-ged:        $(RLIBMAP)
-		$(RLIBMAP) -r $(ROOTMAP) -l $(GEDLIB) \
-		   -d $(GEDLIBDEP) -c $(GEDL)
-
-map::           map-ged
+all-ged:        $(GEDLIB) $(GEDMAP)
 
 clean-ged:
 		@rm -f $(GEDO) $(GEDDO)
@@ -59,6 +59,6 @@ clean-ged:
 clean::         clean-ged
 
 distclean-ged: clean-ged
-		@rm -f $(GEDDEP) $(GEDDS) $(GEDDH) $(GEDLIB)
+		@rm -f $(GEDDEP) $(GEDDS) $(GEDDH) $(GEDLIB) $(GEDMAP)
 
 distclean::     distclean-ged
diff --git a/geom/Module.mk b/geom/Module.mk
index 68bf55f1ba0a464559504bfa266adab744223dfc..87ca90c82740c5e13f5aec89184cfb00f7850786 100644
--- a/geom/Module.mk
+++ b/geom/Module.mk
@@ -43,10 +43,12 @@ GEOMO        := $(GEOMS:.cxx=.o)
 GEOMDEP      := $(GEOMO:.o=.d) $(GEOMDO:.o=.d)
 
 GEOMLIB      := $(LPATH)/libGeom.$(SOEXT)
+GEOMMAP      := $(GEOMLIB:.$(SOEXT)=.rootmap)
 
 # used in the main Makefile
 ALLHDRS     += $(patsubst $(MODDIRI)/%.h,include/%.h,$(GEOMH))
 ALLLIBS     += $(GEOMLIB)
+ALLMAPS     += $(GEOMMAP)
 
 # include all dependency files
 INCLUDEFILES += $(GEOMDEP)
@@ -68,13 +70,11 @@ $(GEOMDS2):     $(GEOMH2) $(GEOML2) $(ROOTCINTTMPEXE)
 		@echo "Generating dictionary $@..."
 		$(ROOTCINTTMP) -f $@ -c $(GEOMH2) $(GEOML2)
 
-all-geom:       $(GEOMLIB)
+$(GEOMMAP):     $(RLIBMAP) $(MAKEFILEDEP) $(GEOML1) $(GEOML2)
+		$(RLIBMAP) -o $(GEOMMAP) -l $(GEOMLIB) \
+		   -d $(GEOMLIBDEPM) -c $(GEOML1) $(GEOML2)
 
-map-geom:       $(RLIBMAP)
-		$(RLIBMAP) -r $(ROOTMAP) -l $(GEOMLIB) \
-		   -d $(GEOMLIBDEP) -c $(GEOML1) $(GEOML2)
-
-map::           map-geom
+all-geom:       $(GEOMLIB) $(GEOMMAP)
 
 clean-geom:
 		@rm -f $(GEOMO) $(GEOMDO)
@@ -82,6 +82,6 @@ clean-geom:
 clean::         clean-geom
 
 distclean-geom: clean-geom
-		@rm -f $(GEOMDEP) $(GEOMDS) $(GEOMDH) $(GEOMLIB)
+		@rm -f $(GEOMDEP) $(GEOMDS) $(GEOMDH) $(GEOMLIB) $(GEOMMAP)
 
 distclean::     distclean-geom
diff --git a/geombuilder/Module.mk b/geombuilder/Module.mk
index c7fe2d985b2d83ec8e3b67a390ebe69ff5ce750b..d5b6015e28ff0c518166a7ef86a2bc0bd278ce4f 100644
--- a/geombuilder/Module.mk
+++ b/geombuilder/Module.mk
@@ -31,10 +31,12 @@ GEOMBUILDERO     := $(GEOMBUILDERS:.cxx=.o)
 GEOMBUILDERDEP   := $(GEOMBUILDERO:.o=.d) $(GEOMBUILDERDO:.o=.d)
 
 GEOMBUILDERLIB   := $(LPATH)/libGeomBuilder.$(SOEXT)
+GEOMBUILDERMAP   := $(GEOMBUILDERLIB:.$(SOEXT)=.rootmap)
 
 # used in the main Makefile
 ALLHDRS          += $(patsubst $(MODDIRI)/%.h,include/%.h,$(GEOMBUILDERH))
 ALLLIBS          += $(GEOMBUILDERLIB)
+ALLMAPS          += $(GEOMBUILDERMAP)
 
 # include all dependency files
 INCLUDEFILES     += $(GEOMBUILDERDEP)
@@ -54,13 +56,11 @@ $(GEOMBUILDERDS): $(GEOMBUILDERH) $(GEOMBUILDERL) $(ROOTCINTTMPEXE)
 		@echo "Generating dictionary $@..."
 		$(ROOTCINTTMP) -f $@ -c $(GEOMBUILDERH) $(GEOMBUILDERL)
 
-all-geombuilder: $(GEOMBUILDERLIB)
+$(GEOMBUILDERMAP): $(RLIBMAP) $(MAKEFILEDEP) $(GEOMBUILDERL)
+		$(RLIBMAP) -o $(GEOMBUILDERMAP) -l $(GEOMBUILDERLIB) \
+		   -d $(GEOMBUILDERLIBDEPM) -c $(GEOMBUILDERL)
 
-map-geombuilder: $(RLIBMAP)
-		$(RLIBMAP) -r $(ROOTMAP) -l $(GEOMBUILDERLIB) \
-		   -d $(GEOMBUILDERLIBDEP) -c $(GEOMBUILDERL)
-
-map::           map-geombuilder
+all-geombuilder: $(GEOMBUILDERLIB) $(GEOMBUILDERMAP)
 
 clean-geombuilder:
 		@rm -f $(GEOMBUILDERO) $(GEOMBUILDERDO)
@@ -69,6 +69,6 @@ clean::         clean-geombuilder
 
 distclean-geombuilder: clean-geombuilder
 		@rm -f $(GEOMBUILDERDEP) $(GEOMBUILDERDS) $(GEOMBUILDERDH) \
-		   $(GEOMBUILDERLIB)
+		   $(GEOMBUILDERLIB) $(GEOMBUILDERMAP)
 
 distclean::     distclean-geombuilder
diff --git a/geompainter/Module.mk b/geompainter/Module.mk
index dd41d18062629cd57ecd91f059341100297f00d3..bc46de9b0232a064a731800ea030e5a69d10973d 100644
--- a/geompainter/Module.mk
+++ b/geompainter/Module.mk
@@ -25,10 +25,12 @@ GEOMPAINTERO  := $(GEOMPAINTERS:.cxx=.o)
 GEOMPAINTERDEP := $(GEOMPAINTERO:.o=.d) $(GEOMPAINTERDO:.o=.d)
 
 GEOMPAINTERLIB := $(LPATH)/libGeomPainter.$(SOEXT)
+GEOMPAINTERMAP := $(GEOMPAINTERLIB:.$(SOEXT)=.rootmap)
 
 # used in the main Makefile
 ALLHDRS       += $(patsubst $(MODDIRI)/%.h,include/%.h,$(GEOMPAINTERH))
 ALLLIBS       += $(GEOMPAINTERLIB)
+ALLMAPS       += $(GEOMPAINTERMAP)
 
 # include all dependency files
 INCLUDEFILES += $(GEOMPAINTERDEP)
@@ -48,13 +50,11 @@ $(GEOMPAINTERDS): $(GEOMPAINTERH1) $(GEOMPAINTERL) $(ROOTCINTTMPEXE)
 		@echo "Generating dictionary $@..."
 		$(ROOTCINTTMP) -f $@ -c $(GEOMPAINTERH1) $(GEOMPAINTERL)
 
-all-geompainter: $(GEOMPAINTERLIB)
+$(GEOMPAINTERMAP): $(RLIBMAP) $(MAKEFILEDEP) $(GEOMPAINTERL)
+		$(RLIBMAP) -o $(GEOMPAINTERMAP) -l $(GEOMPAINTERLIB) \
+		   -d $(GEOMPAINTERLIBDEPM) -c $(GEOMPAINTERL)
 
-map-geompainter: $(RLIBMAP)
-		$(RLIBMAP) -r $(ROOTMAP) -l $(GEOMPAINTERLIB) \
-		   -d $(GEOMPAINTERLIBDEP) -c $(GEOMPAINTERL)
-
-map::           map-geompainter
+all-geompainter: $(GEOMPAINTERLIB) $(GEOMPAINTERMAP)
 
 clean-geompainter:
 		@rm -f $(GEOMPAINTERO) $(GEOMPAINTERDO)
@@ -63,6 +63,6 @@ clean::         clean-geompainter
 
 distclean-geompainter: clean-geompainter
 		@rm -f $(GEOMPAINTERDEP) $(GEOMPAINTERDS) $(GEOMPAINTERDH) \
-		   $(GEOMPAINTERLIB)
+		   $(GEOMPAINTERLIB) $(GEOMPAINTERMAP)
 
 distclean::     distclean-geompainter
diff --git a/gfal/Module.mk b/gfal/Module.mk
index a0eabbc7b3cce6662cc65e1f78db09a27c2f6d8a..5e82ec8ff79cf67648952846d684f734479fcc1f 100644
--- a/gfal/Module.mk
+++ b/gfal/Module.mk
@@ -24,10 +24,12 @@ GFALO        := $(GFALS:.cxx=.o)
 GFALDEP      := $(GFALO:.o=.d) $(GFALDO:.o=.d)
 
 GFALLIB      := $(LPATH)/libGFAL.$(SOEXT)
+GFALMAP      := $(GFALLIB:.$(SOEXT)=.rootmap)
 
 # used in the main Makefile
 ALLHDRS     += $(patsubst $(MODDIRI)/%.h,include/%.h,$(GFALH))
 ALLLIBS     += $(GFALLIB)
+ALLMAPS     += $(GFALMAP)
 
 # include all dependency files
 INCLUDEFILES += $(GFALDEP)
@@ -45,13 +47,11 @@ $(GFALDS):      $(GFALH) $(GFALL) $(ROOTCINTTMPEXE)
 		@echo "Generating dictionary $@..."
 		$(ROOTCINTTMP) -f $@ -c $(GFALH) $(GFALL)
 
-all-gfal:       $(GFALLIB)
+$(GFALMAP):     $(RLIBMAP) $(MAKEFILEDEP) $(GFALL)
+		$(RLIBMAP) -o $(GFALMAP) -l $(GFALLIB) \
+		   -d $(GFALLIBDEPM) -c $(GFALL)
 
-map-gfal:       $(RLIBMAP)
-		$(RLIBMAP) -r $(ROOTMAP) -l $(GFALLIB) \
-		   -d $(GFALLIBDEP) -c $(GFALL)
-
-map::           map-gfal
+all-gfal:       $(GFALLIB) $(GFALMAP)
 
 clean-gfal:
 		@rm -f $(GFALO) $(GFALDO)
@@ -59,7 +59,7 @@ clean-gfal:
 clean::         clean-gfal
 
 distclean-gfal: clean-gfal
-		@rm -f $(GFALDEP) $(GFALDS) $(GFALDH) $(GFALLIB)
+		@rm -f $(GFALDEP) $(GFALDS) $(GFALDH) $(GFALLIB) $(GFALMAP)
 
 distclean::     distclean-gfal
 
diff --git a/gl/Module.mk b/gl/Module.mk
index 8a17ee2d76dad4c6ef2c809b86e06af1d627f52c..484d67584f40d86b55f812f241a69161ad6002a2 100644
--- a/gl/Module.mk
+++ b/gl/Module.mk
@@ -48,10 +48,12 @@ GLO1         := $(GLS1:.c=.o)
 GLDEP        := $(GLO:.o=.d) $(GLDO:.o=.d) $(GLO1:.o=.d)
 
 GLLIB        := $(LPATH)/libRGL.$(SOEXT)
+GLMAP        := $(GLLIB:.$(SOEXT)=.rootmap)
 
 # used in the main Makefile
 ALLHDRS      += $(patsubst $(MODDIRI)/%.h,include/%.h,$(GLH))
 ALLLIBS      += $(GLLIB)
+ALLMAPS      += $(GLMAP)
 
 # include all dependency files
 INCLUDEFILES += $(GLDEP)
@@ -69,12 +71,11 @@ $(GLDS):	$(GLH2) $(GLL) $(ROOTCINTTMPEXE)
 		@echo "Generating dictionary $@..."
 		$(ROOTCINTTMP) -f $@ -c $(GLH2) $(GLL)
 
-all-gl:         $(GLLIB)
+$(GLMAP):       $(RLIBMAP) $(MAKEFILEDEP) $(GLL)
+		$(RLIBMAP) -o $(GLMAP) -l $(GLLIB) \
+		   -d $(GLLIBDEPM) -c $(GLL)
 
-map-gl:         $(RLIBMAP)
-		$(RLIBMAP) -r $(ROOTMAP) -l $(GLLIB) -d $(GLLIBDEP) -c $(GLL)
-
-map::           map-gl
+all-gl:         $(GLLIB) $(GLMAP)
 
 clean-gl:
 		@rm -f $(GLO) $(GLO1) $(GLDO)
@@ -82,7 +83,7 @@ clean-gl:
 clean::         clean-gl
 
 distclean-gl:   clean-gl
-		@rm -f $(GLDEP) $(GLLIB) $(GLDS) $(GLDH)
+		@rm -f $(GLDEP) $(GLLIB) $(GLDS) $(GLDH) $(GLMAP)
 
 distclean::     distclean-gl
 
diff --git a/gpad/Module.mk b/gpad/Module.mk
index cc2b8c87f749af6d296d60dbbd54465491c556f6..739be831b77767d53b436f98490e7aa2899b74da 100644
--- a/gpad/Module.mk
+++ b/gpad/Module.mk
@@ -24,10 +24,12 @@ GPADO        := $(GPADS:.cxx=.o)
 GPADDEP      := $(GPADO:.o=.d) $(GPADDO:.o=.d)
 
 GPADLIB      := $(LPATH)/libGpad.$(SOEXT)
+GPADMAP      := $(GPADLIB:.$(SOEXT)=.rootmap)
 
 # used in the main Makefile
 ALLHDRS     += $(patsubst $(MODDIRI)/%.h,include/%.h,$(GPADH))
 ALLLIBS     += $(GPADLIB)
+ALLMAPS     += $(GPADMAP)
 
 # include all dependency files
 INCLUDEFILES += $(GPADDEP)
@@ -45,13 +47,11 @@ $(GPADDS):      $(GPADH) $(GPADL) $(ROOTCINTTMPEXE)
 		@echo "Generating dictionary $@..."
 		$(ROOTCINTTMP) -f $@ -c $(GPADH) $(GPADL)
 
-all-gpad:       $(GPADLIB)
+$(GPADMAP):     $(RLIBMAP) $(MAKEFILEDEP) $(GPADL)
+		$(RLIBMAP) -o $(GPADMAP) -l $(GPADLIB) \
+		   -d $(GPADLIBDEPM) -c $(GPADL)
 
-map-gpad:       $(RLIBMAP)
-		$(RLIBMAP) -r $(ROOTMAP) -l $(GPADLIB) \
-		   -d $(GPADLIBDEP) -c $(GPADL)
-
-map::           map-gpad
+all-gpad:       $(GPADLIB) $(GPADMAP)
 
 clean-gpad:
 		@rm -f $(GPADO) $(GPADDO)
@@ -59,6 +59,6 @@ clean-gpad:
 clean::         clean-gpad
 
 distclean-gpad: clean-gpad
-		@rm -f $(GPADDEP) $(GPADDS) $(GPADDH) $(GPADLIB)
+		@rm -f $(GPADDEP) $(GPADDS) $(GPADDH) $(GPADLIB) $(GPADMAP)
 
 distclean::     distclean-gpad
diff --git a/graf/Module.mk b/graf/Module.mk
index fd71f56f8b88db2522e1bb585d7984b5cd3bf5f3..f5e4a59b810e53c4b038f352caa25343e30f260a 100644
--- a/graf/Module.mk
+++ b/graf/Module.mk
@@ -32,10 +32,12 @@ GRAFO        := $(GRAFS:.cxx=.o)
 GRAFDEP      := $(GRAFO:.o=.d) $(GRAFDO:.o=.d)
 
 GRAFLIB      := $(LPATH)/libGraf.$(SOEXT)
+GRAFMAP      := $(GRAFLIB:.$(SOEXT)=.rootmap)
 
 # used in the main Makefile
 ALLHDRS     += $(patsubst $(MODDIRI)/%.h,include/%.h,$(GRAFH))
 ALLLIBS     += $(GRAFLIB)
+ALLMAPS     += $(GRAFMAP)
 
 # include all dependency files
 INCLUDEFILES += $(GRAFDEP)
@@ -57,13 +59,11 @@ $(GRAFDS2):     $(GRAFH) $(GRAFL2) $(ROOTCINTTMPEXE)
 		@echo "Generating dictionary $@..."
 		$(ROOTCINTTMP) -f $@ -c $(FREETYPEINC) $(GRAFH) $(GRAFL2)
 
-all-graf:       $(GRAFLIB)
+$(GRAFMAP):     $(RLIBMAP) $(MAKEFILEDEP) $(GRAFL1) $(GRAFL2)
+		$(RLIBMAP) -o $(GRAFMAP) -l $(GRAFLIB) \
+		   -d $(GRAFLIBDEPM) -c $(GRAFL1) $(GRAFL2)
 
-map-graf:       $(RLIBMAP)
-		$(RLIBMAP) -r $(ROOTMAP) -l $(GRAFLIB) \
-		   -d $(GRAFLIBDEP) -c $(GRAFL1) $(GRAFL2)
-
-map::           map-graf
+all-graf:       $(GRAFLIB) $(GRAFMAP)
 
 clean-graf:
 		@rm -f $(GRAFO) $(GRAFDO)
@@ -71,7 +71,7 @@ clean-graf:
 clean::         clean-graf
 
 distclean-graf: clean-graf
-		@rm -f $(GRAFDEP) $(GRAFDS) $(GRAFDH) $(GRAFLIB)
+		@rm -f $(GRAFDEP) $(GRAFDS) $(GRAFDH) $(GRAFLIB) $(GRAFMAP)
 
 distclean::     distclean-graf
 
diff --git a/gui/Module.mk b/gui/Module.mk
index b7c76298df959121e4a50affb4a2acad3d62a52d..13669f306b56c013737a97560300e630ee4e71ee 100644
--- a/gui/Module.mk
+++ b/gui/Module.mk
@@ -59,10 +59,12 @@ GUIO         := $(GUIS:.cxx=.o)
 GUIDEP       := $(GUIO:.o=.d) $(GUIDO:.o=.d)
 
 GUILIB       := $(LPATH)/libGui.$(SOEXT)
+GUIMAP       := $(GUILIB:.$(SOEXT)=.rootmap)
 
 # used in the main Makefile
 ALLHDRS     += $(patsubst $(MODDIRI)/%.h,include/%.h,$(GUIH))
 ALLLIBS     += $(GUILIB)
+ALLMAPS     += $(GUIMAP)
 
 # include all dependency files
 INCLUDEFILES += $(GUIDEP)
@@ -86,13 +88,11 @@ $(GUIDS3):      $(GUIH3) $(GUIL3) $(ROOTCINTTMPEXE)
 		@echo "Generating dictionary $@..."
 		$(ROOTCINTTMP) -f $@ -c $(GUIH3) $(GUIL3)
 
-all-gui:        $(GUILIB)
+$(GUIMAP):      $(RLIBMAP) $(MAKEFILEDEP) $(GUIL1) $(GUIL2) $(GUIL3)
+		$(RLIBMAP) -o $(GUIMAP) -l $(GUILIB) \
+		   -d $(GUILIBDEPM) -c $(GUIL1) $(GUIL2) $(GUIL3)
 
-map-gui:        $(RLIBMAP)
-		$(RLIBMAP) -r $(ROOTMAP) -l $(GUILIB) \
-		   -d $(GUILIBDEP) -c $(GUIL1) $(GUIL2) $(GUIL3)
-
-map::           map-gui
+all-gui:        $(GUILIB) $(GUIMAP)
 
 clean-gui:
 		@rm -f $(GUIO) $(GUIDO)
@@ -100,6 +100,6 @@ clean-gui:
 clean::         clean-gui
 
 distclean-gui:  clean-gui
-		@rm -f $(GUIDEP) $(GUIDS) $(GUIDH) $(GUILIB)
+		@rm -f $(GUIDEP) $(GUIDS) $(GUIDH) $(GUILIB) $(GUIMAP)
 
 distclean::     distclean-gui
diff --git a/guibuilder/Module.mk b/guibuilder/Module.mk
index 1be77d9fe5cd13996317459d8bf0f489b54940ca..4be21d0dc14c3a9a2595b9752965dd39d1e73c71 100644
--- a/guibuilder/Module.mk
+++ b/guibuilder/Module.mk
@@ -24,10 +24,12 @@ GUIBLDO      := $(GUIBLDS:.cxx=.o)
 GUIBLDDEP    := $(GUIBLDO:.o=.d) $(GUIBLDDO:.o=.d)
 
 GUIBLDLIB    := $(LPATH)/libGuiBld.$(SOEXT)
+GUIBLDMAP    := $(GUIBLDLIB:.$(SOEXT)=.rootmap)
 
 # used in the main Makefile
 ALLHDRS     += $(patsubst $(MODDIRI)/%.h,include/%.h,$(GUIBLDH))
 ALLLIBS     += $(GUIBLDLIB)
+ALLMAPS     += $(GUIBLDMAP)
 
 # include all dependency files
 INCLUDEFILES += $(GUIBLDDEP)
@@ -45,13 +47,11 @@ $(GUIBLDDS):    $(GUIBLDH) $(GUIBLDL) $(ROOTCINTTMPEXE)
 		@echo "Generating dictionary $@..."
 		$(ROOTCINTTMP) -f $@ -c $(GUIBLDH) $(GUIBLDL)
 
-all-guibuilder: $(GUIBLDLIB)
+$(GUIBLDMAP):   $(RLIBMAP) $(MAKEFILEDEP) $(GUIBLDL)
+		$(RLIBMAP) -o $(GUIBLDMAP) -l $(GUIBLDLIB) \
+		   -d $(GUIBLDLIBDEPM) -c $(GUIBLDL)
 
-map-guibuilder: $(RLIBMAP)
-		$(RLIBMAP) -r $(ROOTMAP) -l $(GUIBLDLIB) \
-		   -d $(GUIBLDLIBDEP) -c $(GUIBLDL)
-
-map::           map-guibuilder
+all-guibuilder: $(GUIBLDLIB) $(GUIBLDMAP)
 
 clean-guibuilder:
 		@rm -f $(GUIBLDO) $(GUIBLDDO)
@@ -59,6 +59,6 @@ clean-guibuilder:
 clean::         clean-guibuilder
 
 distclean-guibuilder: clean-guibuilder
-		@rm -f $(GUIBLDDEP) $(GUIBLDDS) $(GUIBLDDH) $(GUIBLDLIB)
+		@rm -f $(GUIBLDDEP) $(GUIBLDDS) $(GUIBLDDH) $(GUIBLDLIB) $(GUIBLDMAP)
 
 distclean::     distclean-guibuilder
diff --git a/hbook/Module.mk b/hbook/Module.mk
index e2d626ff4ca34512032e9af6ca53bcafdfac0d6a..559182b44f004c1d45ad169d13781264ee6fe5c6 100644
--- a/hbook/Module.mk
+++ b/hbook/Module.mk
@@ -27,10 +27,12 @@ HBOOKO       := $(HBOOKO1) $(HBOOKO2)
 HBOOKDEP     := $(HBOOKS1:.cxx=.d) $(HBOOKDO:.o=.d)
 
 HBOOKLIB     := $(LPATH)/libHbook.$(SOEXT)
+HBOOKMAP     := $(HBOOKLIB:.$(SOEXT)=.rootmap)
 
 # used in the main Makefile
 ALLHDRS     += $(patsubst $(MODDIRI)/%.h,include/%.h,$(HBOOKH))
 ALLLIBS     += $(HBOOKLIB)
+ALLMAPS     += $(HBOOKMAP)
 
 # include all dependency files
 INCLUDEFILES += $(HBOOKDEP)
@@ -49,13 +51,11 @@ $(HBOOKDS):     $(HBOOKH) $(HBOOKL) $(ROOTCINTTMPEXE)
 		@echo "Generating dictionary $@..."
 		$(ROOTCINTTMP) -f $@ -c $(HBOOKH) $(HBOOKL)
 
-all-hbook:      $(HBOOKLIB)
+$(HBOOKMAP):    $(RLIBMAP) $(MAKEFILEDEP) $(HBOOKL)
+		$(RLIBMAP) -o $(HBOOKMAP) -l $(HBOOKLIB) \
+		   -d $(HBOOKLIBDEPM) -c $(HBOOKL)
 
-map-hbook:      $(RLIBMAP)
-		$(RLIBMAP) -r $(ROOTMAP) -l $(HBOOKLIB) \
-		   -d $(HBOOKLIBDEP) -c $(HBOOKL)
-
-map::           map-hbook
+all-hbook:      $(HBOOKLIB) $(HBOOKMAP)
 
 clean-hbook:
 		@rm -f $(HBOOKO) $(HBOOKDO)
@@ -63,7 +63,6 @@ clean-hbook:
 clean::         clean-hbook
 
 distclean-hbook: clean-hbook
-		@rm -f $(HBOOKDEP) $(HBOOKDS) $(HBOOKDH) $(HBOOKLIB)
+		@rm -f $(HBOOKDEP) $(HBOOKDS) $(HBOOKDH) $(HBOOKLIB) $(HBOOKMAP)
 
 distclean::     distclean-hbook
-
diff --git a/hist/Module.mk b/hist/Module.mk
index 547e088ce14da5e68b33a3bc22c655017dda3949..8771f83fa608825ff6f75a85ff7d15a722448b3d 100644
--- a/hist/Module.mk
+++ b/hist/Module.mk
@@ -24,10 +24,12 @@ HISTO        := $(HISTS:.cxx=.o)
 HISTDEP      := $(HISTO:.o=.d) $(HISTDO:.o=.d)
 
 HISTLIB      := $(LPATH)/libHist.$(SOEXT)
+HISTMAP      := $(HISTLIB:.$(SOEXT)=.rootmap)
 
 # used in the main Makefile
 ALLHDRS     += $(patsubst $(MODDIRI)/%.h,include/%.h,$(HISTH))
 ALLLIBS     += $(HISTLIB)
+ALLMAPS     += $(HISTMAP)
 
 # include all dependency files
 INCLUDEFILES += $(HISTDEP)
@@ -45,13 +47,11 @@ $(HISTDS):      $(HISTH) $(HISTL) $(ROOTCINTTMPEXE)
 		@echo "Generating dictionary $@..."
 		$(ROOTCINTTMP) -f $@ -c $(HISTH) $(HISTL)
 
-all-hist:       $(HISTLIB)
+$(HISTMAP):     $(RLIBMAP) $(MAKEFILEDEP) $(HISTL)
+		$(RLIBMAP) -o $(HISTMAP) -l $(HISTLIB) \
+		   -d $(HISTLIBDEPM) -c $(HISTL)
 
-map-hist:       $(RLIBMAP)
-		$(RLIBMAP) -r $(ROOTMAP) -l $(HISTLIB) \
-		   -d $(HISTLIBDEP) -c $(HISTL)
-
-map::           map-hist
+all-hist:       $(HISTLIB) $(HISTMAP)
 
 clean-hist:
 		@rm -f $(HISTO) $(HISTDO)
@@ -59,6 +59,6 @@ clean-hist:
 clean::         clean-hist
 
 distclean-hist: clean-hist
-		@rm -f $(HISTDEP) $(HISTDS) $(HISTDH) $(HISTLIB)
+		@rm -f $(HISTDEP) $(HISTDS) $(HISTDH) $(HISTLIB) $(HISTMAP)
 
 distclean::     distclean-hist
diff --git a/histpainter/Module.mk b/histpainter/Module.mk
index 3ff7ddbbb65b62e6b53625d584bcd05eec709c27..a0ff194c828266881254b715c7119a72c271a23d 100644
--- a/histpainter/Module.mk
+++ b/histpainter/Module.mk
@@ -25,10 +25,12 @@ HISTPAINTERO  := $(HISTPAINTERS:.cxx=.o)
 HISTPAINTERDEP := $(HISTPAINTERO:.o=.d) $(HISTPAINTERDO:.o=.d)
 
 HISTPAINTERLIB := $(LPATH)/libHistPainter.$(SOEXT)
+HISTPAINTERMAP := $(HISTPAINTERLIB:.$(SOEXT)=.rootmap)
 
 # used in the main Makefile
 ALLHDRS       += $(patsubst $(MODDIRI)/%.h,include/%.h,$(HISTPAINTERH))
 ALLLIBS       += $(HISTPAINTERLIB)
+ALLMAPS       += $(HISTPAINTERMAP)
 
 # include all dependency files
 INCLUDEFILES += $(HISTPAINTERDEP)
@@ -48,13 +50,11 @@ $(HISTPAINTERDS): $(HISTPAINTERH1) $(HISTPAINTERL) $(ROOTCINTTMPEXE)
 		@echo "Generating dictionary $@..."
 		$(ROOTCINTTMP) -f $@ -c $(HISTPAINTERH1) $(HISTPAINTERL)
 
-all-histpainter: $(HISTPAINTERLIB)
+$(HISTPAINTERMAP): $(RLIBMAP) $(MAKEFILEDEP) $(HISTPAINTERL)
+		$(RLIBMAP) -o $(HISTPAINTERMAP) -l $(HISTPAINTERLIB) \
+		   -d $(HISTPAINTERLIBDEPM) -c $(HISTPAINTERL)
 
-map-histpainter: $(RLIBMAP)
-		$(RLIBMAP) -r $(ROOTMAP) -l $(HISTPAINTERLIB) \
-		   -d $(HISTPAINTERLIBDEP) -c $(HISTPAINTERL)
-
-map::           map-histpainter
+all-histpainter: $(HISTPAINTERLIB) $(HISTPAINTERMAP)
 
 clean-histpainter:
 		@rm -f $(HISTPAINTERO) $(HISTPAINTERDO)
@@ -63,6 +63,6 @@ clean::         clean-histpainter
 
 distclean-histpainter: clean-histpainter
 		@rm -f $(HISTPAINTERDEP) $(HISTPAINTERDS) $(HISTPAINTERDH) \
-		   $(HISTPAINTERLIB)
+		   $(HISTPAINTERLIB) $(HISTPAINTERMAP)
 
 distclean::     distclean-histpainter
diff --git a/html/Module.mk b/html/Module.mk
index c6ed163adc283d4d9e8da6fc467830fba0503153..bb5cc59a0324c8f0f1db16591bdcd422d75729b9 100644
--- a/html/Module.mk
+++ b/html/Module.mk
@@ -24,10 +24,12 @@ HTMLO        := $(HTMLS:.cxx=.o)
 HTMLDEP      := $(HTMLO:.o=.d) $(HTMLDO:.o=.d)
 
 HTMLLIB      := $(LPATH)/libHtml.$(SOEXT)
+HTMLMAP      := $(HTMLLIB:.$(SOEXT)=.rootmap)
 
 # used in the main Makefile
 ALLHDRS     += $(patsubst $(MODDIRI)/%.h,include/%.h,$(HTMLH))
 ALLLIBS     += $(HTMLLIB)
+ALLMAPS     += $(HTMLMAP)
 
 # include all dependency files
 INCLUDEFILES += $(HTMLDEP)
@@ -45,13 +47,11 @@ $(HTMLDS):      $(HTMLH) $(HTMLL) $(ROOTCINTTMPEXE)
 		@echo "Generating dictionary $@..."
 		$(ROOTCINTTMP) -f $@ -c $(HTMLH) $(HTMLL)
 
-all-html:       $(HTMLLIB)
+$(HTMLMAP):     $(RLIBMAP) $(MAKEFILEDEP) $(HTMLL)
+		$(RLIBMAP) -o $(HTMLMAP) -l $(HTMLLIB) \
+		   -d $(HTMLLIBDEPM) -c $(HTMLL)
 
-map-html:       $(RLIBMAP)
-		$(RLIBMAP) -r $(ROOTMAP) -l $(HTMLLIB) \
-		   -d $(HTMLLIBDEP) -c $(HTMLL)
-
-map::           map-html
+all-html:       $(HTMLLIB) $(HTMLMAP)
 
 clean-html:
 		@rm -f $(HTMLO) $(HTMLDO)
@@ -59,6 +59,6 @@ clean-html:
 clean::         clean-html
 
 distclean-html: clean-html
-		@rm -f $(HTMLDEP) $(HTMLDS) $(HTMLDH) $(HTMLLIB)
+		@rm -f $(HTMLDEP) $(HTMLDS) $(HTMLDH) $(HTMLLIB) $(HTMLMAP)
 
 distclean::     distclean-html
diff --git a/io/Module.mk b/io/Module.mk
index a7fe9dffa48e6b803e0a0fa579b37d03da2f68e8..41d1db80719f84ec4b97d2c493f732795cf95c84 100644
--- a/io/Module.mk
+++ b/io/Module.mk
@@ -24,10 +24,12 @@ IOO          := $(IOS:.cxx=.o)
 IODEP        := $(IOO:.o=.d) $(IODO:.o=.d)
 
 IOLIB        := $(LPATH)/libRIO.$(SOEXT)
+IOMAP        := $(IOLIB:.$(SOEXT)=.rootmap)
 
 # used in the main Makefile
 ALLHDRS      += $(patsubst $(MODDIRI)/%.h,include/%.h,$(IOH))
 ALLLIBS      += $(IOLIB)
+ALLMAPS      += $(IOMAP)
 
 # include all dependency files
 INCLUDEFILES += $(IODEP)
@@ -45,13 +47,10 @@ $(IODS):        $(IOH) $(IOL) $(ROOTCINTTMPEXE)
 		@echo "Generating dictionary $@..."
 		$(ROOTCINTTMP) -f $@ -c $(IOH) $(IOL)
 
-all-io:         $(IOLIB)
+$(IOMAP):       $(RLIBMAP) $(MAKEFILEDEP) $(IOL)
+		$(RLIBMAP) -o $(IOMAP) -l $(IOLIB) -d $(IOLIBDEPM) -c $(IOL)
 
-map-io:         $(RLIBMAP)
-		$(RLIBMAP) -r $(ROOTMAP) -l $(IOLIB) \
-		   -d $(IOLIBDEP) -c $(IOL)
-
-map::           map-io
+all-io:         $(IOLIB) $(IOMAP)
 
 clean-io:
 		@rm -f $(IOO) $(IODO)
@@ -59,6 +58,6 @@ clean-io:
 clean::         clean-io
 
 distclean-io:   clean-io
-		@rm -f $(IODEP) $(IODS) $(IODH) $(IOLIB)
+		@rm -f $(IODEP) $(IODS) $(IODH) $(IOLIB) $(IOMAP)
 
 distclean::     distclean-io
diff --git a/krb5auth/Module.mk b/krb5auth/Module.mk
index 2bb34c5a475af6c7fa814d234da80148f171ba17..fc3be5d9f02f81cee3a4967421e8cd217c5593fe 100644
--- a/krb5auth/Module.mk
+++ b/krb5auth/Module.mk
@@ -26,10 +26,12 @@ KRB5AUTHO    := $(KRB5AUTHS:.cxx=.o)
 KRB5AUTHDEP  := $(KRB5AUTHO:.o=.d)
 
 KRB5AUTHLIB  := $(LPATH)/libKrb5Auth.$(SOEXT)
+KRB5AUTHMAP  := $(KRB5AUTHLIB:.$(SOEXT)=.rootmap)
 
 # used in the main Makefile
 ALLHDRS     += $(patsubst $(MODDIRI)/%.h,include/%.h,$(KRB5AUTHH))
 ALLLIBS     += $(KRB5AUTHLIB)
+ALLMAPS     += $(KRB5AUTHMAP)
 
 # include all dependency files
 INCLUDEFILES += $(KRB5AUTHDEP)
@@ -50,13 +52,11 @@ $(KRB5AUTHDS):  $(KRB5AUTHH1) $(KRB5AUTHL) $(ROOTCINTTMPEXE)
 		@echo "Generating dictionary $@..."
 		$(ROOTCINTTMP) -f $@ -c $(KRB5INCDIR:%=-I%) $(KRB5AUTHH1) $(KRB5AUTHL)
 
-all-krb5auth:   $(KRB5AUTHLIB)
+$(KRB5AUTHMAP): $(RLIBMAP) $(MAKEFILEDEP) $(KRB5AUTHL)
+		$(RLIBMAP) -o $(KRB5AUTHMAP) -l $(KRB5AUTHLIB) \
+		   -d $(KRB5AUTHLIBDEPM) -c $(KRB5AUTHL)
 
-map-krb5auth:   $(RLIBMAP)
-		$(RLIBMAP) -r $(ROOTMAP) -l $(KRB5AUTHLIB) \
-		   -d $(KRB5AUTHLIBDEP) -c $(KRB5AUTHL)
-
-map::           map-krb5auth
+all-krb5auth:   $(KRB5AUTHLIB) $(KRB5AUTHMAP)
 
 clean-krb5auth:
 		@rm -f $(KRB5AUTHO) $(KRB5AUTHDO)
@@ -64,7 +64,8 @@ clean-krb5auth:
 clean::         clean-krb5auth
 
 distclean-krb5auth: clean-krb5auth
-		@rm -f $(KRB5AUTHDEP) $(KRB5AUTHDS) $(KRB5AUTHDH) $(KRB5AUTHLIB)
+		@rm -f $(KRB5AUTHDEP) $(KRB5AUTHDS) $(KRB5AUTHDH) \
+		   $(KRB5AUTHLIB) $(KRB5AUTHMAP)
 
 distclean::     distclean-krb5auth
 
diff --git a/ldap/Module.mk b/ldap/Module.mk
index 36d225213f7a73d7e70226c8653b22bf4bf9456e..76863706ff475af033c3dc8627f1ac4d12e29c44 100644
--- a/ldap/Module.mk
+++ b/ldap/Module.mk
@@ -24,10 +24,12 @@ LDAPO        := $(LDAPS:.cxx=.o)
 LDAPDEP      := $(LDAPO:.o=.d) $(LDAPDO:.o=.d)
 
 LDAPLIB      := $(LPATH)/libRLDAP.$(SOEXT)
+LDAPMAP      := $(LDAPLIB:.$(SOEXT)=.rootmap)
 
 # used in the main Makefile
 ALLHDRS     += $(patsubst $(MODDIRI)/%.h,include/%.h,$(LDAPH))
 ALLLIBS     += $(LDAPLIB)
+ALLMAPS     += $(LDAPMAP)
 
 # include all dependency files
 INCLUDEFILES += $(LDAPDEP)
@@ -45,13 +47,11 @@ $(LDAPDS):      $(LDAPH) $(LDAPL) $(ROOTCINTTMPEXE)
 		@echo "Generating dictionary $@..."
 		$(ROOTCINTTMP) -f $@ -c $(LDAPH) $(LDAPL)
 
-all-ldap:       $(LDAPLIB)
+$(LDAPMAP):     $(RLIBMAP) $(MAKEFILEDEP) $(LDAPL)
+		$(RLIBMAP) -o $(LDAPMAP) -l $(LDAPLIB) \
+		   -d $(LDAPLIBDEPM) -c $(LDAPL)
 
-map-ldap:       $(RLIBMAP)
-		$(RLIBMAP) -r $(ROOTMAP) -l $(LDAPLIB) \
-		   -d $(LDAPLIBDEP) -c $(LDAPL)
-
-map::           map-ldap
+all-ldap:       $(LDAPLIB) $(LDAPMAP)
 
 clean-ldap:
 		@rm -f $(LDAPO) $(LDAPDO)
@@ -59,7 +59,7 @@ clean-ldap:
 clean::         clean-ldap
 
 distclean-ldap: clean-ldap
-		@rm -f $(LDAPDEP) $(LDAPDS) $(LDAPDH) $(LDAPLIB)
+		@rm -f $(LDAPDEP) $(LDAPDS) $(LDAPDH) $(LDAPLIB) $(LDAPMAP)
 
 distclean::     distclean-ldap
 
diff --git a/math/Module.mk b/math/Module.mk
index ba82767d41a7bdf109efe710a9c71768dbceb8bc..769e8c8140745ea43070c19cb74b34e454533853 100644
--- a/math/Module.mk
+++ b/math/Module.mk
@@ -24,10 +24,12 @@ MATHO        := $(MATHS:.cxx=.o)
 MATHDEP      := $(MATHO:.o=.d) $(MATHDO:.o=.d)
 
 MATHLIB      := $(LPATH)/libRMath.$(SOEXT)
+MATHMAP      := $(MATHLIB:.$(SOEXT)=.rootmap)
 
 # used in the main Makefile
 ALLHDRS     += $(patsubst $(MODDIRI)/%.h,include/%.h,$(MATHH))
 #ALLLIBS     += $(MATHLIB)
+#ALLMAPS     += $(MATHMAP)
 
 # include all dependency files
 INCLUDEFILES += $(MATHDEP)
@@ -45,14 +47,12 @@ $(MATHDS):      $(MATHH) $(MATHL) $(ROOTCINTTMPEXE)
 		@echo "Generating dictionary $@..."
 		$(ROOTCINTTMP) -f $@ -c $(MATHH) $(MATHL)
 
-#all-math:       $(MATHLIB)
-all-math:       $(MATHO) $(MATHDO)
-
-#map-math:       $(RLIBMAP)
-#		$(RLIBMAP) -r $(ROOTMAP) -l $(MATHLIB) \
-#		   -d $(MATHLIBDEP) -c $(MATHL)
+$(MATHMAP):     $(RLIBMAP) $(MAKEFILEDEP) $(MATHL)
+		$(RLIBMAP) -o $(MATHMAP) -l $(MATHLIB) \
+		   -d $(MATHLIBDEPM) -c $(MATHL)
 
-#map::           map-tree
+#all-math:       $(MATHLIB) $(MATHMAP)
+all-math:       $(MATHO) $(MATHDO)
 
 clean-math:
 		@rm -f $(MATHO) $(MATHDO)
@@ -60,6 +60,6 @@ clean-math:
 clean::         clean-math
 
 distclean-math: clean-math
-		@rm -f $(MATHDEP) $(MATHDS) $(MATHDH)
+		@rm -f $(MATHDEP) $(MATHDS) $(MATHDH) $(MATHLIB) $(MATHMAP)
 
 distclean::     distclean-math
diff --git a/mathcore/Module.mk b/mathcore/Module.mk
index 31ca3d941a9b4c5cc044e00adf39c9b773e72388..f900ee6134bb27769e9c9318686d1ce156df36dd 100644
--- a/mathcore/Module.mk
+++ b/mathcore/Module.mk
@@ -12,18 +12,18 @@ MATHCOREDIRS := $(MATHCOREDIR)/src
 MATHCOREDIRI := $(MATHCOREDIR)/inc
 
 ##### libMathCore #####
-MATHCOREL    := $(MODDIRI)/Math/LinkDef.h 
-MATHCOREL32  := $(MODDIRI)/Math/LinkDef_GenVector32.h 
+MATHCOREL    := $(MODDIRI)/Math/LinkDef.h
+MATHCOREL32  := $(MODDIRI)/Math/LinkDef_GenVector32.h
 MATHCORELINC := $(MODDIRI)/Math/LinkDef_Func.h \
                 $(MODDIRI)/Math/LinkDef_GenVector.h \
                 $(MODDIRI)/Math/LinkDef_Point3D.h \
                 $(MODDIRI)/Math/LinkDef_Vector3D.h \
                 $(MODDIRI)/Math/LinkDef_Vector4D.h \
-                $(MODDIRI)/Math/LinkDef_Rotation.h 
+                $(MODDIRI)/Math/LinkDef_Rotation.h
 MATHCOREDS   := $(MODDIRS)/G__MathCore.cxx
 MATHCOREDS32 := $(MODDIRS)/G__MathCore32.cxx
-MATHCOREDO   := $(MATHCOREDS:.cxx=.o) 
-MATHCOREDO32 := $(MATHCOREDS32:.cxx=.o) 
+MATHCOREDO   := $(MATHCOREDS:.cxx=.o)
+MATHCOREDO32 := $(MATHCOREDS32:.cxx=.o)
 MATHCOREDH   := $(MATHCOREDS:.cxx=.h)
 
 MATHCOREDH1  :=  $(MODDIRI)/Math/Vector3D.h \
@@ -47,7 +47,7 @@ MATHCOREDH1  :=  $(MODDIRI)/Math/Vector3D.h \
                  $(MODDIRI)/Math/DistFuncMathCore.h \
                  $(MODDIRI)/Math/IParamFunction.h \
                  $(MODDIRI)/Math/IFunction.h \
-                 $(MODDIRI)/Math/VectorUtil_Cint.h 
+                 $(MODDIRI)/Math/VectorUtil_Cint.h
 
 
 MATHCOREDH132:=  $(MODDIRI)/Math/Vector3D.h \
@@ -65,10 +65,12 @@ MATHCOREO    := $(MATHCORES:.cxx=.o)
 MATHCOREDEP  := $(MATHCOREO:.o=.d)  $(MATHCOREDO:.o=.d) $(MATHCOREDO32:.o=.d)
 
 MATHCORELIB  := $(LPATH)/libMathCore.$(SOEXT)
+MATHCOREMAP  := $(MATHCORELIB:.$(SOEXT)=.rootmap)
 
 # used in the main Makefile
 ALLHDRS      += $(patsubst $(MODDIRI)/Math/%.h,include/Math/%.h,$(MATHCOREH))
 ALLLIBS      += $(MATHCORELIB)
+ALLMAPS      += $(MATHCOREMAP)
 
 # include all dependency files
 INCLUDEFILES += $(MATHCOREDEP)
@@ -86,7 +88,7 @@ $(MATHCORELIB): $(MATHCOREO) $(MATHCOREDO) $(MATHCOREDO32) $(ORDER_) $(MAINLIBS)
 		   "$(MATHCOREO) $(MATHCOREDO) $(MATHCOREDO32)"    \
 		   "$(MATHCORELIBEXTRA)"
 
-$(MATHCOREDS):  $(MATHCOREDH1) $(MATHCOREL) $(MATHCORELINC) $(ROOTCINTTMPEXE) 
+$(MATHCOREDS):  $(MATHCOREDH1) $(MATHCOREL) $(MATHCORELINC) $(ROOTCINTTMPEXE)
 		@echo "Generating dictionary $@..."
 		@echo "for files $(MATHCOREDH1)"
 		$(ROOTCINTTMP) -f $@ -c $(MATHCOREDH1) $(MATHCOREL)
@@ -97,13 +99,11 @@ $(MATHCOREDS32):$(MATHCOREDH132) $(MATHCOREL) $(MATHCORELINC) $(ROOTCINTTMPEXE)
 		@echo "for files $(MATHCOREDH132)"
 		$(ROOTCINTTMP) -f $@ -c $(MATHCOREDH132) $(MATHCOREL32)
 
-all-mathcore:   $(MATHCORELIB)
+$(MATHCOREMAP): $(RLIBMAP) $(MAKEFILEDEP) $(MATHCOREL) $(MATHCORELINC) $(MATHCOREL32)
+		$(RLIBMAP) -o $(MATHCOREMAP) -l $(MATHCORELIB) \
+		   -d $(MATHCORELIBDEPM) -c $(MATHCOREL) $(MATHCORELINC) $(MATHCOREL32)
 
-map-mathcore:   $(RLIBMAP)
-		$(RLIBMAP) -r $(ROOTMAP) -l $(MATHCORELIB) \
-		   -d $(MATHCORELIBDEP) -c $(MATHCOREL) $(MATHCORELINC) $(MATHCOREL32)
-
-map::           map-mathcore
+all-mathcore:   $(MATHCORELIB) $(MATHCOREMAP)
 
 clean-mathcore:
 		@rm -f $(MATHCOREO) $(MATHCOREDO)
@@ -111,7 +111,8 @@ clean-mathcore:
 clean::         clean-mathcore
 
 distclean-mathcore: clean-mathcore
-		@rm -f $(MATHCOREDEP) $(MATHCOREDS) $(MATHCOREDS32) $(MATHCOREDH) $(MATHCORELIB)
+		@rm -f $(MATHCOREDEP) $(MATHCOREDS) $(MATHCOREDS32) $(MATHCOREDH) \
+		   $(MATHCORELIB) $(MATHCOREMAP)
 		@rm -rf include/Math
 
 distclean::     distclean-mathcore
diff --git a/mathmore/Module.mk b/mathmore/Module.mk
index 973f2f98aabae49b763bb718cb1cc1f53642588e..f6a6d4a0981c1a269836adaf5fefe08b92ad99ce 100644
--- a/mathmore/Module.mk
+++ b/mathmore/Module.mk
@@ -12,7 +12,7 @@ MATHMOREDIRS := $(MATHMOREDIR)/src
 MATHMOREDIRI := $(MATHMOREDIR)/inc
 
 
-###pre-compiled GSL DLL require Mathmore to be compiled with -DGSL_DLL 
+###pre-compiled GSL DLL require Mathmore to be compiled with -DGSL_DLL
 #ifeq ($(PLATFORM),win32)
 #GSLFLAGS += "-DGSL_DLL"
 #endif
@@ -50,10 +50,12 @@ MATHMOREO    := $(MATHMORES:.cxx=.o)
 MATHMOREDEP  := $(MATHMOREO:.o=.d) $(MATHMOREDO:.o=.d)
 
 MATHMORELIB  := $(LPATH)/libMathMore.$(SOEXT)
+MATHMOREMAP  := $(MATHMORELIB:.$(SOEXT)=.rootmap)
 
 # used in the main Makefile
 ALLHDRS      += $(patsubst $(MODDIRI)/Math/%.h,include/Math/%.h,$(MATHMOREH))
 ALLLIBS      += $(MATHMORELIB)
+ALLMAPS      += $(MATHMOREMAP)
 
 # include all dependency files
 INCLUDEFILES += $(MATHMOREDEP)
@@ -75,13 +77,11 @@ $(MATHMOREDS):  $(MATHMOREDH1) $(MATHMOREL) $(MATHMORELINC) $(ROOTCINTTMPEXE)
 		@echo "Generating dictionary $@..."
 		$(ROOTCINTTMP)  -f  $@ -c $(MATHMOREDH1)  $(MATHMOREL)
 
-all-mathmore:   $(MATHMORELIB)
+$(MATHMOREMAP): $(RLIBMAP) $(MAKEFILEDEP) $(MATHMOREL) $(MATHMORELINC)
+		$(RLIBMAP) -o $(MATHMOREMAP) -l $(MATHMORELIB) \
+		   -d $(MATHMORELIBDEPM) -c $(MATHMOREL) $(MATHMORELINC)
 
-map-mathmore:   $(RLIBMAP)
-		$(RLIBMAP) -r $(ROOTMAP) -l $(MATHMORELIB) \
-		   -d $(MATHMORELIBDEP) -c $(MATHMOREL) $(MATHMORELINC)
-
-map::           map-mathmore
+all-mathmore:   $(MATHMORELIB) $(MATHMOREMAP)
 
 clean-mathmore:
 		@rm -f $(MATHMOREO) $(MATHMOREDO)
@@ -89,7 +89,8 @@ clean-mathmore:
 clean::         clean-mathmore
 
 distclean-mathmore: clean-mathmore
-		@rm -f $(MATHMOREDEP) $(MATHMOREDS) $(MATHMOREDH) $(MATHMORELIB)
+		@rm -f $(MATHMOREDEP) $(MATHMOREDS) $(MATHMOREDH) \
+		   $(MATHMORELIB) $(MATHMOREMAP)
 		@rm -rf include/Math
 
 distclean::     distclean-mathmore
diff --git a/matrix/Module.mk b/matrix/Module.mk
index f2edb99f63326d9ea653d31221bacc2db6c9eca5..8a47b6b9e805fac36beec288e730bb0daa56165a 100644
--- a/matrix/Module.mk
+++ b/matrix/Module.mk
@@ -24,10 +24,12 @@ MATRIXO      := $(MATRIXS:.cxx=.o)
 MATRIXDEP    := $(MATRIXO:.o=.d) $(MATRIXDO:.o=.d)
 
 MATRIXLIB    := $(LPATH)/libMatrix.$(SOEXT)
+MATRIXMAP    := $(MATRIXLIB:.$(SOEXT)=.rootmap)
 
 # used in the main Makefile
 ALLHDRS     += $(patsubst $(MODDIRI)/%.h,include/%.h,$(MATRIXH))
 ALLLIBS     += $(MATRIXLIB)
+ALLMAPS     += $(MATRIXMAP)
 
 # include all dependency files
 INCLUDEFILES += $(MATRIXDEP)
@@ -45,13 +47,11 @@ $(MATRIXDS):    $(MATRIXH) $(MATRIXL) $(ROOTCINTTMPEXE)
 		@echo "Generating dictionary $@..."
 		$(ROOTCINTTMP) -f $@ -c $(MATRIXH) $(MATRIXL)
 
-all-matrix:     $(MATRIXLIB)
+$(MATRIXMAP):   $(RLIBMAP) $(MAKEFILEDEP) $(MATRIXL)
+		$(RLIBMAP) -o $(MATRIXMAP) -l $(MATRIXLIB) \
+		   -d $(MATRIXLIBDEPM) -c $(MATRIXL)
 
-map-matrix:     $(RLIBMAP)
-		$(RLIBMAP) -r $(ROOTMAP) -l $(MATRIXLIB) \
-		   -d $(MATRIXLIBDEP) -c $(MATRIXL)
-
-map::           map-matrix
+all-matrix:     $(MATRIXLIB) $(MATRIXMAP)
 
 clean-matrix:
 		@rm -f $(MATRIXO) $(MATRIXDO)
@@ -59,6 +59,6 @@ clean-matrix:
 clean::         clean-matrix
 
 distclean-matrix: clean-matrix
-		@rm -f $(MATRIXDEP) $(MATRIXDS) $(MATRIXDH) $(MATRIXLIB)
+		@rm -f $(MATRIXDEP) $(MATRIXDS) $(MATRIXDH) $(MATRIXLIB) $(MATRIXMAP)
 
 distclean::     distclean-matrix
diff --git a/meta/src/TCint.cxx b/meta/src/TCint.cxx
index d4e6819dd221bb49801bf11350b3343b54f6c22c..1feb67ee87ffe2d5bd0fdd7ed8aca90c47e28990 100644
--- a/meta/src/TCint.cxx
+++ b/meta/src/TCint.cxx
@@ -1,4 +1,4 @@
-// @(#)root/meta:$Name:  $:$Id: TCint.cxx,v 1.142 2007/03/13 15:02:48 rdm Exp $
+// @(#)root/meta:$Name:  $:$Id: TCint.cxx,v 1.143 2007/03/28 21:56:10 pcanal Exp $
 // Author: Fons Rademakers   01/03/96
 
 /*************************************************************************
@@ -1037,10 +1037,6 @@ Int_t TCint::LoadLibraryMap()
    if (!fMapfile) {
       fMapfile = new TEnv(".rootmap");
 
-      if (!fMapfile->GetTable()->GetEntries())
-         Error("LoadLibraryMap", "library map empty, no system.rootmap file\n"
-               "found. ROOT not properly installed (run \"make install\").");
-
       fRootMapFiles = new TObjArray;
       fRootMapFiles->SetOwner();
 
diff --git a/minuit/Module.mk b/minuit/Module.mk
index eb9b12b493c89cafc98f8150cecb0e4f2542c1da..408077abc6dd5a5b1790b0ebb7845fca2d739324 100644
--- a/minuit/Module.mk
+++ b/minuit/Module.mk
@@ -24,10 +24,12 @@ MINUITO      := $(MINUITS:.cxx=.o)
 MINUITDEP    := $(MINUITO:.o=.d) $(MINUITDO:.o=.d)
 
 MINUITLIB    := $(LPATH)/libMinuit.$(SOEXT)
+MINUITMAP    := $(MINUITLIB:.$(SOEXT)=.rootmap)
 
 # used in the main Makefile
 ALLHDRS     += $(patsubst $(MODDIRI)/%.h,include/%.h,$(MINUITH))
 ALLLIBS     += $(MINUITLIB)
+ALLMAPS     += $(MINUITMAP)
 
 # include all dependency files
 INCLUDEFILES += $(MINUITDEP)
@@ -45,13 +47,11 @@ $(MINUITDS):    $(MINUITH) $(MINUITL) $(ROOTCINTTMPEXE)
 		@echo "Generating dictionary $@..."
 		$(ROOTCINTTMP) -f $@ -c $(MINUITH) $(MINUITL)
 
-all-minuit:     $(MINUITLIB)
+$(MINUITMAP):   $(RLIBMAP) $(MAKEFILEDEP) $(MINUITL)
+		$(RLIBMAP) -o $(MINUITMAP) -l $(MINUITLIB) \
+		   -d $(MINUITLIBDEPM) -c $(MINUITL)
 
-map-minuit:     $(RLIBMAP)
-		$(RLIBMAP) -r $(ROOTMAP) -l $(MINUITLIB) \
-		   -d $(MINUITLIBDEP) -c $(MINUITL)
-
-map::           map-minuit
+all-minuit:     $(MINUITLIB) $(MINUITMAP)
 
 clean-minuit:
 		@rm -f $(MINUITO) $(MINUITDO)
@@ -59,6 +59,6 @@ clean-minuit:
 clean::         clean-minuit
 
 distclean-minuit: clean-minuit
-		@rm -f $(MINUITDEP) $(MINUITDS) $(MINUITDH) $(MINUITLIB)
+		@rm -f $(MINUITDEP) $(MINUITDS) $(MINUITDH) $(MINUITLIB) $(MINUITMAP)
 
 distclean::     distclean-minuit
diff --git a/minuit2/Module.mk b/minuit2/Module.mk
index d22f25cd222e203c573c2ae2a3bc0747c8f8c85f..41033280be22d7417046faf4585135067c6c3acf 100644
--- a/minuit2/Module.mk
+++ b/minuit2/Module.mk
@@ -47,20 +47,21 @@ MINUIT2O     := $(MINUIT2S:.cxx=.o)
 MINUIT2DEP   := $(MINUIT2O:.o=.d) $(MINUIT2DO:.o=.d)
 
 MINUIT2LIB   := $(LPATH)/libMinuit2.$(SOEXT)
+MINUIT2MAP   := $(MINUIT2LIB:.$(SOEXT)=.rootmap)
 
 # use this compiler option if want to optimize object allocation in Minuit2
-# NOTE: using this option one loses the thread safety. 
+# NOTE: using this option one loses the thread safety.
 # It is worth to use only for minimization of cheap (non CPU intensive) functions
 #CXXFLAGS += -DMN_USE_STACK_ALLOC
 
 # used in the main Makefile
 ALLHDRS      += $(patsubst $(MODDIRI)/%.h,include/%.h,$(MINUIT2H))
 ALLLIBS      += $(MINUIT2LIB)
+ALLMAPS      += $(MINUIT2MAP)
 
 # include all dependency files
 INCLUDEFILES += $(MINUIT2DEP)
 
-
 ##### local rules #####
 include/Minuit2/%.h: $(MINUIT2DIRI)/Minuit2/%.h
 		@(if [ ! -d "include/Minuit2" ]; then     \
@@ -71,24 +72,21 @@ include/Minuit2/%.h: $(MINUIT2DIRI)/Minuit2/%.h
 include/%.h:    $(MINUIT2DIRI)/%.h
 		cp $< $@
 
-
 $(MINUIT2LIB):  $(MINUIT2O) $(MINUIT2DO) $(ORDER_) $(MAINLIBS) $(MINUIT2LIBDEP)
 		@$(MAKELIB) $(PLATFORM) $(LD) "$(LDFLAGS)" \
 		   "$(SOFLAGS)" libMinuit2.$(SOEXT) $@ \
 		   "$(MINUIT2O) $(MINUIT2DO)" \
 		   "$(MINUIT2LIBEXTRA)"
 
-$(MINUIT2DS):   $(MINUIT2H) $(MINUIT2L) $(ROOTCINTTMPEXE) 
+$(MINUIT2DS):   $(MINUIT2H) $(MINUIT2L) $(ROOTCINTTMPEXE)
 		@echo "Generating dictionary $@..."
 		$(ROOTCINTTMP) -f $@ -c $(MINUIT2H) $(MINUIT2L)
 
-all-minuit2:    $(MINUIT2LIB)
-
-map-minuit2:    $(RLIBMAP)
-		$(RLIBMAP) -r $(ROOTMAP) -l $(MINUIT2LIB) \
-		   -d $(MINUIT2LIBDEP) -c $(MINUIT2L)
+$(MINUIT2MAP):  $(RLIBMAP) $(MAKEFILEDEP) $(MINUIT2L)
+		$(RLIBMAP) -o $(MINUIT2MAP) -l $(MINUIT2LIB) \
+		   -d $(MINUIT2LIBDEPM) -c $(MINUIT2L)
 
-map::           map-minuit2
+all-minuit2:    $(MINUIT2LIB) $(MINUIT2MAP)
 
 test-minuit2: 	$(MINUIT2LIB)
 		cd $(MINUIT2DIR)/test; make
@@ -99,7 +97,7 @@ clean-minuit2:
 clean::         clean-minuit2
 
 distclean-minuit2: clean-minuit2
-		@rm -f $(MINUIT2DEP) $(MINUIT2DS) $(MINUIT2DH) $(MINUIT2LIB)
+		@rm -f $(MINUIT2DEP) $(MINUIT2DS) $(MINUIT2DH) $(MINUIT2LIB) $(MINUIT2MAP)
 		@rm -rf include/Minuit2
 
 distclean::     distclean-minuit2
diff --git a/mlp/Module.mk b/mlp/Module.mk
index 0f5a20dcd22abb9b63dbca67e78a2caf1331d094..471f0393a2494bbc4b904a3672a6efad876989ee 100644
--- a/mlp/Module.mk
+++ b/mlp/Module.mk
@@ -24,10 +24,12 @@ MLPO         := $(MLPS:.cxx=.o)
 MLPDEP       := $(MLPO:.o=.d) $(MLPDO:.o=.d)
 
 MLPLIB       := $(LPATH)/libMLP.$(SOEXT)
+MLPMAP       := $(MLPLIB:.$(SOEXT)=.rootmap)
 
 # used in the main Makefile
 ALLHDRS     += $(patsubst $(MODDIRI)/%.h,include/%.h,$(MLPH))
 ALLLIBS     += $(MLPLIB)
+ALLMAPS     += $(MLPMAP)
 
 # include all dependency files
 INCLUDEFILES += $(MLPDEP)
@@ -45,13 +47,10 @@ $(MLPDS):       $(MLPH) $(MLPL) $(ROOTCINTTMPEXE)
 		@echo "Generating dictionary $@..."
 		$(ROOTCINTTMP) -f $@ -c $(MLPH) $(MLPL)
 
-all-mlp:        $(MLPLIB)
+$(MLPMAP):      $(RLIBMAP) $(MAKEFILEDEP) $(MLPL)
+		$(RLIBMAP) -o $(MLPMAP) -l $(MLPLIB) -d $(MLPLIBDEPM) -c $(MLPL)
 
-map-mlp:        $(RLIBMAP)
-		$(RLIBMAP) -r $(ROOTMAP) -l $(MLPLIB) \
-		   -d $(MLPLIBDEP) -c $(MLPL)
-
-map::           map-mlp
+all-mlp:        $(MLPLIB) $(MLPMAP)
 
 clean-mlp:
 		@rm -f $(MLPO) $(MLPDO)
@@ -59,6 +58,6 @@ clean-mlp:
 clean::         clean-mlp
 
 distclean-mlp:  clean-mlp
-		@rm -f $(MLPDEP) $(MLPDS) $(MLPDH) $(MLPLIB)
+		@rm -f $(MLPDEP) $(MLPDS) $(MLPDH) $(MLPLIB) $(MLPMAP)
 
 distclean::     distclean-mlp
diff --git a/monalisa/Module.mk b/monalisa/Module.mk
index 70594ada7074f523282dd60ca7db44463d50296a..b1ee950e16fc91527bac7441ec66cbda8d38797d 100644
--- a/monalisa/Module.mk
+++ b/monalisa/Module.mk
@@ -24,10 +24,12 @@ MONALISAO    := $(MONALISAS:.cxx=.o)
 MONALISADEP  := $(MONALISAO:.o=.d) $(MONALISADO:.o=.d)
 
 MONALISALIB  := $(LPATH)/libMonaLisa.$(SOEXT)
+MONALISAMAP  := $(MONALISALIB:.$(SOEXT)=.rootmap)
 
 # used in the main Makefile
 ALLHDRS      += $(patsubst $(MODDIRI)/%.h,include/%.h,$(MONALISAH))
 ALLLIBS      += $(MONALISALIB)
+ALLMAPS      += $(MONALISAMAP)
 
 # include all dependency files
 INCLUDEFILES += $(MONALISADEP)
@@ -46,13 +48,11 @@ $(MONALISADS):  $(MONALISAH) $(MONALISAL) $(ROOTCINTTMPEXE)
 		@echo "Generating dictionary $@..."
 		$(ROOTCINTTMP) -f $@ -c $(MONALISAH) $(MONALISAL)
 
-all-monalisa:   $(MONALISALIB)
+$(MONALISAMAP): $(RLIBMAP) $(MAKEFILEDEP) $(MONALISAL)
+		$(RLIBMAP) -o $(MONALISAMAP) -l $(MONALISALIB) \
+		   -d $(MONALISALIBDEPM) -c $(MONALISAL)
 
-map-monalisa:   $(RLIBMAP)
-		$(RLIBMAP) -r $(ROOTMAP) -l $(MONALISALIB) \
-		   -d $(MONALISALIBDEP) -c $(MONALISAL)
-
-map::           map-monalisa
+all-monalisa:   $(MONALISALIB) $(MONALISAMAP)
 
 clean-monalisa:
 		@rm -f $(MONALISAO) $(MONALISADO)
@@ -60,7 +60,8 @@ clean-monalisa:
 clean::         clean-monalisa
 
 distclean-monalisa: clean-monalisa
-		@rm -f $(MONALISADEP) $(MONALISADS) $(MONALISADH) $(MONALISALIB)
+		@rm -f $(MONALISADEP) $(MONALISADS) $(MONALISADH) \
+		   $(MONALISALIB) $(MONALISAMAP)
 
 distclean::     distclean-monalisa
 
diff --git a/mysql/Module.mk b/mysql/Module.mk
index 34a05475214d2717665d5ae745538d1b16e36bda..ba5aeea20e0aeea2cb39f648d9c5af5bff923226 100644
--- a/mysql/Module.mk
+++ b/mysql/Module.mk
@@ -24,10 +24,12 @@ MYSQLO       := $(MYSQLS:.cxx=.o)
 MYSQLDEP     := $(MYSQLO:.o=.d) $(MYSQLDO:.o=.d)
 
 MYSQLLIB     := $(LPATH)/libRMySQL.$(SOEXT)
+MYSQLMAP     := $(MYSQLLIB:.$(SOEXT)=.rootmap)
 
 # used in the main Makefile
 ALLHDRS     += $(patsubst $(MODDIRI)/%.h,include/%.h,$(MYSQLH))
 ALLLIBS     += $(MYSQLLIB)
+ALLMAPS     += $(MYSQLMAP)
 
 # include all dependency files
 INCLUDEFILES += $(MYSQLDEP)
@@ -45,13 +47,12 @@ $(MYSQLDS):     $(MYSQLH) $(MYSQLL) $(ROOTCINTTMPEXE)
 		@echo "Generating dictionary $@..."
 		$(ROOTCINTTMP) -f $@ -c $(MYSQLINCDIR:%=-I%) $(MYSQLH) $(MYSQLL)
 
-all-mysql:      $(MYSQLLIB)
 
-map-mysql:      $(RLIBMAP)
-		$(RLIBMAP) -r $(ROOTMAP) -l $(MYSQLLIB) \
-		   -d $(MYSQLLIBDEP) -c $(MYSQLL)
+$(MYSQLMAP):    $(RLIBMAP) $(MAKEFILEDEP) $(MYSQLL)
+		$(RLIBMAP) -o $(MYSQLMAP) -l $(MYSQLLIB) \
+		   -d $(MYSQLLIBDEPM) -c $(MYSQLL)
 
-map::           map-mysql
+all-mysql:      $(MYSQLLIB) $(MYSQLMAP)
 
 clean-mysql:
 		@rm -f $(MYSQLO) $(MYSQLDO)
@@ -59,7 +60,7 @@ clean-mysql:
 clean::         clean-mysql
 
 distclean-mysql: clean-mysql
-		@rm -f $(MYSQLDEP) $(MYSQLDS) $(MYSQLDH) $(MYSQLLIB)
+		@rm -f $(MYSQLDEP) $(MYSQLDS) $(MYSQLDH) $(MYSQLLIB) $(MYSQLMAP)
 
 distclean::     distclean-mysql
 
diff --git a/net/Module.mk b/net/Module.mk
index 1c85ecbf563b438b751d03dffb11824e1a67163c..24a979eceea7a9701d9d1eb81203ad518a3844fb 100644
--- a/net/Module.mk
+++ b/net/Module.mk
@@ -24,12 +24,14 @@ NETO         := $(NETS:.cxx=.o)
 NETDEP       := $(NETO:.o=.d) $(NETDO:.o=.d)
 
 NETLIB       := $(LPATH)/libNet.$(SOEXT)
+NETMAP       := $(NETLIB:.$(SOEXT)=.rootmap)
 
 EXTRANETFLAGS =
 
 # used in the main Makefile
 ALLHDRS      += $(patsubst $(MODDIRI)/%.h,include/%.h,$(NETH))
 ALLLIBS      += $(NETLIB)
+ALLMAPS      += $(NETMAP)
 
 # include all dependency files
 INCLUDEFILES += $(NETDEP)
@@ -47,13 +49,10 @@ $(NETDS):       $(NETH) $(NETL) $(ROOTCINTTMPEXE)
 		@echo "Generating dictionary $@..."
 		$(ROOTCINTTMP) -f $@ -c $(NETH) $(NETL)
 
-all-net:        $(NETLIB)
+$(NETMAP):      $(RLIBMAP) $(MAKEFILEDEP) $(NETL)
+		$(RLIBMAP) -o $(NETMAP) -l $(NETLIB) -d $(NETLIBDEPM) -c $(NETL)
 
-map-net:        $(RLIBMAP)
-		$(RLIBMAP) -r $(ROOTMAP) -l $(NETLIB) \
-		   -d $(NETLIBDEP) -c $(NETL)
-
-map::           map-net
+all-net:        $(NETLIB) $(NETMAP)
 
 clean-net:
 		@rm -f $(NETO) $(NETDO)
@@ -61,6 +60,6 @@ clean-net:
 clean::         clean-net
 
 distclean-net:  clean-net
-		@rm -f $(NETDEP) $(NETDS) $(NETDH) $(NETLIB)
+		@rm -f $(NETDEP) $(NETDS) $(NETDH) $(NETLIB) $(NETMAP)
 
 distclean::     distclean-net
diff --git a/netx/Module.mk b/netx/Module.mk
index 87ac07b77cfd3e94a7784b531f8d7186ac5ba3be..49290cddeb2c89d3b644b49fa36850f1daadfc30 100644
--- a/netx/Module.mk
+++ b/netx/Module.mk
@@ -24,10 +24,12 @@ NETXO        := $(NETXS:.cxx=.o)
 NETXDEP      := $(NETXO:.o=.d) $(NETXDO:.o=.d)
 
 NETXLIB      := $(LPATH)/libNetx.$(SOEXT)
+NETXMAP      := $(NETXLIB:.$(SOEXT)=.rootmap)
 
 # used in the main Makefile
 ALLHDRS      += $(patsubst $(MODDIRI)/%.h,include/%.h,$(NETXH))
 ALLLIBS      += $(NETXLIB)
+ALLMAPS      += $(NETXMAP)
 
 # include all dependency files
 INCLUDEFILES += $(NETXDEP)
@@ -70,13 +72,10 @@ $(NETXDS):      $(NETXH1) $(NETXL) $(ROOTCINTTMPEXE) $(XROOTDETAG)
 		@echo "Generating dictionary $@..."
 		$(ROOTCINTTMP) -f $@ -c $(NETXINCEXTRA) $(NETXH) $(NETXL)
 
-all-netx:       $(NETXLIB)
+$(NETXMAP):     $(RLIBMAP) $(MAKEFILEDEP) $(NETXL)
+		$(RLIBMAP) -o $(NETXMAP) -l $(NETXLIB) -d $(NETXLIBDEPM) -c $(NETXL)
 
-map-netx:       $(RLIBMAP)
-		$(RLIBMAP) -r $(ROOTMAP) -l $(NETXLIB) \
-		   -d $(NETXLIBDEP) -c $(NETXL)
-
-map::           map-netx
+all-netx:       $(NETXLIB) $(NETXMAP)
 
 clean-netx:
 		@rm -f $(NETXO) $(NETXDO)
@@ -84,7 +83,7 @@ clean-netx:
 clean::         clean-netx
 
 distclean-netx: clean-netx
-		@rm -f $(NETXDEP) $(NETXDS) $(NETXDH) $(NETXLIB)
+		@rm -f $(NETXDEP) $(NETXDS) $(NETXDH) $(NETXLIB) $(NETXMAP)
 
 distclean::     distclean-netx
 
diff --git a/odbc/Module.mk b/odbc/Module.mk
index 707e680e838639a310c4674a41a113dda2000492..7dcad7eb9bd3da16a5f717b6e1b07fff15608eda 100644
--- a/odbc/Module.mk
+++ b/odbc/Module.mk
@@ -24,10 +24,12 @@ ODBCO       := $(ODBCS:.cxx=.o)
 ODBCDEP     := $(ODBCO:.o=.d) $(ODBCDO:.o=.d)
 
 ODBCLIB     := $(LPATH)/libRODBC.$(SOEXT)
+ODBCMAP      := $(ODBCLIB:.$(SOEXT)=.rootmap)
 
 # used in the main Makefile
 ALLHDRS     += $(patsubst $(MODDIRI)/%.h,include/%.h,$(ODBCH))
 ALLLIBS     += $(ODBCLIB)
+ALLMAPS     += $(ODBCMAP)
 
 # include all dependency files
 INCLUDEFILES += $(ODBCDEP)
@@ -45,13 +47,11 @@ $(ODBCDS):     $(ODBCH) $(ODBCL) $(ROOTCINTTMPEXE)
 		@echo "Generating dictionary $@..."
 		$(ROOTCINTTMP) -f $@ -c $(ODBCINCDIR:%=-I%) $(ODBCH) $(ODBCL)
 
-all-odbc:      $(ODBCLIB)
+$(ODBCMAP):     $(RLIBMAP) $(MAKEFILEDEP) $(ODBCL)
+		$(RLIBMAP) -o $(ODBCMAP) -l $(ODBCLIB) \
+		   -d $(ODBCLIBDEPM) -c $(ODBCL)
 
-map-odbc:      $(RLIBMAP)
-		$(RLIBMAP) -r $(ROOTMAP) -l $(ODBCLIB) \
-		   -d $(ODBCLIBDEP) -c $(ODBCL)
-
-map::           map-odbc
+all-odbc:      $(ODBCLIB) $(ODBCMAP)
 
 clean-odbc:
 		@rm -f $(ODBCO) $(ODBCDO)
@@ -59,7 +59,7 @@ clean-odbc:
 clean::         clean-odbc
 
 distclean-odbc: clean-odbc
-		@rm -f $(ODBCDEP) $(ODBCDS) $(ODBCDH) $(ODBCLIB)
+		@rm -f $(ODBCDEP) $(ODBCDS) $(ODBCDH) $(ODBCLIB) $(ODBCMAP)
 
 distclean::     distclean-odbc
 
diff --git a/oracle/Module.mk b/oracle/Module.mk
index ffb83f4a3ab4beb7d132567d6d320114bf0c9993..d003eb3188d45f02f12cdaff8d5a8e455bfb6be3 100644
--- a/oracle/Module.mk
+++ b/oracle/Module.mk
@@ -24,10 +24,12 @@ ORACLEO       := $(ORACLES:.cxx=.o)
 ORACLEDEP     := $(ORACLEO:.o=.d) $(ORACLEDO:.o=.d)
 
 ORACLELIB     := $(LPATH)/libOracle.$(SOEXT)
+ORCALEMAP     := $(ORACLELIB:.$(SOEXT)=.rootmap)
 
 # used in the main Makefile
 ALLHDRS      += $(patsubst $(MODDIRI)/%.h,include/%.h,$(ORACLEH))
 ALLLIBS      += $(ORACLELIB)
+ALLMAPS      += $(ORACLEMAP)
 
 # include all dependency files
 INCLUDEFILES += $(ORACLEDEP)
@@ -45,13 +47,11 @@ $(ORACLEDS):    $(ORACLEH) $(ORACLEL) $(ROOTCINTTMPEXE)
 		@echo "Generating dictionary $@..."
 		$(ROOTCINTTMP) -f $@ -c $(ORACLEH) $(ORACLEL)
 
-all-oracle:     $(ORACLELIB)
+$(ORACLEMAP):   $(RLIBMAP) $(MAKEFILEDEP) $(ORACLEL)
+		$(RLIBMAP) -o $(ORACLEMAP) -l $(ORACLELIB) \
+		   -d $(ORACLELIBDEPM) -c $(ORACLEL)
 
-map-oracle:     $(RLIBMAP)
-		$(RLIBMAP) -r $(ROOTMAP) -l $(ORACLELIB) \
-		   -d $(ORACLELIBDEP) -c $(ORACLEL)
-
-map::           map-oracle
+all-oracle:     $(ORACLELIB) $(ORACLEMAP)
 
 clean-oracle:
 		@rm -f $(ORACLEO) $(ORACLEDO)
@@ -59,7 +59,7 @@ clean-oracle:
 clean::         clean-oracle
 
 distclean-oracle: clean-oracle
-		@rm -f $(ORACLEDEP) $(ORACLEDS) $(ORACLEDH) $(ORACLELIB)
+		@rm -f $(ORACLEDEP) $(ORACLEDS) $(ORACLEDH) $(ORACLELIB) $(ORACLEMAP)
 
 distclean::     distclean-oracle
 
diff --git a/peac/Module.mk b/peac/Module.mk
index cb333c73dcc373a5dc463cd4c43514cb8191f31d..3adda9176f61a0d9069197856b6217d37e662044 100644
--- a/peac/Module.mk
+++ b/peac/Module.mk
@@ -24,6 +24,7 @@ PEACO        := $(PEACS:.cxx=.o)
 PEACDEP      := $(PEACO:.o=.d) $(PEACDO:.o=.d)
 
 PEACLIB      := $(LPATH)/libPeac.$(SOEXT)
+PEACMAP      := $(PEACLIB:.$(SOEXT)=.rootmap)
 
 ##### libPeacGui #####
 PEACGUIL     := $(MODDIRI)/LinkDefGui.h
@@ -38,6 +39,7 @@ PEACGUIO     := $(PEACGUIS:.cxx=.o)
 PEACGUIDEP   := $(PEACGUIO:.o=.d) $(PEACGUIDO:.o=.d)
 
 PEACGUILIB   := $(LPATH)/libPeacGui.$(SOEXT)
+PEACGUIMAP   := $(PEACGUILIB:.$(SOEXT)=.rootmap)
 
 # remove GUI files from PEAC files
 PEACH        := $(filter-out $(PEACGUIH),$(PEACH))
@@ -49,6 +51,7 @@ PEACDEP      := $(filter-out $(PEACGUIDEP),$(PEACDEP))
 ALLHDRS     += $(patsubst $(MODDIRI)/%.h,include/%.h,$(PEACH))
 ALLHDRS     += $(patsubst $(MODDIRI)/%.h,include/%.h,$(PEACGUIH))
 ALLLIBS     += $(PEACLIB) $(PEACGUILIB)
+ALLMAPS     += $(PEACMAP) $(PEACGUIMAP)
 
 # include all dependency files
 INCLUDEFILES += $(PEACDEP) $(PEACGUIDEP)
@@ -66,6 +69,10 @@ $(PEACDS):      $(PEACH) $(PEACL) $(ROOTCINTTMPEXE)
 		@echo "Generating dictionary $@..."
 		$(ROOTCINTTMP) -f $@ -c $(PEACH) $(PEACL)
 
+$(PEACMAP):     $(RLIBMAP) $(MAKEFILEDEP) $(PEACL)
+		$(RLIBMAP) -o $(PEACMAP) -l $(PEACLIB) \
+		   -d $(PEACLIBDEPM) -c $(PEACL)
+
 $(PEACGUILIB):  $(PEACGUIO) $(PEACGUIDO) $(ORDER_) $(MAINLIBS) $(PEACGUILIBDEP)
 		@$(MAKELIB) $(PLATFORM) $(LD) "$(LDFLAGS)" \
 		   "$(SOFLAGS)" libPeacGui.$(SOEXT) $@ \
@@ -76,17 +83,11 @@ $(PEACGUIDS):   $(PEACGUIH) $(PEACGUIL) $(ROOTCINTTMPEXE)
 		@echo "Generating dictionary $@..."
 		$(ROOTCINTTMP) -f $@ -c $(PEACGUIH) $(PEACGUIL)
 
-all-peac:       $(PEACLIB) $(PEACGUILIB)
-
-map-peac:       $(RLIBMAP)
-		$(RLIBMAP) -r $(ROOTMAP) -l $(PEACLIB) \
-		   -d $(PEACLIBDEP) -c $(PEACL)
-
-map-peacgui:    $(RLIBMAP)
-		$(RLIBMAP) -r $(ROOTMAP) -l $(PEACGUILIB) \
-		   -d $(PEACGUILIBDEP) -c $(PEACGUIL)
+$(PEACGUIMAP):  $(RLIBMAP) $(MAKEFILEDEP) $(PEACGUIL)
+		$(RLIBMAP) -o $(PEACGUIMAP) -l $(PEACGUILIB) \
+		   -d $(PEACGUILIBDEPM) -c $(PEACGUIL)
 
-map::           map-peac map-peacgui
+all-peac:       $(PEACLIB) $(PEACGUILIB) $(PEACMAP) $(PEACGUIMAP)
 
 clean-peac:
 		@rm -f $(PEACO) $(PEACDO) $(PEACGUIO) $(PEACGUIDO)
@@ -95,7 +96,8 @@ clean::         clean-peac
 
 distclean-peac: clean-peac
 		@rm -f $(PEACDEP) $(PEACDS) $(PEACDH) $(PEACLIB) \
-		   $(PEACGUIDEP) $(PEACGUIDS) $(PEACGUIDH) $(PEACGUILIB)
+		   $(PEACGUIDEP) $(PEACGUIDS) $(PEACGUIDH) $(PEACGUILIB) \
+		   $(PEACMAP) $(PEACGUIMAP)
 
 distclean::     distclean-peac
 
diff --git a/pgsql/Module.mk b/pgsql/Module.mk
index e6e6959f971bc9a3bdd6c218b79492f9f691fbc4..3179501290b3c71ead6b8f1ba2cb2b7d05ac311f 100644
--- a/pgsql/Module.mk
+++ b/pgsql/Module.mk
@@ -24,10 +24,12 @@ PGSQLO       := $(PGSQLS:.cxx=.o)
 PGSQLDEP     := $(PGSQLO:.o=.d) $(PGSQLDO:.o=.d)
 
 PGSQLLIB     := $(LPATH)/libPgSQL.$(SOEXT)
+PGSQLMAP     := $(PGSQLLIB:.$(SOEXT)=.rootmap)
 
 # used in the main Makefile
 ALLHDRS     += $(patsubst $(MODDIRI)/%.h,include/%.h,$(PGSQLH))
 ALLLIBS     += $(PGSQLLIB)
+ALLMAPS     += $(PGSQLMAP)
 
 # include all dependency files
 INCLUDEFILES += $(PGSQLDEP)
@@ -45,13 +47,11 @@ $(PGSQLDS):     $(PGSQLH) $(PGSQLL) $(ROOTCINTTMPEXE)
 		@echo "Generating dictionary $@..."
 		$(ROOTCINTTMP) -f $@ -c $(PGSQLH) $(PGSQLL)
 
-all-pgsql:      $(PGSQLLIB)
+$(PGSQLMAP):    $(RLIBMAP) $(MAKEFILEDEP) $(PGSQLL)
+		$(RLIBMAP) -o $(PGSQLMAP) -l $(PGSQLLIB) \
+		   -d $(PGSQLLIBDEPM) -c $(PGSQLL)
 
-map-pgsql:      $(RLIBMAP)
-		$(RLIBMAP) -r $(ROOTMAP) -l $(PGSQLLIB) \
-		   -d $(PGSQLLIBDEP) -c $(PGSQLL)
-
-map::           map-pgsql
+all-pgsql:      $(PGSQLLIB) $(PGSQLMAP)
 
 clean-pgsql:
 		@rm -f $(PGSQLO) $(PGSQLDO)
@@ -59,7 +59,7 @@ clean-pgsql:
 clean::         clean-pgsql
 
 distclean-pgsql: clean-pgsql
-		@rm -f $(PGSQLDEP) $(PGSQLDS) $(PGSQLDH) $(PGSQLLIB)
+		@rm -f $(PGSQLDEP) $(PGSQLDS) $(PGSQLDH) $(PGSQLLIB) $(PGSQLMAP)
 
 distclean::     distclean-pgsql
 
diff --git a/physics/Module.mk b/physics/Module.mk
index 27261017461b6b25bc52c73d15de940a92d838f4..13a30e766e150544f0282a928fb5a14bca5e8d98 100644
--- a/physics/Module.mk
+++ b/physics/Module.mk
@@ -24,10 +24,12 @@ PHYSICSO     := $(PHYSICSS:.cxx=.o)
 PHYSICSDEP   := $(PHYSICSO:.o=.d) $(PHYSICSDO:.o=.d)
 
 PHYSICSLIB   := $(LPATH)/libPhysics.$(SOEXT)
+PHYSICSMAP   := $(PHYSICSLIB:.$(SOEXT)=.rootmap)
 
 # used in the main Makefile
 ALLHDRS     += $(patsubst $(MODDIRI)/%.h,include/%.h,$(PHYSICSH))
 ALLLIBS     += $(PHYSICSLIB)
+ALLMAPS     += $(PHYSICSMAP)
 
 # include all dependency files
 INCLUDEFILES += $(PHYSICSDEP)
@@ -45,13 +47,11 @@ $(PHYSICSDS):   $(PHYSICSH) $(PHYSICSL) $(ROOTCINTTMPEXE)
 		@echo "Generating dictionary $@..."
 		$(ROOTCINTTMP) -f $@ -c $(PHYSICSH) $(PHYSICSL)
 
-all-physics:    $(PHYSICSLIB)
+$(PHYSICSMAP):  $(RLIBMAP) $(MAKEFILEDEP) $(PHYSICSL)
+		$(RLIBMAP) -o $(PHYSICSMAP) -l $(PHYSICSLIB) \
+		   -d $(PHYSICSLIBDEPM) -c $(PHYSICSL)
 
-map-physics:    $(RLIBMAP)
-		$(RLIBMAP) -r $(ROOTMAP) -l $(PHYSICSLIB) \
-		   -d $(PHYSICSLIBDEP) -c $(PHYSICSL)
-
-map::           map-physics
+all-physics:    $(PHYSICSLIB) $(PHYSICSMAP)
 
 clean-physics:
 		@rm -f $(PHYSICSO) $(PHYSICSDO)
@@ -59,6 +59,6 @@ clean-physics:
 clean::         clean-physics
 
 distclean-physics: clean-physics
-		@rm -f $(PHYSICSDEP) $(PHYSICSDS) $(PHYSICSDH) $(PHYSICSLIB)
+		@rm -f $(PHYSICSDEP) $(PHYSICSDS) $(PHYSICSDH) $(PHYSICSLIB) $(PHYSICSMAP)
 
 distclean::     distclean-physics
diff --git a/postscript/Module.mk b/postscript/Module.mk
index 281005c030a5d9bf1d94fc2f7c8b41b86bd0a810..3e4d8387309e031aa7ff4f8bdbfb9a7d73d0a7fa 100644
--- a/postscript/Module.mk
+++ b/postscript/Module.mk
@@ -24,10 +24,12 @@ POSTSCRIPTO  := $(POSTSCRIPTS:.cxx=.o)
 POSTSCRIPTDEP := $(POSTSCRIPTO:.o=.d) $(POSTSCRIPTDO:.o=.d)
 
 POSTSCRIPTLIB := $(LPATH)/libPostscript.$(SOEXT)
+POSTSCRIPTMAP := $(POSTSCRIPTLIB:.$(SOEXT)=.rootmap)
 
 # used in the main Makefile
 ALLHDRS       += $(patsubst $(MODDIRI)/%.h,include/%.h,$(POSTSCRIPTH))
 ALLLIBS       += $(POSTSCRIPTLIB)
+ALLMAPS       += $(POSTSCRIPTMAP)
 
 # include all dependency files
 INCLUDEFILES += $(POSTSCRIPTDEP)
@@ -46,13 +48,11 @@ $(POSTSCRIPTDS): $(POSTSCRIPTH) $(POSTSCRIPTL) $(ROOTCINTTMPEXE)
 		@echo "Generating dictionary $@..."
 		$(ROOTCINTTMP) -f $@ -c $(POSTSCRIPTH) $(POSTSCRIPTL)
 
-all-postscript: $(POSTSCRIPTLIB)
+$(POSTSCRIPTMAP): $(RLIBMAP) $(MAKEFILEDEP) $(POSTSCRIPTL)
+		$(RLIBMAP) -o $(POSTSCRIPTMAP) -l $(POSTSCRIPTLIB) \
+		   -d $(POSTSCRIPTLIBDEPM) -c $(POSTSCRIPTL)
 
-map-postscript: $(RLIBMAP)
-		$(RLIBMAP) -r $(ROOTMAP) -l $(POSTSCRIPTLIB) \
-		   -d $(POSTSCRIPTLIBDEP) -c $(POSTSCRIPTL)
-
-map::           map-postscript
+all-postscript: $(POSTSCRIPTLIB) $(POSTSCRIPTMAP)
 
 clean-postscript:
 		@rm -f $(POSTSCRIPTO) $(POSTSCRIPTDO)
@@ -61,7 +61,7 @@ clean::         clean-postscript
 
 distclean-postscript: clean-postscript
 		@rm -f $(POSTSCRIPTDEP) $(POSTSCRIPTDS) $(POSTSCRIPTDH) \
-		   $(POSTSCRIPTLIB)
+		   $(POSTSCRIPTLIB) $(POSTSCRIPTMAP)
 
 distclean::     distclean-postscript
 
diff --git a/proof/Module.mk b/proof/Module.mk
index b3009bfa14c85676f91ce5c52ac53e89a80d7245..d5f30fd05e3b5c2bb000b8625eab120a34561c96 100644
--- a/proof/Module.mk
+++ b/proof/Module.mk
@@ -24,10 +24,12 @@ PROOFO       := $(PROOFS:.cxx=.o)
 PROOFDEP     := $(PROOFO:.o=.d) $(PROOFDO:.o=.d)
 
 PROOFLIB     := $(LPATH)/libProof.$(SOEXT)
+PROOFMAP     := $(PROOFLIB:.$(SOEXT)=.rootmap)
 
 # used in the main Makefile
 ALLHDRS     += $(patsubst $(MODDIRI)/%.h,include/%.h,$(PROOFH))
 ALLLIBS     += $(PROOFLIB)
+ALLMAPS     += $(PROOFMAP)
 
 # include all dependency files
 INCLUDEFILES += $(PROOFDEP)
@@ -45,13 +47,11 @@ $(PROOFDS):     $(PROOFH) $(PROOFL) $(ROOTCINTTMPEXE)
 		@echo "Generating dictionary $@..."
 		$(ROOTCINTTMP) -f $@ -c $(PROOFH) $(PROOFL)
 
-all-proof:      $(PROOFLIB)
+$(PROOFMAP):    $(RLIBMAP) $(MAKEFILEDEP) $(PROOFL)
+		$(RLIBMAP) -o $(PROOFMAP) -l $(PROOFLIB) \
+		   -d $(PROOFLIBDEPM) -c $(PROOFL)
 
-map-proof:      $(RLIBMAP)
-		$(RLIBMAP) -r $(ROOTMAP) -l $(PROOFLIB) \
-		   -d $(PROOFLIBDEP) -c $(PROOFL)
-
-map::           map-proof
+all-proof:      $(PROOFLIB) $(PROOFMAP)
 
 clean-proof:
 		@rm -f $(PROOFO) $(PROOFDO)
@@ -59,6 +59,6 @@ clean-proof:
 clean::         clean-proof
 
 distclean-proof: clean-proof
-		@rm -f $(PROOFDEP) $(PROOFDS) $(PROOFDH) $(PROOFLIB)
+		@rm -f $(PROOFDEP) $(PROOFDS) $(PROOFDH) $(PROOFLIB) $(PROOFMAP)
 
 distclean::     distclean-proof
diff --git a/proofplayer/Module.mk b/proofplayer/Module.mk
index b0ac6fd22480f496b20d788d3e6825fa4cc90c08..dade157ff9b82d9ac198bba21a7a1c293c111440 100644
--- a/proofplayer/Module.mk
+++ b/proofplayer/Module.mk
@@ -24,10 +24,12 @@ PROOFPLAYERO  := $(PROOFPLAYERS:.cxx=.o)
 PROOFPLAYERDEP := $(PROOFPLAYERO:.o=.d) $(PROOFPLAYERDO:.o=.d)
 
 PROOFPLAYERLIB := $(LPATH)/libProofPlayer.$(SOEXT)
+PROOFPLAYERMAP := $(PROOFPLAYERLIB:.$(SOEXT)=.rootmap)
 
 # used in the main Makefile
 ALLHDRS       += $(patsubst $(MODDIRI)/%.h,include/%.h,$(PROOFPLAYERH))
 ALLLIBS       += $(PROOFPLAYERLIB)
+ALLMAPS       += $(PROOFPLAYERMAP)
 
 # include all dependency files
 INCLUDEFILES += $(PROOFPLAYERDEP)
@@ -47,13 +49,11 @@ $(PROOFPLAYERDS): $(PROOFPLAYERH) $(PROOFPLAYERL) $(ROOTCINTTMPEXE)
 		@echo "Generating dictionary $@..."
 		$(ROOTCINTTMP) -f $@ -c $(PROOFPLAYERH) $(PROOFPLAYERL)
 
-all-proofplayer: $(PROOFPLAYERLIB)
+$(PROOFPLAYERMAP): $(RLIBMAP) $(MAKEFILEDEP) $(PROOFPLAYERL)
+		$(RLIBMAP) -o $(PROOFPLAYERMAP) -l $(PROOFPLAYERLIB) \
+		   -d $(PROOFPLAYERLIBDEPM) -c $(PROOFPLAYERL)
 
-map-proofplayer: $(RLIBMAP)
-		$(RLIBMAP) -r $(ROOTMAP) -l $(PROOFPLAYERLIB) \
-		   -d $(PROOFPLAYERLIBDEP) -c $(PROOFPLAYERL)
-
-map::           map-proofplayer
+all-proofplayer: $(PROOFPLAYERLIB) $(PROOFPLAYERMAP)
 
 clean-proofplayer:
 		@rm -f $(PROOFPLAYERO) $(PROOFPLAYERDO)
@@ -62,7 +62,7 @@ clean::         clean-proofplayer
 
 distclean-proofplayer: clean-proofplayer
 		@rm -f $(PROOFPLAYERDEP) $(PROOFPLAYERDS) $(PROOFPLAYERDH) \
-		   $(PROOFPLAYERLIB)
+		   $(PROOFPLAYERLIB) $(PROOFPLAYERMAP)
 
 distclean::     distclean-proofplayer
 
diff --git a/proofx/Module.mk b/proofx/Module.mk
index 2310e31388d064f13228afc1b8c582ba903879ab..dcdb024dddd56bfdef0c3860b272d245bd65751b 100644
--- a/proofx/Module.mk
+++ b/proofx/Module.mk
@@ -33,10 +33,12 @@ PROOFXO      := $(PROOFXS:.cxx=.o)
 PROOFXDEP    := $(PROOFXO:.o=.d) $(PROOFXDO:.o=.d)
 
 PROOFXLIB    := $(LPATH)/libProofx.$(SOEXT)
+PROOFXMAP    := $(PROOFXLIB:.$(SOEXT)=.rootmap)
 
 # used in the main Makefile
 ALLHDRS      += $(patsubst $(MODDIRI)/%.h,include/%.h,$(PROOFXH))
 ALLLIBS      += $(PROOFXLIB)
+ALLMAPS      += $(PROOFXMAP)
 
 # include all dependency files
 INCLUDEFILES += $(PROOFXDEP)
@@ -82,13 +84,11 @@ $(PROOFXDS):    $(PROOFXH) $(PROOFXL) $(ROOTCINTTMPEXE) $(XROOTDETAG)
 		@echo "Generating dictionary $@..."
 		$(ROOTCINTTMP) -f $@ -c $(PROOFXINCEXTRA) $(PROOFXH) $(PROOFXL)
 
-all-proofx:     $(PROOFXLIB)
+$(PROOFXMAP):   $(RLIBMAP) $(MAKEFILEDEP) $(PROOFXL)
+		$(RLIBMAP) -o $(PROOFXMAP) -l $(PROOFXLIB) \
+		   -d $(PROOFXLIBDEPM) -c $(PROOFXL)
 
-map-proofx:     $(RLIBMAP)
-		$(RLIBMAP) -r $(ROOTMAP) -l $(PROOFXLIB) \
-		   -d $(PROOFXLIBDEP) -c $(PROOFXL)
-
-map::           map-proofx
+all-proofx:     $(PROOFXLIB) $(PROOFXMAP)
 
 clean-proofx:
 		@rm -f $(PROOFXO) $(PROOFXDO)
@@ -96,7 +96,7 @@ clean-proofx:
 clean::         clean-proofx
 
 distclean-proofx: clean-proofx
-		@rm -f $(PROOFXDEP) $(PROOFXDS) $(PROOFXDH) $(PROOFXLIB)
+		@rm -f $(PROOFXDEP) $(PROOFXDS) $(PROOFXDH) $(PROOFXLIB) $(PROOFXMAP)
 
 distclean::     distclean-proofx
 
diff --git a/pyroot/Module.mk b/pyroot/Module.mk
index 437c2bdf6d774a82ab860b085be8713df3d4f237..02a2b610109b05f054027989f8bbeec8efb8dafe 100644
--- a/pyroot/Module.mk
+++ b/pyroot/Module.mk
@@ -24,6 +24,7 @@ PYROOTO      := $(PYROOTS:.cxx=.o)
 PYROOTDEP    := $(PYROOTO:.o=.d) $(PYROOTDO:.o=.d)
 
 PYROOTLIB    := $(LPATH)/libPyROOT.$(SOEXT)
+PYROOTMAP    := $(PYROOTLIB:.$(SOEXT)=.rootmap)
 
 ROOTPYS      := $(wildcard $(MODDIR)/*.py)
 ifeq ($(PLATFORM),win32)
@@ -39,6 +40,7 @@ ROOTPYO      := $(ROOTPY:.py=.pyo)
 # used in the main Makefile
 ALLHDRS     += $(patsubst $(MODDIRI)/%.h,include/%.h,$(PYROOTH))
 ALLLIBS     += $(PYROOTLIB)
+ALLMAPS     += $(PYROOTMAP)
 
 # include all dependency files
 INCLUDEFILES += $(PYROOTDEP)
@@ -63,13 +65,11 @@ $(PYROOTDS):    $(PYROOTH) $(PYROOTL) $(ROOTCINTTMPEXE)
 		@echo "Generating dictionary $@..."
 		$(ROOTCINTTMP) -f $@ -c $(PYROOTH) $(PYROOTL)
 
-all-pyroot:     $(PYROOTLIB)
+$(PYROOTMAP):   $(RLIBMAP) $(MAKEFILEDEP) $(PYROOTL)
+		$(RLIBMAP) -o $(PYROOTMAP) -l $(PYROOTLIB) \
+		   -d $(PYROOTLIBDEPM) -c $(PYROOTL)
 
-map-pyroot:     $(RLIBMAP)
-		$(RLIBMAP) -r $(ROOTMAP) -l $(PYROOTLIB) \
-		   -d $(PYROOTLIBDEP) -c $(PYROOTL)
-
-map::           map-pyroot
+all-pyroot:     $(PYROOTLIB) $(PYROOTMAP)
 
 clean-pyroot:
 		@rm -f $(PYROOTO) $(PYROOTDO)
@@ -78,7 +78,7 @@ clean::         clean-pyroot
 
 distclean-pyroot: clean-pyroot
 		@rm -f $(PYROOTDEP) $(PYROOTDS) $(PYROOTDH) $(PYROOTLIB) \
-		   $(ROOTPY) $(ROOTPYC) $(ROOTPYO)
+		   $(ROOTPY) $(ROOTPYC) $(ROOTPYO) $(PYROOTMAP)
 
 distclean::     distclean-pyroot
 
diff --git a/pythia6/Module.mk b/pythia6/Module.mk
index 52e1c35f9bf1dca9256c3bc49be42f78207b5c43..897f3b760b26b3d125803e63643977445ce860b5 100644
--- a/pythia6/Module.mk
+++ b/pythia6/Module.mk
@@ -24,10 +24,12 @@ PYTHIA6O     := $(PYTHIA6S:.cxx=.o)
 PYTHIA6DEP   := $(PYTHIA6O:.o=.d) $(PYTHIA6DO:.o=.d)
 
 PYTHIA6LIB   := $(LPATH)/libEGPythia6.$(SOEXT)
+PYTHIA6MAP   := $(PYTHIA6LIB:.$(SOEXT)=.rootmap)
 
 # used in the main Makefile
 ALLHDRS     += $(patsubst $(MODDIRI)/%.h,include/%.h,$(PYTHIA6H))
 ALLLIBS     += $(PYTHIA6LIB)
+ALLMAPS     += $(PYTHIA6MAP)
 
 # include all dependency files
 INCLUDEFILES += $(PYTHIA6DEP)
@@ -46,13 +48,11 @@ $(PYTHIA6DS):   $(PYTHIA6H) $(PYTHIA6L) $(ROOTCINTTMPEXE)
 		@echo "Generating dictionary $@..."
 		$(ROOTCINTTMP) -f $@ -c $(PYTHIA6H) $(PYTHIA6L)
 
-all-pythia6:    $(PYTHIA6LIB)
+$(PYTHIA6MAP):  $(RLIBMAP) $(MAKEFILEDEP) $(PYTHIA6L)
+		$(RLIBMAP) -o $(PYTHIA6MAP) -l $(PYTHIA6LIB) \
+		   -d $(PYTHIA6LIBDEPM) -c $(PYTHIA6L)
 
-map-pythia6:    $(RLIBMAP)
-		$(RLIBMAP) -r $(ROOTMAP) -l $(PYTHIA6LIB) \
-		   -d $(PYTHIA6LIBDEP) -c $(PYTHIA6L)
-
-map::           map-pythia6
+all-pythia6:    $(PYTHIA6LIB) $(PYTHIA6MAP)
 
 clean-pythia6:
 		@rm -f $(PYTHIA6O) $(PYTHIA6DO)
@@ -60,7 +60,7 @@ clean-pythia6:
 clean::         clean-pythia6
 
 distclean-pythia6: clean-pythia6
-		@rm -f $(PYTHIA6DEP) $(PYTHIA6DS) $(PYTHIA6DH) $(PYTHIA6LIB)
+		@rm -f $(PYTHIA6DEP) $(PYTHIA6DS) $(PYTHIA6DH) $(PYTHIA6LIB) $(PYTHIA6MAP)
 
 distclean::     distclean-pythia6
 
diff --git a/qt/Module.mk b/qt/Module.mk
index b955ba8877189bc4697de218d56259322945a3e5..f96bccdb75eb5f836d09b9f6d215514eea5f08ea 100644
--- a/qt/Module.mk
+++ b/qt/Module.mk
@@ -1,4 +1,4 @@
-# $Id: Module.mk,v 1.20 2007/01/26 07:51:08 brun Exp $
+# $Id: Module.mk,v 1.21 2007/01/29 07:38:36 brun Exp $
 # Module.mk for qt module
 # Copyright (c) 2001 Valeri Fine
 #
@@ -35,7 +35,7 @@ GQTMOCH       := $(MODDIRI)/TQtWidget.h       $(MODDIRI)/TQtEmitter.h \
                  $(MODDIRI)/TQtClientWidget.h  $(MODDIRI)/TQtTimer.h \
                  $(MODDIRI)/TQtRootSlot.h
 
-GQTMOC        := $(subst $(MODDIRI)/,$(MODDIRS)/moc_,$(patsubst %.h,%.cxx,$(GQTMOCH))) 
+GQTMOC        := $(subst $(MODDIRI)/,$(MODDIRS)/moc_,$(patsubst %.h,%.cxx,$(GQTMOCH)))
 GQTMOCO       := $(GQTMOC:.cxx=.o)
 
 GQTDEP        := $(GQTO:.o=.d) $(GQTDO:.o=.d)
@@ -43,6 +43,7 @@ GQTDEP        := $(GQTO:.o=.d) $(GQTDO:.o=.d)
 GQTCXXFLAGS   := -DQT_DLL  -DQT_NO_DEBUG -DQT_SHARED -DQT_THREAD_SUPPORT -I$(QTDIR)/mkspecs/default -I. $(QTINCDIR:%=-I%)
 
 GQTLIB        := $(LPATH)/libGQt.$(SOEXT)
+GQTMAP        := $(GQTLIB:.$(SOEXT)=.rootmap)
 
 # Qt project header files
 
@@ -55,6 +56,7 @@ ALLHDRS       += $(patsubst $(MODDIRI)/%.h,include/%.h,$(GQTH))
 ALLHDRS       += $(patsubst $(MODDIRI)/%.cw,include/%.cw,$(QCUSTOMWIDGETS))
 ALLHDRS       += $(patsubst $(MODDIRI)/%.pri,include/%.pri,$(QMAKERULES))
 ALLLIBS       += $(GQTLIB)
+ALLMAPS       += $(GQTMAP)
 
 # include all dependency files
 INCLUDEFILES  += $(GQTDEP)
@@ -79,21 +81,19 @@ $(GQTDS):       $(GQTH1) $(GQTL) $(ROOTCINTTMPEXE)
 		@echo "Generating dictionary $@..."
 		$(ROOTCINTTMP) -f $@ -c $(GQTH1) $(GQTL)
 
-all-qt:         $(GQTLIB)
+$(GQTMAP):      $(RLIBMAP) $(MAKEFILEDEP) $(GQTL)
+		$(RLIBMAP) -o $(GQTMAP) -l $(GQTLIB) \
+		   -d $(GQTLIBDEPM) -c $(GQTL)
 
-map-qt:         $(RLIBMAP)
-		$(RLIBMAP) -r $(ROOTMAP) -l $(GQTLIB) \
-		   -d $(GQTLIBDEP) -c $(GQTL)
-
-map::           map-qt
+all-qt:         $(GQTLIB) $(GQTMAP)
 
 clean-qt:
-		@rm  -f $(GQTO) $(GQTDO) $(GQTMOCO) $(GQTMOC) 
+		@rm  -f $(GQTO) $(GQTDO) $(GQTMOCO) $(GQTMOC)
 
 clean::         clean-qt
 
 distclean-qt: clean-qt
-		@rm -f $(GQTDEP) $(GQTDS) $(GQTDH) $(GQTMOC) $(GQTLIB)
+		@rm -f $(GQTDEP) $(GQTDS) $(GQTDH) $(GQTMOC) $(GQTLIB) $(GQTMAP)
 
 distclean::     distclean-qt
 
diff --git a/qtgsi/Module.mk b/qtgsi/Module.mk
index b9c2f1e2a5810e9ffac202212507e80fb8c76ab5..01c8b72cf4900e42310078828539024bd6212e55 100644
--- a/qtgsi/Module.mk
+++ b/qtgsi/Module.mk
@@ -30,6 +30,7 @@ QTGSIDEP      := $(QTGSIO:.o=.d) $(QTGSIDO:.o=.d) $(QTGSIMOCO:.o=.d)
 QTGSICXXFLAGS := -DQT_DLL -DQT_THREAD_SUPPORT -I. $(QTINCDIR:%=-I%)
 
 QTGSILIB      := $(LPATH)/libQtGSI.$(SOEXT)
+QTGSIMAP      := $(QTGSILIB:.$(SOEXT)=.rootmap)
 
 ifeq ($(PLATFORM),win32)
 QTTESTOPTS    := -f Makefile.win
@@ -40,6 +41,7 @@ endif
 # used in the main Makefile
 ALLHDRS       += $(patsubst $(MODDIRI)/%.h,include/%.h,$(QTGSIH))
 ALLLIBS       += $(QTGSILIB)
+ALLMAPS       += $(QTGSIMAP)
 
 # include all dependency files
 INCLUDEFILES  += $(QTGSIDEP)
@@ -58,17 +60,15 @@ $(QTGSIDS):     $(QTGSIH) $(QTGSIL) $(ROOTCINTTMPEXE)
 		@echo "Generating dictionary $@..."
 		$(ROOTCINTTMP) -f $@ -c $(QTGSIH) $(QTGSIL)
 
-all-qtgsi:      $(QTGSILIB)
+$(QTGSIMAP):    $(RLIBMAP) $(MAKEFILEDEP) $(QTGSIL)
+		$(RLIBMAP) -o $(QTGSIMAP) -l $(QTGSILIB) \
+		   -d $(QTGSILIBDEPM) -c $(QTGSIL)
+
+all-qtgsi:      $(QTGSILIB) $(QTGSIMAP)
 
 test-qtgsi: 	$(QTGSILIB)
 		cd $(QTGSIDIR)/test; make $(QTTESTOPTS)
 
-map-qtgsi:      $(RLIBMAP)
-		$(RLIBMAP) -r $(ROOTMAP) -l $(QTGSILIB) \
-		   -d $(QTGSILIBDEP) -c $(QTGSIL)
-
-map::           map-qtgsi
-
 clean-qtgsi:
 		@rm -f $(QTGSIO) $(QTGSIMOCO)
 		-@cd $(QTGSIDIR)/test; make clean
@@ -76,7 +76,7 @@ clean-qtgsi:
 clean::         clean-qtgsi
 
 distclean-qtgsi: clean-qtgsi
-		@rm -f $(QTGSIDEP) $(QTGSIMOC) $(QTGSILIB)
+		@rm -f $(QTGSIDEP) $(QTGSIMOC) $(QTGSILIB) $(QTGSIMAP)
 		@rm -f $(QTGSIDS) $(QTGSIDH)
 
 distclean::     distclean-qtgsi
diff --git a/qtroot/Module.mk b/qtroot/Module.mk
index 89f8880d2a12b45cd6adfb0ebf8da21b4db52e3d..eca86e12c7df3fd13a8006fdf4512989eb5225ee 100644
--- a/qtroot/Module.mk
+++ b/qtroot/Module.mk
@@ -24,10 +24,12 @@ QTROOTO      := $(QTROOTS:.cxx=.o)
 QTROOTDEP    := $(QTROOTO:.o=.d) $(QTROOTDO:.o=.d)
 
 QTROOTLIB    := $(LPATH)/libQtRoot.$(SOEXT)
+QTROOTMAP    := $(QTROOTLIB:.$(SOEXT)=.rootmap)
 
 # used in the main Makefile
 ALLHDRS     += $(patsubst $(MODDIRI)/%.h,include/%.h,$(QTROOTH))
 ALLLIBS     += $(QTROOTLIB)
+ALLMAPS     += $(QTROOTMAP)
 
 # include all dependency files
 INCLUDEFILES += $(QTROOTDEP)
@@ -45,13 +47,11 @@ $(QTROOTDS):    $(QTROOTH) $(QTROOTL) $(ROOTCINTTMPEXE)
 		@echo "Generating dictionary $@..."
 		$(ROOTCINTTMP) -f $@ -c $(QTROOTH) $(QTROOTL)
 
-all-qtroot:     $(QTROOTLIB)
+$(QTROOTMAP):   $(RLIBMAP) $(MAKEFILEDEP) $(QTROOTL)
+		$(RLIBMAP) -o $(QTROOTMAP) -l $(QTROOTLIB) \
+		   -d $(QTROOTLIBDEPM) -c $(QTROOTL)
 
-map-qtroot:     $(RLIBMAP)
-		$(RLIBMAP) -r $(ROOTMAP) -l $(QTROOTLIB) \
-                  -d $(QTROOTLIBDEP) -c $(QTROOTL)
-
-map::           map-qtroot
+all-qtroot:     $(QTROOTLIB) $(QTROOTMAP)
 
 clean-qtroot:
 		@rm -f $(QTROOTO) $(QTROOTDO)
@@ -59,7 +59,7 @@ clean-qtroot:
 clean::         clean-qtroot
 
 distclean-qtroot:  clean-qtroot
-		@rm -f $(QTROOTDEP) $(QTROOTDS) $(QTROOTDH) $(QTROOTLIB)
+		@rm -f $(QTROOTDEP) $(QTROOTDS) $(QTROOTDH) $(QTROOTLIB) $(QTROOTMAP)
 
 distclean::     distclean-qtroot
 
diff --git a/quadp/Module.mk b/quadp/Module.mk
index 891d8a66db3d41eb2021019a9d8c3db7a9c55adc..026fd6031a881e17e5d9a9e1536de58aee90d403 100644
--- a/quadp/Module.mk
+++ b/quadp/Module.mk
@@ -24,10 +24,12 @@ QUADPO       := $(QUADPS:.cxx=.o)
 QUADPDEP     := $(QUADPO:.o=.d) $(QUADPDO:.o=.d)
 
 QUADPLIB     := $(LPATH)/libQuadp.$(SOEXT)
+QUADPMAP     := $(QUADPLIB:.$(SOEXT)=.rootmap)
 
 # used in the main Makefile
 ALLHDRS     += $(patsubst $(MODDIRI)/%.h,include/%.h,$(QUADPH))
 ALLLIBS     += $(QUADPLIB)
+ALLMAPS     += $(QUADPMAP)
 
 # include all dependency files
 INCLUDEFILES += $(QUADPDEP)
@@ -45,13 +47,11 @@ $(QUADPDS):     $(QUADPH) $(QUADPL) $(ROOTCINTTMPEXE)
 		@echo "Generating dictionary $@..."
 		$(ROOTCINTTMP) -f $@ -c $(QUADPH) $(QUADPL)
 
-all-quadp:      $(QUADPLIB)
+$(QUADPMAP):    $(RLIBMAP) $(MAKEFILEDEP) $(QUADPL)
+		$(RLIBMAP) -o $(QUADPMAP) -l $(QUADPLIB) \
+		   -d $(QUADPLIBDEPM) -c $(QUADPL)
 
-map-quadp:      $(RLIBMAP)
-		$(RLIBMAP) -r $(ROOTMAP) -l $(QUADPLIB) \
-		   -d $(QUADPLIBDEP) -c $(QUADPL)
-
-map::           map-quadp
+all-quadp:      $(QUADPLIB) $(QUADPMAP)
 
 clean-quadp:
 		@rm -f $(QUADPO) $(QUADPDO)
@@ -59,6 +59,6 @@ clean-quadp:
 clean::         clean-quadp
 
 distclean-quadp: clean-quadp
-		@rm -f $(QUADPDEP) $(QUADPDS) $(QUADPDH) $(QUADPLIB)
+		@rm -f $(QUADPDEP) $(QUADPDS) $(QUADPDH) $(QUADPLIB) $(QUADPMAP)
 
 distclean::     distclean-quadp
diff --git a/reflex/Module.mk b/reflex/Module.mk
index b0bb34d25391e56fba95e65e295d77105c4cf281..ce645232166b210e46a5bf53eac054fb61833713 100644
--- a/reflex/Module.mk
+++ b/reflex/Module.mk
@@ -1,4 +1,4 @@
-# Module.mk for reflex module 
+# Module.mk for reflex module
 # Copyright (c) 2000 Rene Brun and Fons Rademakers
 #
 # Author: Fons Rademakers, 29/2/2000
@@ -22,10 +22,12 @@ REFLEXO      := $(REFLEXS:.cxx=.o)
 REFLEXDEP    := $(REFLEXO:.o=.d)
 
 REFLEXLIB    := $(LPATH)/libReflex.$(SOEXT)
+REFLEXMAP    := $(REFLEXLIB:.$(SOEXT)=.rootmap)
 
 # used in the main Makefile
 ALLHDRS      += $(patsubst $(MODDIRI)/Reflex/%.h,include/Reflex/%.h,$(REFLEXH))
 ALLLIBS      += $(REFLEXLIB)
+#ALLMAPS      += $(REFLEXMAP)
 
 # include all dependency files
 INCLUDEFILES += $(REFLEXDEP)
@@ -82,7 +84,7 @@ ifeq ($(PLATFORM),solaris)
 RFLX_REFLEXLL   += -ldemangle
 endif
 
-RFLX_GENREFLEX_CMD = python ../../lib/python/genreflex/genreflex.py 
+RFLX_GENREFLEX_CMD = python ../../lib/python/genreflex/genreflex.py
 
 RFLX_TESTD      = $(REFLEXDIR)/test
 RFLX_TESTLIBD1  = $(RFLX_TESTD)/testDict1
@@ -160,13 +162,11 @@ $(REFLEXLIB): $(RFLX_GENREFLEX) $(RFLX_GENRFLXRC) $(REFLEXO) $(ORDER_) $(MAINLIB
 		"$(SOFLAGS)" libReflex.$(SOEXT) $@ "$(REFLEXO)" \
 		"$(REFLEXLIBEXTRA)"
 
-all-reflex:     $(REFLEXLIB)
+$(REFLEXMAP):   $(RLIBMAP) $(MAKEFILEDEP) $(REFLEXL)
+		$(RLIBMAP) -o $(REFLEXMAP) -l $(REFLEXLIB) \
+		   -d $(REFLEXLIBDEPM) -c $(REFLEXL)
 
-map-reflex:     $(RLIBMAP)
-		$(RLIBMAP) -r $(ROOTMAP) -l $(REFLEXLIB) \
-		-d $(REFLEXLIBDEP) -c $(REFLEXL)
-
-map::           map-reflex
+all-reflex:     $(REFLEXLIB) $(REFLEXMAP)
 
 clean-genreflex:
 		@rm -f bin/genreflex*
@@ -182,7 +182,7 @@ clean-reflex: clean-genreflex clean-check-reflex
 clean::         clean-reflex
 
 distclean-reflex: clean-reflex
-		@rm -f $(REFLEXDEP) $(REFLEXLIB)
+		@rm -f $(REFLEXDEP) $(REFLEXLIB) $(REFLEXMAP)
 		@rm -rf include/Reflex lib/python
 
 distclean::     distclean-reflex
@@ -221,6 +221,6 @@ $(RFLX_TESTLIBS2) : $(RFLX_TESTLIBD2)/Class2Dict.h $(RFLX_TESTLIBD2)/selection.x
 $(RFLX_UNITTESTO) : $(RFLX_TESTD)/test_Reflex%.o : $(RFLX_TESTD)/test_Reflex%.cxx
 		$(CXX) $(OPT) $(CXXFLAGS) -I$(RFLX_CPPUNITI) -Ireflex -c $< $(CXXOUT)$@
 
-$(RFLX_UNITTESTX) : $(RFLX_TESTD)/test_Reflex% : $(RFLX_TESTD)/test_Reflex%.o 
+$(RFLX_UNITTESTX) : $(RFLX_TESTD)/test_Reflex% : $(RFLX_TESTD)/test_Reflex%.o
 		$(LD) $(LDFLAGS) -o $@ $< $(RFLX_CPPUNITLL) $(RFLX_REFLEXLL)
 
diff --git a/rfio/Module.mk b/rfio/Module.mk
index fa8c45510dd318eb40f9ba781de31a3bff1caf0a..59570aa64c134e211e3f9cd70568e35c0162ee21 100644
--- a/rfio/Module.mk
+++ b/rfio/Module.mk
@@ -24,10 +24,12 @@ RFIOO        := $(RFIOS:.cxx=.o)
 RFIODEP      := $(RFIOO:.o=.d) $(RFIODO:.o=.d)
 
 RFIOLIB      := $(LPATH)/libRFIO.$(SOEXT)
+RFIOMAP      := $(RFIOLIB:.$(SOEXT)=.rootmap)
 
 # used in the main Makefile
 ALLHDRS     += $(patsubst $(MODDIRI)/%.h,include/%.h,$(RFIOH))
 ALLLIBS     += $(RFIOLIB)
+ALLMAPS     += $(RFIOMAP)
 
 # include all dependency files
 INCLUDEFILES += $(RFIODEP)
@@ -45,13 +47,11 @@ $(RFIODS):      $(RFIOH) $(RFIOL) $(ROOTCINTTMPEXE)
 		@echo "Generating dictionary $@..."
 		$(ROOTCINTTMP) -f $@ -c $(RFIOH) $(RFIOL)
 
-all-rfio:       $(RFIOLIB)
+$(RFIOMAP):     $(RLIBMAP) $(MAKEFILEDEP) $(RFIOL)
+		$(RLIBMAP) -o $(RFIOMAP) -l $(RFIOLIB) \
+		   -d $(RFIOLIBDEPM) -c $(RFIOL)
 
-map-rfio:       $(RLIBMAP)
-		$(RLIBMAP) -r $(ROOTMAP) -l $(RFIOLIB) \
-		   -d $(RFIOLIBDEP) -c $(RFIOL)
-
-map::           map-rfio
+all-rfio:       $(RFIOLIB) $(RFIOMAP)
 
 clean-rfio:
 		@rm -f $(RFIOO) $(RFIODO)
@@ -59,7 +59,7 @@ clean-rfio:
 clean::         clean-rfio
 
 distclean-rfio: clean-rfio
-		@rm -f $(RFIODEP) $(RFIODS) $(RFIODH) $(RFIOLIB)
+		@rm -f $(RFIODEP) $(RFIODS) $(RFIODH) $(RFIOLIB) $(RFIOMAP)
 
 distclean::     distclean-rfio
 
diff --git a/rint/Module.mk b/rint/Module.mk
index ce9474216c46aab1976a50a5642cd95e5e8f409f..fee0ccc75d4117ba4770d16f4dde7045bcc9293c 100644
--- a/rint/Module.mk
+++ b/rint/Module.mk
@@ -24,10 +24,12 @@ RINTO        := $(RINTS:.cxx=.o)
 RINTDEP      := $(RINTO:.o=.d) $(RINTDO:.o=.d)
 
 RINTLIB      := $(LPATH)/libRint.$(SOEXT)
+RINTMAP      := $(RINTLIB:.$(SOEXT)=.rootmap)
 
 # used in the main Makefile
 ALLHDRS     += $(patsubst $(MODDIRI)/%.h,include/%.h,$(RINTH))
 ALLLIBS     += $(RINTLIB)
+ALLMAPS     += $(RINTMAP)
 
 # include all dependency files
 INCLUDEFILES += $(RINTDEP)
@@ -45,13 +47,11 @@ $(RINTDS):      $(RINTH) $(RINTL) $(ROOTCINTTMPEXE)
 		@echo "Generating dictionary $@..."
 		$(ROOTCINTTMP) -f $@ -c $(RINTH) $(RINTL)
 
-all-rint:       $(RINTLIB)
+$(RINTMAP):     $(RLIBMAP) $(MAKEFILEDEP) $(RINTL)
+		$(RLIBMAP) -o $(RINTMAP) -l $(RINTLIB) \
+		   -d $(RINTLIBDEPM) -c $(RINTL)
 
-map-rint:       $(RLIBMAP)
-		$(RLIBMAP) -r $(ROOTMAP) -l $(RINTLIB) \
-		   -d $(RINTLIBDEP) -c $(RINTL)
-
-map::           map-rint
+all-rint:       $(RINTLIB) $(RINTMAP)
 
 clean-rint:
 		@rm -f $(RINTO) $(RINTDO)
@@ -59,6 +59,6 @@ clean-rint:
 clean::         clean-rint
 
 distclean-rint: clean-rint
-		@rm -f $(RINTDEP) $(RINTDS) $(RINTDH) $(RINTLIB)
+		@rm -f $(RINTDEP) $(RINTDS) $(RINTDH) $(RINTLIB) $(RINTMAP)
 
 distclean::     distclean-rint
diff --git a/roofit/Module.mk b/roofit/Module.mk
index b5becb81aad7c80fa651fc78d68e9d95849bee65..a49a5e5e3432eea1768bbd7d077fe89771fa25f8 100644
--- a/roofit/Module.mk
+++ b/roofit/Module.mk
@@ -59,7 +59,7 @@ ROOFITH3     := RooNameSet.h RooNLLVar.h RooNonCPEigenDecay.h RooNormListManager
                 RooSharedProperties.h RooSharedPropertiesList.h RooSimGenContext.h RooSimPdfBuilder.h RooSimultaneous.h \
                 RooStreamParser.h RooStringVar.h RooSuperCategory.h RooTable.h RooThreshEntry.h RooThresholdCategory.h \
                 RooTObjWrap.h RooTrace.h RooTreeData.h RooTruthModel.h RooUnblindCPAsymVar.h RooUnblindOffset.h RooUnblindPrecision.h \
-                RooUnblindUniform.h RooUniformBinning.h RooVoigtian.h 
+                RooUnblindUniform.h RooUniformBinning.h RooVoigtian.h
 
 ROOFITH1     := $(patsubst %,$(MODDIRI)/%,$(ROOFITH1))
 ROOFITH2     := $(patsubst %,$(MODDIRI)/%,$(ROOFITH2))
@@ -69,12 +69,15 @@ ROOFITS      := $(filter-out $(MODDIRS)/G__%,$(wildcard $(MODDIRS)/*.cxx))
 ROOFITO      := $(ROOFITS:.cxx=.o)
 
 ROOFITDEP    := $(ROOFITO:.o=.d) $(ROOFITDO:.o=.d)
+
 ROOFITLIB    := $(LPATH)/libRooFit.$(SOEXT)
+ROOFITMAP    := $(ROOFITLIB:.$(SOEXT)=.rootmap)
 
 # used in the main Makefile
 ROOFITINCH   := $(patsubst $(MODDIRI)/%.h,include/%.h,$(ROOFITH))
 ALLHDRS      += $(ROOFITINCH)
 ALLLIBS      += $(ROOFITLIB)
+ALLMAPS      += $(ROOFITMAP)
 
 # include all dependency files
 ifeq ($(findstring $(MAKECMDGOALS),clean-roofit distclean-roofit),)
@@ -124,13 +127,11 @@ $(ROOFITDS3):   $(ROOFITETAG) $(ROOFITH3) $(ROOFITL3) $(ROOTCINTTMPEXE)
 		@echo "Generating dictionary $@..."
 		$(ROOTCINTTMP) -f $@ -c $(ROOFITH3) $(ROOFITL3)
 
-all-roofit:     $(ROOFITLIB)
-
-map-roofit:     $(RLIBMAP)
-		$(RLIBMAP) -r $(ROOTMAP) -l $(ROOFITLIB) \
-		   -d $(ROOFITLIBDEP) -c $(ROOFITL1) $(ROOFITL2) $(ROOFITL3)
+$(ROOFITMAP):   $(RLIBMAP) $(MAKEFILEDEP) $(ROOFITL1) $(ROOFITL2) $(ROOFITL3)
+		$(RLIBMAP) -o $(ROOFITMAP) -l $(ROOFITLIB) \
+		   -d $(ROOFITLIBDEPM) -c $(ROOFITL1) $(ROOFITL2) $(ROOFITL3)
 
-map::           map-roofit
+all-roofit:     $(ROOFITLIB) $(ROOFITMAP)
 
 clean-roofit:
 		@rm -f $(ROOFITO) $(ROOFITDO)
@@ -138,7 +139,7 @@ clean-roofit:
 clean::         clean-roofit
 
 distclean-roofit: clean-roofit
-		@rm -rf $(ROOFITETAG) $(ROOFITDEP) $(ROOFITLIB) \
+		@rm -rf $(ROOFITETAG) $(ROOFITDEP) $(ROOFITLIB) $(ROOFITMAP) \
 		   $(ROOFITDIRS) $(ROOFITDIRI)
 
 distclean::     distclean-roofit
diff --git a/ruby/Module.mk b/ruby/Module.mk
index 2f0d25f19e162c97704cce144d65f30580d29a36..fe68d57b69a1ddab2b937fbbe0a9635f1479d1bb 100644
--- a/ruby/Module.mk
+++ b/ruby/Module.mk
@@ -24,10 +24,12 @@ RUBYROOTO      := $(RUBYROOTS:.cxx=.o)
 RUBYROOTDEP    := $(RUBYROOTO:.o=.d) $(RUBYROOTDO:.o=.d)
 
 RUBYROOTLIB    := $(LPATH)/libRuby.$(SOEXT)
+RUBYROOTMAP    := $(RUBYROOTLIB:.$(SOEXT)=.rootmap)
 
 # used in the main Makefile
 ALLHDRS        += $(patsubst $(MODDIRI)/%.h,include/%.h,$(RUBYROOTH))
 ALLLIBS        += $(RUBYROOTLIB)
+ALLMAPS        += $(RUBYROOTMAP)
 
 # include all dependency files
 INCLUDEFILES   += $(RUBYROOTDEP)
@@ -46,13 +48,11 @@ $(RUBYROOTDS):  $(RUBYROOTH) $(RUBYROOTL) $(ROOTCINTTMPEXE)
 		@echo "Generating dictionary $@..."
 		$(ROOTCINTTMP) -f $@ -c $(RUBYROOTH) $(RUBYROOTL)
 
-all-ruby:       $(RUBYROOTLIB)
+$(RUBYROOTMAP): $(RLIBMAP) $(MAKEFILEDEP) $(RUBYROOTL)
+		$(RLIBMAP) -o $(RUBYROOTMAP) -l $(RUBYROOTLIB) \
+		   -d $(RUBYROOTLIBDEPM) -c $(RUBYROOTL)
 
-map-ruby:       $(RLIBMAP)
-		$(RLIBMAP) -r $(ROOTMAP) -l $(RUBYROOTLIB) \
-		   -d $(RUBYROOTLIBDEP) -c $(RUBYROOTL)
-
-map::           map-ruby
+all-ruby:       $(RUBYROOTLIB) $(RUBYROOTMAP)
 
 clean-ruby:
 		@rm -f $(RUBYROOTO) $(RUBYROOTDO)
@@ -60,7 +60,8 @@ clean-ruby:
 clean::         clean-ruby
 
 distclean-ruby: clean-ruby
-		@rm -f $(RUBYROOTDEP) $(RUBYROOTDS) $(RUBYROOTDH) $(RUBYROOTLIB)
+		@rm -f $(RUBYROOTDEP) $(RUBYROOTDS) $(RUBYROOTDH) \
+		   $(RUBYROOTLIB) $(RUBYROOTMAP)
 
 distclean::     distclean-ruby
 
diff --git a/sapdb/Module.mk b/sapdb/Module.mk
index c67f038ff431995fb1f3c713ffbe7592d32c743f..179a382b08f1506a19d3dec4c909c05f39ba49c7 100644
--- a/sapdb/Module.mk
+++ b/sapdb/Module.mk
@@ -24,10 +24,12 @@ SAPDBO       := $(SAPDBS:.cxx=.o)
 SAPDBDEP     := $(SAPDBO:.o=.d) $(SAPDBDO:.o=.d)
 
 SAPDBLIB     := $(LPATH)/libSapDB.$(SOEXT)
+SAPDBMAP     := $(SAPDBLIB:.$(SOEXT)=.rootmap)
 
 # used in the main Makefile
 ALLHDRS     += $(patsubst $(MODDIRI)/%.h,include/%.h,$(SAPDBH))
 ALLLIBS     += $(SAPDBLIB)
+ALLMAPS     += $(SAPDBMAP)
 
 # include all dependency files
 INCLUDEFILES += $(SAPDBDEP)
@@ -45,13 +47,11 @@ $(SAPDBDS):     $(SAPDBH) $(SAPDBL) $(ROOTCINTTMPEXE)
 		@echo "Generating dictionary $@..."
 		$(ROOTCINTTMP) -f $@ -c $(SAPDBH) $(SAPDBL)
 
-all-sapdb:      $(SAPDBLIB)
+$(SAPDBMAP):    $(RLIBMAP) $(MAKEFILEDEP) $(SAPDBL)
+		$(RLIBMAP) -o $(SAPDBMAP) -l $(SAPDBLIB) \
+		   -d $(SAPDBLIBDEPM) -c $(SAPDBL)
 
-map-sapdb:      $(RLIBMAP)
-		$(RLIBMAP) -r $(ROOTMAP) -l $(SAPDBLIB) \
-		   -d $(SAPDBLIBDEP) -c $(SAPDBL)
-
-map::           map-sapdb
+all-sapdb:      $(SAPDBLIB) $(SAPDBMAP)
 
 clean-sapdb:
 		@rm -f $(SAPDBO) $(SAPDBDO)
@@ -59,7 +59,7 @@ clean-sapdb:
 clean::         clean-sapdb
 
 distclean-sapdb: clean-sapdb
-		@rm -f $(SAPDBDEP) $(SAPDBDS) $(SAPDBDH) $(SAPDBLIB)
+		@rm -f $(SAPDBDEP) $(SAPDBDS) $(SAPDBDH) $(SAPDBLIB) $(SAPDBMAP)
 
 distclean::     distclean-sapdb
 
diff --git a/sessionviewer/Module.mk b/sessionviewer/Module.mk
index 6c65c6a268172e17aae8f469451ed665bc70d717..3fa3f022d9da40d456848a17b85ff19bb9513013 100644
--- a/sessionviewer/Module.mk
+++ b/sessionviewer/Module.mk
@@ -24,10 +24,12 @@ SESSIONVIEWERO  := $(SESSIONVIEWERS:.cxx=.o)
 SESSIONVIEWERDEP := $(SESSIONVIEWERO:.o=.d) $(SESSIONVIEWERDO:.o=.d)
 
 SESSIONVIEWERLIB := $(LPATH)/libSessionViewer.$(SOEXT)
+SESSIONVIEWERMAP := $(SESSIONVIEWERLIB:.$(SOEXT)=.rootmap)
 
 # used in the main Makefile
 ALLHDRS       += $(patsubst $(MODDIRI)/%.h,include/%.h,$(SESSIONVIEWERH))
 ALLLIBS       += $(SESSIONVIEWERLIB)
+ALLMAPS       += $(SESSIONVIEWERMAP)
 
 # include all dependency files
 INCLUDEFILES += $(SESSIONVIEWERDEP)
@@ -47,13 +49,11 @@ $(SESSIONVIEWERDS): $(SESSIONVIEWERH) $(SESSIONVIEWERL) $(ROOTCINTTMPEXE)
 		@echo "Generating dictionary $@..."
 		$(ROOTCINTTMP) -f $@ -c $(SESSIONVIEWERH) $(SESSIONVIEWERL)
 
-all-sessionviewer: $(SESSIONVIEWERLIB)
+$(SESSIONVIEWERMAP): $(RLIBMAP) $(MAKEFILEDEP) $(SESSIONVIEWERL)
+		$(RLIBMAP) -o $(SESSIONVIEWERMAP) -l $(SESSIONVIEWERLIB) \
+		   -d $(SESSIONVIEWERLIBDEPM) -c $(SESSIONVIEWERL)
 
-map-sessionviewer: $(RLIBMAP)
-		$(RLIBMAP) -r $(ROOTMAP) -l $(SESSIONVIEWERLIB) \
-		   -d $(SESSIONVIEWERLIBDEP) -c $(SESSIONVIEWERL)
-
-map::           map-sessionviewer
+all-sessionviewer: $(SESSIONVIEWERLIB) $(SESSIONVIEWERMAP)
 
 clean-sessionviewer:
 		@rm -f $(SESSIONVIEWERO) $(SESSIONVIEWERDO)
@@ -62,6 +62,6 @@ clean::         clean-sessionviewer
 
 distclean-sessionviewer: clean-sessionviewer
 		@rm -f $(SESSIONVIEWERDEP) $(SESSIONVIEWERDS) \
-		   $(SESSIONVIEWERDH) $(SESSIONVIEWERLIB)
+		   $(SESSIONVIEWERDH) $(SESSIONVIEWERLIB) $(SESSIONVIEWERMAP)
 
 distclean::     distclean-sessionviewer
diff --git a/smatrix/Module.mk b/smatrix/Module.mk
index bde67fb9b7c3ea8424516ca1a4dafd0dde9f06a1..e2ccfdc98c99315f6fbb16a85661f61e612a8376 100644
--- a/smatrix/Module.mk
+++ b/smatrix/Module.mk
@@ -22,10 +22,10 @@ SMATRIXDO32 := $(SMATRIXDS32:.cxx=.o)
 SMATRIXDH   := $(SMATRIXDS:.cxx=.h)
 
 SMATRIXDH1  :=  $(MODDIRI)/Math/SMatrix.h \
-		$(MODDIRI)/Math/SVector.h 
+		$(MODDIRI)/Math/SVector.h
 #		$(MODDIRI)/Math/SMatrixDfwd.h \
 #		$(MODDIRI)/Math/SMatrixFfwd.h \
-#		$(MODDIRI)/Math/SMatrixD32fwd.h 
+#		$(MODDIRI)/Math/SMatrixD32fwd.h
 
 
 
@@ -38,11 +38,13 @@ SMATRIXO    := $(SMATRIXS:.cxx=.o)
 SMATRIXDEP  := $(SMATRIXO:.o=.d)  $(SMATRIXDO:.o=.d)
 
 SMATRIXLIB  := $(LPATH)/libSmatrix.$(SOEXT)
+SMATRIXMAP  := $(SMATRIXLIB:.$(SOEXT)=.rootmap)
 
 # used in the main Makefile
 ALLHDRS      += $(patsubst $(MODDIRI)/Math/%.h,include/Math/%.h,$(SMATRIXH1))
 ALLHDRS      += $(patsubst $(MODDIRI)/Math/%.icc,include/Math/%.icc,$(SMATRIXH2))
 ALLLIBS      += $(SMATRIXLIB)
+ALLMAPS      += $(SMATRIXMAP)
 
 # include all dependency files
 INCLUDEFILES += $(SMATRIXDEP)
@@ -77,6 +79,9 @@ $(SMATRIXDS32): $(SMATRIXDH1) $(SMATRIXL32) $(SMATRIXLINC) $(ROOTCINTTMPEXE)
 		@echo "for files $(SMATRIXDH1)"
 		$(ROOTCINTTMP) -f $@ -c $(SMATRIXDH1) $(SMATRIXL32)
 
+$(SMATRIXMAP):  $(RLIBMAP) $(MAKEFILEDEP) $(SMATRIXL) $(SMATRIXLINC)
+		$(RLIBMAP) -o $(SMATRIXMAP) -l $(SMATRIXLIB) \
+		   -d $(SMATRIXLIBDEPM) -c $(SMATRIXL) $(SMATRIXLINC)
 
 ifneq ($(ICC_MAJOR),)
 # silence warning messages about subscripts being out of range
@@ -85,13 +90,7 @@ else
 $(SMATRIXDO): CXXFLAGS += -I$(SMATRIXDIRI)
 endif
 
-all-smatrix:   $(SMATRIXLIB)
-
-map-smatrix:   $(RLIBMAP)
-		$(RLIBMAP) -r $(ROOTMAP) -l $(SMATRIXLIB) \
-		   -d $(SMATRIXLIBDEP) -c $(SMATRIXL) $(SMATRIXLINC)
-
-map::           map-smatrix
+all-smatrix:   $(SMATRIXLIB) $(SMATRIXMAP)
 
 clean-smatrix:
 		@rm -f $(SMATRIXO) $(SMATRIXDO)
@@ -99,7 +98,7 @@ clean-smatrix:
 clean::         clean-smatrix
 
 distclean-smatrix: clean-smatrix
-		@rm -f $(SMATRIXDEP) $(SMATRIXDS) $(SMATRIXDH) $(SMATRIXLIB)
+		@rm -f $(SMATRIXDEP) $(SMATRIXDS) $(SMATRIXDH) $(SMATRIXLIB) $(SMATRIXMAP)
 		@rm -rf include/Math
 		-@cd $(SMATRIXDIR)/test && $(MAKE) distclean
 
diff --git a/spectrum/Module.mk b/spectrum/Module.mk
index c472e03742766015c8663dde3b43ecf32752e390..e483516cedb9f2eee494decce22039a59d87b8fd 100644
--- a/spectrum/Module.mk
+++ b/spectrum/Module.mk
@@ -24,10 +24,12 @@ SPECTRUMO    := $(SPECTRUMS:.cxx=.o)
 SPECTRUMDEP  := $(SPECTRUMO:.o=.d) $(SPECTRUMDO:.o=.d)
 
 SPECTRUMLIB  := $(LPATH)/libSpectrum.$(SOEXT)
+SPECTRUMMAP  := $(SPECTRUMLIB:.$(SOEXT)=.rootmap)
 
 # used in the main Makefile
 ALLHDRS      += $(patsubst $(MODDIRI)/%.h,include/%.h,$(SPECTRUMH))
 ALLLIBS      += $(SPECTRUMLIB)
+ALLMAPS      += $(SPECTRUMMAP)
 
 # include all dependency files
 INCLUDEFILES += $(SPECTRUMDEP)
@@ -45,13 +47,11 @@ $(SPECTRUMDS):  $(SPECTRUMH) $(SPECTRUML) $(ROOTCINTTMPEXE)
 		@echo "Generating dictionary $@..."
 		$(ROOTCINTTMP) -f $@ -c $(SPECTRUMH) $(SPECTRUML)
 
-all-spectrum:   $(SPECTRUMLIB)
+$(SPECTRUMMAP): $(RLIBMAP) $(MAKEFILEDEP) $(SPECTRUML)
+		$(RLIBMAP) -o $(SPECTRUMMAP) -l $(SPECTRUMLIB) \
+		   -d $(SPECTRUMLIBDEPM) -c $(SPECTRUML)
 
-map-spectrum:   $(RLIBMAP)
-		$(RLIBMAP) -r $(ROOTMAP) -l $(SPECTRUMLIB) \
-		   -d $(SPECTRUMLIBDEP) -c $(SPECTRUML)
-
-map::           map-spectrum
+all-spectrum:   $(SPECTRUMLIB) $(SPECTRUMMAP)
 
 clean-spectrum:
 		@rm -f $(SPECTRUMO) $(SPECTRUMDO)
@@ -59,6 +59,6 @@ clean-spectrum:
 clean::         clean-spectrum
 
 distclean-spectrum: clean-spectrum
-		@rm -f $(SPECTRUMDEP) $(SPECTRUMDS) $(SPECTRUMDH) $(SPECTRUMLIB)
+		@rm -f $(SPECTRUMDEP) $(SPECTRUMDS) $(SPECTRUMDH) $(SPECTRUMLIB) $(SPECTRUMMAP)
 
 distclean::     distclean-spectrum
diff --git a/spectrumpainter/Module.mk b/spectrumpainter/Module.mk
index cf3871e32b33127b65bfa1a3402807f391d146e0..4898fafcdf017fcdaa37538d8aafdb3833872eca 100644
--- a/spectrumpainter/Module.mk
+++ b/spectrumpainter/Module.mk
@@ -24,10 +24,12 @@ SPECTRUMPAINTERO  := $(SPECTRUMPAINTERS:.cxx=.o)
 SPECTRUMPAINTERDEP := $(SPECTRUMPAINTERO:.o=.d) $(SPECTRUMPAINTERDO:.o=.d)
 
 SPECTRUMPAINTERLIB := $(LPATH)/libSpectrumPainter.$(SOEXT)
+SPECTRUMPAINTERMAP := $(SPECTRUMPAINTERLIB:.$(SOEXT)=.rootmap)
 
 # used in the main Makefile
 ALLHDRS       += $(patsubst $(MODDIRI)/%.h,include/%.h,$(SPECTRUMPAINTERH))
 ALLLIBS       += $(SPECTRUMPAINTERLIB)
+ALLMAPS       += $(SPECTRUMPAINTERMAP)
 
 # include all dependency files
 INCLUDEFILES += $(SPECTRUMPAINTERDEP)
@@ -47,13 +49,11 @@ $(SPECTRUMPAINTERDS): $(SPECTRUMPAINTERH) $(SPECTRUMPAINTERL) $(ROOTCINTTMPEXE)
 		@echo "Generating dictionary $@..."
 		$(ROOTCINTTMP) -f $@ -c $(SPECTRUMPAINTERH) $(SPECTRUMPAINTERL)
 
-all-spectrumpainter: $(SPECTRUMPAINTERLIB)
+$(SPECTRUMPAINTERMAP): $(RLIBMAP) $(MAKEFILEDEP) $(SPECTRUMPAINTERL)
+		$(RLIBMAP) -o $(SPECTRUMPAINTERMAP) -l $(SPECTRUMPAINTERLIB) \
+		   -d $(SPECTRUMPAINTERLIBDEPM) -c $(SPECTRUMPAINTERL)
 
-map-spectrumpainter: $(RLIBMAP)
-		$(RLIBMAP) -r $(ROOTMAP) -l $(SPECTRUMPAINTERLIB) \
-		   -d $(SPECTRUMPAINTERLIBDEP) -c $(SPECTRUMPAINTERL)
-
-map::           map-spectrumpainter
+all-spectrumpainter: $(SPECTRUMPAINTERLIB) $(SPECTRUMPAINTERMAP)
 
 clean-spectrumpainter:
 		@rm -f $(SPECTRUMPAINTERO) $(SPECTRUMPAINTERDO)
@@ -62,6 +62,6 @@ clean::         clean-spectrumpainter
 
 distclean-spectrumpainter: clean-spectrumpainter
 		@rm -f $(SPECTRUMPAINTERDEP) $(SPECTRUMPAINTERDS) \
-		   $(SPECTRUMPAINTERDH) $(SPECTRUMPAINTERLIB)
+		   $(SPECTRUMPAINTERDH) $(SPECTRUMPAINTERLIB) $(SPECTRUMPAINTERMAP)
 
 distclean::     distclean-spectrumpainter
diff --git a/splot/Module.mk b/splot/Module.mk
index fdc7b765026b1ab6ebab777869f49555ff423e13..410cb9dd32767decc538526e057888095fd4152a 100644
--- a/splot/Module.mk
+++ b/splot/Module.mk
@@ -24,10 +24,12 @@ SPLOTO      := $(SPLOTS:.cxx=.o)
 SPLOTDEP    := $(SPLOTO:.o=.d) $(SPLOTDO:.o=.d)
 
 SPLOTLIB    := $(LPATH)/libSPlot.$(SOEXT)
+SPLOTMAP    := $(SPLOTLIB:.$(SOEXT)=.rootmap)
 
 # used in the main Makefile
 ALLHDRS     += $(patsubst $(MODDIRI)/%.h,include/%.h,$(SPLOTH))
 ALLLIBS     += $(SPLOTLIB)
+ALLMAPS     += $(SPLOTMAP)
 
 # include all dependency files
 INCLUDEFILES += $(SPLOTDEP)
@@ -36,22 +38,20 @@ INCLUDEFILES += $(SPLOTDEP)
 include/%.h:    $(SPLOTDIRI)/%.h
 		cp $< $@
 
-$(SPLOTLIB):   $(SPLOTO) $(SPLOTDO) $(ORDER_) $(MAINLIBS) $(SPLOTLIBDEP)
+$(SPLOTLIB):    $(SPLOTO) $(SPLOTDO) $(ORDER_) $(MAINLIBS) $(SPLOTLIBDEP)
 		@$(MAKELIB) $(PLATFORM) $(LD) "$(LDFLAGS)" \
 		   "$(SOFLAGS)" libSPlot.$(SOEXT) $@ "$(SPLOTO) $(SPLOTDO)" \
 		   "$(SPLOTLIBEXTRA)"
 
-$(SPLOTDS):    $(SPLOTH) $(SPLOTL) $(ROOTCINTTMPEXE)
+$(SPLOTDS):     $(SPLOTH) $(SPLOTL) $(ROOTCINTTMPEXE)
 		@echo "Generating dictionary $@..."
 		$(ROOTCINTTMP) -f $@ -c $(SPLOTH) $(SPLOTL)
 
-all-splot:     $(SPLOTLIB)
+$(SPLOTMAP):    $(RLIBMAP) $(MAKEFILEDEP) $(SPLOTL)
+		$(RLIBMAP) -o $(SPLOTMAP) -l $(SPLOTLIB) \
+		   -d $(SPLOTLIBDEPM) -c $(SPLOTL)
 
-map-splot:     $(RLIBMAP)
-		$(RLIBMAP) -r $(ROOTMAP) -l $(SPLOTLIB) \
-		   -d $(SPLOTLIBDEP) -c $(SPLOTL)
-
-map::           map-splot
+all-splot:     $(SPLOTLIB) $(SPLOTMAP)
 
 clean-splot:
 		@rm -f $(SPLOTO) $(SPLOTDO)
@@ -59,6 +59,6 @@ clean-splot:
 clean::         clean-splot
 
 distclean-splot: clean-splot
-		@rm -f $(SPLOTDEP) $(SPLOTDS) $(SPLOTDH) $(SPLOTLIB)
+		@rm -f $(SPLOTDEP) $(SPLOTDS) $(SPLOTDH) $(SPLOTLIB) $(SPLOTMAP)
 
 distclean::     distclean-splot
diff --git a/sql/Module.mk b/sql/Module.mk
index 7bd0202322a6830abedd90acc24d515fb09701c3..fe6f9ba507056597d4c561e4f2cb754249945802 100644
--- a/sql/Module.mk
+++ b/sql/Module.mk
@@ -24,10 +24,12 @@ SQLO         := $(SQLS:.cxx=.o)
 SQLDEP       := $(SQLO:.o=.d) $(SQLDO:.o=.d)
 
 SQLLIB       := $(LPATH)/libSQL.$(SOEXT)
+SQLMAP       := $(SQLLIB:.$(SOEXT)=.rootmap)
 
 # used in the main Makefile
 ALLHDRS      += $(patsubst $(MODDIRI)/%.h,include/%.h,$(SQLH))
 ALLLIBS      += $(SQLLIB)
+ALLMAPS      += $(SQLMAP)
 
 # include all dependency files
 INCLUDEFILES += $(SQLDEP)
@@ -45,13 +47,11 @@ $(SQLDS):       $(SQLH) $(SQLL) $(ROOTCINTTMPEXE)
 		@echo "Generating dictionary $@..."
 		$(ROOTCINTTMP) -f $@ -c $(SQLH) $(SQLL)
 
-all-sql:        $(SQLLIB)
+$(SQLMAP):      $(RLIBMAP) $(MAKEFILEDEP) $(SQLL)
+		$(RLIBMAP) -o $(SQLMAP) -l $(SQLLIB) \
+		   -d $(SQLLIBDEPM) -c $(SQLL)
 
-map-sql:        $(RLIBMAP)
-		$(RLIBMAP) -r $(ROOTMAP) -l $(SQLLIB) \
-		   -d $(SQLLIBDEP) -c $(SQLL)
-
-map::           map-sql
+all-sql:        $(SQLLIB) $(SQLMAP)
 
 clean-sql:
 		@rm -f $(SQLO) $(SQLDO)
@@ -59,6 +59,6 @@ clean-sql:
 clean::         clean-sql
 
 distclean-sql: clean-sql
-		@rm -f $(SQLDEP) $(SQLDS) $(SQLDH) $(SQLLIB)
+		@rm -f $(SQLDEP) $(SQLDS) $(SQLDH) $(SQLLIB) $(SQLMAP)
 
 distclean::     distclean-sql
diff --git a/table/Module.mk b/table/Module.mk
index d9bb9726f6a06c5523c5e39762fea72786bba037..029245f6a6a1a648655ebfd8a3a24921336a45b3 100644
--- a/table/Module.mk
+++ b/table/Module.mk
@@ -24,10 +24,12 @@ TABLEO       := $(TABLES:.cxx=.o)
 TABLEDEP     := $(TABLEO:.o=.d) $(TABLEDO:.o=.d)
 
 TABLELIB     := $(LPATH)/libTable.$(SOEXT)
+TABLEMAP     := $(TABLELIB:.$(SOEXT)=.rootmap)
 
 # used in the main Makefile
 ALLHDRS     += $(patsubst $(MODDIRI)/%.h,include/%.h,$(TABLEH))
 ALLLIBS     += $(TABLELIB)
+ALLMAPS     += $(TABLEMAP)
 
 # include all dependency files
 INCLUDEFILES += $(TABLEDEP)
@@ -45,13 +47,11 @@ $(TABLEDS):     $(TABLEH) $(TABLEL) $(ROOTCINTTMPEXE)
 		@echo "Generating dictionary $@..."
 		$(ROOTCINTTMP) -f $@ -c $(TABLEH) $(TABLEL)
 
-all-table:      $(TABLELIB)
+$(TABLEMAP):    $(RLIBMAP) $(MAKEFILEDEP) $(TABLEL)
+		$(RLIBMAP) -o $(TABLEMAP) -l $(TABLELIB) \
+		   -d $(TABLELIBDEPM) -c $(TABLEL)
 
-map-table:      $(RLIBMAP)
-		$(RLIBMAP) -r $(ROOTMAP) -l $(TABLELIB) \
-		   -d $(TABLELIBDEP) -c $(TABLEL)
-
-map::           map-table
+all-table:      $(TABLELIB) $(TABLEMAP)
 
 clean-table:
 		@rm -f $(TABLEO) $(TABLEDO)
@@ -59,6 +59,6 @@ clean-table:
 clean::         clean-table
 
 distclean-table: clean-table
-		@rm -f $(TABLEDEP) $(TABLEDS) $(TABLEDH) $(TABLELIB)
+		@rm -f $(TABLEDEP) $(TABLEDS) $(TABLEDH) $(TABLELIB) $(TABLEMAP)
 
 distclean::     distclean-table
diff --git a/thread/Module.mk b/thread/Module.mk
index 112b24dfbc54f8b15eca4d91825c957d2dd4a0b7..bbde69f3919bc71cfbb57144febd9418d32beabd 100644
--- a/thread/Module.mk
+++ b/thread/Module.mk
@@ -49,10 +49,12 @@ THREADO      := $(THREADS:.cxx=.o)
 THREADDEP    := $(THREADO:.o=.d) $(THREADDO:.o=.d)
 
 THREADLIB    := $(LPATH)/libThread.$(SOEXT)
+THREADMAP    := $(THREADLIB:.$(SOEXT)=.rootmap)
 
 # used in the main Makefile
 ALLHDRS      += $(patsubst $(MODDIRI)/%.h,include/%.h,$(THREADH))
 ALLLIBS      += $(THREADLIB)
+ALLMAPS      += $(THREADMAP)
 
 CXXFLAGS     += $(OSTHREADFLAG)
 CFLAGS       += $(OSTHREADFLAG)
@@ -79,13 +81,11 @@ $(THREADDS):    $(THREADH) $(THREADL) $(ROOTCINTTMPEXE)
 		@echo "Generating dictionary $@..."
 		$(ROOTCINTTMP) -f $@ -c $(THREADH) $(THREADL)
 
-all-thread:     $(THREADLIB)
+$(THREADMAP):   $(RLIBMAP) $(MAKEFILEDEP) $(THREADL)
+		$(RLIBMAP) -o $(THREADMAP) -l $(THREADLIB) \
+		   -d $(THREADLIBDEPM) -c $(THREADL)
 
-map-thread:     $(RLIBMAP)
-		$(RLIBMAP) -r $(ROOTMAP) -l $(THREADLIB) \
-		   -d $(THREADLIBDEP) -c $(THREADL)
-
-map::           map-thread
+all-thread:     $(THREADLIB) $(THREADMAP)
 
 clean-thread:
 		@rm -f $(THREADO) $(THREADDO)
@@ -93,7 +93,7 @@ clean-thread:
 clean::         clean-thread
 
 distclean-thread: clean-thread
-		@rm -f $(THREADDEP) $(THREADDS) $(THREADDH) $(THREADLIB)
+		@rm -f $(THREADDEP) $(THREADDS) $(THREADDH) $(THREADLIB) $(THREADMAP)
 
 distclean::     distclean-thread
 
diff --git a/tmva/Module.mk b/tmva/Module.mk
index 825dcc07ed6df9a4fd57b37a715c393c35ef81df..feb4b1200f39183be1e9eb40d1cdda8d6f3ade5f 100644
--- a/tmva/Module.mk
+++ b/tmva/Module.mk
@@ -25,10 +25,12 @@ TMVAO        := $(TMVAS:.cxx=.o)
 TMVADEP      := $(TMVAO:.o=.d) $(TMVADO:.o=.d)
 
 TMVALIB      := $(LPATH)/libTMVA.$(SOEXT)
+TMVAMAP      := $(TMVALIB:.$(SOEXT)=.rootmap)
 
 # used in the main Makefile
 ALLHDRS      += $(patsubst $(MODDIRI)/%.h,include/TMVA/%.h,$(TMVAH))
 ALLLIBS      += $(TMVALIB)
+ALLMAPS      += $(TMVAMAP)
 
 # include all dependency files
 INCLUDEFILES += $(TMVADEP)
@@ -49,13 +51,11 @@ $(TMVADS):      $(TMVAH) $(TMVAL) $(ROOTCINTTMPEXE)
 		@echo "Generating dictionary $@..."
 		$(ROOTCINTTMP) -f $@ -c $(TMVAH) $(TMVAL)
 
-all-tmva:       $(TMVALIB)
+$(TMVAMAP):     $(RLIBMAP) $(MAKEFILEDEP) $(TMVAL)
+		$(RLIBMAP) -o $(TMVAMAP) -l $(TMVALIB) \
+		   -d $(TMVALIBDEPM) -c $(TMVAL)
 
-map-tmva:       $(RLIBMAP)
-		$(RLIBMAP) -r $(ROOTMAP) -l $(TMVALIB) \
-		   -d $(TMVALIBDEP) -c $(TMVAL)
-
-map::           map-tmva
+all-tmva:       $(TMVALIB) $(TMVAMAP)
 
 clean-tmva:
 		@rm -f $(TMVAO) $(TMVADO)
@@ -63,7 +63,7 @@ clean-tmva:
 clean::         clean-tmva
 
 distclean-tmva: clean-tmva
-		@rm -f $(TMVADEP) $(TMVADS) $(TMVADH) $(TMVALIB)
+		@rm -f $(TMVADEP) $(TMVADS) $(TMVADH) $(TMVALIB) $(TMVAMAP)
 		@rm -rf include/TMVA
 
 distclean::     distclean-tmva
diff --git a/tree/Module.mk b/tree/Module.mk
index 9401ab4e2dde03203473587d4f03a3aab0ff8900..e4255a8390ca15311016ae542289d55e73c4da5f 100644
--- a/tree/Module.mk
+++ b/tree/Module.mk
@@ -31,10 +31,12 @@ TREEO        := $(TREES:.cxx=.o)
 TREEDEP      := $(TREEO:.o=.d) $(TREEDO:.o=.d)
 
 TREELIB      := $(LPATH)/libTree.$(SOEXT)
+TREEMAP      := $(TREELIB:.$(SOEXT)=.rootmap)
 
 # used in the main Makefile
 ALLHDRS     += $(patsubst $(MODDIRI)/%.h,include/%.h,$(TREEH))
 ALLLIBS     += $(TREELIB)
+ALLMAPS     += $(TREEMAP)
 
 # include all dependency files
 INCLUDEFILES += $(TREEDEP)
@@ -58,13 +60,11 @@ $(TREEDS2):
 		@echo "Generating dictionary $@..."
 		$(ROOTCINTTMP) -f $@ -c $(TREEDH2) $(TREEL2)
 
-all-tree:       $(TREELIB)
+$(TREEMAP):     $(RLIBMAP) $(MAKEFILEDEP) $(TREEL)
+		$(RLIBMAP) -o $(TREEMAP) -l $(TREELIB) \
+		   -d $(TREELIBDEPM) -c $(TREEL)
 
-map-tree:       $(RLIBMAP)
-		$(RLIBMAP) -r $(ROOTMAP) -l $(TREELIB) \
-		   -d $(TREELIBDEP) -c $(TREEL)
-
-map::           map-tree
+all-tree:       $(TREELIB) $(TREEMAP)
 
 clean-tree:
 		@rm -f $(TREEO) $(TREEDO)
@@ -72,6 +72,6 @@ clean-tree:
 clean::         clean-tree
 
 distclean-tree: clean-tree
-		@rm -f $(TREEDEP) $(TREEDS) $(TREEDH) $(TREELIB)
+		@rm -f $(TREEDEP) $(TREEDS) $(TREEDH) $(TREELIB) $(TREEMAP)
 
 distclean::     distclean-tree
diff --git a/treeplayer/Module.mk b/treeplayer/Module.mk
index 12b9754ac3bc6f2889921cc50d3f429dd5f61e45..5ae2c63fb5955c319c5a2e526a644f0c0497d682 100644
--- a/treeplayer/Module.mk
+++ b/treeplayer/Module.mk
@@ -24,10 +24,12 @@ TREEPLAYERO  := $(TREEPLAYERS:.cxx=.o)
 TREEPLAYERDEP := $(TREEPLAYERO:.o=.d) $(TREEPLAYERDO:.o=.d)
 
 TREEPLAYERLIB := $(LPATH)/libTreePlayer.$(SOEXT)
+TREEPLAYERMAP := $(TREEPLAYERLIB:.$(SOEXT)=.rootmap)
 
 # used in the main Makefile
 ALLHDRS       += $(patsubst $(MODDIRI)/%.h,include/%.h,$(TREEPLAYERH))
 ALLLIBS       += $(TREEPLAYERLIB)
+ALLMAPS       += $(TREEPLAYERMAP)
 
 # include all dependency files
 INCLUDEFILES += $(TREEPLAYERDEP)
@@ -47,13 +49,11 @@ $(TREEPLAYERDS): $(TREEPLAYERH) $(TREEPLAYERL) $(ROOTCINTTMPEXE)
 		@echo "Generating dictionary $@..."
 		$(ROOTCINTTMP) -f $@ -c $(TREEPLAYERH) $(TREEPLAYERL)
 
-all-treeplayer: $(TREEPLAYERLIB)
+$(TREEPLAYERMAP): $(RLIBMAP) $(MAKEFILEDEP) $(TREEPLAYERL)
+		$(RLIBMAP) -o $(TREEPLAYERMAP) -l $(TREEPLAYERLIB) \
+		   -d $(TREEPLAYERLIBDEPM) -c $(TREEPLAYERL)
 
-map-treeplayer: $(RLIBMAP)
-		$(RLIBMAP) -r $(ROOTMAP) -l $(TREEPLAYERLIB) \
-		   -d $(TREEPLAYERLIBDEP) -c $(TREEPLAYERL)
-
-map::           map-treeplayer
+all-treeplayer: $(TREEPLAYERLIB) $(TREEPLAYERMAP)
 
 clean-treeplayer:
 		@rm -f $(TREEPLAYERO) $(TREEPLAYERDO)
@@ -62,7 +62,7 @@ clean::         clean-treeplayer
 
 distclean-treeplayer: clean-treeplayer
 		@rm -f $(TREEPLAYERDEP) $(TREEPLAYERDS) $(TREEPLAYERDH) \
-		   $(TREEPLAYERLIB)
+		   $(TREEPLAYERLIB) $(TREEPLAYERMAP)
 
 distclean::     distclean-treeplayer
 
diff --git a/treeviewer/Module.mk b/treeviewer/Module.mk
index cb32cec355b8c8a142796b8b9e2ca35d579ef9b0..f54721a26e1a0f7fbf776b8a0ffb4e3ea95deab9 100644
--- a/treeviewer/Module.mk
+++ b/treeviewer/Module.mk
@@ -35,10 +35,12 @@ TREEVIEWERO  := $(TREEVIEWERS:.cxx=.o)
 TREEVIEWERDEP := $(TREEVIEWERO:.o=.d) $(TREEVIEWERDO:.o=.d)
 
 TREEVIEWERLIB := $(LPATH)/libTreeViewer.$(SOEXT)
+TREEVIEWERMAP := $(TREEVIEWERLIB:.$(SOEXT)=.rootmap)
 
 # used in the main Makefile
 ALLHDRS       += $(patsubst $(MODDIRI)/%.h,include/%.h,$(TREEVIEWERH))
 ALLLIBS       += $(TREEVIEWERLIB)
+ALLMAPS       += $(TREEVIEWERMAP)
 
 # include all dependency files
 INCLUDEFILES += $(TREEVIEWERDEP)
@@ -58,13 +60,11 @@ $(TREEVIEWERDS): $(TREEVIEWERH) $(TREEVIEWERL) $(ROOTCINTTMPEXE)
 		@echo "Generating dictionary $@..."
 		$(ROOTCINTTMP) -f $@ -c $(TREEVIEWERH) $(TREEVIEWERL)
 
-all-treeviewer: $(TREEVIEWERLIB)
+$(TREEVIEWERMAP): $(RLIBMAP) $(MAKEFILEDEP) $(TREEVIEWERL)
+		$(RLIBMAP) -o $(TREEVIEWERMAP) -l $(TREEVIEWERLIB) \
+		   -d $(TREEVIEWERLIBDEPM) -c $(TREEVIEWERL)
 
-map-treeviewer: $(RLIBMAP)
-		$(RLIBMAP) -r $(ROOTMAP) -l $(TREEVIEWERLIB) \
-		   -d $(TREEVIEWERLIBDEP) -c $(TREEVIEWERL)
-
-map::           map-treeviewer
+all-treeviewer: $(TREEVIEWERLIB) $(TREEVIEWERMAP)
 
 clean-treeviewer:
 		@rm -f $(TREEVIEWERO) $(TREEVIEWERDO)
@@ -73,6 +73,6 @@ clean::         clean-treeviewer
 
 distclean-treeviewer: clean-treeviewer
 		@rm -f $(TREEVIEWERDEP) $(TREEVIEWERDS) $(TREEVIEWERDH) \
-		   $(TREEVIEWERLIB)
+		   $(TREEVIEWERLIB) $(TREEVIEWERMAP)
 
 distclean::     distclean-treeviewer
diff --git a/unuran/Module.mk b/unuran/Module.mk
index 3d4476e40fe485ede4d34a5b3e8917ca1653a2d5..7fa9a6f8370c9e4f0b53b69f69e142fabf472bde 100644
--- a/unuran/Module.mk
+++ b/unuran/Module.mk
@@ -42,7 +42,7 @@ UNURANDS     := $(MODDIRS)/G__Unuran.cxx
 UNURANDO     := $(UNURANDS:.cxx=.o)
 UNURANDH     := $(UNURANDS:.cxx=.h)
 UNURANDH1    := $(filter-out $(MODDIRI)/LinkDef%,$(wildcard $(MODDIRI)/*.h))
-                
+
 
 UNURANH      := $(filter-out $(MODDIRI)/LinkDef%,$(wildcard $(MODDIRI)/*.h))
 UNURANS      := $(filter-out $(MODDIRS)/G__%,$(wildcard $(MODDIRS)/*.cxx))
@@ -52,10 +52,12 @@ UNURANO      := $(UNURANS:.cxx=.o)
 UNURANDEP    := $(UNURANO:.o=.d) $(UNURANDO:.o=.d)
 
 UNURANLIB    := $(LPATH)/libUnuran.$(SOEXT)
+UNURANMAP    := $(UNURANLIB:.$(SOEXT)=.rootmap)
 
 # used in the main Makefile
 ALLHDRS      += $(patsubst $(MODDIRI)/%.h,include/%.h,$(UNURANH))
 ALLLIBS      += $(UNURANLIB)
+ALLMAPS      += $(UNURANMAP)
 
 # include all dependency files
 INCLUDEFILES += $(UNURANDEP)
@@ -116,13 +118,11 @@ $(UNURANDS):    $(UNRINIT) $(UNURANDH1) $(UNURANL) $(ROOTCINTTMPEXE)
 		@echo "Generating dictionary $@..."
 		$(ROOTCINTTMP) -f $@ -c $(UNRFLAGS) $(UNURANDH1) $(UNURANL)
 
-all-unuran:     $(UNURANLIB)
-
-map-unuran:     $(RLIBMAP)
-		$(RLIBMAP) -r $(ROOTMAP) -l $(UNURANLIB) \
-		   -d $(UNURANLIBDEP) -c $(UNURANL) $(UNURANLINC)
+$(UNURANMAP):   $(RLIBMAP) $(MAKEFILEDEP) $(UNURANL) $(UNURANLINC)
+		$(RLIBMAP) -o $(UNURANMAP) -l $(UNURANLIB) \
+		   -d $(UNURANLIBDEPM) -c $(UNURANL) $(UNURANLINC)
 
-map::           map-unuran
+all-unuran:     $(UNURANLIB) $(UNURANMAP)
 
 clean-unuran:
 		@rm -f $(UNURANO) $(UNURANDO)
@@ -135,7 +135,7 @@ clean-unuran:
 clean::         clean-unuran
 
 distclean-unuran: clean-unuran
-		@rm -f $(UNURANETAG) $(UNURANDEP) $(UNURANDS) $(UNURANDH) $(UNURANLIB)
+		@rm -f $(UNURANETAG) $(UNURANDEP) $(UNURANDS) $(UNURANDH) $(UNURANLIB) $(UNURANMAP)
 		@mv $(UNRSRCS) $(UNURANDIRS)/-$(UNRVERS).tar.gz
 		@rm -rf $(UNURANDIRS)/$(UNRVERS)
 		@mv $(UNURANDIRS)/-$(UNRVERS).tar.gz $(UNRSRCS)
diff --git a/vmc/Module.mk b/vmc/Module.mk
index 072d3975219fcecc362db1845c6eeefc554318ce..f60f372076a4f099afe706325b3383dd6a951e24 100644
--- a/vmc/Module.mk
+++ b/vmc/Module.mk
@@ -25,10 +25,12 @@ VMCO         := $(VMCS:.cxx=.o)
 VMCDEP       := $(VMCO:.o=.d) $(VMCDO:.o=.d)
 
 VMCLIB       := $(LPATH)/libVMC.$(SOEXT)
+VMCMAP       := $(VMCLIB:.$(SOEXT)=.rootmap)
 
 # used in the main Makefile
 ALLHDRS     += $(patsubst $(MODDIRI)/%.h,include/%.h,$(VMCH))
 ALLLIBS     += $(VMCLIB)
+ALLMAPS     += $(VMCMAP)
 
 # include all dependency files
 INCLUDEFILES += $(VMCDEP)
@@ -46,13 +48,11 @@ $(VMCDS):       $(VMCH1) $(VMCL) $(ROOTCINTTMPEXE)
 		@echo "Generating dictionary $@..."
 		$(ROOTCINTTMP) -f $@ -c $(VMCH1) $(VMCL)
 
-all-vmc:        $(VMCLIB)
+$(VMCMAP):      $(RLIBMAP) $(MAKEFILEDEP) $(VMCL)
+		$(RLIBMAP) -o $(VMCMAP) -l $(VMCLIB) \
+		   -d $(VMCLIBDEPM) -c $(VMCL)
 
-map-vmc:        $(RLIBMAP)
-		$(RLIBMAP) -r $(ROOTMAP) -l $(VMCLIB) \
-		   -d $(VMCLIBDEP) -c $(VMCL)
-
-map::           map-vmc
+all-vmc:        $(VMCLIB) $(VMCMAP)
 
 clean-vmc:
 		@rm -f $(VMCO) $(VMCDO)
@@ -60,6 +60,6 @@ clean-vmc:
 clean::         clean-vmc
 
 distclean-vmc:   clean-vmc
-		@rm -f $(VMCDEP) $(VMCDS) $(VMCDH) $(VMCLIB)
+		@rm -f $(VMCDEP) $(VMCDS) $(VMCDH) $(VMCLIB) $(VMCMAP)
 
 distclean::     distclean-vmc
diff --git a/win32gdk/Module.mk b/win32gdk/Module.mk
index 0c3fbdaf7ad42052360b5fcabc25989b324b10a9..51864b676fcbd51f1e3dd4a4d46ccd0ae10b89d3 100644
--- a/win32gdk/Module.mk
+++ b/win32gdk/Module.mk
@@ -46,6 +46,7 @@ WIN32GDKO    := $(WIN32GDKO1) $(WIN32GDKO2)
 WIN32GDKDEP  := $(WIN32GDKO:.o=.d) $(WIN32GDKDO:.o=.d)
 
 WIN32GDKLIB  := $(LPATH)/libWin32gdk.$(SOEXT)
+WIN32GDKMAP  := $(WIN32GDKLIB:.$(SOEXT)=.rootmap)
 
 # GDK libraries and DLL's
 GDKLIBS      := lib/glib-1.3.lib
@@ -54,6 +55,7 @@ GDKDLLS      := bin/glib-1.3.dll bin/iconv-1.3.dll
 # used in the main Makefile
 ALLHDRS     += $(patsubst $(MODDIRI)/%.h,include/%.h,$(WIN32GDKH))
 ALLLIBS     += $(WIN32GDKLIB)
+ALLMAPS     += $(WIN32GDKMAP)
 
 # include all dependency files
 INCLUDEFILES += $(WIN32GDKDEP)
@@ -95,13 +97,11 @@ $(WIN32GDKDS):  $(WIN32GDKH1) $(WIN32GDKL) $(ROOTCINTTMPEXE)
 		@echo "Generating dictionary $@..."
 		$(ROOTCINTTMP) -f $@ -c $(WIN32GDKH1) $(WIN32GDKL)
 
-all-win32gdk:   $(WIN32GDKLIB)
+$(WIN32GDKMAP): $(RLIBMAP) $(MAKEFILEDEP) $(WIN32GDKL)
+		$(RLIBMAP) -o $(WIN32GDKMAP) -l $(WIN32GDKLIB) \
+		   -d $(WIN32GDKLIBDEPM) -c $(WIN32GDKL)
 
-map-win32gdk:   $(RLIBMAP)
-		$(RLIBMAP) -r $(ROOTMAP) -l $(WIN32GDKLIB) \
-		   -d $(WIN32GDKLIBDEP) -c $(WIN32GDKL)
-
-map::           map-win32gdk
+all-win32gdk:   $(WIN32GDKLIB) $(WIN32GDKMAP)
 
 clean-win32gdk:
 		@rm -f $(WIN32GDKO) $(WIN32GDKDO)
@@ -110,7 +110,7 @@ clean::         clean-win32gdk
 
 distclean-win32gdk: clean-win32gdk
 		@rm -f $(WIN32GDKDEP) $(WIN32GDKDS) $(WIN32GDKDH) \
-		   $(WIN32GDKLIB) $(GDKLIBS) $(GDKDLLS)
+		   $(WIN32GDKLIB) $(WIN32GDKMAP) $(GDKLIBS) $(GDKDLLS)
 ifeq ($(PLATFORM),win32)
 		-@(cd $(GDKDIRS); unset MAKEFLAGS; \
 		nmake -nologo -f makefile.msc clean VC_MAJOR=$(VC_MAJOR))
diff --git a/x11/Module.mk b/x11/Module.mk
index 04b46b8cbed2c08f2d1fa9106530d89bd31fc7ef..7723aac45a0584d6ee5c78367e8fe7d60fc6dfc9 100644
--- a/x11/Module.mk
+++ b/x11/Module.mk
@@ -26,10 +26,12 @@ X11O         := $(X11S1:.cxx=.o) $(X11S2:.c=.o)
 X11DEP       := $(X11O:.o=.d) $(X11DO:.o=.d)
 
 X11LIB       := $(LPATH)/libGX11.$(SOEXT)
+X11MAP       := $(X11LIB:.$(SOEXT)=.rootmap)
 
 # used in the main Makefile
 ALLHDRS     += $(patsubst $(MODDIRI)/%.h,include/%.h,$(X11H))
 ALLLIBS     += $(X11LIB)
+ALLMAPS     += $(X11MAP)
 
 # include all dependency files
 INCLUDEFILES += $(X11DEP)
@@ -47,13 +49,11 @@ $(X11DS):       $(X11H1) $(X11L) $(ROOTCINTTMPEXE)
 		@echo "Generating dictionary $@..."
 		$(ROOTCINTTMP) -f $@ -c $(X11H1) $(X11L)
 
-all-x11:        $(X11LIB)
+$(X11MAP):      $(RLIBMAP) $(MAKEFILEDEP) $(X11L)
+		$(RLIBMAP) -o $(X11MAP) -l $(X11LIB) \
+		   -d $(X11LIBDEPM) -c $(X11L)
 
-map-x11:        $(RLIBMAP)
-		$(RLIBMAP) -r $(ROOTMAP) -l $(X11LIB) \
-		   -d $(X11LIBDEP) -c $(X11L)
-
-map::           map-x11
+all-x11:        $(X11LIB) $(X11MAP)
 
 clean-x11:
 		@rm -f $(X11O) $(X11DO)
@@ -61,6 +61,6 @@ clean-x11:
 clean::         clean-x11
 
 distclean-x11:  clean-x11
-		@rm -f $(X11DEP) $(X11DS) $(X11DH) $(X11LIB)
+		@rm -f $(X11DEP) $(X11DS) $(X11DH) $(X11LIB) $(X11MAP)
 
 distclean::     distclean-x11
diff --git a/x11ttf/Module.mk b/x11ttf/Module.mk
index afb105395e7666c89410bcd98aec42721c83a284..c441735d6a7561aed8dd75dd4fdfae7deb2e680d 100644
--- a/x11ttf/Module.mk
+++ b/x11ttf/Module.mk
@@ -24,10 +24,12 @@ X11TTFO      := $(X11TTFS:.cxx=.o)
 X11TTFDEP    := $(X11TTFO:.o=.d) $(X11TTFDO:.o=.d)
 
 X11TTFLIB    := $(LPATH)/libGX11TTF.$(SOEXT)
+X11TTFMAP    := $(X11TTFLIB:.$(SOEXT)=.rootmap)
 
 # used in the main Makefile
 ALLHDRS     += $(patsubst $(MODDIRI)/%.h,include/%.h,$(X11TTFH))
 ALLLIBS     += $(X11TTFLIB)
+ALLMAPS     += $(X11TTFMAP)
 
 #ifeq ($(XFTLIB),yes)
 XLIBS       += $(X11LIBDIR) -lXft
@@ -51,13 +53,11 @@ $(X11TTFDS):    $(X11TTFH) $(X11TTFL) $(ROOTCINTTMPEXE)
 		@echo "Generating dictionary $@..."
 		$(ROOTCINTTMP) -f $@ -c $(FREETYPEINC) $(X11TTFH) $(X11TTFL)
 
-all-x11ttf:     $(X11TTFLIB)
+$(X11TTFMAP):   $(RLIBMAP) $(MAKEFILEDEP) $(X11TTFL)
+		$(RLIBMAP) -o $(X11TTFMAP) -l $(X11TTFLIB) \
+		   -d $(X11TTFLIBDEPM) -c $(X11TTFL)
 
-map-x11ttf:     $(RLIBMAP)
-		$(RLIBMAP) -r $(ROOTMAP) -l $(X11TTFLIB) \
-		   -d $(X11TTFLIBDEP) -c $(X11TTFL)
-
-map::           map-x11ttf
+all-x11ttf:     $(X11TTFLIB) $(X11TTFMAP)
 
 clean-x11ttf:
 		@rm -f $(X11TTFO) $(X11TTFDO)
@@ -65,7 +65,7 @@ clean-x11ttf:
 clean::         clean-x11ttf
 
 distclean-x11ttf: clean-x11ttf
-		@rm -f $(X11TTFDEP) $(X11TTFDS) $(X11TTFDH) $(X11TTFLIB)
+		@rm -f $(X11TTFDEP) $(X11TTFDS) $(X11TTFDH) $(X11TTFLIB) $(X11TTFMAP)
 
 distclean::     distclean-x11ttf
 
diff --git a/x3d/Module.mk b/x3d/Module.mk
index bc5ed2aa854466c70baf3c64b717c2f0a708485f..ea0c74fa51fe2f4428576c28a2d972c79bece7a6 100644
--- a/x3d/Module.mk
+++ b/x3d/Module.mk
@@ -27,10 +27,12 @@ X3DO         := $(X3DS1:.cxx=.o) $(X3DS2:.c=.o)
 X3DDEP       := $(X3DO:.o=.d) $(X3DDO:.o=.d)
 
 X3DLIB       := $(LPATH)/libX3d.$(SOEXT)
+X3DMAP       := $(X3DLIB:.$(SOEXT)=.rootmap)
 
 # used in the main Makefile
 ALLHDRS     += $(patsubst $(MODDIRI)/%.h,include/%.h,$(X3DH))
 ALLLIBS     += $(X3DLIB)
+ALLMAPS     += $(X3DMAP)
 
 # include all dependency files
 INCLUDEFILES += $(X3DDEP)
@@ -48,13 +50,11 @@ $(X3DDS):       $(X3DH1) $(X3DL) $(ROOTCINTTMPEXE)
 		@echo "Generating dictionary $@..."
 		$(ROOTCINTTMP) -f $@ -c $(X3DH1) $(X3DL)
 
-all-x3d:        $(X3DLIB)
+$(X3DMAP):      $(RLIBMAP) $(MAKEFILEDEP) $(X3DL)
+		$(RLIBMAP) -o $(X3DMAP) -l $(X3DLIB) \
+		   -d $(X3DLIBDEPM) -c $(X3DL)
 
-map-x3d:        $(RLIBMAP)
-		$(RLIBMAP) -r $(ROOTMAP) -l $(X3DLIB) \
-		   -d $(X3DLIBDEP) -c $(X3DL)
-
-map::           map-x3d
+all-x3d:        $(X3DLIB) $(X3DMAP)
 
 clean-x3d:
 		@rm -f $(X3DO) $(X3DDO)
@@ -62,6 +62,6 @@ clean-x3d:
 clean::         clean-x3d
 
 distclean-x3d:  clean-x3d
-		@rm -f $(X3DDEP) $(X3DDS) $(X3DDH) $(X3DLIB)
+		@rm -f $(X3DDEP) $(X3DDS) $(X3DDH) $(X3DLIB) $(X3DMAP)
 
 distclean::     distclean-x3d
diff --git a/xml/Module.mk b/xml/Module.mk
index 90e40937f96098c53e1ee0c9f333cabbe77ef64d..80499071a3f9d83e6939e6b910306179cfda7c86 100644
--- a/xml/Module.mk
+++ b/xml/Module.mk
@@ -24,10 +24,12 @@ XMLO         := $(XMLS:.cxx=.o)
 XMLDEP       := $(XMLO:.o=.d) $(XMLDO:.o=.d)
 
 XMLLIB       := $(LPATH)/libXMLIO.$(SOEXT)
+XMLMAP       := $(XMLLIB:.$(SOEXT)=.rootmap)
 
 # used in the main Makefile
 ALLHDRS     += $(patsubst $(MODDIRI)/%.h,include/%.h,$(XMLH))
 ALLLIBS     += $(XMLLIB)
+ALLMAPS     += $(XMLMAP)
 
 # include all dependency files
 INCLUDEFILES += $(XMLDEP)
@@ -45,12 +47,11 @@ $(XMLDS):       $(XMLH) $(XMLL) $(ROOTCINTTMPEXE)
 		@echo "Generating dictionary $@..."
 		$(ROOTCINTTMP) -f $@ -c $(XMLH) $(XMLL)
 
-all-xml:        $(XMLLIB)
+$(XMLMAP):      $(RLIBMAP) $(MAKEFILEDEP) $(XMLL)
+		$(RLIBMAP) -o $(XMLMAP) -l $(XMLLIB) \
+		   -d $(XMLLIBDEPM) -c $(XMLL)
 
-map-xml:        $(RLIBMAP)
-		$(RLIBMAP) -r $(ROOTMAP) -l $(XMLLIB) -d $(XMLLIBDEP) -c $(XMLL)
-
-map::           map-xml
+all-xml:        $(XMLLIB) $(XMLMAP)
 
 clean-xml:
 		@rm -f $(XMLO) $(XMLDO)
@@ -58,7 +59,7 @@ clean-xml:
 clean::         clean-xml
 
 distclean-xml:  clean-xml
-		@rm -f $(XMLDEP) $(XMLDS) $(XMLDH) $(XMLLIB)
+		@rm -f $(XMLDEP) $(XMLDS) $(XMLDH) $(XMLLIB) $(XMLMAP)
 
 distclean::     distclean-xml
 
diff --git a/xmlparser/Module.mk b/xmlparser/Module.mk
index dfb990603444578ee0ac7ee2581d8525c516de96..095b7c0dbc44e09044a0b48f1e230a2e24d01c47 100644
--- a/xmlparser/Module.mk
+++ b/xmlparser/Module.mk
@@ -24,10 +24,12 @@ XMLPARSERO    := $(XMLPARSERS:.cxx=.o)
 XMLPARSERDEP  := $(XMLPARSERO:.o=.d) $(XMLPARSERDO:.o=.d)
 
 XMLPARSERLIB  := $(LPATH)/libXMLParser.$(SOEXT)
+XMLPARSERMAP  := $(XMLPARSERLIB:.$(SOEXT)=.rootmap)
 
 # used in the main Makefile
 ALLHDRS      += $(patsubst $(MODDIRI)/%.h,include/%.h,$(XMLPARSERH))
 ALLLIBS      += $(XMLPARSERLIB)
+ALLMAPS      += $(XMLPARSERMAP)
 
 # include all dependency files
 INCLUDEFILES += $(XMLPARSERDEP)
@@ -46,13 +48,11 @@ $(XMLPARSERDS): $(XMLPARSERH) $(XMLPARSERL) $(ROOTCINTTMPEXE)
 		@echo "Generating dictionary $@..."
 		$(ROOTCINTTMP) -f $@ -c $(XMLPARSERH) $(XMLPARSERL)
 
-all-xmlparser:  $(XMLPARSERLIB)
+$(XMLPARSERMAP): $(RLIBMAP) $(MAKEFILEDEP) $(XMLPARSERL)
+		$(RLIBMAP) -o $(XMLPARSERMAP) -l $(XMLPARSERLIB) \
+		   -d $(XMLPARSERLIBDEPM) -c $(XMLPARSERL)
 
-map-xmlparser:  $(RLIBMAP)
-		$(RLIBMAP) -r $(ROOTMAP) -l $(XMLPARSERLIB) \
-		   -d $(XMLPARSERLIBDEP) -c $(XMLPARSERL)
-
-map::           map-xmlparser
+all-xmlparser:  $(XMLPARSERLIB) $(XMLPARSERMAP)
 
 clean-xmlparser:
 		@rm -f $(XMLPARSERO) $(XMLPARSERDO)
@@ -61,7 +61,7 @@ clean::         clean-xmlparser
 
 distclean-xmlparser: clean-xmlparser
 		@rm -f $(XMLPARSERDEP) $(XMLPARSERDS) $(XMLPARSERDH) \
-		   $(XMLPARSERLIB)
+		   $(XMLPARSERLIB) $(XMLPARSERMAP)
 
 distclean::     distclean-xmlparser