• Home
  • Line#
  • Scopes#
  • Navigate#
  • Raw
  • Download
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