J'utilise GNU make, je veux que mes fichiers sources et fichiers objets soient dans des dossiers différents. Dans un premier temps, je veux les fichiers sources à la racine de mon dossier de projet, et les fichiers objets dans un sous-dossier (disons Debug/
).faire une règle d'inférence pour les fichiers dans un dossier
La règle d'inférence serait:
.ss.obj:
echo Assembling $*.ss...
$(ASSEMBLY) $(2210_ASSEMBLY_FLAGS) $*.ss -o Debug\$*.obj
mais dans ce cas, faire des reconstructions tous les fichiers tout le temps, car il n'y a pas obj dans le dossier racine.
Existe-t-il un moyen d'inclure un dossier pour la cible dans la ligne .ss.obj
?
J'ai aussi essayé:
$(OBJS_WITH_PATH):$(SRC)
echo Assembling $<...
$(ASSEMBLY) $(ASSEMBLY_FLAGS) $< -o [email protected]
avec $(SRC)
comme une liste de toutes mes sources, $(OBJS_WITH_PATH)
construit de cette façon:
OBJS_WITH_PATH = $(patsubst %.ss,Debug\\%.obj,$(SRC))
mais qui construit une dépendance sur tous les fichiers source pour tous les fichiers d'objets .
Ce que je voudrais est de modifier la règle d'inférence que j'ai écrite en premier pour prendre des fichiers Debug/*.obj
. Ce qu'il dit maintenant est no rule to make target Debug/asdfasdf.obj
.
Grand, il a bien fonctionné. Merci! – Gauthier