| 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
|
|---|