如何使用gnu-make从传递给用户定义函数的参数中去掉前导空格?
例如:
define FOO
# --- some build rules
# run the built target
/home/user/dir/bin/$(1)
endef下面的调用可以正常工作,因为没有前导空格:
$(eval $(call FOO,my_test ) )不幸的是,下面的代码失败了,因为$(1)有一个前导空格
$(eval $(call FOO, my_test ) )
^
Additional space to 'prettier' formatting这最终扩展到:
/home/user/dir/bin/ $(1)
^
Leading whitespace如何从传递给用户定义函数的参数中去掉前导空格?
这样做是不是不好,或者我应该简单地假设传递的参数没有前导空格?
发布于 2012-11-23 00:11:07
使用strip函数:
define FOO
# ...
/home/user/dir/bin/$(strip $(1))
endef详情请参见Text Functions。因此,为了避免到处使用strip,在向函数传递参数时最好避免逗号后的空格。
https://stackoverflow.com/questions/13516149
复制相似问题