blob: e6f1fba859a23f7230049750835643b8a8845247 [file] [log] [blame]
Lev Walkin5aef2c52007-06-29 12:46:06 +00001ASN_MODULE_SOURCES= \
2 ULP-PDU.c \
3 UlpMessage.c \
4 SUPLINIT.c \
5 Notification.c \
6 NotificationType.c \
7 EncodingType.c \
8 FormatIndicator.c \
9 SLPMode.c \
10 MAC.c \
11 KeyIdentity.c \
12 SUPLSTART.c \
13 SETCapabilities.c \
14 PosTechnology.c \
15 PrefMethod.c \
16 PosProtocol.c \
17 SUPLRESPONSE.c \
18 SETAuthKey.c \
19 KeyIdentity4.c \
20 SUPLPOSINIT.c \
21 RequestedAssistData.c \
22 NavigationModel.c \
23 SatelliteInfo.c \
24 SatelliteInfoElement.c \
25 SUPLPOS.c \
26 PosPayLoad.c \
27 SUPLEND.c \
28 SUPLAUTHREQ.c \
29 SETNonce.c \
30 KeyIdentity2.c \
31 SUPLAUTHRESP.c \
32 SPCAuthKey.c \
33 KeyIdentity3.c \
34 Version.c \
35 SessionID.c \
36 SetSessionID.c \
37 SETId.c \
38 SlpSessionID.c \
39 IPAddress.c \
40 SLPAddress.c \
41 FQDN.c \
42 Ver.c \
43 LocationId.c \
44 Status.c \
45 CellInfo.c \
46 Position.c \
47 PositionEstimate.c \
48 AltitudeInfo.c \
49 CdmaCellInformation.c \
50 GsmCellInformation.c \
51 WcdmaCellInformation.c \
52 FrequencyInfo.c \
53 FrequencyInfoFDD.c \
54 FrequencyInfoTDD.c \
55 UARFCN.c \
56 NMR.c \
57 NMRelement.c \
58 MeasuredResultsList.c \
59 MeasuredResults.c \
60 CellMeasuredResultsList.c \
61 UTRA-CarrierRSSI.c \
62 CellMeasuredResults.c \
63 CellParametersID.c \
64 TGSN.c \
65 PrimaryCCPCH-RSCP.c \
66 TimeslotISCP.c \
67 TimeslotISCP-List.c \
68 PrimaryCPICH-Info.c \
69 CPICH-Ec-N0.c \
70 CPICH-RSCP.c \
71 Pathloss.c \
72 StatusCode.c \
73 QoP.c \
74 Velocity.c \
75 Horvel.c \
76 Horandvervel.c \
77 Horveluncert.c \
78 Horandveruncert.c \
79 PosMethod.c
80
81ASN_MODULE_HEADERS= \
82 ULP-PDU.h \
83 UlpMessage.h \
84 SUPLINIT.h \
85 Notification.h \
86 NotificationType.h \
87 EncodingType.h \
88 FormatIndicator.h \
89 SLPMode.h \
90 MAC.h \
91 KeyIdentity.h \
92 SUPLSTART.h \
93 SETCapabilities.h \
94 PosTechnology.h \
95 PrefMethod.h \
96 PosProtocol.h \
97 SUPLRESPONSE.h \
98 SETAuthKey.h \
99 KeyIdentity4.h \
100 SUPLPOSINIT.h \
101 RequestedAssistData.h \
102 NavigationModel.h \
103 SatelliteInfo.h \
104 SatelliteInfoElement.h \
105 SUPLPOS.h \
106 PosPayLoad.h \
107 SUPLEND.h \
108 SUPLAUTHREQ.h \
109 SETNonce.h \
110 KeyIdentity2.h \
111 SUPLAUTHRESP.h \
112 SPCAuthKey.h \
113 KeyIdentity3.h \
114 Version.h \
115 SessionID.h \
116 SetSessionID.h \
117 SETId.h \
118 SlpSessionID.h \
119 IPAddress.h \
120 SLPAddress.h \
121 FQDN.h \
122 Ver.h \
123 LocationId.h \
124 Status.h \
125 CellInfo.h \
126 Position.h \
127 PositionEstimate.h \
128 AltitudeInfo.h \
129 CdmaCellInformation.h \
130 GsmCellInformation.h \
131 WcdmaCellInformation.h \
132 FrequencyInfo.h \
133 FrequencyInfoFDD.h \
134 FrequencyInfoTDD.h \
135 UARFCN.h \
136 NMR.h \
137 NMRelement.h \
138 MeasuredResultsList.h \
139 MeasuredResults.h \
140 CellMeasuredResultsList.h \
141 UTRA-CarrierRSSI.h \
142 CellMeasuredResults.h \
143 CellParametersID.h \
144 TGSN.h \
145 PrimaryCCPCH-RSCP.h \
146 TimeslotISCP.h \
147 TimeslotISCP-List.h \
148 PrimaryCPICH-Info.h \
149 CPICH-Ec-N0.h \
150 CPICH-RSCP.h \
151 Pathloss.h \
152 StatusCode.h \
153 QoP.h \
154 Velocity.h \
155 Horvel.h \
156 Horandvervel.h \
157 Horveluncert.h \
158 Horandveruncert.h \
159 PosMethod.h
160
161ASN_MODULE_HEADERS+=BOOLEAN.h
162ASN_MODULE_SOURCES+=BOOLEAN.c
163ASN_MODULE_HEADERS+=ENUMERATED.h
164ASN_MODULE_SOURCES+=ENUMERATED.c
165ASN_MODULE_HEADERS+=INTEGER.h
166ASN_MODULE_HEADERS+=NativeEnumerated.h
167ASN_MODULE_HEADERS+=GeneralizedTime.h
168ASN_MODULE_SOURCES+=GeneralizedTime.c
169ASN_MODULE_HEADERS+=IA5String.h
170ASN_MODULE_SOURCES+=IA5String.c
171ASN_MODULE_SOURCES+=INTEGER.c
172ASN_MODULE_SOURCES+=NativeEnumerated.c
173ASN_MODULE_HEADERS+=NativeInteger.h
174ASN_MODULE_SOURCES+=NativeInteger.c
175ASN_MODULE_HEADERS+=UTCTime.h
176ASN_MODULE_SOURCES+=UTCTime.c
177ASN_MODULE_HEADERS+=VisibleString.h
178ASN_MODULE_SOURCES+=VisibleString.c
179ASN_MODULE_HEADERS+=asn_SEQUENCE_OF.h
180ASN_MODULE_SOURCES+=asn_SEQUENCE_OF.c
181ASN_MODULE_HEADERS+=asn_SET_OF.h
182ASN_MODULE_SOURCES+=asn_SET_OF.c
183ASN_MODULE_HEADERS+=constr_CHOICE.h
184ASN_MODULE_SOURCES+=constr_CHOICE.c
185ASN_MODULE_HEADERS+=constr_SEQUENCE.h
186ASN_MODULE_SOURCES+=constr_SEQUENCE.c
187ASN_MODULE_HEADERS+=constr_SEQUENCE_OF.h
188ASN_MODULE_SOURCES+=constr_SEQUENCE_OF.c
189ASN_MODULE_HEADERS+=constr_SET_OF.h
190ASN_MODULE_SOURCES+=constr_SET_OF.c
191ASN_MODULE_HEADERS+=asn_application.h
192ASN_MODULE_HEADERS+=asn_system.h
193ASN_MODULE_HEADERS+=asn_codecs.h
194ASN_MODULE_HEADERS+=asn_internal.h
195ASN_MODULE_HEADERS+=OCTET_STRING.h
196ASN_MODULE_SOURCES+=OCTET_STRING.c
197ASN_MODULE_HEADERS+=BIT_STRING.h
198ASN_MODULE_SOURCES+=BIT_STRING.c
199ASN_MODULE_SOURCES+=asn_codecs_prim.c
200ASN_MODULE_HEADERS+=asn_codecs_prim.h
201ASN_MODULE_HEADERS+=ber_tlv_length.h
202ASN_MODULE_SOURCES+=ber_tlv_length.c
203ASN_MODULE_HEADERS+=ber_tlv_tag.h
204ASN_MODULE_SOURCES+=ber_tlv_tag.c
205ASN_MODULE_HEADERS+=ber_decoder.h
206ASN_MODULE_SOURCES+=ber_decoder.c
207ASN_MODULE_HEADERS+=der_encoder.h
208ASN_MODULE_SOURCES+=der_encoder.c
209ASN_MODULE_HEADERS+=constr_TYPE.h
210ASN_MODULE_SOURCES+=constr_TYPE.c
211ASN_MODULE_HEADERS+=constraints.h
212ASN_MODULE_SOURCES+=constraints.c
213ASN_MODULE_HEADERS+=xer_support.h
214ASN_MODULE_SOURCES+=xer_support.c
215ASN_MODULE_HEADERS+=xer_decoder.h
216ASN_MODULE_SOURCES+=xer_decoder.c
217ASN_MODULE_HEADERS+=xer_encoder.h
218ASN_MODULE_SOURCES+=xer_encoder.c
219ASN_MODULE_HEADERS+=per_support.h
220ASN_MODULE_SOURCES+=per_support.c
221ASN_MODULE_HEADERS+=per_decoder.h
222ASN_MODULE_SOURCES+=per_decoder.c
223ASN_MODULE_HEADERS+=per_encoder.h
224ASN_MODULE_SOURCES+=per_encoder.c
225ASN_MODULE_HEADERS+=per_opentype.h
226ASN_MODULE_SOURCES+=per_opentype.c
227ASN_CONVERTER_SOURCES+=converter-sample.c
Lev Walkinf7a029e2007-06-29 12:59:12 +0000228ASN_CONVERTER_SOURCES+=pdu_collection.c
Lev Walkin5aef2c52007-06-29 12:46:06 +0000229
230
231lib_LTLIBRARIES=libsomething.la
232libsomething_la_SOURCES=$(ASN_MODULE_SOURCES) $(ASN_MODULE_HEADERS)
233
234# This file may be used as an input for make(3)
235# Remove the lines below to convert it into a pure .am file
236TARGET = ulp-dump
Bi-Ruei, Chiue68cc222017-05-21 23:57:58 +0800237CFLAGS += -DASN_CONVERTER_TITLE="OMA UserPlane Location Protocol decoder" -DHAVE_CONFIG_H -DJUNKTEST -D_DEFAULT_SOURCE -DPDU=ULP_PDU -DASN_PDU_COLLECTION -I.
Lev Walkin5aef2c52007-06-29 12:46:06 +0000238OBJS=${ASN_MODULE_SOURCES:.c=.o} ${ASN_CONVERTER_SOURCES:.c=.o}
239
240all: ULP-PDU.c $(TARGET)
241
242$(TARGET): ${OBJS}
243 $(CC) $(CFLAGS) -o $(TARGET) ${OBJS} $(LDFLAGS) $(LIBS)
244
245.SUFFIXES:
246.SUFFIXES: .c .o
247
248.c.o:
249 $(CC) $(CFLAGS) -o $@ -c $<
250
251clean:
252 rm -f $(TARGET)
253 rm -f $(OBJS)
254
255regen: regenerate-from-asn1-source
256
257regenerate-from-asn1-source:
Lev Walkin7c9e5de2007-06-29 15:21:12 +0000258 ../../asn1c/asn1c -S ../../skeletons -pdu=ULP-PDU -pdu=SUPLINIT -fcompound-names -gen-PER ../ulp.asn1
Lev Walkin5aef2c52007-06-29 12:46:06 +0000259
260
261ULP-PDU.c: ../sample.makefile.regen ../ulp.asn1
262 make regen-makefile
263 @touch ULP-PDU.c
264 make
265
266regen-makefile:
267 TITLE="OMA UserPlane Location Protocol decoder" \
Lev Walkin7c9e5de2007-06-29 15:21:12 +0000268 ASN1CMDOPTS="-pdu=SUPLINIT -fcompound-names -gen-PER" \
Lev Walkin5aef2c52007-06-29 12:46:06 +0000269 ASN1MODULES="../ulp.asn1" \
270 ASN1PDU=ULP-PDU \
271 PROGNAME=ulp-dump \
Bi-Ruei, Chiue68cc222017-05-21 23:57:58 +0800272 CFLAGS="" \
Lev Walkin5aef2c52007-06-29 12:46:06 +0000273 ../sample.makefile.regen
274
275check: ${TARGET} check-ber check-xer check-per
276 @echo ================
277 @echo All tests passed
278 @echo ================
279
280check-ber:
281 @if test -f sample-ULP-PDU-1.[db]er ; then \
282 for f in sample-ULP-PDU-*.[db]er; do \
283 for b in 1 17 33 980 8192; do \
284 echo "Recoding $$f into XER and back ($$b)..."; \
285 ./${TARGET} -b $$b -iber -oxer $$f > ./.tmp.1.$$$$ || exit 2; \
286 ./${TARGET} -b $$b -ixer -oxer ./.tmp.1.$$$$ > ./.tmp.2.$$$$ || exit 3; \
287 diff ./.tmp.1.$$$$ ./.tmp.2.$$$$ || exit 4; \
288 rm -f ./.tmp.[12].$$$$; \
289 echo "Test junking $$f (please wait)..."; \
290 ./${TARGET} -J0.0001 -n 1000 -b $$b -iber -onull $$f || exit 5; \
291 ./${TARGET} -J0.001 -n 1000 -b $$b -iber -onull $$f || exit 6; \
292 done; done; fi
293
294check-xer:
295 @if test -f sample-ULP-PDU-1.xer ; then \
296 for f in sample-ULP-PDU-*.xer; do \
297 for b in 1 17 33 980 8192; do \
298 echo "Recoding $$f into DER and back ($$b)..."; \
299 ./${TARGET} -b $$b -ixer -oder $$f > ./.tmp.1.$$$$ || exit 2; \
300 ./${TARGET} -b $$b -iber -oxer ./.tmp.1.$$$$ > ./.tmp.2.$$$$ || exit 3; \
301 diff $$f ./.tmp.2.$$$$ || exit 4; \
302 rm -f ./.tmp.[12].$$$$; \
303 echo "Test junking $$f (please wait)..."; \
304 ./${TARGET} -J0.0001 -n 1000 -b $$b -ixer -onull $$f || exit 5; \
305 ./${TARGET} -J0.001 -n 1000 -b $$b -ixer -onull $$f || exit 6; \
306 done; done; fi
307
308check-per:
309 @if test -f sample-ULP-PDU-1-nopad.per ; then \
310 for f in sample-ULP-PDU-[1-9]-nopad.per; do \
311 for b in 1 17 33 980 8192; do \
312 echo "Recoding non-padded $$f into DER into XER and back ($$b)..."; \
313 ./${TARGET} -b $$b -per-nopad -iper -oder $$f > ./.tmp.1.$$$$ || exit 2; \
314 ./${TARGET} -b $$b -iber -oxer ./.tmp.1.$$$$ > ./.tmp.2.$$$$ || exit 3; \
315 ./${TARGET} -b $$b -ixer -oder ./.tmp.2.$$$$ > ./.tmp.3.$$$$ || exit 4; \
316 diff ./.tmp.1.$$$$ ./.tmp.3.$$$$ || exit 5; \
317 rm -f ./.tmp.[123].$$$$; \
318 echo "Test junking $$f (please wait)..."; \
319 ./${TARGET} -J0.0001 -n 1000 -b $$b -per-nopad -iper -onull $$f || exit 6; \
320 ./${TARGET} -J0.001 -n 1000 -b $$b -per-nopad -iper -onull $$f || exit 7; \
321 done; done; fi
322 @if test -f sample-ULP-PDU-1.per ; then \
323 for f in sample-*-[1-9].per; do \
324 pdu=`echo $$f | sed -E -e "s/sample-([A-Za-z-]+)-[0-9].*/\1/"`; \
325 for b in 1 17 33 980 8192; do \
326 echo "Recoding $$f into DER into XER and back ($$b)..."; \
327 ./${TARGET} -b $$b -p $$pdu -iper -oder $$f > ./.tmp.1.$$$$ || exit 3; \
328 ./${TARGET} -b $$b -p $$pdu -iber -oxer ./.tmp.1.$$$$ > ./.tmp.2.$$$$ || exit 4; \
329 ./${TARGET} -b $$b -p $$pdu -ixer -oper ./.tmp.2.$$$$ > ./.tmp.1.$$$$ || exit 5; \
330 diff $$f ./.tmp.1.$$$$ || exit 6; \
331 rm -f ./.tmp.[12].$$$$; \
332 echo "Test junking $$f (please wait)..."; \
333 ./${TARGET} -J0.0001 -n 1000 -b $$b -iper -onull $$f || exit 7; \
334 ./${TARGET} -J0.001 -n 1000 -b $$b -iper -onull $$f || exit 8; \
335 done; done; fi
336
337distclean: clean
338 rm -f $(ASN_MODULE_SOURCES)
339 rm -f $(ASN_MODULE_HEADERS)
340 rm -f $(ASN_CONVERTER_SOURCES) $(ASN_CONVERTER_HEADERS)
341 rm -f Makefile.am.sample