summaryrefslogtreecommitdiff
path: root/Makefile
diff options
context:
space:
mode:
authorChristian Schneider2006-10-26 13:35:12 +0000
committerChristian Schneider2006-10-26 13:35:12 +0000
commita5a19fd672bc0b8113d620669b557f17dccd343a (patch)
tree876ba4fec8362ac2e9374f61b9b7f67fcd2b8e59 /Makefile
downloaditools-a5a19fd672bc0b8113d620669b557f17dccd343a.tar.gz
itools-a5a19fd672bc0b8113d620669b557f17dccd343a.tar.bz2
itools-a5a19fd672bc0b8113d620669b557f17dccd343a.zip
Moved itools to live branch
Diffstat (limited to 'Makefile')
-rw-r--r--Makefile68
1 files changed, 68 insertions, 0 deletions
diff --git a/Makefile b/Makefile
new file mode 100644
index 0000000..1bdb140
--- /dev/null
+++ b/Makefile
@@ -0,0 +1,68 @@
+##
+## $Id$
+##
+## Makefile for itools.lib
+##
+## Copyright (C) 1995-2003 by the ITools Authors.
+## This program is free software; you can redistribute it and/or
+## modify it under the terms of either the GNU General Public License
+## or the GNU Lesser General Public License as published by the Free
+## Software Foundation.
+##
+
+CPP= cpp -traditional
+QUIETMAKE= $(MAKE) -s
+PHPCOMPILE= /usr/local/bin/phpcompile
+
+MODULE= itools
+SUBDIRS= banner darwin license sms urlcache
+CLASSES= support.pinc it.class browser.class db.class db_record.class db_table.class dbi.class debug.class html.class html_form.class html_page.class itjs.class mail.class fax.class session.class text.class url.class user.class xml.class
+
+#
+# Library creation rules, do not change stuff below...
+#
+SLIB= $(MODULE).slib
+LIB= $(MODULE)-compiled.lib
+DEVEL= $(MODULE)-devel.lib
+
+all:
+ @echo Nothing to do. You may want to make $(MODULE)-compiled.lib
+
+all2: $(LIB) $(DEVEL) $(SUBDIRS)
+
+$(LIB): $(SLIB) Makefile
+ @if [ -x $(PHPCOMPILE) ]; then (echo Compiling $(SLIB) to $(LIB) ...) 1>&2; cat $(SLIB) license/license.slib | $(PHPCOMPILE) >$(LIB); else (echo $(PHPCOMPILE) not found, copying $(SLIB) to $(LIB) ...) 1>&2; cp $(SLIB) $(LIB); fi
+
+$(SLIB): $(CLASSES) DUMMY
+ @(echo Creating $(SLIB) from $(SUBDIRS) $(CLASSES) ...) 1>&2
+ @echo -e "<?php\nrequire_once('itools/config.class');" >$(SLIB)
+ @(for class in DUMMY $(CLASSES); do test -f $$class && cat $$class; done) | $(CPP) -P -undef | perl -ne 's/^\s+//g; print unless /^\s*$$/' | grep -v "^<?php" | grep -v "^?>" >>$(SLIB)
+ @echo "?>" >>$(SLIB)
+
+$(DEVEL): $(CLASSES) Makefile
+ @echo "<?php" >$(DEVEL)
+ @(for class in $(CLASSES); do test -f $$class && echo "require_once('itools/$$class');"; done) >>$(DEVEL)
+ @echo "?>" >>$(DEVEL)
+
+## Rule to merge all of SLIB and SUBDIRS/SLIBS into one big SLIB
+#$(SLIB): $(CLASSES) DUMMY
+# @(echo Creating $(SLIB) from $(SUBDIRS) $(CLASSES) ...) 1>&2
+# @echo "<?php" >$(SLIB)
+# @(for dir in DUMMY $(SUBDIRS); do (test -d $$dir && cd $$dir && $(QUIETMAKE) cat); done; for class in DUMMY $(CLASSES); do test -f $$class && cat $$class; done) | $(CPP) -P -undef | perl -ne 's/^\s+//g; print unless /^\s*$$/' | grep -v "^<?php" | grep -v "^?>" >>$(SLIB)
+# @echo "?>" >>$(SLIB)
+
+$(SUBDIRS)::
+ @(cd $@; $(QUIETMAKE))
+
+DUMMY:
+
+cat: $(SLIB)
+ @cat $(SLIB)
+
+clean:
+ @(echo Cleaning $(SLIB) $(LIB) ...) 1>&2
+ @rm -f $(SLIB) $(LIB) $(DEVEL)
+ @for dir in DUMMY $(SUBDIRS); do (test -d $$dir && cd $$dir && $(QUIETMAKE) $@) || :; done
+
+delsource:
+ @rm -rf *.slib license.lib $(DEVEL) $(CLASSES) $(SUBDIRS)