automake-patches
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

[FYI] {branch-1.13.2} make flags analysis: handle more options with args


From: Stefano Lattarini
Subject: [FYI] {branch-1.13.2} make flags analysis: handle more options with args
Date: Fri, 3 May 2013 17:50:08 +0200

That is, not only -I, but also -O (for upcoming GNU make 3.83),
-l (GNU make), -d, -E, -D, -m (BSD make), -J, -T (NetBSD make).

* lib/am/header-vars.am (am__make_running_with_option): Extend
and adjust, both code and comments.

Signed-off-by: Stefano Lattarini <address@hidden>
---
 lib/am/header-vars.am | 20 +++++++++++++++++---
 1 file changed, 17 insertions(+), 3 deletions(-)

diff --git a/lib/am/header-vars.am b/lib/am/header-vars.am
index 8698cd2..4b9cc04 100644
--- a/lib/am/header-vars.am
+++ b/lib/am/header-vars.am
@@ -74,13 +74,27 @@ am__make_running_with_option = \
     test $$skip_next = yes && { skip_next=no; continue; }; \
     case $$flg in \
       *=*|--*) continue;; \
+##
 ## GNU make 3.83 has changed the format of $MFLAGS, and removed the space
 ## between an option and its argument (e.g., from "-I dir" to "-Idir").
-## So we need to handle both formats.
-## TODO: we might need to handle similar other cases as well; but let's
-##       wait until the need arises.
+## So we need to handle both formats, at least for options valid in GNU
+## make.  OTOH, BSD make formats $(MAKEFLAGS) by separating all options,
+## and separating any option from its argument, so things are easier
+## there.
+##
+## For GNU make and BSD make.
         -*I) strip_trailopt 'I'; skip_next=yes;; \
       -*I?*) strip_trailopt 'I';; \
+## For GNU make >= 3.83.
+        -*O) strip_trailopt 'O'; skip_next=yes;; \
+      -*O?*) strip_trailopt 'O';; \
+## For GNU make (possibly overkill, this one).
+        -*l) strip_trailopt 'l'; skip_next=yes;; \
+      -*l?*) strip_trailopt 'l';; \
+## For BSD make.
+      -[dEDm]) skip_next=yes;; \
+## For NetBSD make.
+      -[JT]) skip_next=yes;; \
     esac; \
     case $$flg in \
       *$$target_option*) has_opt=yes; break;; \
-- 
1.8.3.rc0.19.g7e6a0cc




reply via email to

[Prev in Thread] Current Thread [Next in Thread]