I was building redis for the first time today and noticed that 'make install' was giving the following message:
➜ redis-2.6.0-rc2 sudo make install
make: `install' is up to date.
And yet, redis was most definitely not installed.
I fixed the issue by deleting the 'INSTALL' file, which simply contains some prose instructing the reader to look at README. I have never seen this issue with other builds on my system, so I'm stumped as to why actually it was happening - I thought I knew 'enough' of GNU Make already but I guess not! However I think this might, maybe, just possibly be a bug with Redis under certain OSes and/or make versions. Apologies if it is not.
Here is the output of make -version:
➜ redis-2.6.0-rc2 make -version
GNU Make 3.81
Copyright (C) 2006 Free Software Foundation, Inc.
This is free software; see the source for copying conditions.
There is NO warranty; not even for MERCHANTABILITY or FITNESS FOR A
This program built for i386-apple-darwin11.3.0
I am running OS X 10.7.3, with whatever the most recent version of XCode command-line utilities is (I can never keep track).
Thanks! This is indeed pretty silly, but luckily only happens on OSX. It is the only (widely used) OS that I know of which has a case-insensitive file system. We'll need to declare the install target in the root Makefile as being a phony target, similar to other phony targets in our code base.
No problem. I'm normally quite happy with OSX but I have to say this has me very concerned and embarrassed for my platform of choice.
Anyway, thanks for the insight!
Fix `install` target on OSX (see #495)