Je suis actuellement dans le besoin d'un moyen de supprimer par programmation du texte de Makefiles que j'ai affaire. Maintenant le problème est que (pour une raison quelconque) les makefiles sont générés avec des commandes de lien de -l<full_path_to_library>/<library_name>
quand ils devraient être générés avec -l<library_name>
. Donc ce dont j'ai besoin est un script pour trouver toutes les occurrences de -l/
et ensuite supprimer jusqu'à et y compris le suivant /
.script awk/sed pour supprimer du texte
Exemple de ce que je fais face à
-l/home/user/path/to/boost/lib/boost_filesystem
je besoin d'être
-lboost_filesystem
Comme on pouvait l'imaginer, il s'agit d'un espace d'arrêt mesure jusqu'à ce que je fixe le vrai problème (du côté de la génération) mais en attendant ce serait une grande aide pour moi si cela peut fonctionner et je ne suis pas trop bon avec mon awk et sed.
Merci pour toute aide.
Y at-il une raison particulière que vous n'êtes pas aborder le problème de * pourquoi * le système de construction fait foiré makefiles en premier lieu? – dmckee
Comme indiqué dans la question, il s'agit d'une solution temporaire. Je suis actuellement en train d'exécuter un correctif non officiel du système de construction qui a certaines fonctionnalités dont j'ai besoin, malheureusement, il génère des fichiers makefiles avec le problème indiqué. J'ai certainement l'intention de résoudre le problème (et bientôt) en intégrant correctement les nouvelles fonctionnalités mais en attendant je voulais être capable de compiler mon application, après des jours de tout mettre en place et maintenant je peux;) – radman