##
## Per-architecture plugin compilation rules 
## Copyright 2002, Board of Trustees of the University of Illinois
## Theoretical Biophysics Group
##

make-arch-help:
	@echo "Type 'make arch' where arch is one of the platforms listed below:"
	@echo "--------------------------------------"
	@echo " AIX4"
	@echo " FREEBSD"
	@echo " HPUX11"
	@echo " IRIX6"
	@echo " IRIX6_64"
	@echo " LINUX"
	@echo " LINUXALPHA"
	@echo " LINUXPPC"
	@echo " LINUXIA64"
	@echo " MACOSX"
	@echo " SOLARIS2"
	@echo " SOLARIS2_64"
	@echo " TRU64"
	@echo " T3E"
	@echo " WIN32"
	@echo " WIN32-debug"
	@echo "--------------------------------------"
	@echo "Type 'make clean' to clean the compilation area"
	@echo "Type 'make arch OPT=myopt' to specfy additional options."
	@echo "Options include: "
	@echo "  TCLINC: Include path for Tcl"
	@echo "  TCLLIB: Library path for Tcl"

AIX4:
	$(MAKE) staticlibs \
	"ARCH = AIX4" \
	"COPTO = -o " \
	"LOPTO = -o " \
	"CC = xlc" \
	"CXX = xlC" \
	"CCFLAGS = -w -O4 -qinlglue -qarch=com -qtune=pwr3" \
	"CXXFLAGS = -w -O3 -qstrict -Q -qarch=com -qtune=pwr3" \
	"LDFLAGS = -qarch=com -qtune=pwr3" \
	"TCLLDFLAGS = -ltcl8.3" \
	"NM = nm -B" \
	"RANLIB = touch" \
	"SHLD = echo"
 
T3E:
	$(MAKE) staticlibs \
	"ARCH = T3E" \
	"COPTO = -o " \
	"LOPTO = -o " \
	"CC = cc" \
	"CXX = CC" \
	"CCFLAGS = -O2" \
	"CXXFLAGS = -O2" \
	"LDFLAGS = " \
	"TCLLDFLAGS = -ltcl8.3" \
	"NM = nm" \
	"RANLIB = touch" \
	"SHLD = echo"
 
IRIX6:
	$(MAKE)  staticlibs \
	"ARCH = IRIX6" \
	"COPTO = -o " \
	"LOPTO = -o " \
	"CC = cc -n32 -mips3 -KPIC" \
	"CXX = CC -n32 -mips3 -KPIC" \
	"CCFLAGS = -O2 -fullwarn" \
	"CXXFLAGS = -O2 -fullwarn" \
	"LDFLAGS = -n32 -mips3" \
	"TCLLDFLAGS = -ltcl8.3" \
	"NM = nm -p" \
	"RANLIB = touch" \
	"SHLD = cc -shared"
 
IRIX6_64:
	$(MAKE)  staticlibs \
	"ARCH = IRIX6_64" \
	"COPTO = -o " \
	"LOPTO = -o " \
	"CC = cc -64 -mips4 -KPIC" \
	"CXX = CC -64 -mips4 -KPIC" \
	"CCFLAGS = -O2 -fullwarn" \
	"CXXFLAGS = -O2 -fullwarn" \
	"LDFLAGS = -64 -mips4" \
	"TCLLDFLAGS = -ltcl8.3" \
	"NM = nm -p" \
	"RANLIB = touch" \
	"SHLD = cc -shared -64 -mips4"
 
SOLARIS2:
	$(MAKE)  staticlibs \
	"ARCH = SOLARIS2" \
	"COPTO = -o " \
	"LOPTO = -o " \
	"CC = cc -mt -fast -xarch=v8plusa" \
	"CXX = CC -mt -fast -xarch=v8plusa" \
 	"CCFLAGS = " \
 	"CXXFLAGS = " \
	"TCLLDFLAGS = -ltcl8.3 -lsocket -lnsl -ldl" \
	"NM = nm -p" \
	"RANLIB = touch" \
	"SHLD = cc -mt -fast -xarch=v8plusa -G"

SOLARIS2_64:
	$(MAKE)  staticlibs \
	"ARCH = SOLARIS2_64" \
	"COPTO = -o " \
	"LOPTO = -o " \
	"CC = cc -D__EXTENSIONS__ -fast -mt -xarch=v9a" \
	"CXX = CC -D__EXTENSIONS__ -fast -mt -xarch=v9a" \
 	"CCFLAGS = " \
 	"CXXFLAGS = " \
	"TCLLDFLAGS = -ltcl8.3 -lsocket -lnsl -ldl" \
	"NM = nm -p" \
	"RANLIB = touch" \
	"SHLD = cc -D__EXTENSIONS__ -xarch=v9a -G"

TRU64:
	$(MAKE)  staticlibs \
	"ARCH = TRU64" \
	"COPTO = -o " \
	"LOPTO = -o " \
	"CC = cc" \
	"CXX = cxx" \
 	"CCFLAGS = -fast" \
 	"CXXFLAGS = -fast" \
	"TCLLDFLAGS = -ltcl8.3 -lm" \
	"NM = nm -B" \
	"RANLIB = touch" \
	"SHLD = ld -shared"

FREEBSD:
	$(MAKE)  staticlibs \
	"ARCH = FREEBSD" \
	"COPTO = -o " \
	"LOPTO = -o " \
	"CC = gcc" \
	"CXX = g++" \
	"CCFLAGS = -O2 -Wall -ansi -I/usr/local/include/tcl8.4" \
	"CXXFLAGS = -O2 -Wall" \
	"TCLLDFLAGS = -L/usr/local/lib -ltcl8.384" \
	"NM = nm -p" \
	"RANLIB = touch" \
	"SHLD = gcc -shared"

LINUX:
	$(MAKE)  staticlibs \
	"ARCH = LINUX" \
	"COPTO = -o " \
	"LOPTO = -o " \
	"CC = gcc" \
	"CXX = g++" \
	"CCFLAGS = -O2 -Wall -ansi" \
	"CXXFLAGS = -O2 -Wall" \
	"TCLLDFLAGS = -ltcl8.3 -ldl" \
	"NM = nm -p" \
	"RANLIB = touch" \
	"SHLD = gcc -shared"
	
LINUXALPHA:
	$(MAKE)  staticlibs \
	"ARCH = LINUXALPHA" \
	"COPTO = -o " \
	"LOPTO = -o " \
	"CC = ccc" \
	"CXX = cxx" \
	"CCFLAGS = -O4 -arch host -tune host" \
	"CXXFLAGS = -O4 -arch host -tune host" \
	"TCLLDFLAGS = -ltcl8.3 -ldl" \
	"NM = nm -p" \
	"RANLIB = touch" \
	"SHLD = gcc -shared"
	
LINUXPPC:
	$(MAKE)  staticlibs \
	"ARCH = LINUXPPC" \
	"COPTO = -o " \
	"LOPTO = -o " \
	"CC = gcc" \
	"CXX = g++" \
	"CCFLAGS = -O2 -Wall" \
	"CXXFLAGS = -O2 -Wall" \
	"TCLLDFLAGS = -ltcl8.3 -ldl" \
	"NM = nm -p" \
	"RANLIB = touch" \
	"SHLD = gcc -shared"

LINUXIA64:
	$(MAKE)  staticlibs \
	"ARCH = LINUXIA64" \
	"COPTO = -o " \
	"LOPTO = -o " \
	"CC = ecc" \
	"CXX = ecpc" \
	"CCFLAGS = -O2" \
	"CXXFLAGS = -O2" \
	"TCLLDFLAGS = -ltcl8.3 -ldl" \
	"NM = nm -p" \
	"RANLIB = touch" \
	"SHLD = ecc -shared"
	
HPUX11:
	$(MAKE)  staticlibs \
	"ARCH = HPUX11" \
	"COPTO = -o " \
	"LOPTO = -o " \
	"CC = cc" \
	"CXX = aCC" \
	"CCFLAGS = +O2 +DAportable -Ae +z" \
	"CXXFLAGS = +O2 +DAportable +z" \
	"TCLLDFLAGS = -ltcl8.3" \
	"NM = nm -p" \
	"RANLIB = touch" \
	"SHLD = ld -b"

MACOSX:
	$(MAKE)  staticlibs \
	"ARCH = MACOSX" \
	"COPTO = -o " \
	"LOPTO = -o " \
	"CC = cc" \
	"CXX = CC" \
	"CCFLAGS = -Os -Wall -fPIC -dynamic" \
	"CXXFLAGS = -Os -Wall -fPIC -dynamic" \
	"TCLLDFLAGS = -framework Tcl" \
	"NM = nm -p" \
	"RANLIB = ranlib" \
	"SHLD = c++ -bundle" \
	"TCLSHLD = cc -dynamiclib"

WIN32:
	$(MAKE)  win32staticlibs \
	"ARCH = WIN32" \
	"COPTO = /Fo" \
	"LOPTO = /OUT:" \
	"CC = cl.exe /nologo /MT /DWIN32" \
	"CXX = cl.exe /nologo /MT /TP /DWIN32" \
	"CCFLAGS = /O2 /G5" \
	"CXXFLAGS = /O2 /G5" \
	"TCLLDFLAGS = tcl83.lib" \
	"NM = nm -p" \
	"RANLIB = touch" \
	"SHLD = link /DLL /nologo /incremental:no \
		kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib \
		advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib \
		odbc32.lib odbccp32.lib ws2_32.lib /OPT:REF"

WIN32-debug:
	$(MAKE)  win32staticlibs \
	"ARCH = WIN32-debug" \
	"COPTO = /Fo" \ 
	"LOPTO = /OUT:" \
	"CC = cl.exe /nologo /MTd /DWIN32" \
	"CXX = cl.exe /nologo /MTd /TP /DWIN32" \
	"CCFLAGS = /ZI /Od /G5 /D\"_DEBUG\"" \
	"CXXFLAGS = /ZI /Od /G5 /D\"_DEBUG\"" \
	"TCLLDFLAGS = tcl83.lib" \
	"MYSQLFLAGS = mysqlclient.lib zlib.lib" \
	"NM = nm -p" \
	"RANLIB = touch" \
	"SHLD = link /DLL /nologo /incremental:no /debug /warn:4 \
		kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib \  
		advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib \
		odbc32.lib odbccp32.lib ws2_32.lib /OPT:REF"
