#
#   Configuration file for linux (32-bit reals). (64 bit addresses)
#
AR      = ar
ARFLAGS = rv
#
LARGE_FILE = -Dlinux -DFOPEN64
#
DEBUG = 
CC      = gcc
CFLAGS  = $(DEBUG) -O -DLITTLE_ENDIAN -DPOINTER_64 -DINTEGER_IS_INT $(LOCAL_CFLAGS) $(LARGE_FILE)
FASTCFLAGS = $(CFLAGS)
#
FC      = s.f90
FFLAGS = $(DEBUG)  -O -Dlinux -DLITTLE_ENDIAN -DPOINTER_64 -DINTEGER_IS_INT
#

.SUFFIXES: .o .c .F

.F.o:
	$(FC) $(FFLAGS) -c $<

.c.o:
	$(CC) $(CFLAGS) -c $<
#
#   Sources for libemos/gribex for sgimips.
#

HEADERS = \
   comars.h  \
   comcomm.h \
   comgrb.h  \
   ecdef1.h  \
   ecdef2.h  \
   ecdef3.h  \
   ecdef4.h  \
   ecdef5.h  \
   ecdef6.h  \
   ecdef7.h  \
   ecdef8.h  \
   ecdef9.h  \
   ecdef10.h \
   ecdef11.h \
   ecdef12.h \
   ecdef13.h \
   ecdef14.h \
   ecdef15.h \
   ecdef16.h \
   ecdef17.h \
   ecdef18.h \
   ecdef19.h \
   ecdf190.h \
   ecdf191.h \
   ECMWFdefinitions.h \
   gdecode.h \
   gdecode1.h \
   gdecode2.h \
   gdecodeStruct.h \
   getsetValues.h \
   grbcom.h  \
   gribex.h  \
   handleLocalDefinitions.h \
   sencode.h \
   sencode1.h \
   sencode2.h \
   sfbits.h

SOURCES.c = \
   csgnbt.c  \
   dsgnbt.c  \
   ECMWFdefinitions.c \
   findLocalDefinitionFile.c \
   fortranInterface.c \
   gdecode.c \
   gdecode1.c \
   gdecode2.c \
   getsetValues.c \
   grpr190.c \
   handleLocalDefinitions.c \
   jmalloc.c \
   jfree.c   \
   orefdat.c \
   sencode.c \
   sencode1.c \
   sencode2.c \
   swap4.c   \
   valpina.c

SOURCES.f    = 

SOURCES.F    = \
   abortx.F  \
   bufrin.F  \
   c2bitw.F  \
   c2cwid.F  \
   c2dosd.F  \
   c2gene.F  \
   c2ordr.F  \
   c2pack.F  \
   c2pkvw.F  \
   c2rnge.F  \
   c2rows.F  \
   calcop.F  \
   cheknum.F \
   chktab2.F \
   cmpck.F   \
   codeps.F  \
   confp.F   \
   confp2.F  \
   confp3.F  \
   confpa.F  \
   csect4.F  \
   d2ordr.F  \
   d2rosd.F  \
   decext.F  \
   decfp.F   \
   decfp2.F  \
   decogb.F  \
   decogc.F  \
   decogd.F  \
   decogr.F  \
   decops.F  \
   decops2.F \
   dggsec2.F \
   dlasec2.F \
   dllsec2.F \
   dmesec2.F \
   docsec2.F \
   dpssec2.F \
   dshsec2.F \
   dsvsec2.F \
   dsect4a.F \
   ecdef1.F  \
   ecdef10.F \
   ecdef11.F \
   ecdef12.F \
   ecdef13.F \
   ecdef14.F \
   ecdef15.F \
   ecdef16.F \
   ecdef17.F \
   ecdef18.F \
   ecdef19.F \
   ecdef50.F \
   ecdf191.F \
   ecdef2.F  \
   ecdef3.F  \
   ecdef4.F  \
   ecdef5.F  \
   ecdef6.F  \
   ecdef7.F  \
   ecdef8.F  \
   ecdef9.F  \
   ecloc1.F  \
   eggsec2.F \
   elasec2.F \
   ellsec2.F \
   emesec2.F \
   eocsec2.F \
   epssec2.F \
   eshsec2.F \
   esvsec2.F \
   emoscyc.F \
   exscal.F  \
   extmap.F  \
   ftn1cr.F  \
   gbitmap.F \
   genbin.F  \
   gendir.F  \
   getchd.F  \
   getfb2.F  \
   getfpd.F  \
   getib1.F  \
   getib2.F  \
   getib3.F  \
   getind.F  \
   getlgd.F  \
   getsys.F  \
   getusr.F  \
   grchk1.F  \
   grchk2.F  \
   grchk3.F  \
   grchk4.F  \
   gribex.F  \
   gribin.F  \
   gribnum.F \
   grprs0.F  \
   grprs1.F  \
   grprs1b.F \
   grprs2.F  \
   grprs3.F  \
   grprs4.F  \
   grprs4w.F \
   grsdbg.F  \
   grsdef.F  \
   grsmax.F  \
   grsmkp.F  \
   grsmok.F  \
   grsn2o.F  \
   grsref.F  \
   grsrnd.F  \
   grsubc.F  \
   grsvck.F  \
   grsx2o.F  \
   gscale.F  \
   inscal.F  \
   insmp1.F  \
   insmp2.F  \
   inxbit.F  \
   inxmap.F  \
   kwchk1.F  \
   kwloc1.F  \
   kwprs1.F  \
   maxmin.F  \
   maxmn2.F  \
   maxmni.F  \
   modval.F  \
   offset.F  \
   offset2.F \
   packcf.F  \
   prtbin.F  \
   prtbk1.F  \
   prtbk2.F  \
   prtbl1.F  \
   prtbl2.F  \
   ptquasi.F \
   qu2reg.F  \
   qu2reg3.F \
   reclen.F  \
   ref2grb.F \
   remsp.F   \
   repchr.F  \
   revero.F  \
   rorint.F  \
   rowina.F  \
   rowina2.F \
   rowina3.F \
   rtb.F     \
   scm0.F    \
   setpar.F  \
   tab2fil.F \
   u2l1cr.F  \
   uncmpck.F \
   unpkcf.F  \
   vod2uv.F  \
   yyyy2cy.F
#
# Header file dependencies
#
c2ordr.o: grbcom.h
codeps.o: grbcom.h
confp3.o: grbcom.h
csect4.o: grbcom.h
docsec2.o: eocsec2.h
ecdef1.o: ecdef1.h
ecdef10.o: ecdef10.h
ecdef11.o: ecdef11.h
ecdef13.o: ecdef13.h
ecdef2.o: ecdef2.h
ecdef3.o: ecdef3.h
ecdef4.o: ecdef4.h
ecdef5.o: ecdef5.h
ecdef6.o: ecdef6.h
ecdef7.o: ecdef7.h
ecdef8.o: ecdef8.h
ecdef9.o: ecdef9.h
eocsec2.o: eocsec2.h
gribex.o: gribex.h grbcom.h
grsdbg.o: grbcom.h
grsdef.o: grbcom.h
grsmkp.o: grbcom.h
grsmok.o: grbcom.h
grsn2o.o: grbcom.h
grsref.o: grbcom.h
grsrnd.o: grbcom.h
grsubc.o: grbcom.h
grsvck.o: grbcom.h
grsx2o.o: grbcom.h
#
#                                 Makefile for libemos/gribex
A64 = A64
#
LIB = gribex
#
CNAME = s.f90
#
LIBRARY      = ../lib/$(EC_ARCH)/lib$(LIB).a
#
#include ../config/config.$(BASE_ARCH)$(CNAME)$(R64)$(A64)
#
#include ../options/options_$(BASE_ARCH)
#
TARGETS      = all clean
#
#include sources.$(BASE_ARCH)
#
OBJECTS.F    = $(SOURCES.F:.F=.o) 
OBJECTS.c    = $(SOURCES.c:.c=.o)
OBJECTS      = $(OBJECTS.F) $(OBJECTS.c) 
#
#
.PRECIOUS: $(LIBRARY) 

all: $(LIBRARY)

$(LIBRARY): $(OBJECTS) $(EXTRAOBJ)
	mkdir -p ../lib/$(EC_ARCH)
	$(AR) $(ARFLAGS) $@ $?

#include make.dep

clean:
	\rm -f *.o

