51 lines
1.9 KiB
Plaintext
51 lines
1.9 KiB
Plaintext
#*******************************************************************************
|
|
#The rule of make Linux kernel module
|
|
#*******************************************************************************
|
|
BUILD_DIR = $(TEMP_PATH)/$(subst $(SDK_PATH)/,,$(CURDIR))
|
|
BUILD_DIR_MAKEFILE := $(BUILD_DIR)/Makefile
|
|
|
|
$(TARGET)-objs = $(SRCS:%.c=%.o)
|
|
|
|
ifneq ($(KERNELRELEASE),)
|
|
obj-m += $(TARGET).o
|
|
endif
|
|
|
|
EXTDRV_KO=$(REL_KO)/extdrv
|
|
|
|
EXTRA_CFLAGS += $(EXTDRV_CFLAGS)
|
|
|
|
#*******************************************************************************
|
|
#The file need tobe clean, when make clean
|
|
CLEAN_FILE := $(SRCS:%.c=%.o)
|
|
CLEAN_FILE += $(SRCS:%.c=%.o.cmd)
|
|
CLEAN_FILE += $(join $(dir $(SRCS)), $(patsubst %.c, .%.o.cmd, $(notdir $(SRCS))))
|
|
CLEAN_FILE += $(TARGET).mod.c \
|
|
$(TARGET).ko.cmd \
|
|
$(TARGET).ko \
|
|
$(TARGET).o \
|
|
$(TARGET).mod.o \
|
|
.$(TARGET).ko.cmd \
|
|
.$(TARGET).o.cmd \
|
|
.$(TARGET).mod.o.cmd
|
|
|
|
#*******************************************************************************
|
|
.PHONY: default clean
|
|
default:
|
|
@echo -e "\e[0;32;1m--Compiling '$(TARGET)'... Configs as follow:\e[0;36;1m"
|
|
@echo ---- CROSS=$(CROSS)
|
|
@echo ---- OT_ARCH=$(OT_ARCH), OT_CHIP=$(OT_CHIP), CVER=$(CVER), OT_FPGA=$(OT_FPGA)
|
|
@echo ---- CPU_TYPE=$(CPU_TYPE)
|
|
@echo ---- MPP_CFLAGS=$(MPP_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 ---- $(EXTRA_CFLAGS)
|
|
@@echo -e "\e[0m"
|
|
@mkdir -p $(BUILD_DIR)
|
|
@touch $(BUILD_DIR_MAKEFILE)
|
|
@$(MAKE) -C $(KERNEL_ROOT) M=$(BUILD_DIR) src=$(CURDIR) O=$(KERNEL_ROOT) V=10 modules -j 24
|
|
@mkdir -p $(EXTDRV_KO) && cp -rf $(BUILD_DIR)/$(TARGET).ko $(EXTDRV_KO)
|
|
clean:
|
|
@rm -f $(EXTDRV_KO)/$(TARGET).ko
|
|
@rm -rf $(addprefix $(BUILD_DIR)/,$(CLEAN_FILE) .tmp_versions Module.symvers modules.order)
|