Make-Befehl Parameter -C

Hallo,

als Windows C-Programmierer habe ich mit make noch so manches Problem. Was bewirkt denn der folgende Befehl:

make && make -C tools 

da fehlt doch die Angabe einer Makedatei, oder irre ich mich da??
und was hat es mit dem && auf sich?
Gruß
A.

als Windows C-Programmierer habe ich mit make noch so manches
Problem. Was bewirkt denn der folgende Befehl:

make && make -C tools 

da fehlt doch die Angabe einer Makedatei, oder irre ich mich
da??

Nein, die fehlt nicht. Im Prinzip wird make zweimal ausgeführt, einmal ohne Argumente und einmal mit den Argumenten „-C tools“. Ganz richtig, es ist kein Makefile angegeben. In einem solchen Fall wird mit dem Standard-Makefile mit dem Namen „Makefile“ gearbeitet. Und zwar einmal im aktuellen Ordner und einmal im Unterordner tools („make -C tools“). „cd tools“ und dann „make“ hätte für das zweite hier wohl auch funktioniert

und was hat es mit dem && auf sich?

&& ist eigentlich das logische AND, wie z.B. in C. Es wird hier aber nicht verwendet, um für den Gesamtausdruck einen Wahrheitswert zu erhalten, sondern wegen seines Nebeneffekts, dass der zweite Teil eines ANDs nicht mehr ausgeführt wird, wenn der erste bereits FALSE liefert. FALSE entspricht in der Shell einem Exit-Status, der einen Fehlerstatus anzeigt (das ist (anders als intuitiv erwartet) jeder Wert AUSSER 0. 0 ist sozusagen TRUE). D.h. wenn das erste „make“ einen Fehler hat, spart man sich gleich das zweite. Und man kann die Fehlermeldung in Ruhe lesen.

Grüße,
Sebastian

Danke für die gute Erklärung, werd mich da jetzt mal richtig mit befassen. DANKE!