/ Makefile
Makefile
 1  # Copyright (c) 2017 Thomas Pornin <pornin@bolet.org>
 2  #
 3  # Permission is hereby granted, free of charge, to any person obtaining 
 4  # a copy of this software and associated documentation files (the
 5  # "Software"), to deal in the Software without restriction, including
 6  # without limitation the rights to use, copy, modify, merge, publish,
 7  # distribute, sublicense, and/or sell copies of the Software, and to
 8  # permit persons to whom the Software is furnished to do so, subject to
 9  # the following conditions:
10  #
11  # The above copyright notice and this permission notice shall be 
12  # included in all copies or substantial portions of the Software.
13  #
14  # THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, 
15  # EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
16  # MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND 
17  # NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS
18  # BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN
19  # ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN
20  # CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
21  # SOFTWARE.
22  
23  # ======================================================================
24  
25  # The lines below are a horrible hack that nonetheless works. On a
26  # "make" utility compatible with Single Unix v4 (this includes GNU and
27  # BSD make), the '\' at the end of a command line counts as an escape
28  # for the newline character, so the next line is still a comment.
29  # However, Microsoft's nmake.exe (that comes with Visual Studio) does
30  # not interpret the final '\' that way in a comment. The end result is
31  # that when using nmake.exe, this will include "mk/Win.mk", whereas
32  # GNU/BSD make will include "mk/Unix.mk".
33  
34  # \
35  !ifndef 0 # \
36  !include mk/NMake.mk # \
37  !else
38  .POSIX:
39  include mk/SingleUnix.mk
40  # Extra hack for OpenBSD make.
41  ifndef: all
42  0: all
43  endif: all
44  # \
45  !endif