]> git.uio.no Git - u/mrichter/AliRoot.git/blame - TGeant4/Makefile
added tcsh UI
[u/mrichter/AliRoot.git] / TGeant4 / Makefile
CommitLineData
2817d3e2 1# $Id$
2
3############################### TGeant4 Makefile ###############################
4
5# Include Geant4 specific definitions
6
7include $(G4INSTALL)/config/architecture.gmk
8
9# Include machine specific definitions
10
11include $(ALICE_ROOT)/conf/GeneralDef
12include $(ALICE_ROOT)/conf/MachineDef.$(ALICE_TARGET)
13
14# Include Alice Geant4 specific definitions
15
16include $(ALICE_ROOT)/conf/Geant4.gmk
17
18PACKAGE = TGeant4
19
20# C++ sources
21
22SRCS = $(wildcard *.cxx)
23
24# C++ Headers
25
26HDRS = $(wildcard *.icc) $(wildcard *.h)
27
28# Library Root dictionary
29# only for selected classes
56a00aec 30# (temporarily excluded for OSF1 due to compilation errors)
2817d3e2 31
56a00aec 32ifneq ($(ALICE_TARGET),OSF1)
2817d3e2 33DICT = TGeant4Cint.cxx
466ac87b 34DICTH = TGeant4.h TG4VRunConfiguration.h \
f4cc04ae 35 TG4Editor.h TG4MainFrame.h TG4GeometryGUI.h TG4GuiVolume.h \
100477b0 36 TG4MaterialsFrames.h TG4VolumesFrames.h TG4ListTreeFrame.h \
466ac87b 37 TGeant4LinkDef.h
2817d3e2 38DICTO = $(patsubst %.cxx,tgt_$(ALICE_TARGET)/%.o,$(DICT))
56a00aec 39endif
2817d3e2 40
41# C++ Objects
42
43OBJS = $(patsubst %.cxx,tgt_$(ALICE_TARGET)/%.o,$(SRCS)) $(DICTO)
44
45# C++ compilation flags
46
47CXXFLAGS = $(CXXOPTS) -I$(ROOTSYS)/include -I. -I$(ALICE_ROOT)/include/
48
49
50##### TARGETS #####
51
52# Target
53
54SLIBRARY = $(LIBDIR)/libTGeant4.$(SL)
56a00aec 55ALIBRARY = $(LIBDIR)/libTGeant4.a
2817d3e2 56
57default: $(SLIBRARY)
58
59$(LIBDIR)/libTGeant4.$(SL): $(OBJS)
56a00aec 60$(LIBDIR)/libTGeant4.a: $(OBJS)
2817d3e2 61
62$(DICT): $(DICTH)
63
64depend: $(SRCS)
65
2f5a2f2d 66clean: macroclean
67
2817d3e2 68#HEADERS = $(filter-out %LinkDef.h,$(HDRS))
69
70TOCLEAN = $(OBJS) *Cint.cxx *Cint.h
71
72CHECKS = $(patsubst %.cxx,check/%.viol,$(SRCS))
73
74############################### General Macros ################################
75
76include $(ALICE_ROOT)/conf/GeneralMacros
77
2817d3e2 78# Geant4 specific compiler flags
79
80CXXFLAGS += $(CPPFLAGS)
81
75777b5a 82# Remove optimisation for TG4PhysicsConstructorHadron
83
84ifeq ($(ALICE_TARGET),Linux)
85 COMPILER := $(shell g++ -v 2>&1 | grep version | grep egcs)
86 ifeq ($(findstring 1.1,$(COMPILER)),1.1)
87 CXXFLAGS_WITHOUT_O := $(filter-out -O% -Wuninitialized, $(CXXFLAGS))
88 tgt_$(ALICE_TARGET)/TG4PhysicsConstructorHadron.o : TG4PhysicsConstructorHadron.cxx
89 ifeq ($(CXXVERBOSE),)
90 @$(CXX) $(CXXFLAGS_WITHOUT_O) -c -o $@ TG4PhysicsConstructorHadron.cxx
91 else
92 $(CXX) $(CXXFLAGS_WITHOUT_O) -c -o $@ TG4PhysicsConstructorHadron.cxx
93 endif
94 endif
95endif
96
97ifeq ($(ALICE_TARGET),HP-UX.aCC)
98 # remove optimisation for TG4PhysicsConstructorHadron
99 # to be tested
100 COMPILER := $(shell aCC -V 2>&1)
101 ifeq ($(COMPILER), aCC: HP ANSI C++ B3910B A.01.15)
102 CXXFLAGS_WITHOUT_O := $(filter-out -O% , $(CXXFLAGS))
103 CXXFLAGS_WITHOUT_O := $(filter-out +O% , $(CXXFLAGS_WITHOUT_O))
104 tgt_$(ALICE_TARGET)/TG4PhysicsConstructorHadron.o : TG4PhysicsConstructorHadron.cxx
105 ifeq ($(CXXVERBOSE),)
106 @$(CXX) $(CXXFLAGS_WITHOUT_O) -c $*.cxx -o tgt_$(ALICE_TARGET)/$*.o
107 else
108 $(CXX) $(CXXFLAGS_WITHOUT_O) -c $*.cxx -o tgt_$(ALICE_TARGET)/$*.o
109 endif
110 endif
111endif
112
2817d3e2 113
114############################ Dependencies #####################################
115
116-include tgt_$(ALICE_TARGET)/Make-depend