如何使用GCC的I-flag包含多个文件夹?

时间:2017-06-26 06:37:29

标签: gcc makefile include include-path

通常我使用GCC的I-flag以这种方式包含文件夹:

gcc main.c -IfolderA -IfolderB

我需要重组我的makefiels结构,我正在考虑建立一个环境变量,定义如下:

INCLUDES="folderA folderB"

我如何使用GCC的I-flag包含两个文件夹?

我想到了一些东西(但它不起作用),就像这样:

gcc main.c -I($(INCLUDES))

2 个答案:

答案 0 :(得分:2)

您需要将-I标记添加到INCLUDES变量的所有“元素”中。也许通过这样的事情:

gcc main.c $(foreach dir,$(INCLUDES),-I$(dir))

The foreach function

答案 1 :(得分:1)

你也可以使用python support - 虽然它是专为文件名设计的,但它仍然可以在这里使用:

gcc main.c $(addprefix -I,$(INCLUDES))