USEROPT=-O2

EXTRAOPT=-D_XOPEN_SOURCE
PRELINK=echo Building libpdb.a
PDT_RANLIB=echo Built libpdb.a
#SOL2#EXTRAOPT=-D__EXTENSIONS__#EOC#
#CXX#EXTRAOPT=-D__USE_STD_IOSTREAM#EOC#
#CRAY#PDT_RANLIB= #EOC#

# -- SGI MipsPro
#CC#CXX = CC $(USEROPT) -LANG:std -OPT:Olimit=0#EOC#
#CC#CXXAR = CC $(USEROPT) -LANG:std -OPT:Olimit=0 -ar -o#EOC#

# -- SUN CC
#SOLCC#CXX = CC $(USEROPT) #EOC#
#SOLCC#CXXAR = CC $(USEROPT) -xar -o#EOC#

# -- CRAY CC
#CRAYCC#CXX = CC $(USEROPT) -h conform,instantiate=used #EOC#
#CRAYCC#CXXAR = ar rc#EOC#

# -- Pathscale C++
#PATHCC#CXX = pathCC $(USEROPT) -w $(EXTRAOPT) #EOC#
#PATHCC#CXXAR = ar cr#EOC#

# -- Apple c++
#CPP#CXX = c++ $(USEROPT) -w -Wall -ansi $(EXTRAOPT) #EOC#
#CPP#CXXAR = ar cr#EOC#

# -- Compaq Tru64 cxx
#CXX#CXX = cxx $(USEROPT) $(EXTRAOPT) #EOC#
#CXX#CXXAR = ar cr#EOC#
#CXX#EXTRAOBJS = cxx_repository/*.o #EOC#

# -- IBM AIX xlC
#IBM64#IBM_XLC_OPTIONS=-q64 #EOC#
#IBM64#IBM_GNU_OPTIONS=-maix64 #EOC#

#IBM64LINUX#IBM_XLC_OPTIONS=-q64 #EOC#
#GXX#PLATFORM_CXX_OPTS=$(IBM_GNU_OPTIONS) #EOC#
#XLC#PLATFORM_CXX_OPTS=$(IBM_XLC_OPTIONS) #EOC#

#XLC#IBM_XLC_CXX = xlC $(USEROPT) $(EXTRAOPT) -qlanglvl=extended $(PLATFORM_CXX_OPTS) #EOC#
#PPCLINUX#IBM_XLC_CXX = xlC $(USEROPT) $(EXTRAOPT) $(PLATFORM_CXX_OPTS) #EOC#
#DARWIN#IBM_XLC_CXX = xlC $(USEROPT) $(EXTRAOPT) $(PLATFORM_CXX_OPTS) #EOC#
#IBM64LINUX#IBM_XLC_CXX = xlC $(USEROPT) $(EXTRAOPT) $(PLATFORM_CXX_OPTS) #EOC#
#XLC#CXX = $(IBM_XLC_CXX) #EOC#


#IBM64#IBM_AR64_OPTS = -X64 #EOC#
#IBM64#PLATFORM_AR_OPTS = $(IBM_AR64_OPTS) #EOC#

#XLC#CXXAR = ar $(PLATFORM_AR_OPTS) cr #EOC#
#XLC#EXTRAOPT= #EOC#

# -- PGI pgCC 
#PGI#EXTRAOPT=  #EOC#
#PGI#CXX = pgCC $(USEROPT) $(EXTRAOPT) #EOC#
#PGI#CXXAR = ar $(PLATFORM_AR_OPTS) cr#EOC#
#PGI#PRELINK = pgCC --prelink_objects *.o #EOC#

# -- INTEL icpc (IA32) 
#ICPC#EXTRAOPT= #EOC#
#ICPC#CXX = icpc $(USEROPT) $(EXTRAOPT) #EOC#
#ICPC#CXXAR = ar $(PLATFORM_AR_OPTS) cr#EOC#

# -- INTEL ecpc (IA64) 
#ECPC#EXTRAOPT= #EOC#
#ECPC#CXX = ecpc $(USEROPT) $(EXTRAOPT) #EOC#
#ECPC#CXXAR = ar $(PLATFORM_AR_OPTS) cr#EOC#

# -- egcs
#EGXX#CXX = eg++ $(USEROPT) -w -Wall -ansi $(EXTRAOPT) #EOC#
#EGXX#CXXAR = ar $(PLATFORM_AR_OPTS) cr#EOC#

# -- g++
#GXX#PDT_GXX=g++ #EOC#
#IBM64LINUX#PDT_GXX=powerpc64-linux-g++ #EOC#

#GXX#CXX = $(PDT_GXX) $(USEROPT) -w -Wall -ansi $(EXTRAOPT) $(PLATFORM_CXX_OPTS) #EOC#
#GXX#CXXAR = ar $(PLATFORM_AR_OPTS) cr #EOC#
#DARWIN#PDT_RANLIB=ranlib libpdb.a#EOC#

# -- KAI KCC
#KCC#EXTRAOPT=  #EOC#
#KCC#CXX = KCC $(USEROPT) $(EXTRAOPT) --one_instantiation_per_object#EOC#
#KCC#CXXAR = KCC $(USEROPT) -o#EOC#

all :
	(cd lib; $(MAKE) "MAKE=$(MAKE)" all CXX="$(CXX)" CXXAR="$(CXXAR)" RANLIB="$(PDT_RANLIB)" PRELINK="$(PRELINK)" EXTRAOBJS="$(EXTRAOBJS)")
	(cd src; $(MAKE) "MAKE=$(MAKE)" all CXX="$(CXX)")

install:
	(cd src; $(MAKE) "MAKE=$(MAKE)" install)

clean :
	(cd lib; $(MAKE) "MAKE=$(MAKE)" clean)
	(cd src; $(MAKE) "MAKE=$(MAKE)" clean)

