blob: 7f454edd99fb3602a1145d7d20f55e4592b4a7ef [file] [log] [blame]
Lev Walkin60a14032004-09-23 22:02:52 +00001ASN_MODULE_SOURCES= \
2 Attribute.c \
3 AttributeType.c \
4 AttributeValue.c \
5 AttributeTypeAndValue.c \
6 X520name.c \
7 X520CommonName.c \
8 X520LocalityName.c \
9 X520StateOrProvinceName.c \
10 X520OrganizationName.c \
11 X520OrganizationalUnitName.c \
12 X520Title.c \
13 X520dnQualifier.c \
14 X520countryName.c \
15 X520SerialNumber.c \
16 X520Pseudonym.c \
17 DomainComponent.c \
18 EmailAddress.c \
19 Name.c \
20 RDNSequence.c \
21 DistinguishedName.c \
22 RelativeDistinguishedName.c \
23 DirectoryString.c \
24 Certificate.c \
25 TBSCertificate.c \
26 Version.c \
27 CertificateSerialNumber.c \
28 Validity.c \
29 Time.c \
30 UniqueIdentifier.c \
31 SubjectPublicKeyInfo.c \
32 Extensions.c \
33 Extension.c \
34 CertificateList.c \
35 TBSCertList.c \
36 AlgorithmIdentifier.c \
37 ORAddress.c \
38 BuiltInStandardAttributes.c \
39 CountryName.c \
40 AdministrationDomainName.c \
41 NetworkAddress.c \
42 X121Address.c \
43 TerminalIdentifier.c \
44 PrivateDomainName.c \
45 OrganizationName.c \
46 NumericUserIdentifier.c \
47 PersonalName.c \
48 OrganizationalUnitNames.c \
49 OrganizationalUnitName.c \
50 BuiltInDomainDefinedAttributes.c \
51 BuiltInDomainDefinedAttribute.c \
52 ExtensionAttributes.c \
53 ExtensionAttribute.c \
54 CommonName.c \
55 TeletexCommonName.c \
56 TeletexOrganizationName.c \
57 TeletexPersonalName.c \
58 TeletexOrganizationalUnitNames.c \
59 TeletexOrganizationalUnitName.c \
60 PDSName.c \
61 PhysicalDeliveryCountryName.c \
62 PostalCode.c \
63 PhysicalDeliveryOfficeName.c \
64 PhysicalDeliveryOfficeNumber.c \
65 ExtensionORAddressComponents.c \
66 PhysicalDeliveryPersonalName.c \
67 PhysicalDeliveryOrganizationName.c \
68 ExtensionPhysicalDeliveryAddressComponents.c \
69 UnformattedPostalAddress.c \
70 StreetAddress.c \
71 PostOfficeBoxAddress.c \
72 PosteRestanteAddress.c \
73 UniquePostalName.c \
74 LocalPostalAttributes.c \
75 PDSParameter.c \
76 ExtendedNetworkAddress.c \
77 PresentationAddress.c \
78 TerminalType.c \
79 TeletexDomainDefinedAttributes.c \
80 TeletexDomainDefinedAttribute.c \
81 AuthorityKeyIdentifier.c \
82 KeyIdentifier.c \
83 SubjectKeyIdentifier.c \
84 KeyUsage.c \
85 PrivateKeyUsagePeriod.c \
86 CertificatePolicies.c \
87 PolicyInformation.c \
88 CertPolicyId.c \
89 PolicyQualifierInfo.c \
90 PolicyQualifierId.c \
91 CPSuri.c \
92 UserNotice.c \
93 NoticeReference.c \
94 DisplayText.c \
95 PolicyMappings.c \
96 SubjectAltName.c \
97 GeneralNames.c \
98 GeneralName.c \
99 AnotherName.c \
100 EDIPartyName.c \
101 IssuerAltName.c \
102 SubjectDirectoryAttributes.c \
103 BasicConstraints.c \
104 NameConstraints.c \
105 GeneralSubtrees.c \
106 GeneralSubtree.c \
107 BaseDistance.c \
108 PolicyConstraints.c \
109 SkipCerts.c \
110 CRLDistributionPoints.c \
111 DistributionPoint.c \
112 DistributionPointName.c \
113 ReasonFlags.c \
114 ExtKeyUsageSyntax.c \
115 KeyPurposeId.c \
116 InhibitAnyPolicy.c \
117 FreshestCRL.c \
118 AuthorityInfoAccessSyntax.c \
119 AccessDescription.c \
120 SubjectInfoAccessSyntax.c \
121 CRLNumber.c \
122 IssuingDistributionPoint.c \
123 BaseCRLNumber.c \
124 CRLReason.c \
125 CertificateIssuer.c \
126 HoldInstructionCode.c \
127 InvalidityDate.c
128
129ASN_MODULE_HEADERS= \
130 Attribute.h \
131 AttributeType.h \
132 AttributeValue.h \
133 AttributeTypeAndValue.h \
134 X520name.h \
135 X520CommonName.h \
136 X520LocalityName.h \
137 X520StateOrProvinceName.h \
138 X520OrganizationName.h \
139 X520OrganizationalUnitName.h \
140 X520Title.h \
141 X520dnQualifier.h \
142 X520countryName.h \
143 X520SerialNumber.h \
144 X520Pseudonym.h \
145 DomainComponent.h \
146 EmailAddress.h \
147 Name.h \
148 RDNSequence.h \
149 DistinguishedName.h \
150 RelativeDistinguishedName.h \
151 DirectoryString.h \
152 Certificate.h \
153 TBSCertificate.h \
154 Version.h \
155 CertificateSerialNumber.h \
156 Validity.h \
157 Time.h \
158 UniqueIdentifier.h \
159 SubjectPublicKeyInfo.h \
160 Extensions.h \
161 Extension.h \
162 CertificateList.h \
163 TBSCertList.h \
164 AlgorithmIdentifier.h \
165 ORAddress.h \
166 BuiltInStandardAttributes.h \
167 CountryName.h \
168 AdministrationDomainName.h \
169 NetworkAddress.h \
170 X121Address.h \
171 TerminalIdentifier.h \
172 PrivateDomainName.h \
173 OrganizationName.h \
174 NumericUserIdentifier.h \
175 PersonalName.h \
176 OrganizationalUnitNames.h \
177 OrganizationalUnitName.h \
178 BuiltInDomainDefinedAttributes.h \
179 BuiltInDomainDefinedAttribute.h \
180 ExtensionAttributes.h \
181 ExtensionAttribute.h \
182 CommonName.h \
183 TeletexCommonName.h \
184 TeletexOrganizationName.h \
185 TeletexPersonalName.h \
186 TeletexOrganizationalUnitNames.h \
187 TeletexOrganizationalUnitName.h \
188 PDSName.h \
189 PhysicalDeliveryCountryName.h \
190 PostalCode.h \
191 PhysicalDeliveryOfficeName.h \
192 PhysicalDeliveryOfficeNumber.h \
193 ExtensionORAddressComponents.h \
194 PhysicalDeliveryPersonalName.h \
195 PhysicalDeliveryOrganizationName.h \
196 ExtensionPhysicalDeliveryAddressComponents.h \
197 UnformattedPostalAddress.h \
198 StreetAddress.h \
199 PostOfficeBoxAddress.h \
200 PosteRestanteAddress.h \
201 UniquePostalName.h \
202 LocalPostalAttributes.h \
203 PDSParameter.h \
204 ExtendedNetworkAddress.h \
205 PresentationAddress.h \
206 TerminalType.h \
207 TeletexDomainDefinedAttributes.h \
208 TeletexDomainDefinedAttribute.h \
209 AuthorityKeyIdentifier.h \
210 KeyIdentifier.h \
211 SubjectKeyIdentifier.h \
212 KeyUsage.h \
213 PrivateKeyUsagePeriod.h \
214 CertificatePolicies.h \
215 PolicyInformation.h \
216 CertPolicyId.h \
217 PolicyQualifierInfo.h \
218 PolicyQualifierId.h \
219 CPSuri.h \
220 UserNotice.h \
221 NoticeReference.h \
222 DisplayText.h \
223 PolicyMappings.h \
224 SubjectAltName.h \
225 GeneralNames.h \
226 GeneralName.h \
227 AnotherName.h \
228 EDIPartyName.h \
229 IssuerAltName.h \
230 SubjectDirectoryAttributes.h \
231 BasicConstraints.h \
232 NameConstraints.h \
233 GeneralSubtrees.h \
234 GeneralSubtree.h \
235 BaseDistance.h \
236 PolicyConstraints.h \
237 SkipCerts.h \
238 CRLDistributionPoints.h \
239 DistributionPoint.h \
240 DistributionPointName.h \
241 ReasonFlags.h \
242 ExtKeyUsageSyntax.h \
243 KeyPurposeId.h \
244 InhibitAnyPolicy.h \
245 FreshestCRL.h \
246 AuthorityInfoAccessSyntax.h \
247 AccessDescription.h \
248 SubjectInfoAccessSyntax.h \
249 CRLNumber.h \
250 IssuingDistributionPoint.h \
251 BaseCRLNumber.h \
252 CRLReason.h \
253 CertificateIssuer.h \
254 HoldInstructionCode.h \
255 InvalidityDate.h
256
257ASN_MODULE_HEADERS+=ANY.h
258ASN_MODULE_SOURCES+=ANY.c
Lev Walkin0c050a82017-08-27 12:39:47 -0700259ASN_MODULE_HEADERS+=OPEN_TYPE.h
260ASN_MODULE_SOURCES+=OPEN_TYPE.c
261ASN_MODULE_HEADERS+=constr_CHOICE.h
Lev Walkin60a14032004-09-23 22:02:52 +0000262ASN_MODULE_HEADERS+=BMPString.h
263ASN_MODULE_SOURCES+=BMPString.c
Lev Walkin523ae092004-10-26 10:48:48 +0000264ASN_MODULE_HEADERS+=UTF8String.h
Lev Walkin60a14032004-09-23 22:02:52 +0000265ASN_MODULE_HEADERS+=BOOLEAN.h
266ASN_MODULE_SOURCES+=BOOLEAN.c
Bi-Ruei, Chiue68cc222017-05-21 23:57:58 +0800267ASN_MODULE_HEADERS+=ENUMERATED.h
268ASN_MODULE_SOURCES+=ENUMERATED.c
Lev Walkin60a14032004-09-23 22:02:52 +0000269ASN_MODULE_HEADERS+=INTEGER.h
Lev Walkin57074f12006-03-16 05:11:14 +0000270ASN_MODULE_HEADERS+=NativeEnumerated.h
Lev Walkin60a14032004-09-23 22:02:52 +0000271ASN_MODULE_HEADERS+=GeneralizedTime.h
272ASN_MODULE_SOURCES+=GeneralizedTime.c
273ASN_MODULE_HEADERS+=IA5String.h
274ASN_MODULE_SOURCES+=IA5String.c
275ASN_MODULE_SOURCES+=INTEGER.c
Lev Walkin57074f12006-03-16 05:11:14 +0000276ASN_MODULE_SOURCES+=NativeEnumerated.c
Lev Walkinb07880d2005-09-30 05:23:47 +0000277ASN_MODULE_HEADERS+=NativeInteger.h
278ASN_MODULE_SOURCES+=NativeInteger.c
Lev Walkin60a14032004-09-23 22:02:52 +0000279ASN_MODULE_HEADERS+=NumericString.h
280ASN_MODULE_SOURCES+=NumericString.c
281ASN_MODULE_HEADERS+=OBJECT_IDENTIFIER.h
282ASN_MODULE_SOURCES+=OBJECT_IDENTIFIER.c
283ASN_MODULE_HEADERS+=PrintableString.h
284ASN_MODULE_SOURCES+=PrintableString.c
285ASN_MODULE_HEADERS+=TeletexString.h
286ASN_MODULE_SOURCES+=TeletexString.c
287ASN_MODULE_HEADERS+=UTCTime.h
288ASN_MODULE_SOURCES+=UTCTime.c
Lev Walkin60a14032004-09-23 22:02:52 +0000289ASN_MODULE_SOURCES+=UTF8String.c
290ASN_MODULE_HEADERS+=UniversalString.h
291ASN_MODULE_SOURCES+=UniversalString.c
292ASN_MODULE_HEADERS+=VisibleString.h
293ASN_MODULE_SOURCES+=VisibleString.c
294ASN_MODULE_HEADERS+=asn_SEQUENCE_OF.h
295ASN_MODULE_SOURCES+=asn_SEQUENCE_OF.c
296ASN_MODULE_HEADERS+=asn_SET_OF.h
297ASN_MODULE_SOURCES+=asn_SET_OF.c
Lev Walkin60a14032004-09-23 22:02:52 +0000298ASN_MODULE_SOURCES+=constr_CHOICE.c
299ASN_MODULE_HEADERS+=constr_SEQUENCE.h
300ASN_MODULE_SOURCES+=constr_SEQUENCE.c
301ASN_MODULE_HEADERS+=constr_SEQUENCE_OF.h
302ASN_MODULE_SOURCES+=constr_SEQUENCE_OF.c
Lev Walkinf6315b32004-10-05 06:38:19 +0000303ASN_MODULE_HEADERS+=constr_SET_OF.h
Lev Walkin60a14032004-09-23 22:02:52 +0000304ASN_MODULE_HEADERS+=constr_SET.h
305ASN_MODULE_SOURCES+=constr_SET.c
Lev Walkin60a14032004-09-23 22:02:52 +0000306ASN_MODULE_SOURCES+=constr_SET_OF.c
Lev Walkin3f7217d2004-09-24 20:55:11 +0000307ASN_MODULE_HEADERS+=asn_application.h
Lev Walkin0c050a82017-08-27 12:39:47 -0700308ASN_MODULE_HEADERS+=asn_ioc.h
Lev Walkin870ccdb2004-10-20 15:49:29 +0000309ASN_MODULE_HEADERS+=asn_system.h
Lev Walkin0f350002004-10-28 13:24:08 +0000310ASN_MODULE_HEADERS+=asn_codecs.h
311ASN_MODULE_HEADERS+=asn_internal.h
Lev Walkin0c050a82017-08-27 12:39:47 -0700312ASN_MODULE_HEADERS+=asn_bit_data.h
313ASN_MODULE_SOURCES+=asn_bit_data.c
Lev Walkin60a14032004-09-23 22:02:52 +0000314ASN_MODULE_HEADERS+=OCTET_STRING.h
315ASN_MODULE_SOURCES+=OCTET_STRING.c
Lev Walkinbbd93252004-10-12 05:57:23 +0000316ASN_MODULE_HEADERS+=BIT_STRING.h
317ASN_MODULE_SOURCES+=BIT_STRING.c
Lev Walkin523ae092004-10-26 10:48:48 +0000318ASN_MODULE_SOURCES+=asn_codecs_prim.c
319ASN_MODULE_HEADERS+=asn_codecs_prim.h
Lev Walkin60a14032004-09-23 22:02:52 +0000320ASN_MODULE_HEADERS+=ber_tlv_length.h
321ASN_MODULE_SOURCES+=ber_tlv_length.c
322ASN_MODULE_HEADERS+=ber_tlv_tag.h
323ASN_MODULE_SOURCES+=ber_tlv_tag.c
Lev Walkin523ae092004-10-26 10:48:48 +0000324ASN_MODULE_HEADERS+=ber_decoder.h
325ASN_MODULE_SOURCES+=ber_decoder.c
326ASN_MODULE_HEADERS+=der_encoder.h
327ASN_MODULE_SOURCES+=der_encoder.c
Lev Walkin60a14032004-09-23 22:02:52 +0000328ASN_MODULE_HEADERS+=constr_TYPE.h
329ASN_MODULE_SOURCES+=constr_TYPE.c
330ASN_MODULE_HEADERS+=constraints.h
331ASN_MODULE_SOURCES+=constraints.c
Lev Walkin870ccdb2004-10-20 15:49:29 +0000332ASN_MODULE_HEADERS+=xer_support.h
333ASN_MODULE_SOURCES+=xer_support.c
Lev Walkin523ae092004-10-26 10:48:48 +0000334ASN_MODULE_HEADERS+=xer_decoder.h
335ASN_MODULE_SOURCES+=xer_decoder.c
Lev Walkin60a14032004-09-23 22:02:52 +0000336ASN_MODULE_HEADERS+=xer_encoder.h
337ASN_MODULE_SOURCES+=xer_encoder.c
Lev Walkin57074f12006-03-16 05:11:14 +0000338ASN_MODULE_HEADERS+=per_support.h
339ASN_MODULE_SOURCES+=per_support.c
340ASN_MODULE_HEADERS+=per_decoder.h
341ASN_MODULE_SOURCES+=per_decoder.c
Lev Walkin5e2f23e2006-08-25 01:51:29 +0000342ASN_MODULE_HEADERS+=per_encoder.h
343ASN_MODULE_SOURCES+=per_encoder.c
Lev Walkin5aef2c52007-06-29 12:46:06 +0000344ASN_MODULE_HEADERS+=per_opentype.h
345ASN_MODULE_SOURCES+=per_opentype.c
Lev Walkinf5b49392006-09-12 06:19:15 +0000346ASN_CONVERTER_SOURCES+=converter-sample.c
Lev Walkin60a14032004-09-23 22:02:52 +0000347
348
349lib_LTLIBRARIES=libsomething.la
350libsomething_la_SOURCES=$(ASN_MODULE_SOURCES) $(ASN_MODULE_HEADERS)
351
352# This file may be used as an input for make(3)
353# Remove the lines below to convert it into a pure .am file
354TARGET = x509dump
Lev Walkin0c050a82017-08-27 12:39:47 -0700355CPPFLAGS += -DHAVE_CONFIG_H -DJUNKTEST -D_DEFAULT_SOURCE -DASN_DISABLE_OER_SUPPORT -DASN_DISABLE_PER_SUPPORT -DPDU=Certificate -I.
Lev Walkinf5b49392006-09-12 06:19:15 +0000356OBJS=${ASN_MODULE_SOURCES:.c=.o} ${ASN_CONVERTER_SOURCES:.c=.o}
Lev Walkin60a14032004-09-23 22:02:52 +0000357
Lev Walkin0c050a82017-08-27 12:39:47 -0700358all: maybe-wip-pause Certificate.c $(TARGET)
Lev Walkin60a14032004-09-23 22:02:52 +0000359
360$(TARGET): ${OBJS}
Lev Walkin0c050a82017-08-27 12:39:47 -0700361 $(CC) $(CFLAGS) $(CPPFLAGS) -o $(TARGET) ${OBJS} $(LDFLAGS) $(LIBS)
Lev Walkin60a14032004-09-23 22:02:52 +0000362
363.SUFFIXES:
364.SUFFIXES: .c .o
365
366.c.o:
Lev Walkin0c050a82017-08-27 12:39:47 -0700367 $(CC) $(CFLAGS) $(CPPFLAGS) -o $@ -c $<
Lev Walkin60a14032004-09-23 22:02:52 +0000368
369clean:
370 rm -f $(TARGET)
371 rm -f $(OBJS)
372
Lev Walkin4b24d482005-03-06 09:28:03 +0000373regen: regenerate-from-asn1-source
374
375regenerate-from-asn1-source:
Bi-Ruei, Chiue68cc222017-05-21 23:57:58 +0800376 ../../asn1c/asn1c -S ../../skeletons -pdu=Certificate -fwide-types ../rfc3280-PKIX1Explicit88.asn1 ../rfc3280-PKIX1Implicit88.asn1
Lev Walkin4b24d482005-03-06 09:28:03 +0000377
Lev Walkin60a14032004-09-23 22:02:52 +0000378
Lev Walkinc33a59e2006-09-18 20:04:14 +0000379Certificate.c: ../sample.makefile.regen ../rfc3280-*.asn1
Lev Walkincc7c94e2006-09-17 04:01:29 +0000380 make regen-makefile
381 @touch Certificate.c
382 make
383
384regen-makefile:
Alexander Duryaginbc6243e2016-07-08 15:51:12 +0300385 ASN1CMDOPTS="-fwide-types" \
Lev Walkinf5b49392006-09-12 06:19:15 +0000386 ASN1MODULES="../rfc3280-*.asn1" \
387 ASN1PDU=Certificate \
388 PROGNAME=x509dump \
Lev Walkin0c050a82017-08-27 12:39:47 -0700389 CPPFLAGS="" \
Lev Walkin2fd86de2006-09-13 02:10:23 +0000390 ../sample.makefile.regen
Lev Walkin60a14032004-09-23 22:02:52 +0000391
Lev Walkin1f12da42006-09-24 19:47:07 +0000392check: ${TARGET} check-ber check-xer check-per
393 @echo ================
394 @echo All tests passed
395 @echo ================
396
397check-ber:
Lev Walkin13afe532006-09-18 21:30:04 +0000398 @if test -f sample-Certificate-1.[db]er ; then \
Lev Walkina926fce2017-08-27 12:54:25 -0700399 for f in sample-*-*.[db]er; do \
400 pdu=`echo $$f | sed -E -e "s/sample-([A-Za-z-]+)-[0-9].*/\1/"`; \
Lev Walkin13afe532006-09-18 21:30:04 +0000401 for b in 1 17 33 980 8192; do \
Lev Walkina926fce2017-08-27 12:54:25 -0700402 echo "Recoding $$f ($$pdu) into XER and back ($$b)..."; \
403 ./${TARGET} -p $$pdu -b $$b -iber -oxer $$f > ./.tmp.1.$$$$ || exit 2; \
404 ./${TARGET} -p $$pdu -b $$b -ixer -oxer ./.tmp.1.$$$$ > ./.tmp.2.$$$$ || exit 3; \
Lev Walkin3cd82c32007-06-26 08:37:20 +0000405 diff ./.tmp.1.$$$$ ./.tmp.2.$$$$ || exit 4; \
Lev Walkinc33a59e2006-09-18 20:04:14 +0000406 rm -f ./.tmp.[12].$$$$; \
Lev Walkin1f12da42006-09-24 19:47:07 +0000407 echo "Test junking $$f (please wait)..."; \
Lev Walkina926fce2017-08-27 12:54:25 -0700408 ./${TARGET} -J0.0001 -n 1000 -p $$pdu -b $$b -iber -onull $$f || exit 5; \
409 ./${TARGET} -J0.001 -n 1000 -p $$pdu -b $$b -iber -onull $$f || exit 6; \
Lev Walkin13afe532006-09-18 21:30:04 +0000410 done; done; fi
Lev Walkin1f12da42006-09-24 19:47:07 +0000411
412check-xer:
Lev Walkin13afe532006-09-18 21:30:04 +0000413 @if test -f sample-Certificate-1.xer ; then \
Lev Walkina926fce2017-08-27 12:54:25 -0700414 for f in sample-*-*.xer; do \
415 pdu=`echo $$f | sed -E -e "s/sample-([A-Za-z-]+)-[0-9].*/\1/"`; \
Lev Walkin13afe532006-09-18 21:30:04 +0000416 for b in 1 17 33 980 8192; do \
Lev Walkina926fce2017-08-27 12:54:25 -0700417 echo "Recoding $$f ($$pdu) into DER and back ($$b)..."; \
418 ./${TARGET} -p $$pdu -b $$b -ixer -oder $$f > ./.tmp.1.$$$$ || exit 2; \
419 ./${TARGET} -p $$pdu -b $$b -iber -oxer ./.tmp.1.$$$$ > ./.tmp.2.$$$$ || exit 3; \
Lev Walkin3cd82c32007-06-26 08:37:20 +0000420 diff $$f ./.tmp.2.$$$$ || exit 4; \
Lev Walkinc33a59e2006-09-18 20:04:14 +0000421 rm -f ./.tmp.[12].$$$$; \
Lev Walkin1f12da42006-09-24 19:47:07 +0000422 echo "Test junking $$f (please wait)..."; \
Lev Walkina926fce2017-08-27 12:54:25 -0700423 ./${TARGET} -J0.0001 -n 1000 -p $$pdu -b $$b -ixer -onull $$f || exit 5; \
424 ./${TARGET} -J0.001 -n 1000 -p $$pdu -b $$b -ixer -onull $$f || exit 6; \
Lev Walkin13afe532006-09-18 21:30:04 +0000425 done; done; fi
Lev Walkin1f12da42006-09-24 19:47:07 +0000426
427check-per:
Lev Walkin3cd82c32007-06-26 08:37:20 +0000428 @if test -f sample-Certificate-1-nopad.per ; then \
Lev Walkina926fce2017-08-27 12:54:25 -0700429 for f in sample-*-[1-9]-nopad.per; do \
430 pdu=`echo $$f | sed -E -e "s/sample-([A-Za-z-]+)-[0-9].*/\1/"`; \
Lev Walkin13afe532006-09-18 21:30:04 +0000431 for b in 1 17 33 980 8192; do \
Lev Walkina926fce2017-08-27 12:54:25 -0700432 echo "Recoding non-padded $$f ($$pdu) into DER into XER and back ($$b)..."; \
433 ./${TARGET} -p $$pdu -b $$b -per-nopad -iper -oder $$f > ./.tmp.1.$$$$ || exit 2; \
434 ./${TARGET} -p $$pdu -b $$b -iber -oxer ./.tmp.1.$$$$ > ./.tmp.2.$$$$ || exit 3; \
435 ./${TARGET} -p $$pdu -b $$b -ixer -oder ./.tmp.2.$$$$ > ./.tmp.3.$$$$ || exit 4; \
Lev Walkin3cd82c32007-06-26 08:37:20 +0000436 diff ./.tmp.1.$$$$ ./.tmp.3.$$$$ || exit 5; \
Lev Walkin13afe532006-09-18 21:30:04 +0000437 rm -f ./.tmp.[123].$$$$; \
Lev Walkin1f12da42006-09-24 19:47:07 +0000438 echo "Test junking $$f (please wait)..."; \
Lev Walkina926fce2017-08-27 12:54:25 -0700439 ./${TARGET} -J0.0001 -n 1000 -p $$pdu -b $$b -per-nopad -iper -onull $$f || exit 6; \
440 ./${TARGET} -J0.001 -n 1000 -p $$pdu -b $$b -per-nopad -iper -onull $$f || exit 7; \
Lev Walkin13afe532006-09-18 21:30:04 +0000441 done; done; fi
Lev Walkin3cd82c32007-06-26 08:37:20 +0000442 @if test -f sample-Certificate-1.per ; then \
443 for f in sample-*-[1-9].per; do \
Lev Walkin13afe532006-09-18 21:30:04 +0000444 pdu=`echo $$f | sed -E -e "s/sample-([A-Za-z-]+)-[0-9].*/\1/"`; \
445 for b in 1 17 33 980 8192; do \
Lev Walkina926fce2017-08-27 12:54:25 -0700446 echo "Recoding $$f ($$pdu) into DER into XER and back ($$b)..."; \
447 ./${TARGET} -p $$pdu -b $$b -iper -oder $$f > ./.tmp.1.$$$$ || exit 3; \
448 ./${TARGET} -p $$pdu -b $$b -iber -oxer ./.tmp.1.$$$$ > ./.tmp.2.$$$$ || exit 4; \
449 ./${TARGET} -p $$pdu -b $$b -ixer -oper ./.tmp.2.$$$$ > ./.tmp.1.$$$$ || exit 5; \
Lev Walkin3cd82c32007-06-26 08:37:20 +0000450 diff $$f ./.tmp.1.$$$$ || exit 6; \
Lev Walkin13afe532006-09-18 21:30:04 +0000451 rm -f ./.tmp.[12].$$$$; \
Lev Walkin1f12da42006-09-24 19:47:07 +0000452 echo "Test junking $$f (please wait)..."; \
Lev Walkina926fce2017-08-27 12:54:25 -0700453 ./${TARGET} -J0.0001 -n 1000 -p $$pdu -b $$b -iper -onull $$f || exit 7; \
454 ./${TARGET} -J0.001 -n 1000 -p $$pdu -b $$b -iper -onull $$f || exit 8; \
Lev Walkin13afe532006-09-18 21:30:04 +0000455 done; done; fi
Lev Walkinc744a022006-09-15 18:33:25 +0000456
Lev Walkin0c050a82017-08-27 12:39:47 -0700457maybe-wip-pause:
458 @if [ -f WIP ]; then cat WIP; sleep 2; fi
459
Lev Walkin60a14032004-09-23 22:02:52 +0000460distclean: clean
Lev Walkinbcda5ff2006-09-17 03:29:51 +0000461 rm -f $(ASN_MODULE_SOURCES)
462 rm -f $(ASN_MODULE_HEADERS)
Lev Walkinf5b49392006-09-12 06:19:15 +0000463 rm -f $(ASN_CONVERTER_SOURCES) $(ASN_CONVERTER_HEADERS)
Lev Walkin60a14032004-09-23 22:02:52 +0000464 rm -f Makefile.am.sample