Ich nehme alten Code auf, der außerhalb meiner Norm liegt und in einige Probleme über etwas, das hoffentlich sehr einfach zu erklären ist, läuft.Unerwartetes Token in ifeq Makefile
Ich arbeite an einem Makefile, das eine Reihe von SQL-Dateien ausführt und dann .done-Dateien generiert, um den Fortschritt zu verfolgen. Nach einer bestimmten SQL-Datei muss ich in der Lage sein, ein Shell-Skript auszuführen, um eine zusätzliche Verarbeitung durchzuführen.
# this is the rule the describes how to execute a SQL script
%.done: %.sql
@echo "+==============================================================================+"
@echo "building [email protected]"
@echo "...from $<"
@echo "building $<"
@$(PSQL_WRAPPER) -f $<
@ifeq ($(@),mysqlfile.done)
@echo "Executing Shell Script"
@../path/to/script/myscript.sh
endif
Ich fügte den ifeq Teil hinzu, alles andere war dort vorher und funktioniert wie erwartet.
Hier ist die Ausgabe, die ich bekomme. Ich bin wirklich festgefahren und habe verschiedene kleine Syntaxoptimierungen versucht, aber da ist eindeutig etwas anderes, das ich einfach nicht verstehe.
+==============================================================================+
building mysqlfile.done
...from ../..//path/to/file/mysqlfile.sql
building ../..//path/to/file/mysqlfile.sql
/bin/bash: -c: line 0: syntax error near unexpected token `mysqlfile.done,mysqlfile.done'
/bin/bash: -c: line 0: `ifeq (mysqlfile.done,mysqlfile.done)'
make: *** [mysqlfile.done] Error 1
Command exited with non-zero status 2
Von der Fehlermeldung sieht es aus, als ob ich zwei gleiche Werte habe. Ich bin mir wirklich nicht sicher, was das unerwartete Token sein würde. Ich würde wirklich jede Hilfe bei dieser Sache schätzen, die ich bekommen konnte.
Danke, das ist es. –