ports/167850: [PATCH] Mk: Add a Makefile for quick 'make -V' lookups
Bryan Drewery
bryan at shatow.net
Sun May 13 22:00:14 UTC 2012
>Number: 167850
>Category: ports
>Synopsis: [PATCH] Mk: Add a Makefile for quick 'make -V' lookups
>Confidential: no
>Severity: non-critical
>Priority: low
>Responsible: freebsd-ports-bugs
>State: open
>Quarter:
>Keywords:
>Date-Required:
>Class: update
>Submitter-Id: current-users
>Arrival-Date: Sun May 13 22:00:14 UTC 2012
>Closed-Date:
>Last-Modified:
>Originator: Bryan Drewery
>Release: FreeBSD 8.3-RELEASE i386
>Organization:
>Environment:
>Description:
This patch simply adds a no-op Makefile to /usr/ports/Mk. It's intended to allow
scripts to lookup global make.conf variables, including bsd.port.mk vars, in a quick
way without depending on a port.
For example, if a script wanted see if WITH_PKGNG was defined, it typically would do:
WITH_PKGNG=`make -C /usr/ports -VWITH_PKGNG`
This works, but is slow due to all of the subdir code, and takes 6 seconds on my machine.
The patch makes this 0.19 seconds to process.
Additionally, /usr/ports/Makefile doesn't pull in all of the bsd.port.mk variables, so
it is more challenging to lookup variables such as MAKE_JOBS_NUMBER without using a port.
`FORCE_MAKE_JOBS=yes make -C /usr/ports -VMAKE_JOBS_NUMBER` does not work
`FORCE_MAKE_JOBS=yes make -C /usr/ports/$someport -VMAKE_JOBS_NUMBER` does work, but adds an
unnecessary port dependency.
The Makefile defines 1 target which tells the user there is nothing to do.
The patch would benefit scripts such as ports-mgmt/portupgrade, ports-mgmt/portmaster
ports-mgmt/poudriere as they check for various variables in /usr/ports using this method.
>How-To-Repeat:
>Fix:
Patch is relative to Mk dir.
--- patch-Mk-Makefile.txt begins here ---
--- /dev/null 2012-05-13 16:23:20.000000000 -0500
+++ Makefile 2012-05-13 16:22:58.513083080 -0500
@@ -0,0 +1,8 @@
+# $FreeBSD$
+# This file is just meant to give a quick way to get
+# make variables for shell scripts.
+# CC=`make -C /usr/ports/Mk -VCC`
+all:
+ @echo "Nothing to build here."
+
+.include <bsd.port.mk>
--- patch-Mk-Makefile.txt ends here ---
>Release-Note:
>Audit-Trail:
>Unformatted:
More information about the freebsd-ports-bugs
mailing list