2010-03-31 19 views
1

Disons que j'ai les dossiers suivants:Makefiles, un dossier ayant un lien symbolique et les chemins relatifs

/A/C

/D/B/E

/D/B/C (ce qui est lien symbolique vers/A/C créé par ln -s)

Lorsque l'un des fichiers makefiles essaie d'utiliser le chemin /D/B/C/../E, il obtient une erreur "pas de fichier ou de répertoire". Je comprends pourquoi cela arrive;/A/E n'existe pas. Cependant, je dois utiliser des liens symboliques pour remplir le dossier B et créer l'arbre de construction (très longue histoire).

Des idées?

Répondre

0

Je ne peux pas imaginer comment vous avez construit un chemin comme "D/B/C /../ E", mais vous pourriez faire un peu de traitement de texte pour le nettoyer.

Le faire avec les fonctions Make est possible, mais plutôt moche. Je vous recommande de déléguer à la coquille:

PATH := $(shell echo $(PATH) | sed '|/[^/]*/\.\.||g') 
0

J'ai changé la façon dont je le lien entre les dossiers:

/D/B/C est maintenant un lien vers ../../A/C insted of/A/C