2014-11-02 35 views
0

在我的makefile中,我试图将可执行文件复制到usr/local/bin中。Makefile将可执行文件安装到usr/local/bin Linux

install: sudo cp program1 usr/local/bin

我的Makefile文件和程序1,文件在文件的目录SRC所以这是行不通的。我可能需要从我的src目录的整个路径。

是否有一种通用的方法使其工作,无论我在哪里放置Makefile和可执行文件的目录?也许使用PATH变量或什么?

回答

2

usr/local/bin是一个相对路径。如果你不希望出现这种情况,使用绝对路径:

install: 
    cp whatever /usr/local/bin 

一些提示:

  • 不要在您的Makefile中使用sudo,这是不寻常的。请注意,在安装文档中,install目标必须由具有足够权限的用户运行(并且人们在需要时将执行sudo make install
  • 请查看installman install),这是指这类事情。
+0

工作完美,谢谢!感谢您的建议。 – TheEagle 2014-11-02 15:27:12

+0

更好的是,使用'$ DESTDIR'前缀变量和'install'程序,所以'安装任何$ DESTDIR/usr/local/bin' – 2014-11-02 15:38:23

相关问题