--- gpamela/Makefile 2005/12/06 10:49:21 3.10 +++ gpamela/Makefile 2008/01/29 18:24:56 3.25 @@ -1,154 +1,178 @@ -# -# Steering Makefile to create gpamelaX11 and gpamela executable -# First of all define the src files. One for each subdirectory -# -GPAMELASRCS= gpamela/ffuser.F gpamela/gdraws.F gpamela/gpadigi.F \ - gpamela/gpal.F gpamela/gpdat.F \ - gpamela/gpffr.F gpamela/gpfil.F gpamela/gpgaus.F \ - gpamela/gpgeo.F gpamela/gphbk.F \ - gpamela/gphit.F gpamela/gplook.F \ - gpamela/gpmapa.F gpamela/gpmat.F gpamela/gpmed.F \ - gpamela/gpn2g.F gpamela/gpnhit.F gpamela/gppama.F \ - gpamela/gprhit.F gpamela/gprsht.F \ - gpamela/gpsed.F gpamela/gpsptm.F \ - gpamela/gpudat.F gpamela/gpudig.F gpamela/gpuffr.F \ - gpamela/gpufil.F gpamela/gpugeo.F gpamela/gpuhbk.F \ - gpamela/gpuhit.F gpamela/gpuini.F \ - gpamela/gpukin.F gpamela/gpulas.F \ - gpamela/gpumat.F gpamela/gpumed.F gpamela/gpuout.F \ - gpamela/gpused.F gpamela/gpustep.F gpamela/gputra.F \ - gpamela/gputre.F gpamela/gudigi.F \ - gpamela/guhadr.F gpamela/gukine.F gpamela/guout.F \ - gpamela/guphad.F gpamela/gustep.F \ - gpamela/gutrak.F gpamela/gutrev.F \ - gpamela/gviewyz.F gpamela/n2g.F \ - gpamela/uginit.F gpamela/uglast.F \ - gpamela/gprnhran.F -GPCALSRCS = gpcal/gpcalv.F gpcal/gpce.F gpcal/gpdcal.F \ - gpcal/gpg10c.F gpcal/gpg10.F gpcal/gpsica.F \ - gpcal/gpucal.F gpcal/gpw2.F gpcal/gpw.F -GPCASSRCS = gpcas/gpcasv.F gpcas/gpdcas.F gpcas/gpucas.F -GPCATSRCS = gpcat/gpcatv.F gpcat/gpdcat.F gpcat/gpucat.F -GPFIELDSRCS = gpfield/flin3.F gpfield/gufld.F gpfield/gprbi.F \ - gpfield/inter_B.F gpfield/inter_B_inner.F -GPGARSRCS = gpgar/gpgacl.F gpgar/gpgapart.F gpgar/gpgarin.F \ - gpgar/gpgarsel.F gpgar/gptogar.F gpgar/grinit.F -GPHYSSRCSRCS = gphys/gfluct.F -GPMAINSRCS = gpmain/gpmain.F -GPSPESRCS = gpspe/gpcp.F gpspe/gpdspe.F gpspe/gpfe.F \ - gpspe/gpkap.F gpspe/gpmaspe.F gpspe/gproa.F \ - gpspe/gpsitr.F gpspe/gpspema.F gpspe/gpspev.F gpspe/gpuspe.F \ - gpspe/gprspe.F -GPTOFSRCS = gptof/gpdtof.F gptof/gpscin.F gptof/gpscint.F \ - gptof/gptofv.F gptof/gputof.F -GPTRDSRCS = gptrd/gpdtrd.F gptrd/gptrad.F gptrd/gptrdv.F \ - gptrd/gputrd.F gptrd/gpxe.F gptrd/gpxtr.F \ - gptrd/npoiss.F gptrd/xescape.F gptrd/xtrinteg.F \ - gptrd/xtrinter.F gptrd/xtryield.F -GPXINTSRCS = gpxint/gxint.F gpxint/qnext.F -# -GPSRCS = $(GPAMELASRCS) $(GPCALSRCS) $(GPCASSRCS) $(GPCATSRCS) $(GPFIELDSRCS) $(GPGARSRCS) $(GPHYSSRCS) \ - $(GPSPESRCS) $(GPTOFSRCS) $(GPTRDSRCS) -GPOBJS =$(addsuffix .o,$(basename ${GPSRCS}) ) -GPDEPENDS =$(GPOBJS:.o=.d) -GPMAINOBJS =$(addsuffix .o,$(basename ${GPMAINSRCS}) ) -GPMAINDEPENDS =$(GPMAINOBJS:.o=.d) -GPXINTOBJS =$(addsuffix .o,$(basename ${GPXINTSRCS}) ) -GPXINTDEPENDS =$(GPXINTOBJS:.o=.d) -# -GEANTINC = gcdes -GPINC = gpcdes -CERNLIB = `cernlib geant,genlib,pawlib,graflib/X11,packlib,mathlib` -GPLIBDIR = ./lib -GPLIB = ${GPLIBDIR}/libgarfield-7.a -# -BIN = ./bin -AUX = ./aux -AUXFILES = ${AUX}/gpfield.rz ${AUX}/GPAMELA.FFR ${AUX}/TRD_ATT.DAT ${AUX}/GARFIELD.GAR \ -$(AUX)/xe_80_co2_20.gas $(AUX)/measure_n3_290302.rz $(AUX)/measure_n4_110402_corrected.rz $(AUX)/resxy_new.rz $(AUX)/INPUTSEED.DAT -GARFIELDSRC = ./garfield/src -# -INTERFLAGS = -DGPAMELA_UNIX -DGPAMELA_TYPE -DGPAMELA_X11 -DGPAMELA_INTER -DGPAMELA_HIGZ \ - -DGPAMELA_GARFIELD -DGPAMELA_MANYWIRE -DGPAMELA_LONGLIST -DGPAMELA_BIGMAP -BATCHFLAGS = -DGPAMELA_UNIX -DGPAMELA_TYPE -DGPAMELA_GARFIELD -DGPAMELA_MANYWIRE -DGPAMELA_LONGLIST -DGPAMELA_BIGMAP -# -CC = gcc -FC = g77 -DEBFLAGS = -g -fdebug-kludge -FFLAGS = -fvxt -fno-automatic -Wno-globals -I${GPINC} -I${GEANTINC} ${BATCHFLAGS} -LDFLAGS= ${GPLIB} ${CERNLIB} - - -gpamelax11.exe: FFLAGS = -fvxt -fno-automatic -Wno-globals -I${GPINC} -I${GEANTINC} ${INTERFLAGS} -gpamelax11.exe: createdir ${GPLIBDIR}/libgarfield-7.a ${GPSRCS} ${GPOBJS} ${GPDEPENDS} ${GPXINTSRCS} ${GPXINTOBJS} ${GPXINTDEPENDS} - @echo Creating $@ ..... - $(FC) -o ${BIN}/$@ ${GPOBJS} ${GPXINTOBJS} ${LDFLAGS} - @echo Removing object files ..... - @rm -f ${GPOBJS} ${GPXINTOBJS} - -gpamela.exe: FFLAGS = -fvxt -fno-automatic -Wno-globals -I${GPINC} -I${GEANTINC} ${BATCHFLAGS} -gpamela.exe: createdir ${GPLIBDIR}/libgarfield-7.a ${GPSRCS} ${GPOBJS} ${GPDEPENDS} ${GPMAINSRCS} ${GPMAINOBJS} ${GPMAINDEPENDS} - @echo Creating $@ ..... - $(FC) -o ${BIN}/$@ ${GPOBJS} ${GPMAINOBJS} ${LDFLAGS} - @echo Removing object files ..... - @rm -f ${GPOBJS} ${GPMAINOBJS} - -gpamelax11_deb.exe: FFLAGS = -fvxt -fno-automatic -Wno-globals ${DEBFLAGS} -I${GPINC} -I${GEANTINC} ${INTERFLAGS} -gpamelax11_deb.exe: createdir ${GPLIBDIR}/libgarfield-7.a ${GPSRCS} ${GPOBJS} ${GPDEPENDS} ${GPXINTSRCS} ${GPXINTOBJS} ${GPXINTDEPENDS} - @echo Creating $@ ..... - $(FC) -o ${BIN}/$@ ${GPOBJS} ${GPXINTOBJS} ${LDFLAGS} - @echo Removing object files ..... - @rm -f ${GPOBJS) ${GPXINTOBJS} - -gpamela_deb.exe: FFLAGS = -fvxt -fno-automatic -Wno-globals ${DEBFLAGS} -I${GPINC} -I${GEANTINC} ${BATCHFLAGS} -gpamela_deb.exe: createdir ${GPLIBDIR}/libgarfield-7.a ${GPSRCS} ${GPOBJS} ${GPDEPENDS} ${GPMAINSRCS} ${GPMAINOBJS} ${GPMAINDEPENDS} - @echo Creating $@ ..... - $(FC) -o ${BIN}/$@ ${GPOBJS} ${GPMAINOBJS} ${LDFLAGS} - @echo Removing object files ..... - @rm -f ${GPOBJS) ${GPMAINOBJS} - -depend: ${GPXINTDEPENDS} ${GPMAINDEPENDS} ${GPDEPENDS} - -%.d: %.F - @echo Creating $@ from $< ; - @$(SHELL) -ec '$(FC) -M $(FFLAGS) $< \ - | sed '\''s/\($(*F)\)\.o[ :]*/ $(*D)\/\1.o $(*D)\/$(*F)\.d : /g'\'' > $@; \ - [ -s $@ ] || rm -f $@' - -.PHONY: distclean clean createdir install -# Move binaries from the local repository to the official repositories -install : - @test -d "$(GPAMELA_BIN)" && \ - (echo "Now moving executable and auxiliary files to $(GPAMELA_BIN)"; \ - mv -f $(BIN)/*.exe $(GPAMELA_BIN)/. ; cp -f ${AUXFILES} $(GPAMELA_BIN)/. ) - -${GPLIBDIR}/libgarfield-7.a: - @echo Creating libgarfield-7.a it will take few minutes ..... - @cd ${GARFIELDSRC}; make -f makefile_linux libgarfield-7.a - @test -d "${GPLIBDIR}" || (echo "Creating ${GPLIBDIR}"; mkdir ${GPLIBDIR}) - @echo Copyng $(@F) to ${GPLIBDIR} - @cp ${GARFIELDSRC}/$(@F) ${GPLIBDIR} - -# Create binary local repository if non existent -createdir : - @test -d "${BIN}" || (echo "Creating ${BIN}"; mkdir ${BIN}) - -distclean: clean - @echo Removing garfield sources, objects and libraries - @cd ${GARFIELDSRC}; rm -f *.f *.o libgarfield-7.a - @rm -f ${GPLIBDIR}/libgarfield-7.a - @rm -fr ${GPLIBDIR} - @echo Removing executables ..... - @rm -fr ${BIN} - - - -clean: - @echo Removing object files ..... - @rm -f ${GPOBJS} ${GPMAINOBJS} ${GPXINTOBJS} - @echo Removing dependencies files ..... - @rm -f ${GPDEPENDS} ${GPMAINDEPENDS} ${GPXINTDEPENDS} - -include ${GPDEPENDS} - - +# +# Steering Makefile to create gpamelaX11 and gpamela executable +# First of all define the src files. One for each subdirectory +# +GPAMELASRCS= gpamela/ffuser.F gpamela/gdraws.F gpamela/gpadigi.F \ + gpamela/gpal.F gpamela/gpdat.F \ + gpamela/gpffr.F gpamela/gpfil.F gpamela/gpgaus.F \ + gpamela/gpgeo.F gpamela/gphbk.F \ + gpamela/gphit.F gpamela/gplook.F \ + gpamela/gpmapa.F gpamela/gpmat.F gpamela/gpmed.F \ + gpamela/gpn2g.F gpamela/gpnhit.F gpamela/gppama.F \ + gpamela/gprhit.F gpamela/gprsht.F \ + gpamela/gpsed.F gpamela/gpsptm.F \ + gpamela/gpudat.F gpamela/gpudig.F gpamela/gpuffr.F \ + gpamela/gpufil.F gpamela/gpugeo.F gpamela/gpuhbk.F \ + gpamela/gpuhit.F gpamela/gpuini.F \ + gpamela/gpukin.F gpamela/gpulas.F \ + gpamela/gpumat.F gpamela/gpumed.F gpamela/gpuout.F \ + gpamela/gpused.F gpamela/gpustep.F gpamela/gputra.F \ + gpamela/gputre.F gpamela/gudigi.F \ + gpamela/guhadr.F gpamela/gukine.F gpamela/guout.F \ + gpamela/guphad.F gpamela/gustep.F \ + gpamela/gutrak.F gpamela/gutrev.F \ + gpamela/gviewyz.F gpamela/n2g.F \ + gpamela/uginit.F gpamela/uglast.F \ + gpamela/gprnhran.F gpamela/ghesig.F \ + gpamela/gptav.F gpamela/nizlnw.F gpamela/gpnyl6.F \ + gpamela/gpamg6m.F gpamela/gpiron.F +GPCALSRCS = gpcal/gpcalv.F gpcal/gpce.F gpcal/gpdcal.F \ + gpcal/gpg10c.F gpcal/gpg10.F gpcal/gpsica.F \ + gpcal/gpucal.F gpcal/gpw2.F gpcal/gpw.F +GPCASSRCS = gpcas/gpcasv.F gpcas/gpdcas.F gpcas/gpucas.F +GPCATSRCS = gpcat/gpcatv.F gpcat/gpdcat.F gpcat/gpucat.F +GPCARDSRCS = gpcard/gpcardv.F gpcard/gpdcard.F gpcard/gpucard.F +GPFIELDSRCS = gpfield/flin3.F gpfield/gufld.F gpfield/gprbi.F \ + gpfield/inter_B.F gpfield/inter_B_inner.F gpfield/inter_B_outer.F +GPGARSRCS = gpgar/gpgacl.F gpgar/gpgapart.F gpgar/gpgarin.F \ + gpgar/gpgarsel.F gpgar/gptogar.F gpgar/grinit.F +GPHYSSRCSRCS = gphys/gfluct.F +GPMAINSRCS = gpmain/gpmain.F +GPSPESRCS = gpspe/gpcp.F gpspe/gpdspe.F gpspe/gpfe.F \ + gpspe/gpkap.F gpspe/gpmaspe.F gpspe/gproa.F \ + gpspe/gpsitr.F gpspe/gpspema.F gpspe/gpspev.F gpspe/gpuspe.F \ + gpspe/gprspe.F gpspe/gpudiffusion.F gpspe/gpucollection.F +GPTOFSRCS = gptof/gpdtof.F gptof/gpscin.F gptof/gpscint.F \ + gptof/gptofv.F gptof/gputof.F gptof/gpmyl.F gptof/gppol.F +GPTRDSRCS = gptrd/gpdtrd.F gptrd/gptrad.F gptrd/gptrdv.F \ + gptrd/gputrd.F gptrd/gpxe.F gptrd/gpxtr.F \ + gptrd/npoiss.F gptrd/xescape.F gptrd/xtrinteg.F \ + gptrd/xtrinter.F gptrd/xtryield.F +GPXINTSRCS = gpxint/gxint.F gpxint/qnext.F +GPNDSRCS = gpnd/gpndv.F gpnd/gpgigp.F gpnd/gpund.F gpnd/gpdnd.F gpnd/gpgig.F \ + gpnd/gpgrsigma.F gpnd/gpgres.F gpnd/gpcad.F \ + gpnd/gpch2.F gpnd/gphe3.F +GPCALORSRC = gpcalor/gpcalor.F +# +GPSRCS = $(GPAMELASRCS) $(GPCALSRCS) $(GPCASSRCS) $(GPCATSRCS) $(GPCARDSRCS) \ + $(GPFIELDSRCS) $(GPGARSRCS) $(GPHYSSRCS) \ + $(GPSPESRCS) $(GPTOFSRCS) $(GPNDSRCS) $(GPTRDSRCS) $(GPCALORSRC) +GPOBJS =$(addsuffix .o,$(basename ${GPSRCS}) ) +GPDEPENDS =$(GPOBJS:.o=.d) +GPMAINOBJS =$(addsuffix .o,$(basename ${GPMAINSRCS}) ) +GPMAINDEPENDS =$(GPMAINOBJS:.o=.d) +GPXINTOBJS =$(addsuffix .o,$(basename ${GPXINTSRCS}) ) +GPXINTDEPENDS =$(GPXINTOBJS:.o=.d) +# +GEANTINC = gcdes +GPINC = gpcdes +GPCALORINC = gpcalordes +CERNLIB = `cernlib geant,genlib,pawlib,graflib/X11,packlib,mathlib` +GPLIBDIR = ./lib +GPLIB = ${GPLIBDIR}/libgarfield-7.a +# +BIN = ./bin +AUX = ./aux +AUXFILES = ${AUX}/gpfield.rz ${AUX}/GPAMELA.FFR ${AUX}/TRD_ATT.DAT \ + ${AUX}/GARFIELD.GAR ${AUX}/xe_80_co2_20.gas \ + ${AUX}/measure_n3_290302.rz ${AUX}/measure_n4_110402_corrected.rz \ + ${AUX}/resxy_new.rz ${AUX}/INPUTSEED.DAT ${AUX}/readseeds.f \ + ${AUX}/writeseeds.f ${AUX}/chetc.dat.gz ${AUX}/xsneut.dat.gz \ + ${AUX}/external_top_map_n4_150402.rz \ + ${AUX}/Neut1.dat ${AUX}/Neut2.dat ${AUX}/Neut3.dat + +GARFIELDSRC = ./garfield/src +# +INTERFLAGS = -DGPAMELA_UNIX -DGPAMELA_TYPE -DGPAMELA_X11 -DGPAMELA_INTER \ + -DGPAMELA_HIGZ \ + -DGPAMELA_GARFIELD -DGPAMELA_MANYWIRE -DGPAMELA_LONGLIST \ + -DGPAMELA_BIGMAP +BATCHFLAGS = -DGPAMELA_UNIX -DGPAMELA_TYPE -DGPAMELA_GARFIELD \ + -DGPAMELA_MANYWIRE -DGPAMELA_LONGLIST -DGPAMELA_BIGMAP +# +CC = gcc +#FC = g77 -ffortran-bounds-check +FC = g77 +DEBFLAGS = -g # -fdebug-kludge +FFLAGS = -fvxt -fno-automatic -Wno-globals -I${GPINC} -I$(GPCALORINC) \ + -I${GEANTINC} ${BATCHFLAGS} +LDFLAGS= ${GPLIB} ${CERNLIB} -Xlinker -Map -Xlinker $@.map + + +gpamelax11.exe: FFLAGS = -fvxt -fno-automatic -Wno-globals -I${GPINC} -I${GPCALORINC} -I${GEANTINC} ${INTERFLAGS} +gpamelax11.exe: createdir ${GPLIBDIR}/libgarfield-7.a ${GPSRCS} ${GPOBJS} ${GPDEPENDS} ${GPXINTSRCS} ${GPXINTOBJS} ${GPXINTDEPENDS} + @echo Creating $@ ..... + $(FC) -o ${BIN}/$@ ${GPOBJS} ${GPXINTOBJS} ${LDFLAGS} + @echo Removing object files ..... + @rm -f ${GPOBJS} ${GPXINTOBJS} + +gpamela.exe: FFLAGS = -fvxt -fno-automatic -Wno-globals -I${GPINC} -I${GPCALORINC} -I${GEANTINC} ${BATCHFLAGS} +gpamela.exe: createdir ${GPLIBDIR}/libgarfield-7.a ${GPSRCS} ${GPOBJS} ${GPDEPENDS} ${GPMAINSRCS} ${GPMAINOBJS} ${GPMAINDEPENDS} + @echo Creating $@ ..... + $(FC) -o ${BIN}/$@ ${GPOBJS} ${GPMAINOBJS} ${LDFLAGS} + @echo Removing object files ..... + @rm -f ${GPOBJS} ${GPMAINOBJS} + +gpamelax11_deb.exe: FFLAGS = -fvxt -fno-automatic -Wno-globals ${DEBFLAGS} -I${GPINC} -I${GPCALORINC} -I${GEANTINC} ${INTERFLAGS} +gpamelax11_deb.exe: LDFLAGS= ${GPLIB} ${CERNLIB} ${DEBFLAGS} +gpamelax11_deb.exe: createdir ${GPLIBDIR}/libgarfield-7.a ${GPSRCS} ${GPOBJS} ${GPDEPENDS} ${GPXINTSRCS} ${GPXINTOBJS} ${GPXINTDEPENDS} + @echo Creating $@ ..... + $(FC) -o ${BIN}/$@ ${GPOBJS} ${GPXINTOBJS} ${LDFLAGS} + @echo Removing object files ..... + @rm -f ${GPOBJS) ${GPXINTOBJS} + +gpamela_deb.exe: FFLAGS = -fvxt -fno-automatic -Wno-globals ${DEBFLAGS} -I${GPINC} -I${GPCALORINC} -I${GEANTINC} ${BATCHFLAGS} +gpamelax_deb.exe: LDFLAGS= ${GPLIB} ${CERNLIB} ${DEBFLAGS} +gpamela_deb.exe: createdir ${GPLIBDIR}/libgarfield-7.a ${GPSRCS} ${GPOBJS} ${GPDEPENDS} ${GPMAINSRCS} ${GPMAINOBJS} ${GPMAINDEPENDS} + @echo Creating $@ ..... + $(FC) -o ${BIN}/$@ ${GPOBJS} ${GPMAINOBJS} ${LDFLAGS} + @echo Removing object files ..... + @rm -f ${GPOBJS) ${GPMAINOBJS} + +depend: ${GPXINTDEPENDS} ${GPMAINDEPENDS} ${GPDEPENDS} + +%.d: %.F + @echo Creating $@ from $< ; + @$(SHELL) -ec '$(FC) -M $(FFLAGS) $< \ + | sed '\''s/\($(*F)\)\.o[ :]*/ $(*D)\/\1.o $(*D)\/$(*F)\.d : /g'\'' > $@; \ + [ -s $@ ] || rm -f $@' + +.PHONY: distclean clean createdir install +# Move binaries from the local repository to the official repositories +install : + @test -d "$(GPAMELA_BIN)" && \ + (echo "Now moving executable and auxiliary files to $(GPAMELA_BIN)"; \ + mv -f $(BIN)/*.exe $(GPAMELA_BIN)/. ; cp ${AUXFILES} $(GPAMELA_BIN)/.;\ + echo "Now unzipping the GCALOR cross section data files"; \ + gzip -dv $(GPAMELA_BIN)/xsneut.dat.gz $(GPAMELA_BIN)/chetc.dat.gz) + +${GPLIBDIR}/libgarfield-7.a: + @echo Creating libgarfield-7.a it will take few minutes ..... + @cd ${GARFIELDSRC}; make -f makefile_linux libgarfield-7.a + @test -d "${GPLIBDIR}" || (echo "Creating ${GPLIBDIR}"; mkdir ${GPLIBDIR}) + @echo Copyng $(@F) to ${GPLIBDIR} + @cp ${GARFIELDSRC}/$(@F) ${GPLIBDIR} + +# Create binary local repository if non existent +createdir : + @test -d "${BIN}" || (echo "Creating ${BIN}"; mkdir ${BIN}) + +distclean: clean + @echo Removing garfield sources, objects and libraries + @cd ${GARFIELDSRC}; rm -f *.f *.o libgarfield-7.a + @rm -f ${GPLIBDIR}/libgarfield-7.a + @rm -fr ${GPLIBDIR} + @echo Removing executables ..... + @rm -fr ${BIN} + + + +clean: + @echo Removing object files ..... + @rm -f ${GPOBJS} ${GPMAINOBJS} ${GPXINTOBJS} + @echo Removing dependencies files ..... + @rm -f ${GPDEPENDS} ${GPMAINDEPENDS} ${GPXINTDEPENDS} + +include ${GPDEPENDS} + +