/[PAMELA software]/tracker/ground/Makefile
ViewVC logotype

Annotation of /tracker/ground/Makefile

Parent Directory Parent Directory | Revision Log Revision Log


Revision 1.1 - (hide annotations) (download)
Wed Mar 8 15:00:36 2006 UTC (18 years, 8 months ago) by pam-fi
Branch: MAIN
Branch point for: trk-ground
Initial revision

1 pam-fi 1.1 #---------------------------------------------------------------------------
2     #
3     # Makefile for a Linux System:
4     # use GNU FORTRAN compiler g77
5     # Makefile done for tracker dara
6     #
7     #---------------------------------------------------------------------------
8     #
9     # FC Fortran compiler for standard rules
10     # FFLAGS Fortran flags for standard rules
11     # CC C Compiler for standard rules
12     # CFLAGS C compiler flags for standard rules
13     #
14     # Compiler: g77
15     # Flags:-g (enable debug)
16     # -Wall (turn on all warnings)
17     # -fno-automatic (force compiler to use static variables)
18     # -fvxt (use VAXish extensions)
19     #
20    
21     # Fortran flags
22     FC=g77
23     FFLAGS=-fvxt -fno-automatic -Wall -Wno-globals -fbounds-check# -O2
24     # puo' essere tolto con cautela:
25     # impedisce di far vedere gli warning di HBNAME
26    
27     # C flags
28     CC=gcc
29     CFLAGS=-Wall -O2
30     CFLADJ=-c
31    
32     # used libraries
33     #LIBS=-L/cern/pro/lib -lkernlib -lpacklib -lgraflib -lmathlib -lnsl
34     LIBS= `cernlib kernlib packlib graflib mathlib`
35    
36     #---------------------------------------------------------------------------
37    
38     LIBDIR=./lib
39     SRCDIR=./source
40     PARDIR=$(SRCDIR)/parameters
41     BINDIR=./bin
42     AUXDIR=$(BINDIR)/bin-aux
43    
44     BINDIR2003=./bin-2003
45     AUXDIR2003=$(BINDIR2003)/bin-aux
46    
47     usage:
48     @echo ===========================
49     @echo USAGE:
50     @echo
51     @echo For external users:
52     @echo
53     @echo "make all"
54     @echo "make install"
55     @echo
56     @echo
57     @echo Other labels for internal users:
58     @echo
59     @echo "level0.exe"
60     @echo "level1.exe"
61     @echo "level2.exe"
62     @echo "level2-2003.exe"
63     @echo "all (==> level0.exe level1.exe level2.exe lib)"
64     @echo "level2-both (==> level2.exe level2-2003.exe)"
65     @echo "level2-efficiency.exe"
66     @echo "level2-calibration.exe"
67     @echo
68     @echo "install"
69     @echo
70     @echo "lib"
71     @echo
72     @echo "clean0"
73     @echo "clean1"
74     @echo "clean2"
75     @echo "clean2003"
76     @echo "cleanl"
77     @echo "clean (==> clean0 clean1 clean2 cleanl)"
78     @echo "cleant"
79     @echo
80    
81    
82     all: level0.exe level1.exe level2.exe lib
83    
84    
85     FOBJ0= \
86     source/readraw/readraw_subroutines.o \
87     source/readraw/trkunpack.o
88    
89     COBJ0= \
90     source/readraw/findstart.o \
91     source/readraw/hunpacker.o \
92     source/readraw/skipbyte.o \
93     source/readraw/dunpacker.o \
94     source/readraw/readtrailer.o \
95     source/readraw/readped.o \
96     source/readraw/readsig.o \
97     source/readraw/readbad.o \
98     source/readraw/find_cpu_header.o \
99     source/readraw/trkalarmpkt.o \
100     source/readraw/runheaderpkt.o \
101     source/readraw/get_bytes.o \
102     source/readraw/crc.o
103    
104     COMMON0= \
105     source/common/commontracker.f \
106     source/common/common_readraw.f \
107     source/common/level0.f \
108     source/common/calib.f
109    
110     OBJTOF= \
111     source/tof/tofunpack.for \
112     source/tof/graytobin.for \
113     source/tof/tofcrc.cpp
114    
115     OBJTRI= \
116     source/trigger/triggerunpack.for \
117     source/trigger/trigcrc.cpp
118    
119     TOFCOM=source/tof/common_tof.f
120    
121    
122     level0.exe: bindir source/readraw/readraw.f $(FOBJ0) $(COBJ0) $(OBJTOF) $(COMMON0) $(TOFCOM)
123     @echo Creating $(BINDIR)/$@ .....
124     $(FC) $(FFLAGS) -o bin/level0.exe source/readraw/readraw.f $(FOBJ0) $(COBJ0) $(OBJTOF) $(OBJTRI) $(LIBS)
125     @echo $@ DONE!
126     @echo ===========================================================================================
127    
128     FOBJ1= \
129     source/reduction/fillpedsig.o \
130     source/reduction/filladc.o \
131     source/reduction/cncomp.o \
132     source/reduction/cnoise.o \
133     source/reduction/cutcn.o \
134     source/common/access_level0.o \
135     source/common/functions.o
136    
137     COMMON1= \
138     source/common/commontracker.f \
139     source/common/level0.f \
140     source/common/level1.f \
141     source/common/common_reduction.f \
142     source/common/calib.f
143    
144    
145     level1.exe: bindir source/reduction/reduction.f $(FOBJ1) $(COMMON1)
146     @echo Creating $(BINDIR)/$@ .....
147     $(FC) $(FFLAGS) -o bin/level1.exe source/reduction/reduction.f $(FOBJ1) $(LIBS)
148     @echo $@ DONE!
149     @echo ===========================================================================================
150    
151     FOBJ2=\
152     source/common/functions.f \
153     source/analysis/mini_2.f\
154     source/common/readalignparam.f \
155     source/common/functions_pfa.f \
156     source/reduction/fillpedsig.f\
157     source/analysis/tricircle.f \
158     source/analysis/BdL.f
159    
160     FOBJTRK=\
161     source/analysis/grkuta.f \
162     source/magnet/inter_B.f \
163     source/magnet/read_B.f
164    
165    
166     COMMON2=\
167     source/common/commontracker.f \
168     source/common/calib.f \
169     source/common/level1.f \
170     source/common/common_mech.f \
171     source/common/common_level2debug.f \
172     source/common/common_momanhough.f \
173     source/common/momanhough_init.f \
174     source/common/common_xyzPAM.f \
175     source/common/common_align.f \
176     source/common/common_resxy.f \
177     source/common/level2.f \
178     source/common/common_mini_2.f
179    
180     COMMONTRK=\
181     source/common/common_B_inner.f \
182    
183    
184    
185     level2-both: level2.exe level2-2003.exe
186    
187     level2.exe: auxdir source/analysis/momanhough.F $(FOBJ2) $(FOBJTRK) $(COMMON2) $(COMMONTRK) source/common/access_level1.f
188     @echo Creating $(BINDIR)/$@ .....
189     cpp -x f77-cpp-input source/analysis/momanhough.F source/analysis/momanhough.f
190     $(FC) $(FFLAGS) -o bin/level2.exe source/analysis/momanhough.f $(FOBJ2) $(FOBJTRK) source/common/access_level1.f $(LIBS)
191     @rm -f source/analysis/momanhough.f
192     @echo Moving auxiliary files in $(AUXDIR) .....
193     @cp source/parameters/align_param/*.dat $(AUXDIR)/.
194     @cp source/parameters/eta_param/*.dat $(AUXDIR)/.
195     @cp source/parameters/charge_param/*.dat $(AUXDIR)/.
196     @cp source/parameters/field_meas/*.rz $(AUXDIR)/.
197     @cp source/parameters/mip_param/*.dat $(AUXDIR)/.
198     # @cp source/parameters/mech_pos.dat $(AUXDIR)/.
199     @echo $@ DONE!
200     @echo ===========================================================================================
201    
202    
203     level2-2003.exe: auxdir2003 source/analysis/momanhough.F $(FOBJ2) $(FOBJTRK) $(COMMON2) $(COMMONTRK) source/common/access_level1_2003.f
204     @echo Creating $(BINDIR2003)/$@ .....
205     cp -f source/common/level1.f source/common/level1.f-cpu
206     cp -f source/common/level1-2003.f source/common/level1.f
207     cpp -x f77-cpp-input -DTEST2003 source/analysis/momanhough.F source/analysis/momanhough.f
208     $(FC) $(FFLAGS) -o $(BINDIR2003)/level2-2003.exe source/analysis/momanhough.f $(FOBJ2) $(FOBJTRK) source/common/access_level1_2003.f $(LIBS)
209     @rm -f source/analysis/momanhough.f
210     cp -f source/common/level1.f-cpu source/common/level1.f
211     @echo Moving auxiliary files in $(AUXDIR2003) .....
212     @cp source/parameters/align_param-2003/*.dat $(AUXDIR2003)/.
213     @cp source/parameters/eta_param-2003/*.dat $(AUXDIR2003)/.
214     @cp source/parameters/charge_param-2003/*.dat $(AUXDIR2003)/.
215     @cp source/parameters/field_meas/*.rz $(AUXDIR2003)/.
216     @cp source/parameters/mip_param/*.dat $(AUXDIR)/.
217     # @cp source/parameters/mech_pos.dat $(AUXDIR)/.
218     # @cp source/common/level2.f utilities/template/trk_level2.inc
219     @echo $@ DONE!
220     # cp bin/level2-2003.exe $(TRK_BIN)/.
221     @echo ================================================
222    
223     level2-efficiency.exe: auxdir source/analysis/momanhough-efficiency.F $(FOBJ2) $(FOBJTRK) $(COMMON2) $(COMMONTRK) source/common/access_level1.f
224     @echo Creating $(BINDIR)/$@ .....
225     cpp -x f77-cpp-input source/analysis/momanhough-efficiency.F source/analysis/momanhough-efficiency.f
226     $(FC) $(FFLAGS) -o bin/level2-efficiency.exe source/analysis/momanhough-efficiency.f $(FOBJ2) $(FOBJTRK) source/common/access_level1.f $(LIBS)
227     @rm -f source/analysis/momanhough-efficiency.f
228     @echo Moving auxiliary files in $(AUXDIR) .....
229     @cp source/parameters/align_param/*.dat $(AUXDIR)/.
230     @cp source/parameters/eta_param/*.dat $(AUXDIR)/.
231     @cp source/parameters/charge_param/*.dat $(AUXDIR)/.
232     @cp source/parameters/field_meas/*.rz $(AUXDIR)/.
233     @cp source/parameters/mip_param/*.dat $(AUXDIR)/.
234     # @cp source/parameters/mech_pos.dat $(AUXDIR)/.
235     @echo $@ DONE!
236     @echo ===========================================================================================
237    
238     level2-calibration.exe: auxdir source/analysis/momanhough-calibration.F $(FOBJ2) $(FOBJTRK) $(COMMON2) $(COMMONTRK) source/common/access_level1.f source/common/common_calibration.f
239     @echo Creating $(BINDIR)/$@ .....
240     cpp -x f77-cpp-input source/analysis/momanhough-calibration.F source/analysis/momanhough-calibration.f
241     $(FC) $(FFLAGS) -o bin/level2-calibration.exe source/analysis/momanhough-calibration.f $(FOBJ2) $(FOBJTRK) source/common/access_level1.f $(LIBS)
242     @rm -f source/analysis/momanhough-calibration.f
243     @echo Moving auxiliary files in $(AUXDIR) .....
244     @cp source/parameters/align_param/*.dat $(AUXDIR)/.
245     @cp source/parameters/eta_param/*.dat $(AUXDIR)/.
246     @cp source/parameters/charge_param/*.dat $(AUXDIR)/.
247     @cp source/parameters/field_meas/*.rz $(AUXDIR)/.
248     # @cp source/parameters/mech_pos.dat $(AUXDIR)/.
249     @cp source/parameters/mip_param/*.dat $(AUXDIR)/.
250     @cp source/parameters/data-card.dat $(AUXDIR)/.
251     @echo $@ DONE!
252     @echo ===========================================================================================
253    
254    
255    
256     TESTDIR=./run-test
257     UTILDIR=./utilities
258    
259     install:
260     @test -d "$(TRK_BIN)" && (echo "Now moving executable and auxiliary files to the working directory$(TRK_BIN)" ; \
261     cp $(BINDIR)/*.exe $(TRK_BIN)/.; \
262     cp -r $(AUXDIR) $(TRK_BIN)/. ) || (echo "*** NB Tracker working directory not defined !!")
263     @echo "Installing test directory and utilities..."
264     @cp $(BINDIR)/*.exe $(TESTDIR)/.
265     @cp -r $(AUXDIR) $(TESTDIR)/.
266     # @echo "Tar archive with tracker utilities:"
267     # @tar -xvzf track.tar.gz -C $(UTILDIR)/trk-viewer/
268    
269    
270    
271    
272     lib: libdir source/subroutines/track.f $(FOBJTRK) $(COMMONTRK)
273     @echo Creating ./$@ .....
274     g77 $(FFLAGS) -static -c source/subroutines/track.f -o source/subroutines/track.o
275     g77 $(FFLAGS) -static -c source/analysis/grkuta.f -o source/subroutines/grkuta.o
276     g77 $(FFLAGS) -static -c source/magnet/inter_B.f -o source/subroutines/inter_B.o
277     g77 $(FFLAGS) -static -c source/magnet/read_B.f -o source/subroutines/read_B.o
278     gcc -Wall,-soname,libtrk.so -shared -o lib/libtrk.so source/subroutines/*.o #$(LIBS)
279     ar rcs lib/libtrk.a source/subroutines/*.o
280     ranlib lib/libtrk.a
281     @cp -r $(AUXDIR) utilities/template/.
282     @echo Creating tar file with track utilities...
283     @test -d track/ || mkdir track
284     @cp source/subroutines/track.f source/analysis/grkuta.f source/magnet/*.f $(AUXDIR)/*.rz track/
285     ls track/
286     tar -cvzf track.tar.gz track/*
287     @rm -fr track
288     @echo $@ DONE!
289     #---------------------------------------------------------------------------
290    
291    
292     bindir:
293     @test -d "${BINDIR}" || (echo "Creating ${BINDIR}"; mkdir ${BINDIR})
294     auxdir: bindir
295     @test -d "${AUXDIR}" || (echo "Creating ${AUXDIR}"; mkdir ${AUXDIR})
296     bindir2003:
297     @test -d "${BINDIR2003}" || (echo "Creating ${BINDIR2003}"; mkdir ${BINDIR2003})
298     auxdir2003: bindir2003
299     @test -d "${AUXDIR2003}" || (echo "Creating ${AUXDIR2003}"; mkdir ${AUXDIR2003})
300     libdir:
301     @test -d "${LIBDIR}" || (echo "Creating ${LIBDIR}"; mkdir ${LIBDIR})
302    
303    
304    
305    
306     .PHONY : clean
307     clean: clean0 clean1 clean2 cleanl
308     rm -fr $(BINDIR)
309    
310     cleant:
311     rm -f run-test/*~
312     rm -f run-test/raw-data
313     rm -f run-test/*.exe
314     rm -fr run-test/bin-aux
315     rm -f *~
316    
317     clean0:
318     rm -f source/readraw/*.o
319     rm -f source/tof/*.o
320     rm -f source/trigger/*.o
321     rm -f source/tof/*~
322     rm -f source/trigger/*~
323     rm -f source/readraw/*~
324     rm -f source/common/*~
325     rm -f $(BINDIR)/level0.exe
326     rm -f run-test/level0.exe
327     clean1:
328     rm -f source/reduction/*.o
329     rm -f source/reduction/*~
330     rm -f source/common/*~
331     rm -f $(BINDIR)/level1.exe
332     rm -f run-test/level1.exe
333     clean2:
334     rm -f source/analysis/*.o
335     rm -f source/magnet/*.o
336     rm -f source/analysis/*~
337     rm -f source/magnet/*~
338     rm -f source/common/*~
339     rm -f $(BINDIR)/level2*.exe
340     rm -f run-test/level2.exe
341    
342     clean2003:
343     rm -f source/analysis/*.o
344     rm -f source/magnet/*.o
345     rm -f source/analysis/*~
346     rm -f source/magnet/*~
347     rm -f source/common/*~
348     rm -f $(BINDIR2003)/level2*.exe
349     rm -fr $(BINDIR2003)/bin-aux
350     rm -f run-test/level2.exe
351    
352     cleanl:
353     rm -f source/subroutines/*~
354     rm -f source/subroutines/*.o
355     rm -fr ./lib
356     # rm -f lib/*.so
357     # rm -f lib/*.a

  ViewVC Help
Powered by ViewVC 1.1.23