我想像shell
宏一样自己做点什么,你可以说$(shell command)
。
不幸的是,我还没有在网上找到关于如何做到这一点的任何内容。
这可能吗?
答案 0 :(得分:9)
在GNU中,您可以执行以下操作。想象一下,您想要从没有扩展名的简单文件名生成.h
和.cpp
文件名,以作为某些规则的来源添加。你可以写:
define h_and_cpp_sources
$(1).h $(1).cpp
endef
这将生成一个Makefile宏,其第一个参数为$(1)
,第二个为$(2)
,依此类推。然后:
target: $(call h_and_cpp_sources,file)
...
这将构建规则:
target: file.h file.cpp
答案 1 :(得分:4)
您应该尝试使用call function语法。
这不完全是你想要的,但AFAIK没有比这更精细的了。