/[PAMELA software]/chewbacca/PamOffLineSW/Make.def
ViewVC logotype

Annotation of /chewbacca/PamOffLineSW/Make.def

Parent Directory Parent Directory | Revision Log Revision Log


Revision 1.3 - (hide annotations) (download)
Tue Aug 4 13:58:08 2009 UTC (15 years, 4 months ago) by mocchiut
Branch: MAIN
Changes since 1.2: +4 -0 lines
Changed to work with GCC 4.x (gfortran) + ROOT >= 5.24

1 mocchiut 1.1 ###############################################################################
2     #
3     # FILE NAME: Make.def
4     # VERSION: 1.2
5     # AUTHOR: Nergal S.r.l.
6     # DATE: 2007-03-14
7     #
8     # DESCRIPTION: base Makefile
9     #
10     # REVISION HISTORY:
11     #
12     # Version Date Author Change Description
13     #
14     ###############################################################################
15    
16     #------------------------------------------------------------------------------
17     # default settings
18     #------------------------------------------------------------------------------
19    
20     ifndef BASEDIR
21     BASEDIR =$(shell pwd)
22     endif
23    
24     ifdef release
25     debug = 0
26     release = 1
27     endif
28    
29     ifndef release
30     debug = 1
31     release = 0
32     endif
33    
34    
35     CC = gcc
36     CXX = g++
37 mocchiut 1.3 ifeq ($(GCC4),1)
38     F77 = gfortran
39     else
40 mocchiut 1.1 F77 = g77
41 mocchiut 1.3 endif
42 mocchiut 1.1 AR = ar
43     AS = as
44     CXXLD = g++
45     OC = cp
46     ROOT_DIR = $(ROOTSYS)
47     ROOT_LIB = $(ROOTSYS)/lib
48     ROOTCINT = $(ROOTSYS)/bin/rootcint
49    
50     SHELL = /bin/bash
51     MAKE = /usr/bin/make BASEDIR=$(BASEDIR)
52    
53     .PHONY : clean help var
54    
55     #------------------------------------------------------------------------------
56     # default compiler, assembler & linker FLAGS
57     #------------------------------------------------------------------------------
58    
59    
60     #CFLAGS += -Wall
61     CFLAGS += -Wall -shared
62     FFLAGS += -O0
63     LDFLAGS +=
64    
65     #------------------------------------------------------------------------------
66     # optimization FLAG
67     #------------------------------------------------------------------------------
68    
69     OPT_FLAG = -O3
70    
71     #------------------------------------------------------------------------------
72     # object's directories, FLAGS & libs extensions for release & debug version
73     #------------------------------------------------------------------------------
74    
75     OBJDIR_D = obj/debug
76     OBJDIR_R = obj/release
77    
78     ifeq ("1", "$(debug)")
79     CFLAGS += -g $(OPT_FLAG) -DDEBUG
80     OBJDIR = obj/debug
81     endif
82    
83     ifeq ("1", "$(release)")
84     CFLAGS += $(OPT_FLAG)
85     OBJDIR = obj/release
86     endif
87    
88     #------------------------------------------------------------------------------
89     # Objects & Dependencies
90     #------------------------------------------------------------------------------
91    
92     OBJS = \
93     ${FORSRCS:%.for=$(OBJDIR)/%.o} \
94     ${FSRCS:%.f=$(OBJDIR)/%.o} \
95     ${CSRCS:%.c=$(OBJDIR)/%.o} \
96     ${CXXSRCS:%.cpp=$(OBJDIR)/%.o}
97    
98     DEPEND = \
99     ${FORSRCS:%.for=$(OBJDIR)/.%.d} \
100     ${FSRCS:%.f=$(OBJDIR)/.%.d} \
101     ${CSRCS:%.c=$(OBJDIR)/.%.d} \
102     ${CXXSRCS:%.cpp=$(OBJDIR)/.%.d}
103    
104    
105     $(OBJDIR)/.%.d: %.f
106 mocchiut 1.2 ifeq ($(verbose),)
107     @if [ ! -d $(OBJDIR) ]; then mkdir -p $(OBJDIR); fi; \
108     if [ ! -d $(OBJDIR)/$$(/usr/bin/dirname $<) ]; then mkdir -p $(OBJDIR)/$$(/usr/bin/dirname $<) $(OBJDIR)/.$$(/usr/bin/dirname $<) ;fi; \
109     # echo "generating depend infos for $< into $@"; \
110     $(F77) -M $(FFLAGS) $< 2>/dev/null\
111     | sed -e 's%$*.o%$(OBJDIR)/$*.o%g' > $(OBJDIR)/.$*.d
112     else
113 mocchiut 1.1 if [ ! -d $(OBJDIR) ]; then mkdir -p $(OBJDIR); fi; \
114     if [ ! -d $(OBJDIR)/$$(/usr/bin/dirname $<) ]; then mkdir -p $(OBJDIR)/$$(/usr/bin/dirname $<) $(OBJDIR)/.$$(/usr/bin/dirname $<) ;fi; \
115     echo "generating depend infos for $< into $@"; \
116     $(F77) -M $(FFLAGS) $< 2>/dev/null\
117     | sed -e 's%$*.o%$(OBJDIR)/$*.o%g' > $(OBJDIR)/.$*.d
118 mocchiut 1.2 endif
119 mocchiut 1.1
120     $(OBJDIR)/.%.d: %.for
121 mocchiut 1.2 ifeq ($(verbose),)
122     @if [ ! -d $(OBJDIR) ]; then mkdir -p $(OBJDIR); fi; \
123     if [ ! -d $(OBJDIR)/$$(/usr/bin/dirname $<) ]; then mkdir -p $(OBJDIR)/$$(/usr/bin/dirname $<) $(OBJDIR)/.$$(/usr/bin/dirname $<) ;fi; \
124     # echo "generating depend infos for $< into $@"; \
125     $(F77) -M $(FFLAGS) $< 2>/dev/null\
126     | sed -e 's%$*.o%$(OBJDIR)/$*.o%g' > $(OBJDIR)/.$*.d
127     else
128 mocchiut 1.1 if [ ! -d $(OBJDIR) ]; then mkdir -p $(OBJDIR); fi; \
129     if [ ! -d $(OBJDIR)/$$(/usr/bin/dirname $<) ]; then mkdir -p $(OBJDIR)/$$(/usr/bin/dirname $<) $(OBJDIR)/.$$(/usr/bin/dirname $<) ;fi; \
130     echo "generating depend infos for $< into $@"; \
131     $(F77) -M $(FFLAGS) $< 2>/dev/null\
132     | sed -e 's%$*.o%$(OBJDIR)/$*.o%g' > $(OBJDIR)/.$*.d
133 mocchiut 1.2 endif
134 mocchiut 1.1
135     $(OBJDIR)/.%.d: %.c
136 mocchiut 1.2 ifeq ($(verbose),)
137     @if [ ! -d $(OBJDIR) ]; then mkdir -p $(OBJDIR); fi; \
138     if [ ! -d $(OBJDIR)/$$(/usr/bin/dirname $<) ]; then mkdir -p $(OBJDIR)/$$(/usr/bin/dirname $<) $(OBJDIR)/.$$(/usr/bin/dirname $<) ;fi; \
139     # echo "generating depend infos for $< into $@"; \
140     $(CC) -M $(CFLAGS) $< 2>/dev/null\
141     | sed -e 's%$*.o%$(OBJDIR)/$*.o%g' > $(OBJDIR)/.$*.d
142     else
143 mocchiut 1.1 if [ ! -d $(OBJDIR) ]; then mkdir -p $(OBJDIR); fi; \
144     if [ ! -d $(OBJDIR)/$$(/usr/bin/dirname $<) ]; then mkdir -p $(OBJDIR)/$$(/usr/bin/dirname $<) $(OBJDIR)/.$$(/usr/bin/dirname $<) ;fi; \
145     echo "generating depend infos for $< into $@"; \
146     $(CC) -M $(CFLAGS) $< 2>/dev/null\
147     | sed -e 's%$*.o%$(OBJDIR)/$*.o%g' > $(OBJDIR)/.$*.d
148 mocchiut 1.2 endif
149 mocchiut 1.1
150     $(OBJDIR)/.%.d: %.cpp
151 mocchiut 1.2 ifeq ($(verbose),)
152     @if [ ! -d $(OBJDIR) ]; then mkdir -p $(OBJDIR); fi; \
153     if [ ! -d $(OBJDIR)/$$(/usr/bin/dirname $<) ]; then mkdir -p $(OBJDIR)/$$(/usr/bin/dirname $<) $(OBJDIR)/.$$(/usr/bin/dirname $<) ;fi; \
154     # echo "generating depend infos for $< into $@"; \
155     $(CXX) -M $(CFLAGS) $< 2>/dev/null\
156     | sed -e 's%$*.o%$(OBJDIR)/$*.o%g' > $(OBJDIR)/.$*.d
157     else
158 mocchiut 1.1 if [ ! -d $(OBJDIR) ]; then mkdir -p $(OBJDIR); fi; \
159     if [ ! -d $(OBJDIR)/$$(/usr/bin/dirname $<) ]; then mkdir -p $(OBJDIR)/$$(/usr/bin/dirname $<) $(OBJDIR)/.$$(/usr/bin/dirname $<) ;fi; \
160     echo "generating depend infos for $< into $@"; \
161     $(CXX) -M $(CFLAGS) $< 2>/dev/null\
162     | sed -e 's%$*.o%$(OBJDIR)/$*.o%g' > $(OBJDIR)/.$*.d
163 mocchiut 1.2 endif
164 mocchiut 1.1
165     $(OBJDIR)/%.o: %.for
166 mocchiut 1.2 ifeq ($(verbose),)
167     @if [ ! -d $(OBJDIR) ]; then mkdir -p $(OBJDIR); fi; \
168     $(F77) -c $(FFLAGS) -o $@ $<
169     else
170 mocchiut 1.1 if [ ! -d $(OBJDIR) ]; then mkdir -p $(OBJDIR); fi; \
171     $(F77) -c $(FFLAGS) -o $@ $<
172 mocchiut 1.2 endif
173 mocchiut 1.1
174     $(OBJDIR)/%.o: %.f
175 mocchiut 1.2 ifeq ($(verbose),)
176     @if [ ! -d $(OBJDIR) ]; then mkdir -p $(OBJDIR); fi; \
177     $(F77) -c $(FFLAGS) -o $@ $<
178     else
179 mocchiut 1.1 if [ ! -d $(OBJDIR) ]; then mkdir -p $(OBJDIR); fi; \
180     $(F77) -c $(FFLAGS) -o $@ $<
181 mocchiut 1.2 endif
182 mocchiut 1.1
183     $(OBJDIR)/%.o: %.c
184 mocchiut 1.2 ifeq ($(verbose),)
185     @if [ ! -d $(OBJDIR) ]; then mkdir -p $(OBJDIR); fi; \
186     $(CC) -c $(CFLAGS) -o $@ $<
187     else
188 mocchiut 1.1 if [ ! -d $(OBJDIR) ]; then mkdir -p $(OBJDIR); fi; \
189     $(CC) -c $(CFLAGS) -o $@ $<
190 mocchiut 1.2 endif
191 mocchiut 1.1
192     $(OBJDIR)/%.o: %.cpp
193 mocchiut 1.2 ifeq ($(verbose),)
194     @if [ ! -d $(OBJDIR) ]; then mkdir -p $(OBJDIR); fi; \
195     $(CXX) -c $(CFLAGS) -o $@ $<
196     else
197 mocchiut 1.1 if [ ! -d $(OBJDIR) ]; then mkdir -p $(OBJDIR); fi; \
198     $(CXX) -c $(CFLAGS) -o $@ $<
199 mocchiut 1.2 endif
200 mocchiut 1.1
201     #------------------------------------------------------------------------------
202     # General directory structure, includes, objects
203     #------------------------------------------------------------------------------
204    
205     PAMOFF_DIR = $(BASEDIR)/PamOffLineSW
206     EVENT_DIR = $(BASEDIR)/event
207    
208     FORROU_DIR = $(PAMOFF_DIR)/forroutines
209     TRAK_DIR = $(FORROU_DIR)/tracker
210     RRAW_DIR = $(TRAK_DIR)/readraw
211     ACTR_DIR = $(FORROU_DIR)/anticounter
212     CALO_DIR = $(FORROU_DIR)/calorimeter
213     TOF_DIR = $(FORROU_DIR)/tof
214     TRGR_DIR = $(FORROU_DIR)/trigger
215    
216     FORROUEXTDIR = $(TRAK_DIR) $(RRAW_DIR) $(ACTR_DIR) $(CALO_DIR) $(TOF_DIR) $(TRGR_DIR)
217    
218     PHYS_DIR = $(PAMOFF_DIR)/physics
219     TECH_DIR = $(PAMOFF_DIR)/techmodel
220    
221     EXTDIR = $(PHYS_DIR) $(TECH_DIR) $(FORROU_DIR)
222    
223     #------------------------------------------------------------------------------
224    
225     ROOT_DIR_INC = $(ROOT_DIR)/include
226    
227     FORROU_DIR_INC = $(FORROU_DIR)/include
228     RRAW_DIR_INC = $(RRAW_DIR)/include
229     TRAK_DIR_INC = $(TRAK_DIR)/include
230     ACTR_DIR_INC = $(ACTR_DIR)/include
231     CALO_DIR_INC = $(CALO_DIR)/include
232     TOF_DIR_INC = $(TOF_DIR)/include
233     TRGR_DIR_INC = $(TRGR_DIR)/include
234    
235     PHYS_DIR_INC = $(PHYS_DIR)/include
236     TECH_DIR_INC = $(TECH_DIR)/include
237    
238     #------------------------------------------------------------------------------
239    
240     FORROU_OBJ = $(FORROU_DIR)/$(OBJDIR)
241     RRAW_OBJ = $(RRAW_DIR)/$(OBJDIR)
242     TRAK_OBJ = $(TRAK_DIR)/$(OBJDIR)
243     ACTR_OBJ = $(ACTR_DIR)/$(OBJDIR)
244     CALO_OBJ = $(CALO_DIR)/$(OBJDIR)
245     TOF_OBJ = $(TOF_DIR)/$(OBJDIR)
246     TRGR_OBJ = $(TRGR_DIR)/$(OBJDIR)
247    
248     PHYS_OBJ = $(PHYS_DIR)/$(OBJDIR)
249     TECH_OBJ = $(TECH_DIR)/$(OBJDIR)
250     PAMOFF_OBJ = $(PAMOFF_DIR)/$(OBJDIR)
251    
252    
253     #------------------------------------------------------------------------------
254     # Built libraries
255     #------------------------------------------------------------------------------
256    
257     FORROU_A = $(FORROU_OBJ)/libforrou.a
258     FORROUINT_A = $(FORROU_OBJ)/libforrouinternal.a
259     RRAW_A = $(RRAW_OBJ)/libforreadraw.a
260     TRAK_A = $(RRAW_OBJ)/libfortracker.a
261     ACTR_A = $(ACTR_OBJ)/libanticounter.a
262     CALO_A = $(CALO_OBJ)/libforcalor.a
263     TOF_A = $(TOF_OBJ)/libfortof.a
264     TRGR_A = $(TRGR_OBJ)/libfortrigger.a
265    
266     FORROUEXTLIB = $(RRAW_A) $(TRAK_A) $(ACTR_A) $(CALO_A) $(TOF_A) $(TRGR_A)
267    
268     PHYS_A = $(PHYS_OBJ)/libdevreaders.a
269     TECH_A = $(TECH_OBJ)/libtechmodel.a
270     PAMOFF_A = $(PAMOFF_OBJ)/libpamoff.a
271    
272     EXTLIB = $(TECH_A) $(PHYS_A) $(FORROU_A)

  ViewVC Help
Powered by ViewVC 1.1.23