#******************************************************************************* # Gaoyang3513 All Right Reserved. # Author : # Version : V1.0.0 202x.xx.xx # Description : # Note : gaoyang3513@163.com Createe 202x.xx.xx #******************************************************************************* #******************************************************************************* # Path information #******************************************************************************* LOCAL_DIR := $(realpath $(dir $(lastword $(MAKEFILE_LIST)))) KERNEL_DIR ?= $(realpath $(LOCAL_DIR)/../../../kernel) # Subdirectory OUTPUT_DIR := $(LOCAL_DIR)/output INSTALL_DIR ?= $(LOCAL_DIR)/__install #$(info Output directoty : $(OUTPUT_DIR)) #$(info Install directoty: $(INSTALL_DIR)) #******************************************************************************* # Variables #******************************************************************************* MULTI_CORES ?= $(shell grep -c ^processor /proc/cpuinfo) #******************************************************************************* # Compile configure #******************************************************************************* CC := $(CROSS_COMPILE)gcc LD := $(CROSS_COMPILE)ld AR := $(CROSS_COMPILE)ar STRIP := $(CROSS_COMPILE)strip export ARCH CROSS_COMPILE #******************************************************************************* # Targets #******************************************************************************* .PHONY: init all clean install ifeq ($(KERNELRELEASE),) all: init @$(MAKE) modules -C $(KERNEL_DIR) M=$(LOCAL_DIR) -j$(MULTI_CORES) @$(MAKE) modules_install -C $(KERNEL_DIR) M=$(LOCAL_DIR) INSTALL_MOD_PATH=$(KERNEL_DIR)/_install_modules INSTALL_MOD_DIR=private clean: @for sub in $(SUB_DIRS); do \ $(MAKE) clean -C $$sub || exit "$$?"; \ done; # Directory @if [ -d $(LOCAL_DIR)/output ]; then rm -rf $(LOCAL_DIR)/output; fi; @if [ -d $(LOCAL_DIR)/__install ]; then rm -rf $(LOCAL_DIR)/__install; fi; @if [ -d $(LOCAL_DIR)/.tmp_versions ]; then rm -rf $(LOCAL_DIR)/.tmp_versions; fi; # File @for f in {Module.symvers,modules.order}; do \ if [ -e $$f ]; then rm -rf $$f; fi; \ done install: @mkdir -p $(INSTALL_DIR) @cp -arf $(OUTPUT_DIR)/. $(INSTALL_DIR) init: @mkdir -p $(OUTPUT_DIR); else # called from kernel build system: just declare what our modules are obj-$(CONFIG_TESTING_PSTORE) += test_ps.o endif # ifeq ($(KERNELRELEASE),)