From owner-freebsd-bugs@freebsd.org Tue Mar 7 15:33:16 2017 Return-Path: Delivered-To: freebsd-bugs@mailman.ysv.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:1900:2254:206a::19:1]) by mailman.ysv.freebsd.org (Postfix) with ESMTP id 8C807D017DC for ; Tue, 7 Mar 2017 15:33:16 +0000 (UTC) (envelope-from bugzilla-noreply@freebsd.org) Received: from kenobi.freebsd.org (kenobi.freebsd.org [IPv6:2001:1900:2254:206a::16:76]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (Client did not present a certificate) by mx1.freebsd.org (Postfix) with ESMTPS id 62478145B for ; Tue, 7 Mar 2017 15:33:16 +0000 (UTC) (envelope-from bugzilla-noreply@freebsd.org) Received: from bugs.freebsd.org ([127.0.1.118]) by kenobi.freebsd.org (8.15.2/8.15.2) with ESMTP id v27FXGP1082457 for ; Tue, 7 Mar 2017 15:33:16 GMT (envelope-from bugzilla-noreply@freebsd.org) From: bugzilla-noreply@freebsd.org To: freebsd-bugs@FreeBSD.org Subject: [Bug 217613] FreeBSD make -- local variable $(.PREFIX) does not strip preceding directory components Date: Tue, 07 Mar 2017 15:33:16 +0000 X-Bugzilla-Reason: AssignedTo X-Bugzilla-Type: new X-Bugzilla-Watch-Reason: None X-Bugzilla-Product: Base System X-Bugzilla-Component: bin X-Bugzilla-Version: 11.0-RELEASE X-Bugzilla-Keywords: X-Bugzilla-Severity: Affects Only Me X-Bugzilla-Who: erik@nordstroem.no X-Bugzilla-Status: New X-Bugzilla-Resolution: X-Bugzilla-Priority: --- X-Bugzilla-Assigned-To: freebsd-bugs@FreeBSD.org X-Bugzilla-Flags: X-Bugzilla-Changed-Fields: bug_id short_desc product version rep_platform op_sys bug_status bug_severity priority component assigned_to reporter attachments.created Message-ID: Content-Type: text/plain; charset="UTF-8" Content-Transfer-Encoding: quoted-printable X-Bugzilla-URL: https://bugs.freebsd.org/bugzilla/ Auto-Submitted: auto-generated MIME-Version: 1.0 X-BeenThere: freebsd-bugs@freebsd.org X-Mailman-Version: 2.1.23 Precedence: list List-Id: Bug reports List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Tue, 07 Mar 2017 15:33:16 -0000 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 < 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.=