aboutsummaryrefslogtreecommitdiff
path: root/Makefile
blob: e0f0de2b63d31440fa84f0f679ff904f4cb4657b (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
BOARD ?=

.PHONY: check jerryscript micropython zephyr.js

help:
	@echo "make <target> BOARD=<board>"
	@echo "<target>: all, jerryscript, micropython"
	@echo "<board>: frdm_k64f, 96b_carbon, cc3200_launchxl, etc."

all: jerryscript micropython

jerryscript: check
	$(MAKE) -C jerryscript -f ./targets/zephyr/Makefile.zephyr BOARD=$(BOARD)
	tag=`cd jerryscript; git describe --tags`-z`cd zephyr; git describe`; \
	    cp jerryscript/build/$(BOARD)/zephyr/zephyr.bin jerryscript-$(BOARD)-$$tag.bin; \
	    cp jerryscript/build/$(BOARD)/zephyr/zephyr.elf jerryscript-$(BOARD)-$$tag.elf

micropython: check
	$(MAKE) -C micropython/zephyr BOARD=$(BOARD)
	if [ $(BOARD) = "qemu_x86" ]; then \
	    rm -f /tmp/slip.sock; \
	    (socat PTY,link=/tmp/slip.dev UNIX-LISTEN:/tmp/slip.sock &); \
	    $(MAKE) -C micropython/zephyr BOARD=$(BOARD) test; \
	fi
	tag=`cd micropython; git describe --tags`-z`cd zephyr; git describe`; \
	    cp micropython/zephyr/outdir/$(BOARD)/zephyr.bin micropython-$(BOARD)-$$tag.bin; \
	    cp micropython/zephyr/outdir/$(BOARD)/zephyr.elf micropython-$(BOARD)-$$tag.elf

zephyr.js: check
	@if [ -z "$$ZJS_BASE" ]; then echo "You must use zmake-z.js <targets> BOARD=<board> to build Zephyr.js"; false; fi
	# Workaround for some Kconfig problem
	#$(MAKE) -C zephyr.js/deps/zephyr mrproper
	$(MAKE) -C zephyr.js BOARD=$(BOARD)
	tag=`cd zephyr.js; git describe --tags --always`-z`cd zephyr.js/deps/zephyr; git describe`; \
	    cp zephyr.js/outdir/$(BOARD)/zephyr.bin zephyr.js-$(BOARD)-$$tag.bin; \
	    cp zephyr.js/outdir/$(BOARD)/zephyr.elf zephyr.js-$(BOARD)-$$tag.elf

clean: check
	$(MAKE) -C jerryscript -f ./targets/zephyr/Makefile.zephyr clean BOARD=$(BOARD)

pristine:
	rm -rf jerryscript/build
	rm -rf micropython/zephyr/build micropython/zephyr/outdir
	rm -rf zephyr.js/outdir zephyr.js/deps/jerryscript/build

check:
	@if [ -z "$$ZEPHYR_BASE" ]; then echo "You did not source zephyr-environ.sh!"; false; fi
	@if [ -z "$(BOARD)" ]; then echo "You must specify BOARD=<board>"; false; fi

update:
	git submodule sync --recursive
	git submodule update --init --recursive --checkout

sdk:
	wget -c -P downloads https://github.com/zephyrproject-rtos/meta-zephyr-sdk/releases/download/0.9.1/zephyr-sdk-0.9.1-setup.run
	sh downloads/zephyr-sdk-0.9.1-setup.run -- -d $$PWD/sdk