Makefile: reorder sources after includes
In an upcoming change we'll make some of the sources compile conditionally based on whether or not `WITH_RUST` is defined. To let developers specify that flag in their "config.mak" we'll thus have to reorder our sources so that they come after the include of that file. Do so. Signed-off-by: Patrick Steinhardt <ps@pks.im> Signed-off-by: Junio C Hamano <gitster@pobox.com>
Patrick Steinhardt committed
Oct 2, 2025 at 09:29 UTC
f2301be0765ef1baad163edcae96df92c5e05074
1 file changed
+88
-88
Makefile
+88
-88
@@ -919,6 +919,94 @@ LIB_FILE = libgit.a
919
XDIFF_LIB = xdiff/lib.a
920
REFTABLE_LIB = reftable/libreftable.a
921
922
+# xdiff and reftable libs may in turn depend on what is in libgit.a
923
+GITLIBS = common-main.o $(LIB_FILE) $(XDIFF_LIB) $(REFTABLE_LIB) $(LIB_FILE)
924
+EXTLIBS =
925
+
926
+GIT_USER_AGENT = git/$(GIT_VERSION)
927
+
928
+ifeq ($(wildcard sha1collisiondetection/lib/sha1.h),sha1collisiondetection/lib/sha1.h)
929
+DC_SHA1_SUBMODULE = auto
930
+endif
931
+
932
+# Set CFLAGS, LDFLAGS and other *FLAGS variables. These might be
933
+# tweaked by config.* below as well as the command-line, both of
934
+# which'll override these defaults.
935
+# Older versions of GCC may require adding "-std=gnu99" at the end.
936
+CFLAGS = -g -O2 -Wall
937
+LDFLAGS =
938
+CC_LD_DYNPATH = -Wl,-rpath,
939
+BASIC_CFLAGS = -I.
940
+BASIC_LDFLAGS =
941
+
942
+# library flags
943
+ARFLAGS = rcs
944
+PTHREAD_CFLAGS =
945
+
946
+# For the 'sparse' target
947
+SPARSE_FLAGS ?= -std=gnu99 -D__STDC_NO_VLA__
948
+SP_EXTRA_FLAGS =
949
+
950
+# For informing GIT-BUILD-OPTIONS of the SANITIZE=leak,address targets
951
+SANITIZE_LEAK =
952
+SANITIZE_ADDRESS =
953
+
954
+# For the 'coccicheck' target
955
+SPATCH_INCLUDE_FLAGS = --all-includes
956
+SPATCH_FLAGS =
957
+SPATCH_TEST_FLAGS =
958
+
959
+# If *.o files are present, have "coccicheck" depend on them, with
960
+# COMPUTE_HEADER_DEPENDENCIES this will speed up the common-case of
961
+# only needing to re-generate coccicheck results for the users of a
962
+# given API if it's changed, and not all files in the project. If
963
+# COMPUTE_HEADER_DEPENDENCIES=no this will be unset too.
964
+SPATCH_USE_O_DEPENDENCIES = YesPlease
965
+
966
+# Set SPATCH_CONCAT_COCCI to concatenate the contrib/cocci/*.cocci
967
+# files into a single contrib/cocci/ALL.cocci before running
968
+# "coccicheck".
969
+#
970
+# Pros:
971
+#
972
+# - Speeds up a one-shot run of "make coccicheck", as we won't have to
973
+# parse *.[ch] files N times for the N *.cocci rules
974
+#
975
+# Cons:
976
+#
977
+# - Will make incremental development of *.cocci slower, as
978
+# e.g. changing strbuf.cocci will re-run all *.cocci.
979
+#
980
+# - Makes error and performance analysis harder, as rules will be
981
+# applied from a monolithic ALL.cocci, rather than
982
+# e.g. strbuf.cocci. To work around this either undefine this, or
983
+# generate a specific patch, e.g. this will always use strbuf.cocci,
984
+# not ALL.cocci:
985
+#
986
+# make contrib/coccinelle/strbuf.cocci.patch
987
+SPATCH_CONCAT_COCCI = YesPlease
988
+
989
+# Rebuild 'coccicheck' if $(SPATCH), its flags etc. change
990
+TRACK_SPATCH_DEFINES =
991
+TRACK_SPATCH_DEFINES += $(SPATCH)
992
+TRACK_SPATCH_DEFINES += $(SPATCH_INCLUDE_FLAGS)
993
+TRACK_SPATCH_DEFINES += $(SPATCH_FLAGS)
994
+TRACK_SPATCH_DEFINES += $(SPATCH_TEST_FLAGS)
995
+GIT-SPATCH-DEFINES: FORCE
996
+ @FLAGS='$(TRACK_SPATCH_DEFINES)'; \
997
+ if test x"$$FLAGS" != x"`cat GIT-SPATCH-DEFINES 2>/dev/null`" ; then \
998
+ echo >&2 " * new spatch flags"; \
999
+ echo "$$FLAGS" >GIT-SPATCH-DEFINES; \
1000
+ fi
1001
+
1002
+include config.mak.uname
1003
+-include config.mak.autogen
1004
+-include config.mak
1005
+
1006
+ifdef DEVELOPER
1007
+include config.mak.dev
1008
+endif
1009
+
1010
GENERATED_H += command-list.h
1011
GENERATED_H += config-list.h
1012
GENERATED_H += hook-list.h
@@ -1387,94 +1475,6 @@ CLAR_TEST_OBJS += $(UNIT_TEST_DIR)/unit-test.o
1475
1476
UNIT_TEST_OBJS += $(UNIT_TEST_DIR)/test-lib.o
1477
1390
-# xdiff and reftable libs may in turn depend on what is in libgit.a
1391
-GITLIBS = common-main.o $(LIB_FILE) $(XDIFF_LIB) $(REFTABLE_LIB) $(LIB_FILE)
1392
-EXTLIBS =
1393
-
1394
-GIT_USER_AGENT = git/$(GIT_VERSION)
1395
-
1396
-ifeq ($(wildcard sha1collisiondetection/lib/sha1.h),sha1collisiondetection/lib/sha1.h)
1397
-DC_SHA1_SUBMODULE = auto
1398
-endif
1399
-
1400
-# Set CFLAGS, LDFLAGS and other *FLAGS variables. These might be
1401
-# tweaked by config.* below as well as the command-line, both of
1402
-# which'll override these defaults.
1403
-# Older versions of GCC may require adding "-std=gnu99" at the end.
1404
-CFLAGS = -g -O2 -Wall
1405
-LDFLAGS =
1406
-CC_LD_DYNPATH = -Wl,-rpath,
1407
-BASIC_CFLAGS = -I.
1408
-BASIC_LDFLAGS =
1409
-
1410
-# library flags
1411
-ARFLAGS = rcs
1412
-PTHREAD_CFLAGS =
1413
-
1414
-# For the 'sparse' target
1415
-SPARSE_FLAGS ?= -std=gnu99 -D__STDC_NO_VLA__
1416
-SP_EXTRA_FLAGS =
1417
-
1418
-# For informing GIT-BUILD-OPTIONS of the SANITIZE=leak,address targets
1419
-SANITIZE_LEAK =
1420
-SANITIZE_ADDRESS =
1421
-
1422
-# For the 'coccicheck' target
1423
-SPATCH_INCLUDE_FLAGS = --all-includes
1424
-SPATCH_FLAGS =
1425
-SPATCH_TEST_FLAGS =
1426
-
1427
-# If *.o files are present, have "coccicheck" depend on them, with
1428
-# COMPUTE_HEADER_DEPENDENCIES this will speed up the common-case of
1429
-# only needing to re-generate coccicheck results for the users of a
1430
-# given API if it's changed, and not all files in the project. If
1431
-# COMPUTE_HEADER_DEPENDENCIES=no this will be unset too.
1432
-SPATCH_USE_O_DEPENDENCIES = YesPlease
1433
-
1434
-# Set SPATCH_CONCAT_COCCI to concatenate the contrib/cocci/*.cocci
1435
-# files into a single contrib/cocci/ALL.cocci before running
1436
-# "coccicheck".
1437
-#
1438
-# Pros:
1439
-#
1440
-# - Speeds up a one-shot run of "make coccicheck", as we won't have to
1441
-# parse *.[ch] files N times for the N *.cocci rules
1442
-#
1443
-# Cons:
1444
-#
1445
-# - Will make incremental development of *.cocci slower, as
1446
-# e.g. changing strbuf.cocci will re-run all *.cocci.
1447
-#
1448
-# - Makes error and performance analysis harder, as rules will be
1449
-# applied from a monolithic ALL.cocci, rather than
1450
-# e.g. strbuf.cocci. To work around this either undefine this, or
1451
-# generate a specific patch, e.g. this will always use strbuf.cocci,
1452
-# not ALL.cocci:
1453
-#
1454
-# make contrib/coccinelle/strbuf.cocci.patch
1455
-SPATCH_CONCAT_COCCI = YesPlease
1456
-
1457
-# Rebuild 'coccicheck' if $(SPATCH), its flags etc. change
1458
-TRACK_SPATCH_DEFINES =
1459
-TRACK_SPATCH_DEFINES += $(SPATCH)
1460
-TRACK_SPATCH_DEFINES += $(SPATCH_INCLUDE_FLAGS)
1461
-TRACK_SPATCH_DEFINES += $(SPATCH_FLAGS)
1462
-TRACK_SPATCH_DEFINES += $(SPATCH_TEST_FLAGS)
1463
-GIT-SPATCH-DEFINES: FORCE
1464
- @FLAGS='$(TRACK_SPATCH_DEFINES)'; \
1465
- if test x"$$FLAGS" != x"`cat GIT-SPATCH-DEFINES 2>/dev/null`" ; then \
1466
- echo >&2 " * new spatch flags"; \
1467
- echo "$$FLAGS" >GIT-SPATCH-DEFINES; \
1468
- fi
1469
-
1470
-include config.mak.uname
1471
--include config.mak.autogen
1472
--include config.mak
1473
-
1474
-ifdef DEVELOPER
1475
-include config.mak.dev
1476
-endif
1477
-
1478
GIT-VERSION-FILE: FORCE
1479
@OLD=$$(cat $@ 2>/dev/null || :) && \
1480
$(call version_gen,"$(shell pwd)",GIT-VERSION-FILE.in,$@) && \