debhelper:在所有隐式make调用中添加`prefix = / usr'

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了debhelper:在所有隐式make调用中添加`prefix = / usr'相关的知识,希望对你有一定的参考价值。

我有一个开头的Makefile

prefix      = /opt/$(PACKAGE)

并期待make prefix=/usr以防有人想要非/opt安装。没有./configure(并且真的不需要)。

这个软件包可以通过简单的方式进行消除

%:
        dh $@ 

作为debian/rules,除了由于prefix=/usr要求,人们将不得不乱丢规则

override_dh_auto_install:
        make prefix=/usr DESTDIR=debian/BUILD install

(也是dh_auto_build)。

告诉debhelper在所有prefix=调用中添加make的优雅方法是什么(最好不要触及makefile,否则有很多变通办法)?

答案

你可以这样做:

%:
    prefix=/usr dh $@

这是因为make将环境变量转换为make变量,请参阅https://www.gnu.org/software/make/manual/html_node/Environment.html

只需确保上游Makefile使用条件赋值,如:

prefix ?= /usr/local

嗨,安东尼奥

另一答案

导出MAKEFLAGS=prefix=/usr在您的规则文件中(或者那些琐碎的代码段所在的位置)执行您想要的操作吗?

以上是关于debhelper:在所有隐式make调用中添加`prefix = / usr'的主要内容,如果未能解决你的问题,请参考以下文章

make--隐式规则 路径搜索及实例

makefile--隐式规则

第15课 - make的隐式规则(上)

在所有命令上隐式调用 grc 终端着色器

makefile(06)_隐式规则

15.make的隐式规则(上)