diff --git a/NPLib/AnnularS1/Makefile b/NPLib/AnnularS1/Makefile
index ee646f98b283f8af99edb528ec791c4d59a4bfa7..b9794b077aea18b148f06125a99eff54e8a4d319 100644
--- a/NPLib/AnnularS1/Makefile
+++ b/NPLib/AnnularS1/Makefile
@@ -1,270 +1,4 @@
-# Makefile for the ROOT test programs.
-# This Makefile shows nicely how to compile and link applications
-# using the ROOT libraries on all supported platforms.
-#
-# Copyright (c) 2000 Rene Brun and Fons Rademakers
-#
-# Author: Fons Rademakers, 29/2/2000
-
-ROOTCONFIG   := root-config
-
-ARCH         := $(shell $(ROOTCONFIG) --arch)
-PLATFORM     := $(shell $(ROOTCONFIG) --platform)
-ALTCC        := $(shell $(ROOTCONFIG) --cc)
-ALTCXX       := $(shell $(ROOTCONFIG) --cxx)
-ALTF77       := $(shell $(ROOTCONFIG) --f77)
-ALTLD        := $(shell $(ROOTCONFIG) --ld)
-
-#CXX           =
-ObjSuf        = o
-SrcSuf        = cxx
-ExeSuf        =
-DllSuf        = so
-OutPutOpt     = -o # keep whitespace after "-o"
-
-ifeq (debug,$(findstring debug,$(ROOTBUILD)))
-OPT           = -g
-OPT2          = -g
-else
-ifneq ($(findstring debug, $(strip $(shell $(ROOTCONFIG) --config))),)
-OPT           = -g
-OPT2          = -g
-else
-OPT           = -O
-OPT2          = -O2
-endif
-endif
-
-ROOTCFLAGS   := $(shell $(ROOTCONFIG) --cflags)
-ROOTLDFLAGS  := $(shell $(ROOTCONFIG) --ldflags)
-ROOTLIBS     := $(shell $(ROOTCONFIG) --libs)
-ROOTGLIBS    := $(shell $(ROOTCONFIG) --glibs)
-HASTHREAD    := $(shell $(ROOTCONFIG) --has-thread)
-ROOTDICTTYPE := $(shell $(ROOTCONFIG) --dicttype)
-ROOTCINT     := rootcint
-
-ifeq ($(ARCH),linux)
-# Linux with egcs, gcc 2.9x, gcc 3.x
-CXX           = g++
-CXXFLAGS      = $(OPT2) -Wall -fPIC
-LD            = g++
-LDFLAGS       = $(OPT2)
-SOFLAGS       = -shared
-endif
-
-ifeq ($(ARCH),linuxkcc)
-# Linux with the KAI compiler
-CXX           = KCC --one_instantiation_per_object
-CXXFLAGS      = $(OPT) -fPIC +K0
-LD            = KCC
-LDFLAGS       = $(OPT) $(shell $(ROOTCONFIG) --cflags)
-SOFLAGS       =
-endif
-
-ifeq ($(ARCH),linuxicc)
-# Linux with Intel icc compiler
-ICC_MAJOR    := $(shell icc -v 2>&1 | awk '{ if (NR==1) print $$2 }' | \
-                cut -d'.' -f1)
-ICC_MINOR    := $(shell icc -v 2>&1 | awk '{ if (NR==1) print $$2 }' | \
-                cut -d'.' -f2)
-CXX           = icc
-CXXFLAGS      = $(OPT) -fPIC -wd1476
-LD            = icpc
-LDFLAGS       = $(OPT)
-SOFLAGS       = -shared
-endif
-
-ifeq ($(ARCH),linuxppcgcc)
-# PPC Linux with gcc and glibc
-CXX           = g++
-CXXFLAGS      = $(OPT2) -Wall -fPIC
-LD            = g++
-LDFLAGS       = $(OPT2)
-SOFLAGS       = -shared
-endif
-
-ifeq ($(ARCH),linuxia64gcc)
-# Itanium Linux with gcc 2.9x
-CXX           = g++
-CXXFLAGS      = $(OPT2) -Wall -fPIC
-LD            = g++
-LDFLAGS       = $(OPT2)
-SOFLAGS       = -shared
-endif
-
-ifeq ($(ARCH),linuxia64sgi)
-# Itanium Linux with sgiCC
-CXX           = sgiCC
-CXXFLAGS      = $(OPT) -Wall -fPIC
-LD            = gsgiCC
-LDFLAGS       = $(OPT)
-SOFLAGS       = -shared
-endif
-
-ifeq ($(ARCH),linuxia64ecc)
-# Itanium Linux with Intel icc (was ecc)
-ICC_MAJOR    := $(shell icc -v 2>&1 | awk '{ if (NR==1) print $$2 }' | \
-                cut -d'.' -f1)
-ICC_MINOR    := $(shell icc -v 2>&1 | awk '{ if (NR==1) print $$2 }' | \
-                cut -d'.' -f2)
-CXX           = icc
-CXXFLAGS      = $(OPT) -fPIC -wd1476 -ftz
-LD            = icpc
-LDFLAGS       = $(OPT)
-SOFLAGS       = -shared
-endif
-
-ifeq ($(ARCH),linuxx8664gcc)
-# AMD Opteron and Intel EM64T (64 bit mode) Linux with gcc 3.x
-CXX           = g++
-CXXFLAGS      = $(OPT2) -Wall -fPIC
-LD            = g++
-LDFLAGS       = $(OPT2)
-SOFLAGS       = -shared
-endif
-
-ifeq ($(ARCH),linuxppc64gcc)
-# PPC64 Linux with gcc 3.x
-CXX           = g++
-CXXFLAGS      = $(OPT) -Wall -fPIC
-LD            = g++
-LDFLAGS       = $(OPT)
-SOFLAGS       = -shared
-endif
-
-ifeq ($(ARCH),linuxx8664icc)
-# AMD Opteron and Intel EM64T (64 bit mode) Linux with Intel icc compiler
-CXX           = icc
-CXXFLAGS      = $(OPT) -fPIC -wd1476 -wd1572
-LD            = icpc
-LDFLAGS       = $(OPT)
-SOFLAGS       = -shared
-endif
-
-ifeq ($(ARCH),linuxalphagcc)
-# Alpha Linux with gcc
-CXX           = g++
-CXXFLAGS      = $(OPT2) -Wall -fPIC
-LD            = g++
-LDFLAGS       = $(OPT2)
-SOFLAGS       = -shared
-endif
-
-ifeq ($(ARCH),linuxmips)
-# GNU/Linux on mips (BE/LE, O32/N32/N64) with gcc
-CXX           = g++
-CXXFLAGS      = $(OPT2) -Wall -fPIC
-LD            = g++
-LDFLAGS       = $(OPT2)
-SOFLAGS       = -shared
-endif
-
-ifeq ($(ARCH),linuxhppa)
-# GNU/Linux on hppa with gcc
-CXX           = g++
-CXXFLAGS      = $(OPT2) -Wall -fPIC
-LD            = g++
-LDFLAGS       = $(OPT2)
-SOFLAGS       = -shared
-endif
-
-ifeq ($(ARCH),linuxarm)
-# ARM Linux with egcs
-CXX           = g++
-CXXFLAGS      = $(OPT) -Wall -fPIC
-LD            = g++
-LDFLAGS       = $(OPT)
-SOFLAGS       = -shared
-endif
-
-ifeq ($(ARCH),macosx)
-# MacOS X with cc (GNU cc 2.95.2 and gcc 3.3)
-MACOSX_MINOR := $(shell sw_vers | sed -n 's/ProductVersion://p' | cut -d . -f 2)
-MACOSXTARGET := MACOSX_DEPLOYMENT_TARGET=10.$(MACOSX_MINOR)
-CXX           = g++
-CXXFLAGS      = $(OPT2) -pipe -Wall -W -Woverloaded-virtual
-LD            = $(MACOSXTARGET) g++
-LDFLAGS       = $(OPT2) -bind_at_load
-# The SOFLAGS will be used to create the .dylib,
-# the .so will be created separately
-ifeq ($(subst $(MACOSX_MINOR),,1234),1234)
-DllSuf        = so
-else
-DllSuf        = dylib
-endif
-UNDEFOPT      = dynamic_lookup
-ifneq ($(subst $(MACOSX_MINOR),,12),12)
-UNDEFOPT      = suppress
-LD            = g++
-endif
-SOFLAGS       = -dynamiclib -single_module -undefined $(UNDEFOPT)
-endif
-
-ifeq ($(ARCH),macosxicc)
-# MacOS X with Intel icc compiler
-MACOSX_MINOR := $(shell sw_vers | sed -n 's/ProductVersion://p' | cut -d . -f 2)
-MACOSXTARGET := MACOSX_DEPLOYMENT_TARGET=10.$(MACOSX_MINOR)
-ifeq ($(MACOSX_MINOR),5)
-MACOSX_MINOR := 4
-endif
-CXX           = icc
-CXXFLAGS      = $(OPT) -fPIC -wd1476
-LD            = $(MACOSXTARGET) icpc
-LDFLAGS       = $(OPT)
-# The SOFLAGS will be used to create the .dylib,
-# the .so will be created separately
-ifeq ($(subst $(MACOSX_MINOR),,1234),1234)
-DllSuf        = so
-else
-DllSuf        = dylib
-endif
-SOFLAGS       = -dynamiclib -single_module -undefined dynamic_lookup
-endif
-
-ifeq ($(ARCH),macosx64)
-# MacOS X >= 10.4 with gcc 64 bit mode (GNU gcc 4.*)
-# Only specific option (-m64) comes from root-config
-MACOSX_MINOR := $(shell sw_vers | sed -n 's/ProductVersion://p' | cut -d . -f 2)
-MACOSXTARGET := MACOSX_DEPLOYMENT_TARGET=10.$(MACOSX_MINOR)
-CXX           = g++
-CXXFLAGS      = $(OPT2) -pipe -Wall -W -Woverloaded-virtual
-LD            = $(MACOSXTARGET) g++ -m64
-LDFLAGS       = $(OPT2) -bind_at_load
-# The SOFLAGS will be used to create the .dylib,
-# the .so will be created separately
-ifeq ($(subst $(MACOSX_MINOR),,1234),1234)
-DllSuf        = so
-else
-DllSuf        = dylib
-endif
-SOFLAGS       = -m64 -dynamiclib -single_module -undefined dynamic_lookup
-endif
-
-ifeq ($(ARCH),macosxxlc)
-# MacOS X with IBM xlC compiler
-MACOSX_MINOR := $(shell sw_vers | sed -n 's/ProductVersion://p' | cut -d . -f 2)
-MACOSXTARGET := MACOSX_DEPLOYMENT_TARGET=10.$(MACOSX_MINOR)
-CXX           = xlC
-CXXFLAGS      = $(OPT)
-LD            = $(MACOSXTARGET) xlC
-LDFLAGS       = $(OPT) -Wl,-bind_at_load
-# The SOFLAGS will be used to create the .dylib,
-# the .so will be created separately
-DllSuf        = dylib
-UNDEFOPT      = dynamic_lookup
-ifneq ($(subst $(MACOSX_MINOR),,12),12)
-UNDEFOPT      = suppress
-LD            = xlC
-endif
-SOFLAGS       = -qmkshrobj -single_module -undefined $(UNDEFOPT)
-endif
-
-CXXFLAGS     += $(ROOTCFLAGS)
-LDFLAGS      += $(ROOTLDFLAGS)
-LIBS          = $(ROOTLIBS) $(SYSLIBS)
-GLIBS         = $(ROOTGLIBS) $(SYSLIBS)
-
-INCLUDE		= -I$(CLHEP_BASE_DIR)/include
+include ../base_Makefile
  
 #------------------------------------------------------------------------------
 SHARELIB      =  libAnnularS1Data.so 
diff --git a/NPLib/CalibrationManager/Makefile b/NPLib/CalibrationManager/Makefile
index dacbd1f0ff6f5b160428cc101d9de2220644bc10..4d59912808b77b1e49fd3c041a80fc7d5a27e6ff 100755
--- a/NPLib/CalibrationManager/Makefile
+++ b/NPLib/CalibrationManager/Makefile
@@ -1,270 +1,4 @@
-# Makefile for the ROOT test programs.
-# This Makefile shows nicely how to compile and link applications
-# using the ROOT libraries on all supported platforms.
-#
-# Copyright (c) 2000 Rene Brun and Fons Rademakers
-#
-# Author: Fons Rademakers, 29/2/2000
-
-ROOTCONFIG   := root-config
-
-ARCH         := $(shell $(ROOTCONFIG) --arch)
-PLATFORM     := $(shell $(ROOTCONFIG) --platform)
-ALTCC        := $(shell $(ROOTCONFIG) --cc)
-ALTCXX       := $(shell $(ROOTCONFIG) --cxx)
-ALTF77       := $(shell $(ROOTCONFIG) --f77)
-ALTLD        := $(shell $(ROOTCONFIG) --ld)
-
-#CXX           =
-ObjSuf        = o
-SrcSuf        = cxx
-ExeSuf        =
-DllSuf        = so
-OutPutOpt     = -o # keep whitespace after "-o"
-
-ifeq (debug,$(findstring debug,$(ROOTBUILD)))
-OPT           = -g
-OPT2          = -g
-else
-ifneq ($(findstring debug, $(strip $(shell $(ROOTCONFIG) --config))),)
-OPT           = -g
-OPT2          = -g
-else
-OPT           = -O
-OPT2          = -O2
-endif
-endif
-
-ROOTCFLAGS   := $(shell $(ROOTCONFIG) --cflags)
-ROOTLDFLAGS  := $(shell $(ROOTCONFIG) --ldflags)
-ROOTLIBS     := $(shell $(ROOTCONFIG) --libs)
-ROOTGLIBS    := $(shell $(ROOTCONFIG) --glibs)
-HASTHREAD    := $(shell $(ROOTCONFIG) --has-thread)
-ROOTDICTTYPE := $(shell $(ROOTCONFIG) --dicttype)
-ROOTCINT     := rootcint
-
-ifeq ($(ARCH),linux)
-# Linux with egcs, gcc 2.9x, gcc 3.x
-CXX           = g++
-CXXFLAGS      = $(OPT2) -Wall -fPIC
-LD            = g++
-LDFLAGS       = $(OPT2)
-SOFLAGS       = -shared
-endif
-
-ifeq ($(ARCH),linuxkcc)
-# Linux with the KAI compiler
-CXX           = KCC --one_instantiation_per_object
-CXXFLAGS      = $(OPT) -fPIC +K0
-LD            = KCC
-LDFLAGS       = $(OPT) $(shell $(ROOTCONFIG) --cflags)
-SOFLAGS       =
-endif
-
-ifeq ($(ARCH),linuxicc)
-# Linux with Intel icc compiler
-ICC_MAJOR    := $(shell icc -v 2>&1 | awk '{ if (NR==1) print $$2 }' | \
-                cut -d'.' -f1)
-ICC_MINOR    := $(shell icc -v 2>&1 | awk '{ if (NR==1) print $$2 }' | \
-                cut -d'.' -f2)
-CXX           = icc
-CXXFLAGS      = $(OPT) -fPIC -wd1476
-LD            = icpc
-LDFLAGS       = $(OPT)
-SOFLAGS       = -shared
-endif
-
-ifeq ($(ARCH),linuxppcgcc)
-# PPC Linux with gcc and glibc
-CXX           = g++
-CXXFLAGS      = $(OPT2) -Wall -fPIC
-LD            = g++
-LDFLAGS       = $(OPT2)
-SOFLAGS       = -shared
-endif
-
-ifeq ($(ARCH),linuxia64gcc)
-# Itanium Linux with gcc 2.9x
-CXX           = g++
-CXXFLAGS      = $(OPT2) -Wall -fPIC
-LD            = g++
-LDFLAGS       = $(OPT2)
-SOFLAGS       = -shared
-endif
-
-ifeq ($(ARCH),linuxia64sgi)
-# Itanium Linux with sgiCC
-CXX           = sgiCC
-CXXFLAGS      = $(OPT) -Wall -fPIC
-LD            = gsgiCC
-LDFLAGS       = $(OPT)
-SOFLAGS       = -shared
-endif
-
-ifeq ($(ARCH),linuxia64ecc)
-# Itanium Linux with Intel icc (was ecc)
-ICC_MAJOR    := $(shell icc -v 2>&1 | awk '{ if (NR==1) print $$2 }' | \
-                cut -d'.' -f1)
-ICC_MINOR    := $(shell icc -v 2>&1 | awk '{ if (NR==1) print $$2 }' | \
-                cut -d'.' -f2)
-CXX           = icc
-CXXFLAGS      = $(OPT) -fPIC -wd1476 -ftz
-LD            = icpc
-LDFLAGS       = $(OPT)
-SOFLAGS       = -shared
-endif
-
-ifeq ($(ARCH),linuxx8664gcc)
-# AMD Opteron and Intel EM64T (64 bit mode) Linux with gcc 3.x
-CXX           = g++
-CXXFLAGS      = $(OPT2) -Wall -fPIC
-LD            = g++
-LDFLAGS       = $(OPT2)
-SOFLAGS       = -shared
-endif
-
-ifeq ($(ARCH),linuxppc64gcc)
-# PPC64 Linux with gcc 3.x
-CXX           = g++
-CXXFLAGS      = $(OPT) -Wall -fPIC
-LD            = g++
-LDFLAGS       = $(OPT)
-SOFLAGS       = -shared
-endif
-
-ifeq ($(ARCH),linuxx8664icc)
-# AMD Opteron and Intel EM64T (64 bit mode) Linux with Intel icc compiler
-CXX           = icc
-CXXFLAGS      = $(OPT) -fPIC -wd1476 -wd1572
-LD            = icpc
-LDFLAGS       = $(OPT)
-SOFLAGS       = -shared
-endif
-
-ifeq ($(ARCH),linuxalphagcc)
-# Alpha Linux with gcc
-CXX           = g++
-CXXFLAGS      = $(OPT2) -Wall -fPIC
-LD            = g++
-LDFLAGS       = $(OPT2)
-SOFLAGS       = -shared
-endif
-
-ifeq ($(ARCH),linuxmips)
-# GNU/Linux on mips (BE/LE, O32/N32/N64) with gcc
-CXX           = g++
-CXXFLAGS      = $(OPT2) -Wall -fPIC
-LD            = g++
-LDFLAGS       = $(OPT2)
-SOFLAGS       = -shared
-endif
-
-ifeq ($(ARCH),linuxhppa)
-# GNU/Linux on hppa with gcc
-CXX           = g++
-CXXFLAGS      = $(OPT2) -Wall -fPIC
-LD            = g++
-LDFLAGS       = $(OPT2)
-SOFLAGS       = -shared
-endif
-
-ifeq ($(ARCH),linuxarm)
-# ARM Linux with egcs
-CXX           = g++
-CXXFLAGS      = $(OPT) -Wall -fPIC
-LD            = g++
-LDFLAGS       = $(OPT)
-SOFLAGS       = -shared
-endif
-
-ifeq ($(ARCH),macosx)
-# MacOS X with cc (GNU cc 2.95.2 and gcc 3.3)
-MACOSX_MINOR := $(shell sw_vers | sed -n 's/ProductVersion://p' | cut -d . -f 2)
-MACOSXTARGET := MACOSX_DEPLOYMENT_TARGET=10.$(MACOSX_MINOR)
-CXX           = g++
-CXXFLAGS      = $(OPT2) -pipe -Wall -W -Woverloaded-virtual
-LD            = $(MACOSXTARGET) g++
-LDFLAGS       = $(OPT2) -bind_at_load
-# The SOFLAGS will be used to create the .dylib,
-# the .so will be created separately
-ifeq ($(subst $(MACOSX_MINOR),,1234),1234)
-DllSuf        = so
-else
-DllSuf        = dylib
-endif
-UNDEFOPT      = dynamic_lookup
-ifneq ($(subst $(MACOSX_MINOR),,12),12)
-UNDEFOPT      = suppress
-LD            = g++
-endif
-SOFLAGS       = -dynamiclib -single_module -undefined $(UNDEFOPT)
-endif
-
-ifeq ($(ARCH),macosxicc)
-# MacOS X with Intel icc compiler
-MACOSX_MINOR := $(shell sw_vers | sed -n 's/ProductVersion://p' | cut -d . -f 2)
-MACOSXTARGET := MACOSX_DEPLOYMENT_TARGET=10.$(MACOSX_MINOR)
-ifeq ($(MACOSX_MINOR),5)
-MACOSX_MINOR := 4
-endif
-CXX           = icc
-CXXFLAGS      = $(OPT) -fPIC -wd1476
-LD            = $(MACOSXTARGET) icpc
-LDFLAGS       = $(OPT)
-# The SOFLAGS will be used to create the .dylib,
-# the .so will be created separately
-ifeq ($(subst $(MACOSX_MINOR),,1234),1234)
-DllSuf        = so
-else
-DllSuf        = dylib
-endif
-SOFLAGS       = -dynamiclib -single_module -undefined dynamic_lookup
-endif
-
-ifeq ($(ARCH),macosx64)
-# MacOS X >= 10.4 with gcc 64 bit mode (GNU gcc 4.*)
-# Only specific option (-m64) comes from root-config
-MACOSX_MINOR := $(shell sw_vers | sed -n 's/ProductVersion://p' | cut -d . -f 2)
-MACOSXTARGET := MACOSX_DEPLOYMENT_TARGET=10.$(MACOSX_MINOR)
-CXX           = g++
-CXXFLAGS      = $(OPT2) -pipe -Wall -W -Woverloaded-virtual
-LD            = $(MACOSXTARGET) g++ -m64
-LDFLAGS       = $(OPT2) -bind_at_load
-# The SOFLAGS will be used to create the .dylib,
-# the .so will be created separately
-ifeq ($(subst $(MACOSX_MINOR),,1234),1234)
-DllSuf        = so
-else
-DllSuf        = dylib
-endif
-SOFLAGS       = -m64 -dynamiclib -single_module -undefined dynamic_lookup
-endif
-
-ifeq ($(ARCH),macosxxlc)
-# MacOS X with IBM xlC compiler
-MACOSX_MINOR := $(shell sw_vers | sed -n 's/ProductVersion://p' | cut -d . -f 2)
-MACOSXTARGET := MACOSX_DEPLOYMENT_TARGET=10.$(MACOSX_MINOR)
-CXX           = xlC
-CXXFLAGS      = $(OPT)
-LD            = $(MACOSXTARGET) xlC
-LDFLAGS       = $(OPT) -Wl,-bind_at_load
-# The SOFLAGS will be used to create the .dylib,
-# the .so will be created separately
-DllSuf        = dylib
-UNDEFOPT      = dynamic_lookup
-ifneq ($(subst $(MACOSX_MINOR),,12),12)
-UNDEFOPT      = suppress
-LD            = xlC
-endif
-SOFLAGS       = -qmkshrobj -single_module -undefined $(UNDEFOPT)
-endif
-
-CXXFLAGS     += $(ROOTCFLAGS)
-LDFLAGS      += $(ROOTLDFLAGS)
-LIBS          = $(ROOTLIBS) $(SYSLIBS)
-GLIBS         = $(ROOTGLIBS) $(SYSLIBS)
-
-INCLUDE		= -I$(CLHEP_BASE_DIR)/include
+include ../base_Makefile
  
 #------------------------------------------------------------------------------
 SHARELIB      =  libCalibrationManager.so 
diff --git a/NPLib/DummyDetector/Makefile b/NPLib/DummyDetector/Makefile
index 3be0b6cbad25e52f3ab40da394c6d3a33f490075..7722507ad0f55612ded60218adca2adf3d06bcf4 100755
--- a/NPLib/DummyDetector/Makefile
+++ b/NPLib/DummyDetector/Makefile
@@ -1,270 +1,4 @@
-# Makefile for the ROOT test programs.
-# This Makefile shows nicely how to compile and link applications
-# using the ROOT libraries on all supported platforms.
-#
-# Copyright (c) 2000 Rene Brun and Fons Rademakers
-#
-# Author: Fons Rademakers, 29/2/2000
-
-ROOTCONFIG   := root-config
-
-ARCH         := $(shell $(ROOTCONFIG) --arch)
-PLATFORM     := $(shell $(ROOTCONFIG) --platform)
-ALTCC        := $(shell $(ROOTCONFIG) --cc)
-ALTCXX       := $(shell $(ROOTCONFIG) --cxx)
-ALTF77       := $(shell $(ROOTCONFIG) --f77)
-ALTLD        := $(shell $(ROOTCONFIG) --ld)
-
-#CXX           =
-ObjSuf        = o
-SrcSuf        = cxx
-ExeSuf        =
-DllSuf        = so
-OutPutOpt     = -o # keep whitespace after "-o"
-
-ifeq (debug,$(findstring debug,$(ROOTBUILD)))
-OPT           = -g
-OPT2          = -g
-else
-ifneq ($(findstring debug, $(strip $(shell $(ROOTCONFIG) --config))),)
-OPT           = -g
-OPT2          = -g
-else
-OPT           = -O
-OPT2          = -O2
-endif
-endif
-
-ROOTCFLAGS   := $(shell $(ROOTCONFIG) --cflags)
-ROOTLDFLAGS  := $(shell $(ROOTCONFIG) --ldflags)
-ROOTLIBS     := $(shell $(ROOTCONFIG) --libs)
-ROOTGLIBS    := $(shell $(ROOTCONFIG) --glibs)
-HASTHREAD    := $(shell $(ROOTCONFIG) --has-thread)
-ROOTDICTTYPE := $(shell $(ROOTCONFIG) --dicttype)
-ROOTCINT     := rootcint
-
-ifeq ($(ARCH),linux)
-# Linux with egcs, gcc 2.9x, gcc 3.x
-CXX           = g++
-CXXFLAGS      = $(OPT2) -Wall -fPIC
-LD            = g++
-LDFLAGS       = $(OPT2)
-SOFLAGS       = -shared
-endif
-
-ifeq ($(ARCH),linuxkcc)
-# Linux with the KAI compiler
-CXX           = KCC --one_instantiation_per_object
-CXXFLAGS      = $(OPT) -fPIC +K0
-LD            = KCC
-LDFLAGS       = $(OPT) $(shell $(ROOTCONFIG) --cflags)
-SOFLAGS       =
-endif
-
-ifeq ($(ARCH),linuxicc)
-# Linux with Intel icc compiler
-ICC_MAJOR    := $(shell icc -v 2>&1 | awk '{ if (NR==1) print $$2 }' | \
-                cut -d'.' -f1)
-ICC_MINOR    := $(shell icc -v 2>&1 | awk '{ if (NR==1) print $$2 }' | \
-                cut -d'.' -f2)
-CXX           = icc
-CXXFLAGS      = $(OPT) -fPIC -wd1476
-LD            = icpc
-LDFLAGS       = $(OPT)
-SOFLAGS       = -shared
-endif
-
-ifeq ($(ARCH),linuxppcgcc)
-# PPC Linux with gcc and glibc
-CXX           = g++
-CXXFLAGS      = $(OPT2) -Wall -fPIC
-LD            = g++
-LDFLAGS       = $(OPT2)
-SOFLAGS       = -shared
-endif
-
-ifeq ($(ARCH),linuxia64gcc)
-# Itanium Linux with gcc 2.9x
-CXX           = g++
-CXXFLAGS      = $(OPT2) -Wall -fPIC
-LD            = g++
-LDFLAGS       = $(OPT2)
-SOFLAGS       = -shared
-endif
-
-ifeq ($(ARCH),linuxia64sgi)
-# Itanium Linux with sgiCC
-CXX           = sgiCC
-CXXFLAGS      = $(OPT) -Wall -fPIC
-LD            = gsgiCC
-LDFLAGS       = $(OPT)
-SOFLAGS       = -shared
-endif
-
-ifeq ($(ARCH),linuxia64ecc)
-# Itanium Linux with Intel icc (was ecc)
-ICC_MAJOR    := $(shell icc -v 2>&1 | awk '{ if (NR==1) print $$2 }' | \
-                cut -d'.' -f1)
-ICC_MINOR    := $(shell icc -v 2>&1 | awk '{ if (NR==1) print $$2 }' | \
-                cut -d'.' -f2)
-CXX           = icc
-CXXFLAGS      = $(OPT) -fPIC -wd1476 -ftz
-LD            = icpc
-LDFLAGS       = $(OPT)
-SOFLAGS       = -shared
-endif
-
-ifeq ($(ARCH),linuxx8664gcc)
-# AMD Opteron and Intel EM64T (64 bit mode) Linux with gcc 3.x
-CXX           = g++
-CXXFLAGS      = $(OPT2) -Wall -fPIC
-LD            = g++
-LDFLAGS       = $(OPT2)
-SOFLAGS       = -shared
-endif
-
-ifeq ($(ARCH),linuxppc64gcc)
-# PPC64 Linux with gcc 3.x
-CXX           = g++
-CXXFLAGS      = $(OPT) -Wall -fPIC
-LD            = g++
-LDFLAGS       = $(OPT)
-SOFLAGS       = -shared
-endif
-
-ifeq ($(ARCH),linuxx8664icc)
-# AMD Opteron and Intel EM64T (64 bit mode) Linux with Intel icc compiler
-CXX           = icc
-CXXFLAGS      = $(OPT) -fPIC -wd1476 -wd1572
-LD            = icpc
-LDFLAGS       = $(OPT)
-SOFLAGS       = -shared
-endif
-
-ifeq ($(ARCH),linuxalphagcc)
-# Alpha Linux with gcc
-CXX           = g++
-CXXFLAGS      = $(OPT2) -Wall -fPIC
-LD            = g++
-LDFLAGS       = $(OPT2)
-SOFLAGS       = -shared
-endif
-
-ifeq ($(ARCH),linuxmips)
-# GNU/Linux on mips (BE/LE, O32/N32/N64) with gcc
-CXX           = g++
-CXXFLAGS      = $(OPT2) -Wall -fPIC
-LD            = g++
-LDFLAGS       = $(OPT2)
-SOFLAGS       = -shared
-endif
-
-ifeq ($(ARCH),linuxhppa)
-# GNU/Linux on hppa with gcc
-CXX           = g++
-CXXFLAGS      = $(OPT2) -Wall -fPIC
-LD            = g++
-LDFLAGS       = $(OPT2)
-SOFLAGS       = -shared
-endif
-
-ifeq ($(ARCH),linuxarm)
-# ARM Linux with egcs
-CXX           = g++
-CXXFLAGS      = $(OPT) -Wall -fPIC
-LD            = g++
-LDFLAGS       = $(OPT)
-SOFLAGS       = -shared
-endif
-
-ifeq ($(ARCH),macosx)
-# MacOS X with cc (GNU cc 2.95.2 and gcc 3.3)
-MACOSX_MINOR := $(shell sw_vers | sed -n 's/ProductVersion://p' | cut -d . -f 2)
-MACOSXTARGET := MACOSX_DEPLOYMENT_TARGET=10.$(MACOSX_MINOR)
-CXX           = g++
-CXXFLAGS      = $(OPT2) -pipe -Wall -W -Woverloaded-virtual
-LD            = $(MACOSXTARGET) g++
-LDFLAGS       = $(OPT2) -bind_at_load
-# The SOFLAGS will be used to create the .dylib,
-# the .so will be created separately
-ifeq ($(subst $(MACOSX_MINOR),,1234),1234)
-DllSuf        = so
-else
-DllSuf        = dylib
-endif
-UNDEFOPT      = dynamic_lookup
-ifneq ($(subst $(MACOSX_MINOR),,12),12)
-UNDEFOPT      = suppress
-LD            = g++
-endif
-SOFLAGS       = -dynamiclib -single_module -undefined $(UNDEFOPT)
-endif
-
-ifeq ($(ARCH),macosxicc)
-# MacOS X with Intel icc compiler
-MACOSX_MINOR := $(shell sw_vers | sed -n 's/ProductVersion://p' | cut -d . -f 2)
-MACOSXTARGET := MACOSX_DEPLOYMENT_TARGET=10.$(MACOSX_MINOR)
-ifeq ($(MACOSX_MINOR),5)
-MACOSX_MINOR := 4
-endif
-CXX           = icc
-CXXFLAGS      = $(OPT) -fPIC -wd1476
-LD            = $(MACOSXTARGET) icpc
-LDFLAGS       = $(OPT)
-# The SOFLAGS will be used to create the .dylib,
-# the .so will be created separately
-ifeq ($(subst $(MACOSX_MINOR),,1234),1234)
-DllSuf        = so
-else
-DllSuf        = dylib
-endif
-SOFLAGS       = -dynamiclib -single_module -undefined dynamic_lookup
-endif
-
-ifeq ($(ARCH),macosx64)
-# MacOS X >= 10.4 with gcc 64 bit mode (GNU gcc 4.*)
-# Only specific option (-m64) comes from root-config
-MACOSX_MINOR := $(shell sw_vers | sed -n 's/ProductVersion://p' | cut -d . -f 2)
-MACOSXTARGET := MACOSX_DEPLOYMENT_TARGET=10.$(MACOSX_MINOR)
-CXX           = g++
-CXXFLAGS      = $(OPT2) -pipe -Wall -W -Woverloaded-virtual
-LD            = $(MACOSXTARGET) g++ -m64
-LDFLAGS       = $(OPT2) -bind_at_load
-# The SOFLAGS will be used to create the .dylib,
-# the .so will be created separately
-ifeq ($(subst $(MACOSX_MINOR),,1234),1234)
-DllSuf        = so
-else
-DllSuf        = dylib
-endif
-SOFLAGS       = -m64 -dynamiclib -single_module -undefined dynamic_lookup
-endif
-
-ifeq ($(ARCH),macosxxlc)
-# MacOS X with IBM xlC compiler
-MACOSX_MINOR := $(shell sw_vers | sed -n 's/ProductVersion://p' | cut -d . -f 2)
-MACOSXTARGET := MACOSX_DEPLOYMENT_TARGET=10.$(MACOSX_MINOR)
-CXX           = xlC
-CXXFLAGS      = $(OPT)
-LD            = $(MACOSXTARGET) xlC
-LDFLAGS       = $(OPT) -Wl,-bind_at_load
-# The SOFLAGS will be used to create the .dylib,
-# the .so will be created separately
-DllSuf        = dylib
-UNDEFOPT      = dynamic_lookup
-ifneq ($(subst $(MACOSX_MINOR),,12),12)
-UNDEFOPT      = suppress
-LD            = xlC
-endif
-SOFLAGS       = -qmkshrobj -single_module -undefined $(UNDEFOPT)
-endif
-
-CXXFLAGS     += $(ROOTCFLAGS)
-LDFLAGS      += $(ROOTLDFLAGS)
-LIBS          = $(ROOTLIBS) $(SYSLIBS)
-GLIBS         = $(ROOTGLIBS) $(SYSLIBS)
-
-INCLUDE		= -I$(CLHEP_BASE_DIR)/include
+include ../base_Makefile
  
 #------------------------------------------------------------------------------
 SHARELIB      =  libDUMMYDetectorData.so 
diff --git a/NPLib/GASPARD/Makefile b/NPLib/GASPARD/Makefile
index a3feb5627ac5879352296d3f467917edd6b2d0f9..dba1fa580d6d82b5a667e36e69430cab2df2ea5f 100644
--- a/NPLib/GASPARD/Makefile
+++ b/NPLib/GASPARD/Makefile
@@ -1,270 +1,4 @@
-# Makefile for the ROOT test programs.
-# This Makefile shows nicely how to compile and link applications
-# using the ROOT libraries on all supported platforms.
-#
-# Copyright (c) 2000 Rene Brun and Fons Rademakers
-#
-# Author: Fons Rademakers, 29/2/2000
-
-ROOTCONFIG   := root-config
-
-ARCH         := $(shell $(ROOTCONFIG) --arch)
-PLATFORM     := $(shell $(ROOTCONFIG) --platform)
-ALTCC        := $(shell $(ROOTCONFIG) --cc)
-ALTCXX       := $(shell $(ROOTCONFIG) --cxx)
-ALTF77       := $(shell $(ROOTCONFIG) --f77)
-ALTLD        := $(shell $(ROOTCONFIG) --ld)
-
-#CXX           =
-ObjSuf        = o
-SrcSuf        = cxx
-ExeSuf        =
-DllSuf        = so
-OutPutOpt     = -o # keep whitespace after "-o"
-
-ifeq (debug,$(findstring debug,$(ROOTBUILD)))
-OPT           = -g
-OPT2          = -g
-else
-ifneq ($(findstring debug, $(strip $(shell $(ROOTCONFIG) --config))),)
-OPT           = -g
-OPT2          = -g
-else
-OPT           = -O
-OPT2          = -O2
-endif
-endif
-
-ROOTCFLAGS   := $(shell $(ROOTCONFIG) --cflags)
-ROOTLDFLAGS  := $(shell $(ROOTCONFIG) --ldflags)
-ROOTLIBS     := $(shell $(ROOTCONFIG) --libs)
-ROOTGLIBS    := $(shell $(ROOTCONFIG) --glibs)
-HASTHREAD    := $(shell $(ROOTCONFIG) --has-thread)
-ROOTDICTTYPE := $(shell $(ROOTCONFIG) --dicttype)
-ROOTCINT     := rootcint
-
-ifeq ($(ARCH),linux)
-# Linux with egcs, gcc 2.9x, gcc 3.x
-CXX           = g++
-CXXFLAGS      = $(OPT2) -Wall -fPIC
-LD            = g++
-LDFLAGS       = $(OPT2)
-SOFLAGS       = -shared
-endif
-
-ifeq ($(ARCH),linuxkcc)
-# Linux with the KAI compiler
-CXX           = KCC --one_instantiation_per_object
-CXXFLAGS      = $(OPT) -fPIC +K0
-LD            = KCC
-LDFLAGS       = $(OPT) $(shell $(ROOTCONFIG) --cflags)
-SOFLAGS       =
-endif
-
-ifeq ($(ARCH),linuxicc)
-# Linux with Intel icc compiler
-ICC_MAJOR    := $(shell icc -v 2>&1 | awk '{ if (NR==1) print $$2 }' | \
-                cut -d'.' -f1)
-ICC_MINOR    := $(shell icc -v 2>&1 | awk '{ if (NR==1) print $$2 }' | \
-                cut -d'.' -f2)
-CXX           = icc
-CXXFLAGS      = $(OPT) -fPIC -wd1476
-LD            = icpc
-LDFLAGS       = $(OPT)
-SOFLAGS       = -shared
-endif
-
-ifeq ($(ARCH),linuxppcgcc)
-# PPC Linux with gcc and glibc
-CXX           = g++
-CXXFLAGS      = $(OPT2) -Wall -fPIC
-LD            = g++
-LDFLAGS       = $(OPT2)
-SOFLAGS       = -shared
-endif
-
-ifeq ($(ARCH),linuxia64gcc)
-# Itanium Linux with gcc 2.9x
-CXX           = g++
-CXXFLAGS      = $(OPT2) -Wall -fPIC
-LD            = g++
-LDFLAGS       = $(OPT2)
-SOFLAGS       = -shared
-endif
-
-ifeq ($(ARCH),linuxia64sgi)
-# Itanium Linux with sgiCC
-CXX           = sgiCC
-CXXFLAGS      = $(OPT) -Wall -fPIC
-LD            = gsgiCC
-LDFLAGS       = $(OPT)
-SOFLAGS       = -shared
-endif
-
-ifeq ($(ARCH),linuxia64ecc)
-# Itanium Linux with Intel icc (was ecc)
-ICC_MAJOR    := $(shell icc -v 2>&1 | awk '{ if (NR==1) print $$2 }' | \
-                cut -d'.' -f1)
-ICC_MINOR    := $(shell icc -v 2>&1 | awk '{ if (NR==1) print $$2 }' | \
-                cut -d'.' -f2)
-CXX           = icc
-CXXFLAGS      = $(OPT) -fPIC -wd1476 -ftz
-LD            = icpc
-LDFLAGS       = $(OPT)
-SOFLAGS       = -shared
-endif
-
-ifeq ($(ARCH),linuxx8664gcc)
-# AMD Opteron and Intel EM64T (64 bit mode) Linux with gcc 3.x
-CXX           = g++
-CXXFLAGS      = $(OPT2) -Wall -fPIC
-LD            = g++
-LDFLAGS       = $(OPT2)
-SOFLAGS       = -shared
-endif
-
-ifeq ($(ARCH),linuxppc64gcc)
-# PPC64 Linux with gcc 3.x
-CXX           = g++
-CXXFLAGS      = $(OPT) -Wall -fPIC
-LD            = g++
-LDFLAGS       = $(OPT)
-SOFLAGS       = -shared
-endif
-
-ifeq ($(ARCH),linuxx8664icc)
-# AMD Opteron and Intel EM64T (64 bit mode) Linux with Intel icc compiler
-CXX           = icc
-CXXFLAGS      = $(OPT) -fPIC -wd1476 -wd1572
-LD            = icpc
-LDFLAGS       = $(OPT)
-SOFLAGS       = -shared
-endif
-
-ifeq ($(ARCH),linuxalphagcc)
-# Alpha Linux with gcc
-CXX           = g++
-CXXFLAGS      = $(OPT2) -Wall -fPIC
-LD            = g++
-LDFLAGS       = $(OPT2)
-SOFLAGS       = -shared
-endif
-
-ifeq ($(ARCH),linuxmips)
-# GNU/Linux on mips (BE/LE, O32/N32/N64) with gcc
-CXX           = g++
-CXXFLAGS      = $(OPT2) -Wall -fPIC
-LD            = g++
-LDFLAGS       = $(OPT2)
-SOFLAGS       = -shared
-endif
-
-ifeq ($(ARCH),linuxhppa)
-# GNU/Linux on hppa with gcc
-CXX           = g++
-CXXFLAGS      = $(OPT2) -Wall -fPIC
-LD            = g++
-LDFLAGS       = $(OPT2)
-SOFLAGS       = -shared
-endif
-
-ifeq ($(ARCH),linuxarm)
-# ARM Linux with egcs
-CXX           = g++
-CXXFLAGS      = $(OPT) -Wall -fPIC
-LD            = g++
-LDFLAGS       = $(OPT)
-SOFLAGS       = -shared
-endif
-
-ifeq ($(ARCH),macosx)
-# MacOS X with cc (GNU cc 2.95.2 and gcc 3.3)
-MACOSX_MINOR := $(shell sw_vers | sed -n 's/ProductVersion://p' | cut -d . -f 2)
-MACOSXTARGET := MACOSX_DEPLOYMENT_TARGET=10.$(MACOSX_MINOR)
-CXX           = g++
-CXXFLAGS      = $(OPT2) -pipe -Wall -W -Woverloaded-virtual
-LD            = $(MACOSXTARGET) g++
-LDFLAGS       = $(OPT2) -bind_at_load
-# The SOFLAGS will be used to create the .dylib,
-# the .so will be created separately
-ifeq ($(subst $(MACOSX_MINOR),,1234),1234)
-DllSuf        = so
-else
-DllSuf        = dylib
-endif
-UNDEFOPT      = dynamic_lookup
-ifneq ($(subst $(MACOSX_MINOR),,12),12)
-UNDEFOPT      = suppress
-LD            = g++
-endif
-SOFLAGS       = -dynamiclib -single_module -undefined $(UNDEFOPT)
-endif
-
-ifeq ($(ARCH),macosxicc)
-# MacOS X with Intel icc compiler
-MACOSX_MINOR := $(shell sw_vers | sed -n 's/ProductVersion://p' | cut -d . -f 2)
-MACOSXTARGET := MACOSX_DEPLOYMENT_TARGET=10.$(MACOSX_MINOR)
-ifeq ($(MACOSX_MINOR),5)
-MACOSX_MINOR := 4
-endif
-CXX           = icc
-CXXFLAGS      = $(OPT) -fPIC -wd1476
-LD            = $(MACOSXTARGET) icpc
-LDFLAGS       = $(OPT)
-# The SOFLAGS will be used to create the .dylib,
-# the .so will be created separately
-ifeq ($(subst $(MACOSX_MINOR),,1234),1234)
-DllSuf        = so
-else
-DllSuf        = dylib
-endif
-SOFLAGS       = -dynamiclib -single_module -undefined dynamic_lookup
-endif
-
-ifeq ($(ARCH),macosx64)
-# MacOS X >= 10.4 with gcc 64 bit mode (GNU gcc 4.*)
-# Only specific option (-m64) comes from root-config
-MACOSX_MINOR := $(shell sw_vers | sed -n 's/ProductVersion://p' | cut -d . -f 2)
-MACOSXTARGET := MACOSX_DEPLOYMENT_TARGET=10.$(MACOSX_MINOR)
-CXX           = g++
-CXXFLAGS      = $(OPT2) -pipe -Wall -W -Woverloaded-virtual
-LD            = $(MACOSXTARGET) g++ -m64
-LDFLAGS       = $(OPT2) -bind_at_load
-# The SOFLAGS will be used to create the .dylib,
-# the .so will be created separately
-ifeq ($(subst $(MACOSX_MINOR),,1234),1234)
-DllSuf        = so
-else
-DllSuf        = dylib
-endif
-SOFLAGS       = -m64 -dynamiclib -single_module -undefined dynamic_lookup
-endif
-
-ifeq ($(ARCH),macosxxlc)
-# MacOS X with IBM xlC compiler
-MACOSX_MINOR := $(shell sw_vers | sed -n 's/ProductVersion://p' | cut -d . -f 2)
-MACOSXTARGET := MACOSX_DEPLOYMENT_TARGET=10.$(MACOSX_MINOR)
-CXX           = xlC
-CXXFLAGS      = $(OPT)
-LD            = $(MACOSXTARGET) xlC
-LDFLAGS       = $(OPT) -Wl,-bind_at_load
-# The SOFLAGS will be used to create the .dylib,
-# the .so will be created separately
-DllSuf        = dylib
-UNDEFOPT      = dynamic_lookup
-ifneq ($(subst $(MACOSX_MINOR),,12),12)
-UNDEFOPT      = suppress
-LD            = xlC
-endif
-SOFLAGS       = -qmkshrobj -single_module -undefined $(UNDEFOPT)
-endif
-
-CXXFLAGS     += $(ROOTCFLAGS)
-LDFLAGS      += $(ROOTLDFLAGS)
-LIBS          = $(ROOTLIBS) $(SYSLIBS)
-GLIBS         = $(ROOTGLIBS) $(SYSLIBS)
-
-INCLUDE		= -I$(CLHEP_BASE_DIR)/include -I$(NPLIB)/include
+include ../base_Makefile
  
 #------------------------------------------------------------------------------
 SHARELIB      =  libGaspardData.so	\
diff --git a/NPLib/IORoot/Makefile b/NPLib/IORoot/Makefile
index ce8ea070246c8c5ca442fd1cbe3a541aa7462b37..1884d7d8b7d43ecf497e4c56dcbc84a2d37ac9bb 100644
--- a/NPLib/IORoot/Makefile
+++ b/NPLib/IORoot/Makefile
@@ -1,270 +1,4 @@
-# Makefile for the ROOT test programs.
-# This Makefile shows nicely how to compile and link applications
-# using the ROOT libraries on all supported platforms.
-#
-# Copyright (c) 2000 Rene Brun and Fons Rademakers
-#
-# Author: Fons Rademakers, 29/2/2000
-
-ROOTCONFIG   := root-config
-
-ARCH         := $(shell $(ROOTCONFIG) --arch)
-PLATFORM     := $(shell $(ROOTCONFIG) --platform)
-ALTCC        := $(shell $(ROOTCONFIG) --cc)
-ALTCXX       := $(shell $(ROOTCONFIG) --cxx)
-ALTF77       := $(shell $(ROOTCONFIG) --f77)
-ALTLD        := $(shell $(ROOTCONFIG) --ld)
-
-#CXX           =
-ObjSuf        = o
-SrcSuf        = cxx
-ExeSuf        =
-DllSuf        = so
-OutPutOpt     = -o # keep whitespace after "-o"
-
-ifeq (debug,$(findstring debug,$(ROOTBUILD)))
-OPT           = -g
-OPT2          = -g
-else
-ifneq ($(findstring debug, $(strip $(shell $(ROOTCONFIG) --config))),)
-OPT           = -g
-OPT2          = -g
-else
-OPT           = -O
-OPT2          = -O2
-endif
-endif
-
-ROOTCFLAGS   := $(shell $(ROOTCONFIG) --cflags)
-ROOTLDFLAGS  := $(shell $(ROOTCONFIG) --ldflags)
-ROOTLIBS     := $(shell $(ROOTCONFIG) --libs)
-ROOTGLIBS    := $(shell $(ROOTCONFIG) --glibs)
-HASTHREAD    := $(shell $(ROOTCONFIG) --has-thread)
-ROOTDICTTYPE := $(shell $(ROOTCONFIG) --dicttype)
-ROOTCINT     := rootcint
-
-ifeq ($(ARCH),linux)
-# Linux with egcs, gcc 2.9x, gcc 3.x
-CXX           = g++
-CXXFLAGS      = $(OPT2) -Wall -fPIC
-LD            = g++
-LDFLAGS       = $(OPT2)
-SOFLAGS       = -shared
-endif
-
-ifeq ($(ARCH),linuxkcc)
-# Linux with the KAI compiler
-CXX           = KCC --one_instantiation_per_object
-CXXFLAGS      = $(OPT) -fPIC +K0
-LD            = KCC
-LDFLAGS       = $(OPT) $(shell $(ROOTCONFIG) --cflags)
-SOFLAGS       =
-endif
-
-ifeq ($(ARCH),linuxicc)
-# Linux with Intel icc compiler
-ICC_MAJOR    := $(shell icc -v 2>&1 | awk '{ if (NR==1) print $$2 }' | \
-                cut -d'.' -f1)
-ICC_MINOR    := $(shell icc -v 2>&1 | awk '{ if (NR==1) print $$2 }' | \
-                cut -d'.' -f2)
-CXX           = icc
-CXXFLAGS      = $(OPT) -fPIC -wd1476
-LD            = icpc
-LDFLAGS       = $(OPT)
-SOFLAGS       = -shared
-endif
-
-ifeq ($(ARCH),linuxppcgcc)
-# PPC Linux with gcc and glibc
-CXX           = g++
-CXXFLAGS      = $(OPT2) -Wall -fPIC
-LD            = g++
-LDFLAGS       = $(OPT2)
-SOFLAGS       = -shared
-endif
-
-ifeq ($(ARCH),linuxia64gcc)
-# Itanium Linux with gcc 2.9x
-CXX           = g++
-CXXFLAGS      = $(OPT2) -Wall -fPIC
-LD            = g++
-LDFLAGS       = $(OPT2)
-SOFLAGS       = -shared
-endif
-
-ifeq ($(ARCH),linuxia64sgi)
-# Itanium Linux with sgiCC
-CXX           = sgiCC
-CXXFLAGS      = $(OPT) -Wall -fPIC
-LD            = gsgiCC
-LDFLAGS       = $(OPT)
-SOFLAGS       = -shared
-endif
-
-ifeq ($(ARCH),linuxia64ecc)
-# Itanium Linux with Intel icc (was ecc)
-ICC_MAJOR    := $(shell icc -v 2>&1 | awk '{ if (NR==1) print $$2 }' | \
-                cut -d'.' -f1)
-ICC_MINOR    := $(shell icc -v 2>&1 | awk '{ if (NR==1) print $$2 }' | \
-                cut -d'.' -f2)
-CXX           = icc
-CXXFLAGS      = $(OPT) -fPIC -wd1476 -ftz
-LD            = icpc
-LDFLAGS       = $(OPT)
-SOFLAGS       = -shared
-endif
-
-ifeq ($(ARCH),linuxx8664gcc)
-# AMD Opteron and Intel EM64T (64 bit mode) Linux with gcc 3.x
-CXX           = g++
-CXXFLAGS      = $(OPT2) -Wall -fPIC
-LD            = g++
-LDFLAGS       = $(OPT2)
-SOFLAGS       = -shared
-endif
-
-ifeq ($(ARCH),linuxppc64gcc)
-# PPC64 Linux with gcc 3.x
-CXX           = g++
-CXXFLAGS      = $(OPT) -Wall -fPIC
-LD            = g++
-LDFLAGS       = $(OPT)
-SOFLAGS       = -shared
-endif
-
-ifeq ($(ARCH),linuxx8664icc)
-# AMD Opteron and Intel EM64T (64 bit mode) Linux with Intel icc compiler
-CXX           = icc
-CXXFLAGS      = $(OPT) -fPIC -wd1476 -wd1572
-LD            = icpc
-LDFLAGS       = $(OPT)
-SOFLAGS       = -shared
-endif
-
-ifeq ($(ARCH),linuxalphagcc)
-# Alpha Linux with gcc
-CXX           = g++
-CXXFLAGS      = $(OPT2) -Wall -fPIC
-LD            = g++
-LDFLAGS       = $(OPT2)
-SOFLAGS       = -shared
-endif
-
-ifeq ($(ARCH),linuxmips)
-# GNU/Linux on mips (BE/LE, O32/N32/N64) with gcc
-CXX           = g++
-CXXFLAGS      = $(OPT2) -Wall -fPIC
-LD            = g++
-LDFLAGS       = $(OPT2)
-SOFLAGS       = -shared
-endif
-
-ifeq ($(ARCH),linuxhppa)
-# GNU/Linux on hppa with gcc
-CXX           = g++
-CXXFLAGS      = $(OPT2) -Wall -fPIC
-LD            = g++
-LDFLAGS       = $(OPT2)
-SOFLAGS       = -shared
-endif
-
-ifeq ($(ARCH),linuxarm)
-# ARM Linux with egcs
-CXX           = g++
-CXXFLAGS      = $(OPT) -Wall -fPIC
-LD            = g++
-LDFLAGS       = $(OPT)
-SOFLAGS       = -shared
-endif
-
-ifeq ($(ARCH),macosx)
-# MacOS X with cc (GNU cc 2.95.2 and gcc 3.3)
-MACOSX_MINOR := $(shell sw_vers | sed -n 's/ProductVersion://p' | cut -d . -f 2)
-MACOSXTARGET := MACOSX_DEPLOYMENT_TARGET=10.$(MACOSX_MINOR)
-CXX           = g++
-CXXFLAGS      = $(OPT2) -pipe -Wall -W -Woverloaded-virtual
-LD            = $(MACOSXTARGET) g++
-LDFLAGS       = $(OPT2) -bind_at_load
-# The SOFLAGS will be used to create the .dylib,
-# the .so will be created separately
-ifeq ($(subst $(MACOSX_MINOR),,1234),1234)
-DllSuf        = so
-else
-DllSuf        = dylib
-endif
-UNDEFOPT      = dynamic_lookup
-ifneq ($(subst $(MACOSX_MINOR),,12),12)
-UNDEFOPT      = suppress
-LD            = g++
-endif
-SOFLAGS       = -dynamiclib -single_module -undefined $(UNDEFOPT)
-endif
-
-ifeq ($(ARCH),macosxicc)
-# MacOS X with Intel icc compiler
-MACOSX_MINOR := $(shell sw_vers | sed -n 's/ProductVersion://p' | cut -d . -f 2)
-MACOSXTARGET := MACOSX_DEPLOYMENT_TARGET=10.$(MACOSX_MINOR)
-ifeq ($(MACOSX_MINOR),5)
-MACOSX_MINOR := 4
-endif
-CXX           = icc
-CXXFLAGS      = $(OPT) -fPIC -wd1476
-LD            = $(MACOSXTARGET) icpc
-LDFLAGS       = $(OPT)
-# The SOFLAGS will be used to create the .dylib,
-# the .so will be created separately
-ifeq ($(subst $(MACOSX_MINOR),,1234),1234)
-DllSuf        = so
-else
-DllSuf        = dylib
-endif
-SOFLAGS       = -dynamiclib -single_module -undefined dynamic_lookup
-endif
-
-ifeq ($(ARCH),macosx64)
-# MacOS X >= 10.4 with gcc 64 bit mode (GNU gcc 4.*)
-# Only specific option (-m64) comes from root-config
-MACOSX_MINOR := $(shell sw_vers | sed -n 's/ProductVersion://p' | cut -d . -f 2)
-MACOSXTARGET := MACOSX_DEPLOYMENT_TARGET=10.$(MACOSX_MINOR)
-CXX           = g++
-CXXFLAGS      = $(OPT2) -pipe -Wall -W -Woverloaded-virtual
-LD            = $(MACOSXTARGET) g++ -m64
-LDFLAGS       = $(OPT2) -bind_at_load
-# The SOFLAGS will be used to create the .dylib,
-# the .so will be created separately
-ifeq ($(subst $(MACOSX_MINOR),,1234),1234)
-DllSuf        = so
-else
-DllSuf        = dylib
-endif
-SOFLAGS       = -m64 -dynamiclib -single_module -undefined dynamic_lookup
-endif
-
-ifeq ($(ARCH),macosxxlc)
-# MacOS X with IBM xlC compiler
-MACOSX_MINOR := $(shell sw_vers | sed -n 's/ProductVersion://p' | cut -d . -f 2)
-MACOSXTARGET := MACOSX_DEPLOYMENT_TARGET=10.$(MACOSX_MINOR)
-CXX           = xlC
-CXXFLAGS      = $(OPT)
-LD            = $(MACOSXTARGET) xlC
-LDFLAGS       = $(OPT) -Wl,-bind_at_load
-# The SOFLAGS will be used to create the .dylib,
-# the .so will be created separately
-DllSuf        = dylib
-UNDEFOPT      = dynamic_lookup
-ifneq ($(subst $(MACOSX_MINOR),,12),12)
-UNDEFOPT      = suppress
-LD            = xlC
-endif
-SOFLAGS       = -qmkshrobj -single_module -undefined $(UNDEFOPT)
-endif
-
-CXXFLAGS     += $(ROOTCFLAGS)
-LDFLAGS      += $(ROOTLDFLAGS)
-LIBS          = $(ROOTLIBS) $(SYSLIBS)
-GLIBS         = $(ROOTGLIBS) $(SYSLIBS)
-
-INCLUDE		= -I$(CLHEP_BASE_DIR)/include 
+include ../base_Makefile
  
 #------------------------------------------------------------------------------
 SHARELIB      =  libIORoot.so 
diff --git a/NPLib/InteractionCoordinates/Makefile b/NPLib/InteractionCoordinates/Makefile
index 682282e96d1e3654a8042d33fa9bc4aded33d559..767f42184a8040d17ebc43e71804124d89a63903 100644
--- a/NPLib/InteractionCoordinates/Makefile
+++ b/NPLib/InteractionCoordinates/Makefile
@@ -1,270 +1,4 @@
-# Makefile for the ROOT test programs.
-# This Makefile shows nicely how to compile and link applications
-# using the ROOT libraries on all supported platforms.
-#
-# Copyright (c) 2000 Rene Brun and Fons Rademakers
-#
-# Author: Fons Rademakers, 29/2/2000
-
-ROOTCONFIG   := root-config
-
-ARCH         := $(shell $(ROOTCONFIG) --arch)
-PLATFORM     := $(shell $(ROOTCONFIG) --platform)
-ALTCC        := $(shell $(ROOTCONFIG) --cc)
-ALTCXX       := $(shell $(ROOTCONFIG) --cxx)
-ALTF77       := $(shell $(ROOTCONFIG) --f77)
-ALTLD        := $(shell $(ROOTCONFIG) --ld)
-
-#CXX           =
-ObjSuf        = o
-SrcSuf        = cxx
-ExeSuf        =
-DllSuf        = so
-OutPutOpt     = -o # keep whitespace after "-o"
-
-ifeq (debug,$(findstring debug,$(ROOTBUILD)))
-OPT           = -g
-OPT2          = -g
-else
-ifneq ($(findstring debug, $(strip $(shell $(ROOTCONFIG) --config))),)
-OPT           = -g
-OPT2          = -g
-else
-OPT           = -O
-OPT2          = -O2
-endif
-endif
-
-ROOTCFLAGS   := $(shell $(ROOTCONFIG) --cflags)
-ROOTLDFLAGS  := $(shell $(ROOTCONFIG) --ldflags)
-ROOTLIBS     := $(shell $(ROOTCONFIG) --libs)
-ROOTGLIBS    := $(shell $(ROOTCONFIG) --glibs)
-HASTHREAD    := $(shell $(ROOTCONFIG) --has-thread)
-ROOTDICTTYPE := $(shell $(ROOTCONFIG) --dicttype)
-ROOTCINT     := rootcint
-
-ifeq ($(ARCH),linux)
-# Linux with egcs, gcc 2.9x, gcc 3.x
-CXX           = g++
-CXXFLAGS      = $(OPT2) -Wall -fPIC
-LD            = g++
-LDFLAGS       = $(OPT2)
-SOFLAGS       = -shared
-endif
-
-ifeq ($(ARCH),linuxkcc)
-# Linux with the KAI compiler
-CXX           = KCC --one_instantiation_per_object
-CXXFLAGS      = $(OPT) -fPIC +K0
-LD            = KCC
-LDFLAGS       = $(OPT) $(shell $(ROOTCONFIG) --cflags)
-SOFLAGS       =
-endif
-
-ifeq ($(ARCH),linuxicc)
-# Linux with Intel icc compiler
-ICC_MAJOR    := $(shell icc -v 2>&1 | awk '{ if (NR==1) print $$2 }' | \
-                cut -d'.' -f1)
-ICC_MINOR    := $(shell icc -v 2>&1 | awk '{ if (NR==1) print $$2 }' | \
-                cut -d'.' -f2)
-CXX           = icc
-CXXFLAGS      = $(OPT) -fPIC -wd1476
-LD            = icpc
-LDFLAGS       = $(OPT)
-SOFLAGS       = -shared
-endif
-
-ifeq ($(ARCH),linuxppcgcc)
-# PPC Linux with gcc and glibc
-CXX           = g++
-CXXFLAGS      = $(OPT2) -Wall -fPIC
-LD            = g++
-LDFLAGS       = $(OPT2)
-SOFLAGS       = -shared
-endif
-
-ifeq ($(ARCH),linuxia64gcc)
-# Itanium Linux with gcc 2.9x
-CXX           = g++
-CXXFLAGS      = $(OPT2) -Wall -fPIC
-LD            = g++
-LDFLAGS       = $(OPT2)
-SOFLAGS       = -shared
-endif
-
-ifeq ($(ARCH),linuxia64sgi)
-# Itanium Linux with sgiCC
-CXX           = sgiCC
-CXXFLAGS      = $(OPT) -Wall -fPIC
-LD            = gsgiCC
-LDFLAGS       = $(OPT)
-SOFLAGS       = -shared
-endif
-
-ifeq ($(ARCH),linuxia64ecc)
-# Itanium Linux with Intel icc (was ecc)
-ICC_MAJOR    := $(shell icc -v 2>&1 | awk '{ if (NR==1) print $$2 }' | \
-                cut -d'.' -f1)
-ICC_MINOR    := $(shell icc -v 2>&1 | awk '{ if (NR==1) print $$2 }' | \
-                cut -d'.' -f2)
-CXX           = icc
-CXXFLAGS      = $(OPT) -fPIC -wd1476 -ftz
-LD            = icpc
-LDFLAGS       = $(OPT)
-SOFLAGS       = -shared
-endif
-
-ifeq ($(ARCH),linuxx8664gcc)
-# AMD Opteron and Intel EM64T (64 bit mode) Linux with gcc 3.x
-CXX           = g++
-CXXFLAGS      = $(OPT2) -Wall -fPIC
-LD            = g++
-LDFLAGS       = $(OPT2)
-SOFLAGS       = -shared
-endif
-
-ifeq ($(ARCH),linuxppc64gcc)
-# PPC64 Linux with gcc 3.x
-CXX           = g++
-CXXFLAGS      = $(OPT) -Wall -fPIC
-LD            = g++
-LDFLAGS       = $(OPT)
-SOFLAGS       = -shared
-endif
-
-ifeq ($(ARCH),linuxx8664icc)
-# AMD Opteron and Intel EM64T (64 bit mode) Linux with Intel icc compiler
-CXX           = icc
-CXXFLAGS      = $(OPT) -fPIC -wd1476 -wd1572
-LD            = icpc
-LDFLAGS       = $(OPT)
-SOFLAGS       = -shared
-endif
-
-ifeq ($(ARCH),linuxalphagcc)
-# Alpha Linux with gcc
-CXX           = g++
-CXXFLAGS      = $(OPT2) -Wall -fPIC
-LD            = g++
-LDFLAGS       = $(OPT2)
-SOFLAGS       = -shared
-endif
-
-ifeq ($(ARCH),linuxmips)
-# GNU/Linux on mips (BE/LE, O32/N32/N64) with gcc
-CXX           = g++
-CXXFLAGS      = $(OPT2) -Wall -fPIC
-LD            = g++
-LDFLAGS       = $(OPT2)
-SOFLAGS       = -shared
-endif
-
-ifeq ($(ARCH),linuxhppa)
-# GNU/Linux on hppa with gcc
-CXX           = g++
-CXXFLAGS      = $(OPT2) -Wall -fPIC
-LD            = g++
-LDFLAGS       = $(OPT2)
-SOFLAGS       = -shared
-endif
-
-ifeq ($(ARCH),linuxarm)
-# ARM Linux with egcs
-CXX           = g++
-CXXFLAGS      = $(OPT) -Wall -fPIC
-LD            = g++
-LDFLAGS       = $(OPT)
-SOFLAGS       = -shared
-endif
-
-ifeq ($(ARCH),macosx)
-# MacOS X with cc (GNU cc 2.95.2 and gcc 3.3)
-MACOSX_MINOR := $(shell sw_vers | sed -n 's/ProductVersion://p' | cut -d . -f 2)
-MACOSXTARGET := MACOSX_DEPLOYMENT_TARGET=10.$(MACOSX_MINOR)
-CXX           = g++
-CXXFLAGS      = $(OPT2) -pipe -Wall -W -Woverloaded-virtual
-LD            = $(MACOSXTARGET) g++
-LDFLAGS       = $(OPT2) -bind_at_load
-# The SOFLAGS will be used to create the .dylib,
-# the .so will be created separately
-ifeq ($(subst $(MACOSX_MINOR),,1234),1234)
-DllSuf        = so
-else
-DllSuf        = dylib
-endif
-UNDEFOPT      = dynamic_lookup
-ifneq ($(subst $(MACOSX_MINOR),,12),12)
-UNDEFOPT      = suppress
-LD            = g++
-endif
-SOFLAGS       = -dynamiclib -single_module -undefined $(UNDEFOPT)
-endif
-
-ifeq ($(ARCH),macosxicc)
-# MacOS X with Intel icc compiler
-MACOSX_MINOR := $(shell sw_vers | sed -n 's/ProductVersion://p' | cut -d . -f 2)
-MACOSXTARGET := MACOSX_DEPLOYMENT_TARGET=10.$(MACOSX_MINOR)
-ifeq ($(MACOSX_MINOR),5)
-MACOSX_MINOR := 4
-endif
-CXX           = icc
-CXXFLAGS      = $(OPT) -fPIC -wd1476
-LD            = $(MACOSXTARGET) icpc
-LDFLAGS       = $(OPT)
-# The SOFLAGS will be used to create the .dylib,
-# the .so will be created separately
-ifeq ($(subst $(MACOSX_MINOR),,1234),1234)
-DllSuf        = so
-else
-DllSuf        = dylib
-endif
-SOFLAGS       = -dynamiclib -single_module -undefined dynamic_lookup
-endif
-
-ifeq ($(ARCH),macosx64)
-# MacOS X >= 10.4 with gcc 64 bit mode (GNU gcc 4.*)
-# Only specific option (-m64) comes from root-config
-MACOSX_MINOR := $(shell sw_vers | sed -n 's/ProductVersion://p' | cut -d . -f 2)
-MACOSXTARGET := MACOSX_DEPLOYMENT_TARGET=10.$(MACOSX_MINOR)
-CXX           = g++
-CXXFLAGS      = $(OPT2) -pipe -Wall -W -Woverloaded-virtual
-LD            = $(MACOSXTARGET) g++ -m64
-LDFLAGS       = $(OPT2) -bind_at_load
-# The SOFLAGS will be used to create the .dylib,
-# the .so will be created separately
-ifeq ($(subst $(MACOSX_MINOR),,1234),1234)
-DllSuf        = so
-else
-DllSuf        = dylib
-endif
-SOFLAGS       = -m64 -dynamiclib -single_module -undefined dynamic_lookup
-endif
-
-ifeq ($(ARCH),macosxxlc)
-# MacOS X with IBM xlC compiler
-MACOSX_MINOR := $(shell sw_vers | sed -n 's/ProductVersion://p' | cut -d . -f 2)
-MACOSXTARGET := MACOSX_DEPLOYMENT_TARGET=10.$(MACOSX_MINOR)
-CXX           = xlC
-CXXFLAGS      = $(OPT)
-LD            = $(MACOSXTARGET) xlC
-LDFLAGS       = $(OPT) -Wl,-bind_at_load
-# The SOFLAGS will be used to create the .dylib,
-# the .so will be created separately
-DllSuf        = dylib
-UNDEFOPT      = dynamic_lookup
-ifneq ($(subst $(MACOSX_MINOR),,12),12)
-UNDEFOPT      = suppress
-LD            = xlC
-endif
-SOFLAGS       = -qmkshrobj -single_module -undefined $(UNDEFOPT)
-endif
-
-CXXFLAGS     += $(ROOTCFLAGS)
-LDFLAGS      += $(ROOTLDFLAGS)
-LIBS          = $(ROOTLIBS) $(SYSLIBS)
-GLIBS         = $(ROOTGLIBS) $(SYSLIBS)
-
-INCLUDE		= -I$(CLHEP_BASE_DIR)/include
+include ../base_Makefile
  
 #------------------------------------------------------------------------------
 SHARELIB      = libInteractionCoordinates.so
diff --git a/NPLib/MUST2/Makefile b/NPLib/MUST2/Makefile
index 9eae34621d33a888ec754e020fe2b8f0c83787e5..2717c1641fed3b935ec0a4e17633d15172192db8 100644
--- a/NPLib/MUST2/Makefile
+++ b/NPLib/MUST2/Makefile
@@ -1,271 +1,5 @@
-# Makefile for the ROOT test programs.
-# This Makefile shows nicely how to compile and link applications
-# using the ROOT libraries on all supported platforms.
-#
-# Copyright (c) 2000 Rene Brun and Fons Rademakers
-#
-# Author: Fons Rademakers, 29/2/2000
+include ../base_Makefile
 
-ROOTCONFIG   := root-config
-
-ARCH         := $(shell $(ROOTCONFIG) --arch)
-PLATFORM     := $(shell $(ROOTCONFIG) --platform)
-ALTCC        := $(shell $(ROOTCONFIG) --cc)
-ALTCXX       := $(shell $(ROOTCONFIG) --cxx)
-ALTF77       := $(shell $(ROOTCONFIG) --f77)
-ALTLD        := $(shell $(ROOTCONFIG) --ld)
-
-#CXX           =
-ObjSuf        = o
-SrcSuf        = cxx
-ExeSuf        =
-DllSuf        = so
-OutPutOpt     = -o # keep whitespace after "-o"
-
-ifeq (debug,$(findstring debug,$(ROOTBUILD)))
-OPT           = -g
-OPT2          = -g
-else
-ifneq ($(findstring debug, $(strip $(shell $(ROOTCONFIG) --config))),)
-OPT           = -g
-OPT2          = -g
-else
-OPT           = -O
-OPT2          = -O2
-endif
-endif
-
-ROOTCFLAGS   := $(shell $(ROOTCONFIG) --cflags)
-ROOTLDFLAGS  := $(shell $(ROOTCONFIG) --ldflags)
-ROOTLIBS     := $(shell $(ROOTCONFIG) --libs)
-ROOTGLIBS    := $(shell $(ROOTCONFIG) --glibs)
-HASTHREAD    := $(shell $(ROOTCONFIG) --has-thread)
-ROOTDICTTYPE := $(shell $(ROOTCONFIG) --dicttype)
-ROOTCINT     := rootcint
-
-ifeq ($(ARCH),linux)
-# Linux with egcs, gcc 2.9x, gcc 3.x
-CXX           = g++
-CXXFLAGS      = $(OPT2) -Wall -fPIC
-LD            = g++
-LDFLAGS       = $(OPT2)
-SOFLAGS       = -shared
-endif
-
-ifeq ($(ARCH),linuxkcc)
-# Linux with the KAI compiler
-CXX           = KCC --one_instantiation_per_object
-CXXFLAGS      = $(OPT) -fPIC +K0
-LD            = KCC
-LDFLAGS       = $(OPT) $(shell $(ROOTCONFIG) --cflags)
-SOFLAGS       =
-endif
-
-ifeq ($(ARCH),linuxicc)
-# Linux with Intel icc compiler
-ICC_MAJOR    := $(shell icc -v 2>&1 | awk '{ if (NR==1) print $$2 }' | \
-                cut -d'.' -f1)
-ICC_MINOR    := $(shell icc -v 2>&1 | awk '{ if (NR==1) print $$2 }' | \
-                cut -d'.' -f2)
-CXX           = icc
-CXXFLAGS      = $(OPT) -fPIC -wd1476
-LD            = icpc
-LDFLAGS       = $(OPT)
-SOFLAGS       = -shared
-endif
-
-ifeq ($(ARCH),linuxppcgcc)
-# PPC Linux with gcc and glibc
-CXX           = g++
-CXXFLAGS      = $(OPT2) -Wall -fPIC
-LD            = g++
-LDFLAGS       = $(OPT2)
-SOFLAGS       = -shared
-endif
-
-ifeq ($(ARCH),linuxia64gcc)
-# Itanium Linux with gcc 2.9x
-CXX           = g++
-CXXFLAGS      = $(OPT2) -Wall -fPIC
-LD            = g++
-LDFLAGS       = $(OPT2)
-SOFLAGS       = -shared
-endif
-
-ifeq ($(ARCH),linuxia64sgi)
-# Itanium Linux with sgiCC
-CXX           = sgiCC
-CXXFLAGS      = $(OPT) -Wall -fPIC
-LD            = gsgiCC
-LDFLAGS       = $(OPT)
-SOFLAGS       = -shared
-endif
-
-ifeq ($(ARCH),linuxia64ecc)
-# Itanium Linux with Intel icc (was ecc)
-ICC_MAJOR    := $(shell icc -v 2>&1 | awk '{ if (NR==1) print $$2 }' | \
-                cut -d'.' -f1)
-ICC_MINOR    := $(shell icc -v 2>&1 | awk '{ if (NR==1) print $$2 }' | \
-                cut -d'.' -f2)
-CXX           = icc
-CXXFLAGS      = $(OPT) -fPIC -wd1476 -ftz
-LD            = icpc
-LDFLAGS       = $(OPT)
-SOFLAGS       = -shared
-endif
-
-ifeq ($(ARCH),linuxx8664gcc)
-# AMD Opteron and Intel EM64T (64 bit mode) Linux with gcc 3.x
-CXX           = g++
-CXXFLAGS      = $(OPT2) -Wall -fPIC
-LD            = g++
-LDFLAGS       = $(OPT2)
-SOFLAGS       = -shared
-endif
-
-ifeq ($(ARCH),linuxppc64gcc)
-# PPC64 Linux with gcc 3.x
-CXX           = g++
-CXXFLAGS      = $(OPT) -Wall -fPIC
-LD            = g++
-LDFLAGS       = $(OPT)
-SOFLAGS       = -shared
-endif
-
-ifeq ($(ARCH),linuxx8664icc)
-# AMD Opteron and Intel EM64T (64 bit mode) Linux with Intel icc compiler
-CXX           = icc
-CXXFLAGS      = $(OPT) -fPIC -wd1476 -wd1572
-LD            = icpc
-LDFLAGS       = $(OPT)
-SOFLAGS       = -shared
-endif
-
-ifeq ($(ARCH),linuxalphagcc)
-# Alpha Linux with gcc
-CXX           = g++
-CXXFLAGS      = $(OPT2) -Wall -fPIC
-LD            = g++
-LDFLAGS       = $(OPT2)
-SOFLAGS       = -shared
-endif
-
-ifeq ($(ARCH),linuxmips)
-# GNU/Linux on mips (BE/LE, O32/N32/N64) with gcc
-CXX           = g++
-CXXFLAGS      = $(OPT2) -Wall -fPIC
-LD            = g++
-LDFLAGS       = $(OPT2)
-SOFLAGS       = -shared
-endif
-
-ifeq ($(ARCH),linuxhppa)
-# GNU/Linux on hppa with gcc
-CXX           = g++
-CXXFLAGS      = $(OPT2) -Wall -fPIC
-LD            = g++
-LDFLAGS       = $(OPT2)
-SOFLAGS       = -shared
-endif
-
-ifeq ($(ARCH),linuxarm)
-# ARM Linux with egcs
-CXX           = g++
-CXXFLAGS      = $(OPT) -Wall -fPIC
-LD            = g++
-LDFLAGS       = $(OPT)
-SOFLAGS       = -shared
-endif
-
-ifeq ($(ARCH),macosx)
-# MacOS X with cc (GNU cc 2.95.2 and gcc 3.3)
-MACOSX_MINOR := $(shell sw_vers | sed -n 's/ProductVersion://p' | cut -d . -f 2)
-MACOSXTARGET := MACOSX_DEPLOYMENT_TARGET=10.$(MACOSX_MINOR)
-CXX           = g++
-CXXFLAGS      = $(OPT2) -pipe -Wall -W -Woverloaded-virtual
-LD            = $(MACOSXTARGET) g++
-LDFLAGS       = $(OPT2) -bind_at_load
-# The SOFLAGS will be used to create the .dylib,
-# the .so will be created separately
-ifeq ($(subst $(MACOSX_MINOR),,1234),1234)
-DllSuf        = so
-else
-DllSuf        = dylib
-endif
-UNDEFOPT      = dynamic_lookup
-ifneq ($(subst $(MACOSX_MINOR),,12),12)
-UNDEFOPT      = suppress
-LD            = g++
-endif
-SOFLAGS       = -dynamiclib -single_module -undefined $(UNDEFOPT)
-endif
-
-ifeq ($(ARCH),macosxicc)
-# MacOS X with Intel icc compiler
-MACOSX_MINOR := $(shell sw_vers | sed -n 's/ProductVersion://p' | cut -d . -f 2)
-MACOSXTARGET := MACOSX_DEPLOYMENT_TARGET=10.$(MACOSX_MINOR)
-ifeq ($(MACOSX_MINOR),5)
-MACOSX_MINOR := 4
-endif
-CXX           = icc
-CXXFLAGS      = $(OPT) -fPIC -wd1476
-LD            = $(MACOSXTARGET) icpc
-LDFLAGS       = $(OPT)
-# The SOFLAGS will be used to create the .dylib,
-# the .so will be created separately
-ifeq ($(subst $(MACOSX_MINOR),,1234),1234)
-DllSuf        = so
-else
-DllSuf        = dylib
-endif
-SOFLAGS       = -dynamiclib -single_module -undefined dynamic_lookup
-endif
-
-ifeq ($(ARCH),macosx64)
-# MacOS X >= 10.4 with gcc 64 bit mode (GNU gcc 4.*)
-# Only specific option (-m64) comes from root-config
-MACOSX_MINOR := $(shell sw_vers | sed -n 's/ProductVersion://p' | cut -d . -f 2)
-MACOSXTARGET := MACOSX_DEPLOYMENT_TARGET=10.$(MACOSX_MINOR)
-CXX           = g++
-CXXFLAGS      = $(OPT2) -pipe -Wall -W -Woverloaded-virtual
-LD            = $(MACOSXTARGET) g++ -m64
-LDFLAGS       = $(OPT2) -bind_at_load
-# The SOFLAGS will be used to create the .dylib,
-# the .so will be created separately
-ifeq ($(subst $(MACOSX_MINOR),,1234),1234)
-DllSuf        = so
-else
-DllSuf        = dylib
-endif
-SOFLAGS       = -m64 -dynamiclib -single_module -undefined dynamic_lookup
-endif
-
-ifeq ($(ARCH),macosxxlc)
-# MacOS X with IBM xlC compiler
-MACOSX_MINOR := $(shell sw_vers | sed -n 's/ProductVersion://p' | cut -d . -f 2)
-MACOSXTARGET := MACOSX_DEPLOYMENT_TARGET=10.$(MACOSX_MINOR)
-CXX           = xlC
-CXXFLAGS      = $(OPT)
-LD            = $(MACOSXTARGET) xlC
-LDFLAGS       = $(OPT) -Wl,-bind_at_load
-# The SOFLAGS will be used to create the .dylib,
-# the .so will be created separately
-DllSuf        = dylib
-UNDEFOPT      = dynamic_lookup
-ifneq ($(subst $(MACOSX_MINOR),,12),12)
-UNDEFOPT      = suppress
-LD            = xlC
-endif
-SOFLAGS       = -qmkshrobj -single_module -undefined $(UNDEFOPT)
-endif
-
-CXXFLAGS     += $(ROOTCFLAGS)
-LDFLAGS      += $(ROOTLDFLAGS)
-LIBS          = $(ROOTLIBS) $(SYSLIBS)
-GLIBS         = $(ROOTGLIBS) $(SYSLIBS)
-
-INCLUDE		= -I$(CLHEP_BASE_DIR)/include -I$(NPLIB)/include
- 
 #------------------------------------------------------------------------------
 SHARELIB      =  libMust2Data.so	libMust2Physics.so
 
diff --git a/NPLib/Makefile b/NPLib/Makefile
index 0c67c7f50545d9c4c111f0fa0bf1adddc78661f3..290a20b2bdacebdc289a6987d90db514d124ac5e 100644
--- a/NPLib/Makefile
+++ b/NPLib/Makefile
@@ -1,271 +1,5 @@
-# Makefile for the ROOT test programs.
-# This Makefile shows nicely how to compile and link applications
-# using the ROOT libraries on all supported platforms.
-#
-# Copyright (c) 2000 Rene Brun and Fons Rademakers
-#
-# Author: Fons Rademakers, 29/2/2000
 
-ROOTCONFIG   := root-config
-
-ARCH         := $(shell $(ROOTCONFIG) --arch)
-PLATFORM     := $(shell $(ROOTCONFIG) --platform)
-ALTCC        := $(shell $(ROOTCONFIG) --cc)
-ALTCXX       := $(shell $(ROOTCONFIG) --cxx)
-ALTF77       := $(shell $(ROOTCONFIG) --f77)
-ALTLD        := $(shell $(ROOTCONFIG) --ld)
-
-#CXX           =
-ObjSuf        = o
-SrcSuf        = cxx
-ExeSuf        =
-DllSuf        = so
-OutPutOpt     = -o # keep whitespace after "-o"
-
-ifeq (debug,$(findstring debug,$(ROOTBUILD)))
-OPT           = -g
-OPT2          = -g
-else
-ifneq ($(findstring debug, $(strip $(shell $(ROOTCONFIG) --config))),)
-OPT           = -g
-OPT2          = -g
-else
-OPT           = -O
-OPT2          = -O2
-endif
-endif
-
-ROOTCFLAGS   := $(shell $(ROOTCONFIG) --cflags)
-ROOTLDFLAGS  := $(shell $(ROOTCONFIG) --ldflags)
-ROOTLIBS     := $(shell $(ROOTCONFIG) --libs)
-ROOTGLIBS    := $(shell $(ROOTCONFIG) --glibs)
-HASTHREAD    := $(shell $(ROOTCONFIG) --has-thread)
-ROOTDICTTYPE := $(shell $(ROOTCONFIG) --dicttype)
-ROOTCINT     := rootcint
-
-ifeq ($(ARCH),linux)
-# Linux with egcs, gcc 2.9x, gcc 3.x
-CXX           = g++
-CXXFLAGS      = $(OPT2) -Wall -fPIC
-LD            = g++
-LDFLAGS       = $(OPT2)
-SOFLAGS       = -shared
-endif
-
-ifeq ($(ARCH),linuxkcc)
-# Linux with the KAI compiler
-CXX           = KCC --one_instantiation_per_object
-CXXFLAGS      = $(OPT) -fPIC +K0
-LD            = KCC
-LDFLAGS       = $(OPT) $(shell $(ROOTCONFIG) --cflags)
-SOFLAGS       =
-endif
-
-ifeq ($(ARCH),linuxicc)
-# Linux with Intel icc compiler
-ICC_MAJOR    := $(shell icc -v 2>&1 | awk '{ if (NR==1) print $$2 }' | \
-                cut -d'.' -f1)
-ICC_MINOR    := $(shell icc -v 2>&1 | awk '{ if (NR==1) print $$2 }' | \
-                cut -d'.' -f2)
-CXX           = icc
-CXXFLAGS      = $(OPT) -fPIC -wd1476
-LD            = icpc
-LDFLAGS       = $(OPT)
-SOFLAGS       = -shared
-endif
-
-ifeq ($(ARCH),linuxppcgcc)
-# PPC Linux with gcc and glibc
-CXX           = g++
-CXXFLAGS      = $(OPT2) -Wall -fPIC
-LD            = g++
-LDFLAGS       = $(OPT2)
-SOFLAGS       = -shared
-endif
-
-ifeq ($(ARCH),linuxia64gcc)
-# Itanium Linux with gcc 2.9x
-CXX           = g++
-CXXFLAGS      = $(OPT2) -Wall -fPIC
-LD            = g++
-LDFLAGS       = $(OPT2)
-SOFLAGS       = -shared
-endif
-
-ifeq ($(ARCH),linuxia64sgi)
-# Itanium Linux with sgiCC
-CXX           = sgiCC
-CXXFLAGS      = $(OPT) -Wall -fPIC
-LD            = gsgiCC
-LDFLAGS       = $(OPT)
-SOFLAGS       = -shared
-endif
-
-ifeq ($(ARCH),linuxia64ecc)
-# Itanium Linux with Intel icc (was ecc)
-ICC_MAJOR    := $(shell icc -v 2>&1 | awk '{ if (NR==1) print $$2 }' | \
-                cut -d'.' -f1)
-ICC_MINOR    := $(shell icc -v 2>&1 | awk '{ if (NR==1) print $$2 }' | \
-                cut -d'.' -f2)
-CXX           = icc
-CXXFLAGS      = $(OPT) -fPIC -wd1476 -ftz
-LD            = icpc
-LDFLAGS       = $(OPT)
-SOFLAGS       = -shared
-endif
-
-ifeq ($(ARCH),linuxx8664gcc)
-# AMD Opteron and Intel EM64T (64 bit mode) Linux with gcc 3.x
-CXX           = g++
-CXXFLAGS      = $(OPT2) -Wall -fPIC
-LD            = g++
-LDFLAGS       = $(OPT2)
-SOFLAGS       = -shared
-endif
-
-ifeq ($(ARCH),linuxppc64gcc)
-# PPC64 Linux with gcc 3.x
-CXX           = g++
-CXXFLAGS      = $(OPT) -Wall -fPIC
-LD            = g++
-LDFLAGS       = $(OPT)
-SOFLAGS       = -shared
-endif
-
-ifeq ($(ARCH),linuxx8664icc)
-# AMD Opteron and Intel EM64T (64 bit mode) Linux with Intel icc compiler
-CXX           = icc
-CXXFLAGS      = $(OPT) -fPIC -wd1476 -wd1572
-LD            = icpc
-LDFLAGS       = $(OPT)
-SOFLAGS       = -shared
-endif
-
-ifeq ($(ARCH),linuxalphagcc)
-# Alpha Linux with gcc
-CXX           = g++
-CXXFLAGS      = $(OPT2) -Wall -fPIC
-LD            = g++
-LDFLAGS       = $(OPT2)
-SOFLAGS       = -shared
-endif
-
-ifeq ($(ARCH),linuxmips)
-# GNU/Linux on mips (BE/LE, O32/N32/N64) with gcc
-CXX           = g++
-CXXFLAGS      = $(OPT2) -Wall -fPIC
-LD            = g++
-LDFLAGS       = $(OPT2)
-SOFLAGS       = -shared
-endif
-
-ifeq ($(ARCH),linuxhppa)
-# GNU/Linux on hppa with gcc
-CXX           = g++
-CXXFLAGS      = $(OPT2) -Wall -fPIC
-LD            = g++
-LDFLAGS       = $(OPT2)
-SOFLAGS       = -shared
-endif
-
-ifeq ($(ARCH),linuxarm)
-# ARM Linux with egcs
-CXX           = g++
-CXXFLAGS      = $(OPT) -Wall -fPIC
-LD            = g++
-LDFLAGS       = $(OPT)
-SOFLAGS       = -shared
-endif
-
-ifeq ($(ARCH),macosx)
-# MacOS X with cc (GNU cc 2.95.2 and gcc 3.3)
-MACOSX_MINOR := $(shell sw_vers | sed -n 's/ProductVersion://p' | cut -d . -f 2)
-MACOSXTARGET := MACOSX_DEPLOYMENT_TARGET=10.$(MACOSX_MINOR)
-CXX           = g++
-CXXFLAGS      = $(OPT2) -pipe -Wall -W -Woverloaded-virtual
-LD            = $(MACOSXTARGET) g++
-LDFLAGS       = $(OPT2) -bind_at_load
-# The SOFLAGS will be used to create the .dylib,
-# the .so will be created separately
-ifeq ($(subst $(MACOSX_MINOR),,1234),1234)
-DllSuf        = so
-else
-DllSuf        = dylib
-endif
-UNDEFOPT      = dynamic_lookup
-ifneq ($(subst $(MACOSX_MINOR),,12),12)
-UNDEFOPT      = suppress
-LD            = g++
-endif
-SOFLAGS       = -dynamiclib -single_module -undefined $(UNDEFOPT)
-endif
-
-ifeq ($(ARCH),macosxicc)
-# MacOS X with Intel icc compiler
-MACOSX_MINOR := $(shell sw_vers | sed -n 's/ProductVersion://p' | cut -d . -f 2)
-MACOSXTARGET := MACOSX_DEPLOYMENT_TARGET=10.$(MACOSX_MINOR)
-ifeq ($(MACOSX_MINOR),5)
-MACOSX_MINOR := 4
-endif
-CXX           = icc
-CXXFLAGS      = $(OPT) -fPIC -wd1476
-LD            = $(MACOSXTARGET) icpc
-LDFLAGS       = $(OPT)
-# The SOFLAGS will be used to create the .dylib,
-# the .so will be created separately
-ifeq ($(subst $(MACOSX_MINOR),,1234),1234)
-DllSuf        = so
-else
-DllSuf        = dylib
-endif
-SOFLAGS       = -dynamiclib -single_module -undefined dynamic_lookup
-endif
-
-ifeq ($(ARCH),macosx64)
-# MacOS X >= 10.4 with gcc 64 bit mode (GNU gcc 4.*)
-# Only specific option (-m64) comes from root-config
-MACOSX_MINOR := $(shell sw_vers | sed -n 's/ProductVersion://p' | cut -d . -f 2)
-MACOSXTARGET := MACOSX_DEPLOYMENT_TARGET=10.$(MACOSX_MINOR)
-CXX           = g++
-CXXFLAGS      = $(OPT2) -pipe -Wall -W -Woverloaded-virtual
-LD            = $(MACOSXTARGET) g++ -m64
-LDFLAGS       = $(OPT2) -bind_at_load
-# The SOFLAGS will be used to create the .dylib,
-# the .so will be created separately
-ifeq ($(subst $(MACOSX_MINOR),,1234),1234)
-DllSuf        = so
-else
-DllSuf        = dylib
-endif
-SOFLAGS       = -m64 -dynamiclib -single_module -undefined dynamic_lookup
-endif
-
-ifeq ($(ARCH),macosxxlc)
-# MacOS X with IBM xlC compiler
-MACOSX_MINOR := $(shell sw_vers | sed -n 's/ProductVersion://p' | cut -d . -f 2)
-MACOSXTARGET := MACOSX_DEPLOYMENT_TARGET=10.$(MACOSX_MINOR)
-CXX           = xlC
-CXXFLAGS      = $(OPT)
-LD            = $(MACOSXTARGET) xlC
-LDFLAGS       = $(OPT) -Wl,-bind_at_load
-# The SOFLAGS will be used to create the .dylib,
-# the .so will be created separately
-DllSuf        = dylib
-UNDEFOPT      = dynamic_lookup
-ifneq ($(subst $(MACOSX_MINOR),,12),12)
-UNDEFOPT      = suppress
-LD            = xlC
-endif
-SOFLAGS       = -qmkshrobj -single_module -undefined $(UNDEFOPT)
-endif
-
-CXXFLAGS     += $(ROOTCFLAGS)
-LDFLAGS      += $(ROOTLDFLAGS)
-LIBS          = $(ROOTLIBS) $(SYSLIBS)
-GLIBS         = $(ROOTGLIBS) $(SYSLIBS)
-
-INCLUDE		= -I$(CLHEP_BASE_DIR)/include
- 
+include base_Makefile
 #------------------------------------------------------------------------------
 SHARELIB	= SharedLib
 FILLINC		= FillIncludeDir
diff --git a/NPLib/Paris/Makefile b/NPLib/Paris/Makefile
index 3fe9d1d2301b8eda75bb589622eaf5c7398376ee..4eb407a8522377b55eb83626ed1956eafb835074 100644
--- a/NPLib/Paris/Makefile
+++ b/NPLib/Paris/Makefile
@@ -1,270 +1,4 @@
-# Makefile for the ROOT test programs.
-# This Makefile shows nicely how to compile and link applications
-# using the ROOT libraries on all supported platforms.
-#
-# Copyright (c) 2000 Rene Brun and Fons Rademakers
-#
-# Author: Fons Rademakers, 29/2/2000
-
-ROOTCONFIG   := root-config
-
-ARCH         := $(shell $(ROOTCONFIG) --arch)
-PLATFORM     := $(shell $(ROOTCONFIG) --platform)
-ALTCC        := $(shell $(ROOTCONFIG) --cc)
-ALTCXX       := $(shell $(ROOTCONFIG) --cxx)
-ALTF77       := $(shell $(ROOTCONFIG) --f77)
-ALTLD        := $(shell $(ROOTCONFIG) --ld)
-
-#CXX           =
-ObjSuf        = o
-SrcSuf        = cxx
-ExeSuf        =
-DllSuf        = so
-OutPutOpt     = -o # keep whitespace after "-o"
-
-ifeq (debug,$(findstring debug,$(ROOTBUILD)))
-OPT           = -g
-OPT2          = -g
-else
-ifneq ($(findstring debug, $(strip $(shell $(ROOTCONFIG) --config))),)
-OPT           = -g
-OPT2          = -g
-else
-OPT           = -O
-OPT2          = -O2
-endif
-endif
-
-ROOTCFLAGS   := $(shell $(ROOTCONFIG) --cflags)
-ROOTLDFLAGS  := $(shell $(ROOTCONFIG) --ldflags)
-ROOTLIBS     := $(shell $(ROOTCONFIG) --libs)
-ROOTGLIBS    := $(shell $(ROOTCONFIG) --glibs)
-HASTHREAD    := $(shell $(ROOTCONFIG) --has-thread)
-ROOTDICTTYPE := $(shell $(ROOTCONFIG) --dicttype)
-ROOTCINT     := rootcint
-
-ifeq ($(ARCH),linux)
-# Linux with egcs, gcc 2.9x, gcc 3.x
-CXX           = g++
-CXXFLAGS      = $(OPT2) -Wall -fPIC
-LD            = g++
-LDFLAGS       = $(OPT2)
-SOFLAGS       = -shared
-endif
-
-ifeq ($(ARCH),linuxkcc)
-# Linux with the KAI compiler
-CXX           = KCC --one_instantiation_per_object
-CXXFLAGS      = $(OPT) -fPIC +K0
-LD            = KCC
-LDFLAGS       = $(OPT) $(shell $(ROOTCONFIG) --cflags)
-SOFLAGS       =
-endif
-
-ifeq ($(ARCH),linuxicc)
-# Linux with Intel icc compiler
-ICC_MAJOR    := $(shell icc -v 2>&1 | awk '{ if (NR==1) print $$2 }' | \
-                cut -d'.' -f1)
-ICC_MINOR    := $(shell icc -v 2>&1 | awk '{ if (NR==1) print $$2 }' | \
-                cut -d'.' -f2)
-CXX           = icc
-CXXFLAGS      = $(OPT) -fPIC -wd1476
-LD            = icpc
-LDFLAGS       = $(OPT)
-SOFLAGS       = -shared
-endif
-
-ifeq ($(ARCH),linuxppcgcc)
-# PPC Linux with gcc and glibc
-CXX           = g++
-CXXFLAGS      = $(OPT2) -Wall -fPIC
-LD            = g++
-LDFLAGS       = $(OPT2)
-SOFLAGS       = -shared
-endif
-
-ifeq ($(ARCH),linuxia64gcc)
-# Itanium Linux with gcc 2.9x
-CXX           = g++
-CXXFLAGS      = $(OPT2) -Wall -fPIC
-LD            = g++
-LDFLAGS       = $(OPT2)
-SOFLAGS       = -shared
-endif
-
-ifeq ($(ARCH),linuxia64sgi)
-# Itanium Linux with sgiCC
-CXX           = sgiCC
-CXXFLAGS      = $(OPT) -Wall -fPIC
-LD            = gsgiCC
-LDFLAGS       = $(OPT)
-SOFLAGS       = -shared
-endif
-
-ifeq ($(ARCH),linuxia64ecc)
-# Itanium Linux with Intel icc (was ecc)
-ICC_MAJOR    := $(shell icc -v 2>&1 | awk '{ if (NR==1) print $$2 }' | \
-                cut -d'.' -f1)
-ICC_MINOR    := $(shell icc -v 2>&1 | awk '{ if (NR==1) print $$2 }' | \
-                cut -d'.' -f2)
-CXX           = icc
-CXXFLAGS      = $(OPT) -fPIC -wd1476 -ftz
-LD            = icpc
-LDFLAGS       = $(OPT)
-SOFLAGS       = -shared
-endif
-
-ifeq ($(ARCH),linuxx8664gcc)
-# AMD Opteron and Intel EM64T (64 bit mode) Linux with gcc 3.x
-CXX           = g++
-CXXFLAGS      = $(OPT2) -Wall -fPIC
-LD            = g++
-LDFLAGS       = $(OPT2)
-SOFLAGS       = -shared
-endif
-
-ifeq ($(ARCH),linuxppc64gcc)
-# PPC64 Linux with gcc 3.x
-CXX           = g++
-CXXFLAGS      = $(OPT) -Wall -fPIC
-LD            = g++
-LDFLAGS       = $(OPT)
-SOFLAGS       = -shared
-endif
-
-ifeq ($(ARCH),linuxx8664icc)
-# AMD Opteron and Intel EM64T (64 bit mode) Linux with Intel icc compiler
-CXX           = icc
-CXXFLAGS      = $(OPT) -fPIC -wd1476 -wd1572
-LD            = icpc
-LDFLAGS       = $(OPT)
-SOFLAGS       = -shared
-endif
-
-ifeq ($(ARCH),linuxalphagcc)
-# Alpha Linux with gcc
-CXX           = g++
-CXXFLAGS      = $(OPT2) -Wall -fPIC
-LD            = g++
-LDFLAGS       = $(OPT2)
-SOFLAGS       = -shared
-endif
-
-ifeq ($(ARCH),linuxmips)
-# GNU/Linux on mips (BE/LE, O32/N32/N64) with gcc
-CXX           = g++
-CXXFLAGS      = $(OPT2) -Wall -fPIC
-LD            = g++
-LDFLAGS       = $(OPT2)
-SOFLAGS       = -shared
-endif
-
-ifeq ($(ARCH),linuxhppa)
-# GNU/Linux on hppa with gcc
-CXX           = g++
-CXXFLAGS      = $(OPT2) -Wall -fPIC
-LD            = g++
-LDFLAGS       = $(OPT2)
-SOFLAGS       = -shared
-endif
-
-ifeq ($(ARCH),linuxarm)
-# ARM Linux with egcs
-CXX           = g++
-CXXFLAGS      = $(OPT) -Wall -fPIC
-LD            = g++
-LDFLAGS       = $(OPT)
-SOFLAGS       = -shared
-endif
-
-ifeq ($(ARCH),macosx)
-# MacOS X with cc (GNU cc 2.95.2 and gcc 3.3)
-MACOSX_MINOR := $(shell sw_vers | sed -n 's/ProductVersion://p' | cut -d . -f 2)
-MACOSXTARGET := MACOSX_DEPLOYMENT_TARGET=10.$(MACOSX_MINOR)
-CXX           = g++
-CXXFLAGS      = $(OPT2) -pipe -Wall -W -Woverloaded-virtual
-LD            = $(MACOSXTARGET) g++
-LDFLAGS       = $(OPT2) -bind_at_load
-# The SOFLAGS will be used to create the .dylib,
-# the .so will be created separately
-ifeq ($(subst $(MACOSX_MINOR),,1234),1234)
-DllSuf        = so
-else
-DllSuf        = dylib
-endif
-UNDEFOPT      = dynamic_lookup
-ifneq ($(subst $(MACOSX_MINOR),,12),12)
-UNDEFOPT      = suppress
-LD            = g++
-endif
-SOFLAGS       = -dynamiclib -single_module -undefined $(UNDEFOPT)
-endif
-
-ifeq ($(ARCH),macosxicc)
-# MacOS X with Intel icc compiler
-MACOSX_MINOR := $(shell sw_vers | sed -n 's/ProductVersion://p' | cut -d . -f 2)
-MACOSXTARGET := MACOSX_DEPLOYMENT_TARGET=10.$(MACOSX_MINOR)
-ifeq ($(MACOSX_MINOR),5)
-MACOSX_MINOR := 4
-endif
-CXX           = icc
-CXXFLAGS      = $(OPT) -fPIC -wd1476
-LD            = $(MACOSXTARGET) icpc
-LDFLAGS       = $(OPT)
-# The SOFLAGS will be used to create the .dylib,
-# the .so will be created separately
-ifeq ($(subst $(MACOSX_MINOR),,1234),1234)
-DllSuf        = so
-else
-DllSuf        = dylib
-endif
-SOFLAGS       = -dynamiclib -single_module -undefined dynamic_lookup
-endif
-
-ifeq ($(ARCH),macosx64)
-# MacOS X >= 10.4 with gcc 64 bit mode (GNU gcc 4.*)
-# Only specific option (-m64) comes from root-config
-MACOSX_MINOR := $(shell sw_vers | sed -n 's/ProductVersion://p' | cut -d . -f 2)
-MACOSXTARGET := MACOSX_DEPLOYMENT_TARGET=10.$(MACOSX_MINOR)
-CXX           = g++
-CXXFLAGS      = $(OPT2) -pipe -Wall -W -Woverloaded-virtual
-LD            = $(MACOSXTARGET) g++ -m64
-LDFLAGS       = $(OPT2) -bind_at_load
-# The SOFLAGS will be used to create the .dylib,
-# the .so will be created separately
-ifeq ($(subst $(MACOSX_MINOR),,1234),1234)
-DllSuf        = so
-else
-DllSuf        = dylib
-endif
-SOFLAGS       = -m64 -dynamiclib -single_module -undefined dynamic_lookup
-endif
-
-ifeq ($(ARCH),macosxxlc)
-# MacOS X with IBM xlC compiler
-MACOSX_MINOR := $(shell sw_vers | sed -n 's/ProductVersion://p' | cut -d . -f 2)
-MACOSXTARGET := MACOSX_DEPLOYMENT_TARGET=10.$(MACOSX_MINOR)
-CXX           = xlC
-CXXFLAGS      = $(OPT)
-LD            = $(MACOSXTARGET) xlC
-LDFLAGS       = $(OPT) -Wl,-bind_at_load
-# The SOFLAGS will be used to create the .dylib,
-# the .so will be created separately
-DllSuf        = dylib
-UNDEFOPT      = dynamic_lookup
-ifneq ($(subst $(MACOSX_MINOR),,12),12)
-UNDEFOPT      = suppress
-LD            = xlC
-endif
-SOFLAGS       = -qmkshrobj -single_module -undefined $(UNDEFOPT)
-endif
-
-CXXFLAGS     += $(ROOTCFLAGS)
-LDFLAGS      += $(ROOTLDFLAGS)
-LIBS          = $(ROOTLIBS) $(SYSLIBS)
-GLIBS         = $(ROOTGLIBS) $(SYSLIBS)
-
-INCLUDE		= -I$(CLHEP_BASE_DIR)/include -I$(NPLIB)/include
+include ../base_Makefile
  
 #------------------------------------------------------------------------------
 SHARELIB      =  libParisData.so	libParisPhysics.so 
diff --git a/NPLib/SSSD/Makefile b/NPLib/SSSD/Makefile
index 95d06e3e3b59a46b2f434316246de85b81b6999c..66a476edac7b417385cf16c50ec73954f5b0fe29 100755
--- a/NPLib/SSSD/Makefile
+++ b/NPLib/SSSD/Makefile
@@ -1,270 +1,4 @@
-# Makefile for the ROOT test programs.
-# This Makefile shows nicely how to compile and link applications
-# using the ROOT libraries on all supported platforms.
-#
-# Copyright (c) 2000 Rene Brun and Fons Rademakers
-#
-# Author: Fons Rademakers, 29/2/2000
-
-ROOTCONFIG   := root-config
-
-ARCH         := $(shell $(ROOTCONFIG) --arch)
-PLATFORM     := $(shell $(ROOTCONFIG) --platform)
-ALTCC        := $(shell $(ROOTCONFIG) --cc)
-ALTCXX       := $(shell $(ROOTCONFIG) --cxx)
-ALTF77       := $(shell $(ROOTCONFIG) --f77)
-ALTLD        := $(shell $(ROOTCONFIG) --ld)
-
-#CXX           =
-ObjSuf        = o
-SrcSuf        = cxx
-ExeSuf        =
-DllSuf        = so
-OutPutOpt     = -o # keep whitespace after "-o"
-
-ifeq (debug,$(findstring debug,$(ROOTBUILD)))
-OPT           = -g
-OPT2          = -g
-else
-ifneq ($(findstring debug, $(strip $(shell $(ROOTCONFIG) --config))),)
-OPT           = -g
-OPT2          = -g
-else
-OPT           = -O
-OPT2          = -O2
-endif
-endif
-
-ROOTCFLAGS   := $(shell $(ROOTCONFIG) --cflags)
-ROOTLDFLAGS  := $(shell $(ROOTCONFIG) --ldflags)
-ROOTLIBS     := $(shell $(ROOTCONFIG) --libs)
-ROOTGLIBS    := $(shell $(ROOTCONFIG) --glibs)
-HASTHREAD    := $(shell $(ROOTCONFIG) --has-thread)
-ROOTDICTTYPE := $(shell $(ROOTCONFIG) --dicttype)
-ROOTCINT     := rootcint
-
-ifeq ($(ARCH),linux)
-# Linux with egcs, gcc 2.9x, gcc 3.x
-CXX           = g++
-CXXFLAGS      = $(OPT2) -Wall -fPIC
-LD            = g++
-LDFLAGS       = $(OPT2)
-SOFLAGS       = -shared
-endif
-
-ifeq ($(ARCH),linuxkcc)
-# Linux with the KAI compiler
-CXX           = KCC --one_instantiation_per_object
-CXXFLAGS      = $(OPT) -fPIC +K0
-LD            = KCC
-LDFLAGS       = $(OPT) $(shell $(ROOTCONFIG) --cflags)
-SOFLAGS       =
-endif
-
-ifeq ($(ARCH),linuxicc)
-# Linux with Intel icc compiler
-ICC_MAJOR    := $(shell icc -v 2>&1 | awk '{ if (NR==1) print $$2 }' | \
-                cut -d'.' -f1)
-ICC_MINOR    := $(shell icc -v 2>&1 | awk '{ if (NR==1) print $$2 }' | \
-                cut -d'.' -f2)
-CXX           = icc
-CXXFLAGS      = $(OPT) -fPIC -wd1476
-LD            = icpc
-LDFLAGS       = $(OPT)
-SOFLAGS       = -shared
-endif
-
-ifeq ($(ARCH),linuxppcgcc)
-# PPC Linux with gcc and glibc
-CXX           = g++
-CXXFLAGS      = $(OPT2) -Wall -fPIC
-LD            = g++
-LDFLAGS       = $(OPT2)
-SOFLAGS       = -shared
-endif
-
-ifeq ($(ARCH),linuxia64gcc)
-# Itanium Linux with gcc 2.9x
-CXX           = g++
-CXXFLAGS      = $(OPT2) -Wall -fPIC
-LD            = g++
-LDFLAGS       = $(OPT2)
-SOFLAGS       = -shared
-endif
-
-ifeq ($(ARCH),linuxia64sgi)
-# Itanium Linux with sgiCC
-CXX           = sgiCC
-CXXFLAGS      = $(OPT) -Wall -fPIC
-LD            = gsgiCC
-LDFLAGS       = $(OPT)
-SOFLAGS       = -shared
-endif
-
-ifeq ($(ARCH),linuxia64ecc)
-# Itanium Linux with Intel icc (was ecc)
-ICC_MAJOR    := $(shell icc -v 2>&1 | awk '{ if (NR==1) print $$2 }' | \
-                cut -d'.' -f1)
-ICC_MINOR    := $(shell icc -v 2>&1 | awk '{ if (NR==1) print $$2 }' | \
-                cut -d'.' -f2)
-CXX           = icc
-CXXFLAGS      = $(OPT) -fPIC -wd1476 -ftz
-LD            = icpc
-LDFLAGS       = $(OPT)
-SOFLAGS       = -shared
-endif
-
-ifeq ($(ARCH),linuxx8664gcc)
-# AMD Opteron and Intel EM64T (64 bit mode) Linux with gcc 3.x
-CXX           = g++
-CXXFLAGS      = $(OPT2) -Wall -fPIC
-LD            = g++
-LDFLAGS       = $(OPT2)
-SOFLAGS       = -shared
-endif
-
-ifeq ($(ARCH),linuxppc64gcc)
-# PPC64 Linux with gcc 3.x
-CXX           = g++
-CXXFLAGS      = $(OPT) -Wall -fPIC
-LD            = g++
-LDFLAGS       = $(OPT)
-SOFLAGS       = -shared
-endif
-
-ifeq ($(ARCH),linuxx8664icc)
-# AMD Opteron and Intel EM64T (64 bit mode) Linux with Intel icc compiler
-CXX           = icc
-CXXFLAGS      = $(OPT) -fPIC -wd1476 -wd1572
-LD            = icpc
-LDFLAGS       = $(OPT)
-SOFLAGS       = -shared
-endif
-
-ifeq ($(ARCH),linuxalphagcc)
-# Alpha Linux with gcc
-CXX           = g++
-CXXFLAGS      = $(OPT2) -Wall -fPIC
-LD            = g++
-LDFLAGS       = $(OPT2)
-SOFLAGS       = -shared
-endif
-
-ifeq ($(ARCH),linuxmips)
-# GNU/Linux on mips (BE/LE, O32/N32/N64) with gcc
-CXX           = g++
-CXXFLAGS      = $(OPT2) -Wall -fPIC
-LD            = g++
-LDFLAGS       = $(OPT2)
-SOFLAGS       = -shared
-endif
-
-ifeq ($(ARCH),linuxhppa)
-# GNU/Linux on hppa with gcc
-CXX           = g++
-CXXFLAGS      = $(OPT2) -Wall -fPIC
-LD            = g++
-LDFLAGS       = $(OPT2)
-SOFLAGS       = -shared
-endif
-
-ifeq ($(ARCH),linuxarm)
-# ARM Linux with egcs
-CXX           = g++
-CXXFLAGS      = $(OPT) -Wall -fPIC
-LD            = g++
-LDFLAGS       = $(OPT)
-SOFLAGS       = -shared
-endif
-
-ifeq ($(ARCH),macosx)
-# MacOS X with cc (GNU cc 2.95.2 and gcc 3.3)
-MACOSX_MINOR := $(shell sw_vers | sed -n 's/ProductVersion://p' | cut -d . -f 2)
-MACOSXTARGET := MACOSX_DEPLOYMENT_TARGET=10.$(MACOSX_MINOR)
-CXX           = g++
-CXXFLAGS      = $(OPT2) -pipe -Wall -W -Woverloaded-virtual
-LD            = $(MACOSXTARGET) g++
-LDFLAGS       = $(OPT2) -bind_at_load
-# The SOFLAGS will be used to create the .dylib,
-# the .so will be created separately
-ifeq ($(subst $(MACOSX_MINOR),,1234),1234)
-DllSuf        = so
-else
-DllSuf        = dylib
-endif
-UNDEFOPT      = dynamic_lookup
-ifneq ($(subst $(MACOSX_MINOR),,12),12)
-UNDEFOPT      = suppress
-LD            = g++
-endif
-SOFLAGS       = -dynamiclib -single_module -undefined $(UNDEFOPT)
-endif
-
-ifeq ($(ARCH),macosxicc)
-# MacOS X with Intel icc compiler
-MACOSX_MINOR := $(shell sw_vers | sed -n 's/ProductVersion://p' | cut -d . -f 2)
-MACOSXTARGET := MACOSX_DEPLOYMENT_TARGET=10.$(MACOSX_MINOR)
-ifeq ($(MACOSX_MINOR),5)
-MACOSX_MINOR := 4
-endif
-CXX           = icc
-CXXFLAGS      = $(OPT) -fPIC -wd1476
-LD            = $(MACOSXTARGET) icpc
-LDFLAGS       = $(OPT)
-# The SOFLAGS will be used to create the .dylib,
-# the .so will be created separately
-ifeq ($(subst $(MACOSX_MINOR),,1234),1234)
-DllSuf        = so
-else
-DllSuf        = dylib
-endif
-SOFLAGS       = -dynamiclib -single_module -undefined dynamic_lookup
-endif
-
-ifeq ($(ARCH),macosx64)
-# MacOS X >= 10.4 with gcc 64 bit mode (GNU gcc 4.*)
-# Only specific option (-m64) comes from root-config
-MACOSX_MINOR := $(shell sw_vers | sed -n 's/ProductVersion://p' | cut -d . -f 2)
-MACOSXTARGET := MACOSX_DEPLOYMENT_TARGET=10.$(MACOSX_MINOR)
-CXX           = g++
-CXXFLAGS      = $(OPT2) -pipe -Wall -W -Woverloaded-virtual
-LD            = $(MACOSXTARGET) g++ -m64
-LDFLAGS       = $(OPT2) -bind_at_load
-# The SOFLAGS will be used to create the .dylib,
-# the .so will be created separately
-ifeq ($(subst $(MACOSX_MINOR),,1234),1234)
-DllSuf        = so
-else
-DllSuf        = dylib
-endif
-SOFLAGS       = -m64 -dynamiclib -single_module -undefined dynamic_lookup
-endif
-
-ifeq ($(ARCH),macosxxlc)
-# MacOS X with IBM xlC compiler
-MACOSX_MINOR := $(shell sw_vers | sed -n 's/ProductVersion://p' | cut -d . -f 2)
-MACOSXTARGET := MACOSX_DEPLOYMENT_TARGET=10.$(MACOSX_MINOR)
-CXX           = xlC
-CXXFLAGS      = $(OPT)
-LD            = $(MACOSXTARGET) xlC
-LDFLAGS       = $(OPT) -Wl,-bind_at_load
-# The SOFLAGS will be used to create the .dylib,
-# the .so will be created separately
-DllSuf        = dylib
-UNDEFOPT      = dynamic_lookup
-ifneq ($(subst $(MACOSX_MINOR),,12),12)
-UNDEFOPT      = suppress
-LD            = xlC
-endif
-SOFLAGS       = -qmkshrobj -single_module -undefined $(UNDEFOPT)
-endif
-
-CXXFLAGS     += $(ROOTCFLAGS)
-LDFLAGS      += $(ROOTLDFLAGS)
-LIBS          = $(ROOTLIBS) $(SYSLIBS)
-GLIBS         = $(ROOTGLIBS) $(SYSLIBS)
-
-INCLUDE		= -I$(CLHEP_BASE_DIR)/include -I$(NPLIB)/include
+include ../base_Makefile
  
 #------------------------------------------------------------------------------
 SHARELIB      =  libSSSDData.so libSSSDPhysics.so
diff --git a/NPLib/Shield/Makefile b/NPLib/Shield/Makefile
index b06b5851b14a361d043343d79f8f5bc7ce2648e1..2d3499be08d530717064c9df5e0ed25c3a099fcd 100644
--- a/NPLib/Shield/Makefile
+++ b/NPLib/Shield/Makefile
@@ -1,271 +1,5 @@
-# Makefile for the ROOT test programs.
-# This Makefile shows nicely how to compile and link applications
-# using the ROOT libraries on all supported platforms.
-#
-# Copyright (c) 2000 Rene Brun and Fons Rademakers
-#
-# Author: Fons Rademakers, 29/2/2000
+include ../base_Makefile
 
-ROOTCONFIG   := root-config
-
-ARCH         := $(shell $(ROOTCONFIG) --arch)
-PLATFORM     := $(shell $(ROOTCONFIG) --platform)
-ALTCC        := $(shell $(ROOTCONFIG) --cc)
-ALTCXX       := $(shell $(ROOTCONFIG) --cxx)
-ALTF77       := $(shell $(ROOTCONFIG) --f77)
-ALTLD        := $(shell $(ROOTCONFIG) --ld)
-
-#CXX           =
-ObjSuf        = o
-SrcSuf        = cxx
-ExeSuf        =
-DllSuf        = so
-OutPutOpt     = -o # keep whitespace after "-o"
-
-ifeq (debug,$(findstring debug,$(ROOTBUILD)))
-OPT           = -g
-OPT2          = -g
-else
-ifneq ($(findstring debug, $(strip $(shell $(ROOTCONFIG) --config))),)
-OPT           = -g
-OPT2          = -g
-else
-OPT           = -O
-OPT2          = -O2
-endif
-endif
-
-ROOTCFLAGS   := $(shell $(ROOTCONFIG) --cflags)
-ROOTLDFLAGS  := $(shell $(ROOTCONFIG) --ldflags)
-ROOTLIBS     := $(shell $(ROOTCONFIG) --libs)
-ROOTGLIBS    := $(shell $(ROOTCONFIG) --glibs)
-HASTHREAD    := $(shell $(ROOTCONFIG) --has-thread)
-ROOTDICTTYPE := $(shell $(ROOTCONFIG) --dicttype)
-ROOTCINT     := rootcint
-
-ifeq ($(ARCH),linux)
-# Linux with egcs, gcc 2.9x, gcc 3.x
-CXX           = g++
-CXXFLAGS      = $(OPT2) -Wall -fPIC
-LD            = g++
-LDFLAGS       = $(OPT2)
-SOFLAGS       = -shared
-endif
-
-ifeq ($(ARCH),linuxkcc)
-# Linux with the KAI compiler
-CXX           = KCC --one_instantiation_per_object
-CXXFLAGS      = $(OPT) -fPIC +K0
-LD            = KCC
-LDFLAGS       = $(OPT) $(shell $(ROOTCONFIG) --cflags)
-SOFLAGS       =
-endif
-
-ifeq ($(ARCH),linuxicc)
-# Linux with Intel icc compiler
-ICC_MAJOR    := $(shell icc -v 2>&1 | awk '{ if (NR==1) print $$2 }' | \
-                cut -d'.' -f1)
-ICC_MINOR    := $(shell icc -v 2>&1 | awk '{ if (NR==1) print $$2 }' | \
-                cut -d'.' -f2)
-CXX           = icc
-CXXFLAGS      = $(OPT) -fPIC -wd1476
-LD            = icpc
-LDFLAGS       = $(OPT)
-SOFLAGS       = -shared
-endif
-
-ifeq ($(ARCH),linuxppcgcc)
-# PPC Linux with gcc and glibc
-CXX           = g++
-CXXFLAGS      = $(OPT2) -Wall -fPIC
-LD            = g++
-LDFLAGS       = $(OPT2)
-SOFLAGS       = -shared
-endif
-
-ifeq ($(ARCH),linuxia64gcc)
-# Itanium Linux with gcc 2.9x
-CXX           = g++
-CXXFLAGS      = $(OPT2) -Wall -fPIC
-LD            = g++
-LDFLAGS       = $(OPT2)
-SOFLAGS       = -shared
-endif
-
-ifeq ($(ARCH),linuxia64sgi)
-# Itanium Linux with sgiCC
-CXX           = sgiCC
-CXXFLAGS      = $(OPT) -Wall -fPIC
-LD            = gsgiCC
-LDFLAGS       = $(OPT)
-SOFLAGS       = -shared
-endif
-
-ifeq ($(ARCH),linuxia64ecc)
-# Itanium Linux with Intel icc (was ecc)
-ICC_MAJOR    := $(shell icc -v 2>&1 | awk '{ if (NR==1) print $$2 }' | \
-                cut -d'.' -f1)
-ICC_MINOR    := $(shell icc -v 2>&1 | awk '{ if (NR==1) print $$2 }' | \
-                cut -d'.' -f2)
-CXX           = icc
-CXXFLAGS      = $(OPT) -fPIC -wd1476 -ftz
-LD            = icpc
-LDFLAGS       = $(OPT)
-SOFLAGS       = -shared
-endif
-
-ifeq ($(ARCH),linuxx8664gcc)
-# AMD Opteron and Intel EM64T (64 bit mode) Linux with gcc 3.x
-CXX           = g++
-CXXFLAGS      = $(OPT2) -Wall -fPIC
-LD            = g++
-LDFLAGS       = $(OPT2)
-SOFLAGS       = -shared
-endif
-
-ifeq ($(ARCH),linuxppc64gcc)
-# PPC64 Linux with gcc 3.x
-CXX           = g++
-CXXFLAGS      = $(OPT) -Wall -fPIC
-LD            = g++
-LDFLAGS       = $(OPT)
-SOFLAGS       = -shared
-endif
-
-ifeq ($(ARCH),linuxx8664icc)
-# AMD Opteron and Intel EM64T (64 bit mode) Linux with Intel icc compiler
-CXX           = icc
-CXXFLAGS      = $(OPT) -fPIC -wd1476 -wd1572
-LD            = icpc
-LDFLAGS       = $(OPT)
-SOFLAGS       = -shared
-endif
-
-ifeq ($(ARCH),linuxalphagcc)
-# Alpha Linux with gcc
-CXX           = g++
-CXXFLAGS      = $(OPT2) -Wall -fPIC
-LD            = g++
-LDFLAGS       = $(OPT2)
-SOFLAGS       = -shared
-endif
-
-ifeq ($(ARCH),linuxmips)
-# GNU/Linux on mips (BE/LE, O32/N32/N64) with gcc
-CXX           = g++
-CXXFLAGS      = $(OPT2) -Wall -fPIC
-LD            = g++
-LDFLAGS       = $(OPT2)
-SOFLAGS       = -shared
-endif
-
-ifeq ($(ARCH),linuxhppa)
-# GNU/Linux on hppa with gcc
-CXX           = g++
-CXXFLAGS      = $(OPT2) -Wall -fPIC
-LD            = g++
-LDFLAGS       = $(OPT2)
-SOFLAGS       = -shared
-endif
-
-ifeq ($(ARCH),linuxarm)
-# ARM Linux with egcs
-CXX           = g++
-CXXFLAGS      = $(OPT) -Wall -fPIC
-LD            = g++
-LDFLAGS       = $(OPT)
-SOFLAGS       = -shared
-endif
-
-ifeq ($(ARCH),macosx)
-# MacOS X with cc (GNU cc 2.95.2 and gcc 3.3)
-MACOSX_MINOR := $(shell sw_vers | sed -n 's/ProductVersion://p' | cut -d . -f 2)
-MACOSXTARGET := MACOSX_DEPLOYMENT_TARGET=10.$(MACOSX_MINOR)
-CXX           = g++
-CXXFLAGS      = $(OPT2) -pipe -Wall -W -Woverloaded-virtual
-LD            = $(MACOSXTARGET) g++
-LDFLAGS       = $(OPT2) -bind_at_load
-# The SOFLAGS will be used to create the .dylib,
-# the .so will be created separately
-ifeq ($(subst $(MACOSX_MINOR),,1234),1234)
-DllSuf        = so
-else
-DllSuf        = dylib
-endif
-UNDEFOPT      = dynamic_lookup
-ifneq ($(subst $(MACOSX_MINOR),,12),12)
-UNDEFOPT      = suppress
-LD            = g++
-endif
-SOFLAGS       = -dynamiclib -single_module -undefined $(UNDEFOPT)
-endif
-
-ifeq ($(ARCH),macosxicc)
-# MacOS X with Intel icc compiler
-MACOSX_MINOR := $(shell sw_vers | sed -n 's/ProductVersion://p' | cut -d . -f 2)
-MACOSXTARGET := MACOSX_DEPLOYMENT_TARGET=10.$(MACOSX_MINOR)
-ifeq ($(MACOSX_MINOR),5)
-MACOSX_MINOR := 4
-endif
-CXX           = icc
-CXXFLAGS      = $(OPT) -fPIC -wd1476
-LD            = $(MACOSXTARGET) icpc
-LDFLAGS       = $(OPT)
-# The SOFLAGS will be used to create the .dylib,
-# the .so will be created separately
-ifeq ($(subst $(MACOSX_MINOR),,1234),1234)
-DllSuf        = so
-else
-DllSuf        = dylib
-endif
-SOFLAGS       = -dynamiclib -single_module -undefined dynamic_lookup
-endif
-
-ifeq ($(ARCH),macosx64)
-# MacOS X >= 10.4 with gcc 64 bit mode (GNU gcc 4.*)
-# Only specific option (-m64) comes from root-config
-MACOSX_MINOR := $(shell sw_vers | sed -n 's/ProductVersion://p' | cut -d . -f 2)
-MACOSXTARGET := MACOSX_DEPLOYMENT_TARGET=10.$(MACOSX_MINOR)
-CXX           = g++
-CXXFLAGS      = $(OPT2) -pipe -Wall -W -Woverloaded-virtual
-LD            = $(MACOSXTARGET) g++ -m64
-LDFLAGS       = $(OPT2) -bind_at_load
-# The SOFLAGS will be used to create the .dylib,
-# the .so will be created separately
-ifeq ($(subst $(MACOSX_MINOR),,1234),1234)
-DllSuf        = so
-else
-DllSuf        = dylib
-endif
-SOFLAGS       = -m64 -dynamiclib -single_module -undefined dynamic_lookup
-endif
-
-ifeq ($(ARCH),macosxxlc)
-# MacOS X with IBM xlC compiler
-MACOSX_MINOR := $(shell sw_vers | sed -n 's/ProductVersion://p' | cut -d . -f 2)
-MACOSXTARGET := MACOSX_DEPLOYMENT_TARGET=10.$(MACOSX_MINOR)
-CXX           = xlC
-CXXFLAGS      = $(OPT)
-LD            = $(MACOSXTARGET) xlC
-LDFLAGS       = $(OPT) -Wl,-bind_at_load
-# The SOFLAGS will be used to create the .dylib,
-# the .so will be created separately
-DllSuf        = dylib
-UNDEFOPT      = dynamic_lookup
-ifneq ($(subst $(MACOSX_MINOR),,12),12)
-UNDEFOPT      = suppress
-LD            = xlC
-endif
-SOFLAGS       = -qmkshrobj -single_module -undefined $(UNDEFOPT)
-endif
-
-CXXFLAGS     += $(ROOTCFLAGS)
-LDFLAGS      += $(ROOTLDFLAGS)
-LIBS          = $(ROOTLIBS) $(SYSLIBS)
-GLIBS         = $(ROOTGLIBS) $(SYSLIBS)
-
-INCLUDE		= -I$(CLHEP_BASE_DIR)/include -I$(NPLIB)/include
- 
 #------------------------------------------------------------------------------
 SHARELIB      =  libShieldData.so 	libShieldPhysics.so
 
diff --git a/NPLib/Tools/Makefile b/NPLib/Tools/Makefile
index 54693b981ed50e041752d0a348297251011941cf..34a85363605140a8ac977d554dbfb3c8c6ec4804 100644
--- a/NPLib/Tools/Makefile
+++ b/NPLib/Tools/Makefile
@@ -1,270 +1,4 @@
-# Makefile for the ROOT test programs.
-# This Makefile shows nicely how to compile and link applications
-# using the ROOT libraries on all supported platforms.
-#
-# Copyright (c) 2000 Rene Brun and Fons Rademakers
-#
-# Author: Fons Rademakers, 29/2/2000
-
-ROOTCONFIG   := root-config
-
-ARCH         := $(shell $(ROOTCONFIG) --arch)
-PLATFORM     := $(shell $(ROOTCONFIG) --platform)
-ALTCC        := $(shell $(ROOTCONFIG) --cc)
-ALTCXX       := $(shell $(ROOTCONFIG) --cxx)
-ALTF77       := $(shell $(ROOTCONFIG) --f77)
-ALTLD        := $(shell $(ROOTCONFIG) --ld)
-
-#CXX           =
-ObjSuf        = o
-SrcSuf        = cxx
-ExeSuf        =
-DllSuf        = so
-OutPutOpt     = -o # keep whitespace after "-o"
-
-ifeq (debug,$(findstring debug,$(ROOTBUILD)))
-OPT           = -g
-OPT2          = -g
-else
-ifneq ($(findstring debug, $(strip $(shell $(ROOTCONFIG) --config))),)
-OPT           = -g
-OPT2          = -g
-else
-OPT           = -O
-OPT2          = -O2
-endif
-endif
-
-ROOTCFLAGS   := $(shell $(ROOTCONFIG) --cflags)
-ROOTLDFLAGS  := $(shell $(ROOTCONFIG) --ldflags)
-ROOTLIBS     := $(shell $(ROOTCONFIG) --libs)
-ROOTGLIBS    := $(shell $(ROOTCONFIG) --glibs)
-HASTHREAD    := $(shell $(ROOTCONFIG) --has-thread)
-ROOTDICTTYPE := $(shell $(ROOTCONFIG) --dicttype)
-ROOTCINT     := rootcint
-
-ifeq ($(ARCH),linux)
-# Linux with egcs, gcc 2.9x, gcc 3.x
-CXX           = g++
-CXXFLAGS      = $(OPT2) -Wall -fPIC
-LD            = g++
-LDFLAGS       = $(OPT2)
-SOFLAGS       = -shared
-endif
-
-ifeq ($(ARCH),linuxkcc)
-# Linux with the KAI compiler
-CXX           = KCC --one_instantiation_per_object
-CXXFLAGS      = $(OPT) -fPIC +K0
-LD            = KCC
-LDFLAGS       = $(OPT) $(shell $(ROOTCONFIG) --cflags)
-SOFLAGS       =
-endif
-
-ifeq ($(ARCH),linuxicc)
-# Linux with Intel icc compiler
-ICC_MAJOR    := $(shell icc -v 2>&1 | awk '{ if (NR==1) print $$2 }' | \
-                cut -d'.' -f1)
-ICC_MINOR    := $(shell icc -v 2>&1 | awk '{ if (NR==1) print $$2 }' | \
-                cut -d'.' -f2)
-CXX           = icc
-CXXFLAGS      = $(OPT) -fPIC -wd1476
-LD            = icpc
-LDFLAGS       = $(OPT)
-SOFLAGS       = -shared
-endif
-
-ifeq ($(ARCH),linuxppcgcc)
-# PPC Linux with gcc and glibc
-CXX           = g++
-CXXFLAGS      = $(OPT2) -Wall -fPIC
-LD            = g++
-LDFLAGS       = $(OPT2)
-SOFLAGS       = -shared
-endif
-
-ifeq ($(ARCH),linuxia64gcc)
-# Itanium Linux with gcc 2.9x
-CXX           = g++
-CXXFLAGS      = $(OPT2) -Wall -fPIC
-LD            = g++
-LDFLAGS       = $(OPT2)
-SOFLAGS       = -shared
-endif
-
-ifeq ($(ARCH),linuxia64sgi)
-# Itanium Linux with sgiCC
-CXX           = sgiCC
-CXXFLAGS      = $(OPT) -Wall -fPIC
-LD            = gsgiCC
-LDFLAGS       = $(OPT)
-SOFLAGS       = -shared
-endif
-
-ifeq ($(ARCH),linuxia64ecc)
-# Itanium Linux with Intel icc (was ecc)
-ICC_MAJOR    := $(shell icc -v 2>&1 | awk '{ if (NR==1) print $$2 }' | \
-                cut -d'.' -f1)
-ICC_MINOR    := $(shell icc -v 2>&1 | awk '{ if (NR==1) print $$2 }' | \
-                cut -d'.' -f2)
-CXX           = icc
-CXXFLAGS      = $(OPT) -fPIC -wd1476 -ftz
-LD            = icpc
-LDFLAGS       = $(OPT)
-SOFLAGS       = -shared
-endif
-
-ifeq ($(ARCH),linuxx8664gcc)
-# AMD Opteron and Intel EM64T (64 bit mode) Linux with gcc 3.x
-CXX           = g++
-CXXFLAGS      = $(OPT2) -Wall -fPIC
-LD            = g++
-LDFLAGS       = $(OPT2)
-SOFLAGS       = -shared
-endif
-
-ifeq ($(ARCH),linuxppc64gcc)
-# PPC64 Linux with gcc 3.x
-CXX           = g++
-CXXFLAGS      = $(OPT) -Wall -fPIC
-LD            = g++
-LDFLAGS       = $(OPT)
-SOFLAGS       = -shared
-endif
-
-ifeq ($(ARCH),linuxx8664icc)
-# AMD Opteron and Intel EM64T (64 bit mode) Linux with Intel icc compiler
-CXX           = icc
-CXXFLAGS      = $(OPT) -fPIC -wd1476 -wd1572
-LD            = icpc
-LDFLAGS       = $(OPT)
-SOFLAGS       = -shared
-endif
-
-ifeq ($(ARCH),linuxalphagcc)
-# Alpha Linux with gcc
-CXX           = g++
-CXXFLAGS      = $(OPT2) -Wall -fPIC
-LD            = g++
-LDFLAGS       = $(OPT2)
-SOFLAGS       = -shared
-endif
-
-ifeq ($(ARCH),linuxmips)
-# GNU/Linux on mips (BE/LE, O32/N32/N64) with gcc
-CXX           = g++
-CXXFLAGS      = $(OPT2) -Wall -fPIC
-LD            = g++
-LDFLAGS       = $(OPT2)
-SOFLAGS       = -shared
-endif
-
-ifeq ($(ARCH),linuxhppa)
-# GNU/Linux on hppa with gcc
-CXX           = g++
-CXXFLAGS      = $(OPT2) -Wall -fPIC
-LD            = g++
-LDFLAGS       = $(OPT2)
-SOFLAGS       = -shared
-endif
-
-ifeq ($(ARCH),linuxarm)
-# ARM Linux with egcs
-CXX           = g++
-CXXFLAGS      = $(OPT) -Wall -fPIC
-LD            = g++
-LDFLAGS       = $(OPT)
-SOFLAGS       = -shared
-endif
-
-ifeq ($(ARCH),macosx)
-# MacOS X with cc (GNU cc 2.95.2 and gcc 3.3)
-MACOSX_MINOR := $(shell sw_vers | sed -n 's/ProductVersion://p' | cut -d . -f 2)
-MACOSXTARGET := MACOSX_DEPLOYMENT_TARGET=10.$(MACOSX_MINOR)
-CXX           = g++
-CXXFLAGS      = $(OPT2) -pipe -Wall -W -Woverloaded-virtual
-LD            = $(MACOSXTARGET) g++
-LDFLAGS       = $(OPT2) -bind_at_load
-# The SOFLAGS will be used to create the .dylib,
-# the .so will be created separately
-ifeq ($(subst $(MACOSX_MINOR),,1234),1234)
-DllSuf        = so
-else
-DllSuf        = dylib
-endif
-UNDEFOPT      = dynamic_lookup
-ifneq ($(subst $(MACOSX_MINOR),,12),12)
-UNDEFOPT      = suppress
-LD            = g++
-endif
-SOFLAGS       = -dynamiclib -single_module -undefined $(UNDEFOPT)
-endif
-
-ifeq ($(ARCH),macosxicc)
-# MacOS X with Intel icc compiler
-MACOSX_MINOR := $(shell sw_vers | sed -n 's/ProductVersion://p' | cut -d . -f 2)
-MACOSXTARGET := MACOSX_DEPLOYMENT_TARGET=10.$(MACOSX_MINOR)
-ifeq ($(MACOSX_MINOR),5)
-MACOSX_MINOR := 4
-endif
-CXX           = icc
-CXXFLAGS      = $(OPT) -fPIC -wd1476
-LD            = $(MACOSXTARGET) icpc
-LDFLAGS       = $(OPT)
-# The SOFLAGS will be used to create the .dylib,
-# the .so will be created separately
-ifeq ($(subst $(MACOSX_MINOR),,1234),1234)
-DllSuf        = so
-else
-DllSuf        = dylib
-endif
-SOFLAGS       = -dynamiclib -single_module -undefined dynamic_lookup
-endif
-
-ifeq ($(ARCH),macosx64)
-# MacOS X >= 10.4 with gcc 64 bit mode (GNU gcc 4.*)
-# Only specific option (-m64) comes from root-config
-MACOSX_MINOR := $(shell sw_vers | sed -n 's/ProductVersion://p' | cut -d . -f 2)
-MACOSXTARGET := MACOSX_DEPLOYMENT_TARGET=10.$(MACOSX_MINOR)
-CXX           = g++
-CXXFLAGS      = $(OPT2) -pipe -Wall -W -Woverloaded-virtual
-LD            = $(MACOSXTARGET) g++ -m64
-LDFLAGS       = $(OPT2) -bind_at_load
-# The SOFLAGS will be used to create the .dylib,
-# the .so will be created separately
-ifeq ($(subst $(MACOSX_MINOR),,1234),1234)
-DllSuf        = so
-else
-DllSuf        = dylib
-endif
-SOFLAGS       = -m64 -dynamiclib -single_module -undefined dynamic_lookup
-endif
-
-ifeq ($(ARCH),macosxxlc)
-# MacOS X with IBM xlC compiler
-MACOSX_MINOR := $(shell sw_vers | sed -n 's/ProductVersion://p' | cut -d . -f 2)
-MACOSXTARGET := MACOSX_DEPLOYMENT_TARGET=10.$(MACOSX_MINOR)
-CXX           = xlC
-CXXFLAGS      = $(OPT)
-LD            = $(MACOSXTARGET) xlC
-LDFLAGS       = $(OPT) -Wl,-bind_at_load
-# The SOFLAGS will be used to create the .dylib,
-# the .so will be created separately
-DllSuf        = dylib
-UNDEFOPT      = dynamic_lookup
-ifneq ($(subst $(MACOSX_MINOR),,12),12)
-UNDEFOPT      = suppress
-LD            = xlC
-endif
-SOFLAGS       = -qmkshrobj -single_module -undefined $(UNDEFOPT)
-endif
-
-CXXFLAGS     += $(ROOTCFLAGS)
-LDFLAGS      += $(ROOTLDFLAGS)
-LIBS          = $(ROOTLIBS) $(SYSLIBS)
-GLIBS         = $(ROOTGLIBS) $(SYSLIBS)
-
-INCLUDE		= -I$(CLHEP_BASE_DIR)/include
+include ../base_Makefile
  
 #------------------------------------------------------------------------------
 SHARELIB      = libReaction.so libEnergyLoss.so libTagManager.so libOptionManager.so
diff --git a/NPLib/VDetector/Makefile b/NPLib/VDetector/Makefile
index 450913cc343cb2a9f47debd0701ccaa67b83e973..22b7715818ca895b5de1e80d88e34bd832eb3d1f 100644
--- a/NPLib/VDetector/Makefile
+++ b/NPLib/VDetector/Makefile
@@ -1,270 +1,4 @@
-# Makefile for the ROOT test programs.
-# This Makefile shows nicely how to compile and link applications
-# using the ROOT libraries on all supported platforms.
-#
-# Copyright (c) 2000 Rene Brun and Fons Rademakers
-#
-# Author: Fons Rademakers, 29/2/2000
-
-ROOTCONFIG   := root-config
-
-ARCH         := $(shell $(ROOTCONFIG) --arch)
-PLATFORM     := $(shell $(ROOTCONFIG) --platform)
-ALTCC        := $(shell $(ROOTCONFIG) --cc)
-ALTCXX       := $(shell $(ROOTCONFIG) --cxx)
-ALTF77       := $(shell $(ROOTCONFIG) --f77)
-ALTLD        := $(shell $(ROOTCONFIG) --ld)
-
-#CXX           =
-ObjSuf        = o
-SrcSuf        = cxx
-ExeSuf        =
-DllSuf        = so
-OutPutOpt     = -o # keep whitespace after "-o"
-
-ifeq (debug,$(findstring debug,$(ROOTBUILD)))
-OPT           = -g
-OPT2          = -g
-else
-ifneq ($(findstring debug, $(strip $(shell $(ROOTCONFIG) --config))),)
-OPT           = -g
-OPT2          = -g
-else
-OPT           = -O
-OPT2          = -O2
-endif
-endif
-
-ROOTCFLAGS   := $(shell $(ROOTCONFIG) --cflags)
-ROOTLDFLAGS  := $(shell $(ROOTCONFIG) --ldflags)
-ROOTLIBS     := $(shell $(ROOTCONFIG) --libs)
-ROOTGLIBS    := $(shell $(ROOTCONFIG) --glibs)
-HASTHREAD    := $(shell $(ROOTCONFIG) --has-thread)
-ROOTDICTTYPE := $(shell $(ROOTCONFIG) --dicttype)
-ROOTCINT     := rootcint
-
-ifeq ($(ARCH),linux)
-# Linux with egcs, gcc 2.9x, gcc 3.x
-CXX           = g++
-CXXFLAGS      = $(OPT2) -Wall -fPIC
-LD            = g++
-LDFLAGS       = $(OPT2)
-SOFLAGS       = -shared
-endif
-
-ifeq ($(ARCH),linuxkcc)
-# Linux with the KAI compiler
-CXX           = KCC --one_instantiation_per_object
-CXXFLAGS      = $(OPT) -fPIC +K0
-LD            = KCC
-LDFLAGS       = $(OPT) $(shell $(ROOTCONFIG) --cflags)
-SOFLAGS       =
-endif
-
-ifeq ($(ARCH),linuxicc)
-# Linux with Intel icc compiler
-ICC_MAJOR    := $(shell icc -v 2>&1 | awk '{ if (NR==1) print $$2 }' | \
-                cut -d'.' -f1)
-ICC_MINOR    := $(shell icc -v 2>&1 | awk '{ if (NR==1) print $$2 }' | \
-                cut -d'.' -f2)
-CXX           = icc
-CXXFLAGS      = $(OPT) -fPIC -wd1476
-LD            = icpc
-LDFLAGS       = $(OPT)
-SOFLAGS       = -shared
-endif
-
-ifeq ($(ARCH),linuxppcgcc)
-# PPC Linux with gcc and glibc
-CXX           = g++
-CXXFLAGS      = $(OPT2) -Wall -fPIC
-LD            = g++
-LDFLAGS       = $(OPT2)
-SOFLAGS       = -shared
-endif
-
-ifeq ($(ARCH),linuxia64gcc)
-# Itanium Linux with gcc 2.9x
-CXX           = g++
-CXXFLAGS      = $(OPT2) -Wall -fPIC
-LD            = g++
-LDFLAGS       = $(OPT2)
-SOFLAGS       = -shared
-endif
-
-ifeq ($(ARCH),linuxia64sgi)
-# Itanium Linux with sgiCC
-CXX           = sgiCC
-CXXFLAGS      = $(OPT) -Wall -fPIC
-LD            = gsgiCC
-LDFLAGS       = $(OPT)
-SOFLAGS       = -shared
-endif
-
-ifeq ($(ARCH),linuxia64ecc)
-# Itanium Linux with Intel icc (was ecc)
-ICC_MAJOR    := $(shell icc -v 2>&1 | awk '{ if (NR==1) print $$2 }' | \
-                cut -d'.' -f1)
-ICC_MINOR    := $(shell icc -v 2>&1 | awk '{ if (NR==1) print $$2 }' | \
-                cut -d'.' -f2)
-CXX           = icc
-CXXFLAGS      = $(OPT) -fPIC -wd1476 -ftz
-LD            = icpc
-LDFLAGS       = $(OPT)
-SOFLAGS       = -shared
-endif
-
-ifeq ($(ARCH),linuxx8664gcc)
-# AMD Opteron and Intel EM64T (64 bit mode) Linux with gcc 3.x
-CXX           = g++
-CXXFLAGS      = $(OPT2) -Wall -fPIC
-LD            = g++
-LDFLAGS       = $(OPT2)
-SOFLAGS       = -shared
-endif
-
-ifeq ($(ARCH),linuxppc64gcc)
-# PPC64 Linux with gcc 3.x
-CXX           = g++
-CXXFLAGS      = $(OPT) -Wall -fPIC
-LD            = g++
-LDFLAGS       = $(OPT)
-SOFLAGS       = -shared
-endif
-
-ifeq ($(ARCH),linuxx8664icc)
-# AMD Opteron and Intel EM64T (64 bit mode) Linux with Intel icc compiler
-CXX           = icc
-CXXFLAGS      = $(OPT) -fPIC -wd1476 -wd1572
-LD            = icpc
-LDFLAGS       = $(OPT)
-SOFLAGS       = -shared
-endif
-
-ifeq ($(ARCH),linuxalphagcc)
-# Alpha Linux with gcc
-CXX           = g++
-CXXFLAGS      = $(OPT2) -Wall -fPIC
-LD            = g++
-LDFLAGS       = $(OPT2)
-SOFLAGS       = -shared
-endif
-
-ifeq ($(ARCH),linuxmips)
-# GNU/Linux on mips (BE/LE, O32/N32/N64) with gcc
-CXX           = g++
-CXXFLAGS      = $(OPT2) -Wall -fPIC
-LD            = g++
-LDFLAGS       = $(OPT2)
-SOFLAGS       = -shared
-endif
-
-ifeq ($(ARCH),linuxhppa)
-# GNU/Linux on hppa with gcc
-CXX           = g++
-CXXFLAGS      = $(OPT2) -Wall -fPIC
-LD            = g++
-LDFLAGS       = $(OPT2)
-SOFLAGS       = -shared
-endif
-
-ifeq ($(ARCH),linuxarm)
-# ARM Linux with egcs
-CXX           = g++
-CXXFLAGS      = $(OPT) -Wall -fPIC
-LD            = g++
-LDFLAGS       = $(OPT)
-SOFLAGS       = -shared
-endif
-
-ifeq ($(ARCH),macosx)
-# MacOS X with cc (GNU cc 2.95.2 and gcc 3.3)
-MACOSX_MINOR := $(shell sw_vers | sed -n 's/ProductVersion://p' | cut -d . -f 2)
-MACOSXTARGET := MACOSX_DEPLOYMENT_TARGET=10.$(MACOSX_MINOR)
-CXX           = g++
-CXXFLAGS      = $(OPT2) -pipe -Wall -W -Woverloaded-virtual
-LD            = $(MACOSXTARGET) g++
-LDFLAGS       = $(OPT2) -bind_at_load
-# The SOFLAGS will be used to create the .dylib,
-# the .so will be created separately
-ifeq ($(subst $(MACOSX_MINOR),,1234),1234)
-DllSuf        = so
-else
-DllSuf        = dylib
-endif
-UNDEFOPT      = dynamic_lookup
-ifneq ($(subst $(MACOSX_MINOR),,12),12)
-UNDEFOPT      = suppress
-LD            = g++
-endif
-SOFLAGS       = -dynamiclib -single_module -undefined $(UNDEFOPT)
-endif
-
-ifeq ($(ARCH),macosxicc)
-# MacOS X with Intel icc compiler
-MACOSX_MINOR := $(shell sw_vers | sed -n 's/ProductVersion://p' | cut -d . -f 2)
-MACOSXTARGET := MACOSX_DEPLOYMENT_TARGET=10.$(MACOSX_MINOR)
-ifeq ($(MACOSX_MINOR),5)
-MACOSX_MINOR := 4
-endif
-CXX           = icc
-CXXFLAGS      = $(OPT) -fPIC -wd1476
-LD            = $(MACOSXTARGET) icpc
-LDFLAGS       = $(OPT)
-# The SOFLAGS will be used to create the .dylib,
-# the .so will be created separately
-ifeq ($(subst $(MACOSX_MINOR),,1234),1234)
-DllSuf        = so
-else
-DllSuf        = dylib
-endif
-SOFLAGS       = -dynamiclib -single_module -undefined dynamic_lookup
-endif
-
-ifeq ($(ARCH),macosx64)
-# MacOS X >= 10.4 with gcc 64 bit mode (GNU gcc 4.*)
-# Only specific option (-m64) comes from root-config
-MACOSX_MINOR := $(shell sw_vers | sed -n 's/ProductVersion://p' | cut -d . -f 2)
-MACOSXTARGET := MACOSX_DEPLOYMENT_TARGET=10.$(MACOSX_MINOR)
-CXX           = g++
-CXXFLAGS      = $(OPT2) -pipe -Wall -W -Woverloaded-virtual
-LD            = $(MACOSXTARGET) g++ -m64
-LDFLAGS       = $(OPT2) -bind_at_load
-# The SOFLAGS will be used to create the .dylib,
-# the .so will be created separately
-ifeq ($(subst $(MACOSX_MINOR),,1234),1234)
-DllSuf        = so
-else
-DllSuf        = dylib
-endif
-SOFLAGS       = -m64 -dynamiclib -single_module -undefined dynamic_lookup
-endif
-
-ifeq ($(ARCH),macosxxlc)
-# MacOS X with IBM xlC compiler
-MACOSX_MINOR := $(shell sw_vers | sed -n 's/ProductVersion://p' | cut -d . -f 2)
-MACOSXTARGET := MACOSX_DEPLOYMENT_TARGET=10.$(MACOSX_MINOR)
-CXX           = xlC
-CXXFLAGS      = $(OPT)
-LD            = $(MACOSXTARGET) xlC
-LDFLAGS       = $(OPT) -Wl,-bind_at_load
-# The SOFLAGS will be used to create the .dylib,
-# the .so will be created separately
-DllSuf        = dylib
-UNDEFOPT      = dynamic_lookup
-ifneq ($(subst $(MACOSX_MINOR),,12),12)
-UNDEFOPT      = suppress
-LD            = xlC
-endif
-SOFLAGS       = -qmkshrobj -single_module -undefined $(UNDEFOPT)
-endif
-
-CXXFLAGS     += $(ROOTCFLAGS)
-LDFLAGS      += $(ROOTLDFLAGS)
-LIBS          = $(ROOTLIBS) $(SYSLIBS)
-GLIBS         = $(ROOTGLIBS) $(SYSLIBS)
-
-INCLUDE		= -I$(CLHEP_BASE_DIR)/include
+include ../base_Makefile
  
 #------------------------------------------------------------------------------
 SHARELIB      =  libVDetector.so libDetectorManager.so
diff --git a/NPLib/W1/Makefile b/NPLib/W1/Makefile
index 200ef4a919bc8456fff1a0e10ae6d42e7018b062..36a433c29a30b046e0f80e3a1868e71b3dadd1a0 100644
--- a/NPLib/W1/Makefile
+++ b/NPLib/W1/Makefile
@@ -1,270 +1,4 @@
-# Makefile for the ROOT test programs.
-# This Makefile shows nicely how to compile and link applications
-# using the ROOT libraries on all supported platforms.
-#
-# Copyright (c) 2000 Rene Brun and Fons Rademakers
-#
-# Author: Fons Rademakers, 29/2/2000
-
-ROOTCONFIG   := root-config
-
-ARCH         := $(shell $(ROOTCONFIG) --arch)
-PLATFORM     := $(shell $(ROOTCONFIG) --platform)
-ALTCC        := $(shell $(ROOTCONFIG) --cc)
-ALTCXX       := $(shell $(ROOTCONFIG) --cxx)
-ALTF77       := $(shell $(ROOTCONFIG) --f77)
-ALTLD        := $(shell $(ROOTCONFIG) --ld)
-
-#CXX           =
-ObjSuf        = o
-SrcSuf        = cxx
-ExeSuf        =
-DllSuf        = so
-OutPutOpt     = -o # keep whitespace after "-o"
-
-ifeq (debug,$(findstring debug,$(ROOTBUILD)))
-OPT           = -g
-OPT2          = -g
-else
-ifneq ($(findstring debug, $(strip $(shell $(ROOTCONFIG) --config))),)
-OPT           = -g
-OPT2          = -g
-else
-OPT           = -O
-OPT2          = -O2
-endif
-endif
-
-ROOTCFLAGS   := $(shell $(ROOTCONFIG) --cflags)
-ROOTLDFLAGS  := $(shell $(ROOTCONFIG) --ldflags)
-ROOTLIBS     := $(shell $(ROOTCONFIG) --libs)
-ROOTGLIBS    := $(shell $(ROOTCONFIG) --glibs)
-HASTHREAD    := $(shell $(ROOTCONFIG) --has-thread)
-ROOTDICTTYPE := $(shell $(ROOTCONFIG) --dicttype)
-ROOTCINT     := rootcint
-
-ifeq ($(ARCH),linux)
-# Linux with egcs, gcc 2.9x, gcc 3.x
-CXX           = g++
-CXXFLAGS      = $(OPT2) -Wall -fPIC
-LD            = g++
-LDFLAGS       = $(OPT2)
-SOFLAGS       = -shared
-endif
-
-ifeq ($(ARCH),linuxkcc)
-# Linux with the KAI compiler
-CXX           = KCC --one_instantiation_per_object
-CXXFLAGS      = $(OPT) -fPIC +K0
-LD            = KCC
-LDFLAGS       = $(OPT) $(shell $(ROOTCONFIG) --cflags)
-SOFLAGS       =
-endif
-
-ifeq ($(ARCH),linuxicc)
-# Linux with Intel icc compiler
-ICC_MAJOR    := $(shell icc -v 2>&1 | awk '{ if (NR==1) print $$2 }' | \
-                cut -d'.' -f1)
-ICC_MINOR    := $(shell icc -v 2>&1 | awk '{ if (NR==1) print $$2 }' | \
-                cut -d'.' -f2)
-CXX           = icc
-CXXFLAGS      = $(OPT) -fPIC -wd1476
-LD            = icpc
-LDFLAGS       = $(OPT)
-SOFLAGS       = -shared
-endif
-
-ifeq ($(ARCH),linuxppcgcc)
-# PPC Linux with gcc and glibc
-CXX           = g++
-CXXFLAGS      = $(OPT2) -Wall -fPIC
-LD            = g++
-LDFLAGS       = $(OPT2)
-SOFLAGS       = -shared
-endif
-
-ifeq ($(ARCH),linuxia64gcc)
-# Itanium Linux with gcc 2.9x
-CXX           = g++
-CXXFLAGS      = $(OPT2) -Wall -fPIC
-LD            = g++
-LDFLAGS       = $(OPT2)
-SOFLAGS       = -shared
-endif
-
-ifeq ($(ARCH),linuxia64sgi)
-# Itanium Linux with sgiCC
-CXX           = sgiCC
-CXXFLAGS      = $(OPT) -Wall -fPIC
-LD            = gsgiCC
-LDFLAGS       = $(OPT)
-SOFLAGS       = -shared
-endif
-
-ifeq ($(ARCH),linuxia64ecc)
-# Itanium Linux with Intel icc (was ecc)
-ICC_MAJOR    := $(shell icc -v 2>&1 | awk '{ if (NR==1) print $$2 }' | \
-                cut -d'.' -f1)
-ICC_MINOR    := $(shell icc -v 2>&1 | awk '{ if (NR==1) print $$2 }' | \
-                cut -d'.' -f2)
-CXX           = icc
-CXXFLAGS      = $(OPT) -fPIC -wd1476 -ftz
-LD            = icpc
-LDFLAGS       = $(OPT)
-SOFLAGS       = -shared
-endif
-
-ifeq ($(ARCH),linuxx8664gcc)
-# AMD Opteron and Intel EM64T (64 bit mode) Linux with gcc 3.x
-CXX           = g++
-CXXFLAGS      = $(OPT2) -Wall -fPIC
-LD            = g++
-LDFLAGS       = $(OPT2)
-SOFLAGS       = -shared
-endif
-
-ifeq ($(ARCH),linuxppc64gcc)
-# PPC64 Linux with gcc 3.x
-CXX           = g++
-CXXFLAGS      = $(OPT) -Wall -fPIC
-LD            = g++
-LDFLAGS       = $(OPT)
-SOFLAGS       = -shared
-endif
-
-ifeq ($(ARCH),linuxx8664icc)
-# AMD Opteron and Intel EM64T (64 bit mode) Linux with Intel icc compiler
-CXX           = icc
-CXXFLAGS      = $(OPT) -fPIC -wd1476 -wd1572
-LD            = icpc
-LDFLAGS       = $(OPT)
-SOFLAGS       = -shared
-endif
-
-ifeq ($(ARCH),linuxalphagcc)
-# Alpha Linux with gcc
-CXX           = g++
-CXXFLAGS      = $(OPT2) -Wall -fPIC
-LD            = g++
-LDFLAGS       = $(OPT2)
-SOFLAGS       = -shared
-endif
-
-ifeq ($(ARCH),linuxmips)
-# GNU/Linux on mips (BE/LE, O32/N32/N64) with gcc
-CXX           = g++
-CXXFLAGS      = $(OPT2) -Wall -fPIC
-LD            = g++
-LDFLAGS       = $(OPT2)
-SOFLAGS       = -shared
-endif
-
-ifeq ($(ARCH),linuxhppa)
-# GNU/Linux on hppa with gcc
-CXX           = g++
-CXXFLAGS      = $(OPT2) -Wall -fPIC
-LD            = g++
-LDFLAGS       = $(OPT2)
-SOFLAGS       = -shared
-endif
-
-ifeq ($(ARCH),linuxarm)
-# ARM Linux with egcs
-CXX           = g++
-CXXFLAGS      = $(OPT) -Wall -fPIC
-LD            = g++
-LDFLAGS       = $(OPT)
-SOFLAGS       = -shared
-endif
-
-ifeq ($(ARCH),macosx)
-# MacOS X with cc (GNU cc 2.95.2 and gcc 3.3)
-MACOSX_MINOR := $(shell sw_vers | sed -n 's/ProductVersion://p' | cut -d . -f 2)
-MACOSXTARGET := MACOSX_DEPLOYMENT_TARGET=10.$(MACOSX_MINOR)
-CXX           = g++
-CXXFLAGS      = $(OPT2) -pipe -Wall -W -Woverloaded-virtual
-LD            = $(MACOSXTARGET) g++
-LDFLAGS       = $(OPT2) -bind_at_load
-# The SOFLAGS will be used to create the .dylib,
-# the .so will be created separately
-ifeq ($(subst $(MACOSX_MINOR),,1234),1234)
-DllSuf        = so
-else
-DllSuf        = dylib
-endif
-UNDEFOPT      = dynamic_lookup
-ifneq ($(subst $(MACOSX_MINOR),,12),12)
-UNDEFOPT      = suppress
-LD            = g++
-endif
-SOFLAGS       = -dynamiclib -single_module -undefined $(UNDEFOPT)
-endif
-
-ifeq ($(ARCH),macosxicc)
-# MacOS X with Intel icc compiler
-MACOSX_MINOR := $(shell sw_vers | sed -n 's/ProductVersion://p' | cut -d . -f 2)
-MACOSXTARGET := MACOSX_DEPLOYMENT_TARGET=10.$(MACOSX_MINOR)
-ifeq ($(MACOSX_MINOR),5)
-MACOSX_MINOR := 4
-endif
-CXX           = icc
-CXXFLAGS      = $(OPT) -fPIC -wd1476
-LD            = $(MACOSXTARGET) icpc
-LDFLAGS       = $(OPT)
-# The SOFLAGS will be used to create the .dylib,
-# the .so will be created separately
-ifeq ($(subst $(MACOSX_MINOR),,1234),1234)
-DllSuf        = so
-else
-DllSuf        = dylib
-endif
-SOFLAGS       = -dynamiclib -single_module -undefined dynamic_lookup
-endif
-
-ifeq ($(ARCH),macosx64)
-# MacOS X >= 10.4 with gcc 64 bit mode (GNU gcc 4.*)
-# Only specific option (-m64) comes from root-config
-MACOSX_MINOR := $(shell sw_vers | sed -n 's/ProductVersion://p' | cut -d . -f 2)
-MACOSXTARGET := MACOSX_DEPLOYMENT_TARGET=10.$(MACOSX_MINOR)
-CXX           = g++
-CXXFLAGS      = $(OPT2) -pipe -Wall -W -Woverloaded-virtual
-LD            = $(MACOSXTARGET) g++ -m64
-LDFLAGS       = $(OPT2) -bind_at_load
-# The SOFLAGS will be used to create the .dylib,
-# the .so will be created separately
-ifeq ($(subst $(MACOSX_MINOR),,1234),1234)
-DllSuf        = so
-else
-DllSuf        = dylib
-endif
-SOFLAGS       = -m64 -dynamiclib -single_module -undefined dynamic_lookup
-endif
-
-ifeq ($(ARCH),macosxxlc)
-# MacOS X with IBM xlC compiler
-MACOSX_MINOR := $(shell sw_vers | sed -n 's/ProductVersion://p' | cut -d . -f 2)
-MACOSXTARGET := MACOSX_DEPLOYMENT_TARGET=10.$(MACOSX_MINOR)
-CXX           = xlC
-CXXFLAGS      = $(OPT)
-LD            = $(MACOSXTARGET) xlC
-LDFLAGS       = $(OPT) -Wl,-bind_at_load
-# The SOFLAGS will be used to create the .dylib,
-# the .so will be created separately
-DllSuf        = dylib
-UNDEFOPT      = dynamic_lookup
-ifneq ($(subst $(MACOSX_MINOR),,12),12)
-UNDEFOPT      = suppress
-LD            = xlC
-endif
-SOFLAGS       = -qmkshrobj -single_module -undefined $(UNDEFOPT)
-endif
-
-CXXFLAGS     += $(ROOTCFLAGS)
-LDFLAGS      += $(ROOTLDFLAGS)
-LIBS          = $(ROOTLIBS) $(SYSLIBS)
-GLIBS         = $(ROOTGLIBS) $(SYSLIBS)
-
-INCLUDE		= -I$(CLHEP_BASE_DIR)/include -I$(NPLIB)/include
+include ../base_Makefile
  
 #------------------------------------------------------------------------------
 SHARELIB      =  libW1Data.so libW1Physics.so
diff --git a/NPLib/base_Makefile b/NPLib/base_Makefile
new file mode 100644
index 0000000000000000000000000000000000000000..43f3e0b1c93ca79e9dde88b063c7781492bcdc26
--- /dev/null
+++ b/NPLib/base_Makefile
@@ -0,0 +1,268 @@
+# Makefile for the ROOT test programs.
+# This Makefile shows nicely how to compile and link applications
+# using the ROOT libraries on all supported platforms.
+#
+# Copyright (c) 2000 Rene Brun and Fons Rademakers
+#
+# Author: Fons Rademakers, 29/2/2000
+
+ROOTCONFIG   := root-config
+
+ARCH         := $(shell $(ROOTCONFIG) --arch)
+PLATFORM     := $(shell $(ROOTCONFIG) --platform)
+ALTCC        := $(shell $(ROOTCONFIG) --cc)
+ALTCXX       := $(shell $(ROOTCONFIG) --cxx)
+ALTF77       := $(shell $(ROOTCONFIG) --f77)
+ALTLD        := $(shell $(ROOTCONFIG) --ld)
+
+#CXX           =
+ObjSuf        = o
+SrcSuf        = cxx
+ExeSuf        =
+DllSuf        = so
+OutPutOpt     = -o # keep whitespace after "-o"
+
+ifeq (debug,$(findstring debug,$(ROOTBUILD)))
+OPT           = -g
+OPT2          = -g
+else
+ifneq ($(findstring debug, $(strip $(shell $(ROOTCONFIG) --config))),)
+OPT           = -g
+OPT2          = -g
+else
+OPT           = -O
+OPT2          = -O2
+endif
+endif
+
+ROOTCFLAGS   := $(shell $(ROOTCONFIG) --cflags)
+ROOTLDFLAGS  := $(shell $(ROOTCONFIG) --ldflags)
+ROOTLIBS     := $(shell $(ROOTCONFIG) --libs)
+ROOTGLIBS    := $(shell $(ROOTCONFIG) --glibs)
+HASTHREAD    := $(shell $(ROOTCONFIG) --has-thread)
+ROOTDICTTYPE := $(shell $(ROOTCONFIG) --dicttype)
+ROOTCINT     := rootcint
+
+ifeq ($(ARCH),linux)
+# Linux with egcs, gcc 2.9x, gcc 3.x
+CXX           = g++
+CXXFLAGS      = $(OPT2) -Wall -fPIC
+LD            = g++
+LDFLAGS       = $(OPT2)
+SOFLAGS       = -shared
+endif
+
+ifeq ($(ARCH),linuxkcc)
+# Linux with the KAI compiler
+CXX           = KCC --one_instantiation_per_object
+CXXFLAGS      = $(OPT) -fPIC +K0
+LD            = KCC
+LDFLAGS       = $(OPT) $(shell $(ROOTCONFIG) --cflags)
+SOFLAGS       =
+endif
+
+ifeq ($(ARCH),linuxicc)
+# Linux with Intel icc compiler
+ICC_MAJOR    := $(shell icc -v 2>&1 | awk '{ if (NR==1) print $$2 }' | \
+                cut -d'.' -f1)
+ICC_MINOR    := $(shell icc -v 2>&1 | awk '{ if (NR==1) print $$2 }' | \
+                cut -d'.' -f2)
+CXX           = icc
+CXXFLAGS      = $(OPT) -fPIC -wd1476
+LD            = icpc
+LDFLAGS       = $(OPT)
+SOFLAGS       = -shared
+endif
+
+ifeq ($(ARCH),linuxppcgcc)
+# PPC Linux with gcc and glibc
+CXX           = g++
+CXXFLAGS      = $(OPT2) -Wall -fPIC
+LD            = g++
+LDFLAGS       = $(OPT2)
+SOFLAGS       = -shared
+endif
+
+ifeq ($(ARCH),linuxia64gcc)
+# Itanium Linux with gcc 2.9x
+CXX           = g++
+CXXFLAGS      = $(OPT2) -Wall -fPIC
+LD            = g++
+LDFLAGS       = $(OPT2)
+SOFLAGS       = -shared
+endif
+
+ifeq ($(ARCH),linuxia64sgi)
+# Itanium Linux with sgiCC
+CXX           = sgiCC
+CXXFLAGS      = $(OPT) -Wall -fPIC
+LD            = gsgiCC
+LDFLAGS       = $(OPT)
+SOFLAGS       = -shared
+endif
+
+ifeq ($(ARCH),linuxia64ecc)
+# Itanium Linux with Intel icc (was ecc)
+ICC_MAJOR    := $(shell icc -v 2>&1 | awk '{ if (NR==1) print $$2 }' | \
+                cut -d'.' -f1)
+ICC_MINOR    := $(shell icc -v 2>&1 | awk '{ if (NR==1) print $$2 }' | \
+                cut -d'.' -f2)
+CXX           = icc
+CXXFLAGS      = $(OPT) -fPIC -wd1476 -ftz
+LD            = icpc
+LDFLAGS       = $(OPT)
+SOFLAGS       = -shared
+endif
+
+ifeq ($(ARCH),linuxx8664gcc)
+# AMD Opteron and Intel EM64T (64 bit mode) Linux with gcc 3.x
+CXX           = g++
+CXXFLAGS      = $(OPT2) -Wall -fPIC
+LD            = g++
+LDFLAGS       = $(OPT2)
+SOFLAGS       = -shared
+endif
+
+ifeq ($(ARCH),linuxppc64gcc)
+# PPC64 Linux with gcc 3.x
+CXX           = g++
+CXXFLAGS      = $(OPT) -Wall -fPIC
+LD            = g++
+LDFLAGS       = $(OPT)
+SOFLAGS       = -shared
+endif
+
+ifeq ($(ARCH),linuxx8664icc)
+# AMD Opteron and Intel EM64T (64 bit mode) Linux with Intel icc compiler
+CXX           = icc
+CXXFLAGS      = $(OPT) -fPIC -wd1476 -wd1572
+LD            = icpc
+LDFLAGS       = $(OPT)
+SOFLAGS       = -shared
+endif
+
+ifeq ($(ARCH),linuxalphagcc)
+# Alpha Linux with gcc
+CXX           = g++
+CXXFLAGS      = $(OPT2) -Wall -fPIC
+LD            = g++
+LDFLAGS       = $(OPT2)
+SOFLAGS       = -shared
+endif
+
+ifeq ($(ARCH),linuxmips)
+# GNU/Linux on mips (BE/LE, O32/N32/N64) with gcc
+CXX           = g++
+CXXFLAGS      = $(OPT2) -Wall -fPIC
+LD            = g++
+LDFLAGS       = $(OPT2)
+SOFLAGS       = -shared
+endif
+
+ifeq ($(ARCH),linuxhppa)
+# GNU/Linux on hppa with gcc
+CXX           = g++
+CXXFLAGS      = $(OPT2) -Wall -fPIC
+LD            = g++
+LDFLAGS       = $(OPT2)
+SOFLAGS       = -shared
+endif
+
+ifeq ($(ARCH),linuxarm)
+# ARM Linux with egcs
+CXX           = g++
+CXXFLAGS      = $(OPT) -Wall -fPIC
+LD            = g++
+LDFLAGS       = $(OPT)
+SOFLAGS       = -shared
+endif
+
+ifeq ($(ARCH),macosx)
+# MacOS X with cc (GNU cc 2.95.2 and gcc 3.3)
+MACOSX_MINOR := $(shell sw_vers | sed -n 's/ProductVersion://p' | cut -d . -f 2)
+MACOSXTARGET := MACOSX_DEPLOYMENT_TARGET=10.$(MACOSX_MINOR)
+CXX           = g++
+CXXFLAGS      = $(OPT2) -pipe -Wall -W -Woverloaded-virtual
+LD            = $(MACOSXTARGET) g++
+LDFLAGS       = $(OPT2) -bind_at_load
+# The SOFLAGS will be used to create the .dylib,
+# the .so will be created separately
+ifeq ($(subst $(MACOSX_MINOR),,1234),1234)
+DllSuf        = so
+else
+DllSuf        = dylib
+endif
+UNDEFOPT      = dynamic_lookup
+ifneq ($(subst $(MACOSX_MINOR),,12),12)
+UNDEFOPT      = suppress
+LD            = g++
+endif
+SOFLAGS       = -dynamiclib -single_module -undefined $(UNDEFOPT)
+endif
+
+ifeq ($(ARCH),macosxicc)
+# MacOS X with Intel icc compiler
+MACOSX_MINOR := $(shell sw_vers | sed -n 's/ProductVersion://p' | cut -d . -f 2)
+MACOSXTARGET := MACOSX_DEPLOYMENT_TARGET=10.$(MACOSX_MINOR)
+ifeq ($(MACOSX_MINOR),5)
+MACOSX_MINOR := 4
+endif
+CXX           = icc
+CXXFLAGS      = $(OPT) -fPIC -wd1476
+LD            = $(MACOSXTARGET) icpc
+LDFLAGS       = $(OPT)
+# The SOFLAGS will be used to create the .dylib,
+# the .so will be created separately
+ifeq ($(subst $(MACOSX_MINOR),,1234),1234)
+DllSuf        = so
+else
+DllSuf        = dylib
+endif
+SOFLAGS       = -dynamiclib -single_module -undefined dynamic_lookup
+endif
+
+ifeq ($(ARCH),macosx64)
+# MacOS X >= 10.4 with gcc 64 bit mode (GNU gcc 4.*)
+# Only specific option (-m64) comes from root-config
+MACOSX_MINOR := $(shell sw_vers | sed -n 's/ProductVersion://p' | cut -d . -f 2)
+MACOSXTARGET := MACOSX_DEPLOYMENT_TARGET=10.$(MACOSX_MINOR)
+CXX           = g++
+CXXFLAGS      = $(OPT2) -pipe -Wall -W -Woverloaded-virtual
+LD            = $(MACOSXTARGET) g++ -m64
+LDFLAGS       = $(OPT2) -bind_at_load
+# The SOFLAGS will be used to create the .dylib,
+# the .so will be created separately
+ifeq ($(subst $(MACOSX_MINOR),,1234),1234)
+DllSuf        = so
+else
+DllSuf        = dylib
+endif
+SOFLAGS       = -m64 -dynamiclib -single_module -undefined dynamic_lookup
+endif
+
+ifeq ($(ARCH),macosxxlc)
+# MacOS X with IBM xlC compiler
+MACOSX_MINOR := $(shell sw_vers | sed -n 's/ProductVersion://p' | cut -d . -f 2)
+MACOSXTARGET := MACOSX_DEPLOYMENT_TARGET=10.$(MACOSX_MINOR)
+CXX           = xlC
+CXXFLAGS      = $(OPT)
+LD            = $(MACOSXTARGET) xlC
+LDFLAGS       = $(OPT) -Wl,-bind_at_load
+# The SOFLAGS will be used to create the .dylib,
+# the .so will be created separately
+DllSuf        = dylib
+UNDEFOPT      = dynamic_lookup
+ifneq ($(subst $(MACOSX_MINOR),,12),12)
+UNDEFOPT      = suppress
+LD            = xlC
+endif
+SOFLAGS       = -qmkshrobj -single_module -undefined $(UNDEFOPT)
+endif
+
+CXXFLAGS     += $(ROOTCFLAGS)
+LDFLAGS      += $(ROOTLDFLAGS)
+LIBS          = $(ROOTLIBS) $(SYSLIBS)
+GLIBS         = $(ROOTGLIBS) $(SYSLIBS)
+
+INCLUDE		= -I$(CLHEP_BASE_DIR)/include -I$(NPLIB)/include
+