mesa-drm/linux/Makefile.kernel
Gareth Hughes 2b12b72de4 Initial, software-fallback only Rage Pro driver. Suggest not running at
all, or at least disabling 2D acceleration (Option "accel" "0") for
    now.
Todo: Refactor DMA setup, buffer code to enable vertex DMA buffers. First
    cut will be PIO only, add full async DMA and AGP later.
demos> ./glinfo GL_VERSION: 1.2 Mesa 3.4 GL_EXTENSIONS: GL_ARB_multitexture
    GL_ARB_tranpose_matrix GL_EXT_abgr GL_EXT_blend_func_separate
    GL_EXT_clip_volume_hint GL_EXT_compiled_vertex_array GL_EXT_histogram
    GL_EXT_packed_pixels GL_EXT_polygon_offset GL_EXT_rescale_normal
    GL_EXT_stencil_wrap GL_EXT_texture3D GL_EXT_texture_env_add
    GL_EXT_texture_object GL_EXT_texture_lod_bias GL_EXT_vertex_array
    GL_MESA_window_pos GL_MESA_resize_buffers GL_NV_texgen_reflection
    GL_PGI_misc_hints GL_SGIS_pixel_texture GL_SGIS_texture_edge_clamp
    GL_RENDERER: Mesa DRI Mach64 20001203 (Rage Pro) x86/3DNow! GL_VENDOR:
    Gareth Hughes GLU_VERSION: 1.1 Mesa 3.5 GLU_EXTENSIONS: GL_EXT_abgr
    GLUT_API_VERSION: 3 GLUT_XLIB_IMPLEMENTATION: 15
2000-12-04 06:26:37 +00:00

95 lines
3.2 KiB
Text

#
# Makefile for the drm device driver. This driver provides support for
# the Direct Rendering Infrastructure (DRI) in XFree86 4.x.
#
# drm.o is a fake target -- it is never built
# The real targets are in the module-list
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))
# libs-objs are included in every module so that radical changes to the
# architecture of the DRM support library can be made at a later time.
#
# The downside is that each module is larger, and a system that uses
# more than one module (i.e., a dual-head system) will use more memory
# (but a system that uses exactly one module will use the same amount of
# memory).
#
# The upside is that if the DRM support library ever becomes insufficient
# for new families of cards, a new library can be implemented for those new
# cards without impacting the drivers for the old cards. This is significant,
# because testing architectural changes to old cards may be impossible, and
# may delay the implementation of a better architecture. We've traded slight
# memory waste (in the dual-head case) for greatly improved long-term
# maintainability.
#
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
ifeq ($(CONFIG_AGP),y)
lib-objs += agpsupport.o
else
ifeq ($(CONFIG_AGP),m)
lib-objs += agpsupport.o
endif
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
mach64-objs := $(lib-objs) mach64_drv.o mach64_dma.o mach64_context.o \
mach64_state.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)
obj-$(CONFIG_DRM_MACH64) += mach64.o $(mach64-objs)
ifneq ($CONFIG_AGP),)
obj-$(CONFIG_DRM_MGA) += mga.o $(mga-objs)
obj-$(CONFIG_DRM_I810) += i810.o $(i810-objs)
endif
# Take module names out of obj-y and int-m
obj-y := $(filter-out $(module-list), $(obj-y))
int-m := $(filter-out $(module-list), $(obj-m))
# Translate to Rules.make lists.
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-objs)
$(LD) -r -o $@ $(gamma-objs)
tdfx.o: $(tdfx-objs)
$(LD) -r -o $@ $(tdfx-objs)
mga.o: $(mga-objs)
$(LD) -r -o $@ $(mga-objs)
i810.o: $(i810-objs)
$(LD) -r -o $@ $(i810-objs)
r128.o: $(r128-objs)
$(LD) -r -o $@ $(r128-objs)
ffb.o: $(ffb-objs)
$(LD) -r -o $@ $(ffb-objs)
mach64.o: $(mach64-objs)
$(LD) -r -o $@ $(mach64-objs)