• Home
  • Line#
  • Scopes#
  • Navigate#
  • Raw
  • Download
1# Copyright (C) 2021 HiSilicon (Shanghai) Technologies CO., LIMITED.
2#
3# This program is free software; you can redistribute it and/or
4# modify it under the terms of the GNU General Public License
5# as published by the Free Software Foundation; either version 2
6# of the License, or (at your option) any later version.
7#
8# This program is distributed in the hope that it will be useful,
9# but WITHOUT ANY WARRANTY; without even the implied warranty of
10# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
11# GNU General Public License for more details.
12#
13# You should have received a copy of the GNU General Public License
14# along with this program; if not, write to the Free Software
15# Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA  02110-1301, USA.
16
17# use C01 to indicate uclibc, C02 to  indicate glibc, C05 to indicate LiteOS.
18ifeq ($(FPGA),n)
19	ifeq ($(LIBC),glibc)
20		export CVER?=.C02
21	else
22		export CVER?=.C01
23	endif
24else
25	ifeq ($(LIBC),glibc)
26		export CVER?=.C12
27	else
28		export CVER?=.C11
29	endif
30
31endif
32
33ifeq ($(HIARCH), $(filter $(HIARCH),hi3519av100 hi3516cv500))
34    ifeq ($(ARM_ARCH), smp)
35	POSTFIX:=
36    else
37	POSTFIX:=
38    endif
39endif
40
41ifeq ($(HIARCH), $(filter $(HI_SUBARCH),hi3519av100))
42    ifeq ($(ARM_ARCH), amp)
43    export CVER=.C$(DBG_FLAG)8
44    endif
45endif
46
47
48ifeq ($(HIARCH), hi3516cv500)
49    ifneq ($(CONFIG_CUSTOMER_VERSION), COMMON)
50    export CVER=.C$(DBG_FLAG)4
51    endif
52endif
53
54##############################################################################
55# Allocated the kernel position
56ifeq ($(KERNEL_VERSION), )
57KERNEL_VERSION=linux-5.10
58endif
59
60ifeq ($(MPP_BUILD), y)
61    ifeq ($(HIARCH),$(filter $(HIARCH), hi3559av100))
62        export KERNEL_ROOT?=$(HIWORK_PATH)/osdrv$(HI_SUBARCH)$(CVER)/open_source/linux/$(KERNEL_NAME)
63    else ifeq ($(HIARCH),$(filter $(HIARCH), hi3519av100 hi3516cv500))
64        export KERNEL_ROOT?=$(HIWORK_PATH)/osdrv$(HI_SUBARCH)$(CVER)/open_source/linux/$(KERNEL_NAME)$(POSTFIX)
65    else ifeq ($(HIARCH),$(filter $(HIARCH), hi3516ev200))
66	export KERNEL_ROOT?=$(HIWORK_PATH)/osdrv$(HIARCH)$(CVER)/open_source/linux/$(KERNEL_NAME)$(POSTFIX)
67    else
68        export KERNEL_ROOT?=$(HIWORK_PATH)/osdrv$(HIARCH)$(CVER)/open_source/linux/$(KERNEL_NAME)$(POSTFIX)
69    endif
70else
71    ifeq ($(HIARCH),$(filter $(HIARCH), hi3559av100es hi3559av100))
72		export KERNEL_ROOT?=$(SDK_PATH)/open_source/linux/$(KERNEL_NAME)
73	else ifeq ($(HIARCH),$(filter $(HIARCH), hi3516ev200))
74		export KERNEL_ROOT?=$(SDK_PATH)/open_source/linux/$(KERNEL_NAME)$(POSTFIX)
75    else
76    ifeq ($(OHOS_LITE), y)
77        export KERNEL_ROOT?=$(OHOS_ROOT_PATH)/out/hispark_taurus/ipcamera_hispark_taurus_linux/kernel/$(KERNEL_VERSION)
78        export KBUILD_OUTPUT=$(OHOS_ROOT_PATH)/out/hispark_taurus/ipcamera_hispark_taurus_linux/kernel/OBJ/$(KERNEL_VERSION)
79    else
80        export KERNEL_ROOT?=$(OHOS_ROOT_PATH)/out/KERNEL_OBJ/kernel/src_tmp/$(KERNEL_VERSION)
81        export KBUILD_OUTPUT=$(OHOS_ROOT_PATH)/out/KERNEL_OBJ/kernel/OBJ/$(KERNEL_VERSION)
82    endif
83    endif
84endif
85
86##############################################################################
87
88# Define cross compiler
89ifeq ($(CONFIG_USER_LLVM), y)
90ifeq ($(OHOS_LITE), y)
91    export SYSROOT_PATH := $(OHOS_ROOT_PATH)/sysroot
92   # export COMPILER_PATH := $(OHOS_ROOT_PATH)/prebuilts/clang/ohos/linux-x86_64/clang-10.0.1/bin
93    export COMPILER_PATH := $(COMPILER_PATH_DIR)
94    export CC := $(COMPILER_PATH)/clang
95    export AR := ar
96else
97    export COMPILER_PATH := $(COMPILER_PATH_DIR)
98    export CROSS_PATH := $(OHOS_ROOT_PATH)/prebuilts/gcc/linux-x86/arm/gcc-linaro-7.5.0-arm-linux-gnueabi/bin
99    export CC := $(COMPILER_PATH)/clang
100    export AR := $(CROSS_PATH)/$(CROSS)ar
101endif
102else
103    export CC := $(CROSS)gcc
104    export AR := $(CROSS)ar
105endif
106
107export REL_INC := $(REL_DIR)/include
108export REL_LIB := $(REL_DIR)/lib
109export REL_KO  := $(REL_DIR)/../../out/ko
110export REL_OBJ := $(REL_DIR)/obj
111export REL_INI := $(REL_DIR)/init
112export ADAPT_INC := $(REL_DIR)/include/adapt
113
114LIBS_LD_CFLAGS += -ldl
115MPP_CFLAGS += -Wno-date-time
116DRV_CFLAGS += -Wno-date-time
117
118ifeq ($(LIBC), uclibc)
119    MPP_CFLAGS += -D_GNU_SOURCE
120endif
121ifeq ($(MPP_BUILD), y)
122    DRV_CFLAGS += -Werror
123    MPP_CFLAGS += -Werror
124    LIBS_CFLAGS += -Werror
125endif
126
127ifeq ($(CONFIG_USER_LLVM), y)
128ifeq ($(OHOS_LITE), y)
129    COMPILER_TRIPLE += "CROSS_COMPILE=arm-linux-gnueabi-"
130else
131    COMPILER_TRIPLE += "CROSS_COMPILE=$(CROSS_PATH)/$(CONFIG_HI_CROSS)"
132    COMPILER_TRIPLE += "HOSTCC=$(COMPILER_PATH)/clang"
133endif
134    COMPILER_TRIPLE += "CC=$(COMPILER_PATH)/clang"
135    export COMPILER_TRIPLE
136endif
137
138export HI_KBUILD_EXTRA_SYMBOLS
139HI_KBUILD_EXTRA_SYMBOLS += "$(OSAL_ROOT)/$(OSTYPE)/kernel/Module.symvers"
140HI_KBUILD_EXTRA_SYMBOLS += "$(MPP_PATH)/cbb/base/Module.symvers"
141HI_KBUILD_EXTRA_SYMBOLS += "$(MPP_PATH)/cbb/sys/Module.symvers"
142#HI_KBUILD_EXTRA_SYMBOLS += "$(MPP_PATH)/component/securec/src/Module.symvers"
143