J'ai un système dans lequel je crée un makefile et qui fonctionne parfaitement sous Mac OS X. Quand je l'exécute sous Linux, j'ai un problème étrange. J'ai réussi à réduire mon makefile à un exemple très simple:Problème étrange de redirection avec gnumake
compile: gcc -o prog *.c &> compile__ chm: chmod u=rwx,g=rwx,o= prog both0: gcc -o prog *.c &> compile__ ; \ chmod u=rwx,g=rwx,o= prog both1: gcc -o prog *.c ; \ chmod u=rwx,g=rwx,o= prog
L'idée est de compiler un fichier, puis de modifier ses permissions. Si j'exécute la séquence de commande:
make compile make chm
Tout fonctionne correctement. Toutefois, si j'Execute:
make both0
je reçois le message:
chmod: cannot access `prog': No such file or directory
et les autorisations ne sont pas modifiés. D'autre part, si j'Execute:
make both1
les autorisations sont modifiées de manière appropriée. La seule différence est la redirection "&> compile__" sous both0 que j'ai supprimé pour both1.
Des idées?
J'ai oublié de mentionner que je lance gnumake version 3.81 sous Ubuntu Linux. – Tsf
Fonctionne pour moi: CentOS version 5.4 (Final); GNU Make 3.81; gcc (GCC) 4.1.2 20080704 (Red Hat 4.1.2-46); Bonjour c; –
Je l'ai testé sur un autre Linux: Fedora version 9 (Sulphur) et le même GNU Make 3.81. Aucun problème! Il semble ne se produire que sous mon installation: Ubuntu 10.04.2 LTS, noyau 2.6.32-30. – Tsf