## ## $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 "$(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 "^" >>$(SLIB) @echo "?>" >>$(SLIB) $(DEVEL): $(CLASSES) Makefile @echo "$(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 "$(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 "^" >>$(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)