aboutsummaryrefslogtreecommitdiffstats
path: root/plugins.mk
diff options
context:
space:
mode:
Diffstat (limited to 'plugins.mk')
-rw-r--r--plugins.mk42
1 files changed, 42 insertions, 0 deletions
diff --git a/plugins.mk b/plugins.mk
new file mode 100644
index 0000000..1642862
--- /dev/null
+++ b/plugins.mk
@@ -0,0 +1,42 @@
+# Copyright (c) 2016, Loïc Hoguin <[email protected]>
+#
+# Permission to use, copy, modify, and/or distribute this software for any
+# purpose with or without fee is hereby granted, provided that the above
+# copyright notice and this permission notice appear in all copies.
+#
+# THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES
+# WITH REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF
+# MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR
+# ANY SPECIAL, DIRECT, INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES
+# WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN
+# ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF
+# OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
+
+.PHONY: lfe-shell
+
+# Verbosity.
+
+lfe_verbose_0 = @echo " LFE " $(filter %.lfe,$(?F));
+lfe_verbose = $(lfe_verbose_$(V))
+
+# Core targets.
+
+LFE_FILES = $(sort $(call core_find,src/,*.lfe))
+
+ifneq ($(LFE_FILES),)
+
+BEAM_FILES += $(addprefix ebin/,$(patsubst %.lfe,%.beam,$(notdir $(LFE_FILES))))
+
+# Rebuild LFE modules when the Makefile changes.
+$(LFE_FILES): $(MAKEFILE_LIST)
+ @touch $@
+
+ebin/$(PROJECT).app:: $(LFE_FILES) | ebin/
+ $(if $(strip $?),$(lfe_verbose) PATH=$(PATH):$(DEPS_DIR)/lfe/bin lfec -o ebin/ $(LFE_FILES))
+
+endif
+
+# Shell.
+
+lfe-shell: deps
+ $(verbose) PATH=$(PATH):$(DEPS_DIR)/lfe/bin lfe