Je suis nouveau à makefiles et face à un problème avec lui. J'ai créé le makefile suivant. Cela fonctionne correctement. Mais quand je modifie le main.cpp et exécuter faire, il dit "tout est à jour". Je dois faire un faire propre et exécuter make again, tout va fonctionner.makefile ne construit pas la partie mise à jour du programme - C++
On dirait qu'il y a un problème avec ce fichier makefile et je n'arrive pas à comprendre où ça va mal. Quelqu'un peut-il m'aider à trouver où est l'erreur dans ce fichier makefile et pourquoi il ne construit pas les fichiers modifiés?
#Main makefile which does the build
CFLAGS =
CC = g++
PROG = fooexe
#each module will append the source files to here
SRC :=
#including the description
include foo/module.mk
OBJ := $(patsubst %.cpp, %.o, $(filter %.cpp,$(SRC))) main.o
#linking the program
fooexe: $(OBJ)
$(CC) -o $(PROG) $(OBJ)
%.o:
$(CC) -c $(SRC) -o $(patsubst %.cpp, %.o, $(filter %.cpp,$(SRC)))
main.o:
$(CC) -c main.cpp
depend:
makedepend -- $(CFLAGS) -- $(SRC)
.PHONY:clean
clean:
find . -name "*.o" | xargs rm -vf
rm -vf fooexe
Vous êtes l'homme. Ça a marché. J'ai oublié de donner ça. –
Remplir la commande correcte à la place du "..." est également important, si vous voulez faire uniquement reconstruire les fichiers qui ont changé. – bk1e
Le bit principal est redondant, si ... représente le même texte dans les deux cas. –