From: Sascha Schumann Date: Sun, 10 Oct 1999 00:22:05 +0000 (+0000) Subject: build.mk can be used to generate build tools. It is usually X-Git-Tag: php-4.0b3_RC2~231 X-Git-Url: https://granicus.if.org/sourcecode?a=commitdiff_plain;h=aab49be24a46a0874206a8cf830205f888f892a1;p=php build.mk can be used to generate build tools. It is usually faster than buildconf, since it rebuilds only components, if it is necessary. To use it, run $ make -f build.mk --- diff --git a/build.mk b/build.mk new file mode 100644 index 0000000000..e65cbb50e4 --- /dev/null +++ b/build.mk @@ -0,0 +1,73 @@ +# Makefile to generate build tools +# +# Standard usage: +# make -f build.mk +# +# To prepare a self-contained distribution: +# make -f build.mk dist +# +# +# Written by Sascha Schumann +# +# $Id$ + + +LT_TARGETS = ltmain.sh ltconfig +LT_PATCHES = patch-aa patch-ab + +SUBDIRS = libzend TSRM + +makefile_am_files = $(shell find . -name Makefile.am) +makefile_in_files = $(makefile_am_files:.am=.in) +makefile_files = $(makefile_am_files:e.am=e) + +config_h_files = \ + $(shell echo ext/*/config.h.stub) \ + $(shell echo sapi/*/config.h.stub) + +config_m4_files = \ + $(shell echo ext/*/config.m4) \ + $(shell echo sapi/*/config.m4) + +acconfig_h_SOURCES = acconfig.h.in $(config_h_files) + +all: $(makefile_in_files) $(LT_TARGETS) configure php_config.h.in + @for i in $(SUBDIRS); do \ + test -d $$i || (test -d ../$$i && ln -s ../$$i $$i); \ + (cd $$i && $(MAKE) -f build.mk AMFLAGS=$(AMFLAGS)); \ + done + +dist: + find -type l -exec rm {} \; + for i in $(SUBDIRS); do \ + test -d $$i || (test -d ../$$i && cp -rp ../$$i $$i); \ + done + $(MAKE) AMFLAGS=--copy -f build.mk all + + +acconfig.h: $(acconfig_h_SOURCES) + @echo rebuilding $@ + @cat $(acconfig_h_SOURCES) > $@ + +$(LT_TARGETS): $(LT_PATCHES) + rm -f $(LT_TARGETS) + libtoolize --automake -c -f + patch ltconfig < patch-aa + patch ltmain.sh < patch-ab + +$(makefile_in_files): $(makefile_am_files) + @echo rebuilding Makefile.in\'s + @automake -a -i $(AMFLAGS) $(makefile_files) 2>&1 \ + | grep -v PHP_OUTPUT_FILES || true >&2 + +aclocal.m4: configure.in acinclude.m4 + aclocal + +php_config.h.in: configure.in acconfig.h +# explicitly remove target since autoheader does not seem to work +# correctly otherwise (timestamps are not updated) + @rm -f $@ + autoheader + +configure: aclocal.m4 configure.in $(config_m4_files) + autoconf