From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from mout1.freenet.de (mout1.freenet.de [IPv6:2001:748:100:40::2:3]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by ml01.01.org (Postfix) with ESMTPS id 46EEB82147 for ; Mon, 12 Dec 2016 13:52:37 -0800 (PST) Received: from [195.4.92.141] (helo=mjail1.freenet.de) by mout1.freenet.de with esmtpa (ID topeterk@freenet.de) (port 25) (Exim 4.85 #1) id 1cGYWO-0001Bs-Sy; Mon, 12 Dec 2016 22:52:32 +0100 Received: from localhost ([::1]:33394 helo=mjail1.freenet.de) by mjail1.freenet.de with esmtpa (ID topeterk@freenet.de) (Exim 4.85 #1) id 1cGYWO-0006ws-Ov; Mon, 12 Dec 2016 22:52:32 +0100 Received: from mx7.freenet.de ([195.4.92.17]:41581) by mjail1.freenet.de with esmtpa (ID topeterk@freenet.de) (Exim 4.85 #1) id 1cGYTt-0002Yu-Oq; Mon, 12 Dec 2016 22:49:57 +0100 Received: from dslb-092-075-175-159.092.075.pools.vodafone-ip.de ([92.75.175.159]:31707 helo=Gunrider) by mx7.freenet.de with esmtpsa (ID topeterk@freenet.de) (TLSv1.2:DHE-RSA-AES256-GCM-SHA384:256) (port 587) (Exim 4.85 #1) id 1cGYTt-0002Yp-88; Mon, 12 Dec 2016 22:49:57 +0100 From: "Peter Kirmeier" To: "'Andrew Fish'" , Cc: "'edk2-devel@lists.01.org'" References: <98ff7c88cfa14fd68742142e48300697@R01UKEXCASM124.r01.fujitsu.local> In-Reply-To: Date: Mon, 12 Dec 2016 22:49:53 +0100 Message-ID: <000301d254c1$ae202810$0a607830$@de> MIME-Version: 1.0 X-Mailer: Microsoft Office Outlook 12.0 Thread-Index: AdJUnP8tt/WCdGZgSnmbF4McxOwsaQAIJaSA X-Originated-At: 92.75.175.159!31707 Subject: Re: $ escape sequence at build_rule.txt X-BeenThere: edk2-devel@lists.01.org X-Mailman-Version: 2.1.21 Precedence: list List-Id: EDK II Development List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Mon, 12 Dec 2016 21:52:37 -0000 Content-Type: text/plain; charset="iso-8859-1" Content-Transfer-Encoding: quoted-printable Content-Language: de Hi Andrew, the line I wrote first.. "$(TOOLS_DIR)\gawk.exe" "NF{gsub(/ *\\$$/,\"\"); print}" infile.in > outfile.out .. failed with this error message.. makefile(527) : fatal error U1001: Syntaxfehler: ung=B3ltiges = Zeichen "/" in Makro=20 (means syntax error due to invalid character "/" in macro) ..and brought this result at the makefile: "$(TOOLS_DIR)\gawk.exe" "NF{gsub(/ *\\$/,\"\"); print}" infile.in > outfile.out Also with this line.. "$(TOOLS_DIR)\gawk.exe" "NF{gsub(/ *\\$$$$/,\"\"); print}" infile.in = > outfile.out .. I get exactly the same error and output (multiple dollars are = stripped down to a single one) Tried to get some more details of how the macros work by looking at = python scripts. All I see is that only fixed macros are supported like ${s_base} or $(OUTPUT_DIR). I couldn't find a way to actually espace the $(xx) sequence at all. Here are some more tries to figure out how the $ is processed: $() fails because no macro name is set but prints $() into the makefile, $($) fails because second $ is unknown and prints $($) into the = makefile, ${} fails because { is no valid character but prints ${} into the = makefile, $ or $$ or $$$ or $$$$ .. fails because next character "/" invalid and prints a single $ into the makefile. It seems there is one exception that multiple $ signs will not be = printed 1:1 into the makefile.=20 All other tries were printed correctly into the makefile. So if $$ would be printed 1:1, too, it should work as I expected. Unfortunately I don't get $$ with anyone of them. Guess there is no support for any escape sequence yet, right? Any idea to get this working and/or in case $$ should work in build_rules.txt, would you plan to fix this? Best Regards, Peter Kirmeier PS: Maybe a quick and simple solution could be to add a predefined = $(DOLLAR) marco or anything like that into the python scripts? -----Urspr=FCngliche Nachricht----- Von: edk2-devel [mailto:edk2-devel-bounces@ml01.01.org] Im Auftrag von Andrew Fish Gesendet: Montag, 12. Dezember 2016 18:27 An: peter.kirmeier@ts.fujitsu.com Cc: edk2-devel@lists.01.org Betreff: Re: [edk2] $ escape sequence at build_rule.txt > On Dec 12, 2016, at 2:31 AM, peter.kirmeier@ts.fujitsu.com wrote: >=20 > Hi all, >=20 > I tried to add a AWK replacement into the build_rules to become part = of the generated makefiles: >=20 > > "$(TOOLS_DIR)\gawk.exe" "NF{gsub(/ *\\$$/,\"\"); print}" = infile.in > outfile.out >=20 > Unfortunately I don't get it, how the dollar sign can be escaped to = the doubled $$ which is used by make for placing a single $ at the command. >=20 > Can someone help? >=20 Peter, Do you think the build_rules.txt parse is removing one of the $? I'm not sure if this will work but what happens if you use 4 $?=20 What do you see in the generated makefile? Thanks, Andrew Fish > Thanks, > Peter >=20 > --- > Peter Kirmeier > Senior Firmware Developer > Client Computing Devices Engineering >=20 > FUJITSU > Buergermeister-Ulrich-Strasse 100, 86199 Augsburg, Germany > Tel.: +49 (821) 804 3227 > Fax: +49 (821) 804 83227 > E-mail: peter.kirmeier@ts.fujitsu.com > Web: ts.fujitsu.com > Company: Fujitsu Technology Solutions GmbH / ts.fujitsu.com/imprint > This communication contains information that is confidential, = proprietary in nature and/or privileged. It is for the exclusive use of the = intended recipient(s). If you are not the intended recipient(s) or the person responsible for delivering it to the intended recipient(s), please note = that any form of dissemination, distribution or copying of this communication = is strictly prohibited and may be unlawful. If you have received this communication in error, please immediately notify the sender and delete = the original communication. Thank you for your cooperation. > Please be advised that neither Fujitsu, its affiliates, its employees = or agents accept liability for any errors, omissions or damages caused by delays of receipt or by any virus infection in this message or its attachments, or which may otherwise arise as a result of this e-mail transmission. >=20 > _______________________________________________ > edk2-devel mailing list > edk2-devel@lists.01.org > https://lists.01.org/mailman/listinfo/edk2-devel _______________________________________________ edk2-devel mailing list edk2-devel@lists.01.org https://lists.01.org/mailman/listinfo/edk2-devel