Makefile错误:无所事事

时间:2016-09-06 17:35:41

标签: c++ makefile

我的proyect中有这个makefile: Please look my folders organization too

当我在make中运行/TallerMetalSlug时,我得到make: Nothing to be done for 'all'

我还运行cat -e -t -v Makefile以查看标签是否正常,我得到:

CXX = g++$
CXXFLAGS = -lpthread -pthread$
$
LIBRERIAS = socket.cpp$
$
CLIENTE = Cliente$
SERVIDOR = Servidor$
$
.PHONY: all clean$
$
all:cliente servidor$
$
cliente:$
^I$(CXX) $(CLIENTE)/$(CLIENTE).cpp $(LIBRERIAS) $(CXXFLAGS) -o (CLIENTE)$
$
servidor:$
^I$(CXX) $(SERVIDOR)/$(SERVIDOR).cpp $(LIBRERIAS) $(CXXFLAGS) -o (SERVIDOR)$
$
clean:$
^Irm -f $(CLIENTE)/$(CLIENTE) $(SERVIDOR)/$(SERVIDOR)$
$

2 个答案:

答案 0 :(得分:1)

cliente和servidor分别将输出定向到$(CLIENTE)和$(SERVIDOR)。

但是干净的目标从$(CLIENTE)/ $(CLIENTE)和$(SERVIDOR)/ $(SERVIDOR)

中删除

根据屏幕截图判断,输出应该在子文件夹中。因此,按如下方式更改客户和服务方目标

cliente:
    $(CXX) $(CLIENTE)/$(CLIENTE).cpp $(LIBRERIAS) $(CXXFLAGS) -o $(CLIENTE)/$(CLIENTE)

servidor:
    $(CXX) $(SERVIDOR)/$(SERVIDOR).cpp $(LIBRERIAS) $(CXXFLAGS) -o $(SERVIDOR)/$(SERVIDOR)

答案 1 :(得分:0)

我修复了将clienteservidor添加到.PHONY

的问题
CXX = g++
CXXFLAGS = -lpthread -pthread

LIBRERIAS = socket.cpp

CLIENTE = Cliente
SERVIDOR = Servidor

.PHONY: all clean cliente servidor

all: clean cliente servidor

cliente:
    $(CXX) $(CLIENTE)/$(CLIENTE).cpp $(CLIENTE)/$(LIBRERIAS) $(CXXFLAGS) -o $(CLIENTE)/$(CLIENTE)

servidor:
    $(CXX) $(SERVIDOR)/$(SERVIDOR).cpp $(SERVIDOR)/$(LIBRERIAS) $(CXXFLAGS) -o $(SERVIDOR)/$(SERVIDOR)

clean:
    rm -f $(CLIENTE)/$(CLIENTE) $(SERVIDOR)/$(SERVIDOR)