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 :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
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 :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
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 :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
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 :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
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 !