我的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)$
$
答案 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)
我修复了将cliente
和servidor
添加到.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)