J'ai un modèle makefile pour compiler une seule DLL (pour un système de plugin). Le makefile de l'utilisateur ressemble à ceci:Comment vérifier si un fichier existe dans un fichier makefile
EXTRA_SRCS=file1 file2
include makefile.in
Dans le makefile.in
je:
plugin.dll: plugin.os $(patsubst %,%.os,$(EXTRA_SRCS))
Où plugin.os
est le principal fichier C++ à compiler. BTW, les fichiers se terminant est .os
sont les fichiers objets compilés pour la bibliothèque partagée (à savoir en utilisant l'option -fpic
avec gcc
)
Maintenant, le problème est que les sources supplémentaires seront probablement (mais pas nécessairement) être les fichiers d'en-tête. Idéalement, je voudrais les ajouter en tant que dépendances pour la cible plugin.os
et file.cpp
, mais seulement si elles existent.
La méthode devrait fonctionner pour Windows et Linux, ou au moins être adaptable à chacun. Cependant, je n'utilise que la version GNU de make.
ce n'est pas ce que je veux ... J'ai une liste spécifique de fichier .h à tester pour ... – PierreBdR
C'est ok, vous n'avez pas besoin d'utiliser des caractères génériques. Utilisez $ (joker $ (HEADER_FILES)) – JesperE