Si j'ai un makefile qui appelle un autre makefile, comment obtenir le makefile maître pour vérifier correctement si les dépendances du makefile subordonné ont changé?Comment vérifier les dépendances lors de l'invocation d'une sous-marque à générer en cas de modifications?
Par exemple, si je la règle
server:
@cd $(SERVERDIR) && $(MAKE)
qui invoque faire dans le sous-répertoire dans lequel je construis un exécutable « serveur ». Cependant, si je change l'un des fichiers qui composent le serveur, le parent make ne voit pas les changements et refuse de reconstruire le serveur - "make:` server 'est à jour. "
Comment puis-je obtenir le makefile maître pour détecter correctement quand il y a un changement dans l'un des fichiers dépendants (quelque chose comme $ (SERVERDIR) de /server.c, par exemple?
Ce serait normalement une bonne solution, mais je ne veux pas * toujours * reconstruire la cible, je veux qu'elle se comporte comme une cible normale non-récursive et ne construise que lorsque quelque chose a changé. – Zxaos
C'est la responsabilité de votre sous-fichier Makefile. –
Ce que Randy a dit. Puisque votre cible de serveur n'a pas de dépendances, elle ne sait pas "quelque chose a changé". Sinon, quel est le point d'avoir le fichier submake? – mbyrne215