#*********************************************************
# Win32 Makefile for XROTOR Version 7.0
# M.Drela
# H.Youngren 10/23/00
#*********************************************************
# crotor, espara, esprop targets added
# PJC, Esotec Developments, 18 July 2011
# esloft, eslplots, esxfsubs targets added Aug 2011
#*********************************************************


SHELL = sh
BINDIR = $(HOME)\bin\


###================================================
###  Compilers and flags


# intel fortran
FC = ifort
#DP = /4R8
FFLAGS  = /O3 $(DP) /W1 /thread
FLOPT  = /O3 $(DP) /W1 /thread
LFLAGS  = /threads /4Yportlib /link  

#LFLAGS  = /threads /4Yportlib /link /NODEFAULTLIB:LIBC.LIB

# more optimization
#FLOPT   = /fast $(DP) /W1 /thread
#LFLAGS  = /fast /4Yportlib /link 

LIBS = gdi32.lib user32.lib 

INSTALLCMD = install -s

###  Plot libraries and link libs
### Location of Pltlib and other libraries
#PLTOBJ = C:\Users\Guppy\Aero\Aero-progs\lib\libPlt.lib
PLTOBJ = ..\plotlib\libPlt.lib

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



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



SRC = ..\src

PROGS = xrotor.exe jplot.exe jplote.exe esprop.exe

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

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

all:	 $(PROGS)

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

clean:
	del *.obj
	del $(PROGS)
	del plot.ps


### Make targets

xrotor.exe: $(XROTOROBJS)
	$(FC) /exe:xrotor.exe  $(XROTOROBJS) $(PLTOBJ) $(LFLAGS) $(LIBS)

jplot.exe: $(JPLOTOBJS)
	$(FC) /exe:jplot.exe $(JPLOTOBJS) $(PLTOBJ) $(LFLAGS) $(LIBS)

jplote.exe: $(JPLOTEOBJS)
	$(FC) /exe:jplote.exe $(JPLOTEOBJS) $(PLTOBJ) $(LFLAGS) $(LIBS)

esprop.exe: $(ESPROPOBJS)
	$(FC) /exe:esprop.exe $(ESPROPOBJS) $(PLTOBJ) $(LFLAGS) $(LIBS)


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

jplot.obj: $(SRC)\jplot.f
	$(FC) /c /I$(SRC) $(FFLAGS) $(SRC)\jplot.f
jplote.obj: $(SRC)\jplote.f
	$(FC) /c /I$(SRC) $(FFLAGS) $(SRC)\jplote.f
jputil.obj: $(SRC)\jputil.f
	$(FC) /c /I$(SRC) $(FFLAGS) $(SRC)\jputil.f

esprop.obj: $(SRC)\esprop.f
	$(FC) /c /I$(SRC) $(FFLAGS) $(SRC)\esprop.f
esplots.obj: $(SRC)\esplots.f
	$(FC) /c /I$(SRC) $(FFLAGS) $(SRC)\esplots.f







