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
Line 
1include Mgr/Makefile.h
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
4LIBG = -L$(GLB) -lstdc++
5ifeq ($(HOSTTYPE), powerpc)
6 LIBG = -L$(GLB)
7endif
8
9defaut: libs
10
11all: libs PI
12
13
14libs: cxxlibs
15# Dans cet ordre pour les templates de cxx, a cause des dependances
16# pour instantiation automatique/manuels
17
18cxxlibs: FitsIOServer SkyT Samba NTools SysTools Blitz
19
20.PHONY: FitsIOServer
21FitsIOServer:
22 if [ -d FitsIOServer ] ; then cd FitsIOServer ; $(MAKE) ; fi
23
24.PHONY: SkyT
25SkyT:
26 if [ -d SkyT ] ; then cd SkyT ; $(MAKE) ; fi
27
28.PHONY: Samba
29Samba:
30 if [ -d Samba ] ; then cd Samba ; $(MAKE) ; fi
31
32.PHONY: NTools
33NTools:
34 if [ -d NTools ] ; then cd NTools ; $(MAKE) ; fi
35
36.PHONY: SysTools
37SysTools:
38 if [ -d SysTools ] ; then cd SysTools ; $(MAKE) ; fi
39
40.PHONY: Blitz
41Blitz:
42 if [ -d Blitz ] ; then cd Blitz ; $(MAKE) ; fi
43
44.PHONY: PI
45PI:
46 if [ -d PI ] ; then cd PI ; $(MAKE) ; fi
47 if [ -d PIext ] ; then cd PIext ; $(MAKE) ; fi
48
49ifndef NOSHLIB
50
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
56slb : $(SLB)libtools.so
57slbpi: slb $(SLB)libPI.so
58
59# Chemin des librairies Motifs / X11 (pour chemin non standard)
60LIBXPATH :=
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'
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
85
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
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'
114 override USECXX4SO := N
115 endif
116# Attention - Dangereux de mettre -expect_unresolved , enleve Reza 17/11/99
117 override CMDSHLCXX := $(LINK.cc) -shared
118 override FGSHLACXX :=
119 override FGSHLNCXX :=
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
127 override CMDSHLCXX := $(LINK.cc) -shared
128 ifeq ($(EROSCXX), KCC)
129 override CMDSHLCXX := $(LINK.cc)
130 endif
131 override FGSHLACXX :=
132 override FGSHLNCXX :=
133 override LIBLSHL := $(LIBG) -lm -ldl
134 override TILSHL :=
135 override CMDTILSHL := echo 'No Template instanciation library'
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'
147 override LIBXPATH := -L/usr/X11/lib
148 override USECXX4SO := Y
149endif
150
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
167# Liste des .o associes a une librairie
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`)
176
177ifdef CFITSIODIR
178AllObjs := $(OBJSysTools) $(OBJNTools) $(OBJSamba) $(OBJSkyT) $(OBJFitsIOServer)
179else
180AllObjs := $(OBJSysTools) $(OBJNTools) $(OBJSamba) $(OBJSkyT)
181endif
182
183# Creation des librairies partagees
184
185
186#------------------------------------------------------------
187$(SLB)libtools.so : $(PSLB)
188 $(CMDTILSHL)
189 cd $(OBJ); \
190 $(CMDSHLCXX) -o $(SLB)libtools.so \
191 $(FGSHLACXX) $(AllObjs) $(TILSHL) \
192 $(FGSHLNCXX) -L$(SLB) $(LIBLSHL) $(FITSIOLIB)
193
194
195$(SLB)libPI.so : $(LIB)libPI.a $(LIB)libPIext.a
196 $(CMDTILSHLPI)
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)
202
203else
204slb :
205endif
206
207
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.