[comp.unix.questions] Problem with /usr/bin/make on a Sun

terryl@tekirl.LABS.TEK.COM (06/13/90)

     The following makefile works fine on a VAX running NFS, but does not
work on a Solbourne (a Sun clone); it never prints out: "You have new mail."


#! /usr/bin/make -f
.SILENT:
HUSH=.hushlogin
MAIL=.mail
all: $(HUSH) $(MAIL)
$(HUSH):	/etc/motd ; cat /etc/motd ; touch $(HUSH)
$(MAIL): /tmp
	-if test -s /usr/spool/mail/terryl; then \
       	echo You have new mail.; exit 0; \
	else exit 0; fi

     Some relevant debug out put from /usr/bin/make:


stat(all)
 doname(all)
@ =
  stat(.hushlogin)
  doname(.hushlogin)
@ =
   stat(/etc/motd)
   doname(/etc/motd)
    Looking for % rule for /etc/motd
    find_double_suffix_rule(/etc/motd)
    find_suffix_rule(/etc/motd,/etc/motd,)
   Date(/etc/motd)=Tue Jun 12 10:12:21 1990 Date-dependencies(.hushlogin)=File d
oes not exist
   Looking for % rule for .hushlogin
   find_double_suffix_rule(.hushlogin)
  Date(.hushlogin)=Tue Jun 12 10:25:26 1990 Date-dependencies(all)=File does n
ot exist
  Building all because it is out of date relative to .hushlogin
  stat(.mail)
  doname(.mail)
@ =
   stat(/tmp)
   doname(/tmp)
    Looking for % rule for /tmp
    find_double_suffix_rule(/tmp)
    find_suffix_rule(/tmp,/tmp,)
   Date(/tmp)=Wed Dec 31 16:00:01 1969 Date-dependencies(.mail)=File does not ex
ist
   Looking for % rule for .mail
   find_double_suffix_rule(.mail)
  Building all because it is out of date relative to .mail
  Looking for % rule for all
  find_double_suffix_rule(all)
 stat(all)
 stat(.DONE)
 doname(.DONE)
  Looking for % rule for .DONE
  find_double_suffix_rule(.DONE)


    I don't like all of the "File does not exist" messages, because they do all
exist, and the date of /tmp is VERY suspect. If someone can tell me where in
TFM this is documented (or any pointers at all), I'd really appreciate that.