Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

"No rule to make target 'install'"... But Makefile exists

Tags:

c++

makefile

I am running into issues installing a C++ library. The CMake command is successful and generates the Makefile, but it gives a warning:

CMake Warning (dev) at CMakeLists.txt:27 (LINK_DIRECTORIES):
This command specifies the relative path

../usr/local/lib

as a link directory.

Policy CMP0015 is not set: link_directories() treats paths relative to the
source dir.  Run "cmake --help-policy CMP0015" for policy details.  Use the
cmake_policy command to set the policy and suppress this warning.
This warning is for project developers.  Use -Wno-dev to suppress it.

Line 27 in CMakeLists.txt is

Boost_LIBRARY_DIR_DEBUG:PATH=/usr/local/lib

I don't see why this warning would cause me any issues. But when I run make install, I get an error:

make: *** No rule to make target `install'.  Stop.

Any ideas?

like image 605
Sean Avatar asked Feb 27 '16 16:02

Sean


3 Answers

Could you provide a whole makefile? But right now I can tell - you should check that "install" target already exists. So, check Makefile whether it contains a

install: (anything there)

line. If not, there is no such target and so make has right. Probably you should use just "make" command to compile and then use it as is or install yourself, manually.

Install is not any standard of make, it is just a common target, that could exists, but not necessary.

like image 129
Tomir Rogi Szawok Avatar answered Oct 18 '22 23:10

Tomir Rogi Szawok


I was receiving the same error message, and my issue was that I was not in the correct directory when running the command make install. When I changed to the directory that had my makefile it worked.

So possibly you aren't in the right directory.

like image 32
Jamie Avatar answered Oct 19 '22 01:10

Jamie


I also came across the same error. Here is the fix: If you are using Cmake-GUI:

  1. Clean the cache of the loaded libraries in Cmake-GUI File menu.
  2. Configure the libraries.
  3. Generate the Unix file.

If you missed the 3rd step:

*** No rule to make target `install'. Stop.

error will occur.

like image 2
FutureJJ Avatar answered Oct 19 '22 01:10

FutureJJ