当前位置:  开发笔记 > 运维 > 正文

Linux/Unix'make install'应包含哪些内容?

如何解决《Linux/Unix'makeinstall'应包含哪些内容?》经验,为你挑选了1个好方法。

我编写了一个C++程序(命令行,可移植代码),我试图在Windows版本的同时发布Linux版本.我写了一个makefile如下:

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

到目前为止已经足够直截了当; 但是我理解通常采取第二步安装make.所以当我把make:target放在makefile中时......应该将什么命令与它相关联?(如果可能的话,我更喜欢它适用于所有Unix系统以及Linux.)



1> dmckee..:

安装

一个不那么简单的安装程序会将几个东西复制到位,首先确保存在适当的路径(使用mkdir -p或类似).通常是这样的:

可执行文件进入 $INSTALL_PATH/bin

任何为外部消费而建的图书馆都会进入$INSTALL_PATH/lib$INSTALL_PATH/lib/yourappname

$INSTALL_PATH/share/man/man1如果合适,man页面会进入,可能还有其他部分

其他文档进入 $INSTALL_PATH/share/yourappname

默认配置文件进入 $INSTALL_PATH/etc/yourappname

其他链接的标题进入 $INSTALL_PATH/include/yourappname

安装路径

INSTALL_PATH是构建系统的输入,通常默认为/usr/local.这使您的用户可以灵活地在$ HOME下安装而无需提升权限.

在最简单的情况下使用

INSTALL_PATH?=/usr/local

在makefile的顶部.然后,用户可以通过在shell中设置环境变量来覆盖它.

卸载

您偶尔也会看到make install构建清单以帮助卸载的s.清单甚至可以写成脚本来完成工作.

另一种方法就是有一个make uninstall查找事物make install位置的方法,如果它们存在则删除它们.


"make install"应该是唯一需要root权限的步骤,这一点也很重要.
一个(不太受尊重的约定)是使用DESTDIR作为登台目录的名称,并安装在$(DESTDIR)$(前缀)中,其中在配置期间定义了前缀,并且在make运行时设置了DESTDIR(通常是空).
推荐阅读
帆侮听我悄悄说星星
这个屌丝很懒,什么也没留下!
DevBox开发工具箱 | 专业的在线开发工具网站    京公网安备 11010802040832号  |  京ICP备19059560号-6
Copyright © 1998 - 2020 DevBox.CN. All Rights Reserved devBox.cn 开发工具箱 版权所有