Makefile 96.8 KB
Newer Older
1
# The default target of this Makefile is...
2
all::
3

4
# Define V=1 to have a more verbose compile.
5
#
6 7 8 9 10
# Define SHELL_PATH to a POSIX shell if your /bin/sh is broken.
#
# Define SANE_TOOL_PATH to a colon-separated list of paths to prepend
# to PATH if your tools in /usr/bin are broken.
#
11 12 13
# Define SOCKLEN_T to a suitable type (such as 'size_t') if your
# system headers do not define a socklen_t type.
#
14 15 16
# Define INLINE to a suitable substitute (such as '__inline' or '') if git
# fails to compile with errors about undefined inline functions or similar.
#
17
# Define SNPRINTF_RETURNS_BOGUS if you are on a system which snprintf()
18 19 20
# or vsnprintf() return -1 instead of number of characters which would
# have been written to the final string if enough space had been available.
#
21
# Define FREAD_READS_DIRECTORIES if you are on a system which succeeds
22 23
# when attempting to read from an fopen'ed directory (or even to fopen
# it at all).
24
#
25
# Define NO_OPENSSL environment variable if you do not have OpenSSL.
26
#
27 28 29 30
# Define USE_LIBPCRE if you have and want to use libpcre. Various
# commands such as log and grep offer runtime options to use
# Perl-compatible regular expressions instead of standard or extended
# POSIX regular expressions.
31
#
32 33 34 35
# USE_LIBPCRE is a synonym for USE_LIBPCRE2, define USE_LIBPCRE1
# instead if you'd like to use the legacy version 1 of the PCRE
# library. Support for version 1 will likely be removed in some future
# release of Git, as upstream has all but abandoned it.
36
#
37 38 39 40 41 42 43 44
# When using USE_LIBPCRE1, define NO_LIBPCRE1_JIT if the PCRE v1
# library is compiled without --enable-jit. We will auto-detect
# whether the version of the PCRE v1 library in use has JIT support at
# all, but we unfortunately can't auto-detect whether JIT support
# hasn't been compiled in in an otherwise JIT-supporting version. If
# you have link-time errors about a missing `pcre_jit_exec` define
# this, or recompile PCRE v1 with --enable-jit.
#
45 46 47 48
# Define LIBPCREDIR=/foo/bar if your PCRE header and library files are
# in /foo/bar/include and /foo/bar/lib directories. Which version of
# PCRE this points to determined by the USE_LIBPCRE1 and USE_LIBPCRE2
# variables.
49
#
Kirill Smelkov's avatar
Kirill Smelkov committed
50 51
# Define HAVE_ALLOCA_H if you have working alloca(3) defined in that header.
#
52
# Define NO_CURL if you do not have libcurl installed.  git-http-fetch and
53
# git-http-push are not built, and you cannot use http:// and https://
54
# transports (neither smart nor dumb).
55
#
56
# Define CURLDIR=/foo/bar if your curl header and library files are in
57
# /foo/bar/include and /foo/bar/lib directories.
58
#
59 60 61
# Define CURL_CONFIG to curl's configuration program that prints information
# about the library (e.g., its version number).  The default is 'curl-config'.
#
62 63 64 65 66 67 68
# Define CURL_LDFLAGS to specify flags that you need to link when using libcurl,
# if you do not want to rely on the libraries provided by CURL_CONFIG.  The
# default value is a result of `curl-config --libs`.  An example value for
# CURL_LDFLAGS is as follows:
#
#     CURL_LDFLAGS=-lcurl
#
69
# Define NO_EXPAT if you do not have expat installed.  git-http-push is
70
# not built, and you cannot push using http:// and https:// transports (dumb).
71
#
72 73 74
# Define EXPATDIR=/foo/bar if your expat header and library files are in
# /foo/bar/include and /foo/bar/lib directories.
#
75 76 77
# Define EXPAT_NEEDS_XMLPARSE_H if you have an old version of expat (e.g.,
# 1.1 or 1.2) that provides xmlparse.h instead of expat.h.
#
78 79 80 81
# Define NO_GETTEXT if you don't want Git output to be translated.
# A translated Git requires GNU libintl or another gettext implementation,
# plus libintl-perl at runtime.
#
82 83 84
# Define USE_GETTEXT_SCHEME and set it to 'fallthrough', if you don't trust
# the installed gettext translation of the shell scripts output.
#
85 86 87 88 89 90
# Define HAVE_LIBCHARSET_H if you haven't set NO_GETTEXT and you can't
# trust the langinfo.h's nl_langinfo(CODESET) function to return the
# current character set. GNU and Solaris have a nl_langinfo(CODESET),
# FreeBSD can use either, but MinGW and some others need to use
# libcharset.h's locale_charset() instead.
#
91
# Define CHARSET_LIB to the library you need to link with in order to
92
# use locale_charset() function.  On some platforms this needs to set to
93
# -lcharset, on others to -liconv .
94
#
95 96 97 98 99 100
# Define LIBC_CONTAINS_LIBINTL if your gettext implementation doesn't
# need -lintl when linking.
#
# Define NO_MSGFMT_EXTENDED_OPTIONS if your implementation of msgfmt
# doesn't support GNU extensions like --check and --statistics
#
101 102 103
# Define HAVE_PATHS_H if you have paths.h and want to use the default PATH
# it specifies.
#
104
# Define NO_D_TYPE_IN_DIRENT if your platform defines DT_UNKNOWN but lacks
105
# d_type in struct dirent (Cygwin 1.5, fixed in Cygwin 1.7).
106
#
107 108
# Define HAVE_STRINGS_H if you have strings.h and need it for strcasecmp.
#
109 110
# Define NO_STRCASESTR if you don't have strcasestr.
#
René Scharfe's avatar
René Scharfe committed
111 112
# Define NO_MEMMEM if you don't have memmem.
#
Matt Kraai's avatar
Matt Kraai committed
113 114
# Define NO_GETPAGESIZE if you don't have getpagesize.
#
115 116
# Define NO_STRLCPY if you don't have strlcpy.
#
117 118
# Define NO_STRTOUMAX if you don't have both strtoimax and strtoumax in the
# C library. If your compiler also does not support long long or does not have
119 120
# strtoull, define NO_STRTOULL.
#
121 122
# Define NO_SETENV if you don't have setenv in the C library.
#
123 124
# Define NO_UNSETENV if you don't have unsetenv in the C library.
#
125 126
# Define NO_MKDTEMP if you don't have mkdtemp in the C library.
#
127 128
# Define MKDIR_WO_TRAILING_SLASH if your mkdir() can't deal with trailing slash.
#
129 130 131
# Define NO_GECOS_IN_PWENT if you don't have pw_gecos in struct passwd
# in the C library.
#
132 133
# Define NO_LIBGEN_H if you don't have libgen.h.
#
134 135
# Define NEEDS_LIBGEN if your libgen needs -lgen when linking
#
136 137
# Define NO_SYS_SELECT_H if you don't have sys/select.h.
#
138 139
# Define NO_SYMLINK_HEAD if you never want .git/HEAD to be a symbolic link.
# Enable it on Windows.  By default, symrefs are still used.
140
#
141
# Define NO_SVN_TESTS if you want to skip time-consuming SVN interoperability
142 143 144
# tests.  These tests take up a significant amount of the total test time
# but are not needed unless you plan to talk to SVN repos.
#
145 146 147 148 149 150 151 152 153 154 155 156
# Define NO_FINK if you are building on Darwin/Mac OS X, have Fink
# installed in /sw, but don't want GIT to link against any libraries
# installed there.  If defined you may specify your own (or Fink's)
# include directories and library directories by defining CFLAGS
# and LDFLAGS appropriately.
#
# Define NO_DARWIN_PORTS if you are building on Darwin/Mac OS X,
# have DarwinPorts installed in /opt/local, but don't want GIT to
# link against any libraries installed there.  If defined you may
# specify your own (or DarwinPort's) include directories and
# library directories by defining CFLAGS and LDFLAGS appropriately.
#
157 158 159 160
# Define NO_APPLE_COMMON_CRYPTO if you are building on Darwin/Mac OS X
# and do not want to use Apple's CommonCrypto library.  This allows you
# to provide your own OpenSSL library, for example from MacPorts.
#
161 162
# Define BLK_SHA1 environment variable to make use of the bundled
# optimized C SHA1 routine.
163
#
164 165
# Define PPC_SHA1 environment variable when running make to make use of
# a bundled SHA1 routine optimized for PowerPC.
166
#
Jeff King's avatar
Jeff King committed
167 168 169 170
# Define DC_SHA1 to unconditionally enable the collision-detecting sha1
# algorithm. This is slower, but may detect attempted collision attacks.
# Takes priority over other *_SHA1 knobs.
#
171 172 173 174 175
# Define DC_SHA1_EXTERNAL in addition to DC_SHA1 if you want to build / link
# git with the external SHA1 collision-detect library.
# Without this option, i.e. the default behavior is to build git with its
# own built-in code (or submodule).
#
176 177 178 179 180 181
# Define DC_SHA1_SUBMODULE in addition to DC_SHA1 to use the
# sha1collisiondetection shipped as a submodule instead of the
# non-submodule copy in sha1dc/. This is an experimental option used
# by the git project to migrate to using sha1collisiondetection as a
# submodule.
#
182 183 184
# Define OPENSSL_SHA1 environment variable when running make to link
# with the SHA1 routine from openssl library.
#
185 186 187 188
# Define SHA1_MAX_BLOCK_SIZE to limit the amount of data that will be hashed
# in one call to the platform's SHA1_Update(). e.g. APPLE_COMMON_CRYPTO
# wants 'SHA1_MAX_BLOCK_SIZE=1024L*1024L*1024L' defined.
#
189 190 191 192
# Define BLK_SHA256 to use the built-in SHA-256 routines.
#
# Define GCRYPT_SHA256 to use the SHA-256 routines in libgcrypt.
#
193 194
# Define OPENSSL_SHA256 to use the SHA-256 routines in OpenSSL.
#
195 196 197
# Define NEEDS_CRYPTO_WITH_SSL if you need -lcrypto when using -lssl (Darwin).
#
# Define NEEDS_SSL_WITH_CRYPTO if you need -lssl when using -lcrypto (Darwin).
198
#
199
# Define NEEDS_LIBICONV if linking with libc is not enough (Darwin).
200
#
Joachim Schmitz's avatar
Joachim Schmitz committed
201 202
# Define NEEDS_LIBINTL_BEFORE_LIBICONV if you need libintl before libiconv.
#
203
# Define NO_INTPTR_T if you don't have intptr_t or uintptr_t.
Joachim Schmitz's avatar
Joachim Schmitz committed
204 205 206
#
# Define NO_UINTMAX_T if you don't have uintmax_t.
#
207 208 209
# Define NEEDS_SOCKET if linking with libc is not enough (SunOS,
# Patrick Mauritz).
#
210 211 212 213
# Define NEEDS_RESOLV if linking with -lnsl and/or -lsocket is not enough.
# Notably on Solaris hstrerror resides in libresolv and on Solaris 7
# inet_ntop and inet_pton additionally reside there.
#
214 215
# Define NO_MMAP if you want to avoid mmap.
#
216 217 218
# Define MMAP_PREVENTS_DELETE if a file that is currently mmapped cannot be
# deleted or cannot be replaced using rename().
#
219 220
# Define NO_POLL_H if you don't have poll.h.
#
221 222 223
# Define NO_SYS_POLL_H if you don't have sys/poll.h.
#
# Define NO_POLL if you do not have or don't want to use poll().
224
# This also implies NO_POLL_H and NO_SYS_POLL_H.
225
#
226 227 228
# Define NEEDS_SYS_PARAM_H if you need to include sys/param.h to compile,
# *PLEASE* REPORT to git@vger.kernel.org if your platform needs this;
# we want to know more about the issue.
229
#
230 231
# Define NO_PTHREADS if you do not have or do not want to use Pthreads.
#
232
# Define NO_PREAD if you have a problem with pread() system call (e.g.
233
# cygwin1.dll before v1.5.22).
234
#
235 236 237 238 239
# Define NO_SETITIMER if you don't have setitimer()
#
# Define NO_STRUCT_ITIMERVAL if you don't have struct itimerval
# This also implies NO_SETITIMER
#
240 241 242
# Define NO_FAST_WORKING_DIRECTORY if accessing objects in pack files is
# generally faster on your platform than accessing the working directory.
#
243 244 245
# Define NO_TRUSTABLE_FILEMODE if your filesystem may claim to support
# the executable mode bit, but doesn't really do so.
#
246 247 248 249
# Define NEEDS_MODE_TRANSLATION if your OS strays from the typical file type
# bits in mode values (e.g. z/OS defines I_SFMT to 0xFF000000 as opposed to the
# usual 0xF000).
#
250 251
# Define NO_IPV6 if you lack IPv6 support and getaddrinfo().
#
252 253
# Define NO_UNIX_SOCKETS if your system does not offer unix sockets.
#
254 255 256
# Define NO_SOCKADDR_STORAGE if your platform does not have struct
# sockaddr_storage.
#
257 258
# Define NO_ICONV if your libc does not properly support iconv.
#
259 260 261
# Define OLD_ICONV if your library has an old iconv(), where the second
# (input buffer pointer) parameter is declared with type (const char **).
#
262 263 264 265
# Define ICONV_OMITS_BOM if your iconv implementation does not write a
# byte-order mark (BOM) when writing UTF-16 or UTF-32 and always writes in
# big-endian format.
#
266 267
# Define NO_DEFLATE_BOUND if your zlib does not have deflateBound.
#
268 269 270
# Define NO_R_TO_GCC_LINKER if your gcc does not like "-R/path/lib"
# that tells runtime paths to dynamic libraries;
# "-Wl,-rpath=/path/lib" is used instead.
271
#
272 273 274
# Define NO_NORETURN if using buggy versions of gcc 4.6+ and profile feedback,
# as the compiler can crash (http://gcc.gnu.org/bugzilla/show_bug.cgi?id=49299)
#
275
# Define USE_NSEC below if you want git to care about sub-second file mtimes
276 277 278 279 280
# and ctimes. Note that you need recent glibc (at least 2.2.4) for this. On
# Linux, kernel 2.6.11 or newer is required for reliable sub-second file times
# on file systems with exactly 1 ns or 1 s resolution. If you intend to use Git
# on other file systems (e.g. CEPH, CIFS, NTFS, UDF), don't enable USE_NSEC. See
# Documentation/technical/racy-git.txt for details.
281
#
282 283 284
# Define USE_ST_TIMESPEC if your "struct stat" uses "st_ctimespec" instead of
# "st_ctim"
#
285 286 287
# Define NO_NSEC if your "struct stat" does not have "st_ctim.tv_nsec"
# available.  This automatically turns USE_NSEC off.
#
288
# Define USE_STDEV below if you want git to care about the underlying device
289
# change being considered an inode change from the update-index perspective.
290
#
291 292 293
# Define NO_ST_BLOCKS_IN_STRUCT_STAT if your platform does not have st_blocks
# field that counts the on-disk footprint in 512-byte blocks.
#
294 295 296
# Define DOCBOOK_XSL_172 if you want to format man pages with DocBook XSL v1.72
# (not v1.73 or v1.71).
#
297 298
# Define ASCIIDOC_ROFF if your DocBook XSL does not escape raw roff directives
# (versions 1.68.1 through v1.72).
299
#
300 301 302 303
# Define GNU_ROFF if your target system uses GNU groff.  This forces
# apostrophes to be ASCII so that cut&pasting examples to the shell
# will work.
#
304 305 306 307 308 309
# Define USE_ASCIIDOCTOR to use Asciidoctor instead of AsciiDoc to build the
# documentation.
#
# Define ASCIIDOCTOR_EXTENSIONS_LAB to point to the location of the Asciidoctor
# Extensions Lab if you have it available.
#
310 311
# Define PERL_PATH to the path of your Perl binary (usually /usr/bin/perl).
#
312 313
# Define NO_PERL if you do not want Perl scripts or libraries at all.
#
314 315 316 317 318 319
# Define NO_PERL_CPAN_FALLBACKS if you do not want to install bundled
# copies of CPAN modules that serve as a fallback in case the modules
# are not available on the system. This option is intended for
# distributions that want to use their packaged versions of Perl
# modules, instead of the fallbacks shipped with Git.
#
320 321 322
# Define PYTHON_PATH to the path of your Python binary (often /usr/bin/python
# but /usr/bin/python2.7 on some platforms).
#
323 324
# Define NO_PYTHON if you do not want Python scripts or libraries at all.
#
Eygene Ryabinkin's avatar
Eygene Ryabinkin committed
325 326
# Define NO_TCLTK if you do not want Tcl/Tk GUI.
#
327 328 329
# Define SANE_TEXT_GREP to "-a" if you use recent versions of GNU grep
# and egrep that are pickier when their input contains non-ASCII data.
#
330 331 332 333 334
# The TCL_PATH variable governs the location of the Tcl interpreter
# used to optimize git-gui for your system.  Only used if NO_TCLTK
# is not set.  Defaults to the bare 'tclsh'.
#
# The TCLTK_PATH variable governs the location of the Tcl/Tk interpreter.
335 336 337
# If not set it defaults to the bare 'wish'. If it is set to the empty
# string then NO_TCLTK will be forced (this is used by configure script).
#
338 339 340 341
# Define INTERNAL_QSORT to use Git's implementation of qsort(), which
# is a simplified version of the merge sort used in glibc. This is
# recommended if Git triggers O(n^2) behavior in your platform's qsort().
#
René Scharfe's avatar
René Scharfe committed
342 343 344
# Define HAVE_ISO_QSORT_S if your platform provides a qsort_s() that's
# compatible with the one described in C11 Annex K.
#
345 346 347
# Define UNRELIABLE_FSTAT if your system's fstat does not return the same
# information on a not yet closed file that lstat would return for the same
# file after it was closed.
348
#
349 350
# Define OBJECT_CREATION_USES_RENAMES if your operating systems has problems
# when hardlinking a file to another name and unlinking the original file right
351
# away (some NTFS drivers seem to zero the contents in that scenario).
352
#
353 354 355 356 357 358 359
# Define INSTALL_SYMLINKS if you prefer to have everything that can be
# symlinked between bin/ and libexec/ to use relative symlinks between
# the two. This option overrides NO_CROSS_DIRECTORY_HARDLINKS and
# NO_INSTALL_HARDLINKS which will also use symlinking by indirection
# within the same directory in some cases, INSTALL_SYMLINKS will
# always symlink to the final target directly.
#
360 361
# Define NO_CROSS_DIRECTORY_HARDLINKS if you plan to distribute the installed
# programs as a tar, where bin/ and libexec/ might be on different file systems.
362
#
363 364 365
# Define NO_INSTALL_HARDLINKS if you prefer to use either symbolic links or
# copies to install built-in git commands e.g. git-cat-file.
#
366 367
# Define USE_NED_ALLOCATOR if you want to replace the platforms default
# memory allocators with the nedmalloc allocator written by Niall Douglas.
368
#
369 370 371 372 373
# Define OVERRIDE_STRDUP to override the libc version of strdup(3).
# This is necessary when using a custom allocator in order to avoid
# crashes due to allocation and free working on different 'heaps'.
# It's defined automatically if USE_NED_ALLOCATOR is set.
#
374 375
# Define NO_REGEX if your C library lacks regex support with REG_STARTEND
# feature.
376
#
377 378 379
# Define HAVE_DEV_TTY if your system can open /dev/tty to interact with the
# user.
#
380 381
# Define JSMIN to point to JavaScript minifier that functions as
# a filter to have gitweb.js minified.
382
#
383 384 385
# Define CSSMIN to point to a CSS minifier in order to generate a minified
# version of gitweb.css
#
386 387 388 389
# Define DEFAULT_PAGER to a sensible pager command (defaults to "less") if
# you want to use something different.  The value will be interpreted by the
# shell at runtime when it is used.
#
390 391 392 393 394 395 396
# Define DEFAULT_EDITOR to a sensible editor command (defaults to "vi") if you
# want to use something different.  The value will be interpreted by the shell
# if necessary when it is used.  Examples:
#
#   DEFAULT_EDITOR='~/bin/vi',
#   DEFAULT_EDITOR='$GIT_FALLBACK_EDITOR',
#   DEFAULT_EDITOR='"C:\Program Files\Vim\gvim.exe" --nofork'
397
#
398 399 400 401 402 403
# Define COMPUTE_HEADER_DEPENDENCIES to "yes" if you want dependencies on
# header files to be automatically computed, to avoid rebuilding objects when
# an unrelated header file changes.  Define it to "no" to use the hard-coded
# dependency rules.  The default is "auto", which means to use computed header
# dependencies if your compiler is detected to support it.
#
404
# Define NATIVE_CRLF if your platform uses CRLF for line endings.
405
#
406 407
# Define GIT_USER_AGENT if you want to change how git identifies itself during
# network interactions.  The default is "git/$(GIT_VERSION)".
408
#
409 410 411
# Define DEFAULT_HELP_FORMAT to "man", "info" or "html"
# (defaults to "man") if you want to have a different default when
# "git help" is called without a parameter specifying the format.
412
#
413
# Define GIT_TEST_INDEX_VERSION to 2, 3 or 4 to run the test suite
414 415
# with a different indexfile format version.  If it isn't set the index
# file format used is index-v[23].
416
#
417 418
# Define GMTIME_UNRELIABLE_ERRORS if your gmtime() function does not
# return NULL when it receives a bogus time_t.
419
#
420
# Define HAVE_CLOCK_GETTIME if your platform has clock_gettime.
421
#
422 423 424 425
# Define HAVE_CLOCK_MONOTONIC if your platform has CLOCK_MONOTONIC.
#
# Define NEEDS_LIBRT if your platform requires linking with librt (glibc version
# before 2.17) for clock_gettime and CLOCK_MONOTONIC.
426
#
427 428 429 430 431 432 433 434
# Define USE_PARENS_AROUND_GETTEXT_N to "yes" if your compiler happily
# compiles the following initialization:
#
#   static const char s[] = ("FOO");
#
# and define it to "no" if you need to remove the parentheses () around the
# constant.  The default is "auto", which means to use parentheses if your
# compiler is detected to support it.
435
#
436
# Define HAVE_BSD_SYSCTL if your platform has a BSD-compatible sysctl function.
437 438
#
# Define HAVE_GETDELIM if your system has the getdelim() function.
439
#
440 441
# Define FILENO_IS_A_MACRO if fileno() is a macro, not a real function.
#
442 443 444 445 446 447 448
# Define PAGER_ENV to a SP separated VAR=VAL pairs to define
# default environment variables to be passed when a pager is spawned, e.g.
#
#    PAGER_ENV = LESS=FRX LV=-c
#
# to say "export LESS=FRX (and LV=-c) if the environment variable
# LESS (and LV) is not set, respectively".
449
#
450 451 452
# Define TEST_SHELL_PATH if you want to use a shell besides SHELL_PATH for
# running the test scripts (e.g., bash has better support for "set -x"
# tracing).
453
#
454 455
# When cross-compiling, define HOST_CPU as the canonical name of the CPU on
# which the built Git will run (for instance "x86_64").
456 457 458 459 460 461 462
#
# Define RUNTIME_PREFIX to configure Git to resolve its ancillary tooling and
# support files relative to the location of the runtime binary, rather than
# hard-coding them into the binary. Git installations built with RUNTIME_PREFIX
# can be moved to arbitrary filesystem locations. RUNTIME_PREFIX also causes
# Perl scripts to use a modified entry point header allowing them to resolve
# support files at runtime.
463 464 465 466 467 468 469 470 471 472 473 474
#
# When using RUNTIME_PREFIX, define HAVE_BSD_KERN_PROC_SYSCTL if your platform
# supports the KERN_PROC BSD sysctl function.
#
# When using RUNTIME_PREFIX, define PROCFS_EXECUTABLE_PATH if your platform
# mounts a "procfs" filesystem capable of resolving the path of the current
# executable. If defined, this must be the canonical path for the "procfs"
# current executable path.
#
# When using RUNTIME_PREFIX, define HAVE_NS_GET_EXECUTABLE_PATH if your platform
# supports calling _NSGetExecutablePath to retrieve the path of the running
# executable.
475 476 477 478
#
# When using RUNTIME_PREFIX, define HAVE_WPGMPTR if your platform offers
# the global variable _wpgmptr containing the absolute path of the current
# executable (this is the case on Windows).
479
#
480 481
# Define DEVELOPER to enable more compiler warnings. Compiler version
# and family are auto detected, but could be overridden by defining
482 483 484 485 486
# COMPILER_FEATURES (see config.mak.dev). You can still set
# CFLAGS="..." in combination with DEVELOPER enables, whether that's
# for tweaking something unrelated (e.g. optimization level), or for
# selectively overriding something DEVELOPER or one of the DEVOPTS
# (see just below) brings in.
487 488 489 490 491 492 493 494 495 496
#
# When DEVELOPER is set, DEVOPTS can be used to control compiler
# options.  This variable contains keywords separated by
# whitespace. The following keywords are are recognized:
#
#    no-error:
#
#        suppresses the -Werror that implicitly comes with
#        DEVELOPER=1. Useful for getting the full set of errors
#        without immediately dying, or for logging them.
497 498 499 500 501 502
#
#    extra-all:
#
#        The DEVELOPER mode enables -Wextra with a few exceptions. By
#        setting this flag the exceptions are removed, and all of
#        -Wextra is used.
503 504 505 506 507
#
#    pedantic:
#
#        Enable -pedantic compilation. This also disables
#        USE_PARENS_AROUND_GETTEXT_N to produce only relevant warnings.
508

509
GIT-VERSION-FILE: FORCE
510
	@$(SHELL_PATH) ./GIT-VERSION-GEN
511
-include GIT-VERSION-FILE
512

513 514
# Set our default configuration.
#
515 516 517
# Among the variables below, these:
#   gitexecdir
#   template_dir
518
#   sysconfdir
519 520
# can be specified as a relative path some/where/else;
# this is interpreted as relative to $(prefix) and "git" at
521
# runtime figures out where they are based on the path to the executable.
522 523 524 525 526
# Additionally, the following will be treated as relative by "git" if they
# begin with "$(prefix)/":
#   mandir
#   infodir
#   htmldir
527 528
#   localedir
#   perllibdir
529 530
# This can help installing the suite in a relocatable way.

531
prefix = $(HOME)
532
bindir = $(prefix)/bin
533 534
mandir = $(prefix)/share/man
infodir = $(prefix)/share/info
535
gitexecdir = libexec/git-core
536
mergetoolsdir = $(gitexecdir)/mergetools
537
sharedir = $(prefix)/share
538
gitwebdir = $(sharedir)/gitweb
539
perllibdir = $(sharedir)/perl5
540
localedir = $(sharedir)/locale
541
template_dir = share/git-core/templates
542
htmldir = $(prefix)/share/doc/git-doc
543
ETC_GITCONFIG = $(sysconfdir)/gitconfig
544
ETC_GITATTRIBUTES = $(sysconfdir)/gitattributes
545
lib = lib
546
# DESTDIR =
547
pathsep = :
548

549
bindir_relative = $(patsubst $(prefix)/%,%,$(bindir))
550 551
mandir_relative = $(patsubst $(prefix)/%,%,$(mandir))
infodir_relative = $(patsubst $(prefix)/%,%,$(infodir))
552
gitexecdir_relative = $(patsubst $(prefix)/%,%,$(gitexecdir))
553
localedir_relative = $(patsubst $(prefix)/%,%,$(localedir))
554
htmldir_relative = $(patsubst $(prefix)/%,%,$(htmldir))
555
perllibdir_relative = $(patsubst $(prefix)/%,%,$(perllibdir))
556

557
export prefix bindir sharedir sysconfdir gitwebdir perllibdir localedir
558

559
# Set our default programs
560
CC = cc
561
AR = ar
562
RM = rm -f
563
DIFF = diff
564
TAR = tar
565
FIND = find
566
INSTALL = install
567
TCL_PATH = tclsh
568
TCLTK_PATH = wish
569
XGETTEXT = xgettext
570
MSGFMT = msgfmt
571
CURL_CONFIG = curl-config
572
GCOV = gcov
573
STRIP = strip
574
SPATCH = spatch
575

576 577
export TCL_PATH TCLTK_PATH

578 579
# Set our default LIBS variables
PTHREAD_LIBS = -lpthread
580

581 582 583 584 585
# Guard against environment variables
BUILTIN_OBJS =
BUILT_INS =
COMPAT_CFLAGS =
COMPAT_OBJS =
586 587
XDIFF_OBJS =
VCSSVN_OBJS =
588
GENERATED_H =
589
EXTRA_CPPFLAGS =
590 591
FUZZ_OBJS =
FUZZ_PROGRAMS =
592
LIB_OBJS =
593
PROGRAM_OBJS =
594 595
PROGRAMS =
SCRIPT_PERL =
596
SCRIPT_PYTHON =
597
SCRIPT_SH =
598
SCRIPT_LIB =
599
TEST_BUILTINS_OBJS =
600
TEST_PROGRAMS_NEED_X =
601

602 603 604 605 606 607
# Having this variable in your environment would break pipelines because
# you cause "cd" to echo its destination to stdout.  It can also take
# scripts to unexpected places.  If you like CDPATH, define it for your
# interactive shell sessions without exporting it.
unexport CDPATH

608
SCRIPT_SH += git-bisect.sh
609
SCRIPT_SH += git-difftool--helper.sh
610 611 612 613 614 615
SCRIPT_SH += git-filter-branch.sh
SCRIPT_SH += git-merge-octopus.sh
SCRIPT_SH += git-merge-one-file.sh
SCRIPT_SH += git-merge-resolve.sh
SCRIPT_SH += git-mergetool.sh
SCRIPT_SH += git-quiltimport.sh
616
SCRIPT_SH += git-legacy-stash.sh
617
SCRIPT_SH += git-remote-testgit.sh
618 619 620 621
SCRIPT_SH += git-request-pull.sh
SCRIPT_SH += git-submodule.sh
SCRIPT_SH += git-web--browse.sh

622 623
SCRIPT_LIB += git-mergetool--lib
SCRIPT_LIB += git-parse-remote
624
SCRIPT_LIB += git-rebase--am
625
SCRIPT_LIB += git-rebase--common
626
SCRIPT_LIB += git-rebase--preserve-merges
627
SCRIPT_LIB += git-sh-setup
628
SCRIPT_LIB += git-sh-i18n
629

630 631 632 633 634 635 636
SCRIPT_PERL += git-add--interactive.perl
SCRIPT_PERL += git-archimport.perl
SCRIPT_PERL += git-cvsexportcommit.perl
SCRIPT_PERL += git-cvsimport.perl
SCRIPT_PERL += git-cvsserver.perl
SCRIPT_PERL += git-send-email.perl
SCRIPT_PERL += git-svn.perl
637

Pete Wyckoff's avatar
Pete Wyckoff committed
638
SCRIPT_PYTHON += git-p4.py
639

640
NO_INSTALL += git-remote-testgit
641

642 643 644 645 646
# Generated files for scripts
SCRIPT_SH_GEN = $(patsubst %.sh,%,$(SCRIPT_SH))
SCRIPT_PERL_GEN = $(patsubst %.perl,%,$(SCRIPT_PERL))
SCRIPT_PYTHON_GEN = $(patsubst %.py,%,$(SCRIPT_PYTHON))

647 648 649 650
SCRIPT_SH_INS = $(filter-out $(NO_INSTALL),$(SCRIPT_SH_GEN))
SCRIPT_PERL_INS = $(filter-out $(NO_INSTALL),$(SCRIPT_PERL_GEN))
SCRIPT_PYTHON_INS = $(filter-out $(NO_INSTALL),$(SCRIPT_PYTHON_GEN))

651 652 653 654 655 656 657 658 659
# Individual rules to allow e.g.
# "make -C ../.. SCRIPT_PERL=contrib/foo/bar.perl build-perl-script"
# from subdirectories like contrib/*/
.PHONY: build-perl-script build-sh-script build-python-script
build-perl-script: $(SCRIPT_PERL_GEN)
build-sh-script: $(SCRIPT_SH_GEN)
build-python-script: $(SCRIPT_PYTHON_GEN)

.PHONY: install-perl-script install-sh-script install-python-script
660
install-sh-script: $(SCRIPT_SH_INS)
661
	$(INSTALL) $^ '$(DESTDIR_SQ)$(gitexec_instdir_SQ)'
662
install-perl-script: $(SCRIPT_PERL_INS)
663
	$(INSTALL) $^ '$(DESTDIR_SQ)$(gitexec_instdir_SQ)'
664
install-python-script: $(SCRIPT_PYTHON_INS)
665
	$(INSTALL) $^ '$(DESTDIR_SQ)$(gitexec_instdir_SQ)'
666 667 668 669 670 671 672 673 674

.PHONY: clean-perl-script clean-sh-script clean-python-script
clean-sh-script:
	$(RM) $(SCRIPT_SH_GEN)
clean-perl-script:
	$(RM) $(SCRIPT_PERL_GEN)
clean-python-script:
	$(RM) $(SCRIPT_PYTHON_GEN)

675 676 677
SCRIPTS = $(SCRIPT_SH_INS) \
	  $(SCRIPT_PERL_INS) \
	  $(SCRIPT_PYTHON_INS) \
678
	  git-instaweb
679

680 681
ETAGS_TARGET = TAGS

682
FUZZ_OBJS += fuzz-commit-graph.o
683
FUZZ_OBJS += fuzz-pack-headers.o
684
FUZZ_OBJS += fuzz-pack-idx.o
685 686 687 688 689 690

# Always build fuzz objects even if not testing, to prevent bit-rot.
all:: $(FUZZ_OBJS)

FUZZ_PROGRAMS += $(patsubst %.o,%,$(FUZZ_OBJS))

691 692
# Empty...
EXTRA_PROGRAMS =
693

694 695
# ... and all the rest that could be moved out of bindir to gitexecdir
PROGRAMS += $(EXTRA_PROGRAMS)
696

697
PROGRAM_OBJS += credential-store.o
698
PROGRAM_OBJS += daemon.o
699
PROGRAM_OBJS += fast-import.o
700
PROGRAM_OBJS += http-backend.o
701
PROGRAM_OBJS += imap-send.o
702
PROGRAM_OBJS += sh-i18n--envsubst.o
703
PROGRAM_OBJS += shell.o
704
PROGRAM_OBJS += remote-testsvn.o
705

706 707 708
# Binary suffix, set to .exe for Windows builds
X =

709
PROGRAMS += $(patsubst %.o,git-%$X,$(PROGRAM_OBJS))
710

711
TEST_BUILTINS_OBJS += test-chmtime.o
712
TEST_BUILTINS_OBJS += test-config.o
713
TEST_BUILTINS_OBJS += test-ctype.o
714
TEST_BUILTINS_OBJS += test-date.o
715
TEST_BUILTINS_OBJS += test-delta.o
716
TEST_BUILTINS_OBJS += test-drop-caches.o
717
TEST_BUILTINS_OBJS += test-dump-cache-tree.o
718
TEST_BUILTINS_OBJS += test-dump-fsmonitor.o
719
TEST_BUILTINS_OBJS += test-dump-split-index.o
720
TEST_BUILTINS_OBJS += test-dump-untracked-cache.o
721
TEST_BUILTINS_OBJS += test-example-decorate.o
722
TEST_BUILTINS_OBJS += test-genrandom.o
723
TEST_BUILTINS_OBJS += test-genzeros.o
724
TEST_BUILTINS_OBJS += test-hash.o
725
TEST_BUILTINS_OBJS += test-hashmap.o
726
TEST_BUILTINS_OBJS += test-hash-speed.o
727
TEST_BUILTINS_OBJS += test-index-version.o
728
TEST_BUILTINS_OBJS += test-json-writer.o
729
TEST_BUILTINS_OBJS += test-lazy-init-name-hash.o
730
TEST_BUILTINS_OBJS += test-match-trees.o
731
TEST_BUILTINS_OBJS += test-mergesort.o
732
TEST_BUILTINS_OBJS += test-mktemp.o
733
TEST_BUILTINS_OBJS += test-online-cpus.o
734
TEST_BUILTINS_OBJS += test-parse-options.o
735
TEST_BUILTINS_OBJS += test-path-utils.o
736
TEST_BUILTINS_OBJS += test-pkt-line.o
737
TEST_BUILTINS_OBJS += test-prio-queue.o
738
TEST_BUILTINS_OBJS += test-reach.o
739
TEST_BUILTINS_OBJS += test-read-cache.o
740
TEST_BUILTINS_OBJS += test-read-midx.o
741
TEST_BUILTINS_OBJS += test-ref-store.o
742
TEST_BUILTINS_OBJS += test-regex.o
743
TEST_BUILTINS_OBJS += test-repository.o
744
TEST_BUILTINS_OBJS += test-revision-walking.o
745
TEST_BUILTINS_OBJS += test-run-command.o
746
TEST_BUILTINS_OBJS += test-scrap-cache-tree.o
747
TEST_BUILTINS_OBJS += test-sha1.o
748
TEST_BUILTINS_OBJS += test-sha1-array.o
749
TEST_BUILTINS_OBJS += test-sha256.o
750
TEST_BUILTINS_OBJS += test-sigchain.o
751
TEST_BUILTINS_OBJS += test-strcmp-offset.o
752
TEST_BUILTINS_OBJS += test-string-list.o
753
TEST_BUILTINS_OBJS += test-submodule-config.o
754
TEST_BUILTINS_OBJS += test-submodule-nested-repo-config.o
755
TEST_BUILTINS_OBJS += test-subprocess.o
756
TEST_BUILTINS_OBJS += test-trace2.o
757
TEST_BUILTINS_OBJS += test-urlmatch-normalization.o
758
TEST_BUILTINS_OBJS += test-xml-encode.o
759
TEST_BUILTINS_OBJS += test-wildmatch.o
760
TEST_BUILTINS_OBJS += test-windows-named-pipe.o
761
TEST_BUILTINS_OBJS += test-write-cache.o
762

763 764
# Do not add more tests here unless they have extra dependencies. Add
# them in TEST_BUILTINS_OBJS above.
765
TEST_PROGRAMS_NEED_X += test-fake-ssh
David Barr's avatar
David Barr committed
766
TEST_PROGRAMS_NEED_X += test-line-buffer
David Barr's avatar
David Barr committed
767
TEST_PROGRAMS_NEED_X += test-svn-fe
768
TEST_PROGRAMS_NEED_X += test-tool
769

770
TEST_PROGRAMS = $(patsubst %,t/helper/%$X,$(TEST_PROGRAMS_NEED_X))
771

Junio C Hamano's avatar
Junio C Hamano committed
772
# List built-in command $C whose implementation cmd_$C() is not in
773 774
# builtin/$C.o but is linked in as part of some other command.
BUILT_INS += $(patsubst builtin/%.o,git-%$X,$(BUILTIN_OBJS))
775 776

BUILT_INS += git-cherry$X
777
BUILT_INS += git-cherry-pick$X
778 779 780 781 782
BUILT_INS += git-format-patch$X
BUILT_INS += git-fsck-objects$X
BUILT_INS += git-init$X
BUILT_INS += git-merge-subtree$X
BUILT_INS += git-show$X
783
BUILT_INS += git-stage$X
784 785
BUILT_INS += git-status$X
BUILT_INS += git-whatchanged$X
Junio C Hamano's avatar
Junio C Hamano committed
786

787 788
# what 'all' will build and 'install' will install in gitexecdir,
# excluding programs for built-in commands
Junio C Hamano's avatar
Junio C Hamano committed
789
ALL_PROGRAMS = $(PROGRAMS) $(SCRIPTS)
790

Eygene Ryabinkin's avatar
Eygene Ryabinkin committed
791
# what 'all' will build but not install in gitexecdir
792
OTHER_PROGRAMS = git$X
Eygene Ryabinkin's avatar
Eygene Ryabinkin committed
793

794 795 796 797 798 799 800 801 802
# what test wrappers are needed and 'install' will install, in bindir
BINDIR_PROGRAMS_NEED_X += git
BINDIR_PROGRAMS_NEED_X += git-upload-pack
BINDIR_PROGRAMS_NEED_X += git-receive-pack
BINDIR_PROGRAMS_NEED_X += git-upload-archive
BINDIR_PROGRAMS_NEED_X += git-shell

BINDIR_PROGRAMS_NO_X += git-cvsserver

803 804 805 806 807 808 809
# Set paths to tools early so that they can be used for version tests.
ifndef SHELL_PATH
	SHELL_PATH = /bin/sh
endif
ifndef PERL_PATH
	PERL_PATH = /usr/bin/perl
endif
810 811 812
ifndef PYTHON_PATH
	PYTHON_PATH = /usr/bin/python
endif
813

Luben Tuikov's avatar
Luben Tuikov committed
814
export PERL_PATH
815
export PYTHON_PATH
Luben Tuikov's avatar
Luben Tuikov committed
816

817 818
TEST_SHELL_PATH = $(SHELL_PATH)

819 820 821
LIB_FILE = libgit.a
XDIFF_LIB = xdiff/lib.a
VCSSVN_LIB = vcs-svn/lib.a
822

Duy Nguyen's avatar
Duy Nguyen committed
823
GENERATED_H += command-list.h
824

825 826
LIB_H := $(shell git ls-files '*.h' ':!t/' ':!Documentation/' 2>/dev/null || \
	$(FIND) . \
827 828 829 830
	-name .git -prune -o \
	-name t -prune -o \
	-name Documentation -prune -o \
	-name '*.h' -print)
831

832
LIB_OBJS += abspath.o
833
LIB_OBJS += advice.o
834 835
LIB_OBJS += alias.o
LIB_OBJS += alloc.o
836
LIB_OBJS += apply.o
837 838 839
LIB_OBJS += archive.o
LIB_OBJS += archive-tar.o
LIB_OBJS += archive-zip.o
840
LIB_OBJS += argv-array.o
841 842
LIB_OBJS += attr.o
LIB_OBJS += base85.o
843
LIB_OBJS += bisect.o
844
LIB_OBJS += blame.o
845 846
LIB_OBJS += blob.o
LIB_OBJS += branch.o
847
LIB_OBJS += bulk-checkin.o
848 849
LIB_OBJS += bundle.o
LIB_OBJS += cache-tree.o
Jeff King's avatar
Jeff King committed
850
LIB_OBJS += chdir-notify.o
851
LIB_OBJS += checkout.o
852
LIB_OBJS += color.o
853
LIB_OBJS += column.o
854 855
LIB_OBJS += combine-diff.o
LIB_OBJS += commit.o
856
LIB_OBJS += commit-graph.o
857
LIB_OBJS += commit-reach.o
858
LIB_OBJS += compat/obstack.o
859
LIB_OBJS += compat/terminal.o
860 861
LIB_OBJS += config.o
LIB_OBJS += connect.o
862
LIB_OBJS += connected.o
863 864
LIB_OBJS += convert.o
LIB_OBJS += copy.o
Jeff King's avatar
Jeff King committed
865
LIB_OBJS += credential.o
866 867 868 869
LIB_OBJS += csum-file.o
LIB_OBJS += ctype.o
LIB_OBJS += date.o
LIB_OBJS += decorate.o
Jeff King's avatar
Jeff King committed
870
LIB_OBJS += delta-islands.o
871 872 873 874 875 876 877
LIB_OBJS += diffcore-break.o
LIB_OBJS += diffcore-delta.o
LIB_OBJS += diffcore-order.o
LIB_OBJS += diffcore-pickaxe.o
LIB_OBJS += diffcore-rename.o
LIB_OBJS += diff-delta.o
LIB_OBJS += diff-lib.o
878
LIB_OBJS += diff-no-index.o
879 880
LIB_OBJS += diff.o
LIB_OBJS += dir.o
881
LIB_OBJS += dir-iterator.o
882
LIB_OBJS += editor.o
883 884
LIB_OBJS += entry.o
LIB_OBJS += environment.o
885 886 887 888
LIB_OBJS += ewah/bitmap.o
LIB_OBJS += ewah/ewah_bitmap.o
LIB_OBJS += ewah/ewah_io.o
LIB_OBJS += ewah/ewah_rlw.o
889
LIB_OBJS += exec-cmd.o
890
LIB_OBJS += fetch-negotiator.o
891
LIB_OBJS += fetch-object.o
892
LIB_OBJS += fetch-pack.o
893
LIB_OBJS += fsck.o
894
LIB_OBJS += fsmonitor.o
895
LIB_OBJS += gettext.o
896
LIB_OBJS += gpg-interface.o
Adam Simpkins's avatar
Adam Simpkins committed
897
LIB_OBJS += graph.o
898
LIB_OBJS += grep.o
899
LIB_OBJS += hashmap.o
900
LIB_OBJS += linear-assignment.o
901
LIB_OBJS += help.o
902
LIB_OBJS += hex.o
903
LIB_OBJS += ident.o
904
LIB_OBJS += interdiff.o
905
LIB_OBJS += json-writer.o
Fredrik K's avatar
Fredrik K committed
906
LIB_OBJS += kwset.o
907
LIB_OBJS += levenshtein.o
908
LIB_OBJS += line-log.o
Bo Yang's avatar
Bo Yang committed
909
LIB_OBJS += line-range.o
910
LIB_OBJS += list-objects.o
911 912
LIB_OBJS += list-objects-filter.o
LIB_OBJS += list-objects-filter-options.o
913 914 915
LIB_OBJS += ll-merge.o
LIB_OBJS += lockfile.o
LIB_OBJS += log-tree.o
916
LIB_OBJS += ls-refs.o
Junio C Hamano's avatar
Junio C Hamano committed
917
LIB_OBJS += mailinfo.o
918 919
LIB_OBJS += mailmap.o
LIB_OBJS += match-trees.o
920
LIB_OBJS += mem-pool.o
921
LIB_OBJS += merge.o
922
LIB_OBJS += merge-blobs.o
923
LIB_OBJS += merge-recursive.o
924
LIB_OBJS += mergesort.o
925
LIB_OBJS += midx.o
926
LIB_OBJS += name-hash.o
927
LIB_OBJS += negotiator/default.o
928
LIB_OBJS += negotiator/skipping.o
929
LIB_OBJS += notes.o
930
LIB_OBJS += notes-cache.o
931
LIB_OBJS += notes-merge.o
932
LIB_OBJS += notes-utils.o
933
LIB_OBJS += object.o
934
LIB_OBJS += oidmap.o
Jeff King's avatar
Jeff King committed
935
LIB_OBJS += oidset.o
936
LIB_OBJS += packfile.o
937
LIB_OBJS += pack-bitmap.o
938
LIB_OBJS += pack-bitmap-write.o
939
LIB_OBJS += pack-check.o
940
LIB_OBJS += pack-objects.o
941 942 943 944
LIB_OBJS += pack-revindex.o
LIB_OBJS += pack-write.o
LIB_OBJS += pager.o
LIB_OBJS += parse-options.o
945
LIB_OBJS += parse-options-cb.o
946 947 948
LIB_OBJS += patch-delta.o
LIB_OBJS += patch-ids.o
LIB_OBJS += path.o
949
LIB_OBJS += pathspec.o
950
LIB_OBJS += pkt-line.o
951
LIB_OBJS += preload-index.o
952
LIB_OBJS += pretty.o
953
LIB_OBJS += prio-queue.o
954
LIB_OBJS += progress.o
955
LIB_OBJS += prompt.o
956
LIB_OBJS += protocol.o
957
LIB_OBJS += quote.o
958
LIB_OBJS += range-diff.o
959 960
LIB_OBJS += reachable.o
LIB_OBJS += read-cache.o
961
LIB_OBJS += rebase-interactive.o
962 963
LIB_OBJS += reflog-walk.o
LIB_OBJS += refs.o
964
LIB_OBJS += refs/files-backend.o
965
LIB_OBJS += refs/iterator.o
966
LIB_OBJS += refs/packed-backend.o
967
LIB_OBJS += refs/ref-cache.o
968
LIB_OBJS += refspec.o
969
LIB_OBJS += ref-filter.o
970
LIB_OBJS += remote.o
971
LIB_OBJS += replace-object.o
972
LIB_OBJS += repository.o
973
LIB_OBJS += rerere.o
974
LIB_OBJS += resolve-undo.o
975 976
LIB_OBJS += revision.o
LIB_OBJS += run-command.o
977
LIB_OBJS += send-pack.o
978
LIB_OBJS += sequencer.o
979
LIB_OBJS += serve.o
980 981
LIB_OBJS += server-info.o
LIB_OBJS += setup.o
982
LIB_OBJS += sha1-array.o
983
LIB_OBJS += sha1-lookup.o
984
LIB_OBJS += sha1-file.o
985
LIB_OBJS += sha1-name.o
986 987
LIB_OBJS += shallow.o
LIB_OBJS += sideband.o
988
LIB_OBJS += sigchain.o
989
LIB_OBJS += split-index.o
990
LIB_OBJS += strbuf.o
991
LIB_OBJS += streaming.o
992
LIB_OBJS += string-list.o
993
LIB_OBJS += submodule.o
994
LIB_OBJS += submodule-config.o
995
LIB_OBJS += sub-process.o
996 997
LIB_OBJS += symlinks.o
LIB_OBJS += tag.o
998
LIB_OBJS += tempfile.o
999
LIB_OBJS += thread-utils.o
1000
LIB_OBJS += tmp-objdir.o
1001
LIB_OBJS += trace.o
1002 1003 1004 1005 1006 1007 1008 1009 1010 1011
LIB_OBJS += trace2.o
LIB_OBJS += trace2/tr2_cfg.o
LIB_OBJS += trace2/tr2_cmd_name.o
LIB_OBJS += trace2/tr2_dst.o
LIB_OBJS += trace2/tr2_sid.o
LIB_OBJS += trace2/tr2_tbuf.o
LIB_OBJS += trace2/tr2_tgt_event.o
LIB_OBJS += trace2/tr2_tgt_normal.o
LIB_OBJS += trace2/tr2_tgt_perf.o
LIB_OBJS += trace2/tr2_tls.o
1012
LIB_OBJS += trailer.o
1013
LIB_OBJS += transport.o
1014
LIB_OBJS += transport-helper.o
1015 1016 1017 1018
LIB_OBJS += tree-diff.o
LIB_OBJS += tree.o
LIB_OBJS += tree-walk.o
LIB_OBJS += unpack-trees.o
1019
LIB_OBJS += upload-pack.o
1020
LIB_OBJS += url.o
1021
LIB_OBJS += urlmatch.o
1022
LIB_OBJS += usage.o
1023
LIB_OBJS += userdiff.o
1024
LIB_OBJS += utf8.o
1025
LIB_OBJS += varint.o
1026
LIB_OBJS += version.o
Duy Nguyen's avatar
Duy Nguyen committed
1027
LIB_OBJS += versioncmp.o
1028
LIB_OBJS += walker.o
Duy Nguyen's avatar
Duy Nguyen committed
1029
LIB_OBJS += wildmatch.o
1030
LIB_OBJS += worktree.o
1031
LIB_OBJS += wrapper.o
1032
LIB_OBJS += write-or-die.o
1033 1034 1035
LIB_OBJS += ws.o
LIB_OBJS += wt-status.o
LIB_OBJS += xdiff-interface.o
1036
LIB_OBJS += zlib.o
1037

1038
BUILTIN_OBJS += builtin/add.o
1039
BUILTIN_OBJS += builtin/am.o
1040 1041 1042 1043 1044 1045 1046 1047 1048
BUILTIN_OBJS += builtin/annotate.o
BUILTIN_OBJS += builtin/apply.o
BUILTIN_OBJS += builtin/archive.o
BUILTIN_OBJS += builtin/bisect--helper.o
BUILTIN_OBJS += builtin/blame.o
BUILTIN_OBJS += builtin/branch.o
BUILTIN_OBJS += builtin/bundle.o
BUILTIN_OBJS += builtin/cat-file.o
BUILTIN_OBJS += builtin/check-attr.o
1049
BUILTIN_OBJS += builtin/check-ignore.o
1050
BUILTIN_OBJS += builtin/check-mailmap.o
1051 1052 1053 1054 1055
BUILTIN_OBJS += builtin/check-ref-format.o
BUILTIN_OBJS += builtin/checkout-index.o
BUILTIN_OBJS += builtin/checkout.o
BUILTIN_OBJS += builtin/clean.o
BUILTIN_OBJS += builtin/clone.o
1056
BUILTIN_OBJS += builtin/column.o
1057 1058
BUILTIN_OBJS += builtin/commit-tree.o
BUILTIN_OBJS += builtin/commit.o
1059
BUILTIN_OBJS += builtin/commit-graph.o
1060 1061
BUILTIN_OBJS += builtin/config.o
BUILTIN_OBJS += builtin/count-objects.o
1062
BUILTIN_OBJS += builtin/credential.o
1063 1064 1065 1066 1067
BUILTIN_OBJS += builtin/describe.o
BUILTIN_OBJS += builtin/diff-files.o
BUILTIN_OBJS += builtin/diff-index.o
BUILTIN_OBJS += builtin/diff-tree.o
BUILTIN_OBJS += builtin/diff.o
1068
BUILTIN_OBJS += builtin/difftool.o
1069 1070 1071 1072 1073 1074 1075
BUILTIN_OBJS += builtin/fast-export.o
BUILTIN_OBJS += builtin/fetch-pack.o
BUILTIN_OBJS += builtin/fetch.o
BUILTIN_OBJS += builtin/fmt-merge-msg.o
BUILTIN_OBJS += builtin/for-each-ref.o
BUILTIN_OBJS += builtin/fsck.o
BUILTIN_OBJS += builtin/gc.o
1076
BUILTIN_OBJS += builtin/get-tar-commit-id.o
1077 1078 1079 1080 1081
BUILTIN_OBJS += builtin/grep.o
BUILTIN_OBJS += builtin/hash-object.o
BUILTIN_OBJS += builtin/help.o
BUILTIN_OBJS += builtin/index-pack.o
BUILTIN_OBJS += builtin/init-db.o
1082
BUILTIN_OBJS += builtin/interpret-trailers.o
1083 1084 1085 1086 1087 1088 1089 1090 1091 1092 1093 1094 1095 1096 1097
BUILTIN_OBJS += builtin/log.o
BUILTIN_OBJS += builtin/ls-files.o
BUILTIN_OBJS += builtin/ls-remote.o
BUILTIN_OBJS += builtin/ls-tree.o
BUILTIN_OBJS += builtin/mailinfo.o
BUILTIN_OBJS += builtin/mailsplit.o
BUILTIN_OBJS += builtin/merge.o
BUILTIN_OBJS += builtin/merge-base.o
BUILTIN_OBJS += builtin/merge-file.o
BUILTIN_OBJS += builtin/merge-index.o
BUILTIN_OBJS += builtin/merge-ours.o
BUILTIN_OBJS += builtin/merge-recursive.o
BUILTIN_OBJS += builtin/merge-tree.o
BUILTIN_OBJS += builtin/mktag.o
BUILTIN_OBJS += builtin/mktree.o
1098
BUILTIN_OBJS += builtin/multi-pack-index.o
1099 1100
BUILTIN_OBJS += builtin/mv.o
BUILTIN_OBJS += builtin/name-rev.o
Junio C Hamano's avatar
Junio C Hamano committed
1101
BUILTIN_OBJS += builtin/notes.o
1102 1103 1104 1105 1106 1107
BUILTIN_OBJS += builtin/pack-objects.o
BUILTIN_OBJS += builtin/pack-redundant.o
BUILTIN_OBJS += builtin/pack-refs.o
BUILTIN_OBJS += builtin/patch-id.o
BUILTIN_OBJS += builtin/prune-packed.o
BUILTIN_OBJS += builtin/prune.o
1108
BUILTIN_OBJS += builtin/pull.o
1109
BUILTIN_OBJS += builtin/push.o
1110
BUILTIN_OBJS += builtin/range-diff.o
1111
BUILTIN_OBJS += builtin/read-tree.o
1112
BUILTIN_OBJS += builtin/rebase.o
1113
BUILTIN_OBJS += builtin/rebase--interactive.o
1114 1115 1116
BUILTIN_OBJS += builtin/receive-pack.o
BUILTIN_OBJS += builtin/reflog.o
BUILTIN_OBJS += builtin/remote.o
Ilari Liusvaara's avatar
Ilari Liusvaara committed
1117
BUILTIN_OBJS += builtin/remote-ext.o
Ilari Liusvaara's avatar
Ilari Liusvaara committed
1118
BUILTIN_OBJS += builtin/remote-fd.o
1119
BUILTIN_OBJS += builtin/repack.o
1120 1121 1122 1123 1124 1125 1126 1127
BUILTIN_OBJS += builtin/replace.o
BUILTIN_OBJS += builtin/rerere.o
BUILTIN_OBJS += builtin/reset.o
BUILTIN_OBJS += builtin/rev-list.o
BUILTIN_OBJS += builtin/rev-parse.o
BUILTIN_OBJS += builtin/revert.o
BUILTIN_OBJS += builtin/rm.o
BUILTIN_OBJS += builtin/send-pack.o
1128
BUILTIN_OBJS += builtin/serve.o
1129 1130
BUILTIN_OBJS += builtin/shortlog.o
BUILTIN_OBJS += builtin/show-branch.o
Jeff King's avatar
Jeff King committed
1131
BUILTIN_OBJS += builtin/show-index.o
1132
BUILTIN_OBJS += builtin/show-ref.o
1133
BUILTIN_OBJS += builtin/stash.o
1134
BUILTIN_OBJS += builtin/stripspace.o
1135
BUILTIN_OBJS += builtin/submodule--helper.o
1136 1137 1138 1139 1140 1141 1142 1143
BUILTIN_OBJS += builtin/symbolic-ref.o
BUILTIN_OBJS += builtin/tag.o
BUILTIN_OBJS += builtin/unpack-file.o
BUILTIN_OBJS += builtin/unpack-objects.o
BUILTIN_OBJS += builtin/update-index.o
BUILTIN_OBJS += builtin/update-ref.o
BUILTIN_OBJS += builtin/update-server-info.o
BUILTIN_OBJS += builtin/upload-archive.o