1
0
mirror of https://github.com/RIOT-OS/RIOT.git synced 2024-12-29 04:50:03 +01:00
RIOT/examples/ccn-lite-relay
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
..
main.c ccnl: duplicate variable names 2014-08-07 16:31:27 +02:00
Makefile make: add Makefile.features telling the BOARDs' features 2014-10-06 17:42:11 +02:00
README.md Fix trailing whitespaces 2014-05-26 14:54:23 +02:00

This application is a showcase of the Content Centric Networking (CCN) capabilities in RIOT.

The example consists in two parts: clients and relays.

This file documents the relay functionalities.

A relay implements CCN capabilities for third party content caching, forwarding and subscription.

Upon booting up, the CCN stack is automatically started, which enables the processing of incoming CCN messages (and relaying them if necessary).