[Top][All Lists]
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: $(wildcard) not expanding generated files
From: |
DervishD |
Subject: |
Re: $(wildcard) not expanding generated files |
Date: |
Tue, 21 Jan 2003 11:10:50 +0100 |
User-agent: |
Mutt/1.4i |
User-agent: |
Mutt/1.4i <http://www.mutt.org> |
Hi Johan :)
I'm writing to the bug mailinglist so anybody can read the
message, ok?, but really is for you ;)
> this seems to be by design, to overcome the fact that
>
> OBJECTS = *.o
>
> doesn't expand the list, whereas
>
> OBJECTS = $(wildcard *.o)
>
> does.
Yes, I know, it is very useful for that purpose. In fact, it is
currently avoiding me empty expansions...
> $(wildcard is expanded upon the first pass over the makefile, ie.
> when no rules have been executed yet; so your 'testfile' doesn't
> yet exist, and $(wildcard is replaced with an empty string.
In the Makefile I put, yes, this is true. In the original, the
$(wildcard) call is inside another macro that is $(call)'ed, and so I
supposed that the functions inside weren't expanded at the first pass
over the Makefile, but when $(call)'ed. It is something like:
myfunction=lots of things and $(wildcard $(1)) between them.
...
target:
$(call myfunction, with_this_parameter*)
I supposed that the $(wildcard) call was expanded at the time of
$(call). And I was wrong :((
> > Don't know if this is a bug, but anyway this doesn't work and it
> > should (IMHO). The problem is the function $(wildcard) not working
> > properly when the argument is a generated file. Let me explain it
> Define "properly" ;-)
Mmmm. "When I want it to" XDDDD
> > created file. Is this a bug or a feature?
> Feature.
I was afraid of that...
> > Will this undesired
> > behaviour (undesired by me, at least) be solved if I replace
> > $(wildcard pattern) with $(shell echo pattern)?
> No, you'd probably need 'ls', 'echo' just echoes the given
> characters, and uses no wildcard expansion AFAIK, depending on your
> shell.
Yes, you're true again. I'll do better with 'ls'.
> $(wildcard has not been designed for the use you want from it. Let
> us know what it is that you want to achieve, and we can discuss
> possible solutions.
No problem, it is not a bug, but a misuse by me. I'll try to
solve the problem using $(shell).
> HTH,
It has helped a lot, and thank you very much for the explanation,
the advice and for answering *real* soon. You saved me a bunch of
hours of work :))
Raúl Núñez de Arenas Coronado