###############################################
# 
###############################################
DEST    ?= /tmp/ggisite
WWW     ?= file://$(DEST)
DOC     ?= $(DEST)/documentation

CVS     ?= ..

GII     ?= $(CVS)/ggi-core/libgii
GG      ?= $(GII)
GGI     ?= $(CVS)/ggi-core/libggi
GALLOC  ?= $(CVS)/ggi-core/libgalloc
GGIMISC ?= $(CVS)/lowlevel/libggimisc
GGIBLT  ?= $(CVS)/lowlevel/libblt
GGIOVL  ?= $(CVS)/lowlevel/libovl
GGIBUF  ?= $(CVS)/lowlevel/libbuf

DEFAULT_V ?= current

GII_V     ?= $(DEFAULT_V)
GG_V      ?= $(GII_V)
GGI_V     ?= $(DEFAULT_V)
GALLOC_V  ?= $(DEFAULT_V)
GGIMISC_V ?= $(DEFAULT_V)
GGIBLT_V  ?= $(DEFAULT_V)
GGIOVL_V  ?= $(DEFAULT_V)
GGIBUF_V  ?= $(DEFAULT_V)

PY      ?= python

###############################################
# Site
###############################################

all: site all-html

site:
	GGIWWW=$(WWW) $(PY) www.py $(DEST)

###############################################
# HTML manpages
###############################################

# All html manpages

all-html: ggicore-html lowlevel-html

# Per-reposiory

ggi-core-html: gg-html gii-html ggi-html galloc-html

lowlevel-html: ggimisc-html ggibuf-html ggiblt-html ggiovl-html

# Per package

gg-html:
	GGIWWW=$(WWW) $(PY) html.py $(GG)/doc/libgg.txt $(DOC)/libgg/$(GG_V) libgg-$(GG_V)

gii-html: gg-html
	GGIWWW=$(WWW) $(PY) html.py $(GII)/doc/libgii.txt $(DOC)/libgii/$(GII_V) libgii-$(GII_V)

ggi-html:
	GGIWWW=$(WWW) $(PY) html.py $(GGI)/doc/libggi.txt $(DOC)/libggi/$(GGI_V) libggi-$(GGI_V)

galloc-html:
	GGIWWW=$(WWW) $(PY) html.py $(GALLOC)/doc/libgalloc.txt $(DOC)/libgalloc/$(GALLOC_V) libgalloc-$(GALLOC_V)

ggimisc-html:
	GGIWWW=$(WWW) $(PY) html.py $(GGIMISC)/doc/libggimisc.txt $(DOC)/libggimisc/$(GGIMISC_V) libggimisc-$(GGIMISC_V)

ggibuf-html:
	GGIWWW=$(WWW) $(PY) html.py $(GGIBUF)/doc/libggibuf.txt $(DOC)/libggibuf/$(GGIBUF_V) libggibuf-$(GGIBUF_V)

ggiblt-html:
	GGIWWW=$(WWW) $(PY) html.py $(GGIBLT)/doc/libggiblt.txt $(DOC)/libggiblt/$(GGIBLT_V) libggiblt-$(GGIBLT_V)

ggiovl-html:
	GGIWWW=$(WWW) $(PY) html.py $(GGIOVL)/doc/libggiovl.txt $(DOC)/libggiovl/$(GGIOVL_V) libggiovl-$(GGIOVL_V)

###############################################
# Manpages
###############################################

# All manpages

all-man: ggicore-man lowlevel-man

# Per-reposiory

ggi-core-man: gg-man gii-man ggi-man galloc-man

lowlevel-man: ggimisc-man ggibuf-man ggiblt-man ggiovl-man

# Per package

gg-man:
	$(PY) manpage.py $(GG)/doc/libgg.txt $(GG)/doc/man libgg-$(GG_V)

gii-man: gg-man
	$(PY) manpage.py $(GII)/doc/libgii.txt $(GII)/doc/man libgii-$(GII_V)

ggi-man:
	$(PY) manpage.py $(GGI)/doc/libggi.txt $(GGI)/doc/man libggi-$(GGI_V)

galloc-man:
	$(PY) manpage.py  $(GALLOC)/doc/libgalloc.txt $(GALLOC)/doc/man libgalloc-$(GALLOC_V)

ggimisc-man:
	$(PY) manpage.py $(GGIMISC)/doc/libggimisc.txt $(GGIMISC)/doc/man libggimisc-$(GGIMISC_V)

ggibuf-man:
	$(PY) manpage.py $(GGIBUF)/doc/libggibuf.txt $(GGIBUF)/doc/man libggibuf-$(GGIBUF_V)

ggiblt-man:
	$(PY) manpage.py $(GGIBLT)/doc/libggiblt.txt $(GGIBLT)/doc/man libggiblt-$(GGIBLT_V)

ggiovl-man:
	$(PY) manpage.py $(GGIOVL)/doc/libggiovl.txt $(GGIOVL)/doc/man libggiovl-$(GGIOVL_V)

clean:
	rm -rf $(DEST)
