]>
Commit | Line | Data |
---|---|---|
1 | ############################### GEANT321 Makefile ############################# | |
2 | ||
3 | # Include machine specific definitions | |
4 | ||
5 | include $(ALICE_ROOT)/conf/GeneralDef | |
6 | include $(ALICE_ROOT)/conf/MachineDef.$(ALICE_TARGET) | |
7 | ||
8 | PACKAGE = GEANT321 | |
9 | ||
10 | GDIRS := gbase gcons gdraw geocad ggeom gheisha ghits ghrout ghutils giface \ | |
11 | giopa gkine gparal gphys gscan gstrag gtrak matx55 miface miguti \ | |
12 | neutron peanut fiface cgpack fluka block comad erdecks erpremc | |
13 | ||
14 | XDIRS = gxint cdf | |
15 | ||
16 | # C++ sources | |
17 | ||
18 | SRCS = | |
19 | ##### MACROS ##### | |
20 | ||
21 | GFSRC := $(wildcard $(patsubst %,%/*.F,$(GDIRS))) gcinit.F | |
22 | GFSRC := $(filter-out gtrak/grndm%.F,$(GFSRC)) | |
23 | GCSRC := $(wildcard $(patsubst %,%/*.c,$(GDIRS))) | |
24 | GCXXSRC := $(wildcard $(patsubst %,%/*.cxx,$(GDIRS))) | |
25 | ||
26 | GSRC = $(GFSRC) $(GCSRC) | |
27 | GFOBJ = $(patsubst %.F,tgt_$(ALICE_TARGET)/%.o,$(GFSRC)) | |
28 | GCOBJ = $(patsubst %.c,tgt_$(ALICE_TARGET)/%.o,$(GCSRC)) | |
29 | GCXXOBJ = $(patsubst %.cxx,tgt_$(ALICE_TARGET)/%.o,$(GCXXSRC)) | |
30 | GOBJ = $(GFOBJ) $(GCOBJ) $(GCXXOBJ) | |
31 | ||
32 | XFSRC = $(wildcard $(patsubst %,%/*.F,$(XDIRS))) | |
33 | XCSRC = $(wildcard $(patsubst %,%/*.c,$(XDIRS))) | |
34 | ||
35 | XSRC = $(XFSRC) $(XCSRC) $(XCXXSRC) | |
36 | XFOBJ = $(patsubst %.F,tgt_$(ALICE_TARGET)/%.o,$(XFSRC)) | |
37 | XCOBJ = $(patsubst %.c,tgt_$(ALICE_TARGET)/%.o,$(XCSRC)) | |
38 | XOBJ = $(XFOBJ) $(XCOBJ) $(XCXXOBJ) | |
39 | ||
40 | SRCS = $(GSRC) $(XSRC) | |
41 | OBJS = $(GOBJ) $(XOBJ) | |
42 | ||
43 | # Global Macros | |
44 | ||
45 | ALLSRCS = $(SRCS) $(HDRS) $(FSRCS) $(CSRCS) $(DICT) | |
46 | ALLOBJS = $(OBJS) $(FOBJS) $(COBJS) $(DICTO) | |
47 | ||
48 | # C++ compilation flags | |
49 | ||
50 | CXXFLAGS := $(CXXOPTS) $(CLIBCXXOPTS) $(CLIBDEFS) -I. | |
51 | CXXFLAGS := $(filter-out -O%,$(CXXFLAGS)) | |
52 | ||
53 | # C compilation flags | |
54 | ||
55 | CFLAGS := $(COPT) $(CLIBCOPT) $(CLIBDEFS) -I. | |
56 | ||
57 | # FORTRAN compilation flags | |
58 | ||
59 | FFLAGS := $(FOPT) $(CLIBFOPT) $(CLIBDEFS) -I. | |
60 | ifeq ($(PLATFORM),linux) | |
61 | FFLAGS := $(filter-out -O%,$(FFLAGS)) | |
62 | endif | |
63 | ||
64 | ##### TARGETS ##### | |
65 | ||
66 | # Target | |
67 | ||
68 | SLIBRARY = $(LIBDIR)/libgeant321.$(SL) $(LIBDIR)/libgxint321.$(SL) | |
69 | ALIBRARY = $(LIBDIR)/libgeant321.a $(LIBDIR)/libgxint321.a | |
70 | ||
71 | ifeq ($(PLATFORM),alpha) | |
72 | default: $(ALIBRARY) | |
73 | else | |
74 | default: $(SLIBRARY) | |
75 | endif | |
76 | ||
77 | $(LIBDIR)/libgeant321.$(SL) $(LIBDIR)/libgeant321.a: $(GOBJ) | |
78 | $(LIBDIR)/libgxint321.$(SL) $(LIBDIR)/libgxint321.$(SL): $(XOBJ) | |
79 | ||
80 | depend: $(SRCS) | |
81 | ||
82 | TOCLEAN = $(GOBJ) $(XOBJ) | |
83 | ||
84 | ############################### General Macros ################################ | |
85 | ||
86 | include $(ALICE_ROOT)/conf/GeneralMacros | |
87 | ||
88 | ############################ Dependencies ##################################### | |
89 | ||
90 | -include tgt_$(ALICE_TARGET)/Make-depend |