Hallo Forum, ich arbeite unter Windows mit Eclipse und einem eigenen makefile (ich verwende GNU make 3.81) Nun würde ich gerne einen DOS Befehl ausführen und die Ausgabe die normal auf dem Bildschirm erfolgt in eine Variable umleiten. Meinem Verständis nach sollte das doch wie folgt funktionieren: DUMMY := $(shell cd) ich bekomme dann aber die folgende Fehlermeldung und kann mir nicht mehr erklären was ich falsch mache ****** DUMMY := C:\Projekte\ProgTest process_begin: CreateProcess(NULL, DUMMY := C:\Projekte\ProgTest, ...) failed. make (e=2): Das System kann die angegebene Datei nicht finden. make: *** [all] Error 2 ****** Hat mir jemand einen Tip? Vielen Dank Steffen
Vielleicht statt dem Programm in der Shell aufrufen, eine Batchdatei, die dir alles erledigt?
ich bräuchte aber das was ich da zurück bekomme im makefile um es dann beim linken zu verwenden. Deshalb kann ich das nicht komplett in einer Batch machen.
Steffen Walter schrieb: > DUMMY := $(shell cd) > DUMMY := C:\Projekte\ProgTest Ich interpretiere das so, dass "shell" auf deiner Plattform dein bevorzugtes CLI aufruft (cmd.exe?). "shell cd" liefert offenbar das aktuelle Verzeichnis zurück, scheint also zu klappen. > make (e=2): Das System kann die angegebene Datei nicht finden. Wo/wie verwendest du DUMMY? Gruesse
Sehe gerade, dass "shell" eine interne Funktion ist, FYI: http://www.chemie.fu-berlin.de/chemnet/use/info/make/make_8.html
ja genau so interpretiere ich das auch, ja genau sollte die cmd.exe sein, und cd liefert das aktuelle Verzeichnis zurück. Ich habe hier als Beispiel "cd" verwendet, Befehl sollte ja egal sein. Ziel ist dass der Pfad (den er ja auch ausgibt) nachher in der Variablen "DUMMY" steht. Ich verwenden DUMMY momentan sonst noch nirgends. Für mich wirkt das immer so als ob er nun versucht einen Befehl "DUMMY" auszuführen, anstelle diese als Variabel zu betrachten
danke für den Link, aber auch nach der Beschreibung contents := $(shell cat foo) sets contents to the contents of the file `foo', with a space (rather than a newline) separating each line. müsste doch nach dem ausführen von meinem makefile in DUMMY ein Wert stehen oder verstehe ich das auch falsch?
Evtl. ein Problem mit den Backslashes. Versuch's mal mit Anführungszeichen um das $(shell).
Bitte melde dich an um einen Beitrag zu schreiben. Anmeldung ist kostenlos und dauert nur eine Minute.
Bestehender Account
Schon ein Account bei Google/GoogleMail? Keine Anmeldung erforderlich!
Mit Google-Account einloggen
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.