]> git.ipfire.org Git - thirdparty/haproxy.git/commit
BUILD: makefile: commit the tiny FreeBSD makefile stub
authorWilly Tarreau <w@1wt.eu>
Wed, 24 May 2023 15:06:30 +0000 (17:06 +0200)
committerWilly Tarreau <w@1wt.eu>
Wed, 24 May 2023 15:17:36 +0000 (17:17 +0200)
commitaf26361837ed9ca72da74a8af5407948b14b6be4
treeb2692fba07604cc6c2718314c465f2e63f02f5b1
parent1c07da4b48f680f0de871b2a87a21c1dd05a1ed9
BUILD: makefile: commit the tiny FreeBSD makefile stub

The idea here is to try to detect the use of "make" instead of "gmake"
on FreeBSD. After having long tried, there's no way to construct a
condition that is common to both makefile languages and could serve as
a differentiator since there's simply no common word between the two
languages. However on FreeBSD (the main used BSD platform), "make" is
configured to look for BSDmakefile before the other ones. It allows us
to intercept it and explain to use gmake with an example of a roughly
converted make command line (we just strip "-J xx,xx" that systematically
gets inserted if "-j" is used). A few tricks are used, such as creating
a dummy target on the fly based on the requested one just to silence the
output, and always match "all" since it's used by default when no target
is specified. .DEFAULTS was initially used but finally dropped thanks to
this.

For example:

  $ make -j$(getconf NPROCESSORS_ONLN) TARGET=freebsd USE_OPENSSL=1
  Please use GNU make instead. It is often called gmake.
  Example:
    gmake  -j 4 TARGET=freebsd USE_OPENSSL=1  all

It will often be sufficient to permit a copy-paste and to try again.
Note that the .gitignore was updated.
.gitignore
BSDmakefile [new file with mode: 0644]