From f40c5faffa5f6ee87c6bd48f6ce921ac9d27c3e0 Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?Lo=C3=AFc=20Hoguin?= <essen@ninenines.eu>
Date: Fri, 21 Oct 2016 14:24:00 +0200
Subject: Deprecate Make 3

A warning will be displayed for the time being while we keep
compatibility.

Also improves installation docs for Unix.
---
 core/core.mk                        | 10 ++++++++
 doc/src/guide/installation.asciidoc | 46 +++++++++++++++++++++++++++++--------
 2 files changed, 47 insertions(+), 9 deletions(-)

diff --git a/core/core.mk b/core/core.mk
index f4a8921..96b1457 100644
--- a/core/core.mk
+++ b/core/core.mk
@@ -18,6 +18,16 @@ ERLANG_MK_FILENAME := $(realpath $(lastword $(MAKEFILE_LIST)))
 
 ERLANG_MK_VERSION = 1
 
+# Make 3.81 and 3.82 are deprecated.
+
+ifeq ($(MAKE_VERSION),3.81)
+$(warning Please upgrade to GNU Make 4 or later: https://erlang.mk/guide/installation.html)
+endif
+
+ifeq ($(MAKE_VERSION),3.82)
+$(warning Please upgrade to GNU Make 4 or later: https://erlang.mk/guide/installation.html)
+endif
+
 # Core configuration.
 
 PROJECT ?= $(notdir $(CURDIR))
diff --git a/doc/src/guide/installation.asciidoc b/doc/src/guide/installation.asciidoc
index cc18e7f..cc1c189 100644
--- a/doc/src/guide/installation.asciidoc
+++ b/doc/src/guide/installation.asciidoc
@@ -1,24 +1,52 @@
 [[installation]]
 == Installation
 
-This chapter explains how to setup your system in
-order to use Erlang.mk.
-
 === On Unix
 
-Erlang.mk requires GNU Make to be installed. GNU Make 3.81
-or later is required. GNU Make 4.1 or later is recommended,
-as this is the version Erlang.mk is developed on.
+Erlang.mk requires GNU Make to be installed. While it will
+currently work with GNU Make 3.81, support for this version
+is deprecated and will be removed in 2017. We recommend
+GNU Make 4.1 or later.
+
+Git and Erlang/OTP must also be installed.
 
 Some functionality requires that Autoconf 2.59 or later be
 installed, in order to compile Erlang/OTP. Erlang/OTP may
 have further requirements depending on your needs.
 
-Erlang.mk currently requires Erlang/OTP to be installed in
-order to compile Erlang projects.
-
 Some packages may require additional libraries.
 
+==== Linux
+
+The commands to install packages vary between distributions:
+
+.Arch Linux
+[source,bash]
+$ pacman -Sy erlang git make
+
+==== FreeBSD
+
+FreeBSD comes with binary and source packages:
+
+.Install binary packages
+[source,bash]
+$ pkg install erl git gmake
+
+==== OS X and macOS
+
+While Apple distributes their own GNU Make, their version is
+very old and plagued with numerous bugs. It is recommended
+to install a more recent version from either Homebrew or
+MacPorts:
+
+.Homebrew
+[source,bash]
+$ brew install erlang git homebrew/dupes/make
+
+.MacPorts
+[source,bash]
+$ sudo port install erlang git gmake
+
 === On Windows
 
 Erlang.mk can be used on Windows inside an MSYS2 environment.
-- 
cgit v1.2.3