emacs-devel
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: buildobj.lst and Windows builds - a tiny bit of help needed?


From: Eli Zaretskii
Subject: Re: buildobj.lst and Windows builds - a tiny bit of help needed?
Date: Mon, 24 Aug 2009 06:19:02 +0300

> From: Ken Raeburn <address@hidden>
> Date: Sun, 23 Aug 2009 17:07:04 -0400
> Cc: address@hidden, address@hidden
> 
> > 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.




reply via email to

[Prev in Thread] Current Thread [Next in Thread]