#*********************************************************
# Makefile for XROTOR Version 6.80
# M.Drela
# H.Youngren 11/28/98
#*********************************************************
# crotor, espara, esprop targets added
# PJC, Esotec Developments, 18 July 2011
# esloft, eslplots, esxfsubs targets added Aug 2011
#*********************************************************

SHELL = sh
BINDIR = $(HOME)/dev/bin/
#BINDIR = /home/codes/bin/

###================================================
###  Default compilers and flags

### Default system
FC = f77
FFLAGS = -O
FFLOPT = -O
#FFLAGS = -g -C -O0
#FFLOPT = -g -C -O0
INSTALLCMD = install -s

###  Plot libraries and link libs

#PLTOBJ = -lPlt
PLTOBJ = ../plotlib/libPlt.a 
#PLTOBJ = $(HOME)/lib/libPlt.a
#PLTOBJ = /usr/local/lib/libPlt.a

#LIBS = -lX11
LIBS = -L/usr/X11R6/lib -lX11
###================================================



###================================================
### Select any special compile options from this if 
### they apply to your system or add your own to 
### override the defaults


##--------------------------
## Linux f2c/gcc compiler driver 
#FC = fort77
#FFLAGS =  -O2 -fomit-frame-pointer
#FFLOPT =  -O2 -fomit-frame-pointer
#LIBS = -L/usr/X11R6/lib -lX11

##--------------------------
## Linux GNU g77
#FC = g77
#FFLAGS =  -O3 -fomit-frame-pointer
#FFLOPT =  -O3 -fomit-frame-pointer
#FFLAGS =  -g -O0 -C
#FFLOPT =  -g -O0 -C
#LIBS = -L/usr/X11R6/lib -lX11

##--------------------------
## Ubuntu gfortran
#FC = gfortran
#FFLAGS =  -g -O0 -C
#FFLAGS = -O
#FFLOPT =  -g -O0 -C
#FFLOPT = -O
#LIBS = -lX11

##--------------------------
## OSX gfortran
FC = gfortran
FFLAGS = -O
FFLOPT = -O
#LIBS = -lX11
LIBS =  -L/usr/X11R6/lib -lX11
LFLAGS = -static-libgfortran -static-libgcc 
#FTNLIB = /usr/local/gfortran/lib/libquadmath.a
FTNLIB =


##--------------------------
## Linux pgf77
#FC = pgf77
#FFLAGS =  -O -fast -Msave
#FFLOPT =  -O2 -fast -Msave
#LIBS = -g77libs -L/usr/X11R6/lib -lX11

###================================================


SRC = ../src

PROGS = xrotor jplot jplote esprop
#PROGS = xrotor

XROTOROBJS = xrotor.o xoper.o xdesi.o \
             xmodi.o  xaero.o xjmap.o xio.o \
             xnoise.o xrotpl.o xcasepl.o xbend.o \
             xinte.o xutils.o jputil.o \
             plutil.o modify.o srclin.o spline.o userio.o vortex.o \
             plotdata.o espara.o crotor.o \
             esloftx.o eslplots.o esxfsubs.o 

JPLOTOBJS  = jplot.o  xutils.o jputil.o userio.o
JPLOTEOBJS = jplote.o xutils.o jputil.o userio.o
ESPROPOBJS = esprop.o esplots.o userio.o


all:	 $(PROGS)

install: 
	$(INSTALLCMD) $(PROGS) $(BINDIR)

clean:
	-/bin/rm *.o
	-/bin/rm $(PROGS)
	-/bin/rm plot.ps


### Make targets

xrotor: $(XROTOROBJS)
	$(FC) -o xrotor $(LFLAGS) $(XROTOROBJS) $(PLTOBJ) $(LIBS) $(FTNLIB)

jplot: $(JPLOTOBJS)
	$(FC) -o jplot $(LFLAGS) $(JPLOTOBJS) $(PLTOBJ) $(LIBS) $(FTNLIB)

jplote: $(JPLOTEOBJS)
	$(FC) -o jplote $(LFLAGS) $(JPLOTEOBJS) $(PLTOBJ) $(LIBS) $(FTNLIB)

esprop: $(ESPROPOBJS)
	$(FC) -o esprop $(LFLAGS) $(ESPROPOBJS) $(PLTOBJ) $(LIBS) $(FTNLIB)


xrotor.o: $(SRC)/xrotor.f $(SRC)/XROTOR.INC
	$(FC) -c -I$(SRC) $(FFLAGS) $(SRC)/xrotor.f
xoper.o: $(SRC)/xoper.f $(SRC)/XROTOR.INC
	$(FC) -c -I$(SRC) $(FFLAGS) $(SRC)/xoper.f
xio.o: $(SRC)/xio.f $(SRC)/XROTOR.INC
	$(FC) -c -I$(SRC) $(FFLAGS) $(SRC)/xio.f
xdesi.o: $(SRC)/xdesi.f $(SRC)/XROTOR.INC
	$(FC) -c -I$(SRC) $(FFLAGS) $(SRC)/xdesi.f
xmodi.o: $(SRC)/xmodi.f $(SRC)/XROTOR.INC
	$(FC) -c -I$(SRC) $(FFLAGS) $(SRC)/xmodi.f
xaero.o: $(SRC)/xaero.f $(SRC)/XROTOR.INC
	$(FC) -c -I$(SRC) $(FFLAGS) $(SRC)/xaero.f
xjmap.o: $(SRC)/xjmap.f $(SRC)/XROTOR.INC
	$(FC) -c -I$(SRC) $(FFLAGS) $(SRC)/xjmap.f
xnoise.o: $(SRC)/xnoise.f $(SRC)/XROTOR.INC
	$(FC) -c -I$(SRC) $(FFLAGS) $(SRC)/xnoise.f
xrotpl.o: $(SRC)/xrotpl.f $(SRC)/XROTOR.INC
	$(FC) -c -I$(SRC) $(FFLAGS) $(SRC)/xrotpl.f
xcasepl.o: $(SRC)/xcasepl.f $(SRC)/XROTOR.INC
	$(FC) -c -I$(SRC) $(FFLAGS) $(SRC)/xcasepl.f
xbend.o: $(SRC)/xbend.f $(SRC)/XROTOR.INC
	$(FC) -c -I$(SRC) $(FFLAGS) $(SRC)/xbend.f
xinte.o: $(SRC)/xinte.f $(SRC)/XROTOR.INC
	$(FC) -c -I$(SRC) $(FFLAGS) $(SRC)/xinte.f
xutils.o: $(SRC)/xutils.f
	$(FC) -c -I$(SRC) $(FFLAGS) $(SRC)/xutils.f
srclin.o: $(SRC)/srclin.f
	$(FC) -c -I$(SRC) $(FFLAGS) $(SRC)/srclin.f
plutil.o: $(SRC)/plutil.f
	$(FC) -c -I$(SRC) $(FFLAGS) $(SRC)/plutil.f
modify.o: $(SRC)/modify.f
	$(FC) -c -I$(SRC) $(FFLAGS) $(SRC)/modify.f
spline.o: $(SRC)/spline.f
	$(FC) -c -I$(SRC) $(FFLAGS) $(SRC)/spline.f
userio.o: $(SRC)/userio.f
	$(FC) -c -I$(SRC) $(FFLAGS) $(SRC)/userio.f
vortex.o: $(SRC)/vortex.f
	$(FC) -c -I$(SRC) $(FFLOPT) $(SRC)/vortex.f
plotdata.o: $(SRC)/plotdata.f
	$(FC) -c -I$(SRC) $(FFLAGS) $(SRC)/plotdata.f
espara.o: $(SRC)/espara.f $(SRC)/ESPARA.INC
	$(FC) -c -I$(SRC) $(FFLAGS) $(SRC)/espara.f
crotor.o: $(SRC)/crotor.f $(SRC)/XROTOR.INC
	$(FC) -c -I$(SRC) $(FFLAGS) $(SRC)/crotor.f
esloftx.o: $(SRC)/esloftx.f $(SRC)/XROTOR.INC
	$(FC) -c -I$(SRC) $(FFLAGS) $(SRC)/esloftx.f
eslplots.o: $(SRC)/eslplots.f $(SRC)/XROTOR.INC
	$(FC) -c -I$(SRC) $(FFLAGS) $(SRC)/eslplots.f
esxfsubs.o: $(SRC)/esxfsubs.f $(SRC)/XROTOR.INC
	$(FC) -c -I$(SRC) $(FFLAGS) $(SRC)/esxfsubs.f

jplot.o: $(SRC)/jplot.f
	$(FC) -c -I$(SRC) $(FFLAGS) $(SRC)/jplot.f
jplote.o: $(SRC)/jplote.f
	$(FC) -c -I$(SRC) $(FFLAGS) $(SRC)/jplote.f
jputil.o: $(SRC)/jputil.f
	$(FC) -c -I$(SRC) $(FFLAGS) $(SRC)/jputil.f

esprop.o: $(SRC)/esprop.f
	$(FC) -c -I$(SRC) $(FFLAGS) $(SRC)/esprop.f
esplots.o: $(SRC)/esplots.f
	$(FC) -c -I$(SRC) $(FFLAGS) $(SRC)/esplots.f









