Angus Gratton
746ad41d89
Build tests: Use & document clean_build_dir
2016-10-18 15:35:17 +11:00
Angus Gratton
90cad92b9b
Merge branch 'master' into bugfix/build_dir_base
2016-10-18 15:30:57 +11:00
Ivan Grokhotkov
34fa6a60a9
build system: fix typo, move -ggdb to OPTIMIZATION_FLAGS
2016-10-17 13:47:13 +08:00
Ivan Grokhotkov
182184567e
build system: add menuconfig choice for optimization level, reorganize C*FLAGS
...
This change adds two options (Debug/Release) for optimization level.
Debug enables -O0, release enables -Os and adds -DNDEBUG (which removes all assert() statements).
Debugging symbols are kept in both cases, although we may add an option to strip output file if necessary.
Also we used to define all common compiler flags in CPPFLAGS, and then appended them to CFLAGS/CXXFLAGS.
It makes it impossible to add preprocessor macros to CPPFLAGS at component level (one has to use CFLAGS/CXXFLAGS instead).
Some third party libraries are not compatible with this approach. Changed to the more common way of using these variables.
2016-10-17 12:38:17 +08:00
Angus Gratton
20b508e62e
build system tests: Verify bootloader doesn't build any files outside build/bootloader & config
...
See TW7505. Looks like bug was fixed via prior refactors, but adding the
test ensures it will stay fixed.
2016-10-13 11:01:30 +11:00
Angus Gratton
609c1c2cdb
build system: Add -fno-rtti when compiling C++ code
2016-10-11 07:56:08 +11:00
Angus Gratton
79bd6af7e7
build system: Print a WARNING if any submodule is out of date
...
Inspired by Github #27 and related "gotchas" with keeping submodules up to date.
2016-10-11 07:56:08 +11:00
Angus Gratton
305bc9fd9c
build system: Run parallel builds without warnings
...
Ref github #38
2016-10-06 18:29:34 +11:00
Angus Gratton
6a890e6c49
build system tests: Untabify shell script
2016-10-06 18:06:52 +11:00
Angus Gratton
f720e82d40
build system: Allow BUILD_DIR_BASE to be a relative directory (see github #38 )
2016-10-06 18:05:51 +11:00
Angus Gratton
eccf54b939
build system tests: Add some more notes about test internals
2016-10-04 15:54:27 +11:00
Angus Gratton
477d71e589
config system: Fix configuration when BUILD_DIR_BASE out-of-tree
...
Ref #38 . Also no longer generates bootloader sdkconfig in source tree.
2016-10-04 15:38:20 +11:00
Angus Gratton
66882347e8
build system: Fix out-of-tree building via BUILD_DIR_BASE
...
Closes #38
2016-10-04 15:04:56 +11:00
Angus Gratton
9c0cd10d48
Build system tests: Add test cases for out-of-tree builds (currently failing)
...
See github #38
2016-10-04 15:04:39 +11:00
Angus Gratton
de76546227
Build examples out-of-tree as part of CI process
2016-09-27 12:06:54 +10:00
Ivan Grokhotkov
b1ac144874
Merge branch 'driver_merge_tmp/merge_struct_header' into 'master'
...
add peripheral modules struct headers
See merge request !88
2016-09-19 15:34:37 +08:00
Jeroen Domburg
f703acd344
Adding -fstrict-volatile-bitfields to the CFLAGS/CXXFLAGS. Without this, gcc tries to access bitfields using the smallest possible methods (eg l8i to
...
grab an 8-bit field from a 32-bit). Our hardware does not like that. This flag tells gcc that if a bitfield is volatile, it should always use the type
the field is defined at (uint32_t in our case) to size its access to the field. This fixes accessing the hardware through the xxx_struct.h headers.
2016-09-18 12:10:01 +08:00
Angus Gratton
cdd1b95b6e
config system: Support Windows when CRLFs used for eol markers
...
Includes a test in test_build_system.sh to prevent regressions w/
CRLFs in text files.
Fixes Github #10
2016-09-16 18:07:58 +10:00
Wu Jian Gang
2efaf42253
Merge remote-tracking branch 'origin/feature/mbedtls'
2016-09-14 18:05:56 +08:00
Angus Gratton
fcf278848d
Merge branch 'master' into feature/esptool_upstream
2016-09-12 18:02:10 +10:00
Angus Gratton
5810dbef05
make: Add macro to test for & try to fix up files required for submodules
...
Now applied to both esptool.py & esp32 wifi libs
2016-09-12 18:00:20 +10:00
Angus Gratton
f605e03344
make debugging: With V=1, output when including each Makefile.projbuild
...
also enable V=1 on CI builds
2016-09-09 11:08:28 +10:00
Angus Gratton
7c58c1e06b
Build system: Allow components to add to the global CFLAGS via Makefile.projbuild
...
Used by mbedTLS to set MBEDTLS_CONFIG_FILE in all components.
This change sets CFLAGS/etc at the project level and then exports those
variables for components, rather than setting them independently each time
a component Makefile is invoked.
2016-09-09 11:08:19 +10:00
Angus Gratton
02543ee895
CI: Build the esp-idf-template with the matching branch name, if it exists
2016-09-08 13:41:19 +10:00
Angus Gratton
b8634ae08b
test_build_system: Print ESP_IDF_TEMPLATE_GIT for easier debugging
2016-09-08 13:41:19 +10:00
Angus Gratton
3b1c3dab4b
Name component makefiles component.mk instead of Makefile
...
Fixes problems with Eclipse trying to build in directories it shouldn't.
This is a breaking change for existing repositories, they need to rename
any component Makefiles to component.mk and rename their references to
$(IDF_PATH)/make/component.mk to $(IDF_PATH)/make/component_common.mk
2016-09-08 13:41:19 +10:00
Angus Gratton
ee388097f6
Makefile: Fix "No rule to make target X.h" for generated header dependencies
2016-08-29 10:48:53 +10:00
Angus Gratton
7458f9193b
Rename build_system_tests to less-ambiguous test_build_system
...
Before it was unclear if we were building the system tests or testing
the build system.
2016-08-25 11:55:47 +08:00
Angus Gratton
f54348ff83
build_system_tests.sh: Replace use of second-precision-only [ a -ot b ]
2016-08-25 11:54:37 +08:00
Ivan Grokhotkov
cb6e0b18f1
make: update template configuration before running tests
...
This fixes build error for non-interactive builds
2016-08-25 10:28:25 +08:00
Angus Gratton
116e730132
Makefile: Don't re-build libraries or re-link ELF files if nothing has changed in the component
...
make/build_system_tests.sh should now pass.
2016-08-24 13:25:06 +08:00
Angus Gratton
938d13c5a3
Makefile: Rename $(vecho) to $(summary), add new $(details) for echoing details when V=1
2016-08-24 13:25:06 +08:00
Angus Gratton
528638f5eb
Add build system test (via bash script)
...
Currently fails due to bootloader not automatically rebuilding anything,
and ELF/BIN files generating when nothing changed.
2016-08-24 13:25:06 +08:00
Ivan Grokhotkov
f19ac2b927
make: add defconfig, don't run silentoldconfig before menuconfig
...
This commit fixes the case when new Kconfig configuration options were added and you run `make menuconfig`.
Previously this would first show console prompt to set values for new options, and then launch menuconfig.
Now this will just launch menuconfig.
New target is added, defconfig, which may be useful for non-interactive environments to set default values for
all new configuration options.
2016-08-23 16:18:36 +08:00
Angus Gratton
aa4c31f3b0
esptool.py & Makefile: Fix compressed upload support (enabled by default)
2016-08-22 18:44:46 +08:00
Angus Gratton
f853f94335
Use IDF_PATH instead of SDK_PATH for the environment variable pointing to esp-idf
...
This will require a matching change in all projects using ESP-IDF.
2016-08-19 15:01:49 +08:00
Angus Gratton
9ec0e1545d
Standardise remaining uses of SDK to ESP-IDF
2016-08-19 15:01:15 +08:00
Angus Gratton
b0f530d004
Makefile: bootloader-clean shouldn't clean config or partition table
...
Also don't build config for 'make help', and remove some redundant
clearing of variables.
2016-08-19 14:04:51 +08:00
Angus Gratton
14eb490bb3
make: 'make all' default target builds everything, 'make flash' flashes everything
...
Also added 'make help' target which prints some useful usage summary.
2016-08-18 21:42:37 +08:00
Angus Gratton
45d1baa24b
Make: Fix make bootloader, make bootloader-flash, cleaning of bootloader
...
Should resolve TW6610
2016-08-18 21:15:47 +08:00
Ivan Grokhotkov
bd6ea4393c
Initial public version
2016-08-17 23:08:22 +08:00