
# ----------------------------------------
# --------- File AIX_xlC_make.inc --------
#   Compilation avec xlC / AIX (IBM) 
# ------- Dec 2005-Avr 2007   ------------

#  Liste des librariries externes 
#  Pour link fortran -lf ( pas besoin de -lxlf -lxlfutil )
#  -lessl pour le BLAS IBM
SOPEXTLIBS = $(SOPEXTLIBP) $(SOPEXTLIBLIST) -lessl -lf

#  Chemin et librairie pour PI 
PIINC = $(PIEXTINC) -I/usr/X11R6/include/
PILIBS = $(PIEXTLIB) -L/usr/X11R6/lib/ -lXt -lX11 


#  Flag preprocesseur
CPPFLAGS = -DAIX -I$(SOPHYAINCP) $(PIINC)
#  Def compilateur C et flags
CC = xlc
# Replace [CNFPHFLF] by specific compilation flags below (done by configure)
#    Pour compilation en mode 64 bits : -q64 
CFLAGS = -O -g  CNFPHFLF 
#  Def compilateur C++ et flags
CXX =  xlC
#  Flag IBM xlC (Dec 2005) 
#  -qrtti=all : generate all RTTI infomation dynamic_cast + typeinfo
#  -qeh=v6 : Exception handling compatible with v6 
CXXFLAGS = -qrtti=all -qeh=v6 -O -g CNFPHFLF 
# flags specifiques pour templates repository...
# CXXTEMPFLG = -qtemplateregistry=$(SOPHYAOBJP)/templateregistry -qtemplaterecompile
CXXTEMPFLG =
#  Compilo fortran
FC = xlf CNFPHFLF 
FFLAGS =  
# Pour fabriquer les lib .a   (-X 64 pour les librairies en mode 64 bits) 
AR = ar
ARFLAGS = -rcs


#  Ordres de compilation
CCOMPILE = $(CC) $(CPPFLAGS) $(CFLAGS) -c 
CXXCOMPILE = $(CXX) $(CPPFLAGS) $(CXXFLAGS) -c 
FCCOMPILE = $(FC) $(FFLAGS) -c 

#  Extension de nom pour les librairies partagees
SLEXT = so
#  Fabrication de librairies partagees 
CMDSHLCXX = $(CXX) $(CXXFLAGS) $(CXXTEMPFLG) -brtl -qmkshrobj 


#  Liste de librairie de base, necessaire pour libsophya
SOPBASELIBS = -lpthread -lm -lc -ldl 
LIBFORT = 

# --- Chemin pour l ensemble les librairies SOPHYA , +ExtLibs, +PI
SOPHYALIBLIST = -L$(SOPHYALIBP) $(SOPMODLIBLIST)  $(SOPBASELIBS)
SOPHYAEXTLIBLIST = -L$(SOPHYALIBP) $(SOPMODLIBLIST) $(SOPEXTLIBS) $(SOPBASELIBS)
SOPHYAALLLIBLIST = -L$(SOPHYALIBP) $(SOPMODLIBLIST) $(SOPPILIBLIST) $(PILIBS) $(SOPEXTLIBS) $(SOPBASELIBS)

SOPHYASLBLIST = -L$(SOPHYASLBP) -lsophya  $(SOPBASELIBS)
##----
#  Il n'a pas ete possible de faire marcher les executables avec 
#  des shared-libs, linke avec d'autres librairies (lapack, cfitsio ...)
## SOPHYAEXTSLBLIST = -L$(SOPHYASLBP) -lextsophya -lsophya $(SOPEXTLIBS) $(SOPBASELIBS)
## SOPHYAALLSLBLIST = -L$(SOPHYASLBP) -lPI -lextsophya -lsophya $(PILIBS) $(SOPEXTLIBS) $(SOPBASELIBS)
### --- Pb sur AIX quand plusieurs shared libs sont utilisees -> remplacement par -lAsophyaextPI
## SOPHYAEXTSLBLIST = -L$(SOPHYASLBP) -lAsophyaextPI  $(SOPBASELIBS) $(SOPEXTLIBS) $(SOPBASELIBS)
## SOPHYAALLSLBLIST = $(SOPHYAEXTSLBLIST)
### ---------------------
## SOPHYAEXTSLBLIST = -L$(SOPHYASLBP) -lsophya -L$(SOPHYALIBP) -lFitsIOServer -lIFFTW -lLinAlg -lXAstroPack $(SOPEXTLIBS) $(SOPBASELIBS)
## SOPHYAALLSLBLIST = -L$(SOPHYASLBP) -lsophya -L$(SOPHYALIBP) -lPIext -lPIGcont -lPI -lFitsIOServer -lIFFTW -lLinAlg -lXAstroPack $(PILIBS) $(SOPEXTLIBS) $(SOPBASELIBS)
### --- Avril 2008 : Multi shared libs semble OK maintenant
SOPHYAEXTSLBLIST = -L$(SOPHYASLBP) -lextsophya -lsophya $(SOPBASELIBS)
SOPHYAALLSLBLIST = -L$(SOPHYASLBP) -lPI -lextsophya -lsophya $(SOPBASELIBS)

#  Commande de link pour creation d'executables
CXXLINK = $(CXX) $(CXXFLAGS) -brtl 
CLINK = $(CC) $(CFLAGS)
FCLINK = $(FC) $(FFLAGS)

#  Commande de link pour creation de module pouvant etre charge dynamiquement
CXXDLL = $(CXX) $(CXXFLAGS) -qmkshrobj 
