summaryrefslogtreecommitdiff
path: root/Build/source/Makefile.am
blob: 1f74bf7c2346de3f9571161128ecc53a7f3387b4 (plain)
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
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
## $Id$
## Makefile.am for the TeX Live top-level
##
## Copyright 2016-2020 Karl Berry <tex-live@tug.org>
## Copyright 2009-2015 Peter Breitenlohner <tex-live@tug.org>
## You may freely use, modify and/or distribute this file.
##
## Ensure aclocal.m4 is up to date
ACLOCAL = @ACLOCAL@ --force

## speed up distcheck
AM_DISTCHECK_CONFIGURE_FLAGS = -C
## check as well for symlinks
distuninstallcheck_listfiles = find . -type f -o -type l -print
distcleancheck_listfiles = find . -type f -o -type l -print

EXTRA_DIST = \
	Build \
	README.0overview \
	README.1prerequisites \
	README.2building \
	README.3installing \
	README.4layout \
	README.5configure \
	README.6cross \
	README.7coding \
	build-aux/README.TL \
	m4/ChangeLog \
	m4/README \
	reautoconf

# Files not to be distributed
include $(srcdir)/am/dist_hook.am

SUBDIRS = . doc $(MAKE_SUBDIRS) libs utils texk
DIST_SUBDIRS = auxdir/auxsub doc $(CONF_SUBDIRS) libs utils texk

## Configure and build subdirs.
##
recurse_this =
recurse_top =

include $(srcdir)/am/recurse.am

# This (world) is the default target for the ./Build script in TeX Live.
.PHONY: world
# Run texlinks here since the binaries won't be there
# at install-data, and fmtutil.cnf won't be there at install-exec,
# and there is no install-hook or install-local.
texlinks_dir = texk/texlive/tl_support
world: all
# Serialize 'make all' and 'make install-strip'.
	@echo "top-level make $@: running install-strip..."
	$(MAKE) $(AM_MAKEFLAGS) install-strip
#
# Just in case it's not a full checkout.
	if test -d "$(texlinks_dir)"; then \
	  echo "top-level make $@: making run-texlinks in $(texlinks_dir) ..."; \
	  cd $(texlinks_dir) && $(MAKE) $(AM_MAKEFLAGS) run-texlinks; \
	else :; fi
#
	@echo "top-level make $@: running $(check_target)..."
	$(MAKE) $(AM_MAKEFLAGS) $(check_target)
#
	@echo "top-level make $@ done."

# create file buildinfo.log in working directory, to record relevant
# information about the build environment.
buildinfo:
	-env MAKE="$(MAKE)" LDFLAGS="$(LDFLAGS)" \
	    CC="$(CC)" CFLAGS="$(CFLAGS)" \
	    CXX="$(CXX)" CXXFLAGS="$(CXXFLAGS)" \
	    OBJCXX="$(OBJCXX)" OBJCXXFLAGS="$(OBJCXXFLAGS)" \
	$(srcdir)/doc/buildinfo.sh >buildinfo.log

# should be harmless to run it, but just in case:
build_info_target = buildinfo

# run buildinfo first.
all-recursive: buildinfo

install-exec-hook:
	@echo "WARNING: make install does not result in a usable TeX!"
	@echo "  ! The binaries require the myriad support files."
	@echo "  ! See http://tug.org/texlive/distro.html"
	@echo "  ! and http://tug.org/texlive/build.html#deploy, for example."

# Allow for skipping make check if needed.
if cross
check_target = skip
else !cross
check_target = check
endif !cross
skip:
.PHONY: skip

# Convenience targets to run texlinks and reautoconf.
.PHONY: texlinks
texlinks:
	cd $(texlinks_dir) && $(MAKE) $(AM_MAKEFLAGS) run-texlinks

# Special target to run TRIP and TRAP tests and create diffs.
.PHONY: triptrap
triptrap:
	cd texk && $(MAKE) $(AM_MAKEFLAGS) $@

# We aren't trying to keep make dist working. Sorry.
distdir:
	@echo "Sorry, we don't try to keep make dist working in TeX Live."
	@echo
	@echo "You can retrieve the development and/or released sources"
	@echo "  in various ways: https://tug.org/texlive/svn"
	@echo
	@echo "For info on how to integrate the built binaries into a runnable"
	@echo "  system, see: https://tug.org/texlive/build.html#deploy"
	@echo
	@echo "The result of make install is not usable by itself."
	@false