| 1 |  | 
|---|
| 2 | # ---------------------------------------- | 
|---|
| 3 | # --------- File AIX_xlC_make.inc -------- | 
|---|
| 4 | #   Compilation avec xlC / AIX (IBM) | 
|---|
| 5 | # ------- Dec 2005-Avr 2007   ------------ | 
|---|
| 6 |  | 
|---|
| 7 | #  Liste des librariries externes | 
|---|
| 8 | #  Pour link fortran -lf ( pas besoin de -lxlf -lxlfutil ) | 
|---|
| 9 | #  -lessl pour le BLAS IBM | 
|---|
| 10 | SOPEXTLIBS = $(SOPEXTLIBP) $(SOPEXTLIBLIST) -lessl -lf | 
|---|
| 11 |  | 
|---|
| 12 | #  Chemin et librairie pour PI | 
|---|
| 13 | PIINC = | 
|---|
| 14 | PILIBS = -lXm -lXt -lX11 | 
|---|
| 15 |  | 
|---|
| 16 | #  Flag preprocesseur | 
|---|
| 17 | CPPFLAGS = -DAIX -I$(SOPHYAINCP) $(PIINC) | 
|---|
| 18 | #  Def compilateur C et flags | 
|---|
| 19 | CC = xlc | 
|---|
| 20 | # Replace [CNFPHFLF] by specific compilation flags below (done by configure) | 
|---|
| 21 | #    Pour compilation en mode 64 bits : -q64 | 
|---|
| 22 | CFLAGS = -O -g  CNFPHFLF | 
|---|
| 23 | #  Def compilateur C++ et flags | 
|---|
| 24 | CXX =  xlC | 
|---|
| 25 | #  Flag IBM xlC (Dec 2005) | 
|---|
| 26 | #  -qrtti=all : generate all RTTI infomation dynamic_cast + typeinfo | 
|---|
| 27 | #  -qeh=v6 : Exception handling compatible with v6 | 
|---|
| 28 | CXXFLAGS = -qrtti=all -qeh=v6 -O -g CNFPHFLF | 
|---|
| 29 | # flags specifiques pour templates repository... | 
|---|
| 30 | # CXXTEMPFLG = -qtemplateregistry=$(SOPHYAOBJP)/templateregistry -qtemplaterecompile | 
|---|
| 31 | CXXTEMPFLG = | 
|---|
| 32 | #  Compilo fortran | 
|---|
| 33 | FC = xlf CNFPHFLF | 
|---|
| 34 | FFLAGS = | 
|---|
| 35 | # Pour fabriquer les lib .a   (-X 64 pour les librairies en mode 64 bits) | 
|---|
| 36 | AR = ar | 
|---|
| 37 | ARFLAGS = -rcs | 
|---|
| 38 |  | 
|---|
| 39 |  | 
|---|
| 40 | #  Ordres de compilation | 
|---|
| 41 | CCOMPILE = $(CC) $(CPPFLAGS) $(CFLAGS) -c | 
|---|
| 42 | CXXCOMPILE = $(CXX) $(CPPFLAGS) $(CXXFLAGS) -c | 
|---|
| 43 | FCCOMPILE = $(FC) $(FFLAGS) -c | 
|---|
| 44 |  | 
|---|
| 45 | #  Extension de nom pour les librairies partagees | 
|---|
| 46 | SLEXT = so | 
|---|
| 47 | #  Fabrication de librairies partagees | 
|---|
| 48 | CMDSHLCXX = $(CXX) $(CXXFLAGS) $(CXXTEMPFLG) -brtl -qmkshrobj | 
|---|
| 49 |  | 
|---|
| 50 |  | 
|---|
| 51 | #  Liste de librairie de base, necessaire pour libsophya | 
|---|
| 52 | SOPBASELIBS = -lpthread -lm -lc -ldl | 
|---|
| 53 | LIBFORT = | 
|---|
| 54 |  | 
|---|
| 55 | # --- Chemin pour l ensemble les librairies SOPHYA , +ExtLibs, +PI | 
|---|
| 56 | SOPHYALIBLIST = -L$(SOPHYALIBP) $(SOPMODLIBLIST)  $(SOPBASELIBS) | 
|---|
| 57 | SOPHYAEXTLIBLIST = -L$(SOPHYALIBP) $(SOPMODLIBLIST) $(SOPEXTLIBS) $(SOPBASELIBS) | 
|---|
| 58 | SOPHYAALLLIBLIST = -L$(SOPHYALIBP) $(SOPMODLIBLIST) $(SOPPILIBLIST) $(PILIBS) $(SOPEXTLIBS) $(SOPBASELIBS) | 
|---|
| 59 |  | 
|---|
| 60 | SOPHYASLBLIST = -L$(SOPHYASLBP) -lsophya  $(SOPBASELIBS) | 
|---|
| 61 | #  Il n'a pas ete possible de faire marcher les executables avec | 
|---|
| 62 | #  des shared-libs, linke avec d'autres librairies (lapack, cfitsio ...) | 
|---|
| 63 | ## SOPHYAEXTSLBLIST = -L$(SOPHYASLBP) -lextsophya -lsophya $(SOPEXTLIBS) $(SOPBASELIBS) | 
|---|
| 64 | ## SOPHYAALLSLBLIST = -L$(SOPHYASLBP) -lPI -lextsophya -lsophya $(PILIBS) $(SOPEXTLIBS) $(SOPBASELIBS) | 
|---|
| 65 | ### --- Pb sur AIX quand plusieurs shared libs sont utilisees -> remplacement par -lAsophyaextPI | 
|---|
| 66 | ## SOPHYAEXTSLBLIST = -L$(SOPHYASLBP) -lAsophyaextPI  $(SOPBASELIBS) $(SOPEXTLIBS) $(SOPBASELIBS) | 
|---|
| 67 | ## SOPHYAALLSLBLIST = $(SOPHYAEXTSLBLIST) | 
|---|
| 68 | ### --------------------- | 
|---|
| 69 | SOPHYAEXTSLBLIST = -L$(SOPHYASLBP) -lsophya -L$(SOPHYALIBP) -lFitsIOServer -lIFFTW -lLinAlg -lXAstroPack $(SOPEXTLIBS) $(SOPBASELIBS) | 
|---|
| 70 | SOPHYAALLSLBLIST = -L$(SOPHYASLBP) -lsophya -L$(SOPHYALIBP) -lPIext -lPIGcont -lPI -lFitsIOServer -lIFFTW -lLinAlg -lXAstroPack $(PILIBS) $(SOPEXTLIBS) $(SOPBASELIBS) | 
|---|
| 71 |  | 
|---|
| 72 | #  Commande de link pour creation d'executables | 
|---|
| 73 | CXXLINK = $(CXX) $(CXXFLAGS) -brtl | 
|---|
| 74 | CLINK = $(CC) $(CFLAGS) | 
|---|
| 75 | FCLINK = $(FC) $(FFLAGS) | 
|---|
| 76 |  | 
|---|
| 77 | #  Commande de link pour creation de module pouvant etre charge dynamiquement | 
|---|
| 78 | CXXDLL = $(CXX) $(CXXFLAGS) -qmkshrobj | 
|---|