-# Copyright (C) 2002 John Goerzen
-# <jgoerzen@complete.org>
+# Copyright (c) 2004-2008 John Goerzen
#
-# This program is free software; you can redistribute it and/or modify
-# it under the terms of the GNU General Public License as published by
-# the Free Software Foundation; either version 2 of the License, or
-# (at your option) any later version.
-#
-# This program is distributed in the hope that it will be useful,
-# but WITHOUT ANY WARRANTY; without even the implied warranty of
-# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
-# GNU General Public License for more details.
-#
-# You should have received a copy of the GNU General Public License
-# along with this program; if not, write to the Free Software
-# Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
-SHELL=/bin/bash
-
-clean:
- -python2.3 setup.py clean --all
- -rm -f `find . -name "*~"`
- -rm -f `find . -name "*.tmp"`
- -rm -f bin/offlineimapc
- -rm -f `find . -name "*.pyc"`
- -rm -f `find . -name "*.pygc"`
- -rm -f `find . -name "*.class"`
- -rm -f `find . -name "*.bak"`
- -rm -f `find . -name ".cache*"`
- -rm manpage.links
- -rm manpage.refs
- -find . -name auth -exec rm -vf {}/password {}/username \;
- -svn cleanup
-
-changelog:
- svn log -v --stop-on-copy > ChangeLog
-
-doc:
- docbook2man offlineimap.sgml
- docbook2man offlineimap.sgml
- docbook2html -u offlineimap.sgml
- mv offlineimap.html manual.html
- man -t -l offlineimap.1 > manual.ps
- ps2pdf manual.ps
- groff -Tascii -man offlineimap.1 | sed $$'s/.\b//g' > manual.txt
- -rm manpage.links manpage.refs
+all: setup # GHC build
+ ./setup configure
+ ./setup build
+
+.PHONY: all
+
+doc: lib/dfs.html/index.html lib/dfs.pdf lib/dfs.ps lib/dfs.txt
+
+hugsbuild: setup
+ ./setup configure --hugs
+ ./setup build
+
+setup: Setup.lhs OfflineIMAP.cabal
+ ghc -package Cabal Setup.lhs -o setup
+
+clean: clean-code clean-doc
+
+test: all
+ dist/build/runtests/runtests
+
+clean-code:
+ -./setup clean
+ -cd libsrc && ../setup clean
+ -rm -rf dist libsrc/dist *.ho *.hi *.o *.a setup *~
+ -rm -f `find . -name "*~"` `find . -name "*.o"`
+ -rm -f `find . -name "*.cm*"`
+
+clean-doc:
+ -cd doc && scons -c && scons -c html pdf text ps
+ -rm -rf doc/.sconsign* .depend test
+ -rm -f doc/manpage* doc/*.1