Ich versuche, ein Makefile zu verwenden, um einige Tests für mein anderes Programm zu machen.Makefile bei letzter Datei fehlgeschlagen
DIFF=$(TXT_FILES:$(TESTS_DIR)/%.txt=$(DIFF_DIR)/%.dif), $(STDIN_FILES:$(TESTS_DIR/%.stdin=$(DIFF_DIR)%.dif)
$(DIFF_DIR)/%.dif: $(TESTS_DIR)/%.txt $(DIFF_DIR)/%.out
./03uzduotis/getfasta $< | diff $(DIFF_DIR)/$*.out - > [email protected]
$(DIFF_DIR)/%.dif: $(TESTS_DIR)/%.stdin $(DIFF_DIR)/%.out
cat $< | ./03uzduotis/getfasta - | diff $(DIFF_DIR)/$*.out - > [email protected]
Das Problem, das ich habe, ist, dass, wenn ich die Make-Datei zu starten, es durch alle Testdateien mit Ausnahme der letzten geht, unter Berufung auf Tests „‚
‘Es gibt keine Regel durch erforderlich macht Test1.dif ist“Ich habe überprüft, indem einige Testdateien entfernt, dass es tatsächlich auf die letzte Datei stirbt, egal welche Datei die letzte ist.
Überprüfen Sie die Anzahl der "f" s in "diff". Ich vermute, Sie haben einen Tippfehler im ursprünglichen Code (wie der gebuchte Code ".dif" liest, aber die Fehlermeldung bezieht sich auf ".diff"). – DevSolar
Das extra f gibt es nur meine Tastatur vermasselt. –
Wenn Sie nach einem Problem über Makefile fragen. Bitte fügen Sie alle Makefile und Dateien Projektorganisation hinzu. – Stargateur