summaryrefslogblamecommitdiffstats
path: root/config.mk
blob: e0b7aa7e129b5d9cfec8e51328a6625c5c87497c (plain) (tree)
1
2
3
4
5
6



                               

                                        














                                                                            



                                                                             












                                                                               



























                                                                        
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