COMPILE=	sh ./compile.sh
LINK=		sh ./link.sh
O=		object

DEP=		created-object settings.sh

all:		$O/vxquery

$O/vxquery:	$O/constants.o $O/handlers.o $O/parser.o \
		$O/processors.o $O/vuxml.o $O/pversion.o \
		$O/vxquery.o ${DEP}
	@${LINK} $O/vxquery $O/constants.o $O/handlers.o \
	    $O/parser.o $O/processors.o $O/vuxml.o $O/pversion.o \
	    $O/vxquery.o

$O/vxquery.o:	vxquery.cc ${DEP}
	@${COMPILE} $O/vxquery.o vxquery.cc

$O/parser.o:	parser.cc ${DEP}
	@${COMPILE} $O/parser.o parser.cc

$O/constants.o:	constants.cc ${DEP}
	@${COMPILE} $O/constants.o constants.cc

$O/handlers.o:	handlers.cc ${DEP}
	@${COMPILE} $O/handlers.o handlers.cc

$O/processors.o:	processors.cc ${DEP}
	@${COMPILE} $O/processors.o processors.cc

$O/pversion.o:	pversion.c ${DEP}
	@${COMPILE} $O/pversion.o pversion.c

$O/vuxml.o:	vuxml.cc ${DEP}
	@${COMPILE} $O/vuxml.o vuxml.cc

settings.sh:	settings.sh.in
	@echo "###"
	@echo "###   Run configure first."
	@echo "###"
	@false

created-object:
	mkdir -p $O
	touch created-object

clean:
	rm -fr $O/ created-object
	rm -fr *core

distclean:	clean
	rm -fr config.status autom4te.cache configure.lineno config.log
	rm -fr settings.sh created-object
	rm -fr include/vuxml/config.h

$O/constants.o: constants.cc include/vuxml/constants.hh \
  include/vuxml/elements.hh
$O/handlers.o: handlers.cc include/vuxml/constants.hh \
  include/vuxml/elements.hh include/vuxml/parser.hh \
  include/vuxml/state_init.hh include/vuxml/state_head.hh \
  include/vuxml/basic_state.hh include/vuxml/state_undef.hh
$O/parser.o: parser.cc include/vuxml/vuxml.hh include/vuxml/parser.hh
$O/processors.o: processors.cc include/vuxml/vuxml.hh \
  include/vuxml/processors.hh
$O/vuxml.o: vuxml.cc include/vuxml/vuxml.hh
$O/vxquery.o: vxquery.cc include/vuxml/parser.hh
