# Copyright (c) 1997-2005 by Wayne C. Gramlich.
# All rights reserved.

ROOT = ..

include $(ROOT)/Makefile_common.mk
include $(ROOT)/Makefile_private.mk

# Some include directories:
STIPPLE_DIRECTORY = $(ROOT)/stipple
STC_DIRECTORY = $(STIPPLE_DIRECTORY)/stc
NSTC_DIRECTORY = $(STIPPLE_DIRECTORY)/nstc
LIBSTIPPLE_DIRECTORY= $(STIPPLE_DIRECTORY)/libstipple

LIBSTIPPLE = $(LIBSTIPPLE_DIRECTORY)/$(PLATFORM)
STC = $(STC_DIRECTORY)/$(PLATFORM)/stc
STL = $(STC_DIRECTORY)/$(PLATFORM)/stl
NSTC = $(NSTC_DIRECTORY)/$(PLATFORM)/nstc

STC_INCLUDES =			\
	-I $(LIBSTIPPLE)	\
	-I $(PLATFORM)
STC_FLAGS = ${STC_OPTIONS} ${STC_INCLUDES}

# Some macro lists:
XML_BASES =			\
	xml
XML_SOURCES = ${XML_BASES:%=%.sts}
XML_INTERFACES = ${XML_BASES:%=$(PLATFORM)/%.sti}
XML_OBJECTS = ${XML_BASES:%=$(PLATFORM)/%.o}
XML_HTMLS = ${XML_BASES:%=%.html}

XML_TEST_BASES =		\
	xml_test
XML_TEST_SOURCES = ${XML_TEST_BASES:%=%.sts}
XML_TEST_INTERFACES = ${XML_TEST_BASES:%=$(PLATFORM)/%.sti}
XML_TEST_OBJECTS = ${XML_TEST_BASES:%=$(PLATFORM)/%.o}
XML_TEST_HTMLS = ${XML_TEST_BASES:%=%.html}
XML_TEST = $(PLATFORM)/xml_test

ALL_BASES =			\
	${XML_BASES}		\
	${XML_TEST_BASES}

STS_SOURCES =			\
	${XML_SOURCES}		\
	${XML_TEST_SOURCES}
INTERFACES =			\
	${XML_INTERFACES}	\
	${XML_TEST_INTERFACES}
OBJECTS =			\
	${XML_OBJECTS}		\
	${XML_TEST_OBJECTS}

SOURCE_HTMLS =			\
	index.html
GENERATED_HTMLS =		\
	${XML_HTMLS}		\
	${XML_TEST_HTMLS}
HMTLS =				\
	${SOURCE_HTMLS}		\
	${GENERATED_HTMLS}	\
	source.html
OTHER_SOURCES =			\
	Makefile
SOURCES =			\
	${STS_SOURCES}		\
	${SOURCE_HTMLS}		\
	${OTHER_SOURCES}
CLEAN_LIST =			\
	${GENERATED_HTMLS}	\
	$(PLATFORM)		\
	STDB			\
	source.html
COPY_LIST =			\
	${SOURCES}		\
	${GENERATED_HTMLS}	\
	source.html
SOURCE_LIST =			\
	${STS_SOURCES}		\
	${OTHER_SOURCES}

PROGRAMS =			\
	${XML_TEST}

.PHONY: all clean copy spell

all: ${PROGRAMS} $(WAIT) ${HTMLS} $(WAIT) source.html

$(XML_TEST): ${SOURCES} $(WAIT) $(PLATFORM) $(WAIT) \
    ${INTERFACES} $(WAIT) ${OBJECTS}
	$(STL) -o $@ -E $(PLATFORM) ${INTERFACES} ${OBJECTS}

clean:
	rm -rf $(CLEAN_LIST)
	$(CLEAN)

source.html: ${SOURCES} ${GENERATED_HTMLS} Makefile
	@echo -n "Generating $@..."
	@rm -f $@
	@echo '<HTML>' > $@
	@echo '<Head>' >> $@
	@echo '<Title>XML Library Source Files</Title>' >> $@
	@echo '</Head>' >> $@
	@echo '<Body>' >> $@
	@echo '<P>These are the source files for the' >> $@
	@echo '<A HRef="index.html">XML Library</A>.</P>' >> $@
	@echo '<H1>' >> $@
	@echo 'XML Library Source Files' >> $@
	@echo '</H1>' >> $@
	@echo '<P>The following extracted documentation is available:</P>'>> $@
	@echo '<UL>' >> $@
	@for i in ${ALL_BASES} ; do					\
		echo "  <LI><A HRef='$$i.html'>$$i</A></LI>" >> $@ ;	\
		done
	@echo '</UL>' >> $@
	@echo '<P>The following source files are available:</P>' >> $@
	@echo '<UL>' >> $@
	@for i in ${SOURCE_LIST} ; do			\
		echo "  <LI><A HRef='$$i'>$$i</A></LI>" >> $@ ;	\
		done
	@echo '</UL>' >> $@
	@echo '<HR>' >> $@
	@echo '<Address>' >> $@
	@echo '<A HRef="../../../copyright.html">' >> $@
	@echo 'Copyright</A> (c) 1997 by' >> $@
	@echo '<A HRef="../../../gramlich.html">' >> $@
	@echo 'Wayne Gramlich</A> All rights reserved.' >> $@
	@echo '</Address>' >> $@
	@echo '</Body>' >> $@
	@echo '</HTML>' >> $@
	@echo "Done"








