2012-11-12 22:26:17 +00:00
|
|
|
|
## Makefile.CI
|
|
|
|
|
#
|
|
|
|
|
# This is for use on [Travis CI](http://travis-ci.org), which is
|
|
|
|
|
# a free distributed continuous integration service with unique
|
|
|
|
|
# set of features:
|
|
|
|
|
# * uses clean ephemeral virtual machines for every build
|
|
|
|
|
# * integrates with GitHub - triggers builds on push and pull-request
|
|
|
|
|
# * it is open source and free for public repositories
|
|
|
|
|
# * features great web UI and bunch of other stuff
|
|
|
|
|
|
|
|
|
|
JOBS ?= 2
|
|
|
|
|
TAIL ?= tail -n 15
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
EXAMPLES_ALL = hello-world
|
|
|
|
|
|
|
|
|
|
EXAMPLES_native = ipv6/native-border-router
|
|
|
|
|
|
2012-11-12 22:26:38 +00:00
|
|
|
|
EXAMPLES_most_non_native = \
|
|
|
|
|
er-rest-example \
|
|
|
|
|
ipv6/rpl-border-router \
|
|
|
|
|
ipv6/rpl-collect \
|
|
|
|
|
ipv6/rpl-udp \
|
|
|
|
|
ipv6/simple-udp-rpl \
|
|
|
|
|
ipv6/slip-radio \
|
|
|
|
|
webserver-ipv6
|
|
|
|
|
|
|
|
|
|
EXAMPLES_redbee_econotag = $(EXAMPLES_most_non_native)
|
|
|
|
|
|
2012-11-12 22:26:44 +00:00
|
|
|
|
EXAMPLES_sky = $(EXAMPLES_most_non_native) sky-shell
|
|
|
|
|
|
2012-11-12 22:26:17 +00:00
|
|
|
|
CT := \033[0;0m
|
|
|
|
|
|
|
|
|
|
ifdef BOXED_SIGNS
|
|
|
|
|
SKIP_SIGN := ☐
|
|
|
|
|
FAIL_SIGN := ☒
|
|
|
|
|
PASS_SIGN := ☑
|
|
|
|
|
else
|
|
|
|
|
SKIP_SIGN := ✈
|
|
|
|
|
FAIL_SIGN := ✘
|
|
|
|
|
PASS_SIGN := ✔
|
|
|
|
|
endif
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
SKIP = (echo "\033[1;36m $(SKIP_SIGN) ➝ ❨ $$e ⊈ $@ ❩$(CT)"; echo skip >> results)
|
|
|
|
|
FAIL = (echo "\033[1;35m $(FAIL_SIGN) ➝ ❨ $$e ∉ $@ ❩$(CT)"; $(TAIL) $(LOG); echo fail >> results)
|
|
|
|
|
PASS = (echo "\033[1;32m $(PASS_SIGN) ➝ ❨ $$e ∈ $@ ❩$(CT)"; echo pass >> results)
|
|
|
|
|
|
|
|
|
|
ifeq ($(BUILD_TYPE),multi)
|
|
|
|
|
THIS = $(MAKE) -C examples/$$e TARGET=$@ > $(LOG) 2>&1
|
|
|
|
|
MINE = $(EXAMPLES_ALL) $(EXAMPLES_$(subst -,_,$@))
|
|
|
|
|
endif
|
|
|
|
|
|
|
|
|
|
LOG = /tmp/$@_`echo $$e | sed 's:/:_:g'`.log
|
|
|
|
|
|
|
|
|
|
%:
|
|
|
|
|
@echo "\033[1;37m ➠ ❨$@❩ $(CT)"
|
|
|
|
|
@for e in $(MINE); do $(THIS) && $(PASS) || $(FAIL); done;
|