Dans mon makefile, je veux vérifier si les sous-répertoires sont présents dans un dossier donné. Voilà comment je le fais maintenant ..Vérifiez si les sous-répertoires sont présents dans ./work lorsqu'il est créé dans le fichier makefile?
setup:
mkdir -p ./work
DIR=$(shell find ./work -maxdepth 0 -type d -print)
check:
if [-z $(DIR) ]; then \
echo "null" ; \
else \
echo "present" ; \
fi;
Je ne peux pas créer le ./work en dehors du makefile. Donc, le problème est que depuis que ./work est créé dans le makefile, cela me donne une erreur/avertissement que ./work n'est pas présent avant d'exécuter le script.
Existe-t-il un moyen de vérifier si les sous-répertoires sont présents dans ./work lorsqu'il est créé dans le fichier makefile?
Salut Vroomfondel, Merci beaucoup. Maintenant, je sais à propos de la commande seulement par-requis et c'est très utile. – yathrakaaran
Cependant dans mon cas, même si je fais 'setup' comme une commande seulement par-requisite, la commande shell est exécutée avant même que la commande ne reçoive l'erreur que 'find command n'a pas trouvé ./work ça va créer le même. – yathrakaaran
Etrange, pour moi cela fonctionne. Utilisez-vous vraiment l'affectation 'DIR =' qui sera développée plus tard, ou utilisez-vous 'DIR: ='? BTW vous devriez renommer 'check'target en' work', car make exécute toujours cette règle si la cible n'est pas présente dans le système de fichiers. – Vroomfondel