PACKAGE= WashNGo
VERSION=	$(PACKAGE_VERSION)

include mk/config.mk
include mk/common.mk

TOP=			.
PATH_TO_UTILITY=	Utility
PATH_TO_WASHHTML=	WASH
PATH_TO_WASHMAIL=	Mail
PATH_TO_WASHCGI=	cgi

ifeq ($(ENABLE_DBCONNECT), yes)
PATH_TO_DBCONNECT=	dbconnect
endif

# GenPKG must come first must come last!
SUBDIRS=	GenPKG washparser $(PATH_TO_UTILITY) $(PATH_TO_WASHHTML) $(PATH_TO_WASHMAIL) $(PATH_TO_WASHCGI) $(PATH_TO_DBCONNECT)

PACKAGEROOT=	$(HOME)/public/lib/ghc

FULLNAME=$(PACKAGE)-$(VERSION)
TMPDIR= /tmp
WWWDIR= $(HOME)/public/www/haskell/WASH
FILES=	Makefile aclocal.m4 configure.in mk/config.mk.in
CONFIGURED_FILES= autom4te.cache config.log config.status configure mk/config.mk

all:
	$(MAKE) subdirs GOAL=all

depend:
	$(MAKE) subdirs GOAL=depend

clean:
	$(MAKE) subdirs GOAL=clean

veryclean:
	$(MAKE) subdirs GOAL=veryclean

distclean: veryclean
	$(RM) -rf $(CONFIGURED_FILES)

install:
	$(MAKE) subdirs GOAL=install

subdirs:
	for d in $(SUBDIRS) ; do \
	$(MAKE) -C $$d $(GOAL) $(SUBDIRASSIGNMENT) ; \
	done

examples:
	$(MAKE) -C Examples all $(SUBDIRASSIGNMENT)

### documentation 

DOCSOURCES_cgi=\
	CGI.hs\
	CGIInternals.hs\
	CGIMonad.hs\
	CGIOutput.hs\
	Fields.hs\
	AbstractSelector.hs\
	Submit98.hs\
	HTMLWrapper.hs\
	RawCGIInternal.hs\
	RawCGITypes.hs\
	Style.hs\
	CGITypes.hs\
	Frames.hs\
	GuaranteedCGI.hs\
	Cookie.hs\
	Persistent2.hs\
	Types.hs\

DOCSOURCES_WASH= HTMLMonad.hs HTMLMonadBase.hs HTMLMonadAttrs.hs HTMLMonad98.hs
DOCSOURCES_Utility=\
	Auxiliary.hs \
	Base32.hs \
	Base64.hs \
	BulkIO.hs \
	FileNames.hs \
	Hex.hs \
	ISO8601.hs \
	IntToString.hs \
	JavaScript.hs \
	Locking.hs \
	QuotedPrintable.hs \
	RFC2047.hs \
	RFC2279.hs \
	RFC2397.hs \
	SHA1.hs \
	SimpleParser.hs \
	Shell.hs \
	URLCoding.hs \
	Unique.hs \

DOCSOURCES_WASHMail= \
	ContentDisposition.hs \
	Email.hs \
	EmailConfig.hs \
	HeaderField.hs \
	MIME.hs \
	MailParser.hs \
	Message.hs \
	RFC2822.hs \

ifeq ($(ENABLE_DBCONNECT),yes)
DOCSOURCES_DBCONNECT=\
	lib/Dbconnect.hs
endif

DOCSOURCES=\
	$(addprefix cgi/,$(DOCSOURCES_cgi)) \
	$(addprefix WASH/,$(DOCSOURCES_WASH)) \
	$(addprefix Utility/,$(DOCSOURCES_Utility)) \
	$(addprefix Mail/,$(DOCSOURCES_WASHMail)) \
	$(addprefix dbconnect/,$(DOCSOURCES_DBCONNECT)) \

DOCDIR= doc

$(DOCDIR): documentation

documentation:
	$(RM) -rf $(DOCDIR)
	$(MKDIR) -p $(DOCDIR)
	$(HADDOCK) -o $(DOCDIR) -h $(DOCSOURCES)

-include Makefile.distributor
