From: Jonathan Nieder <jrnieder@gmail.com>
To: Git Mailing List <git@vger.kernel.org>
Cc: Nanako Shiraishi <nanako3@lavabit.com>,
Junio C Hamano <gitster@pobox.com>,
Johannes Sixt <j.sixt@viscovery.net>,
Git Mailing List <git@vger.kernel.org>,
Johannes Schindelin <Johannes.Schindelin@gmx.de>
Subject: [PATCH 2/5] Makefile: clear list of default rules
Date: Thu, 7 Jan 2010 01:18:25 -0600 [thread overview]
Message-ID: <20100107071824.GC11777@progeny.tock> (raw)
In-Reply-To: <20100107071305.GA11777@progeny.tock>
The git makefile never uses any default implicit rules. If a
prerequisite for one of the intended rules is missing, a default
rule can be used in its place:
$ make var.s
CC var.s
$ rm var.c
$ make var.o
as -o var.o var.s
Avoiding the default rules increases performance and avoids
hard-to-debug behaviour. Especially, once the scope of the
%.o: %.c pattern rule is restricted, we should not fall back
to the default %.o: %.c pattern rule.
Signed-off-by: Jonathan Nieder <jrnieder@gmail.com>
---
'make -d' reveals that GNU make still ponders the default rules with
this patch applied, though at least it does not use them any more. Is
it possible to set something like the make '-r' option from within a
makefile?
Makefile | 2 ++
1 files changed, 2 insertions(+), 0 deletions(-)
diff --git a/Makefile b/Makefile
index fa08535..9a5d897 100644
--- a/Makefile
+++ b/Makefile
@@ -1635,6 +1635,8 @@ GIT_OBJS := $(LIB_OBJS) $(BUILTIN_OBJS) git.o http.o http-walker.o \
XDIFF_OBJS = xdiff/xdiffi.o xdiff/xprepare.o xdiff/xutils.o xdiff/xemit.o \
xdiff/xmerge.o xdiff/xpatience.o
+.SUFFIXES:
+
%.o: %.c GIT-CFLAGS
$(QUIET_CC)$(CC) -o $*.o -c $(ALL_CFLAGS) $<
%.s: %.c GIT-CFLAGS FORCE
--
1.6.6.rc2
next prev parent reply other threads:[~2010-01-07 7:18 UTC|newest]
Thread overview: 28+ messages / expand[flat|nested] mbox.gz Atom feed top
2009-11-27 8:04 [PATCH] Makefile: determine the list of header files using a glob Johannes Sixt
2009-11-27 8:26 ` Mike Hommey
2009-11-27 8:50 ` Johannes Sixt
2009-11-27 8:58 ` Mike Hommey
2009-11-27 18:28 ` Junio C Hamano
2009-12-30 8:00 ` Mike Hommey
2009-12-30 8:45 ` Junio C Hamano
2009-11-27 9:36 ` Johannes Schindelin
2009-11-27 17:45 ` [PATCH/RFC 0/2] Lazily generate header dependencies Jonathan Nieder
2009-11-27 17:49 ` [PATCH/RFC 1/2] Makefile: use target-specific variable to pass flags to cc Jonathan Nieder
2009-11-27 17:50 ` [PATCH/RFC 2/2] Makefile: automatically compute header dependencies Jonathan Nieder
2009-11-27 22:57 ` Sverre Rabbelier
2009-11-28 4:24 ` Jonathan Nieder
2009-11-28 9:29 ` [PATCH/RFC 2/2 v3] Makefile: lazily " Jonathan Nieder
2009-11-28 9:26 ` Andreas Schwab
2009-11-28 11:49 ` Jonathan Nieder
2010-01-01 0:05 ` [PATCH/RFC 0/2] Lazily generate " Nanako Shiraishi
2010-01-06 1:06 ` Junio C Hamano
2010-01-06 9:26 ` Johannes Schindelin
2010-01-06 9:36 ` Jonathan Nieder
2010-01-07 7:13 ` [PATCH v2 0/5] " Jonathan Nieder
2010-01-07 7:16 ` [PATCH 1/5] Makefile: rearrange dependency rules Jonathan Nieder
2010-01-07 7:18 ` Jonathan Nieder [this message]
2010-01-07 7:19 ` [PATCH 3/5] Makefile: add OBJECTS variable listing object files Jonathan Nieder
2010-01-07 7:23 ` [PATCH 4/5] Makefile: lazily compute header dependencies Jonathan Nieder
2010-01-07 7:30 ` [PATCH/RFC 5/5] Teach Makefile to check " Jonathan Nieder
2010-01-07 13:22 ` [PATCH v2 0/5] Lazily generate " Erik Faye-Lund
2009-11-27 18:28 ` [PATCH] Makefile: determine the list of header files using a glob Junio C Hamano
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=20100107071824.GC11777@progeny.tock \
--to=jrnieder@gmail.com \
--cc=Johannes.Schindelin@gmx.de \
--cc=git@vger.kernel.org \
--cc=gitster@pobox.com \
--cc=j.sixt@viscovery.net \
--cc=nanako3@lavabit.com \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).