mirror of
https://github.com/php/php-src.git
synced 2024-12-05 07:46:06 +08:00
238 lines
8.2 KiB
Makefile
238 lines
8.2 KiB
Makefile
# +----------------------------------------------------------------------+
|
|
# | PHP HTML Embedded Scripting Language Version 4.0 |
|
|
# +----------------------------------------------------------------------+
|
|
# | Copyright (c) 1997-1999 PHP Development Team (See Credits file) |
|
|
# +----------------------------------------------------------------------+
|
|
# | This program is free software; you can redistribute it and/or modify |
|
|
# | it under the terms of one of the following licenses: |
|
|
# | |
|
|
# | A) the GNU General Public License as published by the Free Software |
|
|
# | Foundation; either version 2 of the License, or (at your option) |
|
|
# | any later version. |
|
|
# | |
|
|
# | B) the PHP License as published by the PHP Development Team and |
|
|
# | included in the distribution in the file: LICENSE |
|
|
# | |
|
|
# | This program is distributed in the hope that it will be useful, |
|
|
# | but WITHOUT ANY WARRANTY; without even the implied warranty of |
|
|
# | MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the |
|
|
# | GNU General Public License for more details. |
|
|
# | |
|
|
# | You should have received a copy of both licenses referred to here. |
|
|
# | If you did not, or have any questions about PHP licensing, please |
|
|
# | contact core@php.net. |
|
|
# +----------------------------------------------------------------------+
|
|
|
|
#
|
|
# $Id$
|
|
#
|
|
|
|
prefix = @prefix@
|
|
exec_prefix = @exec_prefix@
|
|
srcdir = @srcdir@
|
|
VPATH = @srcdir@
|
|
bindir = @bindir@
|
|
|
|
top_builddir = .
|
|
|
|
ZEND_DIR = $(srcdir)/libzend
|
|
SUBDIRS=libzend ext @TSRM_DIR@
|
|
|
|
PACKAGE = @PACKAGE@
|
|
VERSION = @VERSION@
|
|
LN_S = @LN_S@
|
|
CC = @CC@
|
|
AR = ar rc
|
|
BINNAME = @BINNAME@
|
|
INSTALL_IT = @INSTALL_IT@
|
|
EXTRA_LIBS = @EXTRA_LIBS@
|
|
EXT_LIBS = @EXT_LIBS@
|
|
INCLUDES = @INCLUDES@
|
|
INCLUDE = -I$(srcdir) -I. -I$(ZEND_DIR) -I$(srcdir)/TSRM $(INCLUDES)
|
|
PROF_CFLAGS =
|
|
CFLAGS_SHLIB = @CFLAGS_SHLIB@
|
|
LDFLAGS_SHLIB = @LDFLAGS_SHLIB@
|
|
LDFLAGS_SHLIB_EXPORT = @LDFLAGS_SHLIB_EXPORT@
|
|
CPPFLAGS = @CPPFLAGS@
|
|
DEFS = @DEFS@
|
|
CFLAGS = @CFLAGS@ @DEBUG_CFLAGS@ $(PROF_CFLAGS)
|
|
COMPILE = $(CC) $(CFLAGS) $(CFLAGS_SHLIB) $(CPPFLAGS) $(INCLUDE) $(DEFS) @STRONGHOLD@
|
|
LDFLAGS = @VERSION_SCRIPT@ @RPATHS@ @LDFLAGS@ $(LDFLAGS_SHLIB) $(LDFLAGS_SHLIB_EXPORT) -L$(ZEND_DIR)
|
|
REGCFLAGS = $(CFLAGS)
|
|
RANLIB = @RANLIB@
|
|
YACC = @YACC@
|
|
MAINT = @MAINT@
|
|
APXS = @APXS@
|
|
APXS_LDFLAGS = $(EXTRA_LIBS) $(LIBS)
|
|
APXS_EXP = @APXS_EXP@
|
|
WARNING_LEVEL = @WARNING_LEVEL@
|
|
LEX_CFLAGS = -w$(WARNING_LEVEL) @LEX_CFLAGS@
|
|
EXT_SHARED = @EXT_SHARED@
|
|
|
|
SOURCE = main.c internal_functions.c snprintf.c php3_sprintf.c \
|
|
configuration-parser.c configuration-scanner.c request_info.c \
|
|
safe_mode.c fopen-wrappers.c php3_realpath.c alloca.c output.c \
|
|
php_ini.c SAPI.c cgi_main.c rfc1867.c dlist.c strlcpy.c strlcat.c
|
|
OBJS = main.o internal_functions.o snprintf.o php3_sprintf.o \
|
|
configuration-parser.o configuration-scanner.o request_info.o \
|
|
safe_mode.o fopen-wrappers.o php3_realpath.o alloca.o output.o \
|
|
php_ini.o SAPI.o cgi_main.o rfc1867.o dlist.o strlcpy.o strlcat.o
|
|
|
|
PHPLIBS = -Llibzend -lzend -Lext -lphpext
|
|
LIBS = $(PHPLIBS) $(EXTRA_LIBS) @LIBS@
|
|
|
|
all: $(BINNAME)
|
|
|
|
all-recursive clean-recursive distclean-recursive \
|
|
maintainer-clean-depend-recursive:
|
|
@set fnord $(MAKEFLAGS); amf=$$2; \
|
|
for subdir in $(SUBDIRS); do \
|
|
target=`echo $@ | sed s/-recursive//`; \
|
|
echo "Making $$target in $$subdir"; \
|
|
(cd $$subdir && $(MAKE) $$target) || fail=yes; \
|
|
done && test -z "$$fail"
|
|
|
|
# CGI binary or fhttpd module
|
|
php: all-recursive $(OBJS) @REGEX_LIB@ @FHTTPD_LIB@ @TSRM_LIB@
|
|
$(CC) $(CFLAGS) -o $(BINNAME) $(LDFLAGS) $(OBJS) $(LIBS)
|
|
|
|
# Apache modules
|
|
libphp4.a libmodphp4.a: all-recursive $(OBJS) @REGEX_LIB@
|
|
$(AR) $@.tmp $(OBJS)
|
|
$(srcdir)/scripts/armerge $@ $@.tmp ext/libphpext.a libzend/libzend.a @TSRM_LIB@
|
|
@rm -f $@.tmp
|
|
$(RANLIB) $(BINNAME)
|
|
|
|
# Apache modules
|
|
libmodphp4-so.a: all-recursive $(OBJS) @REGEX_LIB@
|
|
$(AR) $@.tmp $(OBJS)
|
|
$(srcdir)/scripts/armerge $@ $@.tmp ext/libphpext.a libzend/libzend.a @TSRM_LIB@
|
|
@rm -f $@.tmp
|
|
$(RANLIB) libmodphp4-so.a
|
|
|
|
# Apache 1.3 shared module
|
|
libphp4.so: $(srcdir)/mod_php4.c libmodphp4-so.a @REGEX_LIB@
|
|
-@test -f ./mod_php4.c || test -L ./mod_php4.c || $(LN_S) $(srcdir)/mod_php4.c ./mod_php4.c
|
|
-@test -f ./mod_php4.c || test -h ./mod_php4.c || $(LN_S) $(srcdir)/mod_php4.c ./mod_php4.c
|
|
$(APXS) $(INCLUDE) -c -o libphp4.so @VERSION_SCRIPT@ @RPATHS@ ./mod_php4.c libmodphp4-so.a $(APXS_LDFLAGS) $(APXS_EXP)
|
|
|
|
regex/libregex.a:
|
|
(cd regex; $(MAKE) lib)
|
|
|
|
configuration-parser.h configuration-parser.c: $(srcdir)/configuration-parser.y
|
|
bison -p cfg -v -d $(srcdir)/configuration-parser.y -o configuration-parser.c
|
|
|
|
configuration-scanner.o: configuration-scanner.c
|
|
$(COMPILE) $(LEX_CFLAGS) -c configuration-scanner.c
|
|
|
|
configuration-scanner.c: $(srcdir)/configuration-scanner.l
|
|
flex -Pcfg -oconfiguration-scanner.c -i $(srcdir)/configuration-scanner.l
|
|
|
|
clean: clean-recursive
|
|
-rm -f libphp4.a libmodphp4.a libphp4.so php *.o
|
|
-rm -f test/php.desc test/php.in test/php.out test/php.test
|
|
-rm -f test/a.tmp test/b.tmp test/test.dbm*
|
|
|
|
distclean: clean distclean-recursive
|
|
-rm -f *-parser.[ch] *-scanner.c *.output
|
|
-rm -f config.status config.cache config.log
|
|
-rm -f Makefile Makefile.depend php_config.h build-defs.h
|
|
-rm -f libphp4.module stamp-h buildconf.stamp
|
|
-rm -f regex/*.o regex/*.a regex/*.ih
|
|
-rm -f doc/checkdoc doc/funcparse doc/version.ent
|
|
-rm -f do-conf test/test.log
|
|
-rm -f doc/Makefile regex/Makefile
|
|
|
|
distdir = $(PACKAGE)-$(VERSION)
|
|
top_distdir = $(distdir)
|
|
|
|
dist: distdir
|
|
-chmod -R a+r $(distdir)
|
|
tar chozf $(distdir).tar.gz $(distdir)
|
|
-rm -rf $(distdir)
|
|
|
|
distdir:
|
|
-rm -rf $(distdir)
|
|
files=`echo *` ;\
|
|
mkdir $(distdir) ;\
|
|
for file in $$files ; do \
|
|
d=$(srcdir); \
|
|
if test -d $$d/$$file ; then \
|
|
cp -pr $$d/$$file $(distdir)/$$file; \
|
|
else \
|
|
test -f $(distdir)/$$file \
|
|
|| ln $$d/$$file $(distdir)/$$file 2> /dev/null \
|
|
|| cp -p $$d/$$file $(distdir)/$$file || :; \
|
|
fi; \
|
|
done
|
|
(cd $(distdir) ; $(MAKE) distclean)
|
|
cd $(distdir)/libzend ;\
|
|
flex -Pzend -ozend-scanner.c -i zend-scanner.l ;\
|
|
bison -p zend -v -d zend-parser.y -o zend-parser.c
|
|
cd $(distdir) ;\
|
|
flex -Pcfg -oconfiguration-scanner.c -i configuration-scanner.l ;\
|
|
bison -p cfg -v -d configuration-parser.y -o configuration-parser.c
|
|
find $(distdir) -name CVS -o -name .cvsignore | xargs rm -rf
|
|
|
|
maintainer-clean-depend: maintainer-clean-depend-recursive
|
|
|
|
bench: $(BINNAME)
|
|
./$(BINNAME) -c. tests/bench.phtml
|
|
|
|
# can't use a single rule for this because 'test' is a directory
|
|
test: regression
|
|
regression check: $(BINNAME)
|
|
cd test && ./testall
|
|
|
|
config.status: configure
|
|
./config.status --recheck
|
|
|
|
build-defs.h php_config.h: stamp-h
|
|
stamp-h: php_config.h.in config.status
|
|
CONFIG_FILES='build-defs.h stamp-h' ./config.status
|
|
|
|
Makefile: Makefile.in config.status
|
|
CONFIG_FILES=$@ CONFIG_HEADERS= ./config.status
|
|
|
|
#
|
|
# You must use '--enable-maintainer-mode' with configure to enable
|
|
# these rules, which requires autoconf be installed.
|
|
#
|
|
configure: @MAINT@ configure.in aclocal.m4
|
|
cd $(srcdir) && autoconf
|
|
|
|
php_config.h.in: @MAINT@ stamp-h.in
|
|
stamp-h.in: configure.in aclocal.m4 acconfig.h
|
|
cd ${srcdir} && autoheader && touch ${srcdir}/stamp-h.in
|
|
|
|
install: install-recursive $(BINNAME)
|
|
$(INSTALL_IT)
|
|
|
|
install-recursive:
|
|
if test "$(EXT_SHARED)" != ""; then \
|
|
for dir in X $(EXT_SHARED); do \
|
|
test -d ext/$$dir && (cd ext/$$dir; $(MAKE) install); \
|
|
done; \
|
|
fi
|
|
|
|
indent: clean
|
|
indent -v -kr -cli4 -ts4 \
|
|
-T pval -T HashTable -T Bucket -T Token -T TokenCache -T TokenCacheManager \
|
|
-T switch_expr -T internal_function -T control_structure_data \
|
|
-T MemoryHashTable -T MemoryBucket \
|
|
-T pvalue_value -T Stack *.c *.h
|
|
rm -f *~
|
|
|
|
.c.o:
|
|
$(COMPILE) -c $<
|
|
|
|
parser-scanner: configuration-parser.c configuration-scanner.c
|
|
|
|
depend: parser-scanner
|
|
$(CC) $(CFLAGS) -MM $(SOURCE) | perl -pe 's|regex/regex.h||;' > Makefile.depend
|
|
$(CC) $(CFLAGS) -MM $(FUNCTIONS_SOURCE) | perl -pe 's|^(.+\.o)|functions/$$1|; s|regex/regex.h||;' >> Makefile.depend
|
|
|
|
# Local Variables:
|
|
# tab-width: 4
|
|
# End:
|