Packages

nerves_system_br

1.0.0-rc.2
1.34.0 1.33.9 1.33.8 1.33.7 1.33.6 1.33.5 1.33.4 1.33.3 1.33.2 1.33.1 1.33.0 1.32.5 1.32.4 1.32.3 1.32.2 1.32.1 1.32.0 1.31.7 1.31.6 1.31.5 1.31.4 1.31.3 1.31.2 1.31.1 1.31.0 1.30.1 1.30.0 1.29.3 1.29.2 1.29.1 1.29.0 1.28.3 1.28.2 1.28.1 1.28.0 1.27.3 1.27.2 1.27.1 1.27.0 1.26.1 1.26.0 1.25.3 1.25.2 1.25.1 1.25.0 1.24.1 1.24.0 1.23.3 1.23.2 1.23.1 1.23.0 1.22.8 1.22.7 1.22.6 1.22.5 1.22.4 1.22.3 1.22.2 1.22.1 1.22.0 1.21.6 1.21.5 1.21.4 1.21.3 1.21.2 1.21.1 1.21.0 1.20.6 1.20.5 1.20.4 1.20.3 1.20.2 1.20.1 1.20.0 1.19.1 1.19.0 1.18.6 1.18.5 1.18.4 1.18.3 1.18.2 1.18.1 1.18.0 1.17.4 1.17.3 1.17.2 1.17.1 1.17.0 1.16.5 1.16.4 1.16.3 1.16.2 1.16.1 1.16.0 1.15.2 1.15.1 1.15.0 1.14.5 1.14.4 1.14.3 1.14.2 1.14.1 1.14.0 1.13.8 1.13.7 1.13.6 1.13.5 1.13.4 1.13.3 1.13.2 1.13.1 1.13.0 1.12.4 1.12.3 1.12.2 1.12.1 1.12.0 1.12.0-rc.0 1.11.4 1.11.3 1.11.2 1.11.1 1.11.0 1.10.3 1.10.2 1.10.1 1.10.0 1.9.5 1.9.4 1.9.3 1.9.2 1.9.1 1.9.0 1.8.6 1.8.5 1.8.4 1.8.3 1.8.2 1.8.1 1.8.0 1.7.3 1.7.2 1.7.1 1.7.0 1.6.8 1.6.7 1.6.6 1.6.5 1.6.4 1.6.3 1.6.2 1.6.1 1.6.0 1.5.6 1.5.5 1.5.4 1.5.3 1.5.2 1.5.1 1.5.0 1.4.5 1.4.4 1.4.3 1.4.2 1.4.1 1.4.0 1.3.2 1.3.1 1.3.0 1.2.2 1.2.1 1.2.0 1.1.0 1.0.1 1.0.0 1.0.0-rc.4 1.0.0-rc.3 1.0.0-rc.2 1.0.0-rc.1 1.0.0-rc.0 0.17.0 0.16.4 0.16.3 0.16.2 0.16.1-2017-11 0.16.0-2017-11 0.15.1 0.15.0 0.14.1 0.14.0 0.13.9 0.13.8 0.13.7 0.13.6 0.13.5 0.13.4 retired 0.13.3 0.13.2 0.13.0 0.12.1 0.12.0 0.11.1 0.11.0 0.10.1 0.10.0 0.9.4 0.9.3 0.9.2 0.9.1 0.9.0 0.8.2 0.8.1 0.8.0 0.7.0 0.6.1 0.6.0 0.5.2 0.5.1 0.5.0 0.4.2 0.4.1

Nerves System BR - Buildroot based build platform for Nerves Systems

Current section

Files

Jump to
nerves_system_br scripts nerves-elixir.mk
Raw

scripts/nerves-elixir.mk

#
# Include this in your project's Makefile as a quick way of
# building a Nerves project
#
ifeq ($(NERVES_SYSTEM),)
$(error Make sure that you source nerves-env.sh first)
endif
ERL_LIB = $(NERVES_SDK_SYSROOT)/usr/lib/erlang/lib
REL2FW = $(NERVES_SYSTEM)/scripts/rel2fw.sh
# This should get the one built by nerves assuming that the Nerves
# environment is loaded.
FWUP ?= $(shell which fwup)
ELIXIR_APP_NAME ?= $(shell basename $(shell pwd))
all: elixir-first-time-setup deps compile release
help:
@echo '-------------------------------------------------'
@echo '$(ELIXIR_APP_NAME) help'
@echo '-------------------------------------------------'
@echo
@echo 'Targets:'
@echo ' all - Build everything'
@echo ' deps - Run mix deps.get'
@echo ' compile - Run mix compile'
@echo ' release - Run mix release and package the firmware'
@echo ' burn - Burn the most recent build to an SDCard (requires sudo)'
@echo ' clean - Clean up the release and build directories'
@echo ' distclean - Clean up everything'
@echo
release:
rm -fr rel/$(ELIXIR_APP_NAME) # Clean up unused apps
mix release
$(REL2FW) -f _images/$(ELIXIR_APP_NAME).fw -a rel/rootfs-additions rel/$(ELIXIR_APP_NAME)
@echo
@echo The firmware is in the _images directory and can be loaded onto the target.
@echo E.g., run \"make burn\" to program the image to an SDCard.
compile:
mix compile
deps:
mix deps.get
# Replace everything on the SDCard with new bits
burn:
sudo $(FWUP) -a -i $(firstword $(wildcard _images/*.fw)) -t complete
burn-complete: burn
# Upgrade the image on the SDCard (app data won't be removed)
# This is usually the fastest way to update an SDCard that's already
# been programmed. It won't update bootloaders, so if something is
# really messed up, do a "make burn".
burn-upgrade:
sudo $(FWUP) -a -i $(firstword $(wildcard _images/*.fw)) -t upgrade
if [ -e /tmp/finalize.fw ]; then \
sudo $(FWUP) -y -a -i /tmp/finalize.fw -t on-reboot; \
sudo rm /tmp/finalize.fw; \
fi
# Helper tasks for creating a base set of files needed to build Nerves
# images. If they already exist, they aren't overwritten.
elixir-first-time-setup: rel/relx.config rel/vm.args rel/nerves_system_libs
@if ! grep nerves .gitignore >/dev/null ; then \
echo "_images" >> .gitignore ; \
echo "rel/nerves_system_libs" >> .gitignore ; \
echo "rel/$(ELIXIR_APP_NAME)" >> .gitignore ; \
fi
rel/vm.args rel/relx.config:
@echo $@ not found. Creating a default version...
@mkdir -p rel
@sed "s/APP_NAME/$(ELIXIR_APP_NAME)/" \
< $(NERVES_SYSTEM)/scripts/project-skel/elixir/$@ > $@
rel/nerves_system_libs:
rm -f $@
ln -s $(ERL_LIB) $@
clean:
mix clean; rm -fr _build _images rel/$(ELIXIR_APP_NAME)
distclean: clean
-rm -fr ebin deps
.PHONY: deps burn burn-complete burn-upgrade clean distclean all elixir-first-time-setup compile release help