1

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

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

foo1.c
bar.c
foobar.c

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

4

1 回答 1

1

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

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

%: %.c
    $(CC) $(LDFLAGS) $(CFLAGS) $(DEFINES) $< -o $@
于 2013-05-20T07:17:54.363 回答