Linux a une fonction pour déterminer si un fichier existe ; cette fonction est la fonction générique du makefile. La fonction générique peut correspondre à la liste de fichiers. S'il n'y a aucun fichier correspondant au modèle spécifié, la fonction retournera vide et la syntaxe est "$(wildcard PATTERN...)".
L'environnement d'exploitation de ce tutoriel : système linux7.3, ordinateur Dell G3.
Linux a une fonction pour déterminer l'existence d'un fichier
Utilisez la fonction générique du makefile
ifneq ($(wildcard FILE,) #文件存在 endif
$(wildcard FILE) signifie développer le fichier correspondant au fichier FILE sous le chemin actuel.
Supposons que a.c et b.c existent dans le chemin actuel, puis exécutez src=$(wildcard *.c), la valeur de src sera a.c b.c;
Si vous n'utilisez pas de caractères génériques, tels que src=$(wildcard c.c); alors vous devez développer le fichier nommé cc sous le chemin actuel. Étant donné que le fichier n'existe pas sous le chemin actuel, src est une chaîne vide.
L'exemple est le suivant :
Utilisez les deux méthodes ci-dessus pour déterminer si le fichier depend.mk dans le dossier obj existe. S'il existe, créez les fichiers a.c et b.c.
Le makefile écrit est le suivant :
OBJ_DIR=obj fileNames = $(wildcard $(OBJ_DIR)/depend.mk) all: @echo "this is all " @echo ${fileNames} @if [ -e $(OBJ_DIR)/depend.mk ]; then touch b.c; fi ifneq ($(wildcard $(OBJ_DIR)/depend.mk),) touch a.c endif
Après l'exécution, a.c et b.c ont été créés avec succès.
Apprentissage recommandé : Tutoriel vidéo Linux
Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!