小编use*_*595的帖子

Makefile编译两次不同的define

我正在尝试使用相同的源构建两个二进制文件,只是使用不同的定义.基本上我现在正在做的是:

OBJ     =       $(SRC:.cpp=.o)

CPPFLAGS_S =    $(INC) -Wall -Wextra -O3 -g -D SERVER
CPPFLAGS_C =    $(INC) -Wall -Wextra -O3 -g -D CLIENT

server: CPPFLAGS= $(CPPFLAGS_S)
client: CPPFLAGS= $(CPPFLAGS_C)

server: $(OBJ)
    g++ $(OBJ) -o $(NAME_S) $(CPPFLAGS_S) $(LIB)

client: $(OBJ)
    g++ $(OBJ) -o $(NAME_C) $(CPPFLAGS_C) $(LIB)

all: server client
Run Code Online (Sandbox Code Playgroud)

显然它不起作用.它正在做的是使用SERVER定义编译所有内容,并且由于.o文件已经存在,它们将再次用于创建客户端二进制文件,仍然使用SERVER定义.我可以使用一些帮助.

c makefile

1
推荐指数
1
解决办法
1147
查看次数

标签 统计

c ×1

makefile ×1