/[PAMELA software]/gpamela/Makefile
ViewVC logotype

Contents of /gpamela/Makefile

Parent Directory Parent Directory | Revision Log Revision Log


Revision 3.23 - (show annotations) (download)
Thu Nov 30 15:04:45 2006 UTC (18 years ago) by bottai
Branch: MAIN
CVS Tags: v4r9, v4r10
Changes since 3.22: +1 -1 lines
 adding nizlnw.F for new antiproton cross sections in gluka

1 #
2 # Steering Makefile to create gpamelaX11 and gpamela executable
3 # First of all define the src files. One for each subdirectory
4 #
5 GPAMELASRCS= gpamela/ffuser.F gpamela/gdraws.F gpamela/gpadigi.F \
6 gpamela/gpal.F gpamela/gpdat.F \
7 gpamela/gpffr.F gpamela/gpfil.F gpamela/gpgaus.F \
8 gpamela/gpgeo.F gpamela/gphbk.F \
9 gpamela/gphit.F gpamela/gplook.F \
10 gpamela/gpmapa.F gpamela/gpmat.F gpamela/gpmed.F \
11 gpamela/gpn2g.F gpamela/gpnhit.F gpamela/gppama.F \
12 gpamela/gprhit.F gpamela/gprsht.F \
13 gpamela/gpsed.F gpamela/gpsptm.F \
14 gpamela/gpudat.F gpamela/gpudig.F gpamela/gpuffr.F \
15 gpamela/gpufil.F gpamela/gpugeo.F gpamela/gpuhbk.F \
16 gpamela/gpuhit.F gpamela/gpuini.F \
17 gpamela/gpukin.F gpamela/gpulas.F \
18 gpamela/gpumat.F gpamela/gpumed.F gpamela/gpuout.F \
19 gpamela/gpused.F gpamela/gpustep.F gpamela/gputra.F \
20 gpamela/gputre.F gpamela/gudigi.F \
21 gpamela/guhadr.F gpamela/gukine.F gpamela/guout.F \
22 gpamela/guphad.F gpamela/gustep.F \
23 gpamela/gutrak.F gpamela/gutrev.F \
24 gpamela/gviewyz.F gpamela/n2g.F \
25 gpamela/uginit.F gpamela/uglast.F \
26 gpamela/gprnhran.F gpamela/ghesig.F \
27 gpamela/gptav.F gpamela/nizlnw.F
28 GPCALSRCS = gpcal/gpcalv.F gpcal/gpce.F gpcal/gpdcal.F \
29 gpcal/gpg10c.F gpcal/gpg10.F gpcal/gpsica.F \
30 gpcal/gpucal.F gpcal/gpw2.F gpcal/gpw.F
31 GPCASSRCS = gpcas/gpcasv.F gpcas/gpdcas.F gpcas/gpucas.F
32 GPCATSRCS = gpcat/gpcatv.F gpcat/gpdcat.F gpcat/gpucat.F
33 GPCARDSRCS = gpcard/gpcardv.F gpcard/gpdcard.F gpcard/gpucard.F
34 GPFIELDSRCS = gpfield/flin3.F gpfield/gufld.F gpfield/gprbi.F \
35 gpfield/inter_B.F gpfield/inter_B_inner.F gpfield/inter_B_outer.F
36 GPGARSRCS = gpgar/gpgacl.F gpgar/gpgapart.F gpgar/gpgarin.F \
37 gpgar/gpgarsel.F gpgar/gptogar.F gpgar/grinit.F
38 GPHYSSRCSRCS = gphys/gfluct.F
39 GPMAINSRCS = gpmain/gpmain.F
40 GPSPESRCS = gpspe/gpcp.F gpspe/gpdspe.F gpspe/gpfe.F \
41 gpspe/gpkap.F gpspe/gpmaspe.F gpspe/gproa.F \
42 gpspe/gpsitr.F gpspe/gpspema.F gpspe/gpspev.F gpspe/gpuspe.F \
43 gpspe/gprspe.F gpspe/gpudiffusion.F gpspe/gpucollection.F
44 GPTOFSRCS = gptof/gpdtof.F gptof/gpscin.F gptof/gpscint.F \
45 gptof/gptofv.F gptof/gputof.F gptof/gpmyl.F gptof/gppol.F
46 GPTRDSRCS = gptrd/gpdtrd.F gptrd/gptrad.F gptrd/gptrdv.F \
47 gptrd/gputrd.F gptrd/gpxe.F gptrd/gpxtr.F \
48 gptrd/npoiss.F gptrd/xescape.F gptrd/xtrinteg.F \
49 gptrd/xtrinter.F gptrd/xtryield.F
50 GPXINTSRCS = gpxint/gxint.F gpxint/qnext.F
51 GPNDSRCS = gpnd/gpndv.F gpnd/gpgigp.F gpnd/gpund.F gpnd/gpdnd.F gpnd/gpgig.F \
52 gpnd/gpgrsigma.F gpnd/gpgres.F gpnd/gpcad.F \
53 gpnd/gpch2.F gpnd/gphe3.F
54 GPCALORSRC = gpcalor/gpcalor.F
55 #
56 GPSRCS = $(GPAMELASRCS) $(GPCALSRCS) $(GPCASSRCS) $(GPCATSRCS) $(GPCARDSRCS) \
57 $(GPFIELDSRCS) $(GPGARSRCS) $(GPHYSSRCS) \
58 $(GPSPESRCS) $(GPTOFSRCS) $(GPNDSRCS) $(GPTRDSRCS) $(GPCALORSRC)
59 GPOBJS =$(addsuffix .o,$(basename ${GPSRCS}) )
60 GPDEPENDS =$(GPOBJS:.o=.d)
61 GPMAINOBJS =$(addsuffix .o,$(basename ${GPMAINSRCS}) )
62 GPMAINDEPENDS =$(GPMAINOBJS:.o=.d)
63 GPXINTOBJS =$(addsuffix .o,$(basename ${GPXINTSRCS}) )
64 GPXINTDEPENDS =$(GPXINTOBJS:.o=.d)
65 #
66 GEANTINC = gcdes
67 GPINC = gpcdes
68 GPCALORINC = gpcalordes
69 CERNLIB = `cernlib geant,genlib,pawlib,graflib/X11,packlib,mathlib`
70 GPLIBDIR = ./lib
71 GPLIB = ${GPLIBDIR}/libgarfield-7.a
72 #
73 BIN = ./bin
74 AUX = ./aux
75 AUXFILES = ${AUX}/gpfield.rz ${AUX}/GPAMELA.FFR ${AUX}/TRD_ATT.DAT \
76 ${AUX}/GARFIELD.GAR ${AUX}/xe_80_co2_20.gas \
77 ${AUX}/measure_n3_290302.rz ${AUX}/measure_n4_110402_corrected.rz \
78 ${AUX}/resxy_new.rz ${AUX}/INPUTSEED.DAT ${AUX}/readseeds.f \
79 ${AUX}/writeseeds.f ${AUX}/chetc.dat.gz ${AUX}/xsneut.dat.gz \
80 ${AUX}/external_top_map_n4_150402.rz \
81 ${AUX}/Neut1.dat ${AUX}/Neut2.dat ${AUX}/Neut3.dat
82
83 GARFIELDSRC = ./garfield/src
84 #
85 INTERFLAGS = -DGPAMELA_UNIX -DGPAMELA_TYPE -DGPAMELA_X11 -DGPAMELA_INTER \
86 -DGPAMELA_HIGZ \
87 -DGPAMELA_GARFIELD -DGPAMELA_MANYWIRE -DGPAMELA_LONGLIST \
88 -DGPAMELA_BIGMAP
89 BATCHFLAGS = -DGPAMELA_UNIX -DGPAMELA_TYPE -DGPAMELA_GARFIELD \
90 -DGPAMELA_MANYWIRE -DGPAMELA_LONGLIST -DGPAMELA_BIGMAP
91 #
92 CC = gcc
93 #FC = g77 -ffortran-bounds-check
94 FC = g77
95 DEBFLAGS = -g -fdebug-kludge
96 FFLAGS = -fvxt -fno-automatic -Wno-globals -I${GPINC} -I$(GPCALORINC) \
97 -I${GEANTINC} ${BATCHFLAGS}
98 LDFLAGS= ${GPLIB} ${CERNLIB} -Xlinker -Map -Xlinker $@.map
99
100
101 gpamelax11.exe: FFLAGS = -fvxt -fno-automatic -Wno-globals -I${GPINC} -I${GPCALORINC} -I${GEANTINC} ${INTERFLAGS}
102 gpamelax11.exe: createdir ${GPLIBDIR}/libgarfield-7.a ${GPSRCS} ${GPOBJS} ${GPDEPENDS} ${GPXINTSRCS} ${GPXINTOBJS} ${GPXINTDEPENDS}
103 @echo Creating $@ .....
104 $(FC) -o ${BIN}/$@ ${GPOBJS} ${GPXINTOBJS} ${LDFLAGS}
105 @echo Removing object files .....
106 @rm -f ${GPOBJS} ${GPXINTOBJS}
107
108 gpamela.exe: FFLAGS = -fvxt -fno-automatic -Wno-globals -I${GPINC} -I${GPCALORINC} -I${GEANTINC} ${BATCHFLAGS}
109 gpamela.exe: createdir ${GPLIBDIR}/libgarfield-7.a ${GPSRCS} ${GPOBJS} ${GPDEPENDS} ${GPMAINSRCS} ${GPMAINOBJS} ${GPMAINDEPENDS}
110 @echo Creating $@ .....
111 $(FC) -o ${BIN}/$@ ${GPOBJS} ${GPMAINOBJS} ${LDFLAGS}
112 @echo Removing object files .....
113 @rm -f ${GPOBJS} ${GPMAINOBJS}
114
115 gpamelax11_deb.exe: FFLAGS = -fvxt -fno-automatic -Wno-globals ${DEBFLAGS} -I${GPINC} -I${GPCALORINC} -I${GEANTINC} ${INTERFLAGS}
116 gpamelax11_deb.exe: LDFLAGS= ${GPLIB} ${CERNLIB} ${DEBFLAGS}
117 gpamelax11_deb.exe: createdir ${GPLIBDIR}/libgarfield-7.a ${GPSRCS} ${GPOBJS} ${GPDEPENDS} ${GPXINTSRCS} ${GPXINTOBJS} ${GPXINTDEPENDS}
118 @echo Creating $@ .....
119 $(FC) -o ${BIN}/$@ ${GPOBJS} ${GPXINTOBJS} ${LDFLAGS}
120 @echo Removing object files .....
121 @rm -f ${GPOBJS) ${GPXINTOBJS}
122
123 gpamela_deb.exe: FFLAGS = -fvxt -fno-automatic -Wno-globals ${DEBFLAGS} -I${GPINC} -I${GPCALORINC} -I${GEANTINC} ${BATCHFLAGS}
124 gpamelax_deb.exe: LDFLAGS= ${GPLIB} ${CERNLIB} ${DEBFLAGS}
125 gpamela_deb.exe: createdir ${GPLIBDIR}/libgarfield-7.a ${GPSRCS} ${GPOBJS} ${GPDEPENDS} ${GPMAINSRCS} ${GPMAINOBJS} ${GPMAINDEPENDS}
126 @echo Creating $@ .....
127 $(FC) -o ${BIN}/$@ ${GPOBJS} ${GPMAINOBJS} ${LDFLAGS}
128 @echo Removing object files .....
129 @rm -f ${GPOBJS) ${GPMAINOBJS}
130
131 depend: ${GPXINTDEPENDS} ${GPMAINDEPENDS} ${GPDEPENDS}
132
133 %.d: %.F
134 @echo Creating $@ from $< ;
135 @$(SHELL) -ec '$(FC) -M $(FFLAGS) $< \
136 | sed '\''s/\($(*F)\)\.o[ :]*/ $(*D)\/\1.o $(*D)\/$(*F)\.d : /g'\'' > $@; \
137 [ -s $@ ] || rm -f $@'
138
139 .PHONY: distclean clean createdir install
140 # Move binaries from the local repository to the official repositories
141 install :
142 @test -d "$(GPAMELA_BIN)" && \
143 (echo "Now moving executable and auxiliary files to $(GPAMELA_BIN)"; \
144 mv -f $(BIN)/*.exe $(GPAMELA_BIN)/. ; cp ${AUXFILES} $(GPAMELA_BIN)/.;\
145 echo "Now unzipping the GCALOR cross section data files"; \
146 gzip -dv $(GPAMELA_BIN)/xsneut.dat.gz $(GPAMELA_BIN)/chetc.dat.gz)
147
148 ${GPLIBDIR}/libgarfield-7.a:
149 @echo Creating libgarfield-7.a it will take few minutes .....
150 @cd ${GARFIELDSRC}; make -f makefile_linux libgarfield-7.a
151 @test -d "${GPLIBDIR}" || (echo "Creating ${GPLIBDIR}"; mkdir ${GPLIBDIR})
152 @echo Copyng $(@F) to ${GPLIBDIR}
153 @cp ${GARFIELDSRC}/$(@F) ${GPLIBDIR}
154
155 # Create binary local repository if non existent
156 createdir :
157 @test -d "${BIN}" || (echo "Creating ${BIN}"; mkdir ${BIN})
158
159 distclean: clean
160 @echo Removing garfield sources, objects and libraries
161 @cd ${GARFIELDSRC}; rm -f *.f *.o libgarfield-7.a
162 @rm -f ${GPLIBDIR}/libgarfield-7.a
163 @rm -fr ${GPLIBDIR}
164 @echo Removing executables .....
165 @rm -fr ${BIN}
166
167
168
169 clean:
170 @echo Removing object files .....
171 @rm -f ${GPOBJS} ${GPMAINOBJS} ${GPXINTOBJS}
172 @echo Removing dependencies files .....
173 @rm -f ${GPDEPENDS} ${GPMAINDEPENDS} ${GPXINTDEPENDS}
174
175 include ${GPDEPENDS}
176
177

  ViewVC Help
Powered by ViewVC 1.1.23