Bonjour chers développeurs,
J'ai pour mission de "réparer" un makefile. Tout ce passait bien jusqu'à ce que je tombe sur une erreur que je ne comprend pas.
La commande utilisée pour la compilation est :
Le but de ce Makefile est de compiler un grand nombre de procédures SQL. Le makefile contient donc de nombreux blocs de la forme :
1 2
| /home/.../lib/P_NomProcedure.o : /home/.../proc/P_NomProcedure.sql
<liste de commandes> |
Mon problème est que parfois je me retrouve avec une l'erreur suivante :
make: *** No rule to make target `/home/.../lib/P_NomProcedure.sql', needed by `/home/.../lib/P_NomProcedure.o'. Stop.
Ce qui est étrange est que si juste après j'exécute :
make /home/.../lib/P_NomProcedure.o
L'erreur n'est pas reproduite et les commandes s'effectuent correctement.
Il faut préciser que les fichiers sql existent bien et ne sont jamais modifiés dans le makefile. De plus l'erreur n'est pas toujours sur le même fichier.
Le make utilisé est :
1 2
| /usr/gnu/bin/make
GNU Make version 3.78.1 |
Mes maigres compétences en makefile sont dépassées. Ce qui me semblerait le plus probable serait un problème dû à l'option -j utilisée.
Si vous avez une piste je suis tout ouïe.
Merci d'avance !
Partager