diff --git a/NPLib/AnnularS1/Makefile b/NPLib/AnnularS1/Makefile
index b9794b077aea18b148f06125a99eff54e8a4d319..7794edd79e52c14eb3f7878cc635636baa664e24 100644
--- a/NPLib/AnnularS1/Makefile
+++ b/NPLib/AnnularS1/Makefile
@@ -1,4 +1,4 @@
-include ../base_Makefile
+include ../Makefile.arch
  
 #------------------------------------------------------------------------------
 SHARELIB      =  libAnnularS1Data.so 
diff --git a/NPLib/CalibrationManager/Makefile b/NPLib/CalibrationManager/Makefile
index 4d59912808b77b1e49fd3c041a80fc7d5a27e6ff..a6c78cd13f28ea470fc7b44d8791cf28ae8a8609 100755
--- a/NPLib/CalibrationManager/Makefile
+++ b/NPLib/CalibrationManager/Makefile
@@ -1,4 +1,4 @@
-include ../base_Makefile
+include ../Makefile.arch
  
 #------------------------------------------------------------------------------
 SHARELIB      =  libCalibrationManager.so 
diff --git a/NPLib/DummyDetector/Makefile b/NPLib/DummyDetector/Makefile
index 7722507ad0f55612ded60218adca2adf3d06bcf4..f6c45ba39927fa1f135855ed15b3d11c12de6036 100755
--- a/NPLib/DummyDetector/Makefile
+++ b/NPLib/DummyDetector/Makefile
@@ -1,4 +1,4 @@
-include ../base_Makefile
+include ../Makefile.arch
  
 #------------------------------------------------------------------------------
 SHARELIB      =  libDUMMYDetectorData.so 
diff --git a/NPLib/GASPARD/Makefile b/NPLib/GASPARD/Makefile
index dba1fa580d6d82b5a667e36e69430cab2df2ea5f..bcce823ee5c8ca067817dadd009b99b419a9ce04 100644
--- a/NPLib/GASPARD/Makefile
+++ b/NPLib/GASPARD/Makefile
@@ -1,4 +1,4 @@
-include ../base_Makefile
+include ../Makefile.arch
  
 #------------------------------------------------------------------------------
 SHARELIB      =  libGaspardData.so	\
diff --git a/NPLib/IORoot/Makefile b/NPLib/IORoot/Makefile
index 1884d7d8b7d43ecf497e4c56dcbc84a2d37ac9bb..dac9cbe99cb3ae3c45493044f7a4ada69f66ad22 100644
--- a/NPLib/IORoot/Makefile
+++ b/NPLib/IORoot/Makefile
@@ -1,4 +1,4 @@
-include ../base_Makefile
+include ../Makefile.arch
  
 #------------------------------------------------------------------------------
 SHARELIB      =  libIORoot.so 
diff --git a/NPLib/InitialConditions/Makefile b/NPLib/InitialConditions/Makefile
index ccf052580ea34b2ea1be8570968731ec4c81be6e..520d4b712467de8f3b65f0088e5cbf094e873497 100644
--- a/NPLib/InitialConditions/Makefile
+++ b/NPLib/InitialConditions/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 ../Makefile.arch
 
-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
- 
 #------------------------------------------------------------------------------
 SHARELIB      = libInitialConditions.so
 all:            $(SHARELIB)
diff --git a/NPLib/InteractionCoordinates/Makefile b/NPLib/InteractionCoordinates/Makefile
index 767f42184a8040d17ebc43e71804124d89a63903..68420209c44a6dcc621aa2dc8046de14e627e419 100644
--- a/NPLib/InteractionCoordinates/Makefile
+++ b/NPLib/InteractionCoordinates/Makefile
@@ -1,4 +1,4 @@
-include ../base_Makefile
+include ../Makefile.arch
  
 #------------------------------------------------------------------------------
 SHARELIB      = libInteractionCoordinates.so
diff --git a/NPLib/MUST2/Makefile b/NPLib/MUST2/Makefile
index 2717c1641fed3b935ec0a4e17633d15172192db8..8bcd291e5205af7038666405d6b0f3c2651caf8c 100644
--- a/NPLib/MUST2/Makefile
+++ b/NPLib/MUST2/Makefile
@@ -1,4 +1,4 @@
-include ../base_Makefile
+include ../Makefile.arch
 
 #------------------------------------------------------------------------------
 SHARELIB      =  libMust2Data.so	libMust2Physics.so
diff --git a/NPLib/Makefile b/NPLib/Makefile
index 290a20b2bdacebdc289a6987d90db514d124ac5e..f485a6a30d943c384be7656e65f9a252d5ee6e32 100644
--- a/NPLib/Makefile
+++ b/NPLib/Makefile
@@ -1,5 +1,5 @@
+include Makefile.arch
 
-include base_Makefile
 #------------------------------------------------------------------------------
 SHARELIB	= SharedLib
 FILLINC		= FillIncludeDir
diff --git a/NPLib/base_Makefile b/NPLib/Makefile.arch
similarity index 100%
rename from NPLib/base_Makefile
rename to NPLib/Makefile.arch
diff --git a/NPLib/Paris/Makefile b/NPLib/Paris/Makefile
index 4eb407a8522377b55eb83626ed1956eafb835074..60015139b4d133f19ad59149794a38c3b6a5f2c0 100644
--- a/NPLib/Paris/Makefile
+++ b/NPLib/Paris/Makefile
@@ -1,4 +1,4 @@
-include ../base_Makefile
+include ../Makefile.arch
  
 #------------------------------------------------------------------------------
 SHARELIB      =  libParisData.so	libParisPhysics.so 
diff --git a/NPLib/Plastic/Makefile b/NPLib/Plastic/Makefile
index 1d21b1a8c7eb2b24d8c9f22d6481bb246cbd6f26..3a25aae74070746e2ce616c6f6540dca967b671f 100644
--- a/NPLib/Plastic/Makefile
+++ b/NPLib/Plastic/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 ../Makefile.arch
 
-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
- 
 #------------------------------------------------------------------------------
 SHARELIB      =  libPlasticData.so libPlasticPhysics.so
 
diff --git a/NPLib/SSSD/Makefile b/NPLib/SSSD/Makefile
index 66a476edac7b417385cf16c50ec73954f5b0fe29..b83aae994ca612d933a837c45e3cde60e43f44f8 100755
--- a/NPLib/SSSD/Makefile
+++ b/NPLib/SSSD/Makefile
@@ -1,4 +1,4 @@
-include ../base_Makefile
+include ../Makefile.arch
  
 #------------------------------------------------------------------------------
 SHARELIB      =  libSSSDData.so libSSSDPhysics.so
diff --git a/NPLib/Shield/Makefile b/NPLib/Shield/Makefile
index 2d3499be08d530717064c9df5e0ed25c3a099fcd..e37820f89e52951332539ed8a805ed2ac49b141a 100644
--- a/NPLib/Shield/Makefile
+++ b/NPLib/Shield/Makefile
@@ -1,4 +1,4 @@
-include ../base_Makefile
+include ../Makefile.arch
 
 #------------------------------------------------------------------------------
 SHARELIB      =  libShieldData.so 	libShieldPhysics.so
diff --git a/NPLib/Tools/Makefile b/NPLib/Tools/Makefile
index 34a85363605140a8ac977d554dbfb3c8c6ec4804..862941b7358222a885662145840d55d3b7b37d61 100644
--- a/NPLib/Tools/Makefile
+++ b/NPLib/Tools/Makefile
@@ -1,4 +1,4 @@
-include ../base_Makefile
+include ../Makefile.arch
  
 #------------------------------------------------------------------------------
 SHARELIB      = libReaction.so libEnergyLoss.so libTagManager.so libOptionManager.so
diff --git a/NPLib/VDetector/Makefile b/NPLib/VDetector/Makefile
index 22b7715818ca895b5de1e80d88e34bd832eb3d1f..79cc114e76a8237121c82b2e242e45caab953e00 100644
--- a/NPLib/VDetector/Makefile
+++ b/NPLib/VDetector/Makefile
@@ -1,4 +1,4 @@
-include ../base_Makefile
+include ../Makefile.arch
  
 #------------------------------------------------------------------------------
 SHARELIB      =  libVDetector.so libDetectorManager.so
diff --git a/NPLib/W1/Makefile b/NPLib/W1/Makefile
index 36a433c29a30b046e0f80e3a1868e71b3dadd1a0..a688c7cdd6d5b1b9e7fa6df3968810df6bfd0502 100644
--- a/NPLib/W1/Makefile
+++ b/NPLib/W1/Makefile
@@ -1,4 +1,4 @@
-include ../base_Makefile
+include ../Makefile.arch
  
 #------------------------------------------------------------------------------
 SHARELIB      =  libW1Data.so libW1Physics.so