繁体   English   中英

Makefile中的相应依赖项和目标列表

[英]Corresponding dependency and target lists in Makefile

在一个makefile中,假设我有两个对应的依赖项和目标列表,如下所示:

SRC = x.c y.c z.c
OBJS = x.o y.o z.o

当然,我的示例比这更复杂,但是我想知道是否有可能分别根据xc,yc和zc自动创建目标xo,yo,zo,如下所示:

x.o: x.c
y.o: y.c
z.o: z.c

您可以使用替代引用

OBJS = $(SRC:.c=.o)

patsubst

OBJS = $(patsubst %.c,%.o,$(SRC))

我认为问题是如何为每个目标创建规则,而不是如何从SRC创建OBJS (尽管这样做很好!)。

最简单的方法是在已经知道如何执行的make中使用内置规则。 您不需要自己编写。 只需使用:

all: $(OBJS)

它们都将被创建。 您可以通过设置CC变量,通过设置CPPFLAGS变量的预处理器标志以及通过设置CFLAGS变量的其他编译器标志来控制编译器。

如果您确实想编写自己的规则,那么模式规则将为您轻松做到这一点:

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

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM