The following two-line Makefile contains a spurious TAB character:

foo.o:  foo.h
        

as shown by "cat -vet":

foo.o:^Ifoo.h$
^I$

If you create foo.c foo.h and type "make foo.o" using this Makefile,
you will get the message:

make: `foo.o' is up to date.

This behavior seems plain wrong.  How can a nonexistent file be up to
date?  Sun's version of make will attempt to compile foo.c, which is
arguably either correct or incorrect behavior.  I can think of three
defensible behaviors for make:

(1) Complain about having a null command,
(2) "Run" the null command in some fashion, such as printing a blank line, or
(3) Ignore the null command completely, as Sun's make does.

You get to pick. :-)
-- 
    Geoff Kuenning   [EMAIL PROTECTED]   http://www.cs.hmc.edu/~geoff/

The DMCA criminalizes curiosity.  It would put Susie in jail for
taking her stereo apart to see how it works.

_______________________________________________
Bug-make mailing list
[EMAIL PROTECTED]
http://mail.gnu.org/mailman/listinfo/bug-make

Reply via email to