File: Makefile.am

package info (click to toggle)
texinfo 7.2-5
  • links: PTS, VCS
  • area: main
  • in suites: forky, sid
  • size: 113,148 kB
  • sloc: perl: 1,281,149; ansic: 135,801; sh: 12,218; xml: 9,069; makefile: 4,016; javascript: 1,923; awk: 1,889; sed: 78; pascal: 65
file content (168 lines) | stat: -rw-r--r-- 5,961 bytes parent folder | download
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
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
# Makefile.am for texinfo.
# Process this file with automake to produce Makefile.in in all directories.
#
# Copyright 2002-2024 Free Software Foundation, Inc.
#
# This file is free software; as a special exception the author gives
# unlimited permission to copy and/or distribute it, with or without
# modifications, as long as this notice is preserved.
#
# This program is distributed in the hope that it will be useful, but
# WITHOUT ANY WARRANTY, to the extent permitted by law; without even the
# implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.

# Find our headers and gnulib headers.
ACLOCAL_AMFLAGS = -I build-aux/m4 -I gnulib/m4

# Wrapper for the build environment.
noinst_SCRIPTS = pre-inst-env

# Additional files to distribute.
EXTRA_DIST = ChangeLog.46 ChangeLog.65 ChangeLog.70 \
  INSTALL.generic README-hacking \
  system.h gnulib/m4/gnulib-cache.m4 \
  djgpp

# This is to prevent texinfo.tex from being included in the top-level
# distribution directory.
TEXINFO_TEX = doc/texinfo.tex

# Ensure that this file is built early, as it is needed to run texi2any
# and pod2texi in rules under "man" and "doc".  This helps in running
# "make dist" without running "make" first.
BUILT_SOURCES = tp/Texinfo/ModulePath.pm
tp/Texinfo/ModulePath.pm:
	cd tp && $(MAKE) $(AM_MAKEFLAGS) Texinfo/ModulePath.pm

# Ensure that those files are built early, as they are needed in po*
# directories.  This allows to run configure and make after make distclean
BUILT_SOURCES += $(top_srcdir)/tp/Texinfo/HTMLData.pm \
                 $(top_srcdir)/tp/Texinfo/XS/main/html_conversion_data.c
$(top_srcdir)/tp/Texinfo/HTMLData.pm:
	cd tp && $(MAKE) $(AM_MAKEFLAGS) translated_source_files

$(top_srcdir)/tp/Texinfo/XS/main/html_conversion_data.c:
	cd tp/Texinfo/XS && $(MAKE) $(AM_MAKEFLAGS) translated_source_files

# One special target for installers to use by hand if desired.
install-tex:
	cd doc && $(MAKE) TEXMF=$(TEXMF) install-tex

# painful separate build for cross-compiling.
SUBDIRS =
if TOOLS_ONLY
  # Build native tools only.
  SUBDIRS += gnulib/lib install-info tp util
if HAVE_TERMLIBS
    SUBDIRS += info
else
# DOS/Windows don't need TERMLIBS to build Info
if HOST_IS_WINDOWS
  SUBDIRS += info
endif
endif
else
  # All subdirectories.
  # Do libs first since the C programs depend on it.
  # Do doc and man last so things will be built when we get there.
  # Others are alphabetical.
  SUBDIRS += $(native_tools) gnulib/lib
if HAVE_TERMLIBS
  SUBDIRS += info
else
# DOS/Windows don't need TERMLIBS to build Info
if HOST_IS_WINDOWS
  SUBDIRS += info
endif
endif
  SUBDIRS += install-info po po_document tp Pod-Simple-Texinfo \
             texindex util doc man
  SUBDIRS += js
endif

distclean-local:
	-test -d "$(native_tools)" && rm -rf "$(native_tools)"

# Don't install native tools for cross compile.
if TOOLS_ONLY
install:

endif

# to be run before making a distribution: ensure that the texinfo.dtd on
# the web is what we will be releasing.  See README-hacking.
wget = wget
dtd_url = http://www.gnu.org/software/texinfo/dtd/$(TEXINFO_DTD_VERSION)/texinfo.dtd
dtd-check:
	$(wget) -nv $(dtd_url) -O $@-1 \
	&& diff $@-1 $(srcdir)/util/texinfo.dtd \
	&& rm -f $@-1

# For updating copyright years
grand-replace:
	./grand-replace.sh $(srcdir)

# run update-po in both gettext directories
update-po:
	cd po && $(MAKE) update-po
	cd po_document && $(MAKE) update-po

# From coreutils.  Use when making a release.
# Verify that all source files using _() are listed in po/POTFILES.in.
# Run this before making pretests, as well as official releases, so that
# translators will see changed strings.  See README-hacking.
# Note that pgettext is not matched to avoid a false positive in
# tp/Texinfo/Translations.pm, but it is not problematic as it appears
# only in errors.c, which matches other function names.
po-check:
	@if test -f po/POTFILES.in; then				\
	  grep -E -v '^(#|$$)' po/POTFILES.in				\
	    | grep -v '^src/false\.c$$' | sort > $@-1;			\
	  files=;							\
	  for file in `find [a-zA-Z]* -name '*.[ch]' 			\
		                   -o -name '*.p[lm]'` ; do             \
	    # don't look at sources from some subdirs.			\
	    case $$file in						\
	      contrib/* ) continue;;					\
	      djgpp/* | man/* ) continue;;	\
	      gnulib/lib/*) continue;;					\
	      texinfo-*/*) continue;;					\
              tp/maintain/* ) continue;;				\
              tp/t/results* ) continue;;				\
	      tp/Texinfo/XS/gnulib/lib/*) continue;;			\
	    esac;							\
	    files="$$files $$file";					\
	  done;								\
	  grep -E -l							\
	    '\b(N?__?p?|ngettext|line_error|line_error_ext|line_warn|command_error|command_warn|message_list_document_warn|message_list_document_error|p?message_list_command_warn|message_list_command_error|message_list_line_error_ext) *\([^)"]*("|$$)'	\
	    $$files | sort -u > $@-2;					\
	  diff -u $@-1 $@-2 || exit 1;					\
	  rm -f $@-1 $@-2;						\
	fi

# false positive in tp/Texinfo/XS/main/DocumentXS.c with function definition
# but no translated strings
po_document-check:
	@if test -f po_document/POTFILES.in; then			\
	  grep -E -v '^(#|$$)' po_document/POTFILES.in | sort > $@-1;	\
	  files=;							\
	  for file in `find [a-z]* -name '*.c' \
	                           -o -name '*.p[lm]'`; do 		\
	    # don't look at sources from some subdirs.			\
	    case $$file in						\
	      contrib/* ) continue;;					\
	      djgpp/* | man/* ) continue;;	\
	      texinfo-*/*) continue;;					\
	      tp/maintain/*) continue;;					\
	      tp/init/documentation_examples.pm) continue;;		\
	      tp/Texinfo/XS/main/DocumentXS.c) continue;;		\
	    esac;							\
	    files="$$files $$file";					\
	  done;								\
	  grep -E -l							\
	    '\b((html_)?p?[cg]dt(_string|_tree|_noop)?|pgdt_context_noop|translate_convert_to_html_internal) *\([^)$$]*("|'"'"'|$$)'	\
	    $$files | sort -u > $@-2;					\
	  diff -u $@-1 $@-2 || exit 1;					\
	  rm -f $@-1 $@-2;						\
	fi