KAYAC = ../compiler/kayac
CXXFLAGS = -I../rts -O2
KAYAINC = -noenvlibs -I../stdlib -I../rts -I../contrib -deprfail
INSTALLFLAGS = -m 644
CGIINSTFLAGS = -m 700
CGIDATAFLAGS = -m 600
SITE = index.cgi

INSTALLBASE=/users/kaya
INSTALLPATH=${INSTALLBASE}/web
XMLPATH=${INSTALLBASE}/libxml
CACHEPATH=${INSTALLBASE}/cache

all: ${SITE} examples logos sitemap.xml.gz

# since Kaya doesn't handle include dependencies yet
Content.o : Templates.o Constants.o pages/*.kp ../stdlib/KayaDoc.o
Constants.o: ../stdlib/HTMLDocument.o ../stdlib/Webapp.o
Templates.o: Constants.o 
NavData.o: Content.o
Navigation.o: NavData.o
LastChange.o: Navigation.o
Caching.o: Navigation.o Content.o LastChange.o

%.o: %.k
	${KAYAC} $< ${KAYAINC} -nochase -nortchecks -L ../rts_opt -L ../rts -L ../stdlib -L ../contrib

index.cgi : website.k Caching.o Constants.o Content.o NavData.o Navigation.o Templates.o LastChange.o
	${KAYAC} $< ${KAYAINC} -nortchecks -L ../rts_opt -L ../rts -L ../stdlib -L ../contrib -nochase

sitemap : sitemap.k Constants.o Content.o NavData.o Navigation.o
	${KAYAC} $< ${KAYAINC} -nortchecks -L ../rts_opt -L ../rts -L ../stdlib -L ../contrib -nochase

sitemap.xml.gz : sitemap
	./sitemap | gzip -c > sitemap.xml.gz

examples: 
	make -C files

# should really have dependency information
logos:
	sh images/logos/build.sh

install: all
	mkdir -p ${INSTALLBASE}
	mkdir -p ${XMLPATH}
	mkdir -p ${CACHEPATH}
	mkdir -p ${INSTALLPATH}
	mkdir -p ${INSTALLPATH}/files
	mkdir -p ${INSTALLPATH}/css
	mkdir -p ${INSTALLPATH}/images
	mkdir -p ${INSTALLPATH}/images/logos
	mkdir -p ${INSTALLPATH}/cgi
	mkdir -p ${INSTALLPATH}/src
	install ${CGIINSTFLAGS} ${SITE} ${INSTALLPATH}
	install ${INSTALLFLAGS} .htaccess favicon.ico sitemap.xml.gz robots.txt ${INSTALLPATH}
	install ${INSTALLFLAGS} css/* ${INSTALLPATH}/css
	install ${INSTALLFLAGS} images/*.png ${INSTALLPATH}/images
	install ${INSTALLFLAGS} images/logos/README ${INSTALLPATH}/images/logos
	install ${INSTALLFLAGS} images/logos/logos.tar.gz ${INSTALLPATH}/images/logos
	install ${INSTALLFLAGS} images/logos/*.png ${INSTALLPATH}/images/logos
	install ${INSTALLFLAGS} files/*.k ${INSTALLPATH}/files
	install ${CGIINSTFLAGS} files/*.cgi ${INSTALLPATH}/cgi
	install ${CGIDATAFLAGS} ../stdlib/*.xml ${XMLPATH}/devel
	install ${CGIDATAFLAGS} ../posix/*.xml ${XMLPATH}/devel
	install ${CGIDATAFLAGS} ../libs/*.xml ${XMLPATH}/devel
	install ${CGIDATAFLAGS} ../contrib/*.xml ${XMLPATH}/devel

clean:
	rm -f ${SITE} *.o *.ki
	make -C files clean

distclean:
	make -C files distclean
	rm -f *~