Ich habe einen Code als
echo -e "\\n" "===== Making: $(@D)\n";\
if [! -d $(@D) ]; then \
mkdir $(@D); \
else \
if [ -e $(@D)\PackageBuild.error ]; then \
rm $(@D)\PackageBuild.error;\
fi; \
Ich bin mir nicht sicher, was dieses @D tut. kann mir hier jemand weiterhelfen
Lösung des Problems
Führt normalerweise den $(command)Befehl aus und ersetzt ihn $(command)durch die Ausgabe des Befehls. Es muss also eine Datei namens @D geben, die ausführbar ist und sich im Suchpfad befindet.
Aber wenn dies kein Shell-Skript ist, sondern eine Make-Datei, bedeutet dies:
$(@D)
Der Verzeichnisteil des Dateinamens des Ziels, wobei der nachgestellte Schrägstrich entfernt wurde. Wenn der Wert von $@ist, dir/foo.odann $(@D)ist
dir. Dieser Wert ist, .wenn $@er keinen Schrägstrich enthält.
Keine Kommentare:
Kommentar veröffentlichen