summaryrefslogtreecommitdiff
path: root/Makefile
blob: 1bdb140e5bf2b87756a7d14b3aae63fe3812be49 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
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)