From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: (qmail 118737 invoked by alias); 16 Nov 2016 17:49:59 -0000 Mailing-List: contact gdb-patches-help@sourceware.org; run by ezmlm Precedence: bulk List-Id: List-Subscribe: List-Archive: List-Post: List-Help: , Sender: gdb-patches-owner@sourceware.org Received: (qmail 118715 invoked by uid 89); 16 Nov 2016 17:49:58 -0000 Authentication-Results: sourceware.org; auth=none X-Virus-Found: No X-Spam-SWARE-Status: No, score=-4.6 required=5.0 tests=AWL,BAYES_00,RP_MATCHES_RCVD,SPF_PASS autolearn=ham version=3.3.2 spammy= X-HELO: eggs.gnu.org Received: from eggs.gnu.org (HELO eggs.gnu.org) (208.118.235.92) by sourceware.org (qpsmtpd/0.93/v0.84-503-g423c35a) with ESMTP; Wed, 16 Nov 2016 17:49:48 +0000 Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1c74L9-0002xa-Oq for gdb-patches@sourceware.org; Wed, 16 Nov 2016 12:49:46 -0500 Received: from fencepost.gnu.org ([2001:4830:134:3::e]:55172) by eggs.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1c74L9-0002xW-LM; Wed, 16 Nov 2016 12:49:43 -0500 Received: from 84.94.185.246.cable.012.net.il ([84.94.185.246]:4412 helo=home-c4e4a596f7) by fencepost.gnu.org with esmtpsa (TLS1.2:RSA_AES_128_CBC_SHA1:128) (Exim 4.82) (envelope-from ) id 1c74L8-0005yA-Se; Wed, 16 Nov 2016 12:49:43 -0500 Date: Wed, 16 Nov 2016 17:49:00 -0000 Message-Id: <83fumrfh6x.fsf@gnu.org> From: Eli Zaretskii To: Pedro Alves CC: simon.marchi@ericsson.com, gdb-patches@sourceware.org In-reply-to: (message from Pedro Alves on Wed, 16 Nov 2016 17:32:28 +0000) Subject: Re: [PATCH 3/4] Makefile: Replace old suffix rules with pattern rules Reply-to: Eli Zaretskii References: <20161116160808.12830-1-simon.marchi@ericsson.com> <20161116160808.12830-4-simon.marchi@ericsson.com> <83lgwjfknq.fsf@gnu.org> <0fa3954e-1f8a-f7f8-aad7-d31d45aa981e@redhat.com> <83k2c3fitl.fsf@gnu.org> X-detected-operating-system: by eggs.gnu.org: GNU/Linux 2.2.x-3.x [generic] X-Received-From: 2001:4830:134:3::e X-IsSubscribed: yes X-SW-Source: 2016-11/txt/msg00436.txt.bz2 > Cc: simon.marchi@ericsson.com, gdb-patches@sourceware.org > From: Pedro Alves > Date: Wed, 16 Nov 2016 17:32:28 +0000 > > >> # The only suffixes we want for implicit rules are .c and .o, so clear > >> # the list and add them. This speeds up GNU Make, and allows -r to work. > >> # For i18n support, we also need .gmo, .po, .pox. > >> # This must come before the language makefile fragments to allow them to > >> # add suffixes and rules of their own. > >> .SUFFIXES: > >> .SUFFIXES: .c .cc .o .po .pox .gmo > >> ~~~ > >> > >> I don't know why they still add some suffixes instead of relying > >> on the pattern rules. Might just be legacy. > > > > No, it's because of the built-in rules. They are by default > > considered no matter which pattern rules you have in the Makefile, > > because theoretically each .c file can be built from some other file > > in any number of ways. > > I still don't understand. The question is why they add back > some suffixes _after_ having deleted all the implicit rules. > I.e., why do: > > .SUFFIXES: > .SUFFIXES: .c > > instead of: > > .SUFFIXES: > %.o: %.c > > They use pattern rules for other, more specific cases, AFAICS. Doesn't the comment explain that? And who said you should use pattern rules for everything? Suffix rules are not a dirty word.