summaryrefslogtreecommitdiff
path: root/extra/nouveau-drm-lts/Makefile
diff options
context:
space:
mode:
Diffstat (limited to 'extra/nouveau-drm-lts/Makefile')
-rw-r--r--extra/nouveau-drm-lts/Makefile102
1 files changed, 102 insertions, 0 deletions
diff --git a/extra/nouveau-drm-lts/Makefile b/extra/nouveau-drm-lts/Makefile
new file mode 100644
index 000000000..123bc5339
--- /dev/null
+++ b/extra/nouveau-drm-lts/Makefile
@@ -0,0 +1,102 @@
+# This Makefile is loosely based on the drm.git/linux-core/Makefile and
+# the preliminary work by Christopher James Halse Rogers.
+# Edited by Pekka Paalanen <pq@iki.fi>
+
+# 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
+
+# By default, it is assumed the Nouveau kernel tree is found in $PWD/../.
+# To use a different path to the Nouveau kernel tree, set NOUVEAUROOTDIR:
+#
+# make NOUVEAUROOTDIR=/path/to/nouveau/linux-2.6
+
+
+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
+
+NOUVEAUGITREMOTE ?= origin
+NOUVEAUROOTDIR ?= $(CURDIR)/..
+override NOUVEAUROOTDIR := $(abspath $(NOUVEAUROOTDIR))
+
+TESTFILE := include/drm/nouveau_drm.h
+ifeq ($(wildcard $(NOUVEAUROOTDIR)/$(TESTFILE)),)
+$(error $(NOUVEAUROOTDIR) does not look like the right kernel tree, \
+ please set NOUVEAUROOTDIR)
+endif
+
+GIT_REVISION := $(shell GIT_DIR=$(NOUVEAUROOTDIR)/.git \
+ git describe --always --abbrev=17 2> /dev/null)
+
+DRMINC := -I$(NOUVEAUROOTDIR)/include/drm
+DRMDIR := $(NOUVEAUROOTDIR)/drivers/gpu/drm
+DRMCFG := \
+ CONFIG_DRM=m \
+ CONFIG_DRM_KMS_HELPER=m \
+ CONFIG_DRM_TTM=m \
+ CONFIG_DRM_NOUVEAU=m \
+ CONFIG_DRM_NOUVEAU_KMS=n \
+ CONFIG_DRM_NOUVEAU_BACKLIGHT=y \
+ CONFIG_DRM_NOUVEAU_DEBUG=y \
+ CONFIG_DRM_I2C_CH7006=m \
+ CONFIG_DRM_TDFX=n \
+ CONFIG_DRM_R128=n \
+ CONFIG_DRM_RADEON=n \
+ CONFIG_DRM_MGA=n \
+ CONFIG_DRM_I810=n \
+ CONFIG_DRM_I830=n \
+ CONFIG_DRM_I915=n \
+ CONFIG_DRM_SIS=n \
+ CONFIG_DRM_SAVAGE=n \
+ CONFIG_DRM_VIA=n
+
+EXTRA_CFLAGS :=
+MYEXTRA_CFLAGS :=
+MYEXTRA_CFLAGS += -DCONFIG_DRM_NOUVEAU_BACKLIGHT
+MYEXTRA_CFLAGS += -DCONFIG_DRM_NOUVEAU_DEBUG
+
+ifneq ($(GIT_REVISION),)
+MYEXTRA_CFLAGS += '-DGIT_REVISION=\"$(GIT_REVISION)\"'
+endif
+
+MYPARMS := -C $(LINUXDIR) KCPPFLAGS="$(DRMINC)" SUBDIRS="$(DRMDIR)" $(DRMCFG)
+
+MYEXTRA_CFLAGS += $(EXTRA_CFLAGS)
+ifneq ($(MYEXTRA_CFLAGS),)
+MYPARMS += EXTRA_CFLAGS="$(MYEXTRA_CFLAGS)"
+endif
+
+.PHONY: all modules install clean archive FORCE
+
+all: modules
+FORCE:
+
+modules:
+ $(MAKE) $(MYPARMS) modules
+
+install:
+ $(MAKE) $(MYPARMS) modules_install
+
+clean:
+ $(MAKE) $(MYPARMS) clean
+
+archive: newttm-devel-compat.tar.gz newttm-devel.tar.gz master.tar.gz
+
+newttm-devel-compat.tar.gz: EXTRAS=nouveau README-nouveau
+
+%.tar: FORCE
+ GIT_DIR=$(NOUVEAUROOTDIR)/.git \
+ git archive --format=tar --prefix=$*/ $(NOUVEAUGITREMOTE)/$* \
+ drivers/gpu/drm include/drm $(EXTRAS) > $@
+
+%.tar.gz: %.tar
+ gzip -9 -c $< > $@
+
+# The commit id of the archive can be read with
+# $ zcat foo.tar.gz | git get-tar-commit-id