ext: include headers based on HAL being used

For CMSIS we now have HAS_CMSIS which needs to be added to the
SoC definition.
Instead of changing the main Makefile we now include a sub-Makefile
with all related header and library paths that are hosted in
ext/

Move redifintion of LIB_INCLUDE_DIR later to get variables defined
in Makefile.toolchain.*

Change-Id: I9f90f90247c2a66b4565427b89d4e1d4dd5c9622
Signed-off-by: Anas Nashif <anas.nashif@intel.com>
This commit is contained in:
Anas Nashif 2016-05-25 09:03:33 -04:00 committed by Anas Nashif
commit 37b1d1eb55
11 changed files with 65 additions and 31 deletions

View file

@ -559,8 +559,6 @@ else
include/config/auto.conf: ; include/config/auto.conf: ;
endif # $(dot-config) endif # $(dot-config)
-include $(srctree)/lib/Makefile
ARCH = $(subst $(DQUOTE),,$(CONFIG_ARCH)) ARCH = $(subst $(DQUOTE),,$(CONFIG_ARCH))
export ARCH export ARCH
ifdef ZEPHYR_GCC_VARIANT ifdef ZEPHYR_GCC_VARIANT
@ -570,6 +568,10 @@ $(if $(CROSS_COMPILE),, \
$(error ZEPHYR_GCC_VARIANT is not set. )) $(error ZEPHYR_GCC_VARIANT is not set. ))
endif endif
-include $(srctree)/lib/Makefile
-include $(srctree)/ext/Makefile
ifneq ($(CC),) ifneq ($(CC),)
ifeq ($(shell $(CC) -v 2>&1 | grep -Ec "clang version|icx version"), 1) ifeq ($(shell $(CC) -v 2>&1 | grep -Ec "clang version|icx version"), 1)
COMPILER := clang COMPILER := clang

View file

@ -63,8 +63,6 @@ source "drivers/ipm/Kconfig"
source "drivers/aio/Kconfig" source "drivers/aio/Kconfig"
source "drivers/qmsi/Kconfig"
source "drivers/flash/Kconfig" source "drivers/flash/Kconfig"
source "drivers/sensor/Kconfig" source "drivers/sensor/Kconfig"

3
ext/Makefile Normal file
View file

@ -0,0 +1,3 @@
include $(srctree)/ext/hal/Makefile

1
ext/hal/Kbuild Normal file
View file

@ -0,0 +1 @@
obj-$(CONFIG_QMSI_BUILTIN) += qmsi/

View file

@ -16,8 +16,12 @@
# limitations under the License. # limitations under the License.
# #
# When adding new entries keep the list in alphabetical order
menu "HALs" menu "HALs"
source "ext/hal/cmsis/Kconfig"
source "ext/hal/qmsi/Kconfig" source "ext/hal/qmsi/Kconfig"
endmenu endmenu

View file

@ -1 +1,4 @@
obj-$(CONFIG_QMSI_BUILTIN) += qmsi/
include $(srctree)/ext/hal/qmsi/Makefile
include $(srctree)/ext/hal/cmsis/Makefile

18
ext/hal/cmsis/Kconfig Normal file
View file

@ -0,0 +1,18 @@
#
# Copyright (c) 2016 Intel Corporation
#
# Licensed under the Apache License, Version 2.0 (the "License");
# you may not use this file except in compliance with the License.
# You may obtain a copy of the License at
#
# http://www.apache.org/licenses/LICENSE-2.0
#
# Unless required by applicable law or agreed to in writing, software
# distributed under the License is distributed on an "AS IS" BASIS,
# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
# See the License for the specific language governing permissions and
# limitations under the License.
#
config HAS_CMSIS
bool

4
ext/hal/cmsis/Makefile Normal file
View file

@ -0,0 +1,4 @@
ifdef CONFIG_HAS_CMSIS
ZEPHYRINCLUDE += -I$(srctree)/ext/hal/cmsis/Include
endif

24
ext/hal/qmsi/Kbuild Normal file
View file

@ -0,0 +1,24 @@
subdir-ccflags-$(CONFIG_QMSI_BUILTIN) +=-DISR_HANDLED
include $(srctree)/ext/hal/qmsi/Makefile.include
obj-$(CONFIG_QMSI_BUILTIN) += drivers/clk.o
ifeq ($(CONFIG_ARC),y)
obj-$(CONFIG_QMSI_BUILTIN) += drivers/sensor/ss_clk.o
endif
obj-$(CONFIG_RTC_QMSI) += drivers/qm_rtc.o
obj-$(CONFIG_WDT_QMSI) += drivers/qm_wdt.o
obj-$(CONFIG_I2C_QMSI) += drivers/qm_i2c.o
obj-$(CONFIG_PWM_QMSI) += drivers/qm_pwm.o
obj-$(CONFIG_AIO_COMPARATOR_QMSI) += drivers/qm_comparator.o
obj-$(CONFIG_AON_COUNTER_QMSI) += drivers/qm_aon_counters.o
obj-$(CONFIG_GPIO_QMSI) += drivers/qm_gpio.o
obj-$(CONFIG_ADC_QMSI) += drivers/qm_adc.o
obj-$(CONFIG_UART_QMSI) += drivers/qm_uart.o
obj-$(CONFIG_SPI_QMSI) += drivers/qm_spi.o
obj-$(CONFIG_SOC_FLASH_QMSI) += drivers/qm_flash.o
obj-$(CONFIG_PINMUX_DEV_QMSI) += drivers/qm_pinmux.o
obj-$(CONFIG_SPI_QMSI_SS) += drivers/sensor/qm_ss_spi.o
obj-$(CONFIG_GPIO_QMSI_SS) += drivers/sensor/qm_ss_gpio.o
obj-$(CONFIG_I2C_QMSI_SS) += drivers/sensor/qm_ss_i2c.o
obj-$(CONFIG_ADC_QMSI_SS) += drivers/sensor/qm_ss_adc.o

View file

@ -1,23 +1,5 @@
subdir-ccflags-$(CONFIG_QMSI_BUILTIN) +=-DISR_HANDLED
include $(srctree)/ext/hal/qmsi/Makefile.include
obj-$(CONFIG_QMSI_BUILTIN) += drivers/clk.o ifdef CONFIG_QMSI_LIBRARY
ifeq ($(CONFIG_ARC),y) LIB_INCLUDE_DIR += -L$(CONFIG_QMSI_INSTALL_PATH:"%"=%)/lib
obj-$(CONFIG_QMSI_BUILTIN) += drivers/sensor/ss_clk.o ALL_LIBS += qmsi
endif endif
obj-$(CONFIG_RTC_QMSI) += drivers/qm_rtc.o
obj-$(CONFIG_WDT_QMSI) += drivers/qm_wdt.o
obj-$(CONFIG_I2C_QMSI) += drivers/qm_i2c.o
obj-$(CONFIG_PWM_QMSI) += drivers/qm_pwm.o
obj-$(CONFIG_AIO_COMPARATOR_QMSI) += drivers/qm_comparator.o
obj-$(CONFIG_AON_COUNTER_QMSI) += drivers/qm_aon_counters.o
obj-$(CONFIG_GPIO_QMSI) += drivers/qm_gpio.o
obj-$(CONFIG_ADC_QMSI) += drivers/qm_adc.o
obj-$(CONFIG_UART_QMSI) += drivers/qm_uart.o
obj-$(CONFIG_SPI_QMSI) += drivers/qm_spi.o
obj-$(CONFIG_SOC_FLASH_QMSI) += drivers/qm_flash.o
obj-$(CONFIG_PINMUX_DEV_QMSI) += drivers/qm_pinmux.o
obj-$(CONFIG_SPI_QMSI_SS) += drivers/sensor/qm_ss_spi.o
obj-$(CONFIG_GPIO_QMSI_SS) += drivers/sensor/qm_ss_gpio.o
obj-$(CONFIG_I2C_QMSI_SS) += drivers/sensor/qm_ss_i2c.o
obj-$(CONFIG_ADC_QMSI_SS) += drivers/sensor/qm_ss_adc.o

View file

@ -3,11 +3,6 @@ ifdef CONFIG_TINYCRYPT
ZEPHYRINCLUDE += -I$(srctree)/lib/crypto/tinycrypt/include ZEPHYRINCLUDE += -I$(srctree)/lib/crypto/tinycrypt/include
endif endif
ifdef CONFIG_QMSI_LIBRARY
LIB_INCLUDE_DIR += -L$(CONFIG_QMSI_INSTALL_PATH:"%"=%)/lib
ALL_LIBS += qmsi
endif
ifdef CONFIG_MINIMAL_LIBC ifdef CONFIG_MINIMAL_LIBC
ZEPHYRINCLUDE += -I$(srctree)/lib/libc/minimal/include ZEPHYRINCLUDE += -I$(srctree)/lib/libc/minimal/include
endif endif