mirror of
https://git.savannah.gnu.org/git/emacs.git
synced 2024-12-14 09:39:42 +00:00
48d67035ea
Tweak arch tagging to make build/install-in-place less annoying Previously, autoconf-created Makefiles and the like would contain duplicate taglines (unfortunately, autoconf doesn't seem to have a `strip in generated file' comment mechanism) leading to conflicts, and installing in place would create unknown directories and copies of source directories (leading to conflicts with the source directories). This changeset makes all autoconf-processed files use explicit id-tags and adds .arch-inventory entries to ignore installation directories.
334 lines
9.6 KiB
Makefile
334 lines
9.6 KiB
Makefile
#### -*- Makefile -*- for the Emacs Manual and other documentation.
|
|
|
|
# Copyright (C) 2003, 2004
|
|
# 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 2, 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; see the file COPYING. If not, write to
|
|
# the Free Software Foundation, Inc., 59 Temple Place - Suite 330,
|
|
# Boston, MA 02111-1307, USA.
|
|
|
|
# Where to find the source code. The source code for Emacs's C kernel is
|
|
# expected to be in $(srcdir)/src, and the source code for Emacs's
|
|
# utility programs is expected to be in $(srcdir)/lib-src. This is
|
|
# set by the configure script's `--srcdir' option.
|
|
srcdir=.
|
|
|
|
infodir = $(srcdir)/../info
|
|
|
|
# The makeinfo program is part of the Texinfo distribution.
|
|
MAKEINFO = makeinfo
|
|
MULTI_INSTALL_INFO = $(srcdir)\..\nt\multi-install-info.bat
|
|
INFO_TARGETS = $(infodir)/emacs $(infodir)/ccmode \
|
|
$(infodir)/cl $(infodir)/dired-x \
|
|
$(infodir)/ediff $(infodir)/forms \
|
|
$(infodir)/gnus $(infodir)/info \
|
|
$(infodir)/message $(infodir)/mh-e \
|
|
$(infodir)/reftex $(infodir)/sc \
|
|
$(infodir)/vip $(infodir)/viper \
|
|
$(infodir)/widget $(infodir)/efaq \
|
|
$(infodir)/ada-mode $(infodir)/autotype \
|
|
$(infodir)/calc $(infodir)/idlwave \
|
|
$(infodir)/eudc $(infodir)/ebrowse \
|
|
$(infodir)/pcl-cvs $(infodir)/woman \
|
|
$(infodir)/emacs-mime $(infodir)/eshell \
|
|
$(infodir)/speedbar $(infodir)/tramp \
|
|
$(infodir)/ses $(infodir)/smtpmail \
|
|
$(infodir)/flymake
|
|
DVI_TARGETS = emacs.dvi calc.dvi cc-mode.dvi cl.dvi dired-x.dvi \
|
|
ediff.dvi forms.dvi gnus.dvi message.dvi mh-e.dvi \
|
|
reftex.dvi sc.dvi vip.dvi viper.dvi widget.dvi faq.dvi \
|
|
ada-mode.dvi autotype.dvi idlwave.dvi eudc.dvi ebrowse.dvi \
|
|
pcl-cvs.dvi woman.dvi emacs-mime.dvi eshell.dvi \
|
|
speedbar.dvi tramp.dvi ses.dvi smtpmail.dvi flymake.dvi
|
|
INFOSOURCES = info.texi
|
|
|
|
# The following rule does not work with all versions of `make'.
|
|
.SUFFIXES: .texi .dvi
|
|
.texi.dvi:
|
|
texi2dvi $<
|
|
|
|
TEXI2DVI = texi2dvi
|
|
ENVADD = $(srcdir)\..\nt\envadd.bat "TEXINPUTS=$(srcdir);$(TEXINPUTS)" \
|
|
"MAKEINFO=$(MAKEINFO) -I$(srcdir)" /C
|
|
|
|
EMACSSOURCES= \
|
|
$(srcdir)/emacs.texi \
|
|
$(srcdir)/doclicense.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)/major.texi \
|
|
$(srcdir)/indent.texi \
|
|
$(srcdir)/text.texi \
|
|
$(srcdir)/programs.texi \
|
|
$(srcdir)/building.texi \
|
|
$(srcdir)/maintaining.texi \
|
|
$(srcdir)/abbrevs.texi \
|
|
$(srcdir)/picture.texi \
|
|
$(srcdir)/sending.texi \
|
|
$(srcdir)/rmail.texi \
|
|
$(srcdir)/dired.texi \
|
|
$(srcdir)/calendar.texi \
|
|
$(srcdir)/misc.texi \
|
|
$(srcdir)/custom.texi \
|
|
$(srcdir)/trouble.texi \
|
|
$(srcdir)/cmdargs.texi \
|
|
$(srcdir)/xresources.texi \
|
|
$(srcdir)/anti.texi \
|
|
$(srcdir)/macos.texi \
|
|
$(srcdir)/msdog.texi \
|
|
$(srcdir)/gnu.texi \
|
|
$(srcdir)/glossary.texi \
|
|
$(srcdir)/ack.texi \
|
|
$(srcdir)/kmacro.texi
|
|
|
|
info: $(INFO_TARGETS)
|
|
$(MULTI_INSTALL_INFO) --info-dir=$(infodir) $(INFO_TARGETS)
|
|
|
|
dvi: $(DVI_TARGETS)
|
|
|
|
# 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.
|
|
|
|
# The following target uses an explicit -o switch to work around
|
|
# the @setfilename directive in info.texi, which is required for
|
|
# the Texinfo distribution.
|
|
|
|
$(infodir)/info: $(INFOSOURCES)
|
|
$(MAKEINFO) --no-split info.texi -o $@
|
|
|
|
info.dvi: $(INFOSOURCES)
|
|
$(ENVADD) $(TEXI2DVI) $(srcdir)/info.texi
|
|
|
|
$(infodir)/emacs: $(EMACSSOURCES)
|
|
$(MAKEINFO) emacs.texi
|
|
|
|
emacs.dvi: $(EMACSSOURCES)
|
|
$(ENVADD) $(TEXI2DVI) $(srcdir)/emacs.texi
|
|
|
|
# This target is here so you could easily get the list of the *.texi
|
|
# files which belong to the Emacs manual (as opposed to the separate
|
|
# manuals for CL, CC Mode, Ebrowse, etc.). With this target, you can
|
|
# say things like "grep foo `make emacsman`".
|
|
emacsman:
|
|
@echo $(EMACSSOURCES)
|
|
|
|
$(infodir)/ccmode: cc-mode.texi
|
|
$(MAKEINFO) cc-mode.texi
|
|
cc-mode.dvi: cc-mode.texi
|
|
$(ENVADD) $(TEXI2DVI) $(srcdir)/cc-mode.texi
|
|
|
|
$(infodir)/ada-mode: ada-mode.texi
|
|
$(MAKEINFO) ada-mode.texi
|
|
ada-mode.dvi: ada-mode.texi
|
|
$(ENVADD) $(TEXI2DVI) $(srcdir)/ada-mode.texi
|
|
|
|
$(infodir)/pcl-cvs: pcl-cvs.texi
|
|
$(MAKEINFO) pcl-cvs.texi
|
|
pcl-cvs.dvi: pcl-cvs.texi
|
|
$(ENVADD) $(TEXI2DVI) $(srcdir)/pcl-cvs.texi
|
|
|
|
$(infodir)/eshell: eshell.texi
|
|
$(MAKEINFO) eshell.texi
|
|
eshell.dvi: eshell.texi
|
|
$(ENVADD) $(TEXI2DVI) $(srcdir)/eshell.texi
|
|
|
|
$(infodir)/cl: cl.texi
|
|
$(MAKEINFO) cl.texi
|
|
cl.dvi: cl.texi
|
|
$(ENVADD) $(TEXI2DVI) $(srcdir)/cl.texi
|
|
|
|
$(infodir)/dired-x: dired-x.texi
|
|
$(MAKEINFO) dired-x.texi
|
|
dired-x.dvi: dired-x.texi
|
|
$(ENVADD) $(TEXI2DVI) $(srcdir)/dired-x.texi
|
|
|
|
$(infodir)/ediff: ediff.texi
|
|
$(MAKEINFO) ediff.texi
|
|
ediff.dvi: ediff.texi
|
|
$(ENVADD) $(TEXI2DVI) $(srcdir)/ediff.texi
|
|
|
|
$(infodir)/flymake: flymake.texi
|
|
$(MAKEINFO) flymake.texi
|
|
flymake.dvi: flymake.texi
|
|
$(ENVADD) $(TEXI2DVI) $(srcdir)/flymake.texi
|
|
|
|
$(infodir)/forms: forms.texi
|
|
$(MAKEINFO) forms.texi
|
|
forms.dvi: forms.texi
|
|
$(ENVADD) $(TEXI2DVI) $(srcdir)/forms.texi
|
|
|
|
$(infodir)/gnus: gnus.texi
|
|
$(MAKEINFO) gnus.texi
|
|
gnus.dvi: gnus.texi
|
|
sed -e '/@iflatex/,/@end iflatex/d' $(srcdir)/gnus.texi > gnustmp.texi
|
|
$(ENVADD) $(TEXI2DVI) gnustmp.texi
|
|
cp gnustmp.dvi $*.dvi
|
|
rm gnustmp.*
|
|
|
|
$(infodir)/message: message.texi
|
|
$(MAKEINFO) message.texi
|
|
message.dvi: message.texi
|
|
$(ENVADD) $(TEXI2DVI) $(srcdir)/message.texi
|
|
|
|
$(infodir)/mh-e: mh-e.texi
|
|
$(MAKEINFO) mh-e.texi
|
|
mh-e.dvi: mh-e.texi
|
|
$(ENVADD) $(TEXI2DVI) $(srcdir)/mh-e.texi
|
|
|
|
$(infodir)/reftex: reftex.texi
|
|
$(MAKEINFO) reftex.texi
|
|
reftex.dvi: reftex.texi
|
|
$(ENVADD) $(TEXI2DVI) $(srcdir)/reftex.texi
|
|
|
|
$(infodir)/sc: sc.texi
|
|
$(MAKEINFO) sc.texi
|
|
sc.dvi: sc.texi
|
|
$(ENVADD) $(TEXI2DVI) $(srcdir)/sc.texi
|
|
|
|
$(infodir)/vip: vip.texi
|
|
$(MAKEINFO) vip.texi
|
|
vip.dvi: vip.texi
|
|
$(ENVADD) $(TEXI2DVI) $(srcdir)/vip.texi
|
|
|
|
$(infodir)/viper: viper.texi
|
|
$(MAKEINFO) viper.texi
|
|
viper.dvi: viper.texi
|
|
$(ENVADD) $(TEXI2DVI) $(srcdir)/viper.texi
|
|
|
|
$(infodir)/widget: widget.texi
|
|
$(MAKEINFO) widget.texi
|
|
widget.dvi: widget.texi
|
|
$(ENVADD) $(TEXI2DVI) $(srcdir)/widget.texi
|
|
|
|
$(infodir)/efaq: faq.texi
|
|
$(MAKEINFO) faq.texi
|
|
faq.dvi: faq.texi
|
|
$(ENVADD) $(TEXI2DVI) $(srcdir)/faq.texi
|
|
|
|
../etc/GNU: gnu1.texi gnu.texi
|
|
$(MAKEINFO) --no-headers -o ../etc/GNU gnu1.texi
|
|
|
|
$(infodir)/autotype: autotype.texi
|
|
$(MAKEINFO) autotype.texi
|
|
autotype.dvi: autotype.texi
|
|
$(ENVADD) $(TEXI2DVI) $(srcdir)/autotype.texi
|
|
|
|
$(infodir)/calc: calc.texi
|
|
$(MAKEINFO) calc.texi
|
|
|
|
calc.dvi: calc.texi
|
|
$(ENVADD) $(TEXI2DVI) $(srcdir)/calc.texi
|
|
|
|
# This is produced with --no-split to avoid making files whose
|
|
# names clash on DOS 8+3 filesystems
|
|
$(infodir)/idlwave: idlwave.texi
|
|
$(MAKEINFO) --no-split idlwave.texi
|
|
idlwave.dvi: idlwave.texi
|
|
$(ENVADD) $(TEXI2DVI) $(srcdir)/idlwave.texi
|
|
|
|
$(infodir)/eudc: eudc.texi
|
|
$(MAKEINFO) eudc.texi
|
|
eudc.dvi: eudc.texi
|
|
$(ENVADD) $(TEXI2DVI) $(srcdir)/eudc.texi
|
|
|
|
$(infodir)/ebrowse: ebrowse.texi
|
|
$(MAKEINFO) ebrowse.texi
|
|
ebrowse.dvi: ebrowse.texi
|
|
$(ENVADD) $(TEXI2DVI) $(srcdir)/ebrowse.texi
|
|
|
|
$(infodir)/woman: woman.texi
|
|
$(MAKEINFO) woman.texi
|
|
woman.dvi: woman.texi
|
|
$(ENVADD) $(TEXI2DVI) $(srcdir)/woman.texi
|
|
|
|
$(infodir)/speedbar: speedbar.texi
|
|
$(MAKEINFO) speedbar.texi
|
|
speedbar.dvi: speedbar.texi
|
|
$(ENVADD) $(TEXI2DVI) $(srcdir)/speedbar.texi
|
|
|
|
$(infodir)/emacs-mime: emacs-mime.texi
|
|
$(MAKEINFO) emacs-mime.texi
|
|
emacs-mime.dvi: emacs-mime.texi
|
|
$(ENVADD) $(TEXI2DVI) $(srcdir)/emacs-mime.texi
|
|
|
|
$(infodir)/tramp: tramp.texi
|
|
$(MAKEINFO) tramp.texi
|
|
tramp.dvi: tramp.texi
|
|
$(ENVADD) $(TEXI2DVI) $(srcdir)/tramp.texi
|
|
|
|
$(infodir)/ses: ses.texi
|
|
$(MAKEINFO) ses.texi
|
|
ses.dvi: ses.texi
|
|
$(ENVADD) $(TEXI2DVI) $(srcdir)/ses.texi
|
|
|
|
$(infodir)/smtpmail: smtpmail.texi
|
|
$(MAKEINFO) smtpmail.texi
|
|
smtpmail.dvi: smtpmail.texi
|
|
$(ENVADD) $(TEXI2DVI) $(srcdir)/smtpmail.texi
|
|
|
|
mostlyclean:
|
|
- $(DEL) *.log *.cp *.fn *.ky *.pg *.vr core *.tp *.core gnustmp.*
|
|
|
|
clean: mostlyclean
|
|
- $(DEL) *.dvi
|
|
- $(DEL) $(infodir)/emacs* $(infodir)/ccmode* \
|
|
$(infodir)/cl* $(infodir)/dired-x* \
|
|
$(infodir)/ediff* $(infodir)/forms* \
|
|
$(infodir)/gnus* $(infodir)/info* \
|
|
$(infodir)/message* $(infodir)/mh-e* \
|
|
$(infodir)/reftex* $(infodir)/sc* \
|
|
$(infodir)/vip* $(infodir)/viper* \
|
|
$(infodir)/widget* $(infodir)/efaq* \
|
|
$(infodir)/ada-mode* $(infodir)/autotype* \
|
|
$(infodir)/calc* $(infodir)/idlwave* \
|
|
$(infodir)/eudc* $(infodir)/ebrowse* \
|
|
$(infodir)/pcl-cvs* $(infodir)/woman* \
|
|
$(infodir)/emacs-mime* $(infodir)/eshell* \
|
|
$(infodir)/speedbar* $(infodir)/tramp* \
|
|
$(infodir)/ses* $(infodir)/smtpmail*
|
|
|
|
distclean: clean
|
|
|
|
maintainer-clean: distclean
|
|
- $(DEL) *.aux *.cps *.fns *.kys *.pgs *.vrs *.toc
|
|
# Don't delete these, because they are outside the current directory.
|
|
# for file in $(INFO_TARGETS); do rm -f $${file}*; done
|
|
|
|
|
|
# Formerly this directory had texindex.c and getopt.c in it
|
|
# and this makefile built them to make texindex.
|
|
# That caused trouble because this is run entirely in the source directory.
|
|
# Since we expect to get texi2dvi from elsewhere,
|
|
# it is ok to expect texindex from elsewhere also.
|