我正在尝试理解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.
我做错了什么?
感谢。
答案 0 :(得分:2)
不是我知道你想要实现的构建步骤,而是这两行:
default: compile
compile: $(UI_FILES) $(RESOURCE_FILES)
看起来像目标线,所以它们应该是:
default: compile
compile: $(UI_FILES) $(RESOURCE_FILES)
因为它是make可能试图将compile:...
行解释为不执行任何操作的操作而意味着没有compile
目标。
还有一件事,你可能想要使用
PHONY: default compile
告诉make这些是抽象目标并且不代表文件。这只是一个好的做法。