Forum: PC-Programmierung Frage bezgl. MAKE / MAKEFILES


von pabu1983 (Gast)


Lesenswert?

Hallo liebe Community,

ich bin schon seit längerem am MAKEFILE basteln. Es funktioniert auch 
alles, das einzige was ich jetzt noch will ist "aufräumen". Und zwar 
habe ich eine BAT Datei welche im gleichen Verzeichnis wie das MAKEFILE 
liegt. Diese rufe ich ganz normal (ohne Ausgabe) auf mit 
@name_der_bat.bat.

Nun das Problem, ich will alle *.bat Dateien in einem anderen 
Verzeichnis ablegen. Struktur:

Ordner
Ordner\MAKE
Ordner\BAT

wenn ich nun den Befehl von @name_der_bat.bat auf 
@../BAT/name_der_bat.bat ändere funktionert das leider nicht weil MAKE 
nichts mit .. anfangen kann (sagt es zumindest).

Kann mir jemand sagen welchen Trick ich anwenden muss damit das 
funktioniert?

Gruß pabu

von Stefan B. (stefan) Benutzerseite


Lesenswert?

pabu1983 schrieb:

> wenn ich nun den Befehl von @name_der_bat.bat auf
> @../BAT/name_der_bat.bat ändere funktionert das leider nicht weil MAKE
> nichts mit .. anfangen kann (sagt es zumindest).

Das müsste funktionieren, wenn du beim Aufruf von make z.B. im 
Ordner/MAKE stehst. Es müsste schiefgehen, wenn du in Ordner oder 
oberhalb von Ordner stehst.

von pabu1983 (Gast)


Lesenswert?

also leider funktioniert es nicht, es ist schon klar das es nur 
funktioniert wenn ich mich in dem MAKE Ordner befinde (das tue ich auch 
immer).

Aber wenn ich diesen Befehl in meinem MAKEFILE verwende kommt diese 
Fehlermeldung:

Der Befehl ".." ist entweder falsch geschrieben oder konnte nicht 
gefunden werden.

Der Teil des MAKEFILES sieht so aus:

all: $(test)
$(test):$(anderes_zeug)
  @../BAT/name_der_bat.bat

von Yalu X. (yalu) (Moderator)


Lesenswert?

Bist du sicher, dass die Zeile genauso aussieht und nicht vielleicht
ein Leerzeichen zwischen ".." und "/BAT" steht?

Bist du auch sicher, dass der Fehler genau von dieser Zeile im Makefile
stammt? Vielleicht gibt es eine andere Zeile, die den Fehler erzeugt.

von Stefan B. (stefan) Benutzerseite


Lesenswert?

Ersetze im Befehlsnamen die / durch \
1
  @..\BAT\name_der_bat.bat

Bei mir mit GNU make 3.81 unter Windows XP SP2 funktioniert das dann. 
mit / bekomme ich auch deine Fehlermeldung.

Der Befehl (Batchfile) wird anscheinend original an die Shell (cmd.exe) 
weitergegeben und die kann mit / im Pfad nichts anfangen.

von pabu1983 (Gast)


Lesenswert?

@Yalu: Ja bin mir sicher...wenn ich die Bat ins gleiche Verzeichnis 
lege, und ../BAT/ weg mache dann funktiniert es!

@Stefan: Das wars, super danke!


*** closed ***

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
Noch kein Account? Hier anmelden.