source: Sophya/trunk/Poubelle/DPC:FitsIOServer/Mgr/Makefile@ 658

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

no message

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