]> granicus.if.org Git - php/commitdiff
Get rid of all GNUisms in build.mk. Verified to work with BSD make,
authorSascha Schumann <sas@php.net>
Sat, 18 Dec 1999 22:20:05 +0000 (22:20 +0000)
committerSascha Schumann <sas@php.net>
Sat, 18 Dec 1999 22:20:05 +0000 (22:20 +0000)
SysV make, and GNU make (tested on FreeBSD-current, Solaris 7, Linux with
GNU make 3.78).

build.mk
build2.mk [new file with mode: 0644]

index 4716b38408db8271f61fd7f044c67ff11ecd8b56..d710c46ddc4ec07c9a39bf877a83e99fb4fb5254 100644 (file)
--- a/build.mk
+++ b/build.mk
 #
 # $Id$ 
 
-LT_TARGETS = ltconfig ltmain.sh config.guess config.sub
 
 SUBDIRS = libzend TSRM
 
 STAMP = buildmk.stamp
 
-makefile_am_files = Makefile.am libzend/Makefile.am TSRM/Makefile.am \
-       $(shell find ext sapi regex pear -name Makefile.am)
-makefile_in_files = $(makefile_am_files:.am=.in)
-makefile_files    = $(makefile_am_files:e.am=e)
+ALWAYS = generated_lists
 
-config_h_in = php_config.h.in
+.PHONY: $(ALWAYS)
 
-config_h_files = libzend/acconfig.h TSRM/acconfig.h \
-       $(shell echo ext/*/config.h.stub sapi/*/config.h.stub)
+all: $(STAMP) $(ALWAYS)
+       @$(MAKE) -s -f build2.mk
 
-config_m4_files = libzend/libzend.m4 TSRM/tsrm.m4 libzend/acinclude.m4 \
-       $(shell echo ext/*/config.m4 sapi/*/config.m4)
-
-acconfig_h_SOURCES = acconfig.h.in $(config_h_files)
-
-targets = $(makefile_in_files) configure $(config_h_in)
-
-all: $(targets)
-       @for i in $(SUBDIRS); do \
-               test -d $$i || (test -d ../$$i && ln -s ../$$i $$i); \
-       done
-
-all: $(STAMP)
+generated_lists:
+       @echo makefile_am_files = Makefile.am libzend/Makefile.am \
+               TSRM/Makefile.am `find ext sapi regex pear -name Makefile.am` > $@
+       @echo config_h_files = libzend/acconfig.h TSRM/acconfig.h \
+               ext/*/config.h.stub sapi/*/config.h.stub >> $@
+       @echo config_m4_files = libzend/libzend.m4 TSRM/tsrm.m4 \
+               libzend/acinclude.m4 ext/*/config.m4 sapi/*/config.m4 >> $@
 
 $(STAMP): buildcheck.sh
        @./buildcheck.sh && touch $(STAMP)
 
-libzend/Makefile.am:
-       test -d libzend || (test -d ../libzend && ln -s ../libzend libzend)
-
-TSRM/Makefile.am:
-       test -d TSRM || (test -d ../TSRM && ln -s ../TSRM TSRM)
-
 dist:
        @rm -f $(SUBDIRS) 2>/dev/null || true
        @for i in $(SUBDIRS); do \
@@ -58,42 +42,8 @@ dist:
        @find . -type l -exec rm {} \;
        $(MAKE) AMFLAGS=--copy -f build.mk
 
-clean: 
-       rm -f $(targets)
-       @for i in $(SUBDIRS); do \
-               (cd $$i && $(MAKE) -f build.mk clean); \
-       done 
-
 cvsclean:
-       @for i in $(shell find . -follow -name .cvsignore); do \
+       @for i in `find . -follow -name .cvsignore`; do \
                (cd `dirname $$i` && rm -rf `cat .cvsignore`); \
        done
        @rm -f $(SUBDIRS) 2>/dev/null || true
-
-acconfig.h: $(acconfig_h_SOURCES)
-       @echo rebuilding $@
-       @cat $(acconfig_h_SOURCES) > $@
-
-$(makefile_in_files): $(makefile_am_files) aclocal.m4
-       @echo rebuilding Makefile.in\'s
-       @for i in $(LT_TARGETS); do \
-               if test -f "$$i"; then \
-                       mv $$i $$i.bak; \
-                       cp $$i.bak $$i; \
-               fi; \
-       done
-       @automake -a -i $(AMFLAGS) $(makefile_files) 2>&1 \
-               | grep -v PHP_OUTPUT_FILES || true >&2
-       @for i in $(LT_TARGETS); do mv $$i.bak $$i; done
-
-aclocal.m4: configure.in acinclude.m4
-       aclocal
-
-$(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
diff --git a/build2.mk b/build2.mk
new file mode 100644 (file)
index 0000000..eeeb9ef
--- /dev/null
+++ b/build2.mk
@@ -0,0 +1,53 @@
+# Workhorse for build.mk
+#
+# $Id$
+
+include generated_lists
+
+LT_TARGETS = ltconfig ltmain.sh config.guess config.sub
+
+makefile_in_files = $(makefile_am_files:.am=.in)
+makefile_files    = $(makefile_am_files:e.am=e)
+
+config_h_in = php_config.h.in
+
+acconfig_h_SOURCES = acconfig.h.in $(config_h_files)
+
+targets = $(makefile_in_files) configure $(config_h_in)
+
+
+all: libzend/Makefile.am TSRM/Makefile.am $(targets)
+
+libzend/Makefile.am:
+       test -d libzend || (test -d ../libzend && ln -s ../libzend libzend)
+
+TSRM/Makefile.am:
+       test -d TSRM || (test -d ../TSRM && ln -s ../TSRM TSRM)
+
+acconfig.h: $(acconfig_h_SOURCES)
+       @echo rebuilding $@
+       @cat $(acconfig_h_SOURCES) > $@
+
+$(makefile_in_files): $(makefile_am_files) aclocal.m4 configure.in $(config_m4_files)
+       @echo rebuilding Makefile.in\'s
+       @for i in $(LT_TARGETS); do \
+               if test -f "$$i"; then \
+                       mv $$i $$i.bak; \
+                       cp $$i.bak $$i; \
+               fi; \
+       done
+       @automake -a -i $(AMFLAGS) $(makefile_files) 2>&1 \
+               | grep -v PHP_OUTPUT_FILES || true >&2
+       @for i in $(LT_TARGETS); do mv $$i.bak $$i; done
+
+aclocal.m4: configure.in acinclude.m4
+       aclocal
+
+$(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