/[PAMELA software]/gpamela/Makefile
ViewVC logotype

Annotation of /gpamela/Makefile

Parent Directory Parent Directory | Revision Log Revision Log


Revision 3.27 - (hide annotations) (download)
Thu Jan 23 13:55:47 2014 UTC (10 years, 10 months ago) by mocchiut
Branch: MAIN
CVS Tags: HEAD
Changes since 3.26: +181 -181 lines
Compilation using SL6

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

  ViewVC Help
Powered by ViewVC 1.1.23