Erstmal ein kraeftiges Hallo an alle, denn ich bin neu hier. Das Forum macht einen tollen Eindruck, Glueckwunsch! Und dann habe ich auch gleich eine Frage, die bei mir schon eine Weile ungeloest wartet - trotz Google :-) Ich moechte in einem GNU makefile den Pfad meiner Toolchain zuweisen. Das makefile wird aber mal auf einem spanischen Windows (mit cygwin) ausgefuehrt, und dann wieder auf einem englischen. Dank Bill Gates und seinen tollen Einfaellen ist der Pfad dann entweder: c:/Program files/GNUARM oder c:/Archivos de programa/GNUARM Jetzt brauche ich also eine bedingte Zuweisung, ala "if/then/else", kombiniert mit etwas wie einer "file exists" Funktion. Leider konnte ich da in der Hilfe von make nichts passendes finden (ich benutze GNU make 3.79.1). Alternativ habe ich dann versucht, die Pfad-Variable heranzuziehen, in der ja ebenfalls Hinweise auf die Sprachversion zu finden sein sollten. Auch das hat nicht funktioniert. Da ich hier noch den code Schnipsel vorliegen habe, zitiere ich ihn mal kurz: ifeq ("rchivos de programa",$(findstring "rchivos de programa",$(PATH))) ARM_PATH = c:/Archivos de programa/GNUARM else ARM_PATH = c:/Program files/GNUARM endif Wie gesagt, das hat ebenfalls nicht funktioniert. Kann mir einer von Euch verraten, wie ich das Problem loesen kann? Danke an alle die sich den Kopf zerbrechen.. Marc
ist die Environment Variable 'ProgramFiles' nicht auf beiden vorhanden? Normalerweise ist die in XP drin und zeigt auf den richtigen Pfad. Das andere Beispiel: man muss nur mit den Leerzeichen im Namen aufpassen, da müssen vermutlich noch Anführungszeichen drumherum.
Hallo Jojos, Leider gibt es diese Variable nicht, oder sie schafft es nicht in die cygwin bash Ebene hinein. Deine Antwort hat mir aber trotzdem weitergeholfen, denn ich habe es nochmal ausfuehrlich ausprobiert. Hier ist die Loesung, die funktioniert (glaube ich, denn ich sitze gerade nur am englischen Windows): ifeq ($(findstring rchivos de,$(PATH)),) ARM_PATH = c:/Program files/GNUARM else ARM_PATH = c:/Archivos de programa/GNUARM endif Das Problem lag in der Syntax von ifeq und findstring. Danke!!
Was spricht denn dagegen auf beiden Rechnern z.B. einfach C:/GNUARM bei der Installation zu verwenden ? Dann könntest du dir solche Klimmzüge sparen.
> Was spricht denn dagegen auf beiden Rechnern z.B. > einfach C:/GNUARM bei der Installation zu verwenden ? Hallo Holger, In diesem Fall spricht dagegen, dass die Toolchain bereits vor Beginn des Projekts installiert war. Ich wuerde ungerne die Installation zweier einwandfrei funktionierender Arbeitsplaetze verhuntzen, nur weil dadurch ein Makefile simpler wird. Danke trotzdem fuer den Hinweis!
Hi, es gibt doch die Variable %ProgramFiles%, die für soetwas genommen werden könnte, nicht oder?
Hi, %ProgramFiles% gibts nur im "Command Prompt" von Windows. Unter Cygwin/bash gehts dann mit ${PROGRAMFILES} (alles groß!). CU
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.