#
# Makefile for WASH/HTML (Haskell98)
# copyright 2001-2004 by Peter Thiemann
#

PACKAGE=WASHHTML
VERSION=0.14.8

include $(TOP)/mk/config.mk
include $(TOP)/mk/common.mk

PATH_TO_UTILITY=../Utility

FILES=  Makefile \
	LICENSE \
	WASHHTML.pkg \
	$(LIBSOURCES)

LIBSOURCES= \
	HTMLBase.hs \
	HTMLMonad.hs \
	HTMLMonadAttrs.hs \
	HTMLMonad98.hs \
	HTMLMonadBase.hs \
	HTMLPrelude.hs \
	HTMLPrelude98.hs \
	HTMLTypedBase.hs \
	HTMLTypedBase98.hs \
	HTMLTemplates.hs \

EXTENDED= \
	HTMLSuperBase.hs \
	HTMLSuperPrelude.hs \

FULLNAME=$(PACKAGE)-$(VERSION)
DISTNAME=$(FULLNAME).tgz

WASP_FILES= WASP-HTML.tgz WASP-SUPER.tgz WASP-Examples.tgz
WWW_ROOT= $(HOME)/public/www/haskell/WASP
WWWDIR=$(HOME)/public/www/haskell/WASH
TMPDIR=/tmp

######################################################################
# goals

all: libWASHHTML.a

libWASHHTML.a: libWASHHTML.a($(LIBSOURCES:.hs=.o))
	$(RANLIB) $@

Version: $(WASP_HTML_FILES) $(WASP_SUPER_FILES) $(WASP_EXAMPLE_FILES)
	$(DATE) > Version

WASP_HTML_FILES= HTMLBase.hs HTMLTypedBase.hs HTMLPrelude.hs
WASP-HTML.tgz: $(WASP_HTML_FILES) Version
	$(TAR) cvfz WASP-HTML.tgz $(WASP_HTML_FILES) Version

WASP_SUPER_FILES= HTMLBase.hs HTMLSuperBase.hs HTMLSuperPrelude.hs
WASP-SUPER.tgz: $(WASP_SUPER_FILES) Version
	$(TAR) cvfz WASP-SUPER.tgz $(WASP_SUPER_FILES) Version

WASP_EXAMPLE_FILES= Example.hs Texinfo.hs
WASP-Examples.tgz: $(WASP_EXAMPLE_FILES) Version
	$(TAR) cvfz WASP-Examples.tgz $(WASP_EXAMPLE_FILES) Version

dist::
	$(RM) -rf $(TMPDIR)/$(FULLNAME)
	$(INSTALL) -d $(TMPDIR)/$(FULLNAME)
	$(INSTALL) $(FILES) $(TMPDIR)/$(FULLNAME)
	$(TAR) cfCvz $(DISTNAME) $(TMPDIR) $(FULLNAME)

install-distribution: dist
	$(INSTALL) $(DISTNAME) $(WWWDIR)

install: libWASHHTML.a
	$(INSTALL) -d $(PACKAGELIBDIR)
	$(INSTALL) -d $(PACKAGEIMPORTDIR)
	$(INSTALL) -c -m 644 $(LIBSOURCES:.hs=.hi) $(PACKAGEIMPORTDIR)
	$(INSTALL) -c -m 644 libWASHHTML.a $(PACKAGELIBDIR)
	$(RANLIB) $(PACKAGELIBDIR)/libWASHHTML.a
ifeq ($(ENABLE_REG_PACKAGE),yes)
	$(GENPKG) $(PACKAGE) --import_dirs $(PACKAGEIMPORTDIR) --library_dirs $(PACKAGELIBDIR) --hs_libraries $(PACKAGE) --package_deps text Utility | $(GHCPKG) $(GHCPKGFLAGS) --update-package --auto-ghci-libs
endif

######################################################################
# generic stuff

HC_SPEC_FLAGS=	-package-name $(PACKAGE) # -fglasgow-exts		# -cpp -package posix -package data
HCINCLUDES=	-i$(PATH_TO_UTILITY)
HCLOADFLAGS=

#OPT=		-fvia-C -O2-for-C 
#OPT=		-O
OPT=

HCFLAGS=	$(OPT) $(HC_SPEC_FLAGS) $(HCINCLUDES) $(HCEXTRAFLAGS)

HS_FILES=	$(LIBSOURCES)

DOCDIR= doc

clean:
	$(RM) -f *.a *.o *.hi

veryclean:: clean

depend::
	$(HC) -M $(HCFLAGS) $(HS_FILES)

# DO NOT DELETE: Beginning of Haskell dependencies
HTMLBase.o : HTMLBase.hs
HTMLMonad.o : HTMLMonad.hs
HTMLMonad.o : ./HTMLMonadBase.hi
HTMLMonadAttrs.o : HTMLMonadAttrs.hs
HTMLMonadAttrs.o : ./HTMLMonadBase.hi
HTMLMonad98.o : HTMLMonad98.hs
HTMLMonad98.o : HTMLMonad.hi
HTMLMonadBase.o : HTMLMonadBase.hs
HTMLMonadBase.o : HTMLBase.hi
HTMLPrelude.o : HTMLPrelude.hs
HTMLPrelude.o : ./HTMLTypedBase.hi
HTMLPrelude98.o : HTMLPrelude98.hs
HTMLPrelude98.o : ./HTMLTypedBase98.hi
HTMLTypedBase.o : HTMLTypedBase.hs
HTMLTypedBase.o : HTMLBase.hi
HTMLTypedBase98.o : HTMLTypedBase98.hs
HTMLTypedBase98.o : HTMLBase.hi
HTMLTemplates.o : HTMLTemplates.hs
HTMLTemplates.o : ../Utility/Base32.hi
HTMLTemplates.o : ../Utility/JavaScript.hi
HTMLTemplates.o : ../Utility/SHA1.hi
HTMLTemplates.o : HTMLBase.hi
# DO NOT DELETE: End of Haskell dependencies
