J'essaie de comprendre comment fonctionne un makefile pour compiler certains fichiers .ui en .py (PyQt -> Python). Ceci est le makefile que je me sers qui a été généré automatiquement:Comment comprendre les fichiers makefiles et python
# 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 [email protected] $<
%.py : %.ui
pyuic4 -o [email protected] $<
Quand je tape:
$ make
Je reçois le message suivant:
make: *** No rule to make target `compile', needed by `default'. Stop.
Qu'est-ce que je fais mal?
Merci.
Oui! L'OP doit faire très attention aux espaces dans les fichiers makefiles - pour certaines versions de make, même un onglet sur la ligne en dessous d'une ligne cible peut causer des problèmes. –
Merci - cela a résolu le problème. Qu'entendez-vous par «cibles abstraites»? Je commence juste à comprendre comment fonctionnent les fichiers makefile donc je ne suis pas familier avec la terminologie – djq
@celenius: Considérez 'make clean'. Il n'y a pas de fichier appelé "clean" et pas d'attente qu'il y en aura un. C'est une cible abstraite. Comparez cela avec 'make resources.py', dans lequel make vérifiera si le * fichier *" resources.py "existe est plus récent que toutes ses dépendances et si ce n'est pas le cas, essayez de (re) créer ce * fichier *. – dmckee