如何在目标Makefile中设置多个变量

用户3991417

我有一个问题。我不能根据目标设置多个变量。我需要设置两个变量,例如,如果makefile已使用选项cpp(目标)运行,则应设置两个变量,但是我只设置了一个变量(CC)。但是另一个保留为默认值。

cpp:EXTENSION=cpp
cpp:CC=g++
cpp:COMPILE

请协助解决这个问题。

假人00001

我不能根据目标设置多个变量。

GNU Make中,这通常是通过分析$(MAKECMDGOALS)变量的内容,然后根据指定的目标设置变量来实现的。

例如,一个Makefile:

ifeq ($(filter cpp,$(MAKECMDGOALS)),cpp)
MSG=make cpp was called!
endif

ifeq ($(filter notcpp,$(MAKECMDGOALS)),notcpp)
MSG=make notcpp was called!
endif

all:
        @echo possible targets: cpp, notcpp; false

notcpp cpp:
        @echo $(MSG)

运行make cpp将打印make cpp was called!

运行make notcpp将打印make notcpp was called!

ifeq ($(filter cpp,$(MAKECMDGOALS)),cpp)构造的说明。该$(filter)函数cpp在列表(第二个参数,$(MAKECMDGOALS))中查找单词(第一个参数,)。如果找到该单词,则将其返回。否则,将返回一个空字符串。ifeq然后将比较结果所需$(filter)字词功能:如果相等,则将endif解析/执行块til ;或者,可以编写代码ifneq ($(filter cpp,$(MAKECMDGOALS)),)以测试的结果$(filter)是否不是空字符串。有关更多信息,请参见$(filter)ifeq在GNU Make文档中。通用函数语法以及如何调用自定义函数。)

另一种可能是使用多个Makefile。在主Makefile中,根据目标,将控件传递给特定于目标的Makefile,例如:

cpp notcpp:
    $(MAKE) -f Makefile.$@ all

使用特定于目标的包含也是一种流行的选择。

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

Makefile在目标中设置变量

来自分类Dev

如何在Makefile中设置目标以调用2个目标

来自分类Dev

如何在GNU Makefile目标中默认环境变量

来自分类Dev

Makefile-如何在创建其他目标的目标中定义变量?

来自分类Dev

如何在Makefile中设置环境变量以运行测试?

来自分类Dev

如何在CMake生成的makefile中设置SHELL变量?

来自分类Dev

如何在makefile中设置环境变量?

来自分类Dev

有多个目标时,如何在Makefile规则中的字符串中添加后缀?

来自分类Dev

如何在T-SQL中设置多个变量的值?

来自分类Dev

如何在 riot 组件中设置多个类变量

来自分类Dev

如何在 VisualSVNServer 中为提交后通知设置多个电子邮件目标?

来自分类Dev

如何在Makefile中设置pipefail

来自分类Dev

如何在Makefile中设置长选项

来自分类Dev

如何在makefile中设置compilingflags?

来自分类Dev

如何在Makefile中设置长选项

来自分类Dev

如何在Makefile中引入变量

来自分类Dev

如何在Makefile中修补多个路径?

来自分类Dev

如何在makefile中为目标编写特定规则?

来自分类Dev

这些目标文件是如何在 Makefile 中编译的?

来自分类Dev

如何在目标外部的makefile中打印文本?

来自分类Dev

GNU Make-从规则/目标中的shell命令输出中设置MAKEFILE变量

来自分类Dev

来自Makefile中变量的目标依赖项

来自分类Dev

在Makefile目标中的命令内分配变量

来自分类Dev

如何在目标平台JAR中的Eclipse中设置断点?

来自分类Dev

Makefile:如何在目标之前将环境变量导出到shell?

来自分类Dev

如何在Ansible中设置多个ansible_python_interpreter变量

来自分类Dev

如何在Makefile中的$(shell)命令中获取变量?

来自分类Dev

如何在iOS中为MGSwipeButton设置目标

来自分类Dev

如何在Visual Studio 2013中设置“目标框架”?

Related 相关文章

  1. 1

    Makefile在目标中设置变量

  2. 2

    如何在Makefile中设置目标以调用2个目标

  3. 3

    如何在GNU Makefile目标中默认环境变量

  4. 4

    Makefile-如何在创建其他目标的目标中定义变量?

  5. 5

    如何在Makefile中设置环境变量以运行测试?

  6. 6

    如何在CMake生成的makefile中设置SHELL变量?

  7. 7

    如何在makefile中设置环境变量?

  8. 8

    有多个目标时,如何在Makefile规则中的字符串中添加后缀?

  9. 9

    如何在T-SQL中设置多个变量的值?

  10. 10

    如何在 riot 组件中设置多个类变量

  11. 11

    如何在 VisualSVNServer 中为提交后通知设置多个电子邮件目标?

  12. 12

    如何在Makefile中设置pipefail

  13. 13

    如何在Makefile中设置长选项

  14. 14

    如何在makefile中设置compilingflags?

  15. 15

    如何在Makefile中设置长选项

  16. 16

    如何在Makefile中引入变量

  17. 17

    如何在Makefile中修补多个路径?

  18. 18

    如何在makefile中为目标编写特定规则?

  19. 19

    这些目标文件是如何在 Makefile 中编译的?

  20. 20

    如何在目标外部的makefile中打印文本?

  21. 21

    GNU Make-从规则/目标中的shell命令输出中设置MAKEFILE变量

  22. 22

    来自Makefile中变量的目标依赖项

  23. 23

    在Makefile目标中的命令内分配变量

  24. 24

    如何在目标平台JAR中的Eclipse中设置断点?

  25. 25

    Makefile:如何在目标之前将环境变量导出到shell?

  26. 26

    如何在Ansible中设置多个ansible_python_interpreter变量

  27. 27

    如何在Makefile中的$(shell)命令中获取变量?

  28. 28

    如何在iOS中为MGSwipeButton设置目标

  29. 29

    如何在Visual Studio 2013中设置“目标框架”?

热门标签

归档