mirror of
https://gitdl.cn/https://github.com/chakralinux/core.git
synced 2025-02-03 23:57:13 +08:00
123 lines
3.2 KiB
Makefile
123 lines
3.2 KiB
Makefile
# 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
|
|
|
|
# 'make headers' will install the headers by default to
|
|
# $NOUVEAUROOTDIR/usr/include/drm. To use a different location,
|
|
# set HEADERINSDIR:
|
|
#
|
|
# make HEADERINSDIR=/path/to/install/headers
|
|
|
|
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))
|
|
HEADERINSDIR ?= $(NOUVEAUROOTDIR)/usr/include/drm
|
|
override HEADERINSDIR := $(abspath $(HEADERINSDIR))
|
|
|
|
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 := $(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_I2C_SIL164=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 \
|
|
CONFIG_DRM_VMWGFX=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="-I$(DRMINC)" SUBDIRS="$(DRMDIR)" $(DRMCFG)
|
|
|
|
MYEXTRA_CFLAGS += $(EXTRA_CFLAGS)
|
|
ifneq ($(MYEXTRA_CFLAGS),)
|
|
MYPARMS += EXTRA_CFLAGS="$(MYEXTRA_CFLAGS)"
|
|
endif
|
|
|
|
# include user headers information
|
|
unifdef-y :=
|
|
include $(DRMINC)/Kbuild
|
|
|
|
|
|
.PHONY: all modules install clean archive headers FORCE
|
|
|
|
all: modules
|
|
FORCE:
|
|
|
|
modules:
|
|
$(MAKE) $(MYPARMS) modules
|
|
|
|
install:
|
|
$(MAKE) $(MYPARMS) modules_install
|
|
|
|
clean:
|
|
$(MAKE) $(MYPARMS) clean
|
|
|
|
headers:
|
|
mkdir -p $(HEADERINSDIR)
|
|
cd $(LINUXDIR) && \
|
|
perl scripts/headers_install.pl $(DRMINC) $(HEADERINSDIR) dummy \
|
|
$(unifdef-y)
|
|
|
|
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
|