Un fichier makefile peut-il avoir un répertoire en tant que cible?
Je suis en train de dire "le téléchargement du dépôt git ne fonctionnera que si le répertoire copier/existe. Si le répertoire copier/n'existe pas, alors le rendre"
yank/gist.el/gist.el : yank
cd yank ; git clone http://github.com/defunkt/gist.el.git
yank:
mkdir yank
Je suis en utilisant makepp - http://makepp.sf.net
et j'obtiens l'erreur:
[metaperl@andLinux ~/edan/pkg/gist.el] makepp
makepp: Loading makefile `/home/metaperl/edan/pkg/gist.el/Makeppfile'
makepp: Entering directory `/home/metaperl/edan/pkg/gist.el'
mkdir yank
mkdir: cannot create directory `yank': File exists
makepp: error: Failed to build target `/home/metaperl/edan/pkg/gist.el/yank' [1]
makepp: 0 files updated, 0 phony targets built and 1 target failed
[metaperl@andLinux ~/edan/pkg/gist.el]
Mais pourquoi serait-il essayer de faire de la copie de répertoire, s'il existe? La "source" a déjà créé... ben
source d'informationauteur Terrence Brannon | 2010-07-18
Vous devez vous connecter pour publier un commentaire.
Oui, un
Makefile
peut avoir un répertoire cible.Votre problème pourrait être que le
cd
ne pas faire ce que vous voulez: il n'cd
et lagit clone
est effectuée dans le répertoire d'origine (celui que vouscd
ed, pas celui que vouscd
ed). C'est parce que pour chaque commande dans laMakefile
un supplément de shell est créé. Une solution de contournement consiste à exécutercd
et de les cloner comme une commande par le shell&&
.Cela devrait fonctionner:
Dans un makefile, est un nom de répertoire d'un faux de la cible ou le "réel" de la cible?
Une recherche rapide ne se sont pas tous référence pour makepp et de l'ordre uniquement les conditions préalables, mais il peut encore travailler.
Votre makefile devrait faire ce que vous attendez. Depuis yank a pas de dépendance, il ne sera pas refaite si elle existe. Si cela ressemble à un bug dans makepp. Vous pourriez le confirmer en essayant de votre makefile avec la traditionnelle mise en œuvre de la faire.