因爲我對bash shell腳本非常陌生,所以我無法理解我用於編譯某些程序的Makefile。關於Makefile的bash shell
您能否在下面的源代碼中解釋'$ @'和'$ <'的含義?先謝謝你。
CC=g++
CFLAGS=-c -Wall -I /usr/local/include/boost-1_37/ -g
LDFLAGS=-L /usr/local/lib
SOURCES=cluster.cpp test.cpp
OBJECTS=$(SOURCES:.cpp=.o)
EXECUTABLE=k-means
all: $(SOURCES) $(EXECUTABLE)
$(EXECUTABLE): $(OBJECTS)
$(CC) $(LDFLAGS) $(OBJECTS) -o **[email protected]**
.cpp.o:
$(CC) $(CFLAGS) **$<** -o **[email protected]**
clean:
rm -fr *.o *~ $(EXECUTABLE)
你應該開始閱讀的手冊頁。所有內容都在這裏解釋......所以首先輸入:man make如果這樣不夠詳細,請嘗試使用信息頁。你可以猜到它:'info make' ... – arkascha
需要注意的兩件事:Makefile不是用純shell腳本編寫的,默認情況下Makefile是用'sh'而不是'bash'編寫的。 – chepner