2017-07-16 91 views
0

我有以下makefile。當我運行「製造」或「讓所有」,我得到下面的輸出:Makefile問題 - 不執行目標命令

使所有-n

protoc -I protos/ --cpp_out=protos-gen/ protos//fd.proto 
g++-4.9 -O4 -std=c++14 -g -I/usr/local/include -pthread -c -o protos-gen//fd.pb.o protos-gen//fd.pb.cc 
protoc -I protos/ --grpc_out=protos-gen/ --plugin=protoc-gen-grpc=`which grpc_cpp_plugin` protos//fd.proto 
python -m grpc_tools.protoc -I protos/ --python_out=protos-gen/ --grpc_python_out=protos-gen/ protos//fd.proto 
g++-4.9 -O4 -std=c++14 -g -I/usr/local/include -pthread -c -o protos-gen//fd.grpc.pb.o protos-gen//fd.grpc.pb.cc 

的問題是:我沒有看到執行以下行:

$(CXX) $(CXXFLAGS) $(INCLUDE) $(SOURCE_DIR)/fd_server_grpc.cpp $(DLIB_DIR)/dlib/all/source.cpp -DDLIB_JPEG_SUPPORT=1 -DDLIB_PNG_SUPPORT=1 $(LIB) -lzmq -o $(BIN_DIR)/fd_server_grpc 

我在想什麼?

======================

SOURCE_DIR = src 
BUILD_DIR = build 
BIN_DIR = bin 
DLIB_DIR = ../../3rdparty/dlib/ 

all: $(BIN_DIR)/fd_server_grpc $(BIN_DIR)/fd_client_grpc 

$(BIN_DIR)/fd_server_grpc: $(PROTOS_GEN_PATH)/fd.pb.o 
$(PROTOS_GEN_PATH)/fd.grpc.pb.o $(SOURCE_DIR)/fd_server_grpc.cpp 
$(DLIB_DIR)/dlib/all/source.cpp 
     $(CXX) $(CXXFLAGS) $(INCLUDE) $(SOURCE_DIR)/fd_server_grpc.cpp 
$(DLIB_DIR)/dlib/all/source.cpp -DDLIB_JPEG_SUPPORT=1 -DDLIB_PNG_SUPPORT=1 $(LIB) -lzmq -o $(BIN_DIR)/fd_server_grpc 

$(BIN_DIR)/fd_client_grpc: $(PROTOS_GEN_PATH)/fd.pb.o 
$(PROTOS_GEN_PATH)/fd.grpc.pb.o $(SOURCE_DIR)/fd_client_grpc.cpp 
$(DLIB_DIR)/dlib/all/source.cpp 
     $(CXX) $(CXXFLAGS) $(INCLUDE) $(SOURCE_DIR)/fd_client_grpc.cpp 
$(DLIB_DIR)/dlib/all/source.cpp -DDLIB_JPEG_SUPPORT=1 -DDLIB_PNG_SUPPORT=1 
$(LIB) -lzmq -o $(BIN_DIR)/fd_client_grpc 

.PRECIOUS $(PROTOS_GEN_PATH)/fd.grpc.pb.cc $(PROTOS_GEN_PATH)/fd.pb.cc: 

$(PROTOS_GEN_PATH)/fd.pb.o:$(PROTOS_GEN_PATH)/fd.pb.cc 
$(PROTOS_GEN_PATH)/fd.pb.cc: $(PROTOS_PATH)/fd.proto 
     $(PROTOC) -I $(PROTOS_PATH) --cpp_out=$(PROTOS_GEN_PATH) $(PROTOS_PATH)/fd.proto 

$(PROTOS_GEN_PATH)/fd.grpc.pb.o:$(PROTOS_GEN_PATH)/fd.grpc.pb.cc 
$(PROTOS_GEN_PATH)/fd.grpc.pb.cc: $(PROTOS_PATH)/fd.proto 
     $(PROTOC) -I $(PROTOS_PATH) --grpc_out=$(PROTOS_GEN_PATH) --plugin=protoc-gen-grpc=$(GRPC_CPP_PLUGIN_PATH) $(PROTOS_PATH)/fd.proto 
     python -m grpc_tools.protoc -I $(PROTOS_PATH) --python_out=$(PROTOS_GEN_PATH) --grpc_python_out=$(PROTOS_GEN_PATH) $(PROTOS_PATH)/fd.proto 

clean: 
     rm -f $(BUILD_DIR)/* $(BIN_DIR)/* $(PROTOS_GEN_PATH)/* 
+0

是否需要創建$(BIN_DIR)/ fd_server_grpc'? (即它已經存在並且是最新的?) –

+0

你的makefile非常奇怪。也許是akond編輯的結果。你可以自己編輯它嗎? –

+0

我明白了這一點。 $(CXX)行不是以tab開頭的;有8個空間。一旦我介紹標籤,它工作得很好。謝謝大家! – spartanwins

回答

0

我想通了這一點。 $(CXX)行不是以tab開頭的;有8個空間。一旦我介紹標籤,它工作得很好。謝謝大家!