Skip site navigation (1)Skip section navigation (2)
Date:      Tue, 07 Mar 2017 15:33:16 +0000
From:      bugzilla-noreply@freebsd.org
To:        freebsd-bugs@FreeBSD.org
Subject:   [Bug 217613] FreeBSD make -- local variable $(.PREFIX) does not strip preceding directory components
Message-ID:  <bug-217613-8@https.bugs.freebsd.org/bugzilla/>

next in thread | raw e-mail | index | archive | help
https://bugs.freebsd.org/bugzilla/show_bug.cgi?id=3D217613

            Bug ID: 217613
           Summary: FreeBSD make -- local variable $(.PREFIX) does not
                    strip preceding directory components
           Product: Base System
           Version: 11.0-RELEASE
          Hardware: Any
                OS: Any
            Status: New
          Severity: Affects Only Me
          Priority: ---
         Component: bin
          Assignee: freebsd-bugs@FreeBSD.org
          Reporter: erik@nordstroem.no

Created attachment 180603
  --> https://bugs.freebsd.org/bugzilla/attachment.cgi?id=3D180603&action=
=3Dedit
BSDmakefile

>From the make(1) man page:

  Local variables are all built in and their values vary magically from
  target to target.  It is not currently possible to define new local
  variables.  The seven local variables are as follows:

  [...]

        .PREFIX   The file prefix of the target, containing only the file
                  portion, no suffix or preceding directory components;
                  also known as =E2=80=98*=E2=80=99.  The suffix must be on=
e of the known
                  suffixes declared with .SUFFIXES or it will not be
                  recognized.

However, it seems that preceding directory components are not actually
stripped.

$ mkdir -p ~/tmp/hello
$ cd ~/tmp/hello/

Place the attached BSDmakefile in this directory and after you've done that,
create the hello world program in src/main.c.

$ mkdir src
$ cat > src/hello.c <<EOF
#include <stdio.h>
int main()
{
   printf("Hello, World!");
}
EOF

$ make
make: don't know how to make src/build/hello.c. Stop

make: stopped in /usr/home/erikn/tmp/hello

As you can see from the output above when I attempt to run make, the prefix=
 was
not stripped of preceding directory components.

--=20
You are receiving this mail because:
You are the assignee for the bug.=



Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?bug-217613-8>