Date: Wed, 5 Jun 2013 11:02:53 +0100 From: Chris Rees <utisoft@gmail.com> To: Bruce Evans <brde@optusnet.com.au> Cc: svn-src-head@freebsd.org, svn-src-all@freebsd.org, src-committers@freebsd.org, David Schultz <das@freebsd.org> Subject: Re: svn commit: r251404 - in head/lib/msun: . src Message-ID: <CADLo83-hRSgyxFcxOsKTaT%2Bi_H6kCAYZvU1AfzhhDxQKWMCu-Q@mail.gmail.com> In-Reply-To: <20130605190925.X1394@besplex.bde.org> References: <201306050533.r555X2dQ047208@svn.freebsd.org> <CADLo83-8Q-uSD3JxiiGG4ZEfrYuR5sGc4%2BMaFNr4Q00B=TWd-w@mail.gmail.com> <20130605190925.X1394@besplex.bde.org>
next in thread | previous in thread | raw e-mail | index | archive | help
On 5 Jun 2013 10:46, "Bruce Evans" <brde@optusnet.com.au> wrote: > > On Wed, 5 Jun 2013, Chris Rees wrote: > >> On 5 Jun 2013 06:33, "David Schultz" <das@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
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?CADLo83-hRSgyxFcxOsKTaT%2Bi_H6kCAYZvU1AfzhhDxQKWMCu-Q>