在我的項目中,我有一個項目目錄和4個子目錄:bin,inc,obj和src。所有的源文件都在「src」中,所有的頭文件都是「inc」。Makefile:不知道如何使用變量創建一個好的生成文件
我正在嘗試make一個makefile,將所有的源代碼編譯成「obj」目錄中的相同名稱的新擴展對象,然後將它們全部鏈接到「bin」目錄中的最終project.out中。以下是我迄今爲止:
C_FILES = $(wildcard src/*.c)
OBJ_FILES = $(addprefix obj/,$(notdir $(C_FILES:.cpp=.o)))
LD_FLAGS =
CC_FLAGS = -MMD -c -Wall -lm
BINARY = bin/project.out
all: $(BINARY)
$(BINARY): $(OBJ_FILES)
gcc $(LD_FLAGS) -o [email protected] $<
OBJ_FILES = $(patsubst $(C_FILES),$(OBJ_FILES),$(SOURCES))
$(CC) $(CC_FLAGS) $< -o [email protected]
-include $(OBJ_FILES:.o=.d)
我收到「上線12人失蹤分隔符」 我是新來的makefile,那麼,什麼是我作出了錯誤?我已經嘗試了GNU makefile教程,而且我明顯錯過了一些東西。
僅供參考:您是否已經看過[CMake](http://www.cmake.org/cmake/help/cmake_tutorial.html)?它可以大大簡化Makefiles的創建,即組織您的項目結構。 – yegorich