MHEG5

diff --git a/examples/sample.source.MHEG5/Makefile b/examples/sample.source.MHEG5/Makefile
new file mode 100644
index 0000000..e84e400
--- /dev/null
+++ b/examples/sample.source.MHEG5/Makefile
@@ -0,0 +1,479 @@
+ASN_MODULE_SOURCES=	\
+	InterchangedObject.c	\
+	RootClass.c	\
+	GroupClass.c	\
+	StandardIdentifier.c	\
+	GroupItem.c	\
+	ApplicationClass.c	\
+	DefaultAttribute.c	\
+	FontBody.c	\
+	SceneClass.c	\
+	SceneCoordinateSystem.c	\
+	AspectRatio.c	\
+	NextScene.c	\
+	IngredientClass.c	\
+	ContentBody.c	\
+	ReferencedContent.c	\
+	LinkClass.c	\
+	LinkCondition.c	\
+	EventType.c	\
+	EventData.c	\
+	ProgramClass.c	\
+	ResidentProgramClass.c	\
+	RemoteProgramClass.c	\
+	InterchangedProgramClass.c	\
+	PaletteClass.c	\
+	FontClass.c	\
+	CursorShapeClass.c	\
+	VariableClass.c	\
+	OriginalValue.c	\
+	BooleanVariableClass.c	\
+	IntegerVariableClass.c	\
+	OctetStringVariableClass.c	\
+	ObjectRefVariableClass.c	\
+	ContentRefVariableClass.c	\
+	PresentableClass.c	\
+	TokenManagerClass.c	\
+	Movement.c	\
+	TokenGroupClass.c	\
+	TokenGroupItem.c	\
+	ActionSlot.c	\
+	ListGroupClass.c	\
+	VisibleClass.c	\
+	OriginalBoxSize.c	\
+	BitmapClass.c	\
+	LineArtClass.c	\
+	RectangleClass.c	\
+	DynamicLineArtClass.c	\
+	TextClass.c	\
+	Justification.c	\
+	LineOrientation.c	\
+	StartCorner.c	\
+	StreamClass.c	\
+	StreamComponent.c	\
+	Storage.c	\
+	AudioClass.c	\
+	VideoClass.c	\
+	Termination.c	\
+	RTGraphicsClass.c	\
+	InteractibleClass.c	\
+	SliderClass.c	\
+	Orientation.c	\
+	SliderStyle.c	\
+	EntryFieldClass.c	\
+	InputType.c	\
+	HyperTextClass.c	\
+	ButtonClass.c	\
+	HotspotClass.c	\
+	PushButtonClass.c	\
+	SwitchButtonClass.c	\
+	ButtonStyle.c	\
+	ActionClass.c	\
+	ElementaryAction.c	\
+	Add.c	\
+	AddItem.c	\
+	Append.c	\
+	Call.c	\
+	CallActionSlot.c	\
+	Clone.c	\
+	CloseConnection.c	\
+	DelItem.c	\
+	DeselectItem.c	\
+	Divide.c	\
+	DrawArc.c	\
+	DrawLine.c	\
+	DrawOval.c	\
+	DrawPolygon.c	\
+	DrawPolyline.c	\
+	DrawRectangle.c	\
+	DrawSector.c	\
+	Fork.c	\
+	GetAvailabilityStatus.c	\
+	GetBoxSize.c	\
+	GetCellItem.c	\
+	GetCursorPosition.c	\
+	GetEngineSupport.c	\
+	GetEntryPoint.c	\
+	GetFillColour.c	\
+	GetFirstItem.c	\
+	GetHighlightStatus.c	\
+	GetInteractionStatus.c	\
+	GetItemStatus.c	\
+	GetLabel.c	\
+	GetLastAnchorFired.c	\
+	GetLineColour.c	\
+	GetLineStyle.c	\
+	GetLineWidth.c	\
+	GetListItem.c	\
+	GetListSize.c	\
+	GetOverwriteMode.c	\
+	GetPortion.c	\
+	GetPosition.c	\
+	GetRunningStatus.c	\
+	GetSelectionStatus.c	\
+	GetSliderValue.c	\
+	GetTextContent.c	\
+	GetTextData.c	\
+	GetTokenPosition.c	\
+	GetVolume.c	\
+	Modulo.c	\
+	Move.c	\
+	MoveTo.c	\
+	Multiply.c	\
+	OpenConnection.c	\
+	PutBefore.c	\
+	PutBehind.c	\
+	ReadPersistent.c	\
+	ScaleBitmap.c	\
+	ScaleVideo.c	\
+	ScrollItems.c	\
+	SelectItem.c	\
+	SendEvent.c	\
+	SetBoxSize.c	\
+	SetCachePriority.c	\
+	SetCounterEndPosition.c	\
+	SetCounterPosition.c	\
+	SetCounterTrigger.c	\
+	SetCursorPosition.c	\
+	SetCursorShape.c	\
+	SetData.c	\
+	SetEntryPoint.c	\
+	SetFillColour.c	\
+	SetFirstItem.c	\
+	SetFontRef.c	\
+	SetHighlightStatus.c	\
+	SetInteractionStatus.c	\
+	SetLabel.c	\
+	SetLineColour.c	\
+	SetLineStyle.c	\
+	SetLineWidth.c	\
+	SetOverwriteMode.c	\
+	SetPaletteRef.c	\
+	SetPortion.c	\
+	SetPosition.c	\
+	SetSliderValue.c	\
+	SetSpeed.c	\
+	SetTimer.c	\
+	NewTimer.c	\
+	SetTransparency.c	\
+	SetVariable.c	\
+	SetVolume.c	\
+	Step.c	\
+	StorePersistent.c	\
+	Subtract.c	\
+	TestVariable.c	\
+	ToggleItem.c	\
+	TransitionTo.c	\
+	ConnectionTagOrNull.c	\
+	ComparisonValue.c	\
+	EmulatedEventData.c	\
+	NewColour.c	\
+	NewContent.c	\
+	NewFont.c	\
+	NewReferencedContent.c	\
+	NewContentSize.c	\
+	NewVariableValue.c	\
+	Parameter.c	\
+	Point.c	\
+	Rational.c	\
+	ObjectReference.c	\
+	ExternalReference.c	\
+	IndirectReference.c	\
+	ContentReference.c	\
+	GenericObjectReference.c	\
+	GenericContentReference.c	\
+	GenericInteger.c	\
+	GenericBoolean.c	\
+	GenericOctetString.c	\
+	Colour.c	\
+	XYPosition.c
+
+ASN_MODULE_HEADERS=	\
+	InterchangedObject.h	\
+	RootClass.h	\
+	GroupClass.h	\
+	StandardIdentifier.h	\
+	GroupItem.h	\
+	ApplicationClass.h	\
+	DefaultAttribute.h	\
+	FontBody.h	\
+	SceneClass.h	\
+	SceneCoordinateSystem.h	\
+	AspectRatio.h	\
+	NextScene.h	\
+	IngredientClass.h	\
+	ContentBody.h	\
+	ReferencedContent.h	\
+	LinkClass.h	\
+	LinkCondition.h	\
+	EventType.h	\
+	EventData.h	\
+	ProgramClass.h	\
+	ResidentProgramClass.h	\
+	RemoteProgramClass.h	\
+	InterchangedProgramClass.h	\
+	PaletteClass.h	\
+	FontClass.h	\
+	CursorShapeClass.h	\
+	VariableClass.h	\
+	OriginalValue.h	\
+	BooleanVariableClass.h	\
+	IntegerVariableClass.h	\
+	OctetStringVariableClass.h	\
+	ObjectRefVariableClass.h	\
+	ContentRefVariableClass.h	\
+	PresentableClass.h	\
+	TokenManagerClass.h	\
+	Movement.h	\
+	TokenGroupClass.h	\
+	TokenGroupItem.h	\
+	ActionSlot.h	\
+	ListGroupClass.h	\
+	VisibleClass.h	\
+	OriginalBoxSize.h	\
+	BitmapClass.h	\
+	LineArtClass.h	\
+	RectangleClass.h	\
+	DynamicLineArtClass.h	\
+	TextClass.h	\
+	Justification.h	\
+	LineOrientation.h	\
+	StartCorner.h	\
+	StreamClass.h	\
+	StreamComponent.h	\
+	Storage.h	\
+	AudioClass.h	\
+	VideoClass.h	\
+	Termination.h	\
+	RTGraphicsClass.h	\
+	InteractibleClass.h	\
+	SliderClass.h	\
+	Orientation.h	\
+	SliderStyle.h	\
+	EntryFieldClass.h	\
+	InputType.h	\
+	HyperTextClass.h	\
+	ButtonClass.h	\
+	HotspotClass.h	\
+	PushButtonClass.h	\
+	SwitchButtonClass.h	\
+	ButtonStyle.h	\
+	ActionClass.h	\
+	ElementaryAction.h	\
+	Add.h	\
+	AddItem.h	\
+	Append.h	\
+	Call.h	\
+	CallActionSlot.h	\
+	Clone.h	\
+	CloseConnection.h	\
+	DelItem.h	\
+	DeselectItem.h	\
+	Divide.h	\
+	DrawArc.h	\
+	DrawLine.h	\
+	DrawOval.h	\
+	DrawPolygon.h	\
+	DrawPolyline.h	\
+	DrawRectangle.h	\
+	DrawSector.h	\
+	Fork.h	\
+	GetAvailabilityStatus.h	\
+	GetBoxSize.h	\
+	GetCellItem.h	\
+	GetCursorPosition.h	\
+	GetEngineSupport.h	\
+	GetEntryPoint.h	\
+	GetFillColour.h	\
+	GetFirstItem.h	\
+	GetHighlightStatus.h	\
+	GetInteractionStatus.h	\
+	GetItemStatus.h	\
+	GetLabel.h	\
+	GetLastAnchorFired.h	\
+	GetLineColour.h	\
+	GetLineStyle.h	\
+	GetLineWidth.h	\
+	GetListItem.h	\
+	GetListSize.h	\
+	GetOverwriteMode.h	\
+	GetPortion.h	\
+	GetPosition.h	\
+	GetRunningStatus.h	\
+	GetSelectionStatus.h	\
+	GetSliderValue.h	\
+	GetTextContent.h	\
+	GetTextData.h	\
+	GetTokenPosition.h	\
+	GetVolume.h	\
+	Modulo.h	\
+	Move.h	\
+	MoveTo.h	\
+	Multiply.h	\
+	OpenConnection.h	\
+	PutBefore.h	\
+	PutBehind.h	\
+	ReadPersistent.h	\
+	ScaleBitmap.h	\
+	ScaleVideo.h	\
+	ScrollItems.h	\
+	SelectItem.h	\
+	SendEvent.h	\
+	SetBoxSize.h	\
+	SetCachePriority.h	\
+	SetCounterEndPosition.h	\
+	SetCounterPosition.h	\
+	SetCounterTrigger.h	\
+	SetCursorPosition.h	\
+	SetCursorShape.h	\
+	SetData.h	\
+	SetEntryPoint.h	\
+	SetFillColour.h	\
+	SetFirstItem.h	\
+	SetFontRef.h	\
+	SetHighlightStatus.h	\
+	SetInteractionStatus.h	\
+	SetLabel.h	\
+	SetLineColour.h	\
+	SetLineStyle.h	\
+	SetLineWidth.h	\
+	SetOverwriteMode.h	\
+	SetPaletteRef.h	\
+	SetPortion.h	\
+	SetPosition.h	\
+	SetSliderValue.h	\
+	SetSpeed.h	\
+	SetTimer.h	\
+	NewTimer.h	\
+	SetTransparency.h	\
+	SetVariable.h	\
+	SetVolume.h	\
+	Step.h	\
+	StorePersistent.h	\
+	Subtract.h	\
+	TestVariable.h	\
+	ToggleItem.h	\
+	TransitionTo.h	\
+	ConnectionTagOrNull.h	\
+	ComparisonValue.h	\
+	EmulatedEventData.h	\
+	NewColour.h	\
+	NewContent.h	\
+	NewFont.h	\
+	NewReferencedContent.h	\
+	NewContentSize.h	\
+	NewVariableValue.h	\
+	Parameter.h	\
+	Point.h	\
+	Rational.h	\
+	ObjectReference.h	\
+	ExternalReference.h	\
+	IndirectReference.h	\
+	ContentReference.h	\
+	GenericObjectReference.h	\
+	GenericContentReference.h	\
+	GenericInteger.h	\
+	GenericBoolean.h	\
+	GenericOctetString.h	\
+	Colour.h	\
+	XYPosition.h
+
+ASN_MODULE_HEADERS+=BOOLEAN.h
+ASN_MODULE_SOURCES+=BOOLEAN.c
+ASN_MODULE_HEADERS+=ENUMERATED.h
+ASN_MODULE_SOURCES+=ENUMERATED.c
+ASN_MODULE_HEADERS+=INTEGER.h
+ASN_MODULE_SOURCES+=INTEGER.c
+ASN_MODULE_HEADERS+=NULL.h
+ASN_MODULE_SOURCES+=NULL.c
+ASN_MODULE_HEADERS+=asn_SEQUENCE_OF.h
+ASN_MODULE_SOURCES+=asn_SEQUENCE_OF.c
+ASN_MODULE_HEADERS+=asn_SET_OF.h
+ASN_MODULE_SOURCES+=asn_SET_OF.c
+ASN_MODULE_HEADERS+=constr_CHOICE.h
+ASN_MODULE_SOURCES+=constr_CHOICE.c
+ASN_MODULE_HEADERS+=constr_SEQUENCE.h
+ASN_MODULE_SOURCES+=constr_SEQUENCE.c
+ASN_MODULE_HEADERS+=constr_SEQUENCE_OF.h
+ASN_MODULE_SOURCES+=constr_SEQUENCE_OF.c
+ASN_MODULE_HEADERS+=constr_SET_OF.h
+ASN_MODULE_HEADERS+=constr_SET.h
+ASN_MODULE_SOURCES+=constr_SET.c
+ASN_MODULE_SOURCES+=constr_SET_OF.c
+ASN_MODULE_HEADERS+=asn_application.h
+ASN_MODULE_HEADERS+=asn_system.h
+ASN_MODULE_HEADERS+=asn_codecs.h
+ASN_MODULE_HEADERS+=asn_internal.h
+ASN_MODULE_HEADERS+=OCTET_STRING.h
+ASN_MODULE_SOURCES+=OCTET_STRING.c
+ASN_MODULE_HEADERS+=BIT_STRING.h
+ASN_MODULE_SOURCES+=BIT_STRING.c
+ASN_MODULE_SOURCES+=asn_codecs_prim.c
+ASN_MODULE_HEADERS+=asn_codecs_prim.h
+ASN_MODULE_HEADERS+=ber_tlv_length.h
+ASN_MODULE_SOURCES+=ber_tlv_length.c
+ASN_MODULE_HEADERS+=ber_tlv_tag.h
+ASN_MODULE_SOURCES+=ber_tlv_tag.c
+ASN_MODULE_HEADERS+=ber_decoder.h
+ASN_MODULE_SOURCES+=ber_decoder.c
+ASN_MODULE_HEADERS+=der_encoder.h
+ASN_MODULE_SOURCES+=der_encoder.c
+ASN_MODULE_HEADERS+=constr_TYPE.h
+ASN_MODULE_SOURCES+=constr_TYPE.c
+ASN_MODULE_HEADERS+=constraints.h
+ASN_MODULE_SOURCES+=constraints.c
+ASN_MODULE_HEADERS+=xer_support.h
+ASN_MODULE_SOURCES+=xer_support.c
+ASN_MODULE_HEADERS+=xer_decoder.h
+ASN_MODULE_SOURCES+=xer_decoder.c
+ASN_MODULE_HEADERS+=xer_encoder.h
+ASN_MODULE_SOURCES+=xer_encoder.c
+
+
+lib_LTLIBRARIES=libsomething.la
+libsomething_la_SOURCES=$(ASN_MODULE_SOURCES) $(ASN_MODULE_HEADERS)
+
+# This file may be used as an input for make(3)
+# Remove the lines below to convert it into a pure .am file
+TARGET = mheg5dump
+CFLAGS += -I. -DHAVE_CONFIG_H
+OBJS=${ASN_MODULE_SOURCES:.c=.o} $(TARGET).o
+
+all: $(TARGET)
+
+$(TARGET): ${OBJS}
+	$(CC) $(CFLAGS) -o $(TARGET) ${OBJS} $(LDFLAGS) $(LIBS)
+
+.SUFFIXES:
+.SUFFIXES: .c .o
+
+.c.o:
+	$(CC) $(CFLAGS) -o $@ -c $<
+
+clean:
+	rm -f $(TARGET)
+	rm -f $(OBJS)
+
+regen: regenerate-from-asn1-source
+
+regenerate-from-asn1-source:
+	../../asn1c/asn1c -S ../../skeletons -fcompound-names ../ISO13522-MHEG-5.asn
+
+
+../ISO13522-MHEG-5.asn:
+	@echo The ../ISO13522-MHEG-5.asn file is not yet present.
+	@echo Please read the README file on how to obtain this file.
+	@exit 42
+
+InterchangedObject.c: ../ISO13522-MHEG-5.asn regenerate.Makefile
+	./regenerate.Makefile
+	@touch InterchangedObject.c
+	make
+
+ASN_DECODER_TEMPLATE=../../skeletons/asn-decoder-template.c
+$(TARGET).o: $(ASN_DECODER_TEMPLATE)
+	$(CC) $(CFLAGS) -Dasn_DEF=asn_DEF_InterchangedObject -o $(TARGET).o -c $(ASN_DECODER_TEMPLATE)
+
+distclean: clean
+	rm -f $(ASN_MODULE_SOURCES) $(ASN_MODULE_HEADERS)
+	rm -f Makefile.am.sample