]> granicus.if.org Git - php/commitdiff
build.mk can be used to generate build tools. It is usually
authorSascha Schumann <sas@php.net>
Sun, 10 Oct 1999 00:22:05 +0000 (00:22 +0000)
committerSascha Schumann <sas@php.net>
Sun, 10 Oct 1999 00:22:05 +0000 (00:22 +0000)
faster than buildconf, since it rebuilds only components, if
it is necessary. To use it, run

    $ make -f build.mk

build.mk [new file with mode: 0644]

diff --git a/build.mk b/build.mk
new file mode 100644 (file)
index 0000000..e65cbb5
--- /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