Commit Graph

66 Commits (a2f8a3fdd4ef80a1a958442b2afd8b10ce5eac61)

Author SHA1 Message Date
Kaspar Schleiser d005861f5c Merge pull request #4966 from kaspar030/buildtest_always_rebuild
make: buildtest: build with -B
7 years ago
Kaspar Schleiser 9bbf789d3a make: buildtest: build with -B 7 years ago
Kaspar Schleiser 8b7ddb2f70 make: use variable for pkg subdir 7 years ago
Cenk Gündoğan 5dda169145 Makefile.buildtest: set CCACHE_DIR only if defined 7 years ago
Joakim Nohlgård c2a98076c6 Makefile.buildtests: Clean up indentation 7 years ago
Joakim Nohlgård 316116fee0 Makefile.buildtests: Pass TOOLCHAIN variable to sub-make 7 years ago
Joakim Nohlgård ca66ea0f10 Makefile.buildtests: Pass LTO variable to buildtest subprocesses 7 years ago
Cenk Gündoğan f793ac25f8 Makefile.buildtests: BOARD_INSUFFICIENT_RAM => BOARD_INSUFFICIENT_MEMORY 8 years ago
Cenk Gündoğan 88c8d2f379 Makefile.buildtests: Fix output of info-objsize 8 years ago
Joakim Gebart e95a4c50a9 make: Build with -Werror by default
Can be overridden from the environment by setting WERROR=0

also remove reversed logic for Werror in Makefile.buildtest
(a typo caused Werror to be always enabled for all builds)
8 years ago
Philipp Rosenkranz da1e715473 make/compile_test.py: display compile errors and warnings 8 years ago
Joakim Gebart 0ae1b3194a Makefile.buildtests: Default to -Werror on make buildtest 8 years ago
Joakim Gebart ba9d3f8929 Makefile.buildtests: Indentation fixes 8 years ago
Joakim Gebart 8724e6c0cc Merge pull request #3358 from gebart/pr/make-info-buildsizes-fixes
make: buildtests, info-buildsizes improvements
8 years ago
Joakim Gebart df34f0a2fc Makefile.buildtests: silent run info-buildsizes 8 years ago
Joakim Gebart 26938059d6 Makefile.buildtests: Use clean-intermediates instead of clean 8 years ago
Joakim Gebart e737a3a076 Makefile.buildtests: Avoid parsing error message
"recipe for target xx failed" was printed to stdout when running info-buildsize for missing files
8 years ago
Joakim Gebart 4a23860d0c Makefile.buildtests: Add missing COLOR_ prefixes (typo) 8 years ago
Philipp Rosenkranz 94490ed031 compile_test.py / buildtest: fix output for failed boards 8 years ago
Philipp Rosenkranz c1365fefd9 make: increase retries for buildtest by one 8 years ago
Philipp Rosenkranz 19364b35a3 make: clean artifacts after build success/fail 8 years ago
Martine Lenders 4878f8a821 make: fix info-files target
aed4be3 broke this command, since the regular expressions here register
the macros that were introduced there, too. With this patch the skipping
of apps in travis works properly again.
8 years ago
Kaspar Schleiser 2226d14e12 make: buildtest: pass CCACHE_* to buildtests 8 years ago
Joakim Gebart 2682c38ee8 Merge pull request #2923 from gebart/pr/docker-buildtests
Docker: allow buildtests inside Docker, refactor environment handling.
8 years ago
BytesGalore f9a79eee41 RIOT/Makefile.include: added compile time warning on conflicting features 8 years ago
Joakim Gebart 68f3c261b0 docker: Add support for buildtests inside Docker. 8 years ago
Martine Lenders 1b7b35ac81 make: add output for all involved files to an application 8 years ago
Philipp Rosenkranz 6087aaf223 make: allow buildtest targets to function without BUILDTEST_MCU_GROUP 8 years ago
Philipp Rosenkranz 02d0c88284 tests/travis: split buildtests into MCU groups. 8 years ago
Thomas Eichinger d7d45482af make: migrate OS variable for COLOR_ECHO too 9 years ago
René Kijewski 0d6bc7eba6 Merge pull request #1913 from Kijewski/issue-1910
make: allow tagged RIOT_VERSION
9 years ago
Lucas Jenss de11d59177 Add TERMFLAGS to info-build of Makefile.buildtests
As requested in #1559
9 years ago
René Kijewski e4ae8eaa6e make: allow tagged RIOT_VERSION 9 years ago
Ludwig Ortmann 75a7a1f1db Merge pull request #1894 from thomaseichinger/buildtest_fix
make: fix make targets buildtest and info-boards-supported
9 years ago
Thomas Eichinger 6394cae938 make: fix make targets buildtest and info-boards-supported
Fixes issues with the make targets buildtest and info-boards-supported
on OS X hosts. Comments and recommentations to simplify and beautify
would be appreciated.
9 years ago
René Kijewski 765c88d08a make: allow drivers to implement features
This change allows drivers (or any module for that matter) to provide
features. This is e.g. useful if a board does not have a transceiver,
but your application uses `USEMODULE += some_driver`, which implements
the transceiver interface.

The line `FEATURES_PROVIDED += some_feature` should go to the guarded
block in `{sys,drivers}/Makefile.include`.
9 years ago
René Kijewski 162850b332 make: Implement optional features
Fixes #1876

This PR introduces `FEATURES_OPTIONAL` which can be used to tell the
Make system, that the application would like to use some feature, but
the build should proceed even if the selected board cannot provide the
optional feature.

`make buildtest` and `make info-supported-boards` heed this variable
when examining the list of supported boards.

If a word is present in `FEATURES_REQUIRED` and `FEATURES_OPTIONAL`,
then `FEATURES_OPTIONAL` takes precedence.
9 years ago
René Kijewski f49bd3e660 make: add Makefile.features telling the BOARDs' features
Please see #1715.
Closes #1715.

This PR implements the new Makefile variables "FEATURES_PROVIDED" and
"FEATURES_REQUIRED". A board *can* have a new file `Makefile.features`
which looks like:

```make
FEATURES_PROVIDED = transceiver
```

An application can have a corresponding line

```make
FEATURES_REQUIRED = transceiver
```

If the selected BOARD does not fulfil the requirements of the
application, then a *warning* is issued at compile time.

This change only includes the feature "transceiver", further features
are expected to be listed in further PRs. The requirement "transceiver"
is automatically added if the application uses the module
"defaulttransceiver".

`make buildtest` understands the new feature listing, so the user won't
need to add boards to `BOARD_BLACKLIST` manually.

Part of the change are the added Make targets
* `info-features-missing`, which prints the required features
  `\setminus` the provided features. The output is empty if there are no
  features missing.
* `info-boards-features-missing`, the same as `info-features-missing`
  but as a table for all boards, but heeded `BOARD_WHITELIST` and
  `BOARD_BLACKLIST`.

Applications don't have to use this new feature. This change does not
break existing Makefile.
9 years ago
René Kijewski 4d8aad8ad1 make: Centralize color use 9 years ago
René Kijewski b22c2f4ab5 Merge pull request #1431 from Kijewski/wget-for-everyone-woooohooooo
make: centralize wget/curl & unzip/7z feature test
9 years ago
René Kijewski 94b2e0815a tests: limit concurrency level
Some Travis CI machines have 32 CPUs. This sets our concurrency level to 33.
Travis CI kills our buildtest for obvious reasons.

This PR limits the concurrency level to 8 on Travis CI.
9 years ago
René Kijewski a70ee0f022 make: centralize wget/curl & unzip/7z feature test
With many open PRs that could benefit from loading SDKs when needed,
instead adding vast amounts of code to RIOTs master, this PR provides
the "functions" `$(DOWNLOAD_TO_STDOUT)`, `$(DOWNLOAD_TO_FILE)`, and
`$(UNZIP_HERE)`.

The first "function" takes one argument, the URL from where to download
the content. It is then piped to stdout. To be used e.g. with `tar xz`.

The second "function" taken two arguments, the destination file name,
and the source URL. If the previous invocation was interrupted, then the
download gets continued, if possible.

The last "function" takes one argument, the source ZIP file. The file
gets extracted into the cwd, so best use this "function" with
`cd $(SOME_WHERE) &&`.

The clumsy name `$(UNZIP_HERE)` is taken because the program "unzip"
takes the environment variable `UNZIP` as the source file, even if
another file name was given on the command line. The rationale for that
is that the hackers of "unzip" hate their users. Also they sacrifice
hamsters to Satan.
9 years ago
Martine Lenders 04489be771 [SQUASH ME] make: Move buildtest related PHONY targets to Makefile.buildtests 9 years ago
Martine Lenders 7306552873 [SQUASH ME] make: remove debugging lines 9 years ago
Martine Lenders 87b68e9382 make: Add supported boards to info-build target 9 years ago
Martine Lenders e8f251cfa3 [SQUASH ME] make: info-boards-supported is just 9 years ago
Martine Lenders da779b0dee make: Make BOARDS a global macro for buildtests 9 years ago
Martine Lenders c5bfbcfd25 [SQUASH ME] Fix some error + simplify some calls 9 years ago
Martine Lenders 86d8dede48 [SQUASH ME] make: Add info prefix for non-building targets in Makefile.buildtests 9 years ago
Martine Lenders e97c5ea7be make: Add info prefix for non-building targets in Makefile.buildtests 9 years ago