一尘不染

Linux / Unix的“ make install”应该包括什么?

linux

我已经编写了一个C ++程序(命令行,可移植代码),并且试图与Windows版本同时发布Linux版本。我写了一个makefile,如下所示:

y:* .cpp * .h
    g ++ -Wno-write-strings -oayane * .cpp

到目前为止很简单
但据我了解,通常需要执行第二步,即进行安装。因此,当我将install:目标放入makefile中时,应该将哪个命令与之关联?(如果可能的话,我希望它可以在所有Unix系统以及Linux上运行。)


阅读 229

收藏
2020-06-03

共1个答案

一尘不染

安装

比较简单的安装程序将复制一些内容到位,首先确保存在适当的路径(使用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

在makefile的顶部。然后,用户可以通过在外壳程序中设置环境变量来覆盖它。

解除安装

您还偶尔会看到make installs在构建清单以帮助卸载。清单甚至可以编写为脚本来完成工作。

另一种方法是让a make uninstall查找所放置的事物make install,如果存在则将其删除。

2020-06-03