From mboxrd@z Thu Jan 1 00:00:00 1970 Path: news.gmane.org!not-for-mail From: Eli Zaretskii Newsgroups: gmane.emacs.devel Subject: Re: buildobj.lst and Windows builds - a tiny bit of help needed? Date: Mon, 24 Aug 2009 06:19:02 +0300 Message-ID: <83vdkdew61.fsf@gnu.org> References: <4CC1CF5E-088F-459E-BCF7-61DEFA747DE1@raeburn.org> <4A90FE29.9080205@gnu.org> <72B7514B-A488-4FA1-A0C6-8114E60E9209@raeburn.org> <4A917183.9090404@gnu.org> <83bpm6flxx.fsf@gnu.org> <834oryffnu.fsf@gnu.org> <80FD0395-33BC-4EBE-B84A-02C1B29783FB@raeburn.org> Reply-To: Eli Zaretskii NNTP-Posting-Host: lo.gmane.org X-Trace: ger.gmane.org 1251084017 21096 80.91.229.12 (24 Aug 2009 03:20:17 GMT) X-Complaints-To: usenet@ger.gmane.org NNTP-Posting-Date: Mon, 24 Aug 2009 03:20:17 +0000 (UTC) Cc: emacs-devel@gnu.org, jasonr@gnu.org To: Ken Raeburn Original-X-From: emacs-devel-bounces+ged-emacs-devel=m.gmane.org@gnu.org Mon Aug 24 05:20:10 2009 Return-path: Envelope-to: ged-emacs-devel@m.gmane.org Original-Received: from lists.gnu.org ([199.232.76.165]) by lo.gmane.org with esmtp (Exim 4.50) id 1MfQ6M-0007gR-7w for ged-emacs-devel@m.gmane.org; Mon, 24 Aug 2009 05:20:10 +0200 Original-Received: from localhost ([127.0.0.1]:37324 helo=lists.gnu.org) by lists.gnu.org with esmtp (Exim 4.43) id 1MfQ6L-0000PI-L1 for ged-emacs-devel@m.gmane.org; Sun, 23 Aug 2009 23:20:09 -0400 Original-Received: from mailman by lists.gnu.org with tmda-scanned (Exim 4.43) id 1MfQ6G-0000O5-Da for emacs-devel@gnu.org; Sun, 23 Aug 2009 23:20:04 -0400 Original-Received: from exim by lists.gnu.org with spam-scanned (Exim 4.43) id 1MfQ6B-0000Mf-GN for emacs-devel@gnu.org; Sun, 23 Aug 2009 23:20:03 -0400 Original-Received: from [199.232.76.173] (port=34749 helo=monty-python.gnu.org) by lists.gnu.org with esmtp (Exim 4.43) id 1MfQ6B-0000MY-5H for emacs-devel@gnu.org; Sun, 23 Aug 2009 23:19:59 -0400 Original-Received: from mtaout22.012.net.il ([80.179.55.172]:48858) by monty-python.gnu.org with esmtp (Exim 4.60) (envelope-from ) id 1MfQ68-0002HV-VE; Sun, 23 Aug 2009 23:19:57 -0400 Original-Received: from conversion-daemon.a-mtaout22.012.net.il by a-mtaout22.012.net.il (HyperSendmail v2007.08) id <0KOV002002C3OG00@a-mtaout22.012.net.il>; Mon, 24 Aug 2009 06:19:02 +0300 (IDT) Original-Received: from HOME-C4E4A596F7 ([84.228.180.85]) by a-mtaout22.012.net.il (HyperSendmail v2007.08) with ESMTPA id <0KOV001RR2JPYQ50@a-mtaout22.012.net.il>; Mon, 24 Aug 2009 06:19:02 +0300 (IDT) In-reply-to: <80FD0395-33BC-4EBE-B84A-02C1B29783FB@raeburn.org> X-012-Sender: halo1@inter.net.il X-detected-operating-system: by monty-python.gnu.org: Solaris 10 (beta) X-BeenThere: emacs-devel@gnu.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: "Emacs development discussions." List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Original-Sender: emacs-devel-bounces+ged-emacs-devel=m.gmane.org@gnu.org Errors-To: emacs-devel-bounces+ged-emacs-devel=m.gmane.org@gnu.org Xref: news.gmane.org gmane.emacs.devel:114547 Archived-At: > From: Ken Raeburn > Date: Sun, 23 Aug 2009 17:07:04 -0400 > Cc: jasonr@gnu.org, emacs-devel@gnu.org > > > IOW, have the main rule call a different shell-specific rule according > > to $(SHELLTYPE). Then you can escape the backslash in the rule for > > the Unixy shell and not escape it in the rule for CMD. (Btw, the rule > > for CMD should toss the quotes around the backslash as well, as the > > `echo' command built into it does not remove quotes, and neither does > > CMD itself. > > Then I think I misunderstand how $(ARGQUOTE) is supposed to be used, > or how it's interpreted. It gets used a lot with invocations of > emacs, but shouldn't be with echo? Not with echo and not with other commands that are built into CMD. Windows programs other than the shell do remove quotes from their arguments, thus emulating some of the Unixy shell semantics, but CMD does not. > Is emacs itself processing the quotes? No. > Is this better? > > $(SRC)/buildobj.h: make-buildobj-$(SHELLTYPE) > make-buildobj-CMD: Makefile > echo #define BUILDOBJ $(DQUOTE)\ > $(SRC)/buildobj.h > echo $(OBJ0) \ >> $(SRC)/buildobj.h > echo $(OBJ1) \ >> $(SRC)/buildobj.h > echo $(WIN32OBJ) \ >> $(SRC)/buildobj.h > echo $(FONTOBJ) \ >> $(SRC)/buildobj.h > echo $(DQUOTE) >> $(SRC)/buildobj.h > make-buildobj-SH: Makefile > echo $(ARGQUOTE)#define BUILDOBJ $(DQUOTE)\\$(ARGQUOTE) > $(SRC)/ > buildobj.h > echo $(OBJ0) $(ARGQUOTE)\\$(ARGQUOTE) >> $(SRC)/buildobj.h > echo $(OBJ1) $(ARGQUOTE)\\$(ARGQUOTE) >> $(SRC)/buildobj.h > echo $(WIN32OBJ) $(ARGQUOTE)\\$(ARGQUOTE) >> $(SRC)/buildobj.h > echo $(FONTOBJ) $(ARGQUOTE)\\$(ARGQUOTE) >> $(SRC)/buildobj.h > echo $(ARGQUOTE)$(DQUOTE)$(ARGQUOTE) >> $(SRC)/buildobj.h > > But DQUOTE is '\"' for CMD; should the backslash be used there or > should I just stick in a raw '"'? Just stick '"'. You don't need these variables when the shells are separated in the first place.