#
UNAMES = $(shell uname -s)
UNAMEN = $(shell uname -n| awk '/^ln[[:digit:]]+en/{print "lightning"}')
#UNAMEA = $(shell uname -a)
UNAMEM = $(findstring CRAY,$(shell uname -m))
#
#UNAME = $(shell /usr/local/bin/Uname)  # this does not seem to work
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 -DMSS
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,-DMSS -I/usr/local/include
 LIBS = -L /usr/local/lib32/r4i4 -lnetcdf -lmss -lhlu -lncarg \
      -lncarg_gks -lncarg_c -lX11 -lm -lmss -lnetcdf
#
#FFLAGS= -qfixed -WF,-DAIX,-DMSS -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) -DMSS -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
# Linux (non-lightning Linux, e.g. hao linux boxes):
#
 FC = pgf90
#
# Works with Fedora core 3:
 FFLAGS = -O2 -I/opt/local/include -DMSS -DLINUX
#FFLAGS = -g -I/opt/local/include -DMSS -DLINUX
#FFLAGS = -g -Mchkfpstk,chkptr,chkstk \
#         -I/opt/local/include -DMSS -DLINUX
#
 LIBS = -lg2c -lgcc -L /opt/local/lib -lhlu -lncarg -lncarg_gks -lncarg_c \
        -L /usr/X11R6/lib -lX11 -lXext \
        -L /opt/local/rh9/lib -lnetcdf
 CSRCS= wrxdrc.c v5d.c binio.c
 COBJS= $(CSRCS:.c=.o)
#
endif
endif
#----------------------------------------------------------------------
# Sun:
#
ifeq ($(UNAMES),SunOS)
 FC = f90
 FFLAGS = -O2 -I/opt/local/include -DMSS -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
