bug-make
[Top][All Lists]
Advanced

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

[bug #55719] Variables containing hyphens are not exported


From: Masahiro Yamada
Subject: [bug #55719] Variables containing hyphens are not exported
Date: Sat, 16 Feb 2019 04:29:03 -0500 (EST)
User-agent: Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Ubuntu Chromium/71.0.3578.98 Chrome/71.0.3578.98 Safari/537.36

URL:
  <https://savannah.gnu.org/bugs/?55719>

                 Summary: Variables containing hyphens are not exported
                 Project: make
            Submitted by: masahiroy
            Submitted on: Sat 16 Feb 2019 09:29:01 AM UTC
                Severity: 3 - Normal
              Item Group: Bug
                  Status: None
                 Privacy: Public
             Assigned to: None
             Open/Closed: Open
         Discussion Lock: Any
       Component Version: None
        Operating System: Any
           Fixed Release: None
           Triage Status: None

    _______________________________________________________

Details:

Shell cannot cope with variable names consisting of characters
other than letters, numbers, and underscores.

Make allows more characters in variable names,
such as a hyphen.

The variables are exported to sub-make
by using the 'export' directive.

For example, 'export foo-bar'
will export the variable 'foo-bar' to sub-make.

However, it does not work under some circumstances.

I attached two test-cases.


Makefile1 exports 'foo-bar' to sub-make.

If you run Makefile2 on Ubuntu, where /bin/sh is a
symlink to dash, 'foo-bar' is not exported to sub-make.


$ make -f Makefile1
make sub_make=1
foo-bar: 1
foo_bar: 2
$ make -f Makefile2
make sub_make=~
foo-bar:
foo_bar: 2


I think this difference comes from
the reluctance of spawning a sub-shell.


In Makefile1, Make will directly execute
'$(MAKE) sub_make=1' without spawning a sub-shell.

In Makefile2, Make will execute 
'$(MAKE) sub_make=~' in a sub-shell since '~' is a shell special character.




    _______________________________________________________

File Attachments:


-------------------------------------------------------
Date: Sat 16 Feb 2019 09:29:01 AM UTC  Name: Makefile1  Size: 213B   By:
masahiroy

<http://savannah.gnu.org/bugs/download.php?file_id=46276>
-------------------------------------------------------
Date: Sat 16 Feb 2019 09:29:01 AM UTC  Name: Makefile2  Size: 213B   By:
masahiroy

<http://savannah.gnu.org/bugs/download.php?file_id=46277>

    _______________________________________________________

Reply to this item at:

  <https://savannah.gnu.org/bugs/?55719>

_______________________________________________
  Message sent via Savannah
  https://savannah.gnu.org/




reply via email to

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