[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: Problem Creating Directories
From: |
Bogdan |
Subject: |
Re: Problem Creating Directories |
Date: |
Tue, 9 Oct 2018 06:24:39 +0000 (UTC) |
Yes, someone on IRC explained to me how macros expand inside rules shortly
after posting that message and linking them to the mailing list archive. I
actually came up with your second solution in response to that. However, the
first one seems interesting as well. One thing I haven't mentioned is that
although I'm using GNU Make to process the makefiles, I'm limiting myself to
POSIX features and features that I expect will be eventually standardized by
POSIX. I was unable to find anything on secondary expansion on the Austin
Group's bug tracker. Since you're involved there (I've seen you discussing
numerous make-related issues), perhaps you know anything going on on this front?
Somewhat related, is there any news on pattern rules (bug 0000513)? The related
proposal on pattern substitution for macros (bug 0000519) seems to have been
worked out.
Thanks,
Bogdan
On Sunday, October 7, 2018, 4:07:52 PM GMT+3, Paul Smith <address@hidden>
wrote:
On Sun, 2018-10-07 at 09:01 -0400, Paul Smith wrote:
> $(MAKE_DIR)/$$(MODULE): ; mkdir -p $@
>
> (note the extra "$" when referencing the MODULE variable)
Actually I'm mistaken here: there's no secondary expansion for targets.
You might be able to write this as:
$(MAKE_DIR)/%.mk: $(SRC_DIR)/%.m4 | $(MAKE_DIR)/$$(MODULE)/.; m4 $< $@
$(MAKE_DIR)/%/. : ; mkdir -p $@
but I'm not sure (untested).
Another option, obviously, is to simply put the mkdir inside the recipe
(that's how I'd personally do it):
$(MAKE_DIR)/%.mk: $(SRC_DIR)/%.m4
mkdir -p $(MAKE_DIR)/$(MODULE)
m4 $< $@
It may run extra instances of mkdir but I doubt it will be noticeable.
_______________________________________________
Help-make mailing list
address@hidden
https://lists.gnu.org/mailman/listinfo/help-make