1
0
mirror of https://github.com/RIOT-OS/RIOT.git synced 2024-12-29 04:50:03 +01:00
Commit Graph

275 Commits

Author SHA1 Message Date
Joakim Nohlgård
339a4da9dc Makefiles: move to new directory /makefiles 2017-04-04 15:11:54 +02:00
smlng
53b0dd1777 make: set default toolchain for board native on macOS to llvm 2017-03-22 23:07:22 +01:00
95441004b3 make: introduce PKGDIRBASE 2017-03-10 14:18:44 +01:00
47f6ff3056 Merge pull request #6237 from kaspar030/rename_AD_to_Q
make: rename AD to Q
2017-01-17 16:16:02 +01:00
ac9b12263a make: factor out features handling, add default feature handling 2017-01-12 16:26:01 +01:00
fd07b5fd27 make: introduce QQ, use when doing CI build 2016-12-22 23:53:51 +01:00
f44763f346 make: adapt Makefiles to AD -> Q rename 2016-12-22 12:12:38 +01:00
a5603ec1b3 make: rename AD variable to Q 2016-12-22 12:12:38 +01:00
Joakim Nohlgård
d4f2070e8b make: Correct multilib detection when using LLVM
The LLVM makefile needs to be included _after_ the CPU makefiles have
set their CFLAGS in order to get the right multilib directory from GCC.
2016-12-21 13:03:58 +01:00
537b725aed make: introduce RIOT_CI_BUILD (#5162) 2016-12-17 00:17:26 +01:00
560a509036 make: remove trailing slash from BINDIR variable 2016-10-18 23:27:59 +02:00
Cenk Gündoğan
2b3d3995f1 make: export RIOT_VERSION to CFLAGS_WITH_MACROS
All macros are filtered out of the `CFLAGS` variable and during this
process, the `CFLAGS` string is destroyed. This is due to the fact that
the `RIOT_VERSION` string contains spaces, but the filtering process does
not take the whole string into account (following the first space). This
leads to some parts of the `RIOT_VERSION` string be sill existent in the
`CFLAGS` string.

Instead of exporting the `RIOT_VERSION` string to the `CFLAGS` macro to
just remove it again from there, I exported it to `CFLAGS_WITH_MACROS`.

Fixes #5859
2016-09-23 09:02:55 +02:00
Martine Lenders
55a08aeb59 Merge pull request #5827 from miri64/make/enh/quiet-per-default
make: build quiet as default
2016-09-12 16:59:59 +02:00
Martine Lenders
043eb677dd make: build quiet as default 2016-09-06 18:20:02 +02:00
Ludwig Knüpfer
dc183736bc make: include RIOT_VERSION in CFLAGS for riotbuild
fixes #5695
2016-07-27 09:23:39 +02:00
kYc0o
9ba2e5372d Merge pull request #5248 from cgundogan/pr/make/buildrelpath
make: BUILDRELPATH without call to git
2016-07-22 17:05:03 +02:00
1b0d9ef14b make: treat packages like modules when it comes to linking 2016-07-20 19:58:17 +02:00
Joakim Nohlgård
a678e868e9 Makefile.include: Move USEMODULE CFLAGS expansion last
Some USEMODULE parts (e.g. defined in ${BOARD}/Makefile.dep) were not
being properly exported to CFLAGS -DMODULE_xxx options.
2016-07-13 16:44:28 +02:00
Joakim Nohlgård
ffb4573667 Merge pull request #5097 from gebart/pr/make-include
make: Place most configuration macros in a separate file instead of on the command line
2016-07-07 18:03:18 +02:00
a1f8891a41 make: distclean pkg sources on clean-intermediates target 2016-07-06 17:33:28 +02:00
Joakim Nohlgård
77a15e7886 make: Place most configuration macros in a separate file instead of on the command line 2016-07-05 11:22:58 +02:00
Cenk Gündoğan
1d79e07051 make: BUILDRELPATH without call to git 2016-05-18 08:22:08 +02:00
Cenk Gündoğan
e26bb43a03 make: fix typo 2016-04-21 10:57:26 +02:00
Cenk Gündoğan
7383957a8d make: remove obsolete check for jenkins 2016-04-21 10:57:19 +02:00
Cenk Gündoğan
8a85725cf9 Merge pull request #5221 from Kijewski/rm-rf-safe
make: bail out if there are spaces in the path
2016-04-20 23:47:01 +02:00
René Kijewski
1593bf4d32 make: no need to invoke shell to get dir name 2016-04-20 23:22:43 +02:00
René Kijewski
e71e60e567 make: bail out if there are spaces in the path
If we use `rm -r(f)` then we should make sure that we don't delete
random directory trees because there was a whitespace in the path.
2016-04-20 23:22:43 +02:00
René Kijewski
5a6fcbc005 make: always use absolute path 2016-04-19 00:34:01 +02:00
Toon Stegen
f3ccc3b5cb make: clean up output
Remove space at begginning or error output line.
2016-04-01 12:15:46 +02:00
Toon Stegen
0221e6d885 make: don't print some test commands
When invoking make with QUIET=0 these test are printed to stdout, which
could be confusing.
2016-04-01 12:15:46 +02:00
Oleg Hahm
506e23f481 Merge pull request #2362 from kaspar030/add_lgpl_compliance_simplified
add infrastructure for binary LGPL compliance checks
2016-03-30 13:56:02 +02:00
Cenk Gündoğan
4e82028a9d Merge pull request #5170 from OTAkeys/use_APPDIR_iso_CURDIR
Makefile.include: use defined application directory
2016-03-30 13:19:06 +02:00
Toon Stegen
d5195b6bbc make: Use defined application directory
Instead of looking in the current directory for the application source
files, look into the defined APPDIR directory.
2016-03-30 12:23:26 +02:00
c04877dd95 make: add bindist targets / Makefiles 2016-03-29 22:46:28 +02:00
71e46a5ce6 make: add clean-pkg target (cleaning extracted & patched pkg sources) 2016-03-25 14:28:04 +01:00
Oleg Hahm
91d84b09f3 make: also add pkg include paths 2016-03-22 16:05:29 +01:00
Oleg Hahm
16a3f131a3 Merge pull request #5112 from kaspar030/use_git_cache
make: pkg: introduce git-cache
2016-03-21 22:32:33 +01:00
772657253f dist: tools: add git-cache 2016-03-21 21:22:33 +01:00
Joakim Nohlgård
cad5f08b56 Makefile.include: Set PREFIX if not set 2016-03-21 12:19:30 +01:00
Oleg Hahm
a82556d818 make: always include toolchain dependent Makefile 2016-03-15 12:02:53 +01:00
Cenk Gündoğan
dc509f030d dist/tools/desvirt: proper integration 2016-03-10 18:29:09 +01:00
Oleg Hahm
8986b98281 make: check if APPLICATION is set
Fixes #1282.
2016-03-08 21:08:04 +01:00
8b7ddb2f70 make: use variable for pkg subdir 2016-03-05 03:05:32 +01:00
Joakim Nohlgård
04c8a18493 Merge pull request #4939 from OlegHahm/version_string_fix
make: use single ticks
2016-03-04 15:53:04 +01:00
Oleg Hahm
61579d3be4 Merge pull request #4887 from locicontrols/objdump
make: set OBJDUMP = $(PREFIX)objdump for gnu targets.
2016-03-01 23:10:04 +01:00
Oleg Hahm
4c6b59b486 make: use single ticks
Otherwise the shell will try to evaluate the parentheses.
2016-03-01 20:38:01 +01:00
Oleg Hahm
7a979e3db4 make: actually make use of APPDEPS for building 2016-02-26 15:03:10 +01:00
Ian Martin
332d8c7818 make: use $(OBJDUMP) and $(OBJDUMPFLAGS) in the main objdump target too. 2016-02-24 12:14:05 -05:00
Hauke Petersen
da485b9e2a make: add board as default module 2015-12-07 17:53:22 +01:00
test
16e958e3b9 make: include Makefile.iotlab for iotlab-* goals 2015-11-28 21:26:46 +01:00
0117192901 make: add support for additional local Makefile 2015-11-19 11:38:49 +01:00
Lucas Jenss
d80f18de0b Minor usability improvements for samr21 usage 2015-10-27 19:43:40 +01:00
Thomas Eichinger
24e9de65e1 native: exclude emtpy archives from linking on OSX
OS X linker won't link archives consisting of the archives header only.
2015-09-03 11:55:59 +02:00
Iván Briano
5f4a5aecb2 make: Get the git directory from RIOTBASE
This allows having applications outside of RIOT's own git directory and
still get the correct branch information for the build.
2015-08-27 16:29:10 -03:00
a670766943 make: add info-modules make target 2015-08-26 08:10:04 +02:00
Martine Lenders
64c6d49cbd iot-lab_M3: rename to iotlab-m3 2015-08-19 20:59:06 +02:00
Martine Lenders
d46f542220 iot-lab_M3: rename to iotlab_m3 2015-08-19 18:29:17 +02:00
Martine Lenders
58ff31bfe9 gnrc: make all gnrc modules sub-modules of gnrc 2015-08-18 23:00:07 +02:00
c72538a6cf make: ccache: set ccache basedir to RIOTBASE 2015-08-14 00:31:36 +02:00
Martine Lenders
e1842869da make: make NG_NETIF_NUMOF available in build system 2015-08-11 02:49:19 +02:00
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)
2015-08-04 08:37:39 +02:00
Oleg Hahm
802b3d9c00 make: remove scan-build folder in clean 2015-07-22 20:30:34 +02:00
Joakim Gebart
13753cca14 Makefile.scan-build: Add make goal for running Clang static code analysis 2015-07-21 18:42:38 +02:00
Thomas Eichinger
85ab42dd30 Merge pull request #3262 from gebart/pr/map-cross-reference
Makefile.include: Add --cref to linker options
2015-07-20 17:01:41 +02:00
Martine Lenders
0c424716a6 make: auto-include testbed support for IoT-LAB 2015-07-18 10:54:47 +02:00
Joakim Gebart
ee8a8be09e Makefile.include: Add clean-intermediates target 2015-07-10 16:49:36 +02:00
Philipp Rosenkranz
538c992919 make: delete emptyarchive after test 2015-07-02 20:16:26 +02:00
Joakim Gebart
726d7e60b2 Makefile.include: Add --cref to linker options
The --cref option generates a detailed cross reference list in the map file.
Useful for checking what functions are referenced from where.
2015-06-25 14:59:15 +02:00
Joakim Gebart
b54c9d21ee dist: Add tool for generating Eclipse setting XML files
Usage: make eclipsesym (in application directory)
2015-06-01 17:53:44 +02:00
5a598b64b4 make: introduce RIOT_VERSION_OVERRIDE
Allows overriding of -DRIOT_VERSION regardless of the version actually
used. Necessary for reproducable compiles.
2015-05-29 09:45:40 +02:00
Martine Lenders
bac1ac3b59 make: actually disable a DISABLED_MODULE 2015-05-09 19:10:03 +02:00
Joakim Gebart
2682c38ee8 Merge pull request #2923 from gebart/pr/docker-buildtests
Docker: allow buildtests inside Docker, refactor environment handling.
2015-05-08 16:20:46 +02:00
BytesGalore
f9a79eee41 RIOT/Makefile.include: added compile time warning on conflicting features 2015-05-07 21:05:08 +02:00
Joakim Gebart
3b85f10217 docker: Refactor Makefile.include, split to Makefile.docker
- Better support for passing environment variables to the Docker container.
 - Move Docker-related definitions into Makefile.docker.
 - Only environment variables that originates from the command line or
   the environment will be passed to the Docker container.
2015-05-06 14:03:45 +02:00
haukepetersen
56cce19578 make: added APPDIR as environment variable 2015-04-30 15:08:48 +02:00
Joakim Gebart
8db628b17c Makefile.include: Add docker target.
export BUILD_IN_DOCKER=1 to use Docker for building inside a Docker
container.
GDB debug file paths will be wrong after building inside the container,
use the script provided in `dist/gdbinit-docker` to set the correct GDB
substitution paths (copy and paste the contents into your `~/.gdbinit`)

The environment variable DOCKER_FLAGS can be used to pass extra
parameters to the Docker process.
2015-04-24 16:03:52 +02:00
Oleg Hahm
18bf9529f2 make: check for board existence 2015-02-23 09:09:09 +01:00
Oleg Hahm
20067567d1 make: check for existence of tools 2015-02-23 09:09:04 +01:00
Oleg Hahm
984effd5b8 make: added a check for compiler existence 2015-02-23 09:09:04 +01:00
Joakim Gebart
5e2b9f52ba Makefile.include: Refactor ar-wrapper test.
llvm-ar does not understand `-rc`, but works for creating empty
archives when called with `rc` (without the leading dash). BSD `ar`
which ships with OSX, which the test is written for, understands the
argument with or without the leading dash (but does not support creating
empty archives.)
2015-02-08 20:08:14 +01:00
Oleg Hahm
dbca0d0dd4 make: add target to list available targets 2015-01-28 12:42:08 +01:00
Ludwig Ortmann
66a6aae1a8 make: escape unknown version string 2015-01-05 11:33:19 +01:00
Oleg Hahm
aef6256cc5 make: include DEFAULT_MODULES from cpu and boards 2014-12-25 16:32:56 +01:00
Ludwig Ortmann
049a6880c1 make: change escaped quotation marks
The '""' pattern is used so that the variable can be processed as a string
after the preprocessors evaluation. Change to \"\" instead, so that single
quotes can be used externally. The extra quotation marks are unneeded.

Related to #2213
2014-12-20 18:53:51 +01:00
Thomas Eichinger
d7d45482af make: migrate OS variable for COLOR_ECHO too 2014-12-15 16:16:44 +01:00
René Kijewski
0d6bc7eba6 Merge pull request #1913 from Kijewski/issue-1910
make: allow tagged RIOT_VERSION
2014-12-11 17:46:43 +01:00
René Kijewski
19a017cf03 make: term depends on flash
If you provide both `flash` and `term` as Make goals, then `term` needs
to wait for flash.
2014-12-11 14:23:39 +01:00
René Kijewski
bfbb1a353d Merge pull request #1924 from OlegHahm/strip_application_name
make: strip white space from application name
2014-11-23 15:51:42 +01:00
Oleg Hahm
6bdf6a1577 make: strip APPLICATION variable
Trailing white spaces in the application Makefile will cause the build
system to fail otherwise.
2014-11-23 15:46:39 +01:00
René Kijewski
e4ae8eaa6e make: allow tagged RIOT_VERSION 2014-11-21 17:06:46 +01:00
Ludwig Ortmann
6c9907b357 make: reintroduce dependency from flash to all 2014-11-19 15:04:51 +01:00
René Kijewski
3ed9a169b1 make: remove downloader "axel"
Breaks for `make -B`. If the file already exists, then `axel` fails
because it does not find the status file for the download.
2014-11-08 15:27:34 +01:00
Ludwig Ortmann
2c9c8bf2e0 make: remove dependency from flash to all
* print message when no hex file is found instead
* add objcopy for native so that flash can succeed
2014-10-31 10:31:47 +01:00
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`.
2014-10-26 23:54:10 +01:00
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.
2014-10-26 23:18:58 +01:00
Ludwig Ortmann
c947dc9858 make: remove $(CLEANFILES), it's superfluous 2014-10-10 15:15:13 +02:00
Ludwig Ortmann
851a02bcb7 make: add clean, distclean for RIOT
distclean
removes all build products, also depends on docclean

clean
removes all build products for the current board

also, silence clean target from Makefile.include and let it ignore errors
2014-10-10 15:14:30 +02:00
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.
2014-10-06 17:42:11 +02:00
Martine Lenders
50a185524f make: Allow for include of modules outside of the RIOTBASE path 2014-10-01 18:19:19 +02:00
Ludwig Ortmann
71b961bef7 make: .PHONY missing targets from Makefile.include 2014-09-27 08:11:44 +02:00