2011-01-03 Xan Lopez <xlopez@igalia.com>
authorxan@webkit.org <xan@webkit.org@268f45cc-cd09-0410-ab3c-d52691b4dbfc>
Mon, 3 Jan 2011 18:26:12 +0000 (18:26 +0000)
committerxan@webkit.org <xan@webkit.org@268f45cc-cd09-0410-ab3c-d52691b4dbfc>
Mon, 3 Jan 2011 18:26:12 +0000 (18:26 +0000)
        Reviewed by Martin Robinson.

        [GTK] Disable superfluous GNU make built-in implicit rules
        https://bugs.webkit.org/show_bug.cgi?id=51826

        GNU make ships some superflous built-in rules that we never use
        and that end up adding up to a very significant portion of our
        total Makefile processing time. Disable them completely by
        defining the rule without any recipe, as suggested by the GNU make
        manual (10.5.6, Cancelling Implicit Rules).

        In my system the null-build goes from:

        make  43.51s user 12.77s system 99% cpu 56.628 total

        to:

        make  31.45s user 11.59s system 99% cpu 43.227 total

        * GNUmakefile.am: disable implicit built-in rules.

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@74903 268f45cc-cd09-0410-ab3c-d52691b4dbfc

ChangeLog
GNUmakefile.am

index dc2af45..b0d9f75 100644 (file)
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,3 +1,26 @@
+2011-01-03  Xan Lopez  <xlopez@igalia.com>
+
+        Reviewed by Martin Robinson.
+
+        [GTK] Disable superfluous GNU make built-in implicit rules
+        https://bugs.webkit.org/show_bug.cgi?id=51826
+
+        GNU make ships some superflous built-in rules that we never use
+        and that end up adding up to a very significant portion of our
+        total Makefile processing time. Disable them completely by
+        defining the rule without any recipe, as suggested by the GNU make
+        manual (10.5.6, Cancelling Implicit Rules).
+
+        In my system the null-build goes from:
+
+        make  43.51s user 12.77s system 99% cpu 56.628 total
+
+        to:
+
+        make  31.45s user 11.59s system 99% cpu 43.227 total
+
+        * GNUmakefile.am: disable implicit built-in rules.
+
 2011-01-03  Mihai Parparita  <mihaip@chromium.org>
 
         Unreviewed. Update .gitignore with new JavaScriptCore location.
index 17db623..238a1aa 100644 (file)
@@ -86,6 +86,21 @@ CLEANFILES :=
 DISTCLEANFILES :=
 MAINTAINERCLEANFILES :=
 
+# We do not care at all about this implicit built-in make rules,
+# disable them to save some build time
+%: %.c
+%: %.cpp
+%: %.o
+(%): %
+%.out: %
+%.c: %.w %.ch
+%.tex: %.w %.ch
+%:: %,v
+%:: RCS/%,v
+%:: RCS/%
+%:: s.%
+%:: SCCS/s.%
+
 global_cppflags += \
        -Wall -W -Wcast-align -Wchar-subscripts -Wreturn-type \
        -Wformat -Wformat-security -Wno-format-y2k -Wundef \