# Programer: Kevin M. Rosenberg
# Date Started: Mar 2002
#
-# CVS Id: $Id: Makefile,v 1.5 2002/03/27 12:09:39 kevin Exp $
+# CVS Id: $Id: Makefile,v 1.17 2002/04/28 11:00:11 kevin Exp $
#
# This file, part of CLSQL, is Copyright (c) 2002 by Kevin M. Rosenberg
#
# as governed by the terms of the Lisp Lesser GNU Public License
# (http://opensource.franz.com/preamble.html), also known as the LLGPL.
-PACKAGE=clsql
+PKG:=clsql
+DEBPKG=cl-sql
+SUBDIRS:=interfaces sql cmucl-compat
+DOCSUBDIRS:=doc
-all: libs
+include Makefile.common
-libs:
- (cd interfaces/mysql; make)
- (cd interfaces/clsql-uffi; make)
+.PHONY: all libs clean distclean doc tagcvs dist wwwdist
-clean:
- @rm -f $(PACKAGE)-*.tar.gz $(PACKAGE)-*.zip
- @find . -type d -name .bin |xargs rm -rf
+LIBSUBDIRS=interfaces/mysql interfaces/clsql-uffi
+.PHONY: subdirs $(LIBSUBDIRS)
-realclean: clean
- @find . -type f -name \*~ -exec rm {} \;
- @find . -type f -name "#*#" -exec rm {} \;
+all: $(LIBSUBDIRS)
-docs:
- @(cd doc; make dist-doc)
+$(LIBSUBDIRS):
+ $(MAKE) -C $@
+
+distclean: clean
VERSION=$(shell cat VERSION)
-DISTDIR=$(PACKAGE)-$(VERSION)
+DISTDIR=$(PKG)-$(VERSION)
DIST_TARBALL=$(DISTDIR).tar.gz
DIST_ZIP=$(DISTDIR).zip
SOURCE_FILES=interfaces sql cmucl-compat doc test-suite Makefile VERSION \
clsql.system clsql-aodbc.system clsql-mysql.system \
clsql-postgresql.system clsql-postgresql-socket.system
-dist: realclean docs
+VERSION_UNDERSCORE=$(shell cat VERSION | tr . _)
+TAG=dist_$(VERSION_UNDERSCORE)
+
+tagcvs:
+ @cvs -q rtag -d $(TAG) $(PKG) > /dev/null
+ @cvs -q tag -F $(TAG) > /dev/null
+
+dist: distclean tagcvs
+ @$(MAKE) -C doc $@
@rm -fr $(DISTDIR) $(DIST_TARBALL) $(DIST_ZIP)
@mkdir $(DISTDIR)
@cp -a $(SOURCE_FILES) $(DISTDIR)
@find $(DISTDIR) -type d -name CVS | xargs rm -r
@find $(DISTDIR) -type f -name .cvsignore -exec rm {} \;
- @find $(DISTDIR)/doc -type f -name \*.tex -or -name \*.aux -or \
+ @find $(DISTDIR) -type f -and -name \*.tex -or -name \*.aux -or \
-name \*.log -or -name \*.out -or -name \*.dvi -or \
- -name \*~ -or -name \*.ps -exec rm {} \;
+ -name \*~ -or -name \*.ps -or -name test.config | xargs rm -f
@tar czf $(DIST_TARBALL) $(DISTDIR)
- @find $(DISTDIR) -type f |grep -v .dll$ |grep -v .lib$ |xargs unix2dos -q
+ @find $(DISTDIR) -type f -name \*.cl -or -name \*.list -or \
+ -name \*.system -or -name Makefile -or -name ChangeLog -or \
+ -name COPYRIGHT -or -name TODO -or -name README -or -name INSTALL \
+ -or -name NEWS -or -name \*.sgml -or -name COPYING\* -or -name catalog \
+ | xargs unix2dos
@zip -rq $(DIST_ZIP) $(DISTDIR)
@rm -r $(DISTDIR)
+
+wwwdist: dist
+ @./copy