farmbot_os/Makefile

63 lines
1.2 KiB
Makefile

.PHONY: all clean format docs deps
.DEFAULT_GOAL: all
MIX_ENV := $(MIX_ENV)
MIX_TARGET := $(MIX_TARGET)
ifeq ($(MIX_ENV),)
MIX_ENV := dev
endif
ifeq ($(MIX_TARGET),)
MIX_TARGET := host
endif
PROJECTS := farmbot_celery_script \
farmbot_core \
farmbot_ext \
farmbot_firmware \
farmbot_os \
farmbot_telemetry
all: help
help:
@echo "Usage: "
@echo " make [target]"
@echo "TARGETS: "
@echo " clean - clean all."
clean_other_branch:
rm -rf _build deps c_src config tmp priv
clean: clean_other_branch
@for project in $(PROJECTS) ; do \
echo cleaning $$project ; \
rm -rf $$project/erl_crash.dump ; \
rm -rf $$project/.*.sqlite3* ; \
rm -rf $$project/*.sqlite3* ; \
rm -rf $$project/*.db ; \
rm -rf $$project/_build ; \
rm -rf $$project/deps ; \
rm -rf $$project/priv/*.so ; \
done
format:
mix format
@for project in $(PROJECTS) ; do \
echo formatting $$project ; \
cd $$project && mix format && cd .. ; \
done
deps:
@for project in $(PROJECTS) ; do \
echo Fetching deps for $$project ; \
cd $$project && mix deps.get && cd .. ; \
done
docs:
@for project in $(PROJECTS) ; do \
echo Building docs for $$project ; \
cd $$project && mix docs && cd .. ; \
done