# Programer: Kevin M. Rosenberg
# Date Started: Mar 2002
#
-# CVS Id: $Id: Makefile,v 1.6 2002/04/06 19:54:14 kevin Exp $
+# CVS Id: $Id: Makefile,v 1.13 2002/04/07 09:26:20 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
-all: libs
+.PHONY: all libs clean distclean doc tagcvs dist wwwdist
-libs:
- (cd interfaces/mysql; make)
- (cd interfaces/clsql-uffi; make)
+SUBDIRS=interfaces/mysql interfaces/clsql-uffi
+.PHONY: subdirs $(SUBDIRS)
+
+all: $(SUBDIRS)
+
+$(SUBDIRS):
+ $(MAKE) -C $@
clean:
- @rm -f $(PACKAGE)-*.tar.gz $(PACKAGE)-*.zip
+ @rm -f $(PKG)-*.tar.gz $(PKG)-*.zip
@find . -type d -name .bin |xargs rm -rf
- @find . -type f -name \*.a -or -name \*.so |xargs rm -rf
-
-realclean: clean
- @find . -type f -name \*~ -exec rm {} \;
- @find . -type f -name "#*#" -exec rm {} \;
+ @find . -type f -name "#*" -or -name \*~ -exec rm {} \;
+ @for i in $(SUBDIRS) ; do $(MAKE) -C $$i $@ ; done
-docs:
- @(cd doc; make dist-doc)
+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)
| xargs unix2dos -q
@zip -rq $(DIST_ZIP) $(DISTDIR)
@rm -r $(DISTDIR)
+
+wwwdist: dist
+ @./copy