makefile - Makefile 基于环境变量的条件赋值
问题描述
我希望在我的 makefile 中有以下行为:
if the current user is "dev-builder":
CACHE_DIR=/nfs/artifacts
else
CACHE_DIR=
endif
在我的 Makefile 中,我有这样的东西:
ifeq($$USER,"dev-builder")
CACHE_DIR_FLAG="--output_base=/nfs/artifacts"
endif
mytarget:
bazel $(CACHE_DIR_FLAG) build (other args)
但是从 make 出来的命令只是bazel build (other args)
并且似乎没有捕捉到这种ifeq
情况,即使我验证了我是作为构建者帐户登录的。如果我删除条件ifeq
并只是盲目地分配CACHE_DIR_FLAG
,则该命令是所需的。任何见解将不胜感激,谢谢!
解决方案
引号ifeq
导致字符串比较失败。
ifeq($(USER),dev-builder)
commands here
endif
推荐阅读
- python - 如何使用 python 调整图像的大小和形状?
- python - IndentationError: 期望缩进块 discord.py
- image - 保存的图像的 Numpy ndarray 表示占用更多空间
- tensorflow - 在 Tensorflow 中重新训练 SavedModel
- bash - Bash 构建多个逗号分隔的列表,限制为一个更大列表中的 N 个项目
- javascript - React, Javascript - 捕获浏览器/标签关闭事件
- graphql - GraphQL 查询,具有动态字段
- python - 为什么我的 python 程序在使用调试器运行时不会抛出错误?
- python - 循环删除字典项
- javascript - 单击导航链接时运行相同的功能(vanilla JS)