Sync with 5.2.0
[deliverable/titan.core.git] / regression_test / compileonly / mfgen-tpd / library / Makefile
1 ###############################################################################
2 # Copyright (c) 2000-2014 Ericsson Telecom AB
3 # All rights reserved. This program and the accompanying materials
4 # are made available under the terms of the Eclipse Public License v1.0
5 # which accompanies this distribution, and is available at
6 # http://www.eclipse.org/legal/epl-v10.html
7 ###############################################################################
8 TOPDIR := ../../../
9 include $(TOPDIR)/Makefile.regression
10
11 ifdef LCOV
12 COVERAGE_FLAG := -C
13 endif
14
15 # ${MAKEPROG} has the same content as the built-in ${MAKE},
16 # except the special handling of ${MAKE} does not apply.
17 # If we used ${MAKE} in the rules below, 'make -n' would succeed once,
18 # then fail on every subsequent invocation until a 'make clean' is done.
19 MAKEPROG := ${MAKE}
20 MFGEN := $(TTCN3_DIR)/bin/ttcn3_makefilegen
21
22 ifeq ($(PLATFORM), WIN32)
23 all: static
24 else
25 all: static dynamic
26 endif
27
28 static: CheckLibraryL CheckLibrary2L CheckLibrary3L CheckLibrary4L \
29 CheckLibrary CheckLibrary2 CheckLibrary3 CheckLibrary4 CheckHelloTpd CheckHelloTpd2
30
31 dynamic: Check_dynamic_central Check_dynamic_central_exe \
32 Check_dynamic Check_dynamic2 Check_dynamic3 Check_dynamic4
33
34
35 # ttcn3_makefilegen -L; make
36 BuildLibraryL: a.ttcn
37 rm -rf ./bin
38 mkdir -p bin && cd bin && ln -fs ../a.ttcn \
39 && $(MFGEN) -f $(MFGEN_FLAGS) $(COVERAGE_FLAG) \
40 -L a.ttcn && ${MAKEPROG}
41
42 CheckLibraryL: BuildLibraryL
43 if [ ! -f ./bin/liba.a ]; then exit 1; fi
44 if [ -f ./bin/a ]; then exit 1; fi
45
46 # ttcn3_makefilegen -L; make executable
47 BuildLibrary3L: a.ttcn
48 rm -rf ./bin3
49 mkdir -p bin3 && cd bin3 && ln -fs ../a.ttcn \
50 && $(MFGEN) -f $(MFGEN_FLAGS) $(COVERAGE_FLAG) \
51 -L a.ttcn && ${MAKEPROG} executable
52
53 CheckLibrary3L: BuildLibrary3L
54 if [ -f ./bin3/liba.a ]; then exit 1; fi
55 if [ ! -f ./bin3/a ]; then exit 1; fi
56
57 # ttcn3_makefilegen -L; make library
58 BuildLibrary2L: a.ttcn
59 rm -rf ./bin2
60 mkdir -p bin2 && cd bin2 && ln -fs ../a.ttcn \
61 && $(MFGEN) -f $(MFGEN_FLAGS) $(COVERAGE_FLAG) \
62 -L a.ttcn && ${MAKEPROG} library
63
64 CheckLibrary2L: BuildLibrary2L
65 if [ ! -f ./bin2/liba.a ]; then exit 1; fi
66 if [ -f ./bin2/a ]; then exit 1; fi
67
68 # ttcn3_makefilegen -L; make run
69 BuildLibrary4L: a.ttcn
70 rm -rf ./bin4
71 mkdir -p bin4 && cd bin4 && ln -fs ../a.ttcn \
72 && $(MFGEN) -f $(MFGEN_FLAGS) $(COVERAGE_FLAG) \
73 -L a.ttcn && ${MAKEPROG} all
74
75 CheckLibrary4L: BuildLibrary4L
76 if [ ! -f ./bin4/liba.a ]; then exit 1; fi
77 if [ -f ./bin4/a ]; then exit 1; fi
78
79 #### Without -L ####
80
81 # ttcn3_makefilegen; make
82 BuildLibrary: a.ttcn
83 rm -rf ./bin
84 mkdir -p bin && cd bin && ln -fs ../a.ttcn \
85 && $(MFGEN) -f $(MFGEN_FLAGS) $(COVERAGE_FLAG) \
86 a.ttcn && ${MAKEPROG}
87
88 CheckLibrary: BuildLibrary
89 if [ -f ./bin/liba.a ]; then exit 1; fi
90 if [ ! -f ./bin/a ]; then exit 1; fi
91
92 # ttcn3_makefilegen; make executable
93 BuildLibrary3: a.ttcn
94 rm -rf ./bin3
95 mkdir -p bin3 && cd bin3 && ln -fs ../a.ttcn \
96 && $(MFGEN) -f $(MFGEN_FLAGS) $(COVERAGE_FLAG) \
97 a.ttcn && ${MAKEPROG} executable
98
99 CheckLibrary3: BuildLibrary3
100 if [ -f ./bin3/liba.a ]; then exit 1; fi
101 if [ ! -f ./bin3/a ]; then exit 1; fi
102
103 # ttcn3_makefilegen; make library
104 BuildLibrary2: a.ttcn
105 rm -rf ./bin2
106 mkdir -p bin2 && cd bin2 && ln -fs ../a.ttcn \
107 && $(MFGEN) -f $(MFGEN_FLAGS) $(COVERAGE_FLAG) \
108 a.ttcn && ${MAKEPROG} library
109
110 CheckLibrary2: BuildLibrary2
111 if [ ! -f ./bin2/liba.a ]; then exit 1; fi
112 if [ -f ./bin2/a ]; then exit 1; fi
113
114 # ttcn3_makefilegen; make all
115 BuildLibrary4: a.ttcn
116 rm -rf ./bin4
117 mkdir -p bin4 && cd bin4 && ln -fs ../a.ttcn \
118 && $(MFGEN) -f $(MFGEN_FLAGS) $(COVERAGE_FLAG) \
119 a.ttcn && ${MAKEPROG} all
120
121 CheckLibrary4: BuildLibrary4
122 if [ -f ./bin4/liba.a ]; then exit 1; fi
123 if [ ! -f ./bin4/a ]; then exit 1; fi
124
125 ###############################
126 # Dynamic linking
127 ##############################
128
129 ####### with -L ##############
130
131 # ttcn3_makefilegen -L -l; make all
132 Build_dynamic: a.ttcn
133 rm -rf ./bin_dynamic
134 mkdir -p bin_dynamic && cd bin_dynamic && ln -fs ../a.ttcn \
135 && $(MFGEN) -flL $(MFGEN_FLAGS) $(COVERAGE_FLAG) \
136 a.ttcn && ${MAKEPROG}
137
138 Check_dynamic: Build_dynamic
139 if [ ! -f ./bin_dynamic/liba.so ]; then exit 1; fi
140 if [ -f ./bin_dynamic/a ]; then exit 1; fi
141
142 # ttcn3_makefilegen -L -l; make library
143 Build_dynamic2: a.ttcn
144 rm -rf ./bin_dynamic2
145 mkdir -p bin_dynamic2 && cd bin_dynamic2 && ln -fs ../a.ttcn \
146 && $(MFGEN) -flL $(MFGEN_FLAGS) $(COVERAGE_FLAG) \
147 a.ttcn && ${MAKEPROG} library
148
149 Check_dynamic2: Build_dynamic2
150 if [ ! -f ./bin_dynamic2/liba.so ]; then exit 1; fi
151 if [ -f ./bin_dynamic2/a ]; then exit 1; fi
152
153 # ttcn3_makefilegen -L -l; make executable
154 Build_dynamic3: a.ttcn
155 rm -rf ./bin_dynamic3
156 mkdir -p bin_dynamic3 && cd bin_dynamic3 && ln -fs ../a.ttcn \
157 && $(MFGEN) -flL $(MFGEN_FLAGS) $(COVERAGE_FLAG) \
158 a.ttcn && ${MAKEPROG} executable
159
160 Check_dynamic3: Build_dynamic3
161 if [ ! -f ./bin_dynamic3/liba.so ]; then exit 1; fi
162 if [ -f ./bin_dynamic3/a.so ]; then exit 1; fi
163 if [ ! -f ./bin_dynamic3/a ]; then exit 1; fi
164
165 ####### without -L ##############
166
167 # ttcn3_makefilegen -l; make
168 Build_dynamic4: a.ttcn
169 rm -rf ./bin_dynamic4
170 mkdir -p bin_dynamic4 && cd bin_dynamic4 && ln -fs ../a.ttcn \
171 && $(MFGEN) -fl $(MFGEN_FLAGS) $(COVERAGE_FLAG) \
172 a.ttcn && ${MAKEPROG}
173
174 Check_dynamic4: Build_dynamic4
175 if [ -f ./bin_dynamic4/liba.so ]; then exit 1; fi
176 if [ ! -f ./bin_dynamic4/a ]; then exit 1; fi
177
178 # ttcn3_makefilegen -l; make library
179 Build_dynamic5: a.ttcn
180 rm -rf ./bin_dynamic5
181 mkdir -p bin_dynamic5 && cd bin_dynamic5 && ln -fs ../a.ttcn \
182 && $(MFGEN) -fl $(MFGEN_FLAGS) $(COVERAGE_FLAG) \
183 a.ttcn && ${MAKEPROG} library
184
185 Check_dynamic5: Build_dynamic5
186 if [ ! -f ./bin_dynamic5/liba.so ]; then exit 1; fi
187 if [ -f ./bin_dynamic5/a ]; then exit 1; fi
188
189 # ttcn3_makefilegen -l; make executable
190 Build_dynamic6: a.ttcn
191 rm -rf ./bin_dynamic6
192 mkdir -p bin_dynamic6 && cd bin_dynamic6 && ln -fs ../a.ttcn \
193 && $(MFGEN) -fl $(MFGEN_FLAGS) $(COVERAGE_FLAG) \
194 a.ttcn && ${MAKEPROG} executable
195
196 Check_dynamic6: Build_dynamic6
197 if [ -f ./bin_dynamic6/liba.so ]; then exit 1; fi
198 if [ ! -f ./bin_dynamic6/a ]; then exit 1; fi
199
200
201 ##############################
202 # Some central storage stuff
203 ##############################
204 # ttcn3_makefilegen -c -l -L; make
205 Build_dynamic_central: b.ttcn Central
206 mkdir -p bin_central && cd bin_central && ln -fs ../b.ttcn \
207 && $(MFGEN) -cflL $(MFGEN_FLAGS) $(COVERAGE_FLAG) \
208 b.ttcn ../central_storage/central.ttcn && ${MAKEPROG}
209
210 Check_dynamic_central: Build_dynamic_central
211 if [ ! -f ./bin_central/libb.so ]; then exit 1; fi
212 if [ -f ./bin_central/b ]; then exit 1; fi
213
214 # ttcn3_makefilegen -c -l; make
215 Build_dynamic_central_exe: b.ttcn Central
216 mkdir -p bin_central_exe && cd bin_central_exe && ln -fs ../b.ttcn \
217 && $(MFGEN) -cfl $(MFGEN_FLAGS) $(COVERAGE_FLAG) \
218 b.ttcn ../central_storage/central.ttcn && ${MAKEPROG}
219
220 Check_dynamic_central_exe: Build_dynamic_central_exe
221 if [ ! -f ./bin_central_exe/b ]; then exit 1; fi
222 if [ ! -f ./bin_central_exe/b.so ]; then exit 1; fi
223
224 Central:
225 cd central_storage && $(MFGEN) $(MFGEN_FLAGS) -lf central.ttcn && ${MAKEPROG} shared_objects
226
227
228 ###############################
229 # Generate makefile from tpd
230 ##############################
231 # The default target is library in the tpd file
232 BuildHelloTpd:
233 mkdir -p HelloTpd/bin && cd HelloTpd/bin \
234 && $(TTCN3_DIR)/bin/ttcn3_makefilegen -f $(MFGEN_FLAGS) $(COVERAGE_FLAG) \
235 -t ../HelloTpd.tpd && ${MAKEPROG}
236
237 CheckHelloTpd: BuildHelloTpd
238 if [ -f HelloTpd/bin/HelloTpd_test.exe ]; then exit 1; fi
239 if [ ! -f HelloTpd/bin/libHelloTpd_test.a ]; then exit 1; fi
240
241 # the default target is executable in the tpd file
242 # check if the command line option overrides the one defined in the tpd
243 BuildHelloTpd2:
244 cd HelloTpd2 && ln -sf ../HelloTpd/src && ln -sf ../HelloTpd/.project && \
245 ln -sf ../HelloTpd/.TITAN_properties
246 mkdir -p HelloTpd2/bin && cd HelloTpd2/bin \
247 && $(TTCN3_DIR)/bin/ttcn3_makefilegen -fL $(MFGEN_FLAGS) $(COVERAGE_FLAG) \
248 -t ../HelloTpd.tpd && ${MAKEPROG}
249
250 CheckHelloTpd2: BuildHelloTpd2
251 if [ -f HelloTpd2/bin/HelloTpd_test.exe ]; then exit 1; fi
252 if [ ! -f HelloTpd2/bin/libHelloTpd_test.a ]; then exit 1; fi
253
254 clean:
255 -rm -rf bin*
256 cd central_storage && if [ -f Makefile ] ; then ${MAKEPROG} $@ && rm -f Makefile; fi
257 -rm -rf HelloTpd/bin
258 -rm -rf HelloTpd2/bin
259
260 distclean: clean
261
262 .PHONY: all clean distclean static dynamic \
263 BuildLibrary CheckLibrary BuildLibrary2 CheckLibrary2 BuildLibrary3 CheckLibrary3 BuildLibrary4 CheckLibrary4\
264 BuildLibraryL CheckLibraryL BuildLibrary2L CheckLibrary2L BuildLibrary3L CheckLibrary3L BuildLibrary4L CheckLibrary4L\
265 Check_dynamic_central Check_dynamic_central_exe Build_dynamic Check_dynamic Build_dynamic2 Check_dynamic2 \
266 Build_dynamic3 Check_dynamic3 Build_dynamic4 Check_dynamic4 Build_dynamic5 Check_dynamic5 Build_dynamic6 Check_dynamic6 \
267 Central BuildHelloTpd CheckHelloTpd
268
269
270
This page took 0.042639 seconds and 5 git commands to generate.