Makefile汎用コンパイルダイナミックライブラリファイル


次は汎用コードです.ターゲットファイル名を変更するだけでいいです.
CXX = g++
TARGET = libtinyxml.so
#         cpp  
SOURCES :=  $(wildcard *.cpp)
OBJECTS = $(SOURCES:.cpp=.o)

$(TARGET):$(OBJECTS)
	$(CXX) -o $(TARGET) $(OBJECTS) -shared
.cpp.o:
	$(CXX) -o $@ -c $< -fPIC
clean:
	rm -rf $(OBJECTS)
	rm -f $(TARGET)

現在のディレクトリの下にあるすべてのソースファイルを検索
SOURCES :=  $(wildcard *.cpp)

コンパイルライブラリ:必須コンパイル条件:-shared
	$(CXX) -o $(TARGET) $(OBJECTS) -shared

コンパイルoファイル:依存ヘッダファイルを自動的に導く:.cpp.o:
.cpp.o:
	$(CXX) -o $@ -c $< -fPIC