
CPPFLAGS = -I/usr/include/maxdb
CPPLIBS     = -L$(SQLDBCSDK)/lib -lSQLDBC
CPPLIBS64   = -L$(SQLDBCSDK)/lib/lib64 -lSQLDBC
CLIBS     = -L$(SQLDBCSDK)/lib -lSQLDBC_C
CLIBS64   = -L$(SQLDBCSDK)/lib/lib64 -lSQLDBC_C

# Maxim L. (Intel): select Intel compiler if used for build
CC = cc
CXX = c++


sun: HelloWorld-sun HelloWorld_C-sun
hpux: HelloWorld-hpux HelloWorld_C-hpux
linux: HelloWorld-linux HelloWorld_C-linux
dec: HelloWorld-dec HelloWorld_C-dec
hpIa64: HelloWorld-hpIa64 HelloWorld_C-hpIa64
linuxppc: HelloWorld-linuxppc HelloWorld_C-linuxppc
aix: HelloWorld-aix HelloWorld_C-aix

HelloWorld-sun:
	CC -c -xarch=v9 $(CPPFLAGS) HelloWorld.cpp
	CC -o $@ -xarch=v9 HelloWorld.o $(CPPLIBS64)
	cp $@ HelloWorld

HelloWorld_C-sun:
	cc -c -xarch=v9 $(CPPFLAGS) HelloWorld_C.c
	cc -o $@ -xarch=v9 HelloWorld_C.o $(CLIBS64) -lCrun -lm
	cp $@ HelloWorld_C

HelloWorld-aix:
	xlC -c -q64 $(CPPFLAGS) HelloWorld.cpp
	xlC_r -o $@ -q64 -brtl HelloWorld.o $(CPPLIBS64)
	cp $@ HelloWorld

HelloWorld_C-aix:
	xlc -c -q64 -qcpluscmt $(CPPFLAGS) HelloWorld_C.c
	xlc_r -o $@ -q64 -brtl HelloWorld_C.o $(CLIBS64)
	cp $@ HelloWorld_C

HelloWorld-hpIa64:
	aCC -c +DD64 $(CPPFLAGS) HelloWorld.cpp
	aCC -o $@ +DD64 HelloWorld.o  $(CPPLIBS) -lpthread
	cp $@ HelloWorld

HelloWorld_C-hpIa64:
	cc -c +DD64 $(CPPFLAGS) HelloWorld_C.c
	cc -o $@ +DD64 HelloWorld_C.o $(CLIBS) -lCsup -lm -lcl -lpthread
	cp $@ HelloWorld_C

HelloWorld-hpux:
	aCC -c +DA2.0W +DS2.0 $(CPPFLAGS) HelloWorld.cpp
	aCC -o $@ +DA2.0W +DS2.0 HelloWorld.o $(CPPLIBS64)
	cp $@ HelloWorld

HelloWorld_C-hpux:
	cc -c +DA2.0W +DS2.0 $(CPPFLAGS) HelloWorld_C.c
	cc -o $@ +DA2.0W +DS2.0 HelloWorld_C.o $(CLIBS64) -lCsup -lm -lcl
	cp $@ HelloWorld_C

HelloWorld-linux:
	$(CXX) -c $(CPPFLAGS) HelloWorld.cpp
	$(CXX) -o $@ HelloWorld.o $(CPPLIBS)
	cp $@ HelloWorld

HelloWorld_C-linux:
	$(CC) -c $(CPPFLAGS) HelloWorld_C.c
	$(CC) -o $@ HelloWorld_C.o $(CLIBS)
	cp $@ HelloWorld_C

HelloWorld-dec:
	cxx -c $(CPPFLAGS) HelloWorld.cpp
	cxx -o $@ HelloWorld.o $(CPPLIBS)
	cp $@ HelloWorld

HelloWorld_C-dec:
	cc -c $(CPPFLAGS) HelloWorld_C.c
	cc -o $@ HelloWorld_C.o $(CLIBS)
	cp $@ HelloWorld_C

HelloWorld-linuxppc:
	c++ -c -m64 $(CPPFLAGS) HelloWorld.cpp
	c++ -o $@ -m64 -Wl,-melf64ppc HelloWorld.o $(CPPLIBS)
	cp $@ HelloWorld

HelloWorld_C-linuxppc:
	cc -c -m64 $(CPPFLAGS) HelloWorld_C.c
	cc -o $@ -m64 -Wl,-melf64ppc HelloWorld_C.o $(CLIBS)
	cp $@ HelloWorld_C

clean:
	-rm -f HelloWorld HelloWorld.o HelloWorld-*
	-rm -f HelloWorld_C HelloWorld_C.o HelloWorld_C-*

