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

Last change on this file since 257 was 226, checked in by ansari, 27 years ago

MAJ Makefile global et ajout de ttsz - Reza 13/04/99

File size: 3.8 KB
Line 
1include Mgr/Makefile.h
2LIBF = $(LIB)libSysTools.a $(LIB)libNTools.a $(LIB)libSamba.a
3LIBS = -L$(LIB) -lSysTools -lNTools -lSamba -lm
4LIBG = -L$(GLB) -lstdc++
5
6defaut: libs
7
8all: libs PI
9
10
11libs: cxxlibs
12# Dans cet ordre pour les templates de cxx, a cause des dependances
13# pour instantiation automatique/manuels
14
15cxxlibs: Blitz SysTools NTools Samba
16
17.PHONY: Blitz
18Blitz:
19 if [ -d Blitz ] ; then cd Blitz ; $(MAKE) ; fi
20
21.PHONY: SysTools
22SysTools:
23 if [ -d SysTools ] ; then cd SysTools ; $(MAKE) ; fi
24
25.PHONY: NTools
26NTools:
27 if [ -d NTools ] ; then cd NTools ; $(MAKE) ; fi
28
29.PHONY: Samba
30Samba:
31 if [ -d Samba ] ; then cd Samba ; $(MAKE) ; fi
32
33.PHONY: PI
34PI:
35 if [ -d PI ] ; then cd PI ; $(MAKE) ; fi
36 if [ -d PIext ] ; then cd PIext ; $(MAKE) ; fi
37
38ifndef NOSHLIB
39
40PSLB = $(LIB)libSysTools.a $(LIB)libNTools.a $(LIB)libBlitz.a
41slb : $(SLB)libtools.so
42slbpi: slb $(SLB)libPI.so
43
44# Commande de construction de shared-lib
45CMDSHL := ld -partage
46# Flag d'inclusion/fin d'inclusion de tous les points d'entree
47FGSHLA := -tout
48FGSHLN := -rien
49# Librairies specifiques
50LIBLSHL :=
51# Librairie d'instanciation des templates
52TILSHL :=
53TILSHLPI :=
54# Commande de construction de la librairie d'instanciation des templates
55CMDTILSHL := echo 'Cas Non Prevu'
56CMDTILSHLPI := echo 'Cas Non Prevu'
57# Chemin des librairies Motifs / X11 (pour chemin non standard)
58LIBXPATH :=
59
60# Construction de shared-libs sous OSF1
61ifeq ($(MACHEROS),OSF1)
62 override CMDSHL := ld -shared -update_registry $(SLB)so_locations
63 override FGSHLA := -all
64 override FGSHLN := -none
65 override LIBLSHL := -lcxxstd -lcxx -lexc -lm -lc -lrt
66 override TILSHL := $(LIB)libertcxx.a
67 override CMDTILSHL := rm -f $(LIB)libertcxx.a ; cd $(REP); $(AR) $(ARFLAGS) $(LIB)libertcxx.a *.o
68 override TILSHLPI := $(LIB)libertcxxpi.a
69 override CMDTILSHLPI := rm -f $(LIB)libertcxxpi.a ; cd $(REPPI); $(AR) $(ARFLAGS) $(LIB)libertcxxpi.a *.o
70 ifeq ($(CXX),g++)
71 override LIBLSHL := $(LIBG) -lm -lc
72 override TILSHL :=
73 override CMDTILSHL := echo 'No Template instanciation library'
74 override TILSHLPI :=
75 override CMDTILSHLPI := echo 'No Template instanciation library'
76 endif
77endif
78
79# Construction de shared-libs sous Linux
80ifeq ($(MACHEROS),Linux)
81 override CMDSHL := ld -shared
82 override FGSHLA := --whole-archive
83 override FGSHLN := --no-whole-archiv
84 override CMDSHLCXX := $(LINK.cc) -shared
85 override FGSHLACXX :=
86 override FGSHLNCXX :=
87 override LIBLSHL := $(LIBG) -lm -ldl
88 override TILSHL :=
89 override CMDTILSHL := echo 'No Template instanciation library'
90 override LIBXPATH := -L/usr/X11/lib
91endif
92
93# Liste des .o associes a une librairie
94OBJSysTools = $(shell echo `cat ./SysTools/SysTools.o.list`)
95OBJNTools = $(shell echo `cat ./NTools/NTools.o.list`)
96OBJBlitz = $(shell echo `cat ./Blitz/Blitz.o.list`)
97OBJSamba = $(shell echo `cat ./Samba/Samba.o.list`)
98OBJPI = $(shell echo `cat ./PI/PI.o.list`)
99OBJPIext = $(shell echo `cat ./PIext/PIext.o.list`)
100
101# Creation des librairies partagees
102
103
104#------------------------------------------------------------
105$(SLB)libtools.so : $(PSLB)
106 $(CMDTILSHL)
107 cd $(OBJ); \
108 $(CMDSHLCXX) -o $(SLB)libtools.so \
109 $(FGSHLACXX) $(OBJSysTools) $(OBJNTools) $(OBJSamba) $(OBJBlitz) $(TILSHL) \
110 $(FGSHLNCXX) -L$(SLB) $(LIBLSHL)
111
112
113$(SLB)libPI.so : $(LIB)libPI.a $(LIB)libPIext.a
114 $(CMDTILSHLPI)
115 cd $(OBJ); \
116 $(CMDSHLCXX) -o $(SLB)libPI.so \
117 $(FGSHLACXX) $(OBJPI) $(OBJPIext) $(TILSHLPI) \
118 $(FGSHLN) -L$(SLB) -ltools \
119 $(LIBXPATH) -lXm -lXt -lX11 $(LIBLSHL)
120
121else
122slb :
123endif
124
125
126clean:
127 if [ -d $(LIB) ] ; then cd $(LIB)/. ; rm -f *.a ; fi
128 if [ -d $(SLB) ] ; then cd $(SLB)/. ; rm -f *.so ; fi
129 if [ -d $(OBJ) ] ; then cd $(OBJ)/. ; rm -f *.o ; fi
130 if [ -d $(OBJ)/cxxrep ] ; then cd $(OBJ)/cxxrep/. ; rm -f *.o ; fi
131 if [ -d PI ] ; then cd PI/. ; $(MAKE) clean ; fi
132
Note: See TracBrowser for help on using the repository browser.