Vorausgesetzt, es gibt keine Standard-Make-Datei im aktuellen Verzeichnis (vermutlich der Grund, warum Sie -f ../makefile
sind vorbei), dann Ihr Beispiel ../makefile
funktioniert, wie es ist, wenn Sie aufrufen make
wie:
$ make MAKEFILES=../makefile hi
make bye
make[1]: Entering directory '/home/imk/develop/scrap'
echo 'whatever'
whatever
make[1]: Leaving directory '/home/imk/develop/scrap'
Siehe 3.4 The Variable MAKEFILES
Wenn es ist eine Standard-Make-Datei im aktuellen Verzeichnis dann dieser Ansatz Caus e make
, um das Standard-Makefile zu lesen, nachdem es gelesen hat ../makefile
, mit unguten Ergebnissen. In diesem Fall bevorzugen Sie die Antwort von @ Dummy00001.
Also statt hart codieren "hi" möchten Sie weitergeben, was von der Befehlszeile übergeben wurde? Aber wenn das Make-Ziel sagt, was ausgeführt werden soll, weiß 'hi' bereits, dass es' hi' ausführt; Wie könnte es nicht sein? Vielleicht könntest du klären, was du gerade bekommst und was du stattdessen bekommen möchtest. – tripleee