In der Firma, für die ich gerade arbeite, werden mehrere IDEs verwendet (sie entwickeln Firmware für verschiedene eingebettete Plattformen). Da alle ihre C-Projekte ein Makefile verwenden, haben wir uns entschieden, auch Regeln zu ihrem Standard-Makefile hinzuzufügen, um statische Code-Analyse-Tools auszuführen.Übergeben Sie die ausgewählte Datei an Ziel in Eclipse
Eine der IDEs, die sie verwenden, ist Eclipse. Hier haben wir zusätzliche Ziele zur Ansicht Make Target hinzugefügt, die beispielsweise das Ziel lint
aus dem Makefile auslöst. Da wir mehrere IDEs verwenden, können wir den vom Makefile aufgerufenen Tools mitteilen, dass sie spezifische Ausgaben für die verwendete IDE generieren. Für Eclipse tun wir dies, indem wir den Build-Befehl anpassen und am Ende etwas wie IDE_ENV=eclipse
hinzufügen. Das funktioniert gut.
Kürzlich erwähnte einer der Ingenieure, dass es wirklich hilfreich wäre, wenn er die im Makefile definierten Tools für eine einzige Datei ausführen könnte. Also habe ich das Makefile aktualisiert und es akzeptiert jetzt eine Variable SOURCE_FILE
mit dem Pfad der Datei, die überprüft werden muss.
In Eclipse habe ich versucht, SOURCE_FILE=${selected_resource_loc}
und nur SOURCE_FILE=${resource_loc}
hinzuzufügen, aber diese Variable scheint nicht zu funktionieren, wenn Sie ein Make Target ausführen. Ich habe auch versucht, $(selected_resource_loc)
und $(resource_loc)
direkt im Makefile zu verwenden, aber ohne Glück.
Kann mir jemand sagen, wie ich die aktuell ausgewählte Datei an Make übergeben kann, wenn ich ein Ziel in der Make Target-Ansicht ausführe?
Ich habe versucht, es als ein externes Tool, aber die Ausgabe wird nicht von Eclipse geparst, wenn ich es so laufe. –
Ich habe mehrere Dinge ausprobiert und ich glaube nicht, dass es im Moment möglich ist. Vielleicht solltest du versuchen, dies im Eclipse-Forum zu posten oder eine Feature-Anfrage auf Eclipse's Bugzilla zu öffnen. Es scheint, dass die Variablen in diesem Feld nie interpretiert werden. – Tim
(Nur eine Idee :) Haben Sie die Aktualisierung aktiviert, wenn Sie make als externes Tool ausgeführt haben? – vlp