# $Id: Makefile 1807 2007-08-21 17:02:32Z fpierfed $

CFLAGS = -O3 -fPIC -D_GNU_SOURCE -I../lib -I$(MOPS_HOME)/include
#CFLAGS = -D_GNU_SOURCE -I$(MOPS_HOME)/include
LDFLAGS = -i_dynamic -L../lib -L../ext_lib -L$(MOPS_HOME)/lib

all: libmopsod.so testod mopsdiffcor

clean:
	/bin/rm -f *.o *.mod *.so testod mopsdiffcor

libmopsod.so: mopsod.h mopsod.c ssd.f90 glue.f90
	gcc $(CFLAGS) -c mopsod.c
	ifort $(CFLAGS) -c -o ssd.o ssd.f90
	ifort $(CFLAGS) $(LDFLAGS) -shared -o libmopsod.so \
		ssd.f90 glue.f90 mopsod.o \
		-lod -lobs_mod -lcomp -ltraj -lvarlist -lephrd -lutil -lsys \
		-lnavio -lnavsys -lesl -lmath77

install: all
	install libmopsod.so $(MOPS_HOME)/lib
	install mopsod.h $(MOPS_HOME)/include
	install mopsdiffcor $(MOPS_HOME)/bin
	install orb2resids $(MOPS_HOME)/bin

testod: testod.c libmopsod.so
	gcc $(CFLAGS) -c testod.c
	ifort $(CFLAGS) $(LDFLAGS) -nofor_main -L. -o testod testod.o -lmopsod

mopsdiffcor: mopsdiffcor.c libmopsod.so
	gcc $(CFLAGS) -c mopsdiffcor.c
	ifort $(CFLAGS) -L. $(LDFLAGS) -nofor_main -o mopsdiffcor mopsdiffcor.o -lmopsod -lmiti
