source: Sophya/trunk/SophyaLib/Mgr/Makefile@ 689

Last change on this file since 689 was 663, checked in by ansari, 26 years ago

Preparation pour tag V_Oct99 , Reza 29/11/99

File size: 6.2 KB
RevLine 
[218]1include Mgr/Makefile.h
[663]2LIBF = $(LIB)libSysTools.a $(LIB)libNTools.a $(LIB)libSamba.a $(LIB)libSkyT.a $(LIB)libFitsIOServer.a
3LIBS = -L$(LIB) -lSysTools -lNTools -lSamba -lSkyT -lFitsIOServer -lm
[226]4LIBG = -L$(GLB) -lstdc++
[510]5ifeq ($(HOSTTYPE), powerpc)
6 LIBG = -L$(GLB)
7endif
[218]8
[226]9defaut: libs
[218]10
[226]11all: libs PI
[218]12
13
[226]14libs: cxxlibs
[218]15# Dans cet ordre pour les templates de cxx, a cause des dependances
16# pour instantiation automatique/manuels
17
[663]18cxxlibs: FitsIOServer SkyT Samba NTools SysTools Blitz
[218]19
[663]20.PHONY: FitsIOServer
21FitsIOServer:
22 if [ -d FitsIOServer ] ; then cd FitsIOServer ; $(MAKE) ; fi
[218]23
[663]24.PHONY: SkyT
25SkyT:
26 if [ -d SkyT ] ; then cd SkyT ; $(MAKE) ; fi
[218]27
[663]28.PHONY: Samba
29Samba:
30 if [ -d Samba ] ; then cd Samba ; $(MAKE) ; fi
31
[226]32.PHONY: NTools
33NTools:
34 if [ -d NTools ] ; then cd NTools ; $(MAKE) ; fi
[218]35
[663]36.PHONY: SysTools
37SysTools:
38 if [ -d SysTools ] ; then cd SysTools ; $(MAKE) ; fi
[218]39
[663]40.PHONY: Blitz
41Blitz:
42 if [ -d Blitz ] ; then cd Blitz ; $(MAKE) ; fi
[510]43
[218]44.PHONY: PI
45PI:
46 if [ -d PI ] ; then cd PI ; $(MAKE) ; fi
47 if [ -d PIext ] ; then cd PIext ; $(MAKE) ; fi
[226]48
[218]49ifndef NOSHLIB
50
[663]51ifdef CFITSIODIR
52PSLB = $(LIB)libSysTools.a $(LIB)libNTools.a $(LIB)libSamba.a $(LIB)libSkyT.a $(LIB)libFitsIOServer.a
53else
54PSLB = $(LIB)libSysTools.a $(LIB)libNTools.a $(LIB)libSamba.a $(LIB)libSkyT.a
55endif
[226]56slb : $(SLB)libtools.so
[218]57slbpi: slb $(SLB)libPI.so
58
[510]59# Chemin des librairies Motifs / X11 (pour chemin non standard)
60LIBXPATH :=
[218]61# Commande de construction de shared-lib
62CMDSHL := ld -partage
63# Flag d'inclusion/fin d'inclusion de tous les points d'entree
64FGSHLA := -tout
65FGSHLN := -rien
66# Librairies specifiques
67LIBLSHL :=
68# Librairie d'instanciation des templates
69TILSHL :=
70TILSHLPI :=
71# Commande de construction de la librairie d'instanciation des templates
72CMDTILSHL := echo 'Cas Non Prevu'
73CMDTILSHLPI := echo 'Cas Non Prevu'
[510]74# Utilisation du compilo C++ comme driver pour fabrication des shared-libs
75CMDSHLCXX := $(LINK.cc)
76FGSHLACXX :=
77FGSHLNCXX :=
78# S'il faut utiliser $(CMDSHLCXX) pour fabrication des shared-libs
79USECXX4SO := N
80# On utilise le compilo g++ pour la fabrication des shared libs
81ifeq ($(EROSCXX), g++)
82 override USECXX4SO := Y
83 override CMDSHLCXX := $(LINK.cc) -shared
84endif
[218]85
[510]86# On utilise le compilo KCC pour la fabrication des shared libs
87ifeq ($(EROSCXX), KCC)
88 override USECXX4SO := Y
89 override CMDSHLCXX := $(LINK.cc)
90endif
91
92# On utilise le compilo aCC (HP) pour la fabrication des shared libs
93ifeq ($(EROSCXX), aCC)
94 override USECXX4SO := Y
95 override CMDSHLCXX := $(LINK.cc) -b
96endif
97
[218]98# Construction de shared-libs sous OSF1
99ifeq ($(MACHEROS),OSF1)
100 override CMDSHL := ld -shared -update_registry $(SLB)so_locations
101 override FGSHLA := -all
102 override FGSHLN := -none
103 override LIBLSHL := -lcxxstd -lcxx -lexc -lm -lc -lrt
104 override TILSHL := $(LIB)libertcxx.a
105 override CMDTILSHL := rm -f $(LIB)libertcxx.a ; cd $(REP); $(AR) $(ARFLAGS) $(LIB)libertcxx.a *.o
106 override TILSHLPI := $(LIB)libertcxxpi.a
107 override CMDTILSHLPI := rm -f $(LIB)libertcxxpi.a ; cd $(REPPI); $(AR) $(ARFLAGS) $(LIB)libertcxxpi.a *.o
108 ifeq ($(CXX),g++)
109 override LIBLSHL := $(LIBG) -lm -lc
110 override TILSHL :=
111 override CMDTILSHL := echo 'No Template instanciation library'
112 override TILSHLPI :=
113 override CMDTILSHLPI := echo 'No Template instanciation library'
[510]114 override USECXX4SO := N
[218]115 endif
[663]116# Attention - Dangereux de mettre -expect_unresolved , enleve Reza 17/11/99
117 override CMDSHLCXX := $(LINK.cc) -shared
[258]118 override FGSHLACXX :=
119 override FGSHLNCXX :=
[218]120endif
121
122# Construction de shared-libs sous Linux
123ifeq ($(MACHEROS),Linux)
124 override CMDSHL := ld -shared
125 override FGSHLA := --whole-archive
126 override FGSHLN := --no-whole-archiv
[226]127 override CMDSHLCXX := $(LINK.cc) -shared
[510]128 ifeq ($(EROSCXX), KCC)
129 override CMDSHLCXX := $(LINK.cc)
130 endif
[226]131 override FGSHLACXX :=
132 override FGSHLNCXX :=
133 override LIBLSHL := $(LIBG) -lm -ldl
[218]134 override TILSHL :=
135 override CMDTILSHL := echo 'No Template instanciation library'
[510]136 override LIBXPATH := -L/usr/X11/lib -L/usr/X11R6/lib
137endif
138
139# Construction de shared-libs sous Sun-OS
140ifeq ($(MACHEROS),SunOS)
141 override CMDSHL := ld -G
142 override FGSHLA := -z allextract
143 override FGSHLN := -z weakextract
144 override LIBLSHL := $(LIBG) -lm -lc
145 override TILSHL :=
146 override CMDTILSHL := echo 'No Template instanciation library'
[226]147 override LIBXPATH := -L/usr/X11/lib
[510]148 override USECXX4SO := Y
[218]149endif
150
[510]151# Construction de shared-libs sous SGI
152ifeq ($(MACHEROS), IRIX64)
153 override CMDSHL := ld -shared
154 override FGSHLA := -all
155 override FGSHLN := -notall
156 override LIBLSHL := $(LIBG) -lm -lc
157 override TILSHL :=
158 override CMDTILSHL := echo 'No Template instanciation library'
159 ifeq ($(EROSCXX), CC)
160 override CMDSHLCXX := CC -shared
161 override LIBLSHL := -lm -lc
162 endif
163 override LIBXPATH := -L/usr/X11/lib
164 override USECXX4SO := Y
165endif
166
[226]167# Liste des .o associes a une librairie
[663]168OBJSysTools = $(shell echo `cat ./SysTools/objlist.list`)
169OBJNTools = $(shell echo `cat ./NTools/objlist.list`)
170# OBJBlitz = $(shell echo `cat ./Blitz/objlist.list`)
171OBJSamba = $(shell echo `cat ./Samba/objlist.list`)
172OBJSkyT = $(shell echo `cat ./SkyT/objlist.list`)
173OBJFitsIOServer = $(shell echo `cat ./FitsIOServer/objlist.list`)
174OBJPI = $(shell echo `cat ./PI/objlist.list`)
175OBJPIext = $(shell echo `cat ./PIext/objlist.list`)
[218]176
[663]177ifdef CFITSIODIR
178AllObjs := $(OBJSysTools) $(OBJNTools) $(OBJSamba) $(OBJSkyT) $(OBJFitsIOServer)
179else
180AllObjs := $(OBJSysTools) $(OBJNTools) $(OBJSamba) $(OBJSkyT)
181endif
182
[226]183# Creation des librairies partagees
[218]184
185
[226]186#------------------------------------------------------------
187$(SLB)libtools.so : $(PSLB)
[218]188 $(CMDTILSHL)
[226]189 cd $(OBJ); \
190 $(CMDSHLCXX) -o $(SLB)libtools.so \
[663]191 $(FGSHLACXX) $(AllObjs) $(TILSHL) \
192 $(FGSHLNCXX) -L$(SLB) $(LIBLSHL) $(FITSIOLIB)
[218]193
194
[226]195$(SLB)libPI.so : $(LIB)libPI.a $(LIB)libPIext.a
[218]196 $(CMDTILSHLPI)
[226]197 cd $(OBJ); \
198 $(CMDSHLCXX) -o $(SLB)libPI.so \
199 $(FGSHLACXX) $(OBJPI) $(OBJPIext) $(TILSHLPI) \
200 $(FGSHLN) -L$(SLB) -ltools \
201 $(LIBXPATH) -lXm -lXt -lX11 $(LIBLSHL)
[218]202
203else
204slb :
205endif
206
[226]207
[218]208clean:
209 if [ -d $(LIB) ] ; then cd $(LIB)/. ; rm -f *.a ; fi
210 if [ -d $(SLB) ] ; then cd $(SLB)/. ; rm -f *.so ; fi
211 if [ -d $(OBJ) ] ; then cd $(OBJ)/. ; rm -f *.o ; fi
212 if [ -d $(OBJ)/cxxrep ] ; then cd $(OBJ)/cxxrep/. ; rm -f *.o ; fi
213 if [ -d PI ] ; then cd PI/. ; $(MAKE) clean ; fi
214
Note: See TracBrowser for help on using the repository browser.