#!/bin/sh if [ -z "$ASN1PDU" \ -o -z "$ASN1MODULES" \ -o -z "$PROGNAME" \ ]; then echo "ASN1CMDOPTS=\"$ASN1CMDOPTS\"" echo "ASN1MODULES=\"$ASN1MODULES\"" echo "ASN1PDU=\"$ASN1PDU\"" echo "PROGNAME=\"$PROGNAME\"" echo "ASN1PDU, ASN1MODULES, and PROGNAME are mandatory" exit fi ../../asn1c/asn1c -S ../../skeletons ${ASN1CMDOPTS} ${ASN1MODULES} || exit $? if [ ! -f Makefile.am.sample ]; then echo "Makefile.am.sample is missing" exit 1 fi ASN1PDU=`echo "$ASN1PDU" | tr - _` set -x cat Makefile.am.sample \ | sed -e "s/^CFLAGS.*/CFLAGS += -I. -DHAVE_CONFIG_H -DPDU=${ASN1PDU}/" \ | sed -e "s/^all: /all: ${ASN1PDU}.c /" \ | sed -e "s/progname/${PROGNAME}/" \ > Makefile.$$ ( echo echo "${ASN1PDU}.c: $0" echo " ASN1CMDOPTS=\"${ASN1CMDOPTS}\" \\" echo " ASN1MODULES=\"${ASN1MODULES}\" \\" echo " ASN1PDU=${ASN1PDU} \\" echo " PROGNAME=${PROGNAME} \\" echo " $0" echo " @touch ${ASN1PDU}.c" echo " make" echo echo 'check: ${TARGET}' echo " @if test -f ./sample-${ASN1PDU}-1.[db]er ; then \\" echo " for f in ./sample-${ASN1PDU}-*.[db]er; do \\" echo ' echo "Recoding $$f into XER and back..."; \' echo ' ./${TARGET} -iber -oxer $$f > ./.tmp.1.$$ || exit 2; \' echo ' ./${TARGET} -ixer -oxer ./.tmp.1.$$ > ./.tmp.2.$$ || exit 2; \' echo ' diff ./.tmp.1.$$ ./.tmp.2.$$ || exit 2; \' echo ' rm -f ./.tmp.[12].$$; \' echo ' done; fi' echo ' @echo ================' echo ' @echo All tests passed' echo ' @echo ================' echo echo "distclean: clean" echo ' rm -f $(ASN_MODULE_SOURCES) $(ASN_MODULE_HEADERS)' echo ' rm -f $(ASN_CONVERTER_SOURCES) $(ASN_CONVERTER_HEADERS)' echo " rm -f Makefile.am.sample" ) >> Makefile.$$ rm Makefile.am.sample || exit $? mv Makefile.$$ Makefile set +x echo echo "Makefile generation finished"