从 Makefile 生成 pkg-config

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

对于一个历史上使用 make 的项目,我现在想生成一个 pkg-config 文件。但是我似乎无法阻止变量的替换

mylib.pc:
    echo 'prefix='$(PREFIX) > bzip2.pc
    echo "exec_prefix=\${prefix}" >> mylib.pc
    echo 'libdir=\${prefix}/lib'  >> mylib.pc

install: mylib.pc

之后我有一个带有扩展变量的

mylib.pc
,这不是我想要的。 那么如何从 Makefile 生成 pkg-config 或者如何防止变量替换?

makefile pkg-config
2个回答
3
投票

这会产生我认为你想要的:

mylib.pc:
    echo 'prefix='$(PREFIX)                                                    
    echo 'exec_prefix=$${prefix}' >> mylib.pc
    echo 'libdir=$${prefix}/lib' >> mylib.pc

0
投票

您可以使用

define
定义变量,同时保留新行,并使用
file
写入文件。

define PKG_CONFIG_TEMPLATE
prefix=$(PREFIX)
exec_prefix=$${prefix}
includedir=$${prefix}/include
libdir=$${exec_prefix}/lib

Name: MyLib
Description: MyLib description
Version: 1.0
Cflags: -I$${includedir}
Libs: -L$${libdir}
endef

mylib.pc:
    $(file > $@,$(PKG_CONFIG_TEMPLATE))
© www.soinside.com 2019 - 2024. All rights reserved.