mirror of
https://github.com/php/php-src.git
synced 2024-09-21 18:07:23 +00:00
Join build makefiles together
Changes: - Joins build/build.mk and build/build2.mk files together since there isn't any practical reason for having two different files with the current build system. - Makefile is now more portable. All special syntaxes are omitted, for example, a conditional assignment operators `?=`. This makes buildconf more useful on Solaris make derivative, so there is no longer need to override make with gmake: `MAKE=gmake ./buildconf`. - Suppressing autoconf and autoheader warnings is not needed anymore with current build system. Instead, the option `-Wall` has been used when running `./buildconf --debug` to get more useful debug info about current M4.
This commit is contained in:
parent
663056aa5f
commit
02c1f3293e
@ -18,15 +18,35 @@
|
|||||||
# Makefile to generate build tools
|
# Makefile to generate build tools
|
||||||
#
|
#
|
||||||
|
|
||||||
SUBDIRS = Zend TSRM
|
subdirs = Zend TSRM
|
||||||
|
stamp = buildmk.stamp
|
||||||
|
config_h_in = main/php_config.h.in
|
||||||
|
PHP_AUTOCONF = autoconf
|
||||||
|
PHP_AUTOHEADER = autoheader
|
||||||
|
PHP_AUTOCONF_FLAGS = -f
|
||||||
|
|
||||||
STAMP = buildmk.stamp
|
all: $(stamp) configure $(config_h_in)
|
||||||
|
|
||||||
all: $(STAMP)
|
$(stamp): build/buildcheck.sh
|
||||||
@$(MAKE) -s -f build/build2.mk
|
@build/buildcheck.sh $@
|
||||||
|
|
||||||
$(STAMP): build/buildcheck.sh
|
configure: aclocal.m4 configure.ac $(PHP_M4_FILES)
|
||||||
@build/buildcheck.sh $(STAMP)
|
@echo rebuilding $@
|
||||||
|
@rm -f $@
|
||||||
|
@$(PHP_AUTOCONF) $(PHP_AUTOCONF_FLAGS)
|
||||||
|
|
||||||
|
aclocal.m4: configure.ac acinclude.m4
|
||||||
|
@echo rebuilding $@
|
||||||
|
@cat acinclude.m4 ./build/libtool.m4 > $@
|
||||||
|
|
||||||
|
$(config_h_in): configure
|
||||||
|
# Explicitly remove target since autoheader does not seem to work correctly
|
||||||
|
# otherwise (timestamps are not updated). Also disable PACKAGE_* symbols in the
|
||||||
|
# generated php_config.h.in template.
|
||||||
|
@echo rebuilding $@
|
||||||
|
@rm -f $@
|
||||||
|
@$(PHP_AUTOHEADER) $(PHP_AUTOCONF_FLAGS)
|
||||||
|
@sed -e 's/^#undef PACKAGE_[^ ]*/\/\* & \*\//g' < $@ > $@.tmp && mv $@.tmp $@
|
||||||
|
|
||||||
snapshot:
|
snapshot:
|
||||||
distname='$(DISTNAME)'; \
|
distname='$(DISTNAME)'; \
|
||||||
@ -36,8 +56,8 @@ snapshot:
|
|||||||
myname=`basename \`pwd\`` ; \
|
myname=`basename \`pwd\`` ; \
|
||||||
cd .. && cp -rp $$myname $$distname; \
|
cd .. && cp -rp $$myname $$distname; \
|
||||||
cd $$distname; \
|
cd $$distname; \
|
||||||
rm -f $(SUBDIRS) 2>/dev/null || true; \
|
rm -f $(subdirs) 2>/dev/null || true; \
|
||||||
for i in $(SUBDIRS); do \
|
for i in $(subdirs); do \
|
||||||
test -d $$i || (test -d ../$$i && cp -rp ../$$i $$i); \
|
test -d $$i || (test -d ../$$i && cp -rp ../$$i $$i); \
|
||||||
done; \
|
done; \
|
||||||
find . -type l -exec rm {} \; ; \
|
find . -type l -exec rm {} \; ; \
|
||||||
|
@ -1,44 +0,0 @@
|
|||||||
# +----------------------------------------------------------------------+
|
|
||||||
# | PHP Version 7 |
|
|
||||||
# +----------------------------------------------------------------------+
|
|
||||||
# | Copyright (c) The PHP Group |
|
|
||||||
# +----------------------------------------------------------------------+
|
|
||||||
# | This source file is subject to version 3.01 of the PHP license, |
|
|
||||||
# | that is bundled with this package in the file LICENSE, and is |
|
|
||||||
# | available through the world-wide-web at the following url: |
|
|
||||||
# | http://www.php.net/license/3_01.txt |
|
|
||||||
# | If you did not receive a copy of the PHP license and are unable to |
|
|
||||||
# | obtain it through the world-wide-web, please send a note to |
|
|
||||||
# | license@php.net so we can mail you a copy immediately. |
|
|
||||||
# +----------------------------------------------------------------------+
|
|
||||||
# | Author: Sascha Schumann <sascha@schumann.cx> |
|
|
||||||
# +----------------------------------------------------------------------+
|
|
||||||
|
|
||||||
config_h_in = main/php_config.h.in
|
|
||||||
|
|
||||||
targets = configure $(config_h_in)
|
|
||||||
|
|
||||||
PHP_AUTOCONF ?= 'autoconf'
|
|
||||||
PHP_AUTOHEADER ?= 'autoheader'
|
|
||||||
|
|
||||||
SUPPRESS_WARNINGS ?= 2>&1 | (egrep -v '(AC_PROG_CXXCPP was called before AC_PROG_CXX|defined in acinclude.m4 but never used)'||true)
|
|
||||||
|
|
||||||
all: $(targets)
|
|
||||||
|
|
||||||
$(config_h_in): configure
|
|
||||||
# Explicitly remove target since autoheader does not seem to work correctly
|
|
||||||
# otherwise (timestamps are not updated). Also disable PACKAGE_* symbols in the
|
|
||||||
# generated php_config.h.in template.
|
|
||||||
@echo rebuilding $@
|
|
||||||
@rm -f $@
|
|
||||||
$(PHP_AUTOHEADER) $(SUPPRESS_WARNINGS)
|
|
||||||
sed -e 's/^#undef PACKAGE_[^ ]*/\/\* & \*\//g' < $@ > $@.tmp && mv $@.tmp $@
|
|
||||||
|
|
||||||
aclocal.m4: configure.ac acinclude.m4
|
|
||||||
@echo rebuilding $@
|
|
||||||
cat acinclude.m4 ./build/libtool.m4 > $@
|
|
||||||
|
|
||||||
configure: aclocal.m4 configure.ac $(M4_FILES)
|
|
||||||
@echo rebuilding $@
|
|
||||||
@rm -f $@
|
|
||||||
$(PHP_AUTOCONF) -f $(SUPPRESS_WARNINGS)
|
|
15
buildconf
15
buildconf
@ -3,6 +3,8 @@
|
|||||||
# A wrapper around Autoconf that generates files to build PHP on *nix systems.
|
# A wrapper around Autoconf that generates files to build PHP on *nix systems.
|
||||||
|
|
||||||
MAKE=${MAKE:-make}
|
MAKE=${MAKE:-make}
|
||||||
|
PHP_AUTOCONF=${PHP_AUTOCONF:-autoconf}
|
||||||
|
PHP_AUTOHEADER=${PHP_AUTOHEADER:-autoheader}
|
||||||
force=0
|
force=0
|
||||||
debug=0
|
debug=0
|
||||||
|
|
||||||
@ -91,11 +93,14 @@ fi
|
|||||||
|
|
||||||
echo "buildconf: Building configure files"
|
echo "buildconf: Building configure files"
|
||||||
|
|
||||||
# List of *.m4 prerequisites files for the make configure target.
|
|
||||||
M4_FILES=$(echo TSRM/*.m4 Zend/*.m4 ext/*/config*.m4 sapi/*/config*.m4)
|
|
||||||
|
|
||||||
if test "$debug" = "1"; then
|
if test "$debug" = "1"; then
|
||||||
$MAKE -s -f build/build.mk M4_FILES="$M4_FILES" SUPPRESS_WARNINGS=""
|
autoconf_flags="-f -Wall"
|
||||||
else
|
else
|
||||||
$MAKE -s -f build/build.mk M4_FILES="$M4_FILES"
|
autoconf_flags="-f"
|
||||||
fi
|
fi
|
||||||
|
|
||||||
|
$MAKE -s -f build/build.mk \
|
||||||
|
PHP_AUTOCONF="$PHP_AUTOCONF" \
|
||||||
|
PHP_AUTOHEADER="$PHP_AUTOHEADER" \
|
||||||
|
PHP_AUTOCONF_FLAGS="$autoconf_flags" \
|
||||||
|
PHP_M4_FILES="$(echo TSRM/*.m4 Zend/*.m4 ext/*/config*.m4 sapi/*/config*.m4)"
|
||||||
|
Loading…
Reference in New Issue
Block a user