question courte et facile, mais il me semble avoir le bloc d'un écrivain ici:Comment puis-je obtenir make pour mettre les binaires dans un endroit différent?
Supposons que j'ai un fichier de code source dans le même répertoire que le makefile que j'utilise pour construire le programme:
[email protected]:~/prog$ ls
binaries includes main.c Makefile
Comment puis-je faire pour mettre les binaires pour mon main.c
dans le dir binaries
? Ensuite, lors d'une seconde exécution, make devrait voir si le fichier binaire est à jour (et ne le recompile pas) comme d'habitude.
Ma pensée était quelque chose comme ceci:
# Makefile
.PHONY: all
SOURCES := $(wildcard *.c)
TARGETS := $(subst %.c,binaries/%.o,$(SOURCES))
all:$(TARGETS)
$(TARGETS):$(SOURCES)
./compile "$(subst .o,.c,$(@F))" -o "[email protected]"
Cela met l'erreur: 'Aucune règle pour faire la cible' main.o », nécessaire par "tous". Stop.' –
quelque chose est différent dans nos environnements parce que dans le mien le subst ne fait pas la bonne chose ... y répondre cependant est basé sur un système de travail (ne pas utiliser la sélection de source wildcard, c'est une pratique que je vais éviter) ... mal jeter un oeil cependant dans quelques heures – nhed
Voici ce qui se passe avec votre code: http://paste.ubuntu.com/656480/ –