gpt4 book ai didi

c++ - 我能否在 makefile 中为 CC、CFLAGS 使用其他名称,或者它们被硬连接到 GNU make 中?

转载 作者:搜寻专家 更新时间:2023-10-31 00:36:44 25 4
gpt4 key购买 nike

CC=g++
CFLAGS=-c -Wall
LDFLAGS=
SOURCES=main.cpp hello.cpp factorial.cpp
OBJECTS=$(SOURCES:.cpp=.o)
EXECUTABLE=hello

all: $(SOURCES) $(EXECUTABLE)

我可以使用 COMPILER 代替 CC,或者使用 OBJ 代替 OBJECTS 吗? make 工具会识别它们吗?这对我来说只是纯粹的约定吗?

最佳答案

内置规则使用诸如 ${CC}(或 $(CC)——符号是等效的)之类的名称。如果您选择使用不同的宏名称,则必须覆盖/重写规则才能使用您的名称:

%: %.c
${COMPILER} -o $@ ${OBJ} ...

如果你是明确的,就不会有问题:

hello: ${OBJS}
${COMPILER} -o $@ ${OBJS}

但是请注意,使用替代名称可能会使人们更难理解您的 makefile。 Makefile 可能会变得很复杂;降低其复杂性的一种方法是遵循正常的约定。我不特别建议按照您的建议去做,但可以做到。

关于c++ - 我能否在 makefile 中为 CC、CFLAGS 使用其他名称,或者它们被硬连接到 GNU make 中?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/21154851/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com