(file) Return to Makefile CVS log (file) (dir) Up to [HallC] / pol_hms_single

  1 jones 1.1 ## This makefile must be executed with gmake (gnu make).
  2           
  3 jones 1.2 #set to g77 or absoft to choose a compiler under linux
  4           LINUX_COMPILER=g77
  5 jones 1.6 #LINUX_COMPILER=absoft
  6 jones 1.2 
  7 jones 1.1 simcdir = .
  8 jones 1.4 #CERN_ROOT = /site/cernlib/pc_linux/99
  9 jones 1.2 #CERN_ROOT = /cern/pro
 10 jones 1.6 #export ABSOFT=/apps/absoft/PRO/usr/absoft
 11 jones 1.17 #CERN_ROOT=/u/site/cernlib/x86_64_rhel5/2005
 12 jones 1.1  
 13            RM        = rm -f 
 14            SHELL     = /bin/sh
 15            
 16            SPEC      = ./hms/
 17            
 18            SHARE	  = ./shared/
 19            
 20 jones 1.4  my_objs = $(SPEC)mc_hms.o     $(SPEC)mc_hms_hut.o  $(SPEC)mc_hms_recon.o \
 21 jones 1.2  	   project.o           rotate_haxis.o      check_dipole.o        \
 22            	   transp.o            musc.o              musc_ext.o            \
 23            	   stringlib.o         ranecu.o            loren.o               \
 24            	   locforunt.o         gauss1.o            mt19937.o             \
 25 jones 1.5  	   trg_track.o         hms_track.o           \
 26 jones 1.10 	   qfs_new13_sub.o      init.o                \
 27 jones 1.3  	   brem.o              radc.o              hcf2r.o	\
 28 jones 1.13            hallc2h.o enerloss_new.o engine_eloss.o christy_rss.o resmod.o ressf.o \
 29 jones 1.15            qfs_deut.o call_pb_ext_subroutine.o externals_subroutine.o \
 30 jones 1.17            fitemc_2006.o  quasiy8_2006.o  F1F2IN06.o F1F209_rss.o cer_effcorr.o dc_effcorr.o \
 31 jones 1.1  
 32 jones 1.8  my_dobjs = $(SPEC)mc_hms.do     $(SPEC)mc_hms_hut.do  $(SPEC)mc_hms_recon.do \
 33            	   project.do           rotate_haxis.do      check_dipole.do        \
 34            	   transp.do            musc.do              musc_ext.do            \
 35            	   stringlib.do         ranecu.do            loren.do               \
 36            	   locforunt.do         gauss1.do            mt19937.do             \
 37            	   trg_track.do         hms_track.do           \
 38 jones 1.10 	   qfs_new13_sub.do      init.do                \
 39 jones 1.8  	   brem.do              radc.do              hcf2r.do	\
 40 jones 1.13            hallc2h.do enerloss_new.do engine_eloss.do christy_rss.do  resmod.do ressf.do \
 41 jones 1.15            qfs_deut.do call_pb_ext_subroutine.do externals_subroutine.do \
 42            
 43 jones 1.8  
 44 jones 1.1  MYOS := $(subst -,,$(shell uname))
 45            CERNLIBS = -lgeant$(GEANTVER) -lpawlib -lgraflib -lgrafX11 -lpacklib -lmathlib
 46            
 47            ifeq ($(MYOS),HPUX)
 48              ifneq (,$(findstring 09,$(shell uname -r)))
 49                HPUXVERSION := 09
 50              else
 51                HPUXVERSION := 10
 52              endif
 53              LIBROOT = $(Csoft)/../$(MYOS)$(HPUXVERSION)/lib
 54            else
 55              LIBROOT = $(Csoft)/../$(MYOS)/lib
 56            endif
 57            
 58            ifeq ($(MYOS),HPUX)
 59              CERN_ROOT = /site/cernlib/hp700_ux90/96a
 60              FFLAGS=+U77 +ppu -C +e +es +FPVZOU -O +Onolimit -R8
 61              LDFLAGS=-Wl,-a archive
 62              OTHERLIBS = \
 63            	-Wl,-L$(CERN_ROOT)/lib -lpacklib $(CERNLIBS) \
 64            	-Wl,-L/usr/lib/X11R5 -lX11 -lm
 65 jones 1.1  endif
 66            
 67            
 68            ifeq ($(MYOS),ULTRIX)
 69              FFLAGS=-check_bounds
 70              LDFLAGS=
 71              OTHERLIBS = -L$(CERN_ROOT)/lib -lpacklib $(CERNLIBS)
 72            endif
 73            
 74            ifeq ($(MYOS),SunOS)
 75              CERN_ROOT = /site/cernlib/sun4_solaris2/97a
 76              FFLAGS=-g -e  -I$(Csoft)/SRC/INCLUDE 
 77              ifeq ($(OSTYPE),SunOS4)
 78                OTHERLIBS = -L$(CERN_ROOT)/lib $(CERNLIBS) -lnsl -lX11
 79              else
 80                OTHERLIBS = -L$(CERN_ROOT)/lib $(CERNLIBS) -lnsl -lsocket -lX11
 81              endif
 82            endif
 83            
 84            ifeq ($(MYOS),AIX)
 85              F77=f77
 86 jones 1.1    FFLAGS=-g -qfixed=132 -qextname -O -I$(Csoft)/SRC/INCLUDE
 87              OTHERLIBS = -L$(CERN_ROOT)/lib -lpacklib $(CERNLIBS) -lX11
 88            endif
 89            
 90            ifeq ($(MYOS),OSF1)
 91              F77=f77
 92              CERN_ROOT = /disk1/lib/cern/new
 93              LIBROOT = $(Csoft)/OSF1/lib
 94              FFLAGS= -r8 -extend_source -Wl,-taso -I -warn argument_checking \
 95                    -warn declarations -warn truncated_source -warn unused
 96              LDFLAGS= 
 97              OTHERLIBS = -Wl,-L$(CERN_ROOT)/lib \
 98                    -lpacklib $(CERNLIBS) -Wl,-L/usr/lib/X11R5 -lX11 -lm 
 99            endif
100            
101 jones 1.2  ifeq ($(MYOS),Linux)
102              ifeq ($(LINUX_COMPILER),absoft)
103                FABSFLAGS=-V -W -f -s -N1 -B108 -B100 -N90 -N22 -N2 -N113
104                INCLUDES=-I$(Csoft)/SRC/INCLUDE
105                EXTRAFLAGS=-DABSOFTFORTRAN
106                FFLAGS=-O $(INCLUDES) $(FABSFLAGS) $(EXTRAFLAGS)
107                FFLAG1=$(FFLAGS) -c
108 jones 1.6      OTHERLIBS = -L$(CERN_ROOT)/lib $(CERNLIBS) -lV77 -lU77 -lg2c -lc -lm -lnsl
109 jones 1.2      FC  := $(ABSOFT)/bin/f77
110                F77 := $(ABSOFT)/bin/f77
111              endif
112              ifeq ($(LINUX_COMPILER),g77)
113 jones 1.17     FC=gfortran
114                F77=gfortran
115 jones 1.6      OTHERLIBS=-L$(CERN_ROOT)/lib -lpacklib -lmathlib -lnss_nis -lnsl
116 jones 1.10 ##  FFLAGSO=-O1 -malign-double -fno-automatic -I. -ffixed-line-length-none -fno-second-underscore
117            ##  FFLAGSO=-O1 -malign-double -fno-automatic -I. -ffixed-line-length-none -fno-second-underscore -Wall -Wsurprising
118 jones 1.17 ##    FFLAGSO=-O1 -malign-double -fno-automatic -I. -ffixed-line-length-none -fno-second-underscore -Wimplicit -Wall -Wsurprising
119            ##    FFLAGSD=-g -malign-double -fno-automatic -I. -ffixed-line-length-none -fno-second-underscore
120                FFLAGSO=-O1  -I. -ffixed-line-length-none   -Wall -Wsurprising
121                FFLAGSD=-g  -fno-automatic -I. -ffixed-line-length-none 
122 jones 1.2    endif
123            endif
124            
125 jones 1.1  %.o: %.f
126 jones 1.8  	$(F77) $(FFLAGSO) -c $< -o $@
127            %.do: %.f
128            	$(F77) $(FFLAGSD) -c $< -o $*.do
129 jones 1.1  
130            mc_hms_single: $(my_objs) Makefile mc_hms_single.o
131 jones 1.8  	$(F77) -o $@ $(FFLAGSO) mc_hms_single.o $(my_objs) $(OTHERLIBS)
132 jones 1.1  
133 jones 1.8  debug: $(my_dobjs) Makefile mc_hms_single.do
134            	$(F77) -o mc_hms_single_dbg $(FFLAGSD) mc_hms_single.do $(my_dobjs) $(OTHERLIBS)
135 jones 1.2  
136 jones 1.1  clean:
137 jones 1.2  	find . -name '*.o' -exec rm {} \;
138 jones 1.8  	find . -name '*.do' -exec rm {} \;
139            	rm -f mc_hms_single mc_hms_single_dbg
140 jones 1.2  
141            #the rule below updates a file, Makefile.dep, that lists which include files
142            #each fortran file uses.  If an include file is changed, all the fortran files
143            #that use it will automatically be recompiled.   p.mckee dec03
144            Makefile.dep : *.inc gen_constants.par
145            	@ echo "Updating dependencies on include files"
146            	@ echo -e "#specify include files used by each .f file\n" > Makefile.dep
147            	@ for file in `ls *.f | sed 's/\.f//'` ; do\
148                        inc_files=`cat $$file.f | sed -n 's/^[[:blank:]]*[Ii][Nn][Cc][Ll][Uu][Dd][Ee][ ]*['\''"]\(.*\)['\''"]/\1/p' | sort | uniq | xargs echo -n` ;\
149                        if [ -n "$$inc_files" ]; then \
150                          echo "$$file.o : $$file.f $$inc_files" >> Makefile.dep;\
151 jones 1.8                echo "$$file.do : $$file.f $$inc_files" >> Makefile.dep;\
152 jones 1.2              fi;\
153                      done
154            
155            include Makefile.dep

Analyzer/Replay: Mark Jones, Documents: Stephen Wood
Powered by
ViewCVS 0.9.2-cvsgraph-1.4.0