gpt4 book ai didi

linux - gnu makefile linux 在调用 shell 时设置环境变量,这可能吗?

转载 作者:太空宇宙 更新时间:2023-11-04 09:12:14 24 4
gpt4 key购买 nike

<分区>

所以,我有一个运行良好的 makefile。我在其中设置了一个变量 LD_LIBRARY_PATH_VAL 以包含可执行文件所需的所有库的所有路径。

现在,为了方便起见,我想要一个规则来设置 LD_LIBRARY_PATH 环境变量,方法是:make set_ld_lib_path,以便我得到以下输出:

> echo $LD_LIBRARY_PATH
> (empty)
> make set_ld_lib_path
> echo $LD_LIBRARY_PATH
> path/to/lib1:path/to/lib2

这是我目前的规则:

# Set the LD_LIBRARY_PATH needed to find all dependant libs - for convinience
LD_LIBRARY_PATH_VAL := test123
.PHONY: set_ld_lib_path
set_ld_lib_path: export LD_LIBRARY_PATH := $(LD_LIBRARY_PATH_VAL)
set_ld_lib_path:
@$(ECHO) "$(COLOUR_ACT)LD_LIBRARY_PATH:$(COLOUR_RST) $$LD_LIBRARY_PATH"

注意:我放置 LD_LIBRARY_PATH_VAL := test123 这行只是为了使它成为一个完整的示例 - 所以我希望 LD_LIBRARY_PATH 的输出为 test123,但是在我真正的 makefile 中,这将打印一长串 lib 路径。

所以我已经阅读了很多设置/导出变量的方法,但我还没有找到一种方法来做我想做的事情。我认为这可能是不可能的,因为我无法更新调用 shell 的变量......但如果有可能,我会问这个问题:)

信息更新我有 gnu make 版本:

GNU Make 4.1 Built for x86_64-pc-linux-gnu Copyright (C) 1988-2014 Free Software Foundation, Inc. Licence GPLv3+: GNU GPL version 3 or later http://gnu.org/licenses/gpl.html This is free software: you are free to change and redistribute it. There is NO WARRANTY, to the extent permitted by law.

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com