Da ich gerade an meinem Makefile arbeite, stieß ich auf ein anderes Problem. Ich verwende diese Regel als Teil meines Erstellungsprozesses, der .mid-Dateien in .s-Dateien umwandelt.Makefile extrahieren Teil des Dateipfads als Compilerflag
$(MIDAS): $(BLDPATH)/%.s: %.mid
$(shell mkdir -p $(dir [email protected]))
#test $($< | sed "*")
$(MID2AGB) $(MIDFLAGS) -G$($< | sed ".*mus/vcg([0-9]{3})/.*\.mid") $< [email protected]
Alle .mid Eingabedateien folgen demselben Format:. mus/vcg [0-9] {3} /. .mid, was bedeutet, dass sie in verschiedenen Verzeichnissen nach der Namenskonvention vcgXXX gespeichert sind, wobei X eine beliebige Zahl von 0-9 sein kann. (Vielleicht ist meine Regex dafür sogar falsch). Wenn ich $ (MID2AGB) aufruft, möchte ich ein Compiler-Flag -GXXX verwenden. Das XXX dieses Flags muss jedoch dem XXX aus dem Eingabedateipfad entsprechen.
Mein Makefile-Code funktioniert nicht. Irgendeine Idee, wie man dieses Problem behebt?