如何理解makefile和python

时间:2010-09-06 10:13:49

标签: python makefile

我正在尝试理解makefile如何将一些.ui文件编译为.py(PyQt - > Python)。这是我正在使用的自动生成的makefile:

# Makefile for a PyQGIS plugin 
UI_FILES = Ui_UrbanAnalysis.py

RESOURCE_FILES = resources.py

default: compile
    compile: $(UI_FILES) $(RESOURCE_FILES)

%.py : %.qrc
    pyrcc4 -o $@  $<

%.py : %.ui
    pyuic4 -o $@ $<

当我输入:

$ make

我收到以下消息:

make: *** No rule to make target `compile', needed by `default'.  Stop.

我做错了什么?

感谢。

1 个答案:

答案 0 :(得分:2)

不是我知道你想要实现的构建步骤,而是这两行:

default: compile
    compile: $(UI_FILES) $(RESOURCE_FILES)

看起来像目标线,所以它们应该是:

default: compile

compile: $(UI_FILES) $(RESOURCE_FILES)

因为它是make可能试图将compile:...行解释为不执行任何操作的操作意味着没有compile目标。


还有一件事,你可能想要使用

PHONY: default compile

告诉make这些是抽象目标并且不代表文件。这只是一个好的做法。