Makefile头包括

时间:2017-02-25 15:50:08

标签: c gcc makefile

我正在为旧项目开发一个Makefile。新的Makefile基于我在其他项目中成功使用的较旧的Makefile,但现在我面临一个奇怪的问题。

我的项目有以下形式:

├── Makefile
└── src
    ├── folder1
    │   ├── somefiles.c
    │   └── somefiles.h
    ├── folder2
    │   ├── problematic.h
    │   ├── somefiles.c
    │   ├── somefiles.h
    │   └── subdir
    │       └── included_file.h
    └── folder3
        ├── somefiles.c
        └── somefiles.h

我的Makefile有以下一行:

LIBRARY_INC_PATHS     = $(addprefix -I, $(shell find . -name '*.h' -printf '"%h"\n' | sort -u))

在档案problematic.h中有以下行:

#include "subdir/included_file.h"

哪个会引起麻烦。 GCC说没有这样的文件或目录。

如果我将其更改为:

#include "included_file.h"

问题消失了,但在我的情况下这不是一个可接受的解决方案。

我应该对makefile进行哪些修改,以便我可以使用相对路径来包含我的C代码中的文件,而不仅仅是他们的名字?

0 个答案:

没有答案