使文件指向目录中的所有C文件
我想使用pkg config进行一些共享库设置,在目录中编译任何“.c”文件时将应用这些设置。如何访问make规则中的文件名 例如,如果这些是目录中的文件使文件指向目录中的所有C文件,c,makefile,C,Makefile,我想使用pkg config进行一些共享库设置,在目录中编译任何“.c”文件时将应用这些设置。如何访问make规则中的文件名 例如,如果这些是目录中的文件 foo1.c bar.c foobar.c 如果我运行make foobar,我希望使用pkg config中的选项生成一个对象文件foobar,并链接到共享库。我不想为每个文件显式地编写规则,它应该能够为任何“.c/.h”文件编写规则。我认为这在make中是可能的,但我不确定语法。如果该目录中的任何C文件不依赖于其他文件,您可以编写这样的
foo1.c
bar.c
foobar.c
如果我运行
make foobar
,我希望使用pkg config中的选项生成一个对象文件foobar
,并链接到共享库。我不想为每个文件显式地编写规则,它应该能够为任何“.c/.h”文件编写规则。我认为这在make中是可能的,但我不确定语法。如果该目录中的任何C文件不依赖于其他文件,您可以编写这样的makefile:
CC = gcc
LDFLAGS = -l...
DEFINES = -D...
CFLAGS = -Wall -Werror ...
%: %.c
$(CC) $(LDFLAGS) $(CFLAGS) $(DEFINES) $< -o $@
CC=gcc
LDFLAGS=-l。。。
定义=-D。。。
CFLAGS=-Wall-Werror。。。
%:%c
$(CC)$(LDFLAGS)$(CFLAGS)$(定义)$<-o$@
如果该目录中的任何C文件不依赖于其他文件,您可以编写这样的生成文件:
CC = gcc
LDFLAGS = -l...
DEFINES = -D...
CFLAGS = -Wall -Werror ...
%: %.c
$(CC) $(LDFLAGS) $(CFLAGS) $(DEFINES) $< -o $@
CC=gcc
LDFLAGS=-l。。。
定义=-D。。。
CFLAGS=-Wall-Werror。。。
%:%c
$(CC)$(LDFLAGS)$(CFLAGS)$(定义)$<-o$@
谢谢,它可以工作,但是通配符“$$谢谢,它可以工作,但是通配符“$$