Sync with 5.2.0
[deliverable/titan.core.git] / regression_test / compileonly / mfgen-tpd / library / Makefile
CommitLineData
970ed795
EL
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###############################################################################
8TOPDIR := ../../../
9include $(TOPDIR)/Makefile.regression
10
11ifdef LCOV
12COVERAGE_FLAG := -C
13endif
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.
19MAKEPROG := ${MAKE}
20MFGEN := $(TTCN3_DIR)/bin/ttcn3_makefilegen
21
22ifeq ($(PLATFORM), WIN32)
23all: static
24else
25all: static dynamic
26endif
27
28static: CheckLibraryL CheckLibrary2L CheckLibrary3L CheckLibrary4L \
29 CheckLibrary CheckLibrary2 CheckLibrary3 CheckLibrary4 CheckHelloTpd CheckHelloTpd2
30
31dynamic: Check_dynamic_central Check_dynamic_central_exe \
32 Check_dynamic Check_dynamic2 Check_dynamic3 Check_dynamic4
33
34
35# ttcn3_makefilegen -L; make
36BuildLibraryL: 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
42CheckLibraryL: BuildLibraryL
af710487 43 if [ ! -f ./bin/liba.a ]; then exit 1; fi
970ed795
EL
44 if [ -f ./bin/a ]; then exit 1; fi
45
46# ttcn3_makefilegen -L; make executable
47BuildLibrary3L: 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
53CheckLibrary3L: BuildLibrary3L
af710487 54 if [ -f ./bin3/liba.a ]; then exit 1; fi
970ed795
EL
55 if [ ! -f ./bin3/a ]; then exit 1; fi
56
57# ttcn3_makefilegen -L; make library
58BuildLibrary2L: 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
64CheckLibrary2L: BuildLibrary2L
af710487 65 if [ ! -f ./bin2/liba.a ]; then exit 1; fi
970ed795
EL
66 if [ -f ./bin2/a ]; then exit 1; fi
67
68# ttcn3_makefilegen -L; make run
69BuildLibrary4L: 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
75CheckLibrary4L: BuildLibrary4L
af710487 76 if [ ! -f ./bin4/liba.a ]; then exit 1; fi
970ed795
EL
77 if [ -f ./bin4/a ]; then exit 1; fi
78
79#### Without -L ####
80
81# ttcn3_makefilegen; make
82BuildLibrary: 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
88CheckLibrary: BuildLibrary
af710487 89 if [ -f ./bin/liba.a ]; then exit 1; fi
970ed795
EL
90 if [ ! -f ./bin/a ]; then exit 1; fi
91
92# ttcn3_makefilegen; make executable
93BuildLibrary3: 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
99CheckLibrary3: BuildLibrary3
af710487 100 if [ -f ./bin3/liba.a ]; then exit 1; fi
970ed795
EL
101 if [ ! -f ./bin3/a ]; then exit 1; fi
102
103# ttcn3_makefilegen; make library
104BuildLibrary2: 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
110CheckLibrary2: BuildLibrary2
af710487 111 if [ ! -f ./bin2/liba.a ]; then exit 1; fi
970ed795
EL
112 if [ -f ./bin2/a ]; then exit 1; fi
113
114# ttcn3_makefilegen; make all
115BuildLibrary4: 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
121CheckLibrary4: BuildLibrary4
af710487 122 if [ -f ./bin4/liba.a ]; then exit 1; fi
970ed795
EL
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
132Build_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
138Check_dynamic: Build_dynamic
af710487 139 if [ ! -f ./bin_dynamic/liba.so ]; then exit 1; fi
970ed795
EL
140 if [ -f ./bin_dynamic/a ]; then exit 1; fi
141
142# ttcn3_makefilegen -L -l; make library
143Build_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
149Check_dynamic2: Build_dynamic2
af710487 150 if [ ! -f ./bin_dynamic2/liba.so ]; then exit 1; fi
970ed795
EL
151 if [ -f ./bin_dynamic2/a ]; then exit 1; fi
152
153# ttcn3_makefilegen -L -l; make executable
154Build_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
160Check_dynamic3: Build_dynamic3
af710487 161 if [ ! -f ./bin_dynamic3/liba.so ]; then exit 1; fi
970ed795
EL
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
168Build_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
174Check_dynamic4: Build_dynamic4
af710487 175 if [ -f ./bin_dynamic4/liba.so ]; then exit 1; fi
970ed795
EL
176 if [ ! -f ./bin_dynamic4/a ]; then exit 1; fi
177
178# ttcn3_makefilegen -l; make library
179Build_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
185Check_dynamic5: Build_dynamic5
af710487 186 if [ ! -f ./bin_dynamic5/liba.so ]; then exit 1; fi
970ed795
EL
187 if [ -f ./bin_dynamic5/a ]; then exit 1; fi
188
189# ttcn3_makefilegen -l; make executable
190Build_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
196Check_dynamic6: Build_dynamic6
af710487 197 if [ -f ./bin_dynamic6/liba.so ]; then exit 1; fi
970ed795
EL
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
205Build_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
210Check_dynamic_central: Build_dynamic_central
af710487 211 if [ ! -f ./bin_central/libb.so ]; then exit 1; fi
970ed795
EL
212 if [ -f ./bin_central/b ]; then exit 1; fi
213
214# ttcn3_makefilegen -c -l; make
215Build_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
220Check_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
224Central:
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
232BuildHelloTpd:
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
237CheckHelloTpd: BuildHelloTpd
238 if [ -f HelloTpd/bin/HelloTpd_test.exe ]; then exit 1; fi
af710487 239 if [ ! -f HelloTpd/bin/libHelloTpd_test.a ]; then exit 1; fi
970ed795
EL
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
243BuildHelloTpd2:
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
250CheckHelloTpd2: BuildHelloTpd2
251 if [ -f HelloTpd2/bin/HelloTpd_test.exe ]; then exit 1; fi
af710487 252 if [ ! -f HelloTpd2/bin/libHelloTpd_test.a ]; then exit 1; fi
970ed795
EL
253
254clean:
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
260distclean: 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.058513 seconds and 5 git commands to generate.