37 lines
1.6 KiB
Makefile
37 lines
1.6 KiB
Makefile
ARDUINO_ALL_LIBRARIES := $(patsubst $(COMPONENT_PATH)/libraries/%,%,$(wildcard $(COMPONENT_PATH)/libraries/*))
|
|
|
|
# Macro returns non-empty if Arduino library $(1) should be included in the build
|
|
# (either because selective compilation is of, or this library is enabled
|
|
define ARDUINO_LIBRARY_ENABLED
|
|
$(if $(CONFIG_ARDUINO_SELECTIVE_COMPILATION),$(CONFIG_ARDUINO_SELECTIVE_$(1)),y)
|
|
endef
|
|
|
|
ARDUINO_ENABLED_LIBRARIES := $(foreach LIBRARY,$(sort $(ARDUINO_ALL_LIBRARIES)),$(if $(call ARDUINO_LIBRARY_ENABLED,$(LIBRARY)),$(LIBRARY)))
|
|
|
|
$(info Arduino libraries in build: $(ARDUINO_ENABLED_LIBRARIES))
|
|
|
|
# Expand all subdirs under $(1)
|
|
define EXPAND_SUBDIRS
|
|
$(sort $(dir $(wildcard $(1)/* $(1)/*/* $(1)/*/*/* $(1)/*/*/*/* $(1)/*/*/*/*/*)))
|
|
endef
|
|
|
|
# Macro returns SRCDIRS for library
|
|
define ARDUINO_LIBRARY_GET_SRCDIRS
|
|
$(if $(wildcard $(COMPONENT_PATH)/libraries/$(1)/src/.), \
|
|
$(call EXPAND_SUBDIRS,$(COMPONENT_PATH)/libraries/$(1)/src), \
|
|
$(filter-out $(call EXPAND_SUBDIRS,$(COMPONENT_PATH)/libraries/$(1)/examples), \
|
|
$(call EXPAND_SUBDIRS,$(COMPONENT_PATH)/libraries/$(1)) \
|
|
) \
|
|
)
|
|
endef
|
|
|
|
# Make a list of all srcdirs in enabled libraries
|
|
ARDUINO_LIBRARY_SRCDIRS := $(patsubst $(COMPONENT_PATH)/%,%,$(foreach LIBRARY,$(ARDUINO_ENABLED_LIBRARIES),$(call ARDUINO_LIBRARY_GET_SRCDIRS,$(LIBRARY))))
|
|
|
|
#$(info Arduino libraries src dirs: $(ARDUINO_LIBRARY_SRCDIRS))
|
|
|
|
COMPONENT_ADD_INCLUDEDIRS := cores/esp32 variants/esp32 $(ARDUINO_LIBRARY_SRCDIRS)
|
|
COMPONENT_PRIV_INCLUDEDIRS := cores/esp32/libb64
|
|
COMPONENT_SRCDIRS := cores/esp32/libb64 cores/esp32 variants/esp32 $(ARDUINO_LIBRARY_SRCDIRS)
|
|
CXXFLAGS += -fno-rtti
|