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

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