bug-automake
[Top][All Lists]
Advanced

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

bug#67477: Automake warns that $(?D) is a non-POSIX variable name


From: Quinn Grier
Subject: bug#67477: Automake warns that $(?D) is a non-POSIX variable name
Date: Sun, 26 Nov 2023 21:42:52 -0800
User-agent: Mozilla Thunderbird

POSIX Make allows the syntax $(@D) and $(@F) to be used to retrieve the
directory and filename parts of the $@ internal macro. It also allows
this syntax for the other four internal macros ($%, $?, $<, and $*).

Automake seems to be aware of $(@D) and $(@F), but not the others.

Here is an example:

      $ nl configure.ac
           1  AC_INIT([example], [1])
           2  AM_INIT_AUTOMAKE([-Wall foreign])
           3  AC_CONFIG_FILES([Makefile])
           4  AC_OUTPUT

      $ nl Makefile.am
           1  foo.a(foo.o): foo.o
           2          echo $(@D) # no warning
           3          echo $(@F) # no warning
           4          echo $(%D) # warning
           5          echo $(%F) # warning
           6          echo $(?D) # warning
           7          echo $(?F) # warning
           8          echo $(<D) # warning
           9          echo $(<F) # warning
          10          echo $(*D) # warning
          11          echo $(*F) # warning

      $ autoreconf -i
      Makefile.am:4: warning: %D: non-POSIX variable name
      Makefile.am:5: warning: %F: non-POSIX variable name
      Makefile.am:6: warning: ?D: non-POSIX variable name
      Makefile.am:7: warning: ?F: non-POSIX variable name
      Makefile.am:8: warning: <D: non-POSIX variable name
      Makefile.am:9: warning: <F: non-POSIX variable name
      Makefile.am:10: warning: *D: non-POSIX variable name
      Makefile.am:11: warning: *F: non-POSIX variable name

      $ autoconf --version | head -n 1
      autoconf (GNU Autoconf) 2.71

      $ automake --version | head -n 1
      automake (GNU automake) 1.16.5





reply via email to

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