On Tue, 2004-10-19 at 20:22, Lothar Behrens wrote:
Fast immer aktuell. Man darf nicht vergessen, neue Dateien auch zu adden und committen. Aber eigentlich ist dann der Entwickler selbst schuld :-)
Ich finde, dass das makesystem selbst dafür sorgen sollte. Wie kann es das?
Es kann z.B. nicht wissen, was Quellcode, was Editor-Backup, was generierte Datei, was temporäre Datei und was Meta-Daten der Entwicklungsumgebung sind.
Schlieslich sorgt ein autoconf dafür, dass alles richtig kompiliert werden kann. So findet es alle relevanten Quelldateien und deren Header. Weder autoconf noch automake *finden* Quelldateien.
Automake nimmt nur die Quell-Dateien, die Du ihm im mitgeteilt hast zu nehmen (z.B. *_SOURCES im Makefile.am) und seine eigene Infrastruktur (aclocal.m4, configure, configure.ac etc.).
Autoconf ist an der Zusammenstellung der Dateilisten für "make dist" gar nicht beteiligt.
Wenn ich denn aber die Dateien habe, die ich an Automake weitergebe. Kann ich diese Liste nicht für dist wieder verwenden ? Genau das macht automake.
(+ einer Liste der Metadateien) siehe EXTRA_DIST in automake.info
Diese Liste der Dateien könnte man doch als Basis für ein 'dist' verwenden. Siehe oben.
Optional ist immer noch die CVS/Entries Methode eine gute Wahl. Nein. CVS/Entries sind Meta-Daten einer Entwicklungsumgebung.
In der Regel wird CVS/Entries dabei Dateien beinhalten, die nicht Bestandteil eines Paketes sind (z.B. .cvsignore), anderseits wird es aber auch Dateien *nicht* beinhalten, die Bestandteil eines Paketes sind (z.B. generierte Dateien).
Ahhsoo, Du meinst z.B. doxygen Dateien, oder ähnliches was für ein Programm benötigt wird - wie das Programm selbst. Ja, das wäre ein derartiger Fall.
Mein dist ist dann kein dist in dem Sinne von einem Paket mit fertigen Programm. Es ist schlieslich ein Framework zur Programmentwicklung.
Ich habe noch ne Frage: Ich baue gerade mein Makesystem so um, dass ich nicht mehr diese Shell oder Batch Scripte brauche.
Es klappte nach ein paar Fehlern und Versuchen dann auch. Nicht mehr immer die unnötigen Builds :-)
Nun klappt attrib -r *.bak nicht mehr. Hier habe ich folgenden Fehler: attrib? DOS ???
Aber warum kann make den Befehl nicht genauso ausführen wie von der Kommandozeile ? Vermutlich weil gmake deine DOS-Pfade entfernt und das M$-proprietäre Tool attrib nicht findet.
Ich Weiß, dies ist eine Linux Liste, aber ich arbeite halt mal mit GNU make unter Windows. Dann frag auf der Cygwin-Liste oder frag M$, die sollten es wissen :-)
Was attrib und automake anbetrifft: Automake setzt eine POSIX-kompatible Umgebung voraus. attrib ist proprietär und hat deshalb in Automake-Makefile.ams nichts verloren. Ralf