2016-07-01 12 views
6

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?

+0

Ich habe versucht, es als ein externes Tool, aber die Ausgabe wird nicht von Eclipse geparst, wenn ich es so laufe. –

+0

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

+0

(Nur eine Idee :) Haben Sie die Aktualisierung aktiviert, wenn Sie make als externes Tool ausgeführt haben? – vlp

Antwort

0

Einige Eclipse-Sondervariablen können in einer Build-Konfiguration nicht erkannt werden. Versuchen Sie anstelle der Ausführung der Build-Prozedur, die Konfiguration externer Tools zu verwenden.

Ähnliche Probleme wurden hier beschrieben: Custom command for Eclipse on current file.

+1

Während dies Link kann die Frage beantworten, es ist besser, die wesentlichen Teile der Antwort hier einzubeziehen und den Link als Referenz anzugeben Link-only-Antworten können ungültig werden, wenn sich die verknüpfte Seite ändert - [Aus Review] (/ review/low-quality -posts/16788814) –

+2

Vielen Dank für info Ich habe einige Details zu meiner Antwort hinzugefügt. – Mikolaj