On Wed, 2010-06-09 at 17:25 -0500, Peng Yu wrote:
> No. It doesn't work.
> $ make
> echo ./ *.txt/
> ./ x.txt/
> $ cat Makefile
> .PHONY: all
> 
> all:
>         echo $(dir (wildcard *.txt/.))

If someone tells you something works and it doesn't work for you, please
double- and triple-check your work before responding.  In programming
every single character counts.

Here, you've forgotten the "$" before the wildcard function.


Here's what I get:

        ~$ mkdir tst
        ~$ cd tst
        tst$ touch foo.txt
        tst$ mkdir bar.txt
        tst$ mkdir baz.txt
        tst$ touch blah.txt
        
        tst$ echo 'x: ; @echo "$(wildcard *.txt/.)"' | make -f-
        bar.txt/. baz.txt/.

Which appears to me to be what you were looking for.  Adding $(dir ...)
will strip off the "." but not the trailing slash (I forgot this is how
$(dir ...) is documented to work).  If you want to remove both you can
use patsubst:

        tst$ echo 'x: ; @echo "$(dir $(wildcard *.txt/.))"' | make -f-
        bar.txt/ baz.txt/
        
        tst$ echo 'x: ; @echo "$(patsubst %/.,%,$(wildcard *.txt/.))"' | make 
-f-
        bar.txt baz.txt




_______________________________________________
Help-make mailing list
[email protected]
http://lists.gnu.org/mailman/listinfo/help-make

Reply via email to