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

Last change on this file since 222 was 218, checked in by ansari, 27 years ago

Creation module DPC/Mgr Reza 9/04/99

File size: 4.7 KB
Line 
1include Mgr/Makefile.h
2LIBF = $(LIB)libOutils++.a $(LIB)libImages++.a $(LIB)libStarReco++.a $(LIB)libNeuralNet.a $(LIB)libAcq.a
3LIBS = -L$(LIB) -lOutils++ -lImages++ -lStarReco++ -lNeuralNet -lAcq -lm
4LIBG = -L$(GLB) -lg++ -lstdc++
5
6defaut: prog
7
8all: acq pi prog
9
10acq: ProgAcq
11pi: ProgPI
12prog: Prog
13
14ProgAcq: Db++ Db Acq libs slb slbacq
15ProgPI: PI libs slb slbpi
16Prog: libs slb
17
18libs: clibs cxxlibs
19clibs:
20 cd LibsUtil ; $(MAKE)
21 cd ImagFSuiv ; $(MAKE)
22 cd NR ; $(MAKE)
23
24# Dans cet ordre pour les templates de cxx, a cause des dependances
25# pour instantiation automatique/manuels
26
27cxxlibs: NeuralNet Outils++ Images++ StarReco++
28
29.PHONY: Acq
30Acq:
31 if [ -d Acq ] ; then cd Acq ; $(MAKE) ; fi
32
33.PHONY: StarReco++
34StarReco++:
35 if [ -d StarReco++ ] ; then cd StarReco++ ; $(MAKE) ; fi
36
37.PHONY: Images++
38Images++:
39 if [ -d Images++ ] ; then cd Images++ ; $(MAKE) ; fi
40
41.PHONY: Outils++
42Outils++:
43 if [ -d Outils++ ] ; then cd Outils++ ; $(MAKE) ; fi
44
45.PHONY: NeuralNet
46NeuralNet:
47 if [ -d NeuralNet ] ; then cd NeuralNet ; $(MAKE) ; fi
48
49.PHONY: PI
50PI:
51 if [ -d PI ] ; then cd PI ; $(MAKE) ; fi
52 if [ -d PIext ] ; then cd PIext ; $(MAKE) ; fi
53.PHONY: Db
54Db:
55 if [ -d Db ] ; then cd Db ; $(MAKE); fi
56
57.PHONY: Db++
58Db++:
59 if [ -d Db++ ] ; then cd Db++ ; $(MAKE); fi
60
61.PHONY: Prog
62Prog:
63 if [ -d Prog ]; then cd Prog ; $(MAKE); fi
64
65.PHONY: ProgAcq
66ProgAcq:
67 if [ -d ProgAcq ]; then cd ProgAcq ; $(MAKE); fi
68
69.PHONY: ProgPI
70ProgPI:
71 if [ -d ProgPI ]; then cd ProgPI ; $(MAKE); fi
72
73ifndef NOSHLIB
74
75PSLB = $(LIB)libStarReco++.a $(LIB)libNeuralNet.a $(LIB)libImages++.a $(LIB)libOutils++.a
76slb : $(SLB)libnr.so $(SLB)liberosc.so $(SLB)libpeida.so
77slbpi: slb $(SLB)libPI.so
78slbacq: slb $(SLB)libAcq.so
79
80# Commande de construction de shared-lib
81CMDSHL := ld -partage
82# Flag d'inclusion/fin d'inclusion de tous les points d'entree
83FGSHLA := -tout
84FGSHLN := -rien
85# Librairies specifiques
86LIBLSHL :=
87# Librairie d'instanciation des templates
88TILSHL :=
89TILSHLPI :=
90# Commande de construction de la librairie d'instanciation des templates
91CMDTILSHL := echo 'Cas Non Prevu'
92CMDTILSHLPI := echo 'Cas Non Prevu'
93
94# Construction de shared-libs sous OSF1
95ifeq ($(MACHEROS),OSF1)
96 override CMDSHL := ld -shared -update_registry $(SLB)so_locations
97 override FGSHLA := -all
98 override FGSHLN := -none
99 override LIBLSHL := -lcxxstd -lcxx -lexc -lm -lc -lrt
100 override TILSHL := $(LIB)libertcxx.a
101 override CMDTILSHL := rm -f $(LIB)libertcxx.a ; cd $(REP); $(AR) $(ARFLAGS) $(LIB)libertcxx.a *.o
102 override TILSHLPI := $(LIB)libertcxxpi.a
103 override CMDTILSHLPI := rm -f $(LIB)libertcxxpi.a ; cd $(REPPI); $(AR) $(ARFLAGS) $(LIB)libertcxxpi.a *.o
104 ifeq ($(CXX),g++)
105 override LIBLSHL := $(LIBG) -lm -lc
106 override TILSHL :=
107 override CMDTILSHL := echo 'No Template instanciation library'
108 override TILSHLPI :=
109 override CMDTILSHLPI := echo 'No Template instanciation library'
110 endif
111endif
112
113# Construction de shared-libs sous Linux
114ifeq ($(MACHEROS),Linux)
115 override CMDSHL := ld -shared
116 override FGSHLA := --whole-archive
117 override FGSHLN := --no-whole-archiv
118 override LIBLSHL := $(LIBG) -lm -lc
119 override TILSHL :=
120 override CMDTILSHL := echo 'No Template instanciation library'
121endif
122
123
124$(SLB)libnr.so : $(LIB)libnra.a
125 $(CMDSHL) -o $(SLB)libnr.so \
126 $(FGSHLA) $(LIB)libnra.a \
127 $(FGSHLN) $(LIBLSHL)
128
129$(SLB)liberosc.so : $(LIB)libdiv.a $(LIB)libmath.a \
130 $(LIB)libfsv.a $(LIB)libimage.a
131 $(CMDSHL) -o $(SLB)liberosc.so \
132 $(FGSHLA) $(LIB)libdiv.a $(LIB)libmath.a \
133 $(LIB)libfsv.a $(LIB)libimage.a \
134 $(FGSHLN) $(LIBLSHL)
135
136$(SLB)libpeida.so : $(PSLB) $(SLB)liberosc.so $(SLB)libnr.so
137 $(CMDTILSHL)
138 $(CMDSHL) -o $(SLB)libpeida.so \
139 $(FGSHLA) $(PSLB) $(TILSHL) \
140 $(FGSHLN) -L$(SLB) -lerosc -lnr $(LIBLSHL)
141
142$(SLB)libAcq.so : $(LIB)libAcq.a $(SLB)libpeida.so
143 $(CMDSHL) -o $(SLB)libAcq.so \
144 $(FGSHLA) $(LIB)libDb++.a $(LIB)libErosDb.a $(LIB)libAcq.a \
145 $(FGSHLN) -L$(SLB) -lpeida -lerosc -L$(ORACLE_HOME)/lib -lclntsh $(LIBLSHL)
146
147$(SLB)libPI.so : $(LIB)libPI.a $(LIB)libPIext.a
148 $(CMDTILSHLPI)
149 $(CMDSHL) -o $(SLB)libPI.so \
150 $(FGSHLA) $(LIB)libPI.a $(LIB)libPIext.a $(TILSHLPI) \
151 $(FGSHLN) -L$(SLB) -lpeida -lerosc \
152 -lXm -lXt -lX11 $(LIBLSHL)
153
154else
155slb :
156endif
157
158clean:
159 if [ -d $(LIB) ] ; then cd $(LIB)/. ; rm -f *.a ; fi
160 if [ -d $(SLB) ] ; then cd $(SLB)/. ; rm -f *.so ; fi
161 if [ -d $(OBJ) ] ; then cd $(OBJ)/. ; rm -f *.o ; fi
162 if [ -d $(OBJ)/cxxrep ] ; then cd $(OBJ)/cxxrep/. ; rm -f *.o ; fi
163 if [ -d NR ] ; then cd NR/. ; make -f Makefile clean ; fi
164 if [ -d PI ] ; then cd PI/. ; $(MAKE) clean ; fi
165 if [ -d Prog ] ; then cd Prog/. ; $(MAKE) clean ; fi
166 if [ -d ProgPI ] ; then cd ProgPI/. ; $(MAKE) clean ; fi
167 if [ -d ProgAcq ]; then cd ProgAcq/.; $(MAKE) clean ; fi
168
Note: See TracBrowser for help on using the repository browser.