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.
This commit is contained in:
parent
1c07da4b48
commit
af26361837
|
@ -10,6 +10,7 @@
|
||||||
!/CHANGELOG
|
!/CHANGELOG
|
||||||
!/LICENSE
|
!/LICENSE
|
||||||
!/BRANCHES
|
!/BRANCHES
|
||||||
|
!/BSDmakefile
|
||||||
!/Makefile
|
!/Makefile
|
||||||
!/README
|
!/README
|
||||||
!/INSTALL
|
!/INSTALL
|
||||||
|
|
|
@ -0,0 +1,10 @@
|
||||||
|
# Makefile stub for FreeBSD, it checks BSDmakefile before Makefile so
|
||||||
|
# we can be friendly to the user and tell them to use gmake.
|
||||||
|
.BEGIN:
|
||||||
|
@echo "Please use GNU make instead. It is often called gmake on BSD systems."
|
||||||
|
@echo "Example:"
|
||||||
|
@echo ' gmake ${MAKEFLAGS} $(.TARGETS)' | sed -e 's, -J[ ]*[0-9,]*,,'
|
||||||
|
@echo
|
||||||
|
|
||||||
|
all $(.TARGETS): .SILENT
|
||||||
|
@-
|
Loading…
Reference in New Issue