From owner-svn-src-head@FreeBSD.ORG Wed Jun 5 10:59:53 2013 Return-Path: Delivered-To: svn-src-head@freebsd.org Received: from mx1.freebsd.org (mx1.FreeBSD.org [8.8.178.115]) by hub.freebsd.org (Postfix) with ESMTP id 8D960148; Wed, 5 Jun 2013 10:59:53 +0000 (UTC) (envelope-from brde@optusnet.com.au) Received: from mail106.syd.optusnet.com.au (mail106.syd.optusnet.com.au [211.29.132.42]) by mx1.freebsd.org (Postfix) with ESMTP id 91C741128; Wed, 5 Jun 2013 10:59:52 +0000 (UTC) Received: from c122-106-156-23.carlnfd1.nsw.optusnet.com.au (c122-106-156-23.carlnfd1.nsw.optusnet.com.au [122.106.156.23]) by mail106.syd.optusnet.com.au (Postfix) with ESMTPS id 2A22E3C1978; Wed, 5 Jun 2013 20:59:43 +1000 (EST) Date: Wed, 5 Jun 2013 20:59:42 +1000 (EST) From: Bruce Evans X-X-Sender: bde@besplex.bde.org To: Chris Rees Subject: Re: svn commit: r251404 - in head/lib/msun: . src In-Reply-To: Message-ID: <20130605204519.S1701@besplex.bde.org> References: <201306050533.r555X2dQ047208@svn.freebsd.org> <20130605190925.X1394@besplex.bde.org> MIME-Version: 1.0 Content-Type: TEXT/PLAIN; charset=US-ASCII; format=flowed X-Optus-CM-Score: 0 X-Optus-CM-Analysis: v=2.0 cv=BPvrNysG c=1 sm=1 a=R6bvxTt4exwA:10 a=kj9zAlcOel0A:10 a=PO7r1zJSAAAA:8 a=JzwRw_2MAAAA:8 a=rZKycl_GVckA:10 a=6I5d2MoRAAAA:8 a=mq1bVjIXCb4gxXLZoPkA:9 a=CjuIK1q_8ugA:10 a=SV7veod9ZcQA:10 a=qOw1DmAu_wDzwlqJ:21 a=19xsBIcHXRGJrv1f:21 a=ebeQFi2P/qHVC0Yw9JDJ4g==:117 Cc: svn-src-head@freebsd.org, svn-src-all@freebsd.org, src-committers@freebsd.org, David Schultz , Bruce Evans X-BeenThere: svn-src-head@freebsd.org X-Mailman-Version: 2.1.14 Precedence: list List-Id: SVN commit messages for the src tree for head/-current List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Wed, 05 Jun 2013 10:59:53 -0000 On Wed, 5 Jun 2013, Chris Rees wrote: > On 5 Jun 2013 10:46, "Bruce Evans" wrote: >> >> On Wed, 5 Jun 2013, Chris Rees wrote: >> >>> On 5 Jun 2013 06:33, "David Schultz" 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 >> @ @ 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 :) Quoted strings are necessary for file names with spaces, and good for documenting the type of other things, and BSD make had them in 1993 (1983?). Perhaps it is time the rest of the world supported them? The result of the world needs them more than BSD, since it has mores spaces in file names. But quoting single identifiers like i386 don't seems to be just a style thing. The style in the tutorial seems to be almost always followed for machine names. I reminded someone to fix the other style bug(s) in the line moved but not changed above. The machine names are unsorted. I thought that this was the only one. Bruce