#******************************************************************************* #The rule of make Linux kernel module #******************************************************************************* ifeq ($(PARAM_FILE), ) PARAM_FILE:=../../mpp/Makefile.param include $(PARAM_FILE) endif INIT_ROOT = $(REL_DIR)/init EXTRA_CFLAGS += $(MPP_CFLAGS) EXTRA_CFLAGS += -I$(REL_INC) EXTRA_CFLAGS += -I$(INIT_ROOT)/include EXTRA_CFLAGS += -I$(OSAL_ROOT)/include EXTRA_CFLAGS += -I$(REL_DIR)/component/gfbg/drv/include $(KO_PREFIX)_adec-objs = mod_adec.o ../init/src/adec_init.o $(KO_PREFIX)_aenc-objs = mod_aenc.o ../init/src/aenc_init.o $(KO_PREFIX)_ai-objs = mod_ai.o ../init/src/ai_init.o $(KO_PREFIX)_aio-objs = mod_aio.o ../init/src/aio_init.o $(KO_PREFIX)_ao-objs = mod_ao.o ../init/src/ao_init.o $(KO_PREFIX)_base-objs = mod_base.o ../init/src/base_init.o $(KO_PREFIX)_chnl-objs = mod_chnl.o ../init/src/chnl_init.o $(KO_PREFIX)_h264e-objs = mod_h264e.o ../init/src/h264e_init.o $(KO_PREFIX)_h265e-objs = mod_h265e.o ../init/src/h265e_init.o $(KO_PREFIX)_hdmi-objs = mod_hdmi.o ../init/src/hdmi_init.o $(KO_PREFIX)_ive-objs = mod_ive.o ../init/src/ive_init.o $(KO_PREFIX)_jpegd-objs = mod_jpegd.o ../init/src/jpegd_init.o $(KO_PREFIX)_jpege-objs = mod_jpege.o ../init/src/jpege_init.o $(KO_PREFIX)_mau-objs = mod_mau.o ../init/src/mau_init.o $(KO_PREFIX)_nnie-objs = mod_nnie.o ../init/src/nnie_init.o $(KO_PREFIX)_rc-objs = mod_rc.o ../init/src/rc_init.o $(KO_PREFIX)_rgn-objs = mod_rgn.o ../init/src/rgn_init.o $(KO_PREFIX)_svprt-objs = mod_svprt.o $(KO_PREFIX)_sys-objs = mod_sys.o ../init/src/sys_init.o $(KO_PREFIX)_tde-objs = mod_tde.o ../init/src/tde_init.o $(KO_PREFIX)_vda-objs = mod_vda.o ../init/src/vda_init.o $(KO_PREFIX)_vdec-objs = mod_vdec.o ../init/src/vdec_init.o $(KO_PREFIX)_vedu-objs = mod_vedu.o ../init/src/vedu_init.o $(KO_PREFIX)_venc-objs = mod_venc.o ../init/src/venc_init.o $(KO_PREFIX)_vfmw-objs = mod_vfmw.o ../init/src/vfmw_init.o $(KO_PREFIX)_vgs-objs = mod_vgs.o ../init/src/vgs_init.o $(KO_PREFIX)_vi-objs = mod_vi.o ../init/src/vi_init.o $(KO_PREFIX)_vo-objs = mod_vo.o ../init/src/vo_init.o $(KO_PREFIX)_vpss-objs = mod_vpss.o ../init/src/vpss_init.o obj-m += $(KO_PREFIX)_adec.o obj-m += $(KO_PREFIX)_aenc.o obj-m += $(KO_PREFIX)_ai.o obj-m += $(KO_PREFIX)_aio.o obj-m += $(KO_PREFIX)_ao.o obj-m += $(KO_PREFIX)_base.o obj-m += $(KO_PREFIX)_chnl.o obj-m += $(KO_PREFIX)_h264e.o obj-m += $(KO_PREFIX)_h265e.o obj-m += $(KO_PREFIX)_hdmi.o obj-m += $(KO_PREFIX)_ive.o obj-m += $(KO_PREFIX)_jpegd.o obj-m += $(KO_PREFIX)_jpege.o obj-m += $(KO_PREFIX)_mau.o obj-m += $(KO_PREFIX)_nnie.o obj-m += $(KO_PREFIX)_rc.o obj-m += $(KO_PREFIX)_rgn.o obj-m += $(KO_PREFIX)_svprt.o obj-m += $(KO_PREFIX)_sys.o obj-m += $(KO_PREFIX)_tde.o obj-m += $(KO_PREFIX)_vda.o obj-m += $(KO_PREFIX)_vdec.o obj-m += $(KO_PREFIX)_vedu.o obj-m += $(KO_PREFIX)_venc.o obj-m += $(KO_PREFIX)_vfmw.o obj-m += $(KO_PREFIX)_vgs.o obj-m += $(KO_PREFIX)_vi.o obj-m += $(KO_PREFIX)_vo.o obj-m += $(KO_PREFIX)_vpss.o default: @echo -e "\e[0;32;1m--Compiling '$(TARGET)'... Configs as follow:\e[0;36;1m" @echo ---- CROSS=$(CROSS) REL_INC=$(REL_INC) @echo ---- OT_SUBARCH=$(OT_SUBARCH), CVER=$(CVER), DBG=$(OT_DBG), OT_FPGA=$(OT_FPGA) @echo ---- CPU_TYPE=$(CPU_TYPE) REL_KO=$(REL_KO) @echo ---- EXTRA_CFLAGS=$(EXTRA_CFLAGS) @echo ---- SDK_PATH=$(SDK_PATH) , PARAM_FILE=$(PARAM_FILE) @echo ---- KERNEL_ROOT=$(KERNEL_ROOT) @echo ---- ARCH_ROOT=$(ARCH_ROOT), ARCH_HAL=$(ARCH_HAL) @echo ---- obj-m=$(obj-m) @@echo -e "\e[0m" @$(MAKE) -C $(KERNEL_ROOT) M=$(PWD) V=10 modules -j 24 @$(CROSS)strip --strip-unneeded *.ko @mkdir -p $(REL_KO) && cp -rf *.ko $(REL_KO) clean: @rm -f *.ko @rm .tmp_versions -rf @rm Module.symvers -f @rm modules.order -f @rm .*.cmd -f @rm *.mod.c -f @rm *.mod.o -f @rm $(KO_PREFIX)_*.o -f @rm ../init/src/*.o -f @rm ../init/src/.*.cmd -f