SHELL=/bin/sh

#  mentioned include files can be found.
#FDEFS=-DUSE_PNG -DUSE_JPEG2000
#INCDIR=-I/apps/wgrib2/grib2/include

LIB=libcsv.a

#--------------------------------------
# The following was used for XLF on AIX
#DEFS=-DAIX -DHAVE_SYS_TYPES_H=1
#FC=xlf
#CC=xlc
#CPP=/usr/ccs/lib/cpp -P
#MODDIR=../g2mod
#FFLAGS=-O3 -g -qnosave -qarch=auto -qmoddir=$(MODDIR) -I $(MODDIR)
#CFLAGS=-O3 -q64 -g -qcpluscmt -qarch=auto $(DEFS) $(INCDIR)
#ARFLAGS=-X64

#--------------------------------------
# The following was used for F90 on LINUX
#  ----- used with 32-bit machine  ---
#
# DEFS=-DLINUXF90
# FC=f90
# CC=gcc
# CFLAGS=-O3 $(DEFS) $(INCDIR)

#--------------------------------------
# The following was used for PGF90 on LINUX
# ----- used with 32-bit machine  ---
#
# DEFS=-DLINUX
# FC=pgf90
# CC=cc
# FFLAGS=-O3 -I $(MODDIR)
# CFLAGS=-O3 $(DEFS) $(INCDIR)
# CPP=cpp -P -C
# MODDIR=.

#--------------------------------------
# The following was used for PGF90 on LINUX
# ----- used with 64-bit machine  ---
#
# DEFS=-DLINUX
# FC=pgf90
# CC=cc
# FFLAGS=-O3 -I $(MODDIR)
# CFLAGS=-O3 $(DEFS) $(INCDIR) -D__64BIT__
# CPP=cpp -P -C
# MODDIR=.

# DEFS=-DLINUX
# FC=ifort 
# CC=icc
# FFLAGS=-static -O3 -I $(MODDIR) -xHOST -ip -lstdc++ -assume byterecl -convert little_endian  -m64
# CFLAGS=-static -O3 -xHOST -ip $(DEFS) $(INCDIR) -D__64BIT__
# CPP=cpp -P -C
# MODDIR=.

#--------------------------------------
# The following was used for GFORTRAN on LINUX
#  ----- used with 32-bit machine  ---
#
# DEFS=-DLINUX
# FC=gfortran
# CC=cc
# FFLAGS=-O3 -g -m32 -I $(MODDIR)
# CFLAGS=-O2 -g -m32 $(DEFS) $(INCDIR)
# CPP=cpp -P -C
# MODDIR=.

#--------------------------------------
# The following was used for GFORTRAN on LINUX
# ----- used with 64-bit machine  ---

 DEFS=-DLINUX
 FC=gfortran
 CC=cc
 FFLAGS=-O3 -I $(MODDIR) -ffree-form -m64 -cpp
 CFLAGS=-O3 $(DEFS) $(INCDIR) -D__64BIT__
 CPP=cpp -P -C
 MODDIR=.


#--------------------------------------
# The following was used for f95 on LINUX
#  ----- used with 32-bit machine  ---
#
# DEFS=-DLINUX
# FC=f95
# CC=gcc
# FFLAGS=-O3 -g -m32 -I $(MODDIR)
# CFLAGS=-O2 -g -m32 $(DEFS) $(INCDIR)
# CPP=cpp -P -C
# MODDIR=.

#--------------------------------------
# The following was used for G95 on LINUX
#  ----- used with 32-bit machine  ---
#
#DEFS=-DLINUXG95
#FC=g95
#CC=cc
#CPP=cpp -P -C
#MODDIR=.
#CFLAGS=-O3 $(DEFS) $(INCDIR)
#FFLAGS=-O3 -g -I $(MODDIR)

#
#--------------------------------------
# The following was used for G95 on LINUX
# ----- used with 64-bit machine  ---
#
# DEFS=-DLINUXG95
# FC=g95
# CC=cc
# CPP=cpp -P -C
# MODDIR=.
# CFLAGS=-O3 $(DEFS) $(INCDIR) -D__64BIT__
# FFLAGS=-O3 -g -I $(MODDIR)
#

ARFLAGS=

#--------------------------------------

.SUFFIXES: .a .f90 .F90 .c

$(LIB):	$(LIB)(csv_kinds.o)  \
	$(LIB)(csv_parameters.o) \
	$(LIB)(csv_utilities.o) \
	$(LIB)(csv_module.o) 

.F90.f90:
	$(CPP) $(FDEFS) $*.F $*.f

.f90.a:
	$(FC) -c $(FFLAGS) $<
	ar $(ARFLAGS) -ruv $@ $*.o
	rm -f $*.o

.c.a:
	$(CC) -c $(CFLAGS) $<
	ar $(ARFLAGS) -ruv $@ $*.o
	rm -f $*.o
clean:
	rm -f *.o *.mod *.a
