ifndef NOSHLIB PSLB = $(LIB)libSysTools.a $(LIB)libNTools.a $(LIB)libBlitz.a slb : $(SLB)libtools.so slbpi: slb $(SLB)libPI.so # Chemin des librairies Motifs / X11 (pour chemin non standard) LIBXPATH := # Commande de construction de shared-lib CMDSHL := ld -partage # Flag d'inclusion/fin d'inclusion de tous les points d'entree FGSHLA := -tout FGSHLN := -rien # Librairies specifiques LIBLSHL := # Librairie d'instanciation des templates TILSHL := TILSHLPI := # Commande de construction de la librairie d'instanciation des templates CMDTILSHL := echo 'Cas Non Prevu' CMDTILSHLPI := echo 'Cas Non Prevu' # Utilisation du compilo C++ comme driver pour fabrication des shared-libs CMDSHLCXX := $(LINK.cc) FGSHLACXX := FGSHLNCXX := # S'il faut utiliser $(CMDSHLCXX) pour fabrication des shared-libs USECXX4SO := N # On utilise le compilo g++ pour la fabrication des shared libs ifeq ($(EROSCXX), g++) override USECXX4SO := Y override CMDSHLCXX := $(LINK.cc) -shared endif # On utilise le compilo KCC pour la fabrication des shared libs ifeq ($(EROSCXX), KCC) override USECXX4SO := Y override CMDSHLCXX := $(LINK.cc) endif # On utilise le compilo aCC (HP) pour la fabrication des shared libs ifeq ($(EROSCXX), aCC) override USECXX4SO := Y override CMDSHLCXX := $(LINK.cc) -b endif # Construction de shared-libs sous OSF1 ifeq ($(MACHEROS),OSF1) override CMDSHL := ld -shared -update_registry $(SLB)so_locations override FGSHLA := -all override FGSHLN := -none override LIBLSHL := -lcxxstd -lcxx -lexc -lm -lc -lrt override TILSHL := $(LIB)libertcxx.a override CMDTILSHL := rm -f $(LIB)libertcxx.a ; cd $(REP); $(AR) $(ARFLAGS) $(LIB)libertcxx.a *.o override TILSHLPI := $(LIB)libertcxxpi.a override CMDTILSHLPI := rm -f $(LIB)libertcxxpi.a ; cd $(REPPI); $(AR) $(ARFLAGS) $(LIB)libertcxxpi.a *.o ifeq ($(CXX),g++) override LIBLSHL := $(LIBG) -lm -lc override TILSHL := override CMDTILSHL := echo 'No Template instanciation library' override TILSHLPI := override CMDTILSHLPI := echo 'No Template instanciation library' override USECXX4SO := N endif # Attention - Dangereux de mettre -expect_unresolved , enleve Reza 17/11/99 override CMDSHLCXX := $(LINK.cc) -shared override FGSHLACXX := override FGSHLNCXX := endif # Construction de shared-libs sous Linux ifeq ($(MACHEROS),Linux) override CMDSHL := ld -shared override FGSHLA := --whole-archive override FGSHLN := --no-whole-archiv override CMDSHLCXX := $(LINK.cc) -shared ifeq ($(EROSCXX), KCC) override CMDSHLCXX := $(LINK.cc) endif override FGSHLACXX := override FGSHLNCXX := override LIBLSHL := $(LIBG) -lm -ldl override TILSHL := override CMDTILSHL := echo 'No Template instanciation library' override LIBXPATH := -L/usr/X11/lib -L/usr/X11R6/lib endif # Construction de shared-libs sous Sun-OS ifeq ($(MACHEROS),SunOS) override CMDSHL := ld -G override FGSHLA := -z allextract override FGSHLN := -z weakextract override LIBLSHL := $(LIBG) -lm -lc override TILSHL := override CMDTILSHL := echo 'No Template instanciation library' override LIBXPATH := -L/usr/X11/lib override USECXX4SO := Y endif # Construction de shared-libs sous SGI ifeq ($(MACHEROS), IRIX64) override CMDSHL := ld -shared override FGSHLA := -all override FGSHLN := -notall override LIBLSHL := $(LIBG) -lm -lc override TILSHL := override CMDTILSHL := echo 'No Template instanciation library' ifeq ($(EROSCXX), CC) override CMDSHLCXX := CC -shared override LIBLSHL := -lm -lc endif override LIBXPATH := -L/usr/X11/lib override USECXX4SO := Y endif # Liste des .o associes a une librairie OBJSysTools = $(shell echo `cat ./SysTools/SysTools.o.list`) OBJNTools = $(shell echo `cat ./NTools/NTools.o.list`) OBJBlitz = $(shell echo `cat ./Blitz/Blitz.o.list`) OBJSamba = $(shell echo `cat ./Samba/Samba.o.list`) OBJFitsIOServer = $(shell echo `cat ./FitsIOServer/FitsIOServer.o.list`) OBJPI = $(shell echo `cat ./PI/PI.o.list`) OBJPIext = $(shell echo `cat ./PIext/PIext.o.list`) # Creation des librairies partagees #------------------------------------------------------------ $(SLB)libtools.so : $(PSLB) $(CMDTILSHL) cd $(OBJ); \ $(CMDSHLCXX) -o $(SLB)libtools.so \ $(FGSHLACXX) $(OBJSysTools) $(OBJNTools) $(OBJSamba) $(OBJFitsIOServer) $(OBJBlitz) $(TILSHL) \ $(FGSHLNCXX) -L$(SLB) $(LIBLSHL) $(FITSIOLIB) $(SLB)libPI.so : $(LIB)libPI.a $(LIB)libPIext.a $(CMDTILSHLPI) cd $(OBJ); \ $(CMDSHLCXX) -o $(SLB)libPI.so \ $(FGSHLACXX) $(OBJPI) $(OBJPIext) $(TILSHLPI) \ $(FGSHLN) -L$(SLB) -ltools \ $(LIBXPATH) -lXm -lXt -lX11 $(LIBLSHL) else slb : endif