On Thu, Oct 9, 2008 at 9:59 PM, Alon Bar-Lev <[EMAIL PROTECTED]> wrote:
> If you enter a rule:
> xxx/*:
>
> Then xxx/* does not exist, right?

xxx/* is a valid filename (a file with a star as its name). So make
will try to generate this file and execute the associated rules.

I created a small Makefile to demonstrate the problem I solved with the patch:

man.out/*: foo
    mkdir man.tmp
    touch man.tmp/a
    mv man.tmp man.out

foo:

clean:
    rm -rf man.tmp man.out



Here is an execution trace:
$ make clean
$ make
mkdir man.tmp
touch man.tmp/a
mv man.tmp man.out
$ find
.
./man.out
./man.out/a
./Makefile
$ make
mkdir man.tmp
touch man.tmp/a
mv man.tmp man.out
$ find
.
./man.out
./man.out/man.tmp
./man.out/man.tmp/a
./man.out/a
./Makefile
$ make
mkdir man.tmp
mkdir: cannot create directory `man.tmp': File exists
make: *** [man.out/a] Error 1

Do you see the problem?

-- 
 Dr. Ludovic Rousseau
_______________________________________________
opensc-devel mailing list
opensc-devel@lists.opensc-project.org
http://www.opensc-project.org/mailman/listinfo/opensc-devel

Reply via email to