1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
|
PREFIX = /usr
MANPREFIX = $(PREFIX)/share/man
CC = cc -std=c2x
CPP = $(CC) -E -
# $(CPP) is only used for the check rule
CC_DEF_EXTRACT =
# If set, it will be used with -E -dM (must have the same meaning
# as in GCC and clang), otherwise $(CC) is used if it is GCC or
# clang, otherwise a gcc or clang from PATH is used
CPPFLAGS = -D_DEFAULT_SOURCE -D_BSD_SOURCE -D_XOPEN_SOURCE=700 -D_GNU_SOURCE
CFLAGS = -Os
LDFLAGS =
# It is important that CFLAGS at least specifies some optimisation,
# otherwise you may get binaries containing a lot of unused symbols
# and so be unnecessarily large. (The build deduplicates identical
# system call description, but only references to them, not their
# instantiations (which have static storage), for that it it relies
# on compiler optimisation.)
# If you know that the compiler has __builtin_ffsll([unsigned] long long int)
# which returns the index, plus 1, of the least significant set bit
# or 0 for 0, you can add -DHAVE_BUILTIN_FFSLL to CPPFLAGS; if you
# are using GCC>=3.4 or clang>=5, this is added automatically.
# Additionally, you can add -DUSE_INTERPOLATION_SEARCH to CPPFLAGS
# if you want the library to use interpolation search instead of
# binary search, this is probably a bad idea on platforms that do
# not support division natively, even on amd64, it does not seem to
# make any difference at the moment. If you add -DUSE_INTERPOLATION_SEARCH,
# you may also add `-DINTERPOLATION_SEARCH_FLOAT=long double` (default),
# `-DINTERPOLATION_SEARCH_FLOAT=double` or `-DINTERPOLATION_SEARCH_FLOAT=float`
# to specify which floating point type interpolation search should use
# if it cannot used integers; which option is best depends on the
# platform, as some platforms can work natively with any of the types
# and those `float` is most performant, and other platforms (such as
# i386) can only work natively with a specific type (`long double` in
# the case of i386) and thus performs best with that type.
DOWNLOAD = curl --
DEFAULT_OS_SUPPORT_SELECTION = yes
# You may for example put `DEFAULT_OS_SUPPORT_SELECTION = no` but add
# `LINUX_SUPPORT = yes` to this file if you always only want to have
# Linux supported.
#SUPPORTED_ARCHES != util/what-architecture-am-i-using true
# Uncomment this limit supported architectures. You will find which
# architectures are support in Makefile (don't add anything else).
# If you uncomment this without editing it ('!=' means it will execute
# that text behind it as a shell commend; change to '=' to list
# manually), the architecture you are running on, and modes
# (e.g. i386 and x32 on amd64, however if the kernel is built to
# support them)[1], its supports, will be selected.
# [1] Change 'true' to 'false' to exclude them, or remove 'true'
# to support even ones that the kernel is not compiled to support
# You can also limit supported architectures on an per-OS basis, by
# setting SUPPORTED_${NAME_OF_OS}_ARCHES; you will find the list of
# support architectures in ${name-of-os}/${name-of-os}-support.mk,
# however architectures not support in libsyscalls's core may be listed;
# do not add anything that is not supported by both libsyscalls's core
# and it's OS support
# This file is included multiple times, don't do anything weird
|