Makefile 执行make时没有规则生成目标

Makefile 执行make时没有规则生成目标,makefile,boost-python,Makefile,Boost Python,通过下面的makefile,我得到了这个答案: >> make makefile_hello_py hello_py.so make: Nothing to be done for `makefile_hello_py'. make: *** No rule to make target `hello_py.so'. Stop. 此生成文件是从中修改的 注意:hello_py.cpp文件确实存在。在每一条规则的开头,我已经检查了两次我的账单。我缺少什么?如果makefile\u

通过下面的makefile,我得到了这个答案:

>> make makefile_hello_py hello_py.so
make: Nothing to be done for `makefile_hello_py'.
make: *** No rule to make target `hello_py.so'.  Stop.
此生成文件是从中修改的


注意:hello_py.cpp文件确实存在。在每一条规则的开头,我已经检查了两次我的账单。我缺少什么?

如果
makefile\u hello\u py
是您在问题中包含其内容的makefile,那么您需要使用
-f
参数告诉make“您的命令行告诉make它是要构建的目标

试试
make-f makefile\u hello\u py hello\u py.so

# location of the Python header files

PYTHON_VERSION = 2.6
PYTHON_INCLUDE = /XXX/include/python$(PYTHON_VERSION)

# location of the Boost Python include files and library

BOOST_INC = /YYY/boost/boost_1_54_0
BOOST_LIB = /YYY/boost/boost_bin/lib

# compile mesh classes
TARGET = hello_py

hello_py.so: hello_py.o
    g++ -shared -Wl,--export-dynamic $(TARGET).o -L$(BOOST_LIB) -lboost_python-$(PYTHON_VERSION) -L/usr/lib/python$(PYTHON_VERSION)/config -lpython$(PYTHON_VERSION) -o hello_py.so

hello_py.o: hello_py.cpp
    g++ -I$(PYTHON_INCLUDE) -I$(BOOST_INC) -fPIC -c hello_py.cpp