blob: 8c8be630d2f60c3fccfe1459078cd3db82cd54d3 [file] [log] [blame]
vlm94c92c02006-09-13 02:10:23 +00001#!/bin/sh
2
3if [ -z "$ASN1PDU" \
4 -o -z "$ASN1MODULES" \
5 -o -z "$PROGNAME" \
6 ]; then
vlmebfee8e2006-09-15 22:45:40 +00007 echo "ASN1CMDOPTS=\"$ASN1CMDOPTS\""
vlm94c92c02006-09-13 02:10:23 +00008 echo "ASN1MODULES=\"$ASN1MODULES\""
vlmebfee8e2006-09-15 22:45:40 +00009 echo "ASN1PDU=\"$ASN1PDU\""
vlm94c92c02006-09-13 02:10:23 +000010 echo "PROGNAME=\"$PROGNAME\""
vlmebfee8e2006-09-15 22:45:40 +000011 echo "ASN1PDU, ASN1MODULES, and PROGNAME are mandatory"
vlm94c92c02006-09-13 02:10:23 +000012 exit
13fi
14
15../../asn1c/asn1c -S ../../skeletons ${ASN1CMDOPTS} ${ASN1MODULES} || exit $?
16
17if [ ! -f Makefile.am.sample ]; then
18 echo "Makefile.am.sample is missing"
19 exit 1
20fi
21
vlmebfee8e2006-09-15 22:45:40 +000022ASN1PDU=`echo "$ASN1PDU" | tr - _`
23
vlm94c92c02006-09-13 02:10:23 +000024set -x
25cat Makefile.am.sample \
26 | sed -e "s/^CFLAGS.*/CFLAGS += -I. -DHAVE_CONFIG_H -DPDU=${ASN1PDU}/" \
27 | sed -e "s/^all: /all: ${ASN1PDU}.c /" \
28 | sed -e "s/progname/${PROGNAME}/" \
29 > Makefile.$$
30
31( echo
32 echo "${ASN1PDU}.c: $0"
33 echo " ASN1CMDOPTS=\"${ASN1CMDOPTS}\" \\"
34 echo " ASN1MODULES=\"${ASN1MODULES}\" \\"
35 echo " ASN1PDU=${ASN1PDU} \\"
36 echo " PROGNAME=${PROGNAME} \\"
37 echo " $0"
38 echo " @touch ${ASN1PDU}.c"
39 echo " make"
40 echo
vlme0fb1e82006-09-15 18:33:25 +000041 echo 'check: ${TARGET}'
42 echo " @if test -f ./sample-${ASN1PDU}-1.[db]er ; then \\"
43 echo " for f in ./sample-${ASN1PDU}-*.[db]er; do \\"
44 echo ' echo "Recoding $$f into XER and back..."; \'
45 echo ' ./${TARGET} -iber -oxer $$f > ./.tmp.1.$$ || exit 2; \'
46 echo ' ./${TARGET} -ixer -oxer ./.tmp.1.$$ > ./.tmp.2.$$ || exit 2; \'
47 echo ' diff ./.tmp.1.$$ ./.tmp.2.$$ || exit 2; \'
48 echo ' rm -f ./.tmp.[12].$$; \'
49 echo ' done; fi'
50 echo ' @echo ================'
51 echo ' @echo All tests passed'
52 echo ' @echo ================'
53 echo
vlm94c92c02006-09-13 02:10:23 +000054 echo "distclean: clean"
55 echo ' rm -f $(ASN_MODULE_SOURCES) $(ASN_MODULE_HEADERS)'
56 echo ' rm -f $(ASN_CONVERTER_SOURCES) $(ASN_CONVERTER_HEADERS)'
57 echo " rm -f Makefile.am.sample"
58) >> Makefile.$$
59
60rm Makefile.am.sample || exit $?
61
62mv Makefile.$$ Makefile
63
64set +x
65echo
66echo "Makefile generation finished"