我是「Make」的新手。關於下面的Makefile:如何理解這個Makefile?
CXX ?= g++
CFLAGS = -Wall -Wconversion -O3 -fPIC
SHVER = 2
all: svm-train svm-predict svm-scale
lib: svm.o
$(CXX) -shared -dynamiclib svm.o -o libsvm.so.$(SHVER)
svm-predict: svm-predict.c svm.o
$(CXX) $(CFLAGS) svm-predict.c svm.o -o svm-predict -lm
svm-train: svm-train.c svm.o
$(CXX) $(CFLAGS) svm-train.c svm.o -o svm-train -lm
svm-scale: svm-scale.c
$(CXX) $(CFLAGS) svm-scale.c -o svm-scale
svm.o: svm.cpp svm.h
$(CXX) $(CFLAGS) -c svm.cpp
clean:
rm -f *~ svm.o svm-train svm-predict svm-scale libsvm.so.$(SHVER)
如何理解這個Makefile的流程?例如,「all」和「lib」在這裏做什麼?如何分析
$(CXX) -shared -dynamiclib svm.o -o libsvm.so.$(SHVER)
一些本已涵蓋在你前面的問題:HTTP:// stackoverfl ow.com/questions/5487833/questions-on-makefile-cflags-and-shver – 2011-03-30 21:10:59
嘗試閱讀教程或手冊。 – eriktous 2011-03-30 23:45:24