mirror of
https://github.com/thead-yocto-mirror/vpu-vc8000e-kernel
synced 2026-09-10 01:55:00 +02:00
Linux_SDK_V0.9.5
This commit is contained in:
204
linux/kernel_module/Makefile
Executable file
204
linux/kernel_module/Makefile
Executable file
@@ -0,0 +1,204 @@
|
||||
#############################################################################
|
||||
#
|
||||
# The MIT License (MIT)
|
||||
#
|
||||
# Copyright (c) 2014 - 2021 VERISILICON
|
||||
#
|
||||
# Permission is hereby granted, free of charge, to any person obtaining a
|
||||
# copy of this software and associated documentation files (the "Software"),
|
||||
# to deal in the Software without restriction, including without limitation
|
||||
# the rights to use, copy, modify, merge, publish, distribute, sublicense,
|
||||
# and/or sell copies of the Software, and to permit persons to whom the
|
||||
# Software is furnished to do so, subject to the following conditions:
|
||||
#
|
||||
# The above copyright notice and this permission notice shall be included in
|
||||
# all copies or substantial portions of the Software.
|
||||
#
|
||||
# THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
|
||||
# IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
|
||||
# FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
|
||||
# AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
|
||||
# LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING
|
||||
# FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER
|
||||
# DEALINGS IN THE SOFTWARE.
|
||||
#
|
||||
#############################################################################
|
||||
#
|
||||
# The GPL License (GPL)
|
||||
#
|
||||
# Copyright (C) 2014 - 2021 VERISILICON
|
||||
#
|
||||
# This program is free software; you can redistribute it and/or
|
||||
# modify it under the terms of the GNU General Public License
|
||||
# as published by the Free Software Foundation; either version 2
|
||||
# of the License, or (at your option) any later version.
|
||||
#
|
||||
# This program is distributed in the hope that it will be useful,
|
||||
# but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||
# GNU General Public License for more details.
|
||||
#
|
||||
# You should have received a copy of the GNU General Public License
|
||||
# along with this program; if not, write to the Free Software Foundation,
|
||||
# Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.
|
||||
#
|
||||
#############################################################################
|
||||
#
|
||||
# Note: This software is released under dual MIT and GPL licenses. A
|
||||
# recipient may use this file under the terms of either the MIT license or
|
||||
# GPL License. If you wish to use only one license not the other, you can
|
||||
# indicate your decision by deleting one of the above license notices in your
|
||||
# version of this file.
|
||||
#
|
||||
##############################################################################
|
||||
ARM_CROSS_COMPILE ?= n
|
||||
|
||||
ifeq ($(ARM_CROSS_COMPILE),y)
|
||||
export ARCH=arm64
|
||||
export CROSS_COMPILE=/opt/kmb/gcc-arm-8.3-2019.03-x86_64-aarch64-linux-gnu/bin/aarch64-linux-gnu-
|
||||
KDIR := /home/vsi/kmb-evm/kernel/mainline-tracking
|
||||
endif
|
||||
|
||||
SUPPORT_MMU = y
|
||||
SUPPORT_AXIFE = n
|
||||
SUPPORT_VCMD_ENABLE_IP = n
|
||||
|
||||
ifeq ($(obj),)
|
||||
obj = .
|
||||
endif
|
||||
|
||||
#################################################
|
||||
# configuration
|
||||
|
||||
MDIR := hantro
|
||||
|
||||
# drivers objects
|
||||
# list-multi := hantro_mmu.o
|
||||
|
||||
# # what to build
|
||||
|
||||
vc8000-objs := vc8000_driver.o vc8000_vcmd_driver.o bidirect_list.o vcmdswhwregisters.o vc8000_normal_driver.o
|
||||
obj-m += vc8000.o
|
||||
|
||||
ifeq ($(strip $(SUPPORT_MMU)),y)
|
||||
vc8000-objs += hantro_mmu.o
|
||||
endif
|
||||
|
||||
ifeq ($(strip $(SUPPORT_AXIFE)),y)
|
||||
vc8000-objs += vc8000_axife.o
|
||||
endif
|
||||
|
||||
tardest := .
|
||||
|
||||
#################################################
|
||||
# compile modules
|
||||
|
||||
ifneq ($(KERNELRELEASE),)
|
||||
# recursive call from kernel build system
|
||||
dummy := $(shell echo $(KERNELRELEASE) > $(obj)/.version)
|
||||
|
||||
ifeq ($(VERSION).$(PATCHLEVEL),2.6)
|
||||
export-objs :=
|
||||
list-multi :=
|
||||
else
|
||||
multi-m := $(filter $(list-multi), $(obj-m))
|
||||
int-m := $(sort $(foreach m, $(multi-m), $($(basename $(m))-objs)))
|
||||
export-objs := $(filter $(int-m) $(obj-m),$(export-objs))
|
||||
endif
|
||||
|
||||
CC += -I$(obj)
|
||||
EXTRA_CFLAGS += -g
|
||||
|
||||
# Print debugging messages from the device
|
||||
#EXTRA_CFLAGS += -DHANTRO_DRIVER_DEBUG
|
||||
|
||||
#EXTRA_CFLAGS += -DHANTROMMU_DEBUG
|
||||
#EXTRA_CFLAGS += -DDYNAMIC_MALLOC_VCMDNODE
|
||||
|
||||
snapshot := $(wildcard $(obj)/.snapshot)
|
||||
ifneq ($(snapshot),)
|
||||
SNAPSHOT_CFLAGS := -DSNAPSHOT='$(shell cat $(snapshot))'
|
||||
EXTRA_CFLAGS += $(SNAPSHOT_CFLAGS)
|
||||
endif
|
||||
|
||||
ifeq ($(strip $(SUPPORT_MMU)),y)
|
||||
EXTRA_CFLAGS += -DHANTROMMU_SUPPORT
|
||||
endif
|
||||
|
||||
ifeq ($(strip $(SUPPORT_AXIFE)),y)
|
||||
EXTRA_CFLAGS += -DHANTROAXIFE_SUPPORT
|
||||
endif
|
||||
|
||||
ifeq ($(strip $(SUPPORT_VCMD_ENABLE_IP)),y)
|
||||
EXTRA_CFLAGS += -DHANTROVCMD_ENABLE_IP_SUPPORT
|
||||
endif
|
||||
|
||||
-include $(TOPDIR)/Rules.make
|
||||
else
|
||||
# take version info from last module build if available
|
||||
KERNELRELEASE := $(shell cat $(obj)/.version 2>/dev/null || uname -r)
|
||||
endif
|
||||
ifneq ($(ARM_CROSS_COMPILE),y)
|
||||
KDIR_BASE := /afs/hantro.com/projects/Testing/Board_Version_Control
|
||||
|
||||
#KDIR := $(KDIR_BASE)/Realview_EB/SW/Linux/v0_0/linux-2.6.19-arm2
|
||||
#KDIR := $(KDIR_BASE)/Realview_EB/SW/Linux/linux-2.6.21-arm1/v0_0/linux-2.6.21-arm1
|
||||
#KDIR := $(KDIR_BASE)/Realview_PB/PB926EJS/SW/Linux/linux-2.6.24-arm2-spnlck/v0_1/linux-2.6.24-arm2-spnlck
|
||||
#KDIR := $(KDIR_BASE)/Realview_PB/PB926EJS/SW/Linux/linux-2.6.28-arm1/v0_1/linux-2.6.28-arm1
|
||||
#KDIR := $(KDIR_BASE)/SW_Common/ARM_realview_v6/2.6.28-arm1/v0_1-v6/linux-2.6.28-arm1
|
||||
|
||||
KVER := $(shell uname -r)
|
||||
KDIR := /lib/modules/$(KVER)/build
|
||||
endif
|
||||
|
||||
PWD := $(shell pwd)
|
||||
DEST := /lib/modules/$(KERNELRELEASE)/$(MDIR)
|
||||
|
||||
# which files to install?
|
||||
inst-m := $(wildcard *.ko)
|
||||
ifeq ($(inst-m),)
|
||||
inst-m := $(obj-m)
|
||||
endif
|
||||
|
||||
# locales seem to cause trouble sometimes.
|
||||
LC_ALL = POSIX
|
||||
export LC_ALL
|
||||
|
||||
default::
|
||||
$(MAKE) -C $(KDIR) M=$(PWD) modules
|
||||
|
||||
install::
|
||||
strip --strip-debug $(inst-m)
|
||||
-su -c "mkdir -p $(DEST); cp -v $(inst-m) $(DEST); depmod -a"
|
||||
|
||||
clean::
|
||||
$(MAKE) -C $(KDIR) M=$(PWD) clean
|
||||
-rm -f .version
|
||||
|
||||
#################################################
|
||||
# build tarballs
|
||||
|
||||
thisdir := $(notdir $(PWD))
|
||||
name := $(shell echo $(thisdir) | sed 's/-.*//')
|
||||
ver := $(shell echo $(thisdir) | sed 's/.*-//')
|
||||
date := $(shell date +%Y%m%d)
|
||||
tardest ?= .
|
||||
|
||||
snapdir := $(HOME)/snapshot
|
||||
snap ?= $(name)
|
||||
|
||||
release: clean
|
||||
rm -f .snapshot
|
||||
(cd ..; tar cvzf $(tardest)/$(name)-$(ver).tar.gz $(thisdir))
|
||||
|
||||
snapshot snap tarball: clean
|
||||
echo $(date) > .snapshot
|
||||
(cd ..; tar czf $(snapdir)/$(snap)-$(date).tar.gz $(thisdir))
|
||||
$(MAKE) -C $(snapdir)
|
||||
|
||||
#################################################
|
||||
# other stuff
|
||||
|
||||
%.asm: %.o
|
||||
objdump -S $< > $@
|
||||
|
||||
Reference in New Issue
Block a user