diff options
| author | Kai Germaschewski <kai@tp1.ruhr-uni-bochum.de> | 2002-03-15 02:26:53 -0600 |
|---|---|---|
| committer | Kai Germaschewski <kai@tp1.ruhr-uni-bochum.de> | 2002-03-15 02:26:53 -0600 |
| commit | 5d043fece463db6fcd69dfe1ec2a094d352af15c (patch) | |
| tree | cca6739a81e045612bbfd6f622fc23ae29514fd7 | |
| parent | dae77ddeb04fe962279d143e395665bf04b8e2c5 (diff) | |
| parent | a84f6cba12e177d3e36dfca1e8dba045f093af47 (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.make | 21 | ||||
| -rw-r--r-- | drivers/isdn/Makefile | 6 | ||||
| -rw-r--r-- | drivers/isdn/act2000/Makefile | 6 | ||||
| -rw-r--r-- | drivers/isdn/avmb1/Makefile | 7 | ||||
| -rw-r--r-- | drivers/isdn/divert/Makefile | 7 | ||||
| -rw-r--r-- | drivers/isdn/eicon/Makefile | 11 | ||||
| -rw-r--r-- | drivers/isdn/hisax/Makefile | 11 | ||||
| -rw-r--r-- | drivers/isdn/hysdn/Makefile | 7 | ||||
| -rw-r--r-- | drivers/isdn/pcbit/Makefile | 6 | ||||
| -rw-r--r-- | drivers/isdn/sc/Makefile | 6 | ||||
| -rw-r--r-- | drivers/pnp/Makefile | 2 |
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 |
