make-w32
[Top][All Lists]
Advanced

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

Re: Environment variables in makefiles with DOS


From: Earnie Boyd
Subject: Re: Environment variables in makefiles with DOS
Date: Fri, 18 May 2007 08:59:30 -0400
User-agent: Internet Messaging Program (IMP) H3 (4.0.4)

Quoting Eli Zaretskii <address@hidden>:

Date: Thu, 17 May 2007 10:27:34 -0400
From: Earnie Boyd <address@hidden>

Is there a windows API call to convert the filename to 8.3?

Yes, GetShortPathName.  See:

   http://msdn2.microsoft.com/en-us/library/aa364989.aspx

Perhaps a windows hack could store the filename in 8.3?

But how would this solve the problem in the case in point?  The
problem here is with the Makefile parser, which uses whitespace as
separator.  This happens much earlier than Make even knows it is
dealing with a file name.


I was thinking the parser could store the value of the 8.3 for the long name if the value contained spaces but forget it as we don't know it is a file name being stored.

Btw, would using a function work here?  Something like this:

 include $(SOURCE_ROOT)/$(file "Main Line")/default.mk

where the hypothetical function $file just returns its argument.
Would this work?


I think it might assuming the function $file returned the 8.3 version of the name. The include function though already knows its argument is a file path. For the include furnction writing the line as

 include "$(SOURCE_ROOT)/Main Line/default.mk"

should take care of the space issue or did I miss something.

Earnie




reply via email to

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