wir haben einige C++ - Code, den wir benötigen, um eine make-Datei zu erstellen. Jedes .h und .c Paar erstellen ein Objekt und dann einige Objekte miteinander zu einer ausführbaren Datei verbunden sind. Ziemlich normales Zeug.gmake kompilieren alle Dateien in einem Verzeichnis
Dieser Nicht-Gnu make-Befehl baut nur alle Dateien in Objekt in einem Verzeichnis
%.o:%.C
$(CC) $(CPFLAGS) -c $<
Was das bedeutet ist für jedes% .C-Datei (dh jede .C-Datei) baut eine .o-Datei entspricht, .
Weiß jemand, wie man das mit gmake macht?
Prost
Mark
Sie irren; Das OP zeigt eine Standardmusterregel, keine statische Musterregel, und es gibt keinen guten Grund, $ (Shell) hier zu verwenden, wo $ (Wildcard) ohne den zusätzlichen Overhead funktioniert. –
@Eric: Korrigiere natürlich die statische Musterregel. Fest. Ich benutze $ (shell) viel trotz der zusätzlichen Gabel, weil ich den Befehl oft verallgemeinere. Durch die Verwendung von: = Zuordnung erleide ich extra nur einmal. – dmckee
können Sie genauso einfach verwenden: = mit $ (Wildcard) wenn Sie möchten. –