forked from espressif/ESP8266_RTOS_SDK
-
Notifications
You must be signed in to change notification settings - Fork 0
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
tools(make): update make and cmake from esp-idf
Commit ID: 3450d9e5
- Loading branch information
dongheng
authored and
dongheng
committed
Aug 2, 2019
1 parent
f1b9e15
commit 6b07737
Showing
115 changed files
with
12,002 additions
and
2,750 deletions.
There are no files selected for viewing
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,82 @@ | ||
cmake_minimum_required(VERSION 3.5) | ||
project(esp-idf C CXX ASM) | ||
|
||
unset(compile_options) | ||
unset(c_compile_options) | ||
unset(cxx_compile_options) | ||
unset(compile_definitions) | ||
|
||
# Add the following build specifications here, since these seem to be dependent | ||
# on config values on the root Kconfig. | ||
|
||
if(CONFIG_COMPILER_OPTIMIZATION_LEVEL_RELEASE) | ||
list(APPEND compile_options "-Os") | ||
else() | ||
list(APPEND compile_options "-Og") | ||
endif() | ||
|
||
if(CONFIG_COMPILER_CXX_EXCEPTIONS) | ||
list(APPEND cxx_compile_options "-fexceptions") | ||
else() | ||
list(APPEND cxx_compile_options "-fno-exceptions") | ||
endif() | ||
|
||
if(CONFIG_COMPILER_DISABLE_GCC8_WARNINGS) | ||
list(APPEND compile_options "-Wno-parentheses" | ||
"-Wno-sizeof-pointer-memaccess" | ||
"-Wno-clobbered") | ||
|
||
# doesn't use GCC_NOT_5_2_0 because idf_set_global_variables was not called before | ||
if(GCC_NOT_5_2_0) | ||
list(APPEND compile_options "-Wno-format-overflow" | ||
"-Wno-stringop-truncation" | ||
"-Wno-misleading-indentation" | ||
"-Wno-cast-function-type" | ||
"-Wno-implicit-fallthrough" | ||
"-Wno-unused-const-variable" | ||
"-Wno-switch-unreachable" | ||
"-Wno-format-truncation" | ||
"-Wno-memset-elt-size" | ||
"-Wno-int-in-bool-context") | ||
endif() | ||
endif() | ||
|
||
if(CONFIG_COMPILER_OPTIMIZATION_ASSERTIONS_DISABLE) | ||
list(APPEND compile_definitions "-DNDEBUG") | ||
endif() | ||
|
||
if(CONFIG_COMPILER_STACK_CHECK_MODE_NORM) | ||
list(APPEND compile_options "-fstack-protector") | ||
elseif(CONFIG_COMPILER_STACK_CHECK_MODE_STRONG) | ||
list(APPEND compile_options "-fstack-protector-strong") | ||
elseif(CONFIG_COMPILER_STACK_CHECK_MODE_ALL) | ||
list(APPEND compile_options "-fstack-protector-all") | ||
endif() | ||
|
||
|
||
idf_build_set_property(COMPILE_OPTIONS "${compile_options}" APPEND) | ||
idf_build_set_property(C_COMPILE_OPTIONS "${c_compile_options}" APPEND) | ||
idf_build_set_property(CXX_COMPILE_OPTIONS "${cxx_compile_options}" APPEND) | ||
idf_build_set_property(COMPILE_DEFINITIONS "${compile_definitions}" APPEND) | ||
|
||
idf_build_get_property(build_component_targets __BUILD_COMPONENT_TARGETS) | ||
|
||
# Add each component as a subdirectory, processing each component's CMakeLists.txt | ||
foreach(component_target ${build_component_targets}) | ||
__component_get_property(dir ${component_target} COMPONENT_DIR) | ||
__component_get_property(_name ${component_target} COMPONENT_NAME) | ||
__component_get_property(prefix ${component_target} __PREFIX) | ||
__component_get_property(alias ${component_target} COMPONENT_ALIAS) | ||
set(COMPONENT_NAME ${_name}) | ||
set(COMPONENT_DIR ${dir}) | ||
set(COMPONENT_ALIAS ${alias}) | ||
set(COMPONENT_PATH ${dir}) # for backward compatibility only, COMPONENT_DIR is preferred | ||
idf_build_get_property(build_prefix __PREFIX) | ||
set(__idf_component_context 1) | ||
if(NOT prefix STREQUAL build_prefix) | ||
add_subdirectory(${dir} ${prefix}_${_name}) | ||
else() | ||
add_subdirectory(${dir} ${_name}) | ||
endif() | ||
set(__idf_component_context 0) | ||
endforeach() |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file was deleted.
Oops, something went wrong.
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,50 @@ | ||
# Makefile to support the linker script generation mechanism | ||
LDGEN_FRAGMENT_FILES = $(COMPONENT_LDFRAGMENTS) | ||
LDGEN_LIBRARIES=$(foreach libcomp,$(COMPONENT_LIBRARIES),$(BUILD_DIR_BASE)/$(libcomp)/lib$(libcomp).a) | ||
|
||
# Target to generate linker script generator from fragments presented by each of | ||
# the components | ||
ifeq ($(OS),Windows_NT) | ||
define ldgen_process_template | ||
$(BUILD_DIR_BASE)/ldgen_libraries: $(LDGEN_LIBRARIES) $(IDF_PATH)/make/ldgen.mk | ||
printf "$(foreach info,$(LDGEN_LIBRARIES),$(subst \,/,$(shell cygpath -w $(info)))\n)" > $(BUILD_DIR_BASE)/ldgen_libraries | ||
|
||
$(2): $(1) $(LDGEN_FRAGMENT_FILES) $(SDKCONFIG) $(BUILD_DIR_BASE)/ldgen_libraries | ||
@echo 'Generating $(notdir $(2))' | ||
$(PYTHON) $(IDF_PATH)/tools/ldgen/ldgen.py \ | ||
--input $(1) \ | ||
--config $(SDKCONFIG) \ | ||
--fragments $(LDGEN_FRAGMENT_FILES) \ | ||
--libraries-file $(BUILD_DIR_BASE)/ldgen_libraries \ | ||
--output $(2) \ | ||
--kconfig $(IDF_PATH)/Kconfig \ | ||
--env "COMPONENT_KCONFIGS=$(foreach k, $(COMPONENT_KCONFIGS), $(shell cygpath -w $(k)))" \ | ||
--env "COMPONENT_KCONFIGS_PROJBUILD=$(foreach k, $(COMPONENT_KCONFIGS_PROJBUILD), $(shell cygpath -w $(k)))" \ | ||
--env "IDF_CMAKE=n" \ | ||
--objdump $(OBJDUMP) | ||
endef | ||
else # Windows_NT | ||
define ldgen_process_template | ||
$(BUILD_DIR_BASE)/ldgen_libraries: $(LDGEN_LIBRARIES) $(IDF_PATH)/make/ldgen.mk | ||
printf "$(foreach library,$(LDGEN_LIBRARIES),$(library)\n)" > $(BUILD_DIR_BASE)/ldgen_libraries | ||
|
||
$(2): $(1) $(LDGEN_FRAGMENT_FILES) $(SDKCONFIG) $(BUILD_DIR_BASE)/ldgen_libraries | ||
@echo 'Generating $(notdir $(2))' | ||
$(PYTHON) $(IDF_PATH)/tools/ldgen/ldgen.py \ | ||
--input $(1) \ | ||
--config $(SDKCONFIG) \ | ||
--fragments $(LDGEN_FRAGMENT_FILES) \ | ||
--libraries-file $(BUILD_DIR_BASE)/ldgen_libraries \ | ||
--output $(2) \ | ||
--kconfig $(IDF_PATH)/Kconfig \ | ||
--env "COMPONENT_KCONFIGS=$(COMPONENT_KCONFIGS)" \ | ||
--env "COMPONENT_KCONFIGS_PROJBUILD=$(COMPONENT_KCONFIGS_PROJBUILD)" \ | ||
--env "IDF_CMAKE=n" \ | ||
--objdump $(OBJDUMP) | ||
endef | ||
endif # Windows_NT | ||
|
||
define ldgen_create_commands | ||
ldgen-clean: | ||
rm -f $(BUILD_DIR_BASE)/ldgen_libraries | ||
endef |
Oops, something went wrong.