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 17DRIVER_DIR := $(PWD) 18 19ifneq ($(HI_MAKE_DEBUG),) 20EXTRA_CFLAGS +=-D$(HI_MAKE_DEBUG) 21endif 22 23ifeq ($(SIXTYFOUR_SYS_STATUS), y) 24EXTRA_CFLAGS += -DSIXFOUR_SYS_STATUS=1 25else 26EXTRA_CFLAGS += -DSIXFOUR_SYS_STATUS=0 27endif 28 29EXTRA_CFLAGS += $(DRV_CFLAGS) 30EXTRA_CFLAGS += -Wall -D$(HIARCH) -D$(HI_FPGA) 31EXTRA_CFLAGS += -I$(SDK_PATH)/osal/include 32ifeq ($(CONFIG_HI_PROC_SHOW_SUPPORT),y) 33EXTRA_CFLAGS += -DCONFIG_HI_PROC_SHOW_SUPPORT 34endif 35CHIP_TYPE=CHIP_TYPE_$(HIARCH) 36KBUILD_EXTRA_SYMBOLS += $(HI_KBUILD_EXTRA_SYMBOLS) 37 38EXTRA_CFLAGS += -D$(CHIP_TYPE) 39ifeq ($(HIGDB),y) 40EXTRA_CFLAGS += -g 41endif 42 43EXTRA_CFLAGS += -DHI_TDE_MEMCOUNT_SUPPORT=0 44EXTRA_CFLAGS += -DHI_TDE_BUFFER=0x20000 45 46DRIVER_SRC+=src/src/tde_osr.c\ 47 src/adp/tde_v2_0/tde_hal_k.c \ 48 src/adp/tde_v2_0/tde_osictl_k.c \ 49 src/src/tde_osilist.c \ 50 src/src/wmalloc.c \ 51 src/src/tde_ioctl.c \ 52 src/src/tde_handle.c \ 53 src/adp/tde_v2_0/tde_adp.c 54 55ifdef CONFIG_HI_PROC_SHOW_SUPPORT 56DRIVER_SRC+= src/src/tde_proc.c 57endif 58 59INIT_FILE := ../init/$(HIARCH)/$(OSTYPE)/tde_init.c 60INIT_HEAD := ../init/include/tde_init.h 61 62MOD_NAME := hi_tde 63 64EXTRA_CFLAGS += -DTDE_LOWPOWER 65 66 67DRIVER_SRC_O := $(DRIVER_SRC) 68DRIVER_SRC += $(INIT_FILE) 69 70$(ARCH_LIBNAME)_tde-objs := $(DRIVER_SRC:%.c=%.o) 71obj-m := $(ARCH_LIBNAME)_tde.o 72 73$(MOD_NAME)-objs := $(DRIVER_SRC_O:%.c=%.o) 74obj-m += $(MOD_NAME).o 75 76EXTRA_CFLAGS += -I$(DRIVER_DIR)/include/ \ 77 -I$(DRIVER_DIR)/../include/ \ 78 -I$(DRIVER_DIR)/../init/include/ \ 79 -I$(DRV_ROOT)/common/mmz \ 80 -I$(DRV_ROOT)/common/himedia/ \ 81 -I$(SDK_PATH)/mpp/cbb/base/include \ 82 -I$(SDK_PATH)/mpp/cbb/base/ext_inc \ 83 -I$(SDK_PATH)/mpp/cbb/base/mkp/include \ 84 -I$(SDK_PATH)/mpp/cbb/base/arch/$(ARCH_DIR)/include \ 85 -I$(CBB_ROOT)/base/arch/$(HIARCH)/include/$(HI_SUBARCH) \ 86 -I$(DRIVER_DIR)/src/include \ 87 -I$(DRIVER_DIR)/src/adp/tde_v2_0 \ 88 -I$(DRIVER_DIR)/src/src \ 89 -I$(SDK_PATH)/mpp/cbb/include/adapt \ 90 -I$(SDK_PATH)/mpp/cbb/include 91 92 93ifeq ($(FPGA),y) 94EXTRA_CFLAGS += -I$(SDK_PATH)/osdrv/$(ARCH_DIR)_fpga/linux/tools/board/reg-tools-1.0.0/include/common 95endif 96 97ifeq ($(CONFIG_DRIVER_SPACE_TYPE),user_space) 98EXTRA_CFLAGS :=$(subst base/,based/,$(EXTRA_CFLAGS)) 99EXTRA_CFLAGS :=$(subst sys/,sysd/,$(EXTRA_CFLAGS)) 100endif 101 102.PHONY: default clean 103default: 104 @echo $(tde-objs) 105 @echo $(EXTRA_CFLAGS) 106 @$(MAKE) -C $(KERNEL_ROOT) M=$(PWD) $(COMPILER_TRIPLE) modules 107 @cp -rf $(ARCH_LIBNAME)_tde.ko ../ 108ifeq ($(CONFIG_DRIVER_SPACE_TYPE),kernel_space) 109 @mkdir -p $(REL_OBJ) && cp -rf $(MOD_NAME).o $(REL_OBJ) 110 @mkdir -p $(REL_INI) && cp -rf $(INIT_FILE) $(REL_INI) 111 @mkdir -p $(REL_INI) && cp -rf $(INIT_HEAD) $(REL_INI) 112endif 113 114clean: 115 @$(MAKE) -C $(KERNEL_ROOT) M=$(PWD) $(COMPILER_TRIPLE) clean 116 @rm -f $(REL_LIB)/libtde.a $(REL_LIB)/libtde.so 117ifeq ($(CONFIG_DRIVER_SPACE_TYPE),kernel_space) 118 @rm -f $(REL_INI)/tde_init.c 119 @rm -f $(REL_INI)/tde_init.h 120endif 121 @for x in `find . -name "*.o*"`;do rm -rf $$x;done 122 @for x in `find . -name "*.o.cmd"`;do rm -rf $$x;done 123 @for x in `find ../ -name "*.ko*"`;do rm -rf $$x;done 124 @for x in `find ../init/$(HIARCH)/$(OSTYPE)/ -name "*.ko*"`;do rm -rf $$x;done 125 @for x in `find ../init/$(HIARCH)/$(OSTYPE)/ -name "*.o.cmd"`;do rm -rf $$x;done 126 @for x in `find ../init/$(HIARCH)/$(OSTYPE)/ -name "*.o*"`;do rm -rf $$x;done 127 @for x in `find . -name "*.ko*"`;do rm -rf $$x;done 128 @for x in `find . -name "*.ko.cmd"`;do rm -rf $$x;done 129 @for x in `find . -name "*.mod.c"`;do rm -rf $$x;done 130 @for x in `find . -name "*.mod"`;do rm -rf $$x;done 131 @for x in `find . -name ".*cmd"`;do rm -rf $$x;done 132 @for x in `find . -name ".tmp_versions*"`;do rm -rf $$x;done 133