make dep is unnecessary now
make dep is unnecessary now
Hi,
ich benutze beim Kernelbauen immer `make dep` (Nein, nicht nach Debian-Way). Nun kommt immer die Meldung, dass es nicht nötig sei, `make dep` auszuführen. Bisher dachte ich, mein Verzeichnis wäre halt so weit aufgeräumt, dass es nicht nötig sei. Ich habe mir aber gerade mal im Makefile angeschaut, was `make dep` machen soll, und die obige Meldung ist fest drin, kommt also immer. Kann ich davon ausgehen, dass der Befehl nicht mehr aktuell ist und in Zukunft weggelassen werden kann?
ich benutze beim Kernelbauen immer `make dep` (Nein, nicht nach Debian-Way). Nun kommt immer die Meldung, dass es nicht nötig sei, `make dep` auszuführen. Bisher dachte ich, mein Verzeichnis wäre halt so weit aufgeräumt, dass es nicht nötig sei. Ich habe mir aber gerade mal im Makefile angeschaut, was `make dep` machen soll, und die obige Meldung ist fest drin, kommt also immer. Kann ich davon ausgehen, dass der Befehl nicht mehr aktuell ist und in Zukunft weggelassen werden kann?
Leider. So toll finde ich das nicht, dass mögliche Differenzierungen durch die Rasenmähermethode ersetzt werden.fred19726 hat geschrieben: seit dem 2.6er kernel ist das der fall da fällt auch make modules und make bzImage weg
Beispiel: Mit make modules konnte man bisher die Module alleine kompilieren (nur Änderungen in menuconfig an irgendwelchen Modulen vorausgesetzt.)
Ab 2.6. muss man stattdessen das gesamte make [all] (inkl. Kompilierung des gesamtes Kernels) durchführen.

Dummfug. Wenn man ein Modul hinzufügt oder vorher einkompilliertes zum Modul macht, wird auch nur das Modul gebaut. Es ist auch nicht nötig "make all" einzugeben, ein simples "make" reicht um ALLES zu bauen.Ab 2.6. muss man stattdessen das gesamte make [all] (inkl. Kompilierung des gesamtes Kernels) durchführen
Da ich "all" noch nicht benutzt habe, liegt es wohl genau daran das ALLES gebaut wird auch wenn mann nur ein Modul hinzufügt/ändert.
Ist nicht der Sinn eines Makefile das nur die nötigen (aghängigen) Teile bei einer Änderung neu übersetzt werden? Oder ist das bei Änderungen an der konfig nicht so? (Ich übersetze eher selten Kernels und wenn dann auf die Debian-Art)
Programmer: A biological machine designed to convert caffeine into code.
xmpp:bert@debianforum.de
xmpp:bert@debianforum.de
- fred19726
- Beiträge: 507
- Registriert: 18.07.2002 03:38:38
- Lizenz eigener Beiträge: MIT Lizenz
- Wohnort: Heidelberg (DE)
-
Kontaktdaten:
das man make modules nich mehr machen muss heißt nicht das es nicht mehr geht:
"make help" sagt folgendes:
was bedeutet das wenn du make (all) machst automatisch auch make modules aufgerufen, aber du kannst trozdem wenn es dir beliebt z.b. wenn du nur an den modulen was verändert hast make modules machen und musst den Kernel nich mehr komplett neu kompilieren.
also: don't panic
"make help" sagt folgendes:
Code: Alles auswählen
...
Other generic targets:
all - Build all targets marked with [*]
* vmlinux - Build the bare kernel
* modules - Build all modules
modules_install - Install all modules
dir/ - Build all files in dir and below
dir/file.[ois] - Build specified target only
rpm - Build a kernel as an RPM package
tags/TAGS - Generate tags file for editors
Documentation targets:
Linux kernel internal documentation in different formats:
sgmldocs (SGML), psdocs (Postscript), pdfdocs (PDF)
htmldocs (HTML), mandocs (man pages, use installmandocs to install)
Architecture specific targets (i386):
* bzImage - Compressed kernel image (arch/i386/boot/bzImage)
install - Install kernel using
(your) ~/bin/installkernel or
(distribution) /sbin/installkernel or
install to $(INSTALL_PATH) and run lilo
bzdisk - Create a boot floppy in /dev/fd0
fdimage - Create a boot floppy image
make V=0|1 [targets] 0 => quiet build (default), 1 => verbose build
make O=dir [targets] Locate all output files in "dir", including .config
make C=1 [targets] Check all c source with checker tool
Execute "make" or "make all" to build all targets marked with [*]
For further info see the ./README file
also: don't panic

2 Dinge sind Unendlich, das Universum und die Menschliche Dummheit,
wobei ich mir beim Universum nicht sicher bin
-- Albert Einstein
wobei ich mir beim Universum nicht sicher bin
-- Albert Einstein
Das ist definitiv falsch. Ich kompilliere mehrmals die Woche bzw. ändere Module oder füge hinzu und bei mir hat der noch NIE den kompletten Kernel neu gemacht. Es werden immer nur die Module kompilliert und ggf. einige Dateien die damit in Beziehung stehen.Und wenn nur eine Moduleinstellung geändert wird, sorgt make dafür, dass alles durchläuft. Dann musste halt abwarten.