mirror of
git://git.sv.gnu.org/emacs.git
synced 2025-12-15 10:30:25 -08:00
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.
276 lines
7.6 KiB
Makefile
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
|