Jean-Michel OLTRA wrote: > J'essaie de faire un Makefile en redéfinissant une variable dans une > cible: > > DESTDIR = /chemin/par/defaut > > install: > commandes vers $(DESTDIR) > > install-ailleurs: DESTDIR = /autre/chemin > $(MAKE) install
Tu ne peux pas définir une variable et de commandes en même temps. Il faut le faire en deux fois : install-ailleurs: DESTDIR=/autre/chemin install-ailleurs: $(MAKE) install Par contre, si cette syntaxe est valide, elle ne fera pas ce que tu veux : DESTDIR n'est redéfini que pour la commande associé à la cible courante (install-ailleurs) et pas pour l'invocation récursive du Makefile. On voit mieux ce qui ce passe avec : DESTDIR=/global install: echo installation dans DESTDIR=$(DESTDIR) install-ailleurs: DESTDIR=/autre/chemin install-ailleurs: echo redéfinition DESTDIR=$(DESTDIR) $(MAKE) install La bonne solution est bien, comme il te l'a été indiqué dans d'autres messages, de passer en argument de make la définition de ta variable DESTDIR (comme ça, il ignore ce qu'il trouve dans le Makefile) Ce mécanisme permet de faire des trucs du genre : ./configure --prefix=$HOME/usr make make install prefix=$HOME/usr/stow/monlogiciel-version Évidemment, si le Makefile a des trucs bizarres (utilisation de override, $(origin ), ...), ce genre de manip peut ne pas marcher. A+ Vince -- Lisez la FAQ de la liste avant de poser une question : http://wiki.debian.net/?DebianFrench Vous pouvez aussi ajouter le mot ``spam'' dans vos champs "From" et "Reply-To:" To UNSUBSCRIBE, email to [EMAIL PROTECTED] with a subject of "unsubscribe". Trouble? Contact [EMAIL PROTECTED]