osd-contiki/.travis.mk

57 lines
1.4 KiB
Makefile
Raw Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

## 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
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)
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;