From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from mp0 ([2001:41d0:2:4a6f::]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits)) by ms11 with LMTPS id iKkPI7WT6F7ufwAA0tVLHw (envelope-from ) for ; Tue, 16 Jun 2020 09:41:09 +0000 Received: from aspmx1.migadu.com ([2001:41d0:2:4a6f::]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits)) by mp0 with LMTPS id WAfwHrWT6F4OUwAA1q6Kng (envelope-from ) for ; Tue, 16 Jun 2020 09:41:09 +0000 Received: from lists.gnu.org (lists.gnu.org [209.51.188.17]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by aspmx1.migadu.com (Postfix) with ESMTPS id 4B85A94013C for ; Tue, 16 Jun 2020 09:41:09 +0000 (UTC) Received: from localhost ([::1]:51670 helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1jl85c-0007MU-93 for larch@yhetil.org; Tue, 16 Jun 2020 05:41:08 -0400 Received: from eggs.gnu.org ([2001:470:142:3::10]:47190) by lists.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1jl85T-0007MB-Sf for guix-devel@gnu.org; Tue, 16 Jun 2020 05:40:59 -0400 Received: from fencepost.gnu.org ([2001:470:142:3::e]:52868) by eggs.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1jl85T-0001E9-CA; Tue, 16 Jun 2020 05:40:59 -0400 Received: from [2a01:e0a:1d:7270:af76:b9b:ca24:c465] (port=43814 helo=ribbon) by fencepost.gnu.org with esmtpsa (TLS1.2:RSA_AES_256_CBC_SHA1:256) (Exim 4.82) (envelope-from ) id 1jl85S-0006oY-Cv; Tue, 16 Jun 2020 05:40:59 -0400 From: =?utf-8?Q?Ludovic_Court=C3=A8s?= To: Chris Marusich Subject: Re: Makefile logic to create Guix documentation References: <87lfkqtqui.fsf@gmail.com> X-URL: http://www.fdn.fr/~lcourtes/ X-Revolutionary-Date: 29 Prairial an 228 de la =?utf-8?Q?R=C3=A9volution?= X-PGP-Key-ID: 0x090B11993D9AEBB5 X-PGP-Key: http://www.fdn.fr/~lcourtes/ludovic.asc X-PGP-Fingerprint: 3CE4 6455 8A84 FDC6 9DB4 0CFB 090B 1199 3D9A EBB5 X-OS: x86_64-pc-linux-gnu Date: Tue, 16 Jun 2020 11:40:56 +0200 In-Reply-To: <87lfkqtqui.fsf@gmail.com> (Chris Marusich's message of "Sat, 13 Jun 2020 17:48:21 -0700") Message-ID: <87eeqfwdp3.fsf@gnu.org> User-Agent: Gnus/5.13 (Gnus v5.13) Emacs/26.3 (gnu/linux) MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: quoted-printable X-BeenThere: guix-devel@gnu.org X-Mailman-Version: 2.1.23 Precedence: list List-Id: "Development of GNU Guix and the GNU System distribution." List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Cc: guix-devel@gnu.org Errors-To: guix-devel-bounces+larch=yhetil.org@gnu.org Sender: "Guix-devel" X-Scanner: scn0 Authentication-Results: aspmx1.migadu.com; dkim=none; dmarc=none; spf=pass (aspmx1.migadu.com: domain of guix-devel-bounces@gnu.org designates 209.51.188.17 as permitted sender) smtp.mailfrom=guix-devel-bounces@gnu.org X-Spam-Score: -1.01 X-TUID: WaVly2nn97vS Hi, Chris Marusich skribis: > First, consider this snippet from doc/local.mk: > > # We cannot add new dependencies to `%D%/guix.pdf' & co. (info "(automake) > # Extending"). Using the `-local' rules is imperfect, because they may be > # triggered after the main rule. Oh, well. > pdf-local: $(DOT_FILES=3D%.dot=3D$(top_srcdir)/%.pdf) > info-local: $(DOT_FILES=3D%.dot=3D$(top_srcdir)/%.png) > ps-local: $(DOT_FILES=3D%.dot=3D$(top_srcdir)/%.eps) \ > $(top_srcdir)/%D%/images/coreutils-size-map.eps > dvi-local: ps-local > > > What is this syntax called? I checked the Make, Automake, and Autoconf > manuals, but I couldn't find anything. I'm talking about this syntax: > > info-local: $(DOT_FILES=3D%.dot=3D$(top_srcdir)/%.png) These are GNU Make substitutions (info "(make) Substitution Refs"). > It looks like when you added this, you intended to add a *.png > prerequisite to the info-local target for every equivalent *.dot file > that exists. My guess is you want to ensure that the PNG files are > generated before the info page gets created, since the PNG files are > required in order to build the info page. However, is it possible you > meant to write it like the following instead? (The first "=3D" has been > replaced with a ":".) > > info-local: $(DOT_FILES:%.dot=3D$(top_srcdir)/%.png) >=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20= =20=20 > When using ":", I recognize this syntax as a "substitution reference" > (see: (make) Substitution Refs). However, I do not know what it is > supposed to be when the ":" is replaced with a "=3D". Is it a typo? Ah yes, definitely! I didn=E2=80=99t even notice when reading it above. You=E2=80=99re welcome to make that change if nothing bad happens! > Second, I noticed some rules like the following: > > .dot.eps: > $(AM_V_DOT)$(DOT) -Teps $(DOT_OPTIONS) < "$<" > "$(srcdir)/$@.tmp"; \ > mv "$(srcdir)/$@.tmp" "$(srcdir)/$@" Julien already replied; this is POSIX make notation. Thanks, Ludo=E2=80=99.