blob: d9a44aa6e3398bf4429e1418d74790070f102c59 [file] [log] [blame]
# Makefile for MT76x8 combo driver
##############################################################
# Common settings
##############################################################
#BT_CHIP_ID := mt79xx
PWD=$(shell pwd)
DRIVER_DIR=$(PWD)
MODULE_NAME := btmtk_usb_unify
##############################################################
# Platform specific
##############################################################
# Set default platform
PLATFORM:=MT53XX
ifeq ($(PLATFORM),MT53XX)
TARGET = LINUX
# Sets DRIVER_PARTIAL_BUILD to y to compile driver only, otherwise set to n
DRIVER_PARTIAL_BUILD := n
#
# [ Driver Partial Build ]
#
ifeq ($(DRIVER_PARTIAL_BUILD),y)
# Please adjust the following variables according to your build attempt
ifeq ($(ANDROID),)
ANDROID=false
endif
64BIT_MODE := false
LINUX_ROOT ?= $(word 1, $(subst /apollo/,/apollo /, $(shell pwd -L)))
ifeq ($(ANDROID),true)
# -> Android, driver partial build
SYSBUILD_NAME=m-base
RELEASE_NAME=mediatek/mt5891_eu_64
KERNEL_VER=3.18
KERNEL_CONFIG=mt5891_android_smp_mod_defconfig
ifeq ($(64BIT_MODE),true)
export 64BIT_MODE=true
export KERNEL_64BIT=true
export TOOL_CHAIN_64BIT=4.9.3
endif
ifeq "$(UTOPIA)" "true"
LINUX_SRC = $(UTOPIA_KERNEL_ROOT)/$(subst linux-,,$(KERNEL_VER))
else
LINUX_SRC=$(LINUX_ROOT)/../android/$(SYSBUILD_NAME)/out/mediatek_linux/output/$(RELEASE_NAME)/rel/obj/kernel/linux_core/kernel/linux-$(KERNEL_VER)/$(KERNEL_CONFIG)_modules
endif
OBJ_ROOT ?= $(LINUX_ROOT)/../android/$(SYSBUILD_NAME)/out/mediatek_linux/output/$(RELEASE_NAME)/rel/obj
export KERNEL_OBJ_ROOT=$(LINUX_SRC)/../..
else
# -> Linux, driver partial build
# !NOTE! Edit the following parameters!
SYSBUILD_NAME := sys_build/XXXX
RELEASE_NAME=mt5891_eu
KERNEL_VER=3.10?
KERNEL_CONFIG=mt5891_smp_mod_defconfig
ifeq ($(64BIT_MODE),true)
export 64BIT_MODE=true
export KERNEL_64BIT=true
export TOOL_CHAIN_64BIT=4.9.3
endif
ifeq "$(UTOPIA)" "true"
LINUX_SRC = $(UTOPIA_KERNEL_ROOT)/$(subst linux-,,$(KERNEL_VER))
else
LINUX_SRC=$(LINUX_ROOT)/$(SYSBUILD_NAME)/$(RELEASE_NAME)/rel_obj/kernel/linux_core/kernel/linux-$(KERNEL_VER)/$(KERNEL_CONFIG)_modules
endif
OBJ_ROOT := $(LINUX_ROOT)/$(SYSBUILD_NAME)/$(RELEASE_NAME)/rel_obj
export KERNEL_OBJ_ROOT=$(LINUX_SRC)/../..
CROSS_COMPILE=$(KERNEL_CROSS_COMPILE)
endif
#
# [ Sys build ]
#
else
ifeq "$(UTOPIA)" "true"
LINUX_SRC = $(UTOPIA_KERNEL_ROOT)/$(subst linux-,,$(KERNEL_VER))
OUT_STA_KO_DIR = $(LINUX_ROOT)/linux_mts/ko_modules/bt_driver_linux_v2
OUT_STA_KO = $(LINUX_ROOT)/linux_mts/ko_modules/bt_driver_linux_v2/$(MODULE_NAME).ko
else
LINUX_SRC=$(KERNEL_OBJ_ROOT)/$(KERNEL_VER)/$(KERNEL_CONFIG)_modules
# overwrite $(OUT_STA_KO) for MT53XX platform
OUT_STA_KO_DIR = $(OBJ_ROOT)/linux_mts/ko_modules/bt_driver_linux_v2
OUT_STA_KO = $(OBJ_ROOT)/linux_mts/ko_modules/bt_driver_linux_v2/$(MODULE_NAME).ko
endif
include $(LINUX_ROOT)/linux_mts/build/mak/toolchain.mak
endif
CROSS_COMPILE=$(KERNEL_CROSS_COMPILE)
ifeq ($(CROSS_COMPILE),)
CROSS_COMPILE=$(KERNEL_CROSS_COMPILE)
endif
ifeq "$(CC)" "gcc"
CC ?= $(CROSS_COMPILE)gcc
endif
$(warning =============================================)
$(warning bt driver unify LINUX_SRC=$(LINUX_SRC))
$(warning CROSS_COMPILE=$(CROSS_COMPILE))
$(warning KERNEL_CROSS_COMPILE=$(KERNEL_CROSS_COMPILE))
$(warning =============================================)
endif
#- - - - - - - - - - - - - - - - - - - - - - - - - - - -
# MT53XX end
#= = = = = = = = = = = = = = = = = = = = = = = = = = = =
##############################################################
# Compile options
##############################################################
##############################################################
# Compile settings
##############################################################
all: driver
driver:
ifeq "$(UTOPIA)" "true"
+cd $(DRIVER_DIR) && make -C $(LINUX_SRC) M=$(DRIVER_DIR) PLATFORM_FLAGS="$(PLATFORM_FLAGS)" MTK_CHIP_IF=usb modules CROSS_COMPILE=$(KERNEL_CROSS_COMPILE)
else
$(warning bt driver unify1111 LINUX_SRC=$(LINUX_SRC))
+cd $(DRIVER_DIR) && make -C $(LINUX_SRC) M=$(DRIVER_DIR) PLATFORM_FLAGS="$(PLATFORM_FLAGS)" MTK_CHIP_IF=usb modules
endif
ifeq ($(PLATFORM),MSTAR)
$(CROSS_COMPILE)strip --strip-unneeded $(MODULE_NAME).ko
endif
ifeq ($(PLATFORM),MT53XX)
ifeq ($(DRIVER_PARTIAL_BUILD), y)
@cd $(DRIVER_DIR) && $(CROSS_COMPILE)strip --strip-unneeded $(MODULE_NAME).ko
else
$(KERNEL_CROSS_COMPILE)strip --strip-unneeded $(OUT_STA_KO)
endif
endif
##############################################################
# Post processing
##############################################################
#= = = = = = = = = = = = = = = = = = = = = = = = = = = =
# MT53XX start
#- - - - - - - - - - - - - - - - - - - - - - - - - - - -
ifeq ($(PLATFORM),MT53XX)
ifneq ($(DRIVER_PARTIAL_BUILD), y)
ifneq ($(ANDROID),true)
if [ -d $(OUTPUT_ROOT)/basic/bt_ko ]; then \
cp -f $(OUT_STA_KO) $(OUTPUT_ROOT)/basic/bt_ko/$(MODULE_NAME).ko; \
$(KERNEL_STRIP) $(STRIP_FLAG) $(OUTPUT_ROOT)/basic/bt_ko/$(MODULE_NAME).ko; \
fi
else
if [ ! -d $(OUTPUT_ROOT)/basic/modules ]; then \
mkdir -p $(OUTPUT_ROOT)/basic/modules/; \
fi
if [ -d $(OUTPUT_ROOT)/basic/modules ]; then \
cp -f $(OUT_STA_KO) $(OUTPUT_ROOT)/basic/modules/$(MODULE_NAME).ko; \
fi
endif # ifneq ($(ANDROID),true)
endif # ifneq ($(DRIVER_PARTIAL_BUILD), y)
endif # ifeq ($(PLATFORM),MT53XX)
#- - - - - - - - - - - - - - - - - - - - - - - - - - - -
# MT53XX end
#= = = = = = = = = = = = = = = = = = = = = = = = = = = =
clean: driver_clean
ifeq ($(PLATFORM),MT53XX)
ifeq ($(S_PLATFORM),true)
if [ -d $(OUTPUT_ROOT)/basic/modules ]; then \
rm -f $(OUTPUT_ROOT)/basic/modules/mt7921_patch_e1_hdr.bin; \
rm -f $(OUTPUT_ROOT)/basic/modules/mt7921_patch_e2_hdr.bin; \
fi
endif
endif
driver_clean:
ifneq ($(ANDROID),true)
rm -rf $(THIRDPARTY_LIB_ROOT)/bt
endif
if [ -d $(DRIVER_DIR) ] && [ -d $(LINUX_SRC) ]; then \
cd $(DRIVER_DIR) && make -C $(LINUX_SRC) M=$(DRIVER_DIR) MODULE_NAME=$(MODULE_NAME) clean; \
fi
if [ -e $(DRIVER_DIR)/$(MODULE_NAME).ko ]; then rm $(DRIVER_DIR)/$(MODULE_NAME).ko; fi;
.PHONY: all clean driver driver_clean