#
# Makefile for WASH/HTML (Haskell98)
# copyright 2001, 2002, 2003 by Peter Thiemann
#

FILES=  Makefile \
	$(LIBSOURCES)

LIBSOURCES= \
	HTMLBase.hs \
	HTMLMonad.hs \
	HTMLMonadBase.hs

EXTENDED= \
	HTMLSuperBase.hs \
	HTMLSuperPrelude.hs \

VERSION=0.9
PACKAGE=WASHHTML
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))

install:
	install -c -m 664 $(WASP_FILES) $(WWW_ROOT)

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)
	mkdir $(TMPDIR)/$(FULLNAME)
	cp $(FILES) $(TMPDIR)/$(FULLNAME)
	tar cfCvz $(DISTNAME) $(TMPDIR) $(FULLNAME)

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

######################################################################
# generic stuff
HC=		ghc
HC_SPEC_FLAGS=	# -fglasgow-exts		# -cpp -package posix -package data
HCINCLUDES=	
HCLOADFLAGS=

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

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

HMAKE=		ghc --make			# hmake
HAPPY=		happy
HAPPYFLAGS=	-i
RM=		rm -f

HS_FILES=	$(LIBSOURCES)

DOCDIR= doc

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

veryclean:: clean

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

%.o: %.hs
	$(HC) $(HCFLAGS) -c $< -o $@

%.hi: %.o
	@\:
# DO NOT DELETE: Beginning of Haskell dependencies
HTMLBase.o : HTMLBase.hs
HTMLMonad.o : HTMLMonad.hs
HTMLMonad.o : ./HTMLMonadBase.hi
HTMLMonad.o : ./HTMLBase.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
# DO NOT DELETE: End of Haskell dependencies
