# Makefile for the TTM delayplots program # # customized from $ROOTSYS/test/Makefile example TTROOT = /ncc/ttpro BINDIR = /ncc/ttpro/bin/$(shell uname -s) LIBDIR = /ncc/ttpro/lib/$(shell uname -s) ARCH = solaris CXX = ObjSuf = o SrcSuf = cxx ExeSuf = DllSuf = so OutPutOpt = -o ROOTCFLAGS := $(shell root-config --cflags) -I$(TTROOT)/include ROOTLIBS := $(shell root-config --libs) ROOTGLIBS := $(shell root-config --glibs) ifeq ($(ARCH),hpux) # HP-UX with CC CXX = CC CXXFLAGS = -O +Z LD = CC LDFLAGS = -O +a1 -z SOFLAGS = -b DllSuf = sl endif ifeq ($(ARCH),hpuxacc) # HP-UX 10.x with aCC CXX = aCC CXXFLAGS = -O +Z LD = aCC LDFLAGS = -O -z SOFLAGS = -b endif ifeq ($(ARCH),hpuxegcs) # HP-UX 10.x with g++ CXXFLAGS = -O -fPIC CXX = g++ LD = g++ LDFLAGS = -O SOFLAGS = -fPIC -shared endif ifeq ($(ARCH),aix) # IBM AIX CXX = xlC CXXFLAGS = -O LD = xlC LDFLAGS = -O SOFLAGS = endif ifeq ($(ARCH),aixegcs) # IBM AIX with GCC CXX = g++ CXXFLAGS = -O LD = g++ LDFLAGS = -O SOFLAGS = -shared endif ifeq ($(ARCH),solaris) # Solaris CC CXX = /opt/SUNWspro/bin/CC CXXFLAGS = -O -KPIC CXXFLAGS = -O -KPIC -compat=4 LD = /opt/SUNWspro/bin/CC LDFLAGS = -O LDFLAGS = -O -compat=4 SOFLAGS = -G endif ifeq ($(ARCH),solarisCC5) # Solaris CC 5.0 CXX = CC CXXFLAGS = -O -KPIC -D__SunOS_5_6 -library=iostream,no%Cstd LD = CC LDFLAGS = -O -library=iostream,no%Cstd -o SOFLAGS = -G endif ifeq ($(ARCH),solarisegcs) # Solaris egcs CXX = g++ CXXFLAGS = -O -fPIC LD = CC LDFLAGS = -O SOFLAGS = -shared endif ifeq ($(ARCH),solarisgcc) # Solaris gcc CXX = g++ CXXFLAGS = -O -fPIC LD = g++ LDFLAGS = -O SOFLAGS = -shared endif ifeq ($(ARCH),solariskcc) # Solaris kcc CXX = KCC CXXFLAGS = -O4 -KPIC LD = KCC LDFLAGS = -O4 SOFLAGS = endif ifeq ($(ARCH),solarisx86) # Solaris CC on Intel CXX = CC CXXFLAGS = -O -KPIC LD = CC LDFLAGS = -O SOFLAGS = -G endif ifeq ($(ARCH),sgicc) # SGI CXX = CC -n32 -I/usr/include/CC.sgi CXXFLAGS = -O LD = CC -n32 -I/usr/include/CC.sgi LDFLAGS = -O SOFLAGS = -shared endif ifeq ($(ARCH),sgiegcs) # SGI 6.x with EGCS CXX = g++ CXXFLAGS = -O -Wall -fPIC LD = g++ LDFLAGS = -O -Wl,-u,__builtin_new -Wl,-u,__builtin_delete -Wl,-u,__nw__FUiPv SOFLAGS = -shared endif ifeq ($(ARCH),sgin32egcs) # SGI 6.x with EGCS for n32 ABI CXX = g++ CXXFLAGS = -O -Wall -fPIC LD = g++ LDFLAGS = -O -L/usr/lib32 -Wl,-woff,134 SOFLAGS = -shared endif ifeq ($(ARCH),sgigcc) # SGI with GCC CXX = g++ CXXFLAGS = -O -Wall -fPIC LD = g++ LDFLAGS = -O -Wl,-u,__builtin_new -Wl,-u,__builtin_delete -Wl,-u,__nw__FUiPv SOFLAGS = -shared endif ifeq ($(ARCH),sgikcc) # SGI with KCC CXX = KCC -n32 --no_exceptions CXXFLAGS = -O LD = KCC -n32 --no_exceptions LDFLAGS = -O SOFLAGS = endif ifeq ($(ARCH),alphagcc) # Alpha/OSF with g++ CXX = g++ CXXFLAGS = -O -Wall -fPIC LD = g++ LDFLAGS = -O SOFLAGS = -Wl,-expect_unresolved,* -shared endif ifeq ($(ARCH),alphaegcs) # Alpha/OSF with egcs CXX = g++ CXXFLAGS = -O -Wall -fPIC LD = g++ LDFLAGS = -O SOFLAGS = -Wl,-expect_unresolved,* -shared endif ifeq ($(ARCH),alphakcc) # Alpha/OSF with kai compiler (not yet valid) CXX = g++ CXXFLAGS = -O -fPIC LD = g++ LDFLAGS = -O SOFLAGS = -Wl,-expect_unresolved,* -shared endif ifeq ($(ARCH),alphacxx6) # Alpha/OSF with cxx6 CXX = cxx CXXFLAGS = -O0 LD = cxx LDFLAGS = -O SOFLAGS = -Wl,-expect_unresolved,* -shared endif ifeq ($(ARCH),alphacxx) # Alpha/OSF with cxx5 CXX = cxx CXXFLAGS = -O LD = cxx LDFLAGS = -O SOFLAGS = -Wl,-expect_unresolved,* -call_shared endif ifeq ($(ARCH),linux) # Linux with gcc 2.7.2.x CXX = g++ CXXFLAGS = -O -Wall -fPIC LD = g++ LDFLAGS = -O SOFLAGS = -shared endif ifeq ($(ARCH),linuxrh42) # Linux with gcc 2.7.2.x (RedHat 4.2) CXX = g++ CXXFLAGS = -O -Wall -fPIC LD = g++ LDFLAGS = -O SOFLAGS = -shared endif ifeq ($(ARCH),linuxdeb) # Linux with gcc 2.7.2.x CXX = g++ CXXFLAGS = -O -Wall -fPIC LD = g++ LDFLAGS = -O SOFLAGS = -shared endif ifeq ($(ARCH),linuxdeb2) # Linux with gcc 2.7.2.x CXX = g++ CXXFLAGS = -O -Wall -fPIC LD = g++ LDFLAGS = -O SOFLAGS = -shared endif ifeq ($(ARCH),linuxsuse6) # Linux with gcc 2.7.2.x CXX = g++ CXXFLAGS = -O -Wall -fPIC LD = g++ LDFLAGS = -O SOFLAGS = -shared endif ifeq ($(ARCH),linuxegcs) # Linux with egcs (>= RedHat 5.2) CXX = g++ CXXFLAGS = -O -Wall -fPIC LD = g++ LDFLAGS = -O SOFLAGS = -shared endif ifeq ($(ARCH),linuxkcc) # Linux with the KAI compiler CXX = KCC CXXFLAGS = -fPIC +K0 LD = KCC LDFLAGS = -O SOFLAGS = endif ifeq ($(ARCH),linuxppcegcs) # MkLinux with egcs/glibc CXX = g++ CXXFLAGS = -O -Wall -fPIC LD = g++ LDFLAGS = -O SOFLAGS = -shared -Wl,-soname, endif ifeq ($(ARCH),linuxia64gcc) # Itanium Linux with gcc 2.9x CXX = g++ CXXFLAGS = -O -Wall -fPIC LD = g++ LDFLAGS = -O SOFLAGS = -shared endif ifeq ($(ARCH),linuxalphaegcs) # Alpha Linux with egcs CXX = g++ CXXFLAGS = -O -Wall -fPIC LD = g++ LDFLAGS = -O SOFLAGS = -shared endif ifeq ($(ARCH),mklinux) # MkLinux with libc5 CXX = g++ CXXFLAGS = -O -Wall -fPIC LD = g++ LDFLAGS = -O SOFLAGS = -shared -Wl,-soname, endif ifeq ($(ARCH),freebsd) # FreeBSD with libc5 CXX = g++ CXXFLAGS = -O -pipe -W -Wall -fPIC LD = g++ LDFLAGS = -O SOFLAGS = -shared -Wl,-x endif ifeq ($(ARCH),freebsd4) # FreeBSD with glibc CXX = g++ CXXFLAGS = -O -pipe -W -Wall -fPIC LD = g++ LDFLAGS = -O SOFLAGS = -shared -Wl,-x endif ifeq ($(ARCH),hiux) # Hitachi HIUX CXX = g++ CXXFLAGS = -O2 -fPIC LD = g++ LDFLAGS = -Wl,+s SOFLAGS = -Wl,-b,-E -nostdlib -nostartfiles DllSuf = sl endif ifeq ($(ARCH),win32) # Windows with the VC++ compiler ObjSuf = obj SrcSuf = cxx ExeSuf = .exe DllSuf = dll OutPutOpt = -out: CXX = cl CXXOPT = -O2 #CXXOPT = -Z7 CXXFLAGS = $(CXXOPT) -G5 -MD -DWIN32 -D_WINDOWS -nologo \ -DVISUAL_CPLUSPLUS -D_X86_=1 -D_DLL LD = link LDOPT = -opt:ref #LDOPT = -debug LDFLAGS = $(LDOPT) -pdb:none -nologo -nodefaultlib -incremental:no SOFLAGS = -DLL SYSLIBS = msvcrt.lib oldnames.lib kernel32.lib ws2_32.lib mswsock.lib \ advapi32.lib user32.lib gdi32.lib comdlg32.lib winspool.lib \ msvcirt.lib ROOTLIBS := $(shell root-config --nonew --libs) ROOTGLIBS := $(shell root-config --nonew --glibs) endif ifeq ($(CXX),) $(error $(ARCH) invalid architecture) endif CXXFLAGS += $(ROOTCFLAGS) LIBS = $(ROOTLIBS) $(SYSLIBS) GLIBS = $(ROOTGLIBS) $(SYSLIBS) #------------------------------------------------------------------------------ DELAYO = Delay.$(ObjSuf) \ DelayDict.$(ObjSuf) DELAYS = Delay.$(SrcSuf) \ DelayDict.$(SrcSuf) DELAYPLOTS = delayplots$(ExeSuf) DELAYPLOTSO = main.$(ObjSuf) TestBoxConfig.$(ObjSuf) \ TTMDataChain.$(ObjSuf) DelayPlots.$(ObjSuf) \ Percentiles.$(ObjSuf) RoutingInfo.$(ObjSuf) \ getargs.$(ObjSuf) iso8601.$(ObjSuf) DELAYPLOTSS = main.$(SrcSuf) TestBoxConfig.$(SrcSuf) \ TTMDataChain.$(SrcSuf) DelayPlots.$(SrcSuf) \ Percentiles.$(SrcSuf) RoutingInfo.$(SrcSuf) \ getargs.$(SrcSuf) iso8601.$(SrcSuf) DELAYLIB = $(LIBDIR)/libDelay.$(DllSuf) PROGRAMS = $(DELAYPLOTS) OBJS = $(DELAYPLOTSO) #------------------------------------------------------------------------------ .SUFFIXES: .$(SrcSuf) .$(ObjSuf) .$(DllSuf) all: $(PROGRAMS) $(DELAYPLOTS): $(DELAYPLOTSO) $(LD) $(LDFLAGS) $(DELAYPLOTSO) $(DELAYLIB) $(LIBS) \ $(OutPutOpt)$(DELAYPLOTS) @echo "$@ done" clean: @rm -f $(OBJS) core distclean: clean @rm -f $(PROGRAMS) .SUFFIXES: .$(SrcSuf) ### .$(SrcSuf).$(ObjSuf): $(CXX) $(CXXFLAGS) -c $< install: $(PROGRAMS) for i in $(PROGRAMS) ;\ do \ mv -f $(BINDIR)/$${i} $(BINDIR)/$${i}.old ;\ install -c -m 555 $$i $(BINDIR) ;\ done