I have installed mingw-gcc: GNU Compiler Collection using the setup of Cygwin. When running "make install" command :

$ make install

And I get this message :

make: `install' is up to date.

What might be the reasons? And how can I fix this?



Windows determines which files are executable by their extension. Native executables must have the extension .exe. Cygwin contains some magic so that when you refer to a file install and there is no file by that name, it tries install.exe. It does this even in contexts that aren't about executing because when a program is looking up the metadata of a file, the library has no way to know whether the program intends to execute it later.

So if there is a file called install.exe in the current directory, make sees it and thinks that it is the target of the install rule. If install.exe is more recent than the prerequisites of the install rule, make determines (correctly from its point of view) that there is nothing to do.

You can add the line .PHONY: install to the makefile. That tells make that the install target is not a real file, and make will ignore any file by that name.

Alternatively, rename or move install.exe out of the way.

  • This applies too if there's no extension. Just happened to me with the INSTALL text file. Renamed and all good :) – eballes Jul 21 '17 at 15:06

Usually this means that you already did make install and it doesn't need to do it again.

If you think you really should redo the build then try this:

make clean
make install

WARNING: That would be the conventional way to do it, but the author of your project may have had other ideas.

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Not the answer you're looking for? Browse other questions tagged or ask your own question.