我已经编写了一个C ++程序(命令行,可移植代码),并且试图与Windows版本同时发布Linux版本。我写了一个makefile,如下所示:
y:* .cpp * .h g ++ -Wno-write-strings -oayane * .cpp
到目前为止很简单 但据我了解,通常需要执行第二步,即进行安装。因此,当我将install:目标放入makefile中时,应该将哪个命令与之关联?(如果可能的话,我希望它可以在所有Unix系统以及Linux上运行。)
比较简单的安装程序将复制一些内容到位,首先确保存在适当的路径(使用mkdir -p或类似的路径)。通常是这样的:
mkdir -p
$INSTALL_PATH/bin
$INSTALL_PATH/lib
$INSTALL_PATH/lib/yourappname
$INSTALL_PATH/share/man/man1
$INSTALL_PATH/share/yourappname
$INSTALL_PATH/etc/yourappname
$INSTALL_PATH/include/yourappname
的INSTALL_PATH是输入到构建系统,并且通常默认为/usr/local。这使您的用户可以灵活地在$ HOME下进行安装,而无需提升权限。
INSTALL_PATH
/usr/local
在最简单的情况下,只需使用
INSTALL_PATH?=/usr/local
在makefile的顶部。然后,用户可以通过在外壳程序中设置环境变量来覆盖它。
您还偶尔会看到make installs在构建清单以帮助卸载。清单甚至可以编写为脚本来完成工作。
make install
另一种方法是让a make uninstall查找所放置的事物make install,如果存在则将其删除。
make uninstall