Prechádzať zdrojové kódy

audio-kernel: Enable out of tree compilaton

Add Makefile in each sub-folder
Add Android.mk file on top level folder of audio-kernel

Change-Id: I024aa5080ae52b55700f0a65ab05034be8c9cdad
Signed-off-by: Jyotirmoi Sarma <[email protected]>
Jyotirmoi Sarma 4 rokov pred
rodič
commit
6b78aacd7f

+ 284 - 0
Android.mk

@@ -0,0 +1,284 @@
+# Android makefile for audio kernel modules
+
+UAPI_OUT := $(PRODUCT_OUT)/obj/DLKM_OBJ/vendor/qcom/opensource/audio-kernel/include
+
+ifeq ($(call is-board-platform-in-list,taro), true)
+$(shell mkdir -p $(UAPI_OUT)/linux;)
+$(shell mkdir -p $(UAPI_OUT)/sound;)
+$(shell rm -rf $(PRODUCT_OUT)/obj/DLKM_OBJ/vendor/qcom/opensource/audio-kernel/Module.symvers)
+endif
+
+ifeq ($(call is-board-platform, taro),true)
+AUDIO_SELECT  := CONFIG_SND_SOC_WAIPIO=m
+endif
+
+# Build/Package only in case of supported target
+ifeq ($(call is-board-platform-in-list,taro), true)
+
+LOCAL_PATH := $(call my-dir)
+
+# This makefile is only for DLKM
+ifneq ($(findstring vendor,$(LOCAL_PATH)),)
+
+ifneq ($(findstring opensource,$(LOCAL_PATH)),)
+	AUDIO_BLD_DIR := $(shell pwd)/vendor/qcom/opensource/audio-kernel
+endif # opensource
+
+DLKM_DIR := $(TOP)/device/qcom/common/dlkm
+
+
+###########################################################
+# This is set once per LOCAL_PATH, not per (kernel) module
+KBUILD_OPTIONS := AUDIO_ROOT=$(AUDIO_BLD_DIR)
+
+# We are actually building audio.ko here, as per the
+# requirement we are specifying <chipset>_audio.ko as LOCAL_MODULE.
+# This means we need to rename the module to <chipset>_audio.ko
+# after audio.ko is built.
+KBUILD_OPTIONS += MODNAME=audio_dlkm
+KBUILD_OPTIONS += BOARD_PLATFORM=$(TARGET_BOARD_PLATFORM)
+KBUILD_OPTIONS += $(AUDIO_SELECT)
+
+########################### dsp ################################
+
+include $(CLEAR_VARS)
+LOCAL_MODULE              := q6_notifier_dlkm.ko
+LOCAL_MODULE_KBUILD_NAME  := dsp/q6_notifier_dlkm.ko
+LOCAL_MODULE_TAGS         := optional
+LOCAL_MODULE_DEBUG_ENABLE := true
+LOCAL_MODULE_PATH         := $(KERNEL_MODULES_OUT)
+include $(DLKM_DIR)/Build_external_kernelmodule.mk
+###########################################################
+include $(CLEAR_VARS)
+LOCAL_MODULE              := spf_core_dlkm.ko
+LOCAL_MODULE_KBUILD_NAME  := dsp/spf_core_dlkm.ko
+LOCAL_MODULE_TAGS         := optional
+LOCAL_MODULE_DEBUG_ENABLE := true
+LOCAL_MODULE_PATH         := $(KERNEL_MODULES_OUT)
+include $(DLKM_DIR)/Build_external_kernelmodule.mk
+###########################################################
+
+include $(CLEAR_VARS)
+LOCAL_MODULE              := audpkt_ion_dlkm.ko
+LOCAL_MODULE_KBUILD_NAME  := dsp/audpkt_ion_dlkm.ko
+LOCAL_MODULE_TAGS         := optional
+LOCAL_MODULE_DEBUG_ENABLE := true
+LOCAL_MODULE_PATH         := $(KERNEL_MODULES_OUT)
+include $(DLKM_DIR)/Build_external_kernelmodule.mk
+###########################################################
+include $(CLEAR_VARS)
+LOCAL_MODULE              := gpr_dlkm.ko
+LOCAL_MODULE_KBUILD_NAME  := ipc/gpr_dlkm.ko
+LOCAL_MODULE_TAGS         := optional
+LOCAL_MODULE_DEBUG_ENABLE := true
+LOCAL_MODULE_PATH         := $(KERNEL_MODULES_OUT)
+include $(DLKM_DIR)/Build_external_kernelmodule.mk
+###########################################################
+include $(CLEAR_VARS)
+LOCAL_MODULE              := audio_pkt_dlkm.ko
+LOCAL_MODULE_KBUILD_NAME  := ipc/audio_pkt_dlkm.ko
+LOCAL_MODULE_TAGS         := optional
+LOCAL_MODULE_DEBUG_ENABLE := true
+LOCAL_MODULE_PATH         := $(KERNEL_MODULES_OUT)
+include $(DLKM_DIR)/Build_external_kernelmodule.mk
+###########################################################
+include $(CLEAR_VARS)
+LOCAL_MODULE              := q6_dlkm.ko
+LOCAL_MODULE_KBUILD_NAME  := dsp/q6_dlkm.ko
+LOCAL_MODULE_TAGS         := optional
+LOCAL_MODULE_DEBUG_ENABLE := true
+LOCAL_MODULE_PATH         := $(KERNEL_MODULES_OUT)
+include $(DLKM_DIR)/Build_external_kernelmodule.mk
+###########################################################
+include $(CLEAR_VARS)
+LOCAL_MODULE              := adsp_loader_dlkm.ko
+LOCAL_MODULE_KBUILD_NAME  := dsp/adsp_loader_dlkm.ko
+LOCAL_MODULE_TAGS         := optional
+LOCAL_MODULE_DEBUG_ENABLE := true
+LOCAL_MODULE_PATH         := $(KERNEL_MODULES_OUT)
+include $(DLKM_DIR)/Build_external_kernelmodule.mk
+
+########################### ipc  ################################
+include $(CLEAR_VARS)
+LOCAL_MODULE              := audio_prm_dlkm.ko
+LOCAL_MODULE_KBUILD_NAME  := dsp/audio_prm_dlkm.ko
+LOCAL_MODULE_TAGS         := optional
+LOCAL_MODULE_DEBUG_ENABLE := true
+LOCAL_MODULE_PATH         := $(KERNEL_MODULES_OUT)
+include $(DLKM_DIR)/Build_external_kernelmodule.mk
+###########################################################
+include $(CLEAR_VARS)
+LOCAL_MODULE              := q6_pdr_dlkm.ko
+LOCAL_MODULE_KBUILD_NAME  := dsp/q6_pdr_dlkm.ko
+LOCAL_MODULE_TAGS         := optional
+LOCAL_MODULE_DEBUG_ENABLE := true
+LOCAL_MODULE_PATH         := $(KERNEL_MODULES_OUT)
+include $(DLKM_DIR)/Build_external_kernelmodule.mk
+
+############################ soc ###############################
+include $(CLEAR_VARS)
+LOCAL_MODULE              := pinctrl_lpi_dlkm.ko
+LOCAL_MODULE_KBUILD_NAME  := soc/pinctrl_lpi_dlkm.ko
+LOCAL_MODULE_TAGS         := optional
+LOCAL_MODULE_DEBUG_ENABLE := true
+LOCAL_MODULE_PATH         := $(KERNEL_MODULES_OUT)
+include $(DLKM_DIR)/Build_external_kernelmodule.mk
+###########################################################
+include $(CLEAR_VARS)
+LOCAL_MODULE              := swr_dlkm.ko
+LOCAL_MODULE_KBUILD_NAME  := soc/swr_dlkm.ko
+LOCAL_MODULE_TAGS         := optional
+LOCAL_MODULE_DEBUG_ENABLE := true
+LOCAL_MODULE_PATH         := $(KERNEL_MODULES_OUT)
+include $(DLKM_DIR)/Build_external_kernelmodule.mk
+###########################################################
+include $(CLEAR_VARS)
+LOCAL_MODULE              := swr_ctrl_dlkm.ko
+LOCAL_MODULE_KBUILD_NAME  := soc/swr_ctrl_dlkm.ko
+LOCAL_MODULE_TAGS         := optional
+LOCAL_MODULE_DEBUG_ENABLE := true
+LOCAL_MODULE_PATH         := $(KERNEL_MODULES_OUT)
+include $(DLKM_DIR)/Build_external_kernelmodule.mk
+###########################################################
+include $(CLEAR_VARS)
+LOCAL_MODULE              := snd_event_dlkm.ko
+LOCAL_MODULE_KBUILD_NAME  := soc/snd_event_dlkm.ko
+LOCAL_MODULE_TAGS         := optional
+LOCAL_MODULE_DEBUG_ENABLE := true
+LOCAL_MODULE_PATH         := $(KERNEL_MODULES_OUT)
+include $(DLKM_DIR)/Build_external_kernelmodule.mk
+###########################  ASOC CODEC ################################
+include $(CLEAR_VARS)
+LOCAL_MODULE              := wcd_core_dlkm.ko
+LOCAL_MODULE_KBUILD_NAME  := asoc/codecs/wcd_core_dlkm.ko
+LOCAL_MODULE_TAGS         := optional
+LOCAL_MODULE_DEBUG_ENABLE := true
+LOCAL_MODULE_PATH         := $(KERNEL_MODULES_OUT)
+include $(DLKM_DIR)/Build_external_kernelmodule.mk
+###########################################################
+include $(CLEAR_VARS)
+LOCAL_MODULE              := mbhc_dlkm.ko
+LOCAL_MODULE_KBUILD_NAME  := asoc/codecs/mbhc_dlkm.ko
+LOCAL_MODULE_TAGS         := optional
+LOCAL_MODULE_DEBUG_ENABLE := true
+LOCAL_MODULE_PATH         := $(KERNEL_MODULES_OUT)
+include $(DLKM_DIR)/Build_external_kernelmodule.mk
+###########################################################
+include $(CLEAR_VARS)
+LOCAL_MODULE              := swr_dmic_dlkm.ko
+LOCAL_MODULE_KBUILD_NAME  := asoc/codecs/swr_dmic_dlkm.o
+LOCAL_MODULE_TAGS         := optional
+LOCAL_MODULE_DEBUG_ENABLE := true
+LOCAL_MODULE_PATH         := $(KERNEL_MODULES_OUT)
+include $(DLKM_DIR)/Build_external_kernelmodule.mk
+###########################################################
+include $(CLEAR_VARS)
+LOCAL_MODULE              := wcd9xxx_dlkm.ko
+LOCAL_MODULE_KBUILD_NAME  := asoc/codecs/wcd9xxx_dlkm.ko
+LOCAL_MODULE_TAGS         := optional
+LOCAL_MODULE_DEBUG_ENABLE := true
+LOCAL_MODULE_PATH         := $(KERNEL_MODULES_OUT)
+include $(DLKM_DIR)/Build_external_kernelmodule.mk
+###########################################################
+include $(CLEAR_VARS)
+LOCAL_MODULE              := swr_haptics_dlkm.ko
+LOCAL_MODULE_KBUILD_NAME  := asoc/codecs/swr_haptics_dlkm.ko
+LOCAL_MODULE_TAGS         := optional
+LOCAL_MODULE_DEBUG_ENABLE := true
+LOCAL_MODULE_PATH         := $(KERNEL_MODULES_OUT)
+include $(DLKM_DIR)/Build_external_kernelmodule.mk
+###########################################################
+include $(CLEAR_VARS)
+LOCAL_MODULE              := stub_dlkm.ko
+LOCAL_MODULE_KBUILD_NAME  := asoc/codecs/stub_dlkm.ko
+LOCAL_MODULE_TAGS         := optional
+LOCAL_MODULE_DEBUG_ENABLE := true
+LOCAL_MODULE_PATH         := $(KERNEL_MODULES_OUT)
+include $(DLKM_DIR)/Build_external_kernelmodule.mk
+########################### ASOC MACHINE ################################
+include $(CLEAR_VARS)
+LOCAL_MODULE              := machine_dlkm.ko
+LOCAL_MODULE_KBUILD_NAME  := asoc/machine_dlkm.ko
+LOCAL_MODULE_TAGS         := optional
+LOCAL_MODULE_DEBUG_ENABLE := true
+LOCAL_MODULE_PATH         := $(KERNEL_MODULES_OUT)
+include $(DLKM_DIR)/Build_external_kernelmodule.mk
+########################### LPASS-CDC CODEC  ###########################
+include $(CLEAR_VARS)
+LOCAL_MODULE              := lpass_cdc_dlkm.ko
+LOCAL_MODULE_KBUILD_NAME  := asoc/codecs/lpass-cdc/lpass_cdc_dlkm.ko
+LOCAL_MODULE_TAGS         := optional
+LOCAL_MODULE_DEBUG_ENABLE := true
+LOCAL_MODULE_PATH         := $(KERNEL_MODULES_OUT)
+include $(DLKM_DIR)/Build_external_kernelmodule.mk
+###########################################################
+include $(CLEAR_VARS)
+LOCAL_MODULE              := lpass_cdc_wsa2_macro_dlkm.ko
+LOCAL_MODULE_KBUILD_NAME  := asoc/codecs/lpass-cdc/lpass_cdc_wsa2_macro_dlkm.ko
+LOCAL_MODULE_TAGS         := optional
+LOCAL_MODULE_DEBUG_ENABLE := true
+LOCAL_MODULE_PATH         := $(KERNEL_MODULES_OUT)
+include $(DLKM_DIR)/Build_external_kernelmodule.mk
+###########################################################
+include $(CLEAR_VARS)
+LOCAL_MODULE              := lpass_cdc_wsa_macro_dlkm.ko
+LOCAL_MODULE_KBUILD_NAME  := asoc/codecs/lpass-cdc/lpass_cdc_wsa_macro_dlkm.ko
+LOCAL_MODULE_TAGS         := optional
+LOCAL_MODULE_DEBUG_ENABLE := true
+LOCAL_MODULE_PATH         := $(KERNEL_MODULES_OUT)
+include $(DLKM_DIR)/Build_external_kernelmodule.mk
+###########################################################
+include $(CLEAR_VARS)
+LOCAL_MODULE              := lpass_cdc_va_macro_dlkm.ko
+LOCAL_MODULE_KBUILD_NAME  := asoc/codecs/lpass-cdc/lpass_cdc_va_macro_dlkm.ko
+LOCAL_MODULE_TAGS         := optional
+LOCAL_MODULE_DEBUG_ENABLE := true
+LOCAL_MODULE_PATH         := $(KERNEL_MODULES_OUT)
+include $(DLKM_DIR)/Build_external_kernelmodule.mk
+###########################################################
+include $(CLEAR_VARS)
+LOCAL_MODULE              := lpass_cdc_tx_macro_dlkm.ko
+LOCAL_MODULE_KBUILD_NAME  := asoc/codecs/lpass-cdc/lpass_cdc_tx_macro_dlkm.ko
+LOCAL_MODULE_TAGS         := optional
+LOCAL_MODULE_DEBUG_ENABLE := true
+LOCAL_MODULE_PATH         := $(KERNEL_MODULES_OUT)
+include $(DLKM_DIR)/Build_external_kernelmodule.mk
+###########################################################
+include $(CLEAR_VARS)
+LOCAL_MODULE              := lpass_cdc_rx_macro_dlkm.ko
+LOCAL_MODULE_KBUILD_NAME  := asoc/codecs/lpass-cdc/lpass_cdc_rx_macro_dlkm.ko
+LOCAL_MODULE_TAGS         := optional
+LOCAL_MODULE_DEBUG_ENABLE := true
+LOCAL_MODULE_PATH         := $(KERNEL_MODULES_OUT)
+include $(DLKM_DIR)/Build_external_kernelmodule.mk
+
+########################### WSA883x CODEC  ###########################
+include $(CLEAR_VARS)
+LOCAL_MODULE              := wsa883x_dlkm.ko
+LOCAL_MODULE_KBUILD_NAME  := asoc/codecs/wsa883x/wsa883x_dlkm.ko
+LOCAL_MODULE_TAGS         := optional
+LOCAL_MODULE_DEBUG_ENABLE := true
+LOCAL_MODULE_PATH         := $(KERNEL_MODULES_OUT)
+include $(DLKM_DIR)/Build_external_kernelmodule.mk
+
+
+########################### WCD938x CODEC  ################################
+include $(CLEAR_VARS)
+LOCAL_MODULE              := wcd938x_dlkm.ko
+LOCAL_MODULE_KBUILD_NAME  := asoc/codecs/wcd938x/wcd938x_dlkm.ko
+LOCAL_MODULE_TAGS         := optional
+LOCAL_MODULE_DEBUG_ENABLE := true
+LOCAL_MODULE_PATH         := $(KERNEL_MODULES_OUT)
+include $(DLKM_DIR)/Build_external_kernelmodule.mk
+###########################################################
+include $(CLEAR_VARS)
+LOCAL_MODULE              := wcd938x_slave_dlkm.ko
+LOCAL_MODULE_KBUILD_NAME  := asoc/codecs/wcd938x/wcd938x_slave_dlkm.ko
+LOCAL_MODULE_TAGS         := optional
+LOCAL_MODULE_DEBUG_ENABLE := true
+LOCAL_MODULE_PATH         := $(KERNEL_MODULES_OUT)
+include $(DLKM_DIR)/Build_external_kernelmodule.mk
+###########################################################
+
+endif # DLKM check
+endif # supported target check

+ 1 - 0
Kbuild

@@ -0,0 +1 @@
+obj-y := dsp/ ipc/ soc/ asoc/ asoc/codecs/ asoc/codecs/lpass-cdc/ asoc/codecs/wsa883x/ asoc/codecs/wcd938x/

+ 9 - 78
Makefile

@@ -1,82 +1,13 @@
-# auto-detect subdirs
-ifneq ($(CONFIG_ARCH_QTI_VM), y)
-ifeq ($(CONFIG_QTI_QUIN_GVM), y)
-include $(srctree)/techpack/audio/config/gvmauto.conf
-export
-endif
-ifeq ($(CONFIG_ARCH_SDXPOORWILLS), y)
-include $(srctree)/techpack/audio/config/sdxpoorwillsauto.conf
-export
-endif
-ifeq ($(CONFIG_ARCH_SM8150), y)
-include $(srctree)/techpack/audio/config/sm8150auto.conf
-export
-endif
-ifeq ($(CONFIG_ARCH_SDMSHRIKE), y)
-include $(srctree)/techpack/audio/config/sm8150auto.conf
-export
-endif
-ifeq ($(CONFIG_ARCH_KONA), y)
-include $(srctree)/techpack/audio/config/konaauto.conf
-endif
-ifeq ($(CONFIG_ARCH_LAHAINA), y)
-include $(srctree)/techpack/audio/config/lahainaauto.conf
-endif
-ifeq ($(CONFIG_ARCH_HOLI), y)
-include $(srctree)/techpack/audio/config/holiauto.conf
-endif
-ifeq ($(CONFIG_ARCH_SDXLEMUR), y)
-include $(srctree)/techpack/audio/config/sdxlemurauto.conf
-export
-endif
-endif
+M=$(PWD)
+AUDIO_ROOT=$(KERNEL_SRC)/$(M)
 
-# Use USERINCLUDE when you must reference the UAPI directories only.
-USERINCLUDE     += \
-                -I$(srctree)/techpack/audio/include/uapi/audio
+KBUILD_OPTIONS+=  AUDIO_ROOT=$(AUDIO_ROOT)
 
-# Use LINUXINCLUDE when you must reference the include/ directory.
-# Needed to be compatible with the O= option
-LINUXINCLUDE    += \
-                -I$(srctree)/techpack/audio/include/uapi \
-                -I$(srctree)/techpack/audio/include/uapi/audio \
-                -I$(srctree)/techpack/audio/include/asoc \
-                -I$(srctree)/techpack/audio/include
+all: modules
 
-ifeq ($(CONFIG_QTI_QUIN_GVM), y)
-LINUXINCLUDE    += \
-                -include $(srctree)/techpack/audio/config/gvmautoconf.h
-endif
-ifeq ($(CONFIG_ARCH_SDXPOORWILLS), y)
-LINUXINCLUDE    += \
-                -include $(srctree)/techpack/audio/config/sdxpoorwillsautoconf.h
-endif
-ifeq ($(CONFIG_ARCH_SM8150), y)
-LINUXINCLUDE    += \
-                -include $(srctree)/techpack/audio/config/sm8150autoconf.h
-endif
-ifeq ($(CONFIG_ARCH_SDMSHRIKE), y)
-LINUXINCLUDE    += \
-                -include $(srctree)/techpack/audio/config/sm8150autoconf.h
-endif
-ifeq ($(CONFIG_ARCH_KONA), y)
-LINUXINCLUDE    += \
-                -include $(srctree)/techpack/audio/config/konaautoconf.h
-endif
-ifeq ($(CONFIG_ARCH_LAHAINA), y)
-LINUXINCLUDE    += \
-                -include $(srctree)/techpack/audio/config/lahainaautoconf.h
-endif
-ifeq ($(CONFIG_ARCH_HOLI), y)
-LINUXINCLUDE    += \
-                -include $(srctree)/techpack/audio/config/holiautoconf.h
-endif
-ifeq ($(CONFIG_ARCH_SDXLEMUR), y)
-LINUXINCLUDE    += \
-                -include $(srctree)/techpack/audio/config/sdxlemurautoconf.h
-endif
+clean:
+	$(MAKE) -C $(KERNEL_SRC) M=$(M) clean
+
+%:
+	$(MAKE) -C $(KERNEL_SRC) M=$(M) $@ $(KBUILD_OPTIONS)
 
-obj-y += soc/
-obj-y += dsp/
-obj-y += ipc/
-obj-y += asoc/

+ 6 - 0
asoc/Makefile

@@ -0,0 +1,6 @@
+modules:
+	$(MAKE) -C $(KERNEL_SRC) M=$(M) modules $(KBUILD_OPTIONS) VERBOSE=1
+modules_install:
+	$(MAKE) M=$(M) -C $(KERNEL_SRC) modules_install
+clean:
+	$(MAKE) -C $(KERNEL_SRC) M=$(M) clean

+ 6 - 0
asoc/codecs/Makefile

@@ -0,0 +1,6 @@
+modules:
+	$(MAKE) -C $(KERNEL_SRC) M=$(M) modules $(KBUILD_OPTIONS) VERBOSE=1
+modules_install:
+	$(MAKE) M=$(M) -C $(KERNEL_SRC) modules_install
+clean:
+	$(MAKE) -C $(KERNEL_SRC) M=$(M) clean

+ 6 - 0
asoc/codecs/bolero/Makefile

@@ -0,0 +1,6 @@
+modules:
+	$(MAKE) -C $(KERNEL_SRC) M=$(M) modules $(KBUILD_OPTIONS) VERBOSE=1
+modules_install:
+	$(MAKE) M=$(M) -C $(KERNEL_SRC) modules_install
+clean:
+	$(MAKE) -C $(KERNEL_SRC) M=$(M) clean

+ 6 - 0
asoc/codecs/wcd937x/Makefile

@@ -0,0 +1,6 @@
+modules:
+	$(MAKE) -C $(KERNEL_SRC) M=$(M) modules $(KBUILD_OPTIONS) VERBOSE=1
+modules_install:
+	$(MAKE) M=$(M) -C $(KERNEL_SRC) modules_install
+clean:
+	$(MAKE) -C $(KERNEL_SRC) M=$(M) clean

+ 6 - 0
asoc/codecs/wcd938x/Makefile

@@ -0,0 +1,6 @@
+modules:
+	$(MAKE) -C $(KERNEL_SRC) M=$(M) modules $(KBUILD_OPTIONS) VERBOSE=1
+modules_install:
+	$(MAKE) M=$(M) -C $(KERNEL_SRC) modules_install
+clean:
+	$(MAKE) -C $(KERNEL_SRC) M=$(M) clean

+ 6 - 0
asoc/codecs/wsa883x/Makefile

@@ -0,0 +1,6 @@
+modules:
+	$(MAKE) -C $(KERNEL_SRC) M=$(M) modules $(KBUILD_OPTIONS) VERBOSE=1
+modules_install:
+	$(MAKE) M=$(M) -C $(KERNEL_SRC) modules_install
+clean:
+	$(MAKE) -C $(KERNEL_SRC) M=$(M) clean

+ 6 - 0
dsp/Makefile

@@ -0,0 +1,6 @@
+modules:
+	$(MAKE) -C $(KERNEL_SRC) M=$(M) modules $(KBUILD_OPTIONS) VERBOSE=1
+modules_install:
+	$(MAKE) M=$(M) -C $(KERNEL_SRC) modules_install
+clean:
+	$(MAKE) -C $(KERNEL_SRC) M=$(M) clean

+ 6 - 0
ipc/Makefile

@@ -0,0 +1,6 @@
+modules:
+	$(MAKE) -C $(KERNEL_SRC) M=$(M) modules $(KBUILD_OPTIONS) VERBOSE=1
+modules_install:
+	$(MAKE) M=$(M) -C $(KERNEL_SRC) modules_install
+clean:
+	$(MAKE) -C $(KERNEL_SRC) M=$(M) clean

+ 6 - 0
soc/Makefile

@@ -0,0 +1,6 @@
+modules:
+	$(MAKE) -C $(KERNEL_SRC) M=$(M) modules $(KBUILD_OPTIONS) VERBOSE=1
+modules_install:
+	$(MAKE) M=$(M) -C $(KERNEL_SRC) modules_install
+clean:
+	$(MAKE) -C $(KERNEL_SRC) M=$(M) clean