From 58b99e7f457bc056e91d2d1721cbb65fcd517afe Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Lo=C3=AFc=20Hoguin?= Date: Wed, 28 May 2014 22:07:54 +0200 Subject: Cut erlang.mk into many small components * The build.config says what gets into the generated erlang.mk. * The default erlang.mk in the repository hasn't changed yet. * Clean targets were separated into "clean" and "distclean". * The "help" target was added to display some help message. I probably broke a couple things... --- core/core.mk | 66 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 66 insertions(+) create mode 100644 core/core.mk (limited to 'core/core.mk') diff --git a/core/core.mk b/core/core.mk new file mode 100644 index 0000000..caa28d0 --- /dev/null +++ b/core/core.mk @@ -0,0 +1,66 @@ +# Copyright (c) 2013-2014, Loïc Hoguin +# +# 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: all deps app rel docs tests clean distclean help + +ERLANG_MK_VERSION = 1 + +# Core configuration. + +PROJECT ?= $(notdir $(CURDIR)) + +# Verbosity. + +V ?= 0 + +gen_verbose_0 = @echo " GEN " $@; +gen_verbose = $(gen_verbose_$(V)) + +# Core targets. + +all:: deps app rel + +clean:: + $(gen_verbose) rm -f erl_crash.dump + +distclean:: clean + +help:: + @printf "%s\n" \ + "erlang.mk (version $(ERLANG_MK_VERSION)) is distributed under the terms of the ISC License." \ + "Copyright (c) 2013-2014 Loïc Hoguin " \ + "" \ + "Usage: [V=1] make [target]" \ + "" \ + "Core targets:" \ + " all Run deps, app and rel targets in that order" \ + " deps Fetch dependencies (if needed) and compile them" \ + " app Compile the project" \ + " rel Build a release for this project, if applicable" \ + " docs Build the documentation for this project" \ + " tests Run the tests for this project" \ + " clean Delete temporary and output files from most targets" \ + " distclean Delete all temporary and output files" \ + " help Display this help and exit" \ + "" \ + "The target clean only removes files that are commonly removed." \ + "Dependencies and releases are left untouched." \ + "" \ + "Setting V=1 when calling make enables verbose mode." + +# Core functions. + +define core_http_get + wget --no-check-certificate -O $(1) $(2)|| rm $(1) +endef -- cgit v1.2.3