Makefile 如何将所有规则添加到处理任务A(然后)——>;任务B
我有 我希望在默认情况下拥有某种Makefile 如何将所有规则添加到处理任务A(然后)——>;任务B,makefile,Makefile,我有 我希望在默认情况下拥有某种all,它将首先构建库,然后再进行todo 类似all:ctodo->todo(伪代码)如何创建?您的问题有点不清楚,但一般来说,让make执行规则的方法是将一个规则作为另一个规则的先决条件: todo: $(SRC) $(CC) -o todo $^ $(CFLAGS) ctodo: $(LIBS) $(CC) ${INCLUDES} -c -o todo.a $^ $(CFLAGS) (我使用了|,这样ctodo就不会出现在$^中)为
all
,它将首先构建库,然后再进行todo
类似all:ctodo->todo(伪代码)如何创建?您的问题有点不清楚,但一般来说,让make执行规则的方法是将一个规则作为另一个规则的先决条件:
todo: $(SRC)
$(CC) -o todo $^ $(CFLAGS)
ctodo: $(LIBS)
$(CC) ${INCLUDES} -c -o todo.a $^ $(CFLAGS)
(我使用了
|
,这样ctodo
就不会出现在$^
中)为什么要先构建库?todo
需要它吗?@Beta还没有,但将来会。出于好奇,GNU Make手册中定义了仅限订单的先决条件的
语法。
.PHONY: all
all: todo
todo: $(SRC) | ctodo
$(CC) -o todo $^ $(CFLAGS)
ctodo: $(LIBS)
$(CC) ${INCLUDES} -c -o todo.a $^ $(CFLAGS)