The 'TARGET_M%' rules depend on files generated by the 'rsync' target, so make this dependency explicit by setting 'rsync' as a pre-requisite of 'TARGET_M%'. The 'rsync' dependency was removed from 'publish' to avoid the case where make would select one of the 'TARGET' rules before completing 'rsync', which would cause the build to fail. Additionally, also moved the core libs selection in the 'TARGET_M%' pattern rule from the pre-requisites into the rule's recipe. This is required because when the wildcard expression used before as a pre-requisite is expanded (make's 1st phase), it won't find any files (not built yet via 'rsync' target), so it won't create the associated 'TARGET_M%' rules, finally causing the 'publish' target building to fail due to missing rules for 'TARGET_M3' and 'TARGET_M4'. With this change and the previous one, it is ensured that 'rsync' is done before executing the recipe for 'TARGET_M%', so the required core libs are already available and can be used from withing the recipe. The same wildcard pattern is used as before. The issues being fixed are visible with GNU Make 4.2.1, but not seen with GNU Make 3.81. Fixes issue #3905. |
||
---|---|---|
.github | ||
TESTS | ||
cmsis | ||
drivers | ||
events | ||
features | ||
hal | ||
platform | ||
rtos | ||
targets | ||
tools | ||
.gitattributes | ||
.gitignore | ||
.pylintrc | ||
.travis.yml | ||
CONTRIBUTING.md | ||
DOXYGEN_FRONTPAGE.md | ||
Jenkinsfile | ||
LICENSE | ||
README.md | ||
mbed.h | ||
requirements.txt |
README.md
ARM mbed OS
mbed OS is an open-source embedded operating system designed specifically for the "things" in the Internet of Things (IoT). It includes all the features you need to develop a connected product based on an ARM Cortex-M microcontroller.
mbed OS accelerates the process of creating a connected product by providing a platform operating system that includes robust security foundations, standards based communication capabilities, built-in cloud management services, and drivers for sensors, I/O devices and connectivity. mbed OS is built as a modular, configurable software stack so that you can readily customize it to the device you're developing for, and reduce memory requirements by excluding unnecessary software components.
Current release
The current release, along with a selection of previous versions are detailed here: Release Notes
Getting Started for Developers
Please note that you will require mbed CLI to build mbed OS. For more details, please read the getting started guide for developers using mbed OS in applications:
Getting Started for Contributors
We have a getting started guide for contributors working on mbed OS:
- Have a look in the docs directory