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

问题描述 投票:4回答:2

我有一个开头的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,否则有很多变通办法)?

makefile debian debhelper
2个回答
1
投票

你可以这样做:

%:
    prefix=/usr dh $@

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

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

prefix ?= /usr/local

嗨,安东尼奥


0
投票

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

© www.soinside.com 2019 - 2024. All rights reserved.