1
Fork 0
mirror of git://git.sv.gnu.org/emacs.git synced 2025-12-15 10:30:25 -08:00
emacs/doc/emacs/Makefile.in
Paul Eggert bc511a64f6 Prefer HTTPS to FTP and HTTP in documentation
Most of this change is to boilerplate commentary such as license URLs.
This change was prompted by ftp://ftp.gnu.org's going-away party,
planned for November.  Change these FTP URLs to https://ftp.gnu.org
instead.  Make similar changes for URLs to other organizations moving
away from FTP.  Also, change HTTP to HTTPS for URLs to gnu.org and
fsf.org when this works, as this will further help defend against
man-in-the-middle attacks (for this part I omitted the MS-DOS and
MS-Windows sources and the test tarballs to keep the workload down).
HTTPS is not fully working to lists.gnu.org so I left those URLs alone
for now.
2017-09-13 15:54:37 -07:00

276 lines
7.6 KiB
Makefile

### @configure_input@
# Copyright (C) 1994, 1996-2017 Free Software Foundation, Inc.
# This file is part of GNU Emacs.
# GNU Emacs is free software: you can redistribute it and/or modify
# it under the terms of the GNU General Public License as published by
# the Free Software Foundation, either version 3 of the License, or
# (at your option) any later version.
# GNU Emacs is distributed in the hope that it will be useful,
# but WITHOUT ANY WARRANTY; without even the implied warranty of
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
# GNU General Public License for more details.
# You should have received a copy of the GNU General Public License
# along with GNU Emacs. If not, see <https://www.gnu.org/licenses/>.
SHELL = @SHELL@
# NB If you add any more configure variables,
# update the sed rules in the dist target below.
# Where to find the source code. $(srcdir) will be the doc/emacs subdirectory
# of the source tree. This is set by configure's '--srcdir' option.
srcdir=@srcdir@
top_srcdir = @top_srcdir@
version = @version@
## Where the output files go.
## Note that the setfilename command in the .texi files assumes this.
## This is a bit funny. Because the info files are in the
## distribution tarfiles, they are always made in $scrdir/../../info,
## even for out-of-tree builds.
buildinfodir = $(srcdir)/../../info
# Directory with the (customized) texinfo.tex file.
texinfodir = $(srcdir)/../misc
prefix = @prefix@
datarootdir = @datarootdir@
datadir = @datadir@
PACKAGE_TARNAME = @PACKAGE_TARNAME@
docdir = @docdir@
dvidir = @dvidir@
htmldir = @htmldir@
pdfdir = @pdfdir@
psdir = @psdir@
MKDIR_P = @MKDIR_P@
GZIP_PROG = @GZIP_PROG@
HTML_OPTS = --no-split --html
# Options used only when making info output.
# --no-split is only needed because of MS-DOS.
# For a possible alternative, see
# http://lists.gnu.org/archive/html/emacs-devel/2011-01/msg01182.html
INFO_OPTS= --no-split
INSTALL = @INSTALL@
INSTALL_DATA = @INSTALL_DATA@
# The makeinfo program is part of the Texinfo distribution.
# Use --force so that it generates output even if there are errors.
MAKEINFO = @MAKEINFO@
MAKEINFO_OPTS = --force --enable-encoding -I $(srcdir)
TEXI2DVI = texi2dvi
TEXI2PDF = texi2pdf
DVIPS = dvips
# 'make' verbosity.
AM_DEFAULT_VERBOSITY = @AM_DEFAULT_VERBOSITY@
AM_V_GEN = $(am__v_GEN_@AM_V@)
am__v_GEN_ = $(am__v_GEN_@AM_DEFAULT_V@)
am__v_GEN_0 = @echo " GEN " $@;
am__v_GEN_1 =
ENVADD = $(AM_V_GEN)TEXINPUTS="$(srcdir):$(texinfodir):$(TEXINPUTS)" \
MAKEINFO="$(MAKEINFO) $(MAKEINFO_OPTS)"
DVI_TARGETS = emacs.dvi emacs-xtra.dvi
HTML_TARGETS = emacs.html
PDF_TARGETS = emacs.pdf emacs-xtra.pdf
PS_TARGETS = emacs.ps emacs-xtra.ps
EMACS_XTRA= \
${srcdir}/emacs-xtra.texi \
$(srcdir)/arevert-xtra.texi \
$(srcdir)/cal-xtra.texi \
$(srcdir)/dired-xtra.texi \
${srcdir}/docstyle.texi \
$(srcdir)/picture-xtra.texi \
$(srcdir)/emerge-xtra.texi \
$(srcdir)/vc-xtra.texi \
$(srcdir)/vc1-xtra.texi \
$(srcdir)/fortran-xtra.texi \
$(srcdir)/msdos-xtra.texi
EMACSSOURCES= \
${srcdir}/emacs.texi \
${srcdir}/emacsver.texi \
${srcdir}/doclicense.texi \
${srcdir}/gpl.texi \
${srcdir}/screen.texi \
${srcdir}/commands.texi \
${srcdir}/entering.texi \
${srcdir}/basic.texi \
${srcdir}/mini.texi \
${srcdir}/m-x.texi \
${srcdir}/help.texi \
${srcdir}/mark.texi \
${srcdir}/killing.texi \
${srcdir}/regs.texi \
${srcdir}/display.texi \
${srcdir}/search.texi \
${srcdir}/fixit.texi \
${srcdir}/files.texi \
${srcdir}/buffers.texi \
${srcdir}/windows.texi \
${srcdir}/frames.texi \
${srcdir}/mule.texi \
${srcdir}/modes.texi \
${srcdir}/indent.texi \
${srcdir}/text.texi \
${srcdir}/programs.texi \
${srcdir}/building.texi \
${srcdir}/maintaining.texi \
${srcdir}/abbrevs.texi \
${srcdir}/sending.texi \
${srcdir}/rmail.texi \
${srcdir}/dired.texi \
${srcdir}/calendar.texi \
${srcdir}/misc.texi \
${srcdir}/package.texi \
${srcdir}/custom.texi \
${srcdir}/trouble.texi \
${srcdir}/cmdargs.texi \
${srcdir}/xresources.texi \
${srcdir}/anti.texi \
${srcdir}/macos.texi \
${srcdir}/msdos.texi \
${srcdir}/gnu.texi \
${srcdir}/glossary.texi \
${srcdir}/ack.texi \
${srcdir}/kmacro.texi \
$(EMACS_XTRA)
## Disable implicit rules.
%.texi: ;
.PHONY: info dvi html pdf ps
info: $(buildinfodir)/emacs.info
dvi: $(DVI_TARGETS)
html: $(HTML_TARGETS)
pdf: $(PDF_TARGETS)
ps: $(PS_TARGETS)
## The info/ directory exists in release tarfiles but not the repository.
${buildinfodir}:
${MKDIR_P} $@
# Note that all the Info targets build the Info files in srcdir.
# There is no provision for Info files to exist in the build directory.
# In a distribution of Emacs, the Info files should be up to date.
$(buildinfodir)/emacs.info: ${EMACSSOURCES} | ${buildinfodir}
$(AM_V_GEN)$(MAKEINFO) $(MAKEINFO_OPTS) $(INFO_OPTS) -o $@ $<
emacs.dvi: ${EMACSSOURCES}
$(ENVADD) $(TEXI2DVI) $<
emacs.pdf: ${EMACSSOURCES}
$(ENVADD) $(TEXI2PDF) $<
emacs.html: ${EMACSSOURCES}
$(AM_V_GEN)$(MAKEINFO) $(MAKEINFO_OPTS) $(HTML_OPTS) -o $@ $<
emacs-xtra.dvi: $(EMACS_XTRA)
$(ENVADD) $(TEXI2DVI) $<
emacs-xtra.pdf: $(EMACS_XTRA)
$(ENVADD) $(TEXI2PDF) $<
%.ps: %.dvi
$(DVIPS) -o $@ $<
.PHONY: doc-emacsver
# If configure were to just generate emacsver.texi from emacsver.texi.in
# in the normal way, the timestamp of emacsver.texi would always be
# newer than that of the info files, which are prebuilt in release tarfiles.
# So we use this rule, and move-if-change, to avoid that.
doc-emacsver:
sed 's/[@]version@/${version}/' \
${srcdir}/emacsver.texi.in > emacsver.texi.$$$$ && \
${top_srcdir}/build-aux/move-if-change emacsver.texi.$$$$ \
${srcdir}/emacsver.texi
.PHONY: mostlyclean clean distclean bootstrap-clean maintainer-clean infoclean
## Temp files.
mostlyclean:
rm -f *.aux *.log *.toc *.cp *.cps *.fn *.fns *.ky *.kys \
*.op *.ops *.pg *.pgs *.tp *.tps *.vr *.vrs
## Products not in the release tarfiles.
clean: mostlyclean
rm -f $(DVI_TARGETS) $(HTML_TARGETS) $(PDF_TARGETS) $(PS_TARGETS)
distclean: clean
rm -f Makefile
## In the standalone tarfile, the clean rule runs this.
infoclean:
rm -f \
$(buildinfodir)/emacs.info \
$(buildinfodir)/emacs.info-[1-9] \
$(buildinfodir)/emacs.info-[1-9][0-9]
bootstrap-clean maintainer-clean: distclean infoclean
rm -f ${srcdir}/emacsver.texi
.PHONY: install-dvi install-html install-pdf install-ps install-doc
install-dvi: dvi
umask 022; $(MKDIR_P) "$(DESTDIR)$(dvidir)"
$(INSTALL_DATA) $(DVI_TARGETS) "$(DESTDIR)$(dvidir)"
install-html: html
umask 022; $(MKDIR_P) "$(DESTDIR)$(htmldir)"
$(INSTALL_DATA) $(HTML_TARGETS) "$(DESTDIR)$(htmldir)"
install-pdf: pdf
umask 022;$(MKDIR_P) "$(DESTDIR)$(pdfdir)"
$(INSTALL_DATA) $(PDF_TARGETS) "$(DESTDIR)$(pdfdir)"
install-ps: ps
umask 022; $(MKDIR_P) "$(DESTDIR)$(psdir)"
for file in $(PS_TARGETS); do \
$(INSTALL_DATA) $${file} "$(DESTDIR)$(psdir)"; \
[ -n "${GZIP_PROG}" ] || continue; \
rm -f "$(DESTDIR)$(psdir)/$${file}.gz"; \
${GZIP_PROG} -9n "$(DESTDIR)$(psdir)/$${file}"; \
done
## Top-level Makefile installs the info pages.
install-doc: install-dvi install-html install-pdf install-ps
.PHONY: uninstall-dvi uninstall-html uninstall-pdf uninstall-ps uninstall-doc
uninstall-dvi:
for file in $(DVI_TARGETS); do \
rm -f "$(DESTDIR)$(dvidir)/$${file}"; \
done
uninstall-html:
for file in $(HTML_TARGETS); do \
rm -f "$(DESTDIR)$(htmldir)/$${file}"; \
done
uninstall-ps:
ext= ; [ -n "${GZIP_PROG}" ] && ext=.gz; \
for file in $(PS_TARGETS); do \
rm -f "$(DESTDIR)$(psdir)/$${file}$${ext}"; \
done
uninstall-pdf:
for file in $(PDF_TARGETS); do \
rm -f "$(DESTDIR)$(pdfdir)/$${file}"; \
done
uninstall-doc: uninstall-dvi uninstall-html uninstall-pdf uninstall-ps
### Makefile ends here