1# Copyright (c) 2020-2021 Huawei Device Co., Ltd. All rights reserved. 2# 3# Redistribution and use in source and binary forms, with or without modification, 4# are permitted provided that the following conditions are met: 5# 6# 1. Redistributions of source code must retain the above copyright notice, this list of 7# conditions and the following disclaimer. 8# 9# 2. Redistributions in binary form must reproduce the above copyright notice, this list 10# of conditions and the following disclaimer in the documentation and/or other materials 11# provided with the distribution. 12# 13# 3. Neither the name of the copyright holder nor the names of its contributors may be used 14# to endorse or promote products derived from this software without specific prior written 15# permission. 16# 17# THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS 18# "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, 19# THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR 20# PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR 21# CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, 22# EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, 23# PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; 24# OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, 25# WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR 26# OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF 27# ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. 28 29ifeq ($(LOSCFG_DRIVERS_HDF_USB_DDK_DEVICE), y) 30LITEOS_BASELIB += -L$(LITEOSTOPDIR)/../../device/soc/hisilicon/common/platform/libs/ohos/llvm/hi3516dv300 31LITEOS_BASELIB += -lusb_dwc3 32endif 33 34ifeq ($(LOSCFG_DRIVERS_HDF), y) 35 LITEOS_BASELIB += --whole-archive 36 LITEOS_DRIVERS_HDF := $(LITEOSTOPDIR)/../../drivers/hdf_core/adapter/khdf/liteos 37 LITEOS_SOURCE_ROOT := $(LITEOSTOPDIR)/../.. 38 LIB_SUBDIRS += $(LITEOS_DRIVERS_HDF) 39 HDF_FRAMEWORKS_PATH:= $(LITEOSTOPDIR)/../../drivers/hdf_core/framework 40 LITEOS_BASELIB += -lhdf 41 LITEOS_DRIVERS_HDF_INCLUDE += -I $(HDF_FRAMEWORKS_PATH)/core/common/include/manager 42 LITEOS_DRIVERS_HDF_INCLUDE += -I $(HDF_FRAMEWORKS_PATH)/core/common/include/host 43 LITEOS_DRIVERS_HDF_INCLUDE += -I $(HDF_FRAMEWORKS_PATH)/model/storage/include 44 LITEOS_DRIVERS_HDF_INCLUDE += -I $(HDF_FRAMEWORKS_PATH)/model/storage/include/mmc 45 LITEOS_DRIVERS_HDF_INCLUDE += -I $(HDF_FRAMEWORKS_PATH)/model/storage/include/mtd 46 LITEOS_DRIVERS_HDF_INCLUDE += -I $(HDF_FRAMEWORKS_PATH)/include/core 47 LITEOS_DRIVERS_HDF_INCLUDE += -I $(HDF_FRAMEWORKS_PATH)/include/utils 48 LITEOS_DRIVERS_HDF_INCLUDE += -I $(HDF_FRAMEWORKS_PATH)/include/osal 49 LITEOS_DRIVERS_HDF_INCLUDE += -I $(HDF_FRAMEWORKS_PATH)/utils/include 50 LITEOS_DRIVERS_HDF_INCLUDE += -I $(LITEOS_DRIVERS_HDF)/osal/include 51 LITEOS_DRIVERS_HDF_INCLUDE += -I $(LITEOS_DRIVERS_HDF)/model/storage/include 52 LITEOS_DRIVERS_HDF_INCLUDE += -I $(LITEOS_DRIVERS_HDF)/model/storage/include/mmc 53 LITEOS_DRIVERS_HDF_INCLUDE += -I $(LITEOS_DRIVERS_HDF)/model/storage/include/mtd 54 55# platform 56ifeq ($(LOSCFG_DRIVERS_HDF_PLATFORM), y) 57 LITEOS_BASELIB += -lhdf_platform 58 LIB_SUBDIRS += $(LITEOS_DRIVERS_HDF)/platform 59 LITEOS_DRIVERS_HDF_INCLUDE += -I $(HDF_FRAMEWORKS_PATH)/include/platform 60 LITEOS_DRIVERS_HDF_INCLUDE += -I $(HDF_FRAMEWORKS_PATH)/support/platform/include 61 LITEOS_DRIVERS_HDF_INCLUDE += -I $(HDF_FRAMEWORKS_PATH)/support/platform/include/fwk 62 LITEOS_DRIVERS_HDF_INCLUDE += -I $(HDF_FRAMEWORKS_PATH)/support/platform/include/hdmi 63 #LITEOS_DRIVERS_HDF_INCLUDE += -I $(HDF_FRAMEWORKS_PATH)/support/platform/include/mmc 64endif 65 66# models 67ifeq ($(LOSCFG_DRIVERS_HDF_WIFI), y) 68 LITEOS_BASELIB += -lhdf_wifi_model 69 LIB_SUBDIRS += $(LITEOS_DRIVERS_HDF)/model/network/wifi 70endif 71 72ifeq ($(LOSCFG_DRIVERS_HIETH_SF), y) 73 LITEOS_BASELIB += -lhdf_eth_model 74 LIB_SUBDIRS += $(LITEOS_DRIVERS_HDF)/model/network/ethernet 75endif 76 77ifeq ($(LOSCFG_DRIVERS_HDF_USB), y) 78 LITEOS_DRIVERS_HDF_INCLUDE += -I $(LITEOS_DRIVERS_HDF)/model/bus/usb/include 79 LITEOS_BASELIB += -lhdf_usb 80 LIB_SUBDIRS += $(LITEOS_DRIVERS_HDF)/model/bus/usb 81endif 82 83ifeq ($(LOSCFG_DRIVERS_HDF_DISP), y) 84 LITEOS_BASELIB += -lhdf_display 85 LIB_SUBDIRS += $(LITEOS_DRIVERS_HDF)/model/display 86endif 87 88ifeq ($(LOSCFG_DRIVERS_HDF_INPUT), y) 89 LITEOS_BASELIB += -lhdf_input_driver 90 LIB_SUBDIRS += $(LITEOS_DRIVERS_HDF)/model/input 91endif 92 93ifeq ($(LOSCFG_DRIVERS_HDF_AUDIO), y) 94 LITEOS_BASELIB += -lhdf_audio_driver 95 LIB_SUBDIRS += $(LITEOS_DRIVERS_HDF)/model/audio 96endif 97 98ifeq ($(LOSCFG_DRIVERS_HDF_SENSOR), y) 99 LITEOS_BASELIB += -lhdf_sensor_driver 100 LIB_SUBDIRS += $(LITEOS_DRIVERS_HDF)/model/sensor 101endif 102 103ifeq ($(LOSCFG_DRIVERS_HDF_STORAGE), y) 104 LITEOS_BASELIB += -lhdf_storage_driver 105 LIB_SUBDIRS += $(LITEOS_DRIVERS_HDF)/model/storage 106endif 107 108ifeq ($(LOSCFG_DRIVERS_HDF_LIGHT), y) 109 LITEOS_BASELIB += -lhdf_light_driver 110 LIB_SUBDIRS += $(LITEOS_DRIVERS_HDF)/model/misc/light 111endif 112 113ifeq ($(LOSCFG_DRIVERS_HDF_VIBRATOR), y) 114 LITEOS_BASELIB += -lhdf_vibrator_driver 115 LIB_SUBDIRS += $(LITEOS_DRIVERS_HDF)/model/misc/vibrator 116endif 117 118ifeq ($(LOSCFG_DRIVERS_HDF_USB_DDK_HOST), y) 119 LITEOS_DRIVERS_HDF_INCLUDE += -I $(HDF_FRAMEWORKS_PATH)/model/usb/include 120 LITEOS_DRIVERS_HDF_INCLUDE += -I $(LITEOS_DRIVERS_HDF)/model/usb/host/include 121 LITEOS_BASELIB += -lhdf_usb_ddk_host 122 LIB_SUBDIRS += $(LITEOS_DRIVERS_HDF)/model/usb/host 123endif 124 125ifeq ($(LOSCFG_DRIVERS_HDF_USB_DDK_DEVICE), y) 126 LITEOS_BASELIB += -lhdf_usb_ddk_device 127 LIB_SUBDIRS += $(LITEOS_DRIVERS_HDF)/model/usb/device 128endif 129 130ifeq ($(LOSCFG_DRIVERS_HDF_USB_DDK_DEVICE), y) 131ifeq ($(LOSCFG_DRIVERS_HDF_USBFN_MASTER), y) 132 LITEOS_BASELIB += -lhdf_usbfn_master 133 LIB_SUBDIRS += $(LITEOS_SOURCE_ROOT)/drivers/peripheral/usb/gadget/function/master 134endif 135 136ifeq ($(LOSCFG_DRIVERS_HDF_USBFN_CDCACM), y) 137 LITEOS_BASELIB += -lhdf_usbfn_cdcacm 138 LIB_SUBDIRS += $(LITEOS_SOURCE_ROOT)/drivers/peripheral/usb/gadget/function/acm 139endif 140 141ifeq ($(LOSCFG_DRIVERS_HDF_USBFN_CDCECM), y) 142 LITEOS_BASELIB += -lhdf_usbfn_cdcecm 143 LIB_SUBDIRS += $(LITEOS_SOURCE_ROOT)/drivers/peripheral/usb/gadget/function/ecm 144endif 145endif 146 147SOURCE_ROOT := $(abspath $(LITEOSTOPDIR)/../../) 148PRODUCT_CONFIG := $(PRODUCT_PATH)/hdf_config 149DEVICE_CONFIG := $(DEVICE_PATH)/hdf_config 150HAVE_PRODUCT_CONFIG := $(shell if [ -e $(PRODUCT_CONFIG)/Makefile ]; then echo y; else echo n; fi) 151 152ifeq ($(LOSCFG_DRIVERS_HDF_TEST), y) 153 # for test 154 include $(LITEOS_DRIVERS_HDF)/test/test_lite.mk 155 LITEOS_BASELIB += -lhdf_test 156 LIB_SUBDIRS += $(LITEOS_DRIVERS_HDF)/test 157 158 LITEOS_BASELIB += -lhdf_test_config 159 LIB_SUBDIRS += $(PRODUCT_CONFIG)/hdf_test 160 LITEOS_BASELIB += -lhdf_test_macro 161 LIB_SUBDIRS += $(PRODUCT_CONFIG)/hdf_test/hcs_macro_test 162else 163 LITEOS_BASELIB += -lhdf_config 164 ifeq ($(HAVE_PRODUCT_CONFIG), y) 165 LIB_SUBDIRS += $(PRODUCT_CONFIG) 166 else 167 LIB_SUBDIRS += $(DEVICE_CONFIG) 168 endif 169endif 170 171# vendor lib 172COMPANY_OF_SOC := $(patsubst "%",%,$(LOSCFG_DEVICE_COMPANY)) 173ifeq ($(COMPANY_OF_SOC), hisilicon) 174-include $(LITEOSTOPDIR)/../../device/soc/$(COMPANY_OF_SOC)/common/platform/lite.mk 175else ifeq ($(COMPANY_OF_SOC), st) 176-include $(LITEOSTOPDIR)/../../device/soc/$(COMPANY_OF_SOC)/common/platform/lite.mk 177else 178-include $(LITEOSTOPDIR)/../../device/$(COMPANY_OF_SOC)/drivers/lite.mk 179endif 180 181LITEOS_BASELIB += --no-whole-archive 182 183HC_GEN_DIR = $(abspath $(LITEOSTOPDIR)/../../drivers/hdf_core/framework/tools/hc-gen) 184HC_GEN = $(OUT)/hc_gen_build/hc-gen 185$(HC_GEN): 186 $(HIDE)make -j -C $(HC_GEN_DIR) BUILD_DIR=$(dir $@) 187$(LITEOS_LIBS_TARGET):$(HC_GEN) 188endif 189 190