# Makefile -- For the Direct Rendering Manager module (drm) # # Based on David Woodhouse's mtd build. # # Modified to handle the DRM requirements and builds on a wider range of # platforms in a flexible way by David Dawes. It's not clear, however, # that this approach is simpler than the old one. # # The purpose of this Makefile is to handle setting up everything # needed for an out-of-kernel source build. Makefile.kernel contains # everything required for in-kernel source builds. It is included into # this file, so none of that should be duplicated here. # # $XFree86: xc/programs/Xserver/hw/xfree86/os-support/linux/drm/kernel/Makefile.linux,v 1.40 2003/08/17 17:12:25 dawes Exp $ # # # By default, the build is done against the running linux kernel source. # To build against a different kernel source tree, set LINUXDIR: # # make LINUXDIR=/path/to/kernel/source # # To build only some modules, either set DRM_MODULES to the list of modules, # or specify the modules as targets: # # make r128.o radeon.o # # or: # # make DRM_MODULES="r128 radeon" # SHELL=/bin/sh .SUFFIXES: ifndef LINUXDIR RUNNING_REL := $(shell uname -r) LINUXDIR := $(shell if [ -e /lib/modules/$(RUNNING_REL)/source ]; then \ echo /lib/modules/$(RUNNING_REL)/source; \ else echo /lib/modules/$(RUNNING_REL)/build; fi) endif ifndef O O := $(LINUXDIR) endif MACHINE := $(shell uname -m) # Modules for all architectures MODULE_LIST := tdfx.o r128.o radeon.o mga.o sis.o savage.o via.o mach64.o # Modules only for ix86 architectures ifneq (,$(findstring 86,$(MACHINE))) ARCHX86 := 1 MODULE_LIST += i830.o i810.o i915.o endif ifneq (,$(findstring sparc64,$(MACHINE))) ARCHSPARC64 := 1 MODULE_LIST += ffb.o endif DRM_MODULES ?= $(MODULE_LIST) # These definitions are for handling dependencies in the out of kernel build. DRMTEMPLATES = drm_auth.h drm_bufs.h drm_context.h drm_dma.h drm_drawable.h \ drm_drv.h drm_fops.h drm_init.h drm_ioctl.h drm_irq.h \ drm_lock.h drm_memory.h drm_proc.h drm_stub.h drm_vm.h \ drm_core.h DRMSHARED = drm.h drm_sarea.h DRMHEADERS = drmP.h $(DRMSHARED) TDFXHEADERS = tdfx.h $(DRMHEADERS) $(DRMTEMPLATES) TDFXSHARED = tdfx.h R128HEADERS = r128.h r128_drv.h r128_drm.h $(DRMHEADERS) $(DRMTEMPLATES) R128SHARED = r128.h r128_drv.h r128_drm.h r128_cce.c r128_state.c r128_irq.c RADEONHEADERS = radeon.h radeon_drv.h radeon_drm.h $(DRMHEADERS) \ $(DRMTEMPLATES) RADEONSHARED = radeon.h radeon_drv.h radeon_drm.h radeon_cp.c radeon_irq.c \ radeon_mem.c radeon_state.c MGAHEADERS = mga.h mga_drv.h mga_drm.h mga_ucode.h $(DRMHEADERS) \ $(DRMTEMPLATES) MGASHARED = mga.h mga_dma.c mga_drm.h mga_drv.h mga_irq.c mga_state.c \ mga_ucode.h mga_warp.c I810HEADERS = i810.h i810_drv.h i810_drm.h $(DRMHEADERS) $(DRMTEMPLATES) I830HEADERS = i830.h i830_drv.h i830_drm.h $(DRMHEADERS) $(DRMTEMPLATES) I915HEADERS = i915.h i915_drv.h i915_drm.h $(DRMHEADERS) $(DRMTEMPLATES) I915SHARED = i915.h i915_drv.h i915_drm.h i915_irq.c i915_mem.c i915_dma.c SISHEADERS= sis.h sis_drv.h sis_drm.h $(DRMHEADERS) SISSHARED= sis.h sis_drv.h sis_drm.h sis_ds.c sis_ds.h sis_mm.c SAVAGEHEADERS= savage.h savage_drv.h savage_drm.h $(DRMHEADERS) \ $(DRMTEMPLATES) VIAHEADERS = via_drm.h via_drv.h via.h via_mm.h via_ds.h \ via_3d_reg.h $(DRMHEADERS) $(DRMTEMPLATES) VIASHARED = via_drm.h via_drv.h via.h via_mm.h via_ds.h \ via_3d_reg.h via_drv.c via_ds.c via_irq.c via_map.c \ via_mm.c via_dma.c via_verifier.c via_verifier.h via_video.c MACH64HEADERS = mach64.h mach64_drv.h mach64_drm.h $(DRMHEADERS) \ $(DRMTEMPLATES) MACH64SHARE# $FreeBSD$ .PATH: ${.CURDIR}/.. KMOD = mach64 NO_MAN = YES SRCS = mach64_dma.c mach64_drv.c mach64_irq.c mach64_state.c SRCS += device_if.h bus_if.h pci_if.h opt_drm.h CFLAGS += ${DEBUG_FLAGS} -I. -I.. .if defined(DRM_DEBUG) DRM_DEBUG_OPT= "\#define DRM_DEBUG 1" .endif .if !defined(DRM_NOLINUX) DRM_LINUX_OPT= "\#define DRM_LINUX 1" .endif opt_drm.h: touch opt_drm.h echo $(DRM_DEBUG_OPT) >> opt_drm.h echo $(DRM_LINUX_OPT) >> opt_drm.h .include <bsd.kmod.mk>