Packages

nerves_system_br

1.22.8
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_overlay 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