我正在尝试制作一个将 .cpp 和 .swg 文件作为输入并使用 SWIG 创建一个 .so 文件的模块。问题是,我对 makefile 了解不多,而且我不太确定自己做错了什么。这是我的生成文件:
CXX = g++
SWIG = swig
SWIGFLAGS = -c++ -python
CXXFLAGS = -c -fpic -Wall #for debugging purposes
LDFLAGS = -shared
file_processor.so: %*.o
$(CXX) $(LDFLAGS) $^
%.o: %.cxx %.cpp
$(CXX) $(CXXFLAGS) $? -o $@
%.cxx: %.swg
$(SWIG) $(SWIGFLAGS) $<
当我运行它时,make 说:
make: *** No rule to make target `%*.o', needed by `file_processor.so'. Stop.
我到底做错了什么?谁能建议一种更好的方法来完成我想做的事情?