svn commit: r251404 - in head/lib/msun: . src
Chris Rees
utisoft at gmail.com
Wed Jun 5 10:02:55 UTC 2013
On 5 Jun 2013 10:46, "Bruce Evans" <brde at optusnet.com.au> wrote:
>
> On Wed, 5 Jun 2013, Chris Rees wrote:
>
>> On 5 Jun 2013 06:33, "David Schultz" <das at freebsd.org> wrote:
>>>
>>> ...
>>>
>>> Log:
>>> Style fixes.
>>>
>>> Submitted by: bde
>>> ...
>>
>>
==============================================================================
>>>
>>> --- head/lib/msun/Makefile Wed Jun 5 01:22:59 2013
(r251403)
>>> +++ head/lib/msun/Makefile Wed Jun 5 05:33:01 2013
(r251404)
>>> @@ -21,6 +21,10 @@ ARCH_SUBDIR= ${MACHINE_CPUARCH}
>>> .include "${ARCH_SUBDIR}/Makefile.inc"
>>>
>>> .PATH: ${.CURDIR}/${ARCH_SUBDIR}
>>> +.if ${MACHINE_CPUARCH} == "i386" || ${MACHINE_CPUARCH} == "amd64"
>>> +.PATH: ${.CURDIR}/x86
>>> +CFLAGS+= -I${.CURDIR}/x86
>>> +.endif
>>
>>
>> Since you're doing style fixes, it is worth noting that quoting strings
in
>> Makefiles is nearly always incorrect, and only works in our make because
of
>> an extension.
>
>
> Ugh. make's tutorial even says that strings are required in both of the
> above contexts (for .include "file" and for strings in comparison
> operations). From /usr/share/doc/psd/12.make:
>
> @ added ability to use variables in the filenames. An include
> @ directive in a makefile looks either like this:
> @ @ #include <file>
> @ @ or this
> @ @ #include "file"
> @ @ The difference between the two is where PMake searches for
> @ the file: the first way, PMake will look for the file only
> @ ...
> @ The arithmetic and string operators may only be used to test
> @ the value of a variable. The lefthand side must contain the
> @ variable expansion, while the righthand side contains either
> @ a string, enclosed in double-quotes, or a number. The stan-
> @ dard C numeric conventions (except for specifying an octal
> @ number) apply to both sides. E.g.
> @ @ #if $(OS) == 4.3
> @ @ #if $(MACHINE) == "sun3"
> @ @ #if $(LOAD_ADDR) < 0xc000
> @ @ are all valid conditionals. In addition, the numeric value
> @ of a variable can be tested as a boolean as follows:
>
> The tutorial doesn't seem to have been updated for the new make (or
> the old make). bmake duplicates the ~20-year old source file except
> for about 20 lines of trivial changes, but doesn't seem to build or
> install its version.
>
> I tried building a target named "foo bar". It failed completely.
Very little in that guide is at all relevant or correct. Perhaps when it
was first written.... It shows some interesting historical notes on the
difference between ${} and $(), which is also now wrong.
Following quoting rules because of an out of date tutorial and thus
diverging from the rest of the world seems a little odd.
I can't work out whether you agree or disagree with me from your comment :)
Chris
More information about the svn-src-head
mailing list