通过makefile检查.h是否存在

问题描述 投票:0回答:1

我正在有效地尝试在常规 Makefile 中模拟 cmake 的

check_include_file

举例来说,我想检查以确保编译项目时

stdint.h
位于用户系统上,以便我可以在编译时传入
-DHAVE_STDINT
之类的标志。我知道如何在编译时传递标志,我主要关心如何找到该文件。如果可以的话,在 Makefile 中执行此操作的最佳方法是什么?

c makefile
1个回答
0
投票

我会生成一个程序,如果找不到标头,该程序将无法编译:

#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}
© www.soinside.com 2019 - 2024. All rights reserved.