#
#     ##################################################################
#     ##################################################################
#     ######                                                      ######
#     ######      Advanced Regional Prediction System (ARPS)      ######
#     ######                   Version 5.2                        ######
#     ######                                                      ######
#     ######                     Developed by                     ######
#     ######     Center for Analysis and Prediction of Storms     ######
#     ######                University of Oklahoma                ######
#     ######                                                      ######
#     ##################################################################
#     ##################################################################
#
#=======================================================================
#
#  PURPOSE: This makefile generates the SKEWTNCAR/SKEWTPOST executable
#
#  AUTHOR:  Yunheng Wang
#           6/02/2005
#
#  Modification history:
#
#
#  OTHER INFORMATION:
#       See the makearps command.
#
#=======================================================================

#-----------------------------------------------------------------------
#
# Default shell
#
#-----------------------------------------------------------------------

# SHELL=/bin/csh

#-----------------------------------------------------------------------
#
# Default names of the loader and tar, can be replaced on the command
# line for other system
#
#-----------------------------------------------------------------------

FTN = f90
LDR = $(FTN)
CC  = cc
CPP = cpp

ARPS_LD = $(LDR)

TAR = tar
AWK = awk
RM  = rm
LN  = ln

TOPDIR = 
BINDIR  = $(TOPDIR)/bin
INCLDIR = $(TOPDIR)/include
LIBDIR  = $(TOPDIR)/lib

#-----------------------------------------------------------------------
#
# Compiler Flag of Options. The default is for AIX Fortran xlf.
#
#-----------------------------------------------------------------------

FFLAGS =
CFLAGS =
LDFLAGS =
CPPFLAGS = -C -P

FIXFLAGS  =
FREEFLAGS =

#-----------------------------------------------------------------------
#
# Dependencies
#
#-----------------------------------------------------------------------

.SUFFIXES: $(SUFFIXES) .f90

.f.o:
	$(FTN) $(FFLAGS) $(FIXFLAGS) -c $<
.f90.o:
	$(FTN) $(FFLAGS) $(FREEFLAGS) -w -c $<
.c.o:
	$(CC)  $(CFLAGS) -c $<

#-----------------------------------------------------------------------
#
# Executable to be generated by this make file:
#
# SKEWTNEXE = skewtncar       SKEWTNCAR executable
# SKEWTPEXE = skewtpost       SKEWTPOST executable
#
#-----------------------------------------------------------------------

SKEWTNEXE   = skewtncar
SKEWTPEXE   = skewtpost

#-----------------------------------------------------------------------
#
# ZXPLOT library to be linked
#
# LIBZXPOST = libzxpost      ZXPLOT shared library to generate PS file
# LIBZXNCAR = libzxncar      ZXPLOT shared library to generate NCAR gmeta file
#
#-----------------------------------------------------------------------

LIBZXPOST = libzxpost
LIBZXNCAR = libzxncar

#-----------------------------------------------------------------------
#
# List of machine-dependent object codes
#
#-----------------------------------------------------------------------

SKEWTOBJS1   = hodograph.o thermosubs.o barb.o sfcupd.o misc_kb.o       \
               helcont.o denmwind.o readsound.o parseinput.o indices.o  \
               preciptype.o c.miscsubs2.o myzxsubs.o
SKEWTOBJS    = skewt.o $(SKEWTOBJS1)


#-----------------------------------------------------------------------
#
# Set Default
#
#-----------------------------------------------------------------------

default: $(SKEWTPEXE)

#-----------------------------------------------------------------------
#
# Compile and link skewtncar/skewtpost
#
#-----------------------------------------------------------------------

$(SKEWTNEXE): $(BINDIR)/$(SKEWTNEXE)
	ls -l $(BINDIR)/$(SKEWTNEXE)

$(SKEWTPEXE): $(BINDIR)/$(SKEWTPEXE)
	ls -l $(BINDIR)/$(SKEWTPEXE)

$(BINDIR)/$(SKEWTNEXE): $(SKEWTOBJS) $(LIBDIR)/$(LIBZXNCAR).a
	$(ARPS_LD) $(LDFLAGS) -o $@ $(SKEWTOBJS)             \
                           $(LIBDIR)/$(LIBZXNCAR).a          \
                           $(LIBS)

$(BINDIR)/$(SKEWTPEXE): $(SKEWTOBJS) $(LIBDIR)/$(LIBZXPOST).a
	$(ARPS_LD) $(LDFLAGS) -o $@ $(SKEWTOBJS)             \
                           $(LIBDIR)/$(LIBZXPOST).a          \
                           $(LIBS)

#-----------------------------------------------------------------------
#
# Remove the object code for individual programs
#
#-----------------------------------------------------------------------

clean.skewt:
	-$(RM) -f $(BINDIR)/$(SKEWTNEXE) $(BINDIR)/$(SKEWTPEXE)   \
                  $(SKEWTOBJS) skewt.f90

#-----------------------------------------------------------------------
#
# Object code dependency list:
#
#-----------------------------------------------------------------------

skewt.o      : skewt.F      $(INCLDIR)/thermo.consts  \
                            $(INCLDIR)/thermo.stfunc
	-$(RM) -f skewt.f90;
	$(CPP) $(CPPFLAGS) skewt.F skewt.f90;
	$(FTN) $(FFLAGS) $(FREEFLAGS) -c skewt.f90
