summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorKai Germaschewski <kai@tp1.ruhr-uni-bochum.de>2002-03-15 02:26:53 -0600
committerKai Germaschewski <kai@tp1.ruhr-uni-bochum.de>2002-03-15 02:26:53 -0600
commit5d043fece463db6fcd69dfe1ec2a094d352af15c (patch)
treecca6739a81e045612bbfd6f622fc23ae29514fd7
parentdae77ddeb04fe962279d143e395665bf04b8e2c5 (diff)
parenta84f6cba12e177d3e36dfca1e8dba045f093af47 (diff)
Merge linux-isdn@linux-isdn.bkbits.net:linux-2.5.make
into tp1.ruhr-uni-bochum.de:/home/kai/kernel/v2.5/linux-2.5.make
-rw-r--r--Rules.make21
-rw-r--r--drivers/isdn/Makefile6
-rw-r--r--drivers/isdn/act2000/Makefile6
-rw-r--r--drivers/isdn/avmb1/Makefile7
-rw-r--r--drivers/isdn/divert/Makefile7
-rw-r--r--drivers/isdn/eicon/Makefile11
-rw-r--r--drivers/isdn/hisax/Makefile11
-rw-r--r--drivers/isdn/hysdn/Makefile7
-rw-r--r--drivers/isdn/pcbit/Makefile6
-rw-r--r--drivers/isdn/sc/Makefile6
-rw-r--r--drivers/pnp/Makefile2
11 files changed, 21 insertions, 69 deletions
diff --git a/Rules.make b/Rules.make
index b084d59e04e9..2d3c5faf21a7 100644
--- a/Rules.make
+++ b/Rules.make
@@ -120,6 +120,24 @@ $(L_TARGET): $(obj-y)
) > $(dir $@)/.$(notdir $@).flags
endif
+#
+# Rule to link composite objects
+#
+
+# for make >= 3.78 the following is cleaner:
+# multi-used := $(foreach m,$(obj-y) $(obj-m), $(if $($(basename $(m))-objs), $(m)))
+multi-used := $(sort $(foreach m,$(obj-y) $(obj-m),$(patsubst %,$(m),$($(basename $(m))-objs))))
+ld-multi-used := $(filter-out $(list-multi),$(multi-used))
+ld-multi-objs := $(foreach m, $(ld-multi-used), $($(basename $(m))-objs))
+
+$(ld-multi-used) : %.o: $(ld-multi-objs)
+ rm -f $@
+ $(LD) $(EXTRA_LDFLAGS) -r -o $@ $(filter $($(basename $@)-objs), $^)
+ @ ( \
+ echo 'ifeq ($(strip $(subst $(comma),:,$(LD) $(EXTRA_LDFLAGS) $($(basename $@)-objs)),$$(strip $$(subst $$(comma),:,$$(LD) $$(EXTRA_LDFLAGS) $$($(basename $@)-objs)))))' ; \
+ echo 'FILES_FLAGS_UP_TO_DATE += $@' ; \
+ echo 'endif' \
+ ) > $(dir $@)/.$(notdir $@).flags
#
# This make dependencies quickly
@@ -200,8 +218,7 @@ script:
#
ifdef CONFIG_MODULES
-multi-used := $(filter $(list-multi), $(obj-y) $(obj-m))
-multi-objs := $(foreach m, $(multi-used), $($(basename $(m))-objs))
+multi-objs := $(foreach m, $(obj-y) $(obj-m), $($(basename $(m))-objs))
active-objs := $(sort $(multi-objs) $(obj-y) $(obj-m))
ifdef CONFIG_MODVERSIONS
diff --git a/drivers/isdn/Makefile b/drivers/isdn/Makefile
index 88e37e3d47c9..7cc57d64b425 100644
--- a/drivers/isdn/Makefile
+++ b/drivers/isdn/Makefile
@@ -10,7 +10,6 @@ export-objs := isdn_common.o
# Multipart objects.
-list-multi := isdn.o
isdn-objs := isdn_net.o isdn_tty.o isdn_v110.o isdn_common.o
# Optional parts of multipart objects.
@@ -50,8 +49,3 @@ obj-y += $(addsuffix /vmlinux-obj.o, $(subdir-y))
# The global Rules.make.
include $(TOPDIR)/Rules.make
-
-# Link rules for multi-part drivers.
-
-isdn.o: $(isdn-objs)
- $(LD) -r -o $@ $(isdn-objs)
diff --git a/drivers/isdn/act2000/Makefile b/drivers/isdn/act2000/Makefile
index 556c402b17cf..26ca0ce016f3 100644
--- a/drivers/isdn/act2000/Makefile
+++ b/drivers/isdn/act2000/Makefile
@@ -6,7 +6,6 @@ O_TARGET := vmlinux-obj.o
# Multipart objects.
-list-multi := act2000.o
act2000-objs := module.o capi.o act2000_isa.o
# Each configuration option enables a list of files.
@@ -14,8 +13,3 @@ act2000-objs := module.o capi.o act2000_isa.o
obj-$(CONFIG_ISDN_DRV_ACT2000) += act2000.o
include $(TOPDIR)/Rules.make
-
-# Link rules for multi-part drivers.
-
-act2000.o: $(act2000-objs)
- $(LD) -r -o $@ $(act2000-objs)
diff --git a/drivers/isdn/avmb1/Makefile b/drivers/isdn/avmb1/Makefile
index 36690928780b..626b2a59febe 100644
--- a/drivers/isdn/avmb1/Makefile
+++ b/drivers/isdn/avmb1/Makefile
@@ -10,7 +10,6 @@ export-objs := kcapi.o capiutil.o b1dma.o b1pcmcia.o b1.o capifs.o
# Multipart objects.
-list-multi := kernelcapi.o
kernelcapi-objs := kcapi.o
# Ordering constraints: kernelcapi.o first
@@ -32,9 +31,3 @@ obj-$(CONFIG_ISDN_DRV_AVMB1_C4) += c4.o b1.o
# The global Rules.make.
include $(TOPDIR)/Rules.make
-
-# Link rules for multi-part drivers.
-
-kernelcapi.o: $(kernelcapi-objs)
- $(LD) -r -o $@ $(kernelcapi-objs)
-
diff --git a/drivers/isdn/divert/Makefile b/drivers/isdn/divert/Makefile
index dc1084cb6355..6063939bd38d 100644
--- a/drivers/isdn/divert/Makefile
+++ b/drivers/isdn/divert/Makefile
@@ -8,7 +8,6 @@ O_TARGET := vmlinux-obj.o
# Multipart objects.
-list-multi := dss1_divert.o
dss1_divert-objs := isdn_divert.o divert_procfs.o divert_init.o
# Each configuration option enables a list of files.
@@ -17,12 +16,6 @@ obj-$(CONFIG_ISDN_DIVERSION) += dss1_divert.o
include $(TOPDIR)/Rules.make
-# Link rules for multi-part drivers.
-
-dss1_divert.o: $(dss1_divert-objs)
- $(LD) -r -o $@ $(dss1_divert-objs)
-
-
diff --git a/drivers/isdn/eicon/Makefile b/drivers/isdn/eicon/Makefile
index eb303c5f7f31..08cd972fb16e 100644
--- a/drivers/isdn/eicon/Makefile
+++ b/drivers/isdn/eicon/Makefile
@@ -10,7 +10,6 @@ export-objs := Divas_mod.o eicon_mod.o
# Multipart objects.
-list-multi := eicon.o divas.o
eicon-objs := eicon_mod.o eicon_isa.o eicon_pci.o eicon_idi.o \
eicon_io.o
divas-objs := common.o idi.o bri.o pri.o log.o xlog.o kprintf.o fpga.o \
@@ -30,13 +29,3 @@ obj-$(CONFIG_ISDN_DRV_EICON_OLD) += eicon.o
obj-$(CONFIG_ISDN_DRV_EICON_DIVAS) += divas.o
include $(TOPDIR)/Rules.make
-
-# Link rules for multi-part drivers.
-
-eicon.o: $(eicon-objs)
- $(LD) -r -o $@ $(eicon-objs)
-
-divas.o: $(divas-objs)
- $(LD) -r -o $@ $(divas-objs)
-
-
diff --git a/drivers/isdn/hisax/Makefile b/drivers/isdn/hisax/Makefile
index ee9ff7399618..a162d90c0151 100644
--- a/drivers/isdn/hisax/Makefile
+++ b/drivers/isdn/hisax/Makefile
@@ -14,7 +14,6 @@ export-objs := config.o fsm.o hisax_isac.o hisax_hscx.o
# Multipart objects.
-list-multi := hisax.o hisax_st5481.o
hisax-objs := config.o isdnl1.o tei.o isdnl2.o isdnl3.o \
lmgr.o q931.o callc.o fsm.o cert.o
hisax_st5481-objs := st5481_init.o st5481_usb.o st5481_d.o st5481_b.o \
@@ -54,7 +53,7 @@ hisax-objs-$(CONFIG_HISAX_GAZEL) += gazel.o isac.o arcofi.o hscx.o
hisax-objs-$(CONFIG_HISAX_W6692) += w6692.o
#hisax-objs-$(CONFIG_HISAX_TESTEMU) += testemu.o
-hisax-objs += $(sort $(hisax-objs-y))
+hisax-objs += $(hisax-objs-y)
# Each configuration option enables a list of files.
@@ -70,11 +69,3 @@ CERT := $(shell md5sum -c md5sums.asc >> /dev/null;echo $$?)
CFLAGS_cert.o := -DCERTIFICATION=$(CERT)
include $(TOPDIR)/Rules.make
-
-# Link rules for multi-part drivers.
-
-hisax.o: $(hisax-objs)
- $(LD) -r -o $@ $(hisax-objs)
-
-hisax_st5481.o: $(hisax_st5481-objs)
- $(LD) -r -o $@ $(hisax_st5481-objs)
diff --git a/drivers/isdn/hysdn/Makefile b/drivers/isdn/hysdn/Makefile
index 1f119beb70a9..3bbe1a5bd21d 100644
--- a/drivers/isdn/hysdn/Makefile
+++ b/drivers/isdn/hysdn/Makefile
@@ -6,7 +6,6 @@ O_TARGET := vmlinux-obj.o
# Multipart objects.
-list-multi := hysdn.o
hysdn-objs := hysdn_procconf.o hysdn_proclog.o boardergo.o hysdn_boot.o \
hysdn_sched.o hysdn_net.o hysdn_init.o
@@ -21,9 +20,3 @@ hysdn-objs += $(hysdn-objs-y)
obj-$(CONFIG_HYSDN) += hysdn.o
include $(TOPDIR)/Rules.make
-
-# Link rules for multi-part drivers.
-
-hysdn.o: $(hysdn-objs)
- $(LD) -r -o $@ $(hysdn-objs)
-
diff --git a/drivers/isdn/pcbit/Makefile b/drivers/isdn/pcbit/Makefile
index 7a6a80447212..155a69b8885b 100644
--- a/drivers/isdn/pcbit/Makefile
+++ b/drivers/isdn/pcbit/Makefile
@@ -6,7 +6,6 @@ O_TARGET := vmlinux-obj.o
# Multipart objects.
-list-multi := pcbit.o
pcbit-objs := module.o edss1.o drv.o layer2.o capi.o callbacks.o
# Each configuration option enables a list of files.
@@ -14,8 +13,3 @@ pcbit-objs := module.o edss1.o drv.o layer2.o capi.o callbacks.o
obj-$(CONFIG_ISDN_DRV_PCBIT) += pcbit.o
include $(TOPDIR)/Rules.make
-
-# Link rules for multi-part drivers.
-
-pcbit.o: $(pcbit-objs)
- $(LD) -r -o $@ $(pcbit-objs)
diff --git a/drivers/isdn/sc/Makefile b/drivers/isdn/sc/Makefile
index 60ac3ce6d983..47e152f95aec 100644
--- a/drivers/isdn/sc/Makefile
+++ b/drivers/isdn/sc/Makefile
@@ -6,7 +6,6 @@ O_TARGET := vmlinux-obj.o
# Multipart objects.
-list-multi := sc.o
sc-objs := shmem.o init.o debug.o packet.o command.o event.o \
ioctl.o interrupt.o message.o timer.o
@@ -15,8 +14,3 @@ sc-objs := shmem.o init.o debug.o packet.o command.o event.o \
obj-$(CONFIG_ISDN_DRV_SC) += sc.o
include $(TOPDIR)/Rules.make
-
-# Link rules for multi-part drivers.
-
-sc.o: $(sc-objs)
- $(LD) -r -o $@ $(sc-objs)
diff --git a/drivers/pnp/Makefile b/drivers/pnp/Makefile
index 890ca24c07fa..f0ab45ce35b3 100644
--- a/drivers/pnp/Makefile
+++ b/drivers/pnp/Makefile
@@ -11,7 +11,7 @@
O_TARGET := pnp.o
export-objs := isapnp.o pnpbios_core.o
-multi-objs := isa-pnp.o pnpbios.o
+list-multi := isa-pnp.o pnpbios.o
isa-pnp-proc-$(CONFIG_PROC_FS) = isapnp_proc.o
pnpbios-proc-$(CONFIG_PROC_FS) = pnpbios_proc.o