Commit dc3b2a73 authored by Kai Germaschewski's avatar Kai Germaschewski

kbuild: Group together descending/linking in drivers/*

We currently decide whether we need to descend into the subdirs of
drivers/ in drivers/Makefile, but link the resulting objects from
the top-level Makefile.

Making these two decisions at the same time (in drivers/Makefile) cleans
up the top-level Makefile quite a bit.

Link order does not change at all apart from sound/, which is now linked
last.
parent 89a6351c
......@@ -110,56 +110,8 @@ NETWORKS =net/network.o
LIBS =$(TOPDIR)/lib/lib.a
SUBDIRS =init kernel lib drivers mm fs net ipc sound
DRIVERS-n :=
DRIVERS-y :=
DRIVERS-m :=
DRIVERS- :=
DRIVERS-$(CONFIG_ACPI) += drivers/acpi/acpi.o
DRIVERS-$(CONFIG_PCI) += drivers/pci/driver.o
DRIVERS-$(CONFIG_PARPORT) += drivers/parport/driver.o
DRIVERS-y += drivers/base/base.o \
drivers/char/char.o \
drivers/block/block.o \
drivers/misc/misc.o \
drivers/net/net.o \
drivers/media/media.o
DRIVERS-$(CONFIG_NUBUS) += drivers/nubus/built-in.o
DRIVERS-$(CONFIG_ATM) += drivers/atm/atm.o
DRIVERS-$(CONFIG_IDE) += drivers/ide/idedriver.o
DRIVERS-$(CONFIG_FC4) += drivers/fc4/built-in.o
DRIVERS-$(CONFIG_SCSI) += drivers/scsi/scsidrv.o
DRIVERS-$(CONFIG_FUSION) += drivers/message/message.o
DRIVERS-$(CONFIG_IEEE1394) += drivers/ieee1394/ieee1394drv.o
ifneq ($(CONFIG_CD_NO_IDESCSI)$(CONFIG_BLK_DEV_IDECD)$(CONFIG_BLK_DEV_SR)$(CONFIG_PARIDE_PCD),)
DRIVERS-y += drivers/cdrom/driver.o
endif
DRIVERS-y = drivers/built-in.o
DRIVERS-$(CONFIG_SOUND) += sound/sound.o
DRIVERS-$(CONFIG_MTD) += drivers/mtd/mtdlink.o
DRIVERS-$(CONFIG_PCMCIA) += drivers/pcmcia/pcmcia.o
DRIVERS-$(CONFIG_DIO) += drivers/dio/built-in.o
DRIVERS-$(CONFIG_SBUS) += drivers/sbus/sbus_all.o
DRIVERS-$(CONFIG_ZORRO) += drivers/zorro/driver.o
DRIVERS-$(CONFIG_ALL_PPC) += drivers/macintosh/macintosh.o
DRIVERS-$(CONFIG_MAC) += drivers/macintosh/macintosh.o
DRIVERS-$(CONFIG_PNP) += drivers/pnp/pnp.o
DRIVERS-$(CONFIG_SGI_IP22) += drivers/sgi/built-in.o
DRIVERS-$(CONFIG_VT) += drivers/video/video.o
DRIVERS-$(CONFIG_PARIDE) += drivers/block/paride/built-in.o
DRIVERS-$(CONFIG_TC) += drivers/tc/built-in.o
DRIVERS-$(CONFIG_USB) += drivers/usb/usbdrv.o
DRIVERS-$(CONFIG_INPUT) += drivers/input/inputdrv.o
DRIVERS-$(CONFIG_GAMEPORT) += drivers/input/gameport/gamedrv.o
DRIVERS-$(CONFIG_SERIO) += drivers/input/serio/seriodrv.o
DRIVERS-$(CONFIG_I2O) += drivers/message/message.o
DRIVERS-$(CONFIG_I2C) += drivers/i2c/i2c.o
DRIVERS-$(CONFIG_PHONE) += drivers/telephony/telephony.o
DRIVERS-$(CONFIG_MD) += drivers/md/mddev.o
DRIVERS-$(CONFIG_BLUEZ) += drivers/bluetooth/bluetooth.o
DRIVERS-$(CONFIG_HOTPLUG_PCI) += drivers/hotplug/vmlinux-obj.o
DRIVERS-$(CONFIG_ISDN) += drivers/isdn/vmlinux-obj.o
DRIVERS := $(DRIVERS-y)
......
......@@ -9,43 +9,43 @@
mod-subdirs := dio mtd sbus video macintosh usb input telephony sgi ide \
message scsi md ieee1394 pnp isdn atm \
fc4 i2c acpi bluetooth input/serio \
input/gameport parport hotplug
input/gameport parport hotplug \
base char block misc net media cdrom
subdir-y := base char block net misc media cdrom
subdir-m := $(subdir-y)
subdir-$(CONFIG_PARPORT) += parport
subdir-$(CONFIG_HOTPLUG_PCI) += hotplug
subdir-$(CONFIG_DIO) += dio
subdir-$(CONFIG_PCI) += pci
subdir-$(CONFIG_PCMCIA) += pcmcia
subdir-$(CONFIG_MTD) += mtd
subdir-$(CONFIG_SBUS) += sbus
subdir-$(CONFIG_ZORRO) += zorro
subdir-$(CONFIG_NUBUS) += nubus
subdir-$(CONFIG_TC) += tc
subdir-$(CONFIG_VT) += video
subdir-$(CONFIG_MAC) += macintosh
subdir-$(CONFIG_ALL_PPC) += macintosh
subdir-$(CONFIG_USB) += usb
subdir-$(CONFIG_INPUT) += input
subdir-$(CONFIG_SERIO) += input/serio
subdir-$(CONFIG_GAMEPORT) += input/gameport
subdir-$(CONFIG_PHONE) += telephony
subdir-$(CONFIG_SGI) += sgi
subdir-$(CONFIG_IDE) += ide
subdir-$(CONFIG_SCSI) += scsi
subdir-$(CONFIG_I2O) += message
subdir-$(CONFIG_FUSION) += message
subdir-$(CONFIG_MD) += md
subdir-$(CONFIG_IEEE1394) += ieee1394
subdir-$(CONFIG_PNP) += pnp
subdir-$(CONFIG_ISDN) += isdn
subdir-$(CONFIG_ATM) += atm
subdir-$(CONFIG_FC4) += fc4
subdir-$(CONFIG_I2C) += i2c
subdir-$(CONFIG_ACPI) += acpi
subdir-$(CONFIG_BLUEZ) += bluetooth
obj-$(CONFIG_ACPI) += acpi/
obj-$(CONFIG_PCI) += pci/
obj-$(CONFIG_PARPORT) += parport/
obj-y += base/ char/ block/ misc/ net/ media/
obj-$(CONFIG_NUBUS) += nubus/
obj-$(CONFIG_ATM) += atm/
obj-$(CONFIG_IDE) += ide/
obj-$(CONFIG_FC4) += fc4/
obj-$(CONFIG_SCSI) += scsi/
obj-$(CONFIG_FUSION) += message/
obj-$(CONFIG_IEEE1394) += ieee1394/
obj-y += cdrom/
obj-$(CONFIG_MTD) += mtd/
obj-$(CONFIG_PCMCIA) += pcmcia/
obj-$(CONFIG_DIO) += dio/
obj-$(CONFIG_SBUS) += sbus/
obj-$(CONFIG_ZORRO) += zorro/
obj-$(CONFIG_ALL_PPC) += macintosh/
obj-$(CONFIG_MAC) += macintosh/
obj-$(CONFIG_PNP) += pnp/
obj-$(CONFIG_SGI) += sgi/
obj-$(CONFIG_VT) += video/
obj-$(CONFIG_PARIDE) += block/paride/
obj-$(CONFIG_TC) += tc/
obj-$(CONFIG_USB) += usb/
obj-$(CONFIG_INPUT) += input/
obj-$(CONFIG_GAMEPORT) += input/gameport/
obj-$(CONFIG_SERIO) += input/serio/
obj-$(CONFIG_I2O) += message/
obj-$(CONFIG_I2C) += i2c/
obj-$(CONFIG_PHONE) += telephony/
obj-$(CONFIG_MD) += md/
obj-$(CONFIG_BLUEZ) += bluetooth/
obj-$(CONFIG_HOTPLUG_PCI) += hotplug/
obj-$(CONFIG_ISDN) += isdn/
include $(TOPDIR)/Rules.make
......@@ -2,8 +2,6 @@
# Makefile for the Linux ACPI interpreter
#
O_TARGET := acpi.o
export ACPI_CFLAGS
ACPI_CFLAGS := -D_LINUX -I$(CURDIR)/include
......
......@@ -2,8 +2,6 @@
# Makefile for the Linux network (ATM) device drivers.
#
O_TARGET := atm.o
export-objs := uPD98402.o suni.o idt77105.o
obj-y := atmdev_init.o
......
O_TARGET := base.o
# Makefile for the Linux device tree
obj-y := core.o sys.o interface.o fs.o power.o
......
......@@ -8,8 +8,6 @@
# In the future, some of these should be built conditionally.
#
O_TARGET := block.o
export-objs := elevator.o ll_rw_blk.o blkpg.o loop.o DAC960.o genhd.o block_ioctl.o
obj-y := elevator.o ll_rw_blk.o blkpg.o genhd.o block_ioctl.o
......@@ -33,6 +31,4 @@ obj-$(CONFIG_BLK_DEV_DAC960) += DAC960.o
obj-$(CONFIG_BLK_DEV_UMEM) += umem.o
obj-$(CONFIG_BLK_DEV_NBD) += nbd.o
subdir-$(CONFIG_PARIDE) += paride
include $(TOPDIR)/Rules.make
......@@ -2,21 +2,14 @@
# Makefile for Bluetooth HCI device drivers.
#
O_TARGET := bluetooth.o
list-multi := hci_uart.o
obj-$(CONFIG_BLUEZ_HCIUSB) += hci_usb.o
obj-$(CONFIG_BLUEZ_HCIVHCI) += hci_vhci.o
obj-$(CONFIG_BLUEZ_HCIUART) += hci_uart.o
uart-y := hci_ldisc.o
uart-$(CONFIG_BLUEZ_HCIUART_H4) += hci_h4.o
obj-$(CONFIG_BLUEZ_HCIDTL1) += dtl1_cs.o
obj-$(CONFIG_BLUEZ_HCIBLUECARD) += bluecard_cs.o
include $(TOPDIR)/Rules.make
hci_uart-y := hci_ldisc.o
hci_uart-$(CONFIG_BLUEZ_HCIUART_H4) += hci_h4.o
hci_uart-objs := $(hci_uart-y)
hci_uart.o: $(uart-y)
$(LD) -r -o $@ $(uart-y)
include $(TOPDIR)/Rules.make
......@@ -3,9 +3,6 @@
# 30 Jan 1998, Michael Elizabeth Chastain, <mailto:mec@shout.net>
# Rewritten to use lists instead of if-statements.
O_TARGET := driver.o
# All of the (potential) objects that export symbols.
# This list comes from 'grep -l EXPORT_SYMBOL *.[hc]'.
......
......@@ -7,8 +7,6 @@
#
FONTMAPFILE = cp437.uni
O_TARGET := char.o
obj-y += mem.o tty_io.o n_tty.o tty_ioctl.o raw.o pty.o misc.o random.o
# All of the (potential) objects that export symbols.
......
......@@ -2,8 +2,6 @@
# Makefile for the Linux kernel pci hotplug controller drivers.
#
O_TARGET := vmlinux-obj.o
export-objs := pci_hotplug_core.o pci_hotplug_util.o
obj-$(CONFIG_HOTPLUG_PCI) += pci_hotplug.o
......
......@@ -2,8 +2,6 @@
# Makefile for the kernel i2c bus driver.
#
O_TARGET := i2c.o
export-objs := i2c-core.o i2c-algo-bit.o i2c-algo-pcf.o \
i2c-algo-ite.o i2c-proc.o
......
......@@ -8,15 +8,9 @@
# In the future, some of these should be built conditionally.
#
O_TARGET := idedriver.o
export-objs := ide-taskfile.o ide.o ide-features.o ide-probe.o quirks.o pcidma.o tcq.o \
atapi.o ataraid.o
obj-y :=
obj-m :=
ide-obj-y :=
obj-$(CONFIG_BLK_DEV_HD) += hd.o
obj-$(CONFIG_BLK_DEV_IDE) += ide-mod.o
obj-$(CONFIG_BLK_DEV_IDECS) += ide-cs.o
......
......@@ -2,8 +2,6 @@
# Makefile for the Linux IEEE 1394 implementation
#
O_TARGET := ieee1394drv.o
export-objs := ieee1394_core.o ohci1394.o cmp.o
ieee1394-objs := ieee1394_core.o ieee1394_transactions.o hosts.o \
......
......@@ -2,10 +2,6 @@
# Makefile for the input core drivers.
#
# The target object and module list name.
O_TARGET := inputdrv.o
# Objects that export symbols.
mod-subdirs := joystick
......
......@@ -2,10 +2,6 @@
# Makefile for the gameport drivers.
#
# The target object and module list name.
O_TARGET := gamedrv.o
# Objects that export symbols.
export-objs := gameport.o
......
......@@ -2,10 +2,6 @@
# Makefile for the input core drivers.
#
# The target object and module list name.
O_TARGET := seriodrv.o
# Objects that export symbols.
export-objs := serio.o
......
# Makefile for the kernel ISDN subsystem and device drivers.
# The target object and module list name.
O_TARGET := vmlinux-obj.o
# Object files in subdirectories
mod-subdirs := i4l hisax capi eicon
......
#
# Makefile for the Macintosh-specific device drivers.
#
# Note! Dependencies are done automagically by 'make dep', which also
# removes any old dependencies. DON'T put your own dependencies here
# unless it's something special (ie not a .c file).
#
# Note 2! The CFLAGS definitions are now inherited from the
# parent makes..
#
# The target object and module list name.
O_TARGET := macintosh.o
# Objects that export symbols.
......
......@@ -2,8 +2,6 @@
# Makefile for the kernel software RAID and LVM drivers.
#
O_TARGET := mddev.o
export-objs := md.o xor.o
lvm-mod-objs := lvm.o lvm-snap.o lvm-fs.o
......
#
# Makefile for the kernel multimedia device drivers.
#
# Note! Dependencies are done automagically by 'make dep', which also
# removes any old dependencies. DON'T put your own dependencies here
# unless it's something special (ie not a .c file).
#
# Note 2! The CFLAGS definitions are now inherited from the
# parent makes..
#
subdir-y := video radio
mod-subdirs := video radio
O_TARGET := media.o
obj-y := $(join $(subdir-y),$(subdir-y:%=/%.o))
include $(TOPDIR)/Rules.make
......@@ -2,8 +2,6 @@
# Makefile for MPT based block devices
#
O_TARGET := message.o
mod-subdirs := i2o fusion
obj-$(CONFIG_I2O) += i2o/
......
#
# Makefile for misc devices that really don't fit anywhere else.
#
# Note! Dependencies are done automagically by 'make dep', which also
# removes any old dependencies. DON'T put your own dependencies here
# unless it's something special (ie not a .c file).
#
# Note 2! The CFLAGS definitions are now inherited from the
# parent makes..
#
O_TARGET := misc.o
include $(TOPDIR)/Rules.make
fastdep:
......@@ -11,8 +11,6 @@ obj-m :=
obj-n :=
obj- :=
O_TARGET := mtdlink.o
export-objs := mtdcore.o mtdpart.o redboot.o bootldr.o afs.o
mod-subdirs :=
......
# File: drivers/net/Makefile
#
# Makefile for the Linux network (ethercard) device drivers.
#
obj-y :=
obj-m :=
obj-n :=
obj- :=
mod-subdirs := appletalk arcnet fc irda tokenring tulip pcmcia wireless \
wan ../acorn/net
O_TARGET := net.o
# All of the (potential) objects that export symbols.
# This list comes from 'grep -l EXPORT_SYMBOL *.[hc]'.
......
#
# Makefile for the kernel Parallel port device drivers.
#
# Note! Parport is the Borg. We have assimilated some other
# drivers in the `char', `net' and `scsi' directories,
# but left them there to allay suspicion.
#
# 7 October 2000, Bartlomiej Zolnierkiewicz <bkz@linux-ide.org>
# Rewritten to use lists instead of if-statements.
#
O_TARGET := driver.o
export-objs := init.o parport_pc.o
......
#
# Makefile for the PCI bus specific drivers.
#
# Note! Dependencies are done automagically by 'make dep', which also
# removes any old dependencies. DON'T put your own dependencies here
# unless it's something special (ie not a .c file).
#
# Note 2! The CFLAGS definition is now inherited from the
# parent makefile.
#
O_TARGET := driver.o
export-objs := access.o hotplug.o pci-driver.o pci.o pool.o probe.o proc.o search.o
......
......@@ -2,8 +2,6 @@
# Makefile for the kernel pcmcia subsystem (c/o David Hinds)
#
O_TARGET := pcmcia.o
export-objs := ds.o cs.o yenta.o pci_socket.o
obj-$(CONFIG_PCMCIA) += pcmcia_core.o ds.o
......
......@@ -2,8 +2,6 @@
# Makefile for the kernel Plug-and-Play device drivers.
#
O_TARGET := pnp.o
export-objs := isapnp.o pnpbios_core.o
isa-pnp-proc-$(CONFIG_PROC_FS) = isapnp_proc.o
......
#
# Makefile for the linux kernel.
#
# Note! Dependencies are done automagically by 'make dep', which also
# removes any old dependencies. DON'T put your own dependencies here
# unless it's something special (ie not a .c file).
#
# Note 2! The CFLAGS definitions are now in the main makefile...
O_TARGET := sbus_all.o
ifneq ($(ARCH),m68k)
obj-y := sbus.o dvma.o
endif
......
......@@ -18,9 +18,6 @@ CFLAGS_aha152x.o = -DAHA152X_STAT -DAUTOCONF
CFLAGS_gdth.o = # -DDEBUG_GDTH=2 -D__SERIAL__ -D__COM2__ -DGDTH_STATISTICS
CFLAGS_seagate.o = -DARBITRATE -DPARITY -DSEAGATE_USE_ASM
O_TARGET := scsidrv.o
export-objs := scsi_syms.o 53c700.o
mod-subdirs := pcmcia ../acorn/scsi
......
#
# Makefile for drivers/telephony
#
# Note! Dependencies are done automagically by 'make dep', which also
# removes any old dependencies. DON'T put your own dependencies here
# unless it's something special (ie not a .c file).
#
obj-y :=
obj-n :=
obj-m :=
obj- :=
export-objs := phonedev.o ixj.o
obj-$(CONFIG_PHONE) += phonedev.o
obj-$(CONFIG_PHONE_IXJ) += ixj.o
obj-$(CONFIG_PHONE_IXJ_PCMCIA) += ixj_pcmcia.o
O_TARGET := telephony.o
include $(TOPDIR)/Rules.make
......@@ -2,8 +2,6 @@
# Makefile for the kernel USB device drivers.
#
O_TARGET := usbdrv.o
# Object files in subdirectories
mod-subdirs := serial
......
......@@ -2,8 +2,6 @@
# 5 Aug 1999, James Simmons, <mailto:jsimmons@users.sf.net>
# Rewritten to use lists instead of if-statements.
O_TARGET := video.o
mod-subdirs := matrox
# All of the (potential) objects that export symbols.
......
#
# Makefile for the Zorro bus specific drivers.
#
# Note! Dependencies are done automagically by 'make dep', which also
# removes any old dependencies. DON'T put your own dependencies here
# unless it's something special (ie not a .c file).
#
# Note 2! The CFLAGS definition is now inherited from the
# parent makefile.
#
O_TARGET := driver.o
export-objs := zorro.o
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment