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 17ifeq ($(PARAM_FILE), ) 18 PARAM_FILE:=../../../mpp/Makefile.param 19 include $(PARAM_FILE) 20endif 21 22TARGET := sys_config 23#************************************************************************* 24# all source file in this module 25SRCS := sys_config.c 26#************************************************************************* 27EXTRA_CFLAGS += $(MPP_CFLAGS) 28EXTRA_CFLAGS += $(MKP_CFLAGS) 29EXTRA_CFLAGS += -I./ 30EXTRA_CFLAGS += -I$(REL_INC) 31EXTRA_CFLAGS += -D$(HI_FPGA) 32EXTRA_CFLAGS += -I$(CBB_ROOT)/include 33ifeq ($(OSTYPE), liteos) 34EXTRA_CFLAGS += $(CFLAGS) 35endif 36 37.PHONY: all clean 38all: $(OSTYPE)_build 39clean: $(OSTYPE)_clean 40 41############################################# 42$(TARGET)-obj = $(SRCS:%.c=%.o) 43ifneq ($(KERNELRELEASE),) 44 obj-m += sys_config.o 45endif 46 47linux_build: 48 @echo -e "\e[0;32;1m--Compiling '$(TARGET)'... Configs as follow:\e[0;36;1m" 49 @echo ---- CROSS=$(CROSS) 50 @echo ---- HIARCH=$(HIARCH), HICHIP=$(HICHIP), CVER=$(CVER), DBG=$(HIDBG), HI_FPGA=$(HI_FPGA) 51 @echo ---- CPU_TYPE=$(CPU_TYPE) 52 @echo ---- MPP_CFLAGS=$(MPP_CFLAGS) 53 @echo ---- SDK_PATH=$(SDK_PATH) , PARAM_FILE=$(PARAM_FILE) 54 @echo ---- KERNEL_ROOT=$(KERNEL_ROOT) 55 @@echo -e "\e[0m" 56 @mkdir -p $(REL_INC) 57 @$(MAKE) -C $(KERNEL_ROOT) M=$(PWD) $(COMPILER_TRIPLE) modules 58 @mkdir -p $(REL_KO) && cp $(TARGET).ko $(REL_KO) 59 60linux_clean: 61 @rm -f *.o *.ko *.mod.c 62 @rm -f *.symvers *.order 63 @rm -rf .*.ko.cmd .*.o.cmd .tmp_versions 64 @rm -f $(REL_KO)/$(TARGET).ko 65 66#============================================ 67 68############################################# 69OBJS = $(SRCS:%.c=%.o) 70LIB := lib$(TARGET).a 71 72liteos_build: $(OBJS) $(LIB) 73 @echo -e "\e[0;32;1m--Compiling '$(TARGET)'...\e[0;36;1m" 74 @echo ---- CROSS=$(CROSS) 75 @echo ---- HIARCH=$(HIARCH), HICHIP=$(HICHIP), CVER=$(CVER), DBG=$(HIDBG), HI_FPGA=$(HI_FPGA) 76 @echo ---- CPU_TYPE=$(CPU_TYPE) 77 @echo ---- MPP_CFLAGS=$(MPP_CFLAGS) 78 @echo ---- SDK_PATH=$(SDK_PATH) , PARAM_FILE=$(PARAM_FILE) 79 @@echo -e "\e[0m" 80 @mkdir -p $(REL_KO) 81 @cp -rf $(LIB) $(REL_KO)/ 82 @mkdir -p $(REL_INC) && cp -f sys_config.h $(REL_INC)/ 83 84 85liteos_clean: 86 @rm -f $(OBJS) $(LIB) 87 @rm -f $(REL_KO)/$(LIB) 88 89$(OBJS): %.o : %.c 90 @$(CC) $(EXTRA_CFLAGS) -c $< -o $@ 91 92$(LIB): $(OBJS) 93 @$(AR) $(ARFLAGS) $@ $(OBJS) 94#============================================ 95