diff --git a/linux-core/Makefile.kernel b/linux-core/Makefile.kernel index 5c4d885a..17d79924 100644 --- a/linux-core/Makefile.kernel +++ b/linux-core/Makefile.kernel @@ -10,108 +10,80 @@ # parent makes.. # -O_TARGET := drm.o - -L_OBJS := init.o memory.o proc.o auth.o context.o drawable.o bufs.o \ - lists.o lock.o ioctl.o fops.o vm.o dma.o ctxbitmap.o - +O_OBJS := +OX_OBJS := M_OBJS := +MX_OBJS := + +# Object file lists. + +obj-y := +obj-m := +obj-n := +obj- := + +SUB_DIRS := +MOD_SUB_DIRS := $(SUB_DIRS) +ALL_SUB_DIRS := $(SUB_DIRS) + +O_TARGET := drm.o +module-list := gamma.o tdfx.o r128.o ffb.o mga.o i810.o +export-objs := $(patsubst %.o,%_drv.o,$(module-list)) + +lib-objs := init.o memory.o proc.o auth.o context.o drawable.o bufs.o +lib-objs += lists.o lock.o ioctl.o fops.o vm.o dma.o ctxbitmap.o ifneq ($(CONFIG_AGP),) - L_OBJS += agpsupport.o + lib-objs += agpsupport.o endif -ifeq ($(CONFIG_DRM_GAMMA),y) - OX_OBJS += gamma_drv.o - O_OBJS += gamma_dma.o -else - ifeq ($(CONFIG_DRM_GAMMA),m) - MIX_OBJS += gamma_drv.o - MI_OBJS += gamma_dma.o - M_OBJS += gamma.o - endif +gamma-objs := $(lib-objs) gamma_drv.o gamma_dma.o +tdfx-objs := $(lib-objs) tdfx_drv.o tdfx_context.o +r128-objs := $(lib-objs) r128_drv.o r128_dma.o r128_context.o r128_bufs.o +ffb-objs := $(lib-objs) ffb_drv.o ffb_context.o +mga-objs := $(lib-objs) mga_drv.o mga_dma.o mga_context.o mga_bufs.o \ + mga_state.o +i810-objs := $(lib-objs) i810_drv.o i810_dma.o i810_context.o i810_bufs.o + +obj-$(CONFIG_DRM_GAMMA) += gamma.o $(gamma-objs) +obj-$(CONFIG_DRM_TDFX) += tdfx.o $(tdfx-objs) +obj-$(CONFIG_DRM_R128) += r128.o $(r128-objs) +obj-$(CONFIG_DRM_FFB) += ffb.o $(ffb-objs) + +ifneq ($CONFIG_AGP),) +obj-$(CONFIG_DRM_MGA) += mga.o $(mga-objs) $(lib-objs) +obj-$(CONFIG_DRM_I810) += i810.o $(i810-objs) $(lib-objs) endif -ifeq ($(CONFIG_DRM_TDFX),y) - OX_OBJS += tdfx_drv.o - O_OBJS += tdfx_context.o -else - ifeq ($(CONFIG_DRM_TDFX),m) - MIX_OBJS += tdfx_drv.o - MI_OBJS += tdfx_context.o - M_OBJS += tdfx.o - endif -endif +# Take module names out of obj-y and int-m -ifneq ($(CONFIG_AGP),) -ifeq ($(CONFIG_DRM_MGA),y) - OX_OBJS += mga_drv.o - O_OBJS += mga_context.o mga_dma.o mga_bufs.o mga_state.o -else - ifeq ($(CONFIG_DRM_MGA),m) - MIX_OBJS += mga_drv.o - MI_OBJS += mga_context.o mga_dma.o mga_bufs.o mga_state.o - M_OBJS += mga.o - endif -endif -endif +obj-y := $(filter-out $(module-list), $(obj-y)) +int-m := $(filter-out $(module-list), $(obj-m)) -ifneq ($(CONFIG_AGP),) -ifeq ($(CONFIG_DRM_I810),y) - OX_OBJS += i810_drv.o - O_OBJS += i810_context.o i810_bufs.o i810_dma.o -else - ifeq ($(CONFIG_DRM_I810),m) - MIX_OBJS += i810_drv.o - MI_OBJS += i810_context.o i810_bufs.o i810_dma.o - M_OBJS += i810.o - endif -endif -endif +# Translate to Rules.make lists. -ifeq ($(CONFIG_DRM_R128),y) - OX_OBJS += r128_drv.o - O_OBJS += r128_context.o r128_bufs.o r128_dma.o -else - ifeq ($(CONFIG_DRM_R128),m) - MIX_OBJS += r128_drv.o - MI_OBJS += r128_context.o r128_bufs.o r128_dma.o - M_OBJS += r128.o - endif -endif - -ifeq ($(CONFIG_DRM_FFB),y) - OX_OBJS += ffb_drv.o - O_OBJS += ffb_context.o -else - ifeq ($(CONFIG_DRM_FFB),m) - MIX_OBJC += ffb_drv.o - MI_OBJS += ffb_context.o - M_OBJS += ffb.o - endif -endif - -O_OBJS += $(L_OBJS) +O_OBJS := $(filter-out $(export-objs), $(obj-y)) +OX_OBJS := $(filter $(export-objs), $(obj-y)) +M_OBJS := $(sort $(filter $(module-list), $(obj-m))) +MI_OBJS := $(sort $(filter-out $(export-objs), $(int-m))) +MIX_OBJS := $(sort $(filter $(export-objs), $(int-m))) include $(TOPDIR)/Rules.make -gamma.o : gamma_drv.o gamma_dma.o $(L_OBJS) - $(LD) $(LD_RFLAG) -r -o $@ gamma_drv.o gamma_dma.o $(L_OBJS) +gamma.o: $(gamma-objs) + $(LD) $(LD_RFLAG) -r -o $@ $(gamma-objs) -tdfx.o: tdfx_drv.o tdfx_context.o $(L_OBJS) - $(LD) $(LD_RFLAG) -r -o $@ tdfx_drv.o tdfx_context.o $(L_OBJS) +tdfx.o: $(tdfx-objs) + $(LD) $(LD_RFLAG) -r -o $@ $(tdfx-objs) -mga.o: mga_drv.o mga_context.o mga_dma.o mga_bufs.o mga_state.o $(L_OBJS) - $(LD) $(LD_RFLAG) -r -o $@ mga_drv.o mga_bufs.o mga_dma.o \ - mga_context.o mga_state.o $(L_OBJS) +mga.o: $(mga-objs) + $(LD) $(LD_RFLAG) -r -o $@ $(mga-objs) -i810.o: i810_drv.o i810_context.o i810_bufs.o i810_dma.o $(L_OBJS) - $(LD) $(LD_RFLAG) -r -o $@ i810_drv.o i810_bufs.o i810_dma.o \ - i810_context.o $(L_OBJS) +i810.o: $(i810-objs) + $(LD) $(LD_RFLAG) -r -o $@ $(i810-objs) -r128.o: r128_drv.o r128_context.o r128_bufs.o r128_dma.o $(L_OBJS) - $(LD) $(LD_RFLAG) -r -o $@ r128_drv.o r128_bufs.o r128_dma.o \ - r128_context.o $(L_OBJS) +r128.o: $(r128-objs) + $(LD) $(LD_RFLAG) -r -o $@ $(r128-objs) -ffb.o: ffb_drv.o ffb_context.o $(L_OBJS) - $(LD) $(LD_RFLAG) -r -o $@ ffb_drv.o ffb_context.o $(L_OBJS) +ffb.o: $(ffb-objs) + $(LD) $(LD_RFLAG) -r -o $@ $(ffb-objs) diff --git a/linux/Makefile.kernel b/linux/Makefile.kernel index 5c4d885a..17d79924 100644 --- a/linux/Makefile.kernel +++ b/linux/Makefile.kernel @@ -10,108 +10,80 @@ # parent makes.. # -O_TARGET := drm.o - -L_OBJS := init.o memory.o proc.o auth.o context.o drawable.o bufs.o \ - lists.o lock.o ioctl.o fops.o vm.o dma.o ctxbitmap.o - +O_OBJS := +OX_OBJS := M_OBJS := +MX_OBJS := + +# Object file lists. + +obj-y := +obj-m := +obj-n := +obj- := + +SUB_DIRS := +MOD_SUB_DIRS := $(SUB_DIRS) +ALL_SUB_DIRS := $(SUB_DIRS) + +O_TARGET := drm.o +module-list := gamma.o tdfx.o r128.o ffb.o mga.o i810.o +export-objs := $(patsubst %.o,%_drv.o,$(module-list)) + +lib-objs := init.o memory.o proc.o auth.o context.o drawable.o bufs.o +lib-objs += lists.o lock.o ioctl.o fops.o vm.o dma.o ctxbitmap.o ifneq ($(CONFIG_AGP),) - L_OBJS += agpsupport.o + lib-objs += agpsupport.o endif -ifeq ($(CONFIG_DRM_GAMMA),y) - OX_OBJS += gamma_drv.o - O_OBJS += gamma_dma.o -else - ifeq ($(CONFIG_DRM_GAMMA),m) - MIX_OBJS += gamma_drv.o - MI_OBJS += gamma_dma.o - M_OBJS += gamma.o - endif +gamma-objs := $(lib-objs) gamma_drv.o gamma_dma.o +tdfx-objs := $(lib-objs) tdfx_drv.o tdfx_context.o +r128-objs := $(lib-objs) r128_drv.o r128_dma.o r128_context.o r128_bufs.o +ffb-objs := $(lib-objs) ffb_drv.o ffb_context.o +mga-objs := $(lib-objs) mga_drv.o mga_dma.o mga_context.o mga_bufs.o \ + mga_state.o +i810-objs := $(lib-objs) i810_drv.o i810_dma.o i810_context.o i810_bufs.o + +obj-$(CONFIG_DRM_GAMMA) += gamma.o $(gamma-objs) +obj-$(CONFIG_DRM_TDFX) += tdfx.o $(tdfx-objs) +obj-$(CONFIG_DRM_R128) += r128.o $(r128-objs) +obj-$(CONFIG_DRM_FFB) += ffb.o $(ffb-objs) + +ifneq ($CONFIG_AGP),) +obj-$(CONFIG_DRM_MGA) += mga.o $(mga-objs) $(lib-objs) +obj-$(CONFIG_DRM_I810) += i810.o $(i810-objs) $(lib-objs) endif -ifeq ($(CONFIG_DRM_TDFX),y) - OX_OBJS += tdfx_drv.o - O_OBJS += tdfx_context.o -else - ifeq ($(CONFIG_DRM_TDFX),m) - MIX_OBJS += tdfx_drv.o - MI_OBJS += tdfx_context.o - M_OBJS += tdfx.o - endif -endif +# Take module names out of obj-y and int-m -ifneq ($(CONFIG_AGP),) -ifeq ($(CONFIG_DRM_MGA),y) - OX_OBJS += mga_drv.o - O_OBJS += mga_context.o mga_dma.o mga_bufs.o mga_state.o -else - ifeq ($(CONFIG_DRM_MGA),m) - MIX_OBJS += mga_drv.o - MI_OBJS += mga_context.o mga_dma.o mga_bufs.o mga_state.o - M_OBJS += mga.o - endif -endif -endif +obj-y := $(filter-out $(module-list), $(obj-y)) +int-m := $(filter-out $(module-list), $(obj-m)) -ifneq ($(CONFIG_AGP),) -ifeq ($(CONFIG_DRM_I810),y) - OX_OBJS += i810_drv.o - O_OBJS += i810_context.o i810_bufs.o i810_dma.o -else - ifeq ($(CONFIG_DRM_I810),m) - MIX_OBJS += i810_drv.o - MI_OBJS += i810_context.o i810_bufs.o i810_dma.o - M_OBJS += i810.o - endif -endif -endif +# Translate to Rules.make lists. -ifeq ($(CONFIG_DRM_R128),y) - OX_OBJS += r128_drv.o - O_OBJS += r128_context.o r128_bufs.o r128_dma.o -else - ifeq ($(CONFIG_DRM_R128),m) - MIX_OBJS += r128_drv.o - MI_OBJS += r128_context.o r128_bufs.o r128_dma.o - M_OBJS += r128.o - endif -endif - -ifeq ($(CONFIG_DRM_FFB),y) - OX_OBJS += ffb_drv.o - O_OBJS += ffb_context.o -else - ifeq ($(CONFIG_DRM_FFB),m) - MIX_OBJC += ffb_drv.o - MI_OBJS += ffb_context.o - M_OBJS += ffb.o - endif -endif - -O_OBJS += $(L_OBJS) +O_OBJS := $(filter-out $(export-objs), $(obj-y)) +OX_OBJS := $(filter $(export-objs), $(obj-y)) +M_OBJS := $(sort $(filter $(module-list), $(obj-m))) +MI_OBJS := $(sort $(filter-out $(export-objs), $(int-m))) +MIX_OBJS := $(sort $(filter $(export-objs), $(int-m))) include $(TOPDIR)/Rules.make -gamma.o : gamma_drv.o gamma_dma.o $(L_OBJS) - $(LD) $(LD_RFLAG) -r -o $@ gamma_drv.o gamma_dma.o $(L_OBJS) +gamma.o: $(gamma-objs) + $(LD) $(LD_RFLAG) -r -o $@ $(gamma-objs) -tdfx.o: tdfx_drv.o tdfx_context.o $(L_OBJS) - $(LD) $(LD_RFLAG) -r -o $@ tdfx_drv.o tdfx_context.o $(L_OBJS) +tdfx.o: $(tdfx-objs) + $(LD) $(LD_RFLAG) -r -o $@ $(tdfx-objs) -mga.o: mga_drv.o mga_context.o mga_dma.o mga_bufs.o mga_state.o $(L_OBJS) - $(LD) $(LD_RFLAG) -r -o $@ mga_drv.o mga_bufs.o mga_dma.o \ - mga_context.o mga_state.o $(L_OBJS) +mga.o: $(mga-objs) + $(LD) $(LD_RFLAG) -r -o $@ $(mga-objs) -i810.o: i810_drv.o i810_context.o i810_bufs.o i810_dma.o $(L_OBJS) - $(LD) $(LD_RFLAG) -r -o $@ i810_drv.o i810_bufs.o i810_dma.o \ - i810_context.o $(L_OBJS) +i810.o: $(i810-objs) + $(LD) $(LD_RFLAG) -r -o $@ $(i810-objs) -r128.o: r128_drv.o r128_context.o r128_bufs.o r128_dma.o $(L_OBJS) - $(LD) $(LD_RFLAG) -r -o $@ r128_drv.o r128_bufs.o r128_dma.o \ - r128_context.o $(L_OBJS) +r128.o: $(r128-objs) + $(LD) $(LD_RFLAG) -r -o $@ $(r128-objs) -ffb.o: ffb_drv.o ffb_context.o $(L_OBJS) - $(LD) $(LD_RFLAG) -r -o $@ ffb_drv.o ffb_context.o $(L_OBJS) +ffb.o: $(ffb-objs) + $(LD) $(LD_RFLAG) -r -o $@ $(ffb-objs)