我正在有效地尝试在常规 Makefile 中模拟 cmake 的
check_include_file
。
举例来说,我想检查以确保编译项目时
stdint.h
位于用户系统上,以便我可以在编译时传入-DHAVE_STDINT
之类的标志。我知道如何在编译时传递标志,我主要关心如何找到该文件。如果可以的话,在 Makefile 中执行此操作的最佳方法是什么?
我会生成一个程序,如果找不到标头,该程序将无法编译:
#include <stdint.h>
int main() {
return 0;
}
也许你的 Makefile 中还有类似的内容:
CFLAGS := -g3 `gcc -o /dev/null stdint.c > /dev/null 2>&1 && echo '-DHAVE_STDIN'`
all:
echo ${CFLAGS}