Follow-up Comment #13, bug #59154 (project make): Yes, I said:
> when there is a subdirectory "foo" which is empty. Your subdirectory "foo" is not empty, it contains a sub-subdirectory "foo" :). Basically people use define/endef to create recipes which can span multiple lines, and they expect that to work identically to explicitly writing multiple lines in the recipe itself, including resetting the environment on each new line. I'm not saying that I think this is the best way it could be done, but that's how it works and how it has has always worked. Maybe if a different choice had been made when define was invented we would have less need for .ONESHELL. But maybe other things would be harder. In any event, for sure it will break a lot of things to change it now so it's kind of a non-starter IMO. I don't see any straightforward way to do something different: even treating environment variables specially is not a solution due to recursive makefiles and the export command. _______________________________________________________ Reply to this item at: <https://savannah.gnu.org/bugs/?59154> _______________________________________________ Message sent via Savannah https://savannah.gnu.org/