使文件定位目录中的所有C文件

时间:2013-05-20 07:12:20

标签: c makefile

我想使用pkg-config进行一些共享库设置,这些设置将在目录中编译任何“.c”文件时应用。如何在make规则中访问文件名?

例如,如果这些是目录中的文件

foo1.c
bar.c
foobar.c

如果我运行make foobar,我希望使用pkg-config中的选项生成并链接到共享库的目标文件foobar。我不想为每个文件显式编写规则,它应该能够为任何“.c / .h”文件执行此操作。我认为这在make中是可行的,但我不确定语法。

1 个答案:

答案 0 :(得分:1)

如果该目录中的任何C文件不依赖于其他文件,您可以编写这样的makefile:

CC = gcc
LDFLAGS = -l...
DEFINES = -D...
CFLAGS = -Wall -Werror ...

%: %.c
    $(CC) $(LDFLAGS) $(CFLAGS) $(DEFINES) $< -o $@