NHDIR = $(dir $(CURDIR))

# This needs to be set in order to find the febio .h files.
FEBINC = $(CURDIR)/include
# This needs to be set in order to find the febio library files.
FEBLIB = $(CURDIR)/lib

lnx64:	PLAT = lnx64
lnx64:  BIT = 64
lnx32:	PLAT = lnx32
lnx32:	BIT = 32
gcc64:	PLAT = gcc64
gcc64:	BIT = 64
gcc32:	PLAT = gcc32
gcc32:	BIT = 32

osx: 	PLAT = osx

win32:	PLAT = win32
win32:	BIT = 32
win64:	PLAT = win64
win64:	BIT = 64

lnx64clean: PLAT = lnx64
lnx32clean: PLAT = lnx32
gcc64clean: PLAT = gcc64
gcc32clean: PLAT = gcc32

osxclean: PLAT = osx

win32clean: PLAT = win32
win64clean: PLAT = win64

export PLAT
export FEBLIB
export NHDIR

# Assumes the Intel C++ compiler.  Use g++ for the gnu compiler and run "make gcc".
lnx64: export CC = g++
lnx32: export CC = g++
gcc64: export CC = g++
gcc32: export CC = g++
osx: export CC = g++
win64: export CC = x86_64-w64-mingw32-g++
win32: export CC = i686-w64-mingw32-g++
export FLG = -O3 -fPIC -m$(BIT)

# Can be removed if not using the Intel compiler.
#export LNKFLG = -static-intel
export INC = -I$(FEBINC)

lnx64 lnx32 gcc64 gcc32:
	( cd $(PLAT); $(MAKE) -f ../gordon1966.mk SFX="so" SLIB="a" )

osx:
	( cd $(PLAT); $(MAKE) -f ../gordon1966.mk SFX="dylib" SLIB="a" )

win32 win64:
	( cd $(PLAT); $(MAKE) -f ../gordon1966.mk SFX="dll" SLIB="lib" )	
	
lnx64clean lnx32clean gcc64clean gcc32clean:
	( cd $(PLAT); $(MAKE) -f ../gordon1966.mk SFX="so" SLIB="a" clean )

osxclean:
	( cd $(PLAT); $(MAKE) -f ../gordon1966.mk SFX="dylib" SLIB="a" clean )

win32clean win64clean:
	( cd $(PLAT); $(MAKE) -f ../gordon1966.mk SFX="dll" SLIB="lib" clean )		
	
.PHONY: lnx64 lnx32 gcc64 gcc32 osx win32 win64