# UNAMES = $(shell uname -s) UNAMEN = $(shell uname -n) #UNAMEN = $(shell uname -n| awk '/^ln[[:digit:]]+en/{print "lightning"}') UNAMEA = $(shell uname -a) UNAMEM = $(findstring CRAY,$(shell uname -m)) # # Determine 32 vs 64 bit: NBIT = $(shell uname -a| awk '/x86_64/{print "64"}') ifneq ($(NBIT),64) NBIT = 32 endif EXEC = tgcmproc_f90 #---------------------------------------------------------------------- # CRAY under UNICOS (J90 or J90se): # ifeq ($(UNAMEM),CRAY) #ifeq ($(UNAME),unicos) #CRAY_begin # FC = f90 FFLAGS = -I/usr/local/include LIBS= -L/usr/local/lib -lhlu -lncarg -lncarg_gks -lncarg_c -lX11 -lnetcdf -lm -lmss -lfitpack LDFLAGS = CSRCS= wrxdrc.c v5d.c binio.c COBJS= $(CSRCS:.c=.o) #CRAY_end endif #---------------------------------------------------------------------- # SGI O2K: # ifeq ($(UNAMES),IRIX64) # FC = f90 FFLAGS= -I/usr/local/include -r4 -64 -mips4 -ftpp -DSGI LIBS= -L/usr/local/lib_mips4_r4 -L /usr/local/lib64/r4i4 -lhlu -lncarg \ -lncarg_gks -lncarg_c -lX11 -lm -lnetcdf -lfitpack LDFLAGS = -64 CSRCS= wrxdrc.c v5d.c binio.c COBJS= $(CSRCS:.c=.o) CFLAGS = -c -64 -mips4 -DSGI -DUNDERSCORE endif #---------------------------------------------------------------------- # IBM SP: AIX # ifeq ($(UNAMES),AIX) FC = xlf90 # #FFLAGS= -qfixed -WF,-DAIX, -I/usr/local/include # # 1/25/07: Add -qxflag=ncontigcheck as temporary fix for ":" vs "1" in # calls to fmean and fglbm, e.g., mklons.F. FFLAGS= -qxflag=ncontigcheck -qfixed -WF,-DAIX -I/usr/local/include LIBS = -L /usr/local/lib64/r4i4 -lnetcdf -lhlu -lncarg \ -lncarg_gks -lncarg_c -lX11 -lm -lnetcdf -lpng_ncl -lz_ncl # #FFLAGS= -qfixed -WF,-DAIX -I/usr/local/include -q64 #LIBS = -L /usr/local/lib64/r4i4 -lnetcdf -lmss -lhlu -lncarg \ # -lncarg_gks -lncarg_c -lX11 -lm -lmss -lnetcdf # CSRCS= wrxdrc.c v5d.c binio.c COBJS= $(CSRCS:.c=.o) #CFLAGS = -c -q64 #LDFLAGS = -q64 -bloadmap:loadmap CFLAGS = -c LDFLAGS = -bloadmap:loadmap endif #---------------------------------------------------------------------- # UNAMES -> Linux, then UNAMEN tests for lightning Linux (vs hao Linux): # ifeq ($(UNAMES),Linux) #- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - ifeq ($(UNAMEN),lightning) # # Lightning Linux: # FC = pgf90 NETCDF_INC = /usr/local/netcdf/3.5.1-pgi5.2-64/include NETCDF_LIB = /usr/local/netcdf/3.5.1-pgi5.2-64/lib NCARG_INC = /usr/local/ncarg/4.4.2-pgi5.2-64/include NCARG_LIB = /usr/local/ncarg/4.4.2-pgi5.2-64/lib FFLAGS = -I $(NETCDF_INC) -I $(NCARG_INC) -DLINUX LIBS = -L $(NCARG_LIB) -lgcc -lhlu -lncarg -lncarg_gks -lncarg_c \ -L /usr/X11R6/lib64 -lX11 -lXext \ -L $(NETCDF_LIB) -lnetcdf CSRCS= wrxdrc.c v5d.c binio.c COBJS= $(CSRCS:.c=.o) #- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - else # # This can be any mirage[x], where x=1-6, or storm[x], i.e., DASG machines ifeq ($(UNAMEN),mirage0) # # Linux Vislab machine: # NETCDF_INC = /fs/local/include NETCDF_LIB = /fs/local/lib NCARG_INC = /fs/local/include NCARG_LIB = /fs/local/lib FC = ifort FFLAGS = -O2 -fixed -diag-disable remark -I $(NETCDF_INC) -I $(NCARG_INC) -DLINUX LIBS = -L $(NCARG_LIB) -lgcc -lhlu -lncarg -lncarg_gks -lncarg_c \ -L /usr/X11R6/lib64 -lX11 -lXext \ -L $(NETCDF_LIB) -lnetcdf -lhdf5_hl -lhdf5 -lsz -L/usr/lib64 -lz -lcurl -lgfortran CSRCS= wrxdrc.c v5d.c binio.c COBJS= $(CSRCS:.c=.o) #- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - else # # Linux (non-lightning Linux, e.g. hao linux boxes): # FC = pgf90 FFLAGS = -O2 -I/opt/local/include -DLINUX #FFLAGS = -g -I/opt/local/include -DLINUX #FFLAGS = -g -Mchkfpstk,chkptr,chkstk \ # -I/opt/local/include -DLINUX # #LIBS = -L/usr/lib/gcc-lib/i386-redhat-linux/3.2.3/ -lg2c -lgcc \ # -L /opt/local/lib -lhlu -lncarg -lncarg_gks -lncarg_c -lnetcdf \ # -L /usr/lib -lX11 -lXext # # 1/21/08: Remove links to g2c and gcc -- this works on hao fc7 systems: # #LIBS = -L /opt/local/lib -lhlu -lncarg -lncarg_gks -lncarg_c -lnetcdf \ # -L /usr/lib -lX11 -lXext # # 7/12/10: try new 5.2.0 version of ncarg to build on 64-bit Linux systems: # (For 64-bit, use /opt/local/netcdf/linux86-64/lib for netcdf) # ifeq ($(NBIT),64) #LIBS = -L /opt/local/ncl-5.2.0/lib -lhlu -lncarg -lncarg_gks -lncarg_c \ # -L /usr/lib64 -lX11 -lXext -lgfortran -L /opt/local/netcdf/linux86-64/lib -lnetcdf LIBS = -L /opt/local/ncarg-6.0/linux86-64/lib -lhlu -lncarg -lncarg_gks -lncarg_c \ -L /usr/lib64 -lX11 -lXext -lgfortran -L /opt/local/netcdf/linux86-64/lib -lnetcdf else LIBS = -L /opt/local/lib -lhlu -lncarg -lncarg_gks -lncarg_c -lnetcdf \ -L /usr/lib -lX11 -lXext endif CSRCS= wrxdrc.c v5d.c binio.c COBJS= $(CSRCS:.c=.o) # endif endif endif #---------------------------------------------------------------------- # Sun: # ifeq ($(UNAMES),SunOS) FC = f90 FFLAGS = -O2 -I/opt/local/include -DSUN LIBS = -L /opt/local/lib -lnetcdf -lhlu -lncarg -lncarg_gks -lncarg_c -lX11 \ -L/opt/share/PUBLIC/lib.SunOS -lm -xlic_lib=sunperf \ -lF77 -lM77 -lnsl -lsunmath endif #---------------------------------------------------------------------- #EXEC_begin # # $OBJS is defined in disk file Objects (made with perl mkdep) include Objects .SUFFIXES: .F $(EXEC): $(OBJS) $(COBJS) $(FC) -o $@ $(OBJS) $(COBJS) $(LDFLAGS) $(LIBS) include Depends .f.o: $(FC) -c $(FFLAGS) $< .F.o: $(FC) -c $(FFLAGS) $< clean: echo "Removing *.o *.mod" rm *.o *.mod cleanobj: echo "Removing object code *.o *.mod rm *.o *.mod cleansrc: echo "Removing source code *.h *.F *.c veryclean: echo "Removing most everything..." rm *.o *.mod *.h *.F *.c *.dat *.tar Makefile mkdep mktar fort* cwd Depends Objects Srcfiles tgcmproc_f90 #EXEC_end