Usage of /dev/null in makefiles wrong

/usr/src/llvm/llvm$ make
  make: Warning: File `/dev/null' has modification time 4.9e+03 s
in the future
  make[1]: Entering directory `/usr/src/llvm/llvm/lib/System'
  ...

At the end of the compilation it emits something about clock skew
detected.

The time of /dev/null on my box is weird because of udev and/or
time local settings. When it's created, the init scripts didn't
have set the right locale. So in the first few hours after I
turned my box on, it's timestamp is in the future.

But hey, it's odd that /dev/null is a "make" target anyway.

When I change line 1474 in Makefile.rules from

  -include /dev/null $(DependFiles

to

  -include $(DependFiles

then this strange and weird warning vanishes.

Hi Holger,

  /usr/src/llvm/llvm$ make
  make: Warning: File `/dev/null' has modification time 4.9e+03 s
in the future
  make[1]: Entering directory `/usr/src/llvm/llvm/lib/System'
  ...

At the end of the compilation it emits something about clock skew
detected.

The time of /dev/null on my box is weird because of udev and/or
time local settings. When it's created, the init scripts didn't
have set the right locale. So in the first few hours after I
turned my box on, it's timestamp is in the future.

But hey, it's odd that /dev/null is a "make" target anyway.

Three years I've been looking at these makefiles and I never noticed
that before. Truly bizarre.

When I change line 1474 in Makefile.rules from

  -include /dev/null $(DependFiles

to

  -include $(DependFiles

Yup, works for me too. I think someone was trying to get around
$(DependFiles) being empty, but that's what the - is for !

Reid.

Holger,

I looked into it a bit. Its to prevent a message like this:

Makefile:1: no file name for `-include'

on the first build (when $(DependFiles) is empty). I changed the line
to:

-include $(DependFiles) ""

which should work because although "" is not a valid file name, the
depend files will have already been included by the time it gets to the
error, which it supresses anyway.

Reid.