## Process this file with automake to produce Makefile.in

docdir = $(datadir)/doc/$(PACKAGE)-$(VERSION)/ogg

doc_DATA = bitpacking.html datastructures.html decoding.html encoding.html\
	general.html index.html ogg_packet.html ogg_packet_clear.html\
	ogg_page.html ogg_page_bos.html ogg_page_checksum_set.html\
	ogg_page_continued.html ogg_page_eos.html ogg_page_granulepos.html\
	ogg_page_packets.html ogg_page_pageno.html ogg_page_serialno.html\
	ogg_page_version.html ogg_stream_clear.html ogg_stream_destroy.html\
	ogg_stream_eos.html ogg_stream_flush.html ogg_stream_init.html\
	ogg_stream_packetin.html ogg_stream_packetout.html\
	ogg_stream_packetpeek.html ogg_stream_pagein.html\
	ogg_stream_pageout.html ogg_stream_pageout_fill.html ogg_stream_reset.html\
	ogg_stream_reset_serialno.html ogg_stream_state.html\
	ogg_sync_buffer.html ogg_sync_clear.html ogg_sync_destroy.html\
	ogg_sync_init.html ogg_sync_pageout.html ogg_sync_pageseek.html\
	ogg_sync_reset.html ogg_sync_state.html ogg_sync_wrote.html\
	oggpack_adv.html oggpack_adv1.html oggpack_bits.html\
	oggpack_buffer.html oggpack_bytes.html oggpack_get_buffer.html\
	oggpack_look.html oggpack_look1.html oggpack_read.html\
	oggpack_read1.html oggpack_readinit.html oggpack_reset.html\
	oggpack_write.html oggpack_writealign.html oggpack_writeclear.html\
	oggpack_writecopy.html oggpack_writeinit.html oggpack_writetrunc.html\
	overview.html reference.html style.css

EXTRA_DIST = $(doc_DATA)
