# HG changeset patch # User Glenn Morris # Date 1189054857 0 # Node ID 152ecc9a20875d5b7369285bd7e1cbac4d13a247 # Parent 82cf512302c814ec0a61e134230efe1cb51da035 Move here from ../../man diff -r 82cf512302c8 -r 152ecc9a2087 doc/misc/makefile.w32-in --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/doc/misc/makefile.w32-in Thu Sep 06 05:00:57 2007 +0000 @@ -0,0 +1,389 @@ +#### -*- Makefile -*- for the Emacs Manual and other documentation. + +# Copyright (C) 2003, 2004, 2005, 2006, 2007 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, 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., 51 Franklin Street, Fifth Floor, +# Boston, MA 02110-1301, 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 --force +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)/message \ + $(infodir)/sieve $(infodir)/pgg $(infodir)/emacs-mime \ + $(infodir)/info $(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)/eshell $(infodir)/org \ + $(infodir)/url $(infodir)/speedbar $(infodir)/tramp \ + $(infodir)/ses $(infodir)/smtpmail $(infodir)/flymake \ + $(infodir)/newsticker $(infodir)/rcirc $(infodir)/erc +DVI_TARGETS = emacs.dvi calc.dvi cc-mode.dvi cl.dvi dired-x.dvi \ + ediff.dvi forms.dvi gnus.dvi message.dvi emacs-mime.dvi \ + gnus.dvi message.dvi sieve.dvi pgg.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 eshell.dvi org.dvi url.dvi \ + speedbar.dvi tramp.dvi ses.dvi smtpmail.dvi flymake.dvi \ + newsticker.dvi emacs-xtra.dvi rcirc.dvi erc.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 + +EMACS_XTRA=\ + $(srcdir)/arevert-xtra.texi \ + $(srcdir)/cal-xtra.texi \ + $(srcdir)/dired-xtra.texi \ + $(srcdir)/picture-xtra.texi \ + $(srcdir)/emerge-xtra.texi \ + $(srcdir)/vc-xtra.texi \ + $(srcdir)/vc1-xtra.texi \ + $(srcdir)/vc2-xtra.texi \ + $(srcdir)/fortran-xtra.texi \ + $(srcdir)/msdog-xtra.texi + +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)/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 \ + $(EMACS_XTRA) + +info: $(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. +# Some Windows ports of makeinfo seem to require -o to come before the +# texi filename, contrary to GNU standards. + +$(infodir)/dir: + $(MULTI_INSTALL_INFO) --info-dir=$(infodir) $(INFO_TARGETS) + +$(infodir)/info: $(INFOSOURCES) + $(MAKEINFO) --no-split -o $@ info.texi + +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 + +# gnus/message/emacs-mime/sieve/pgg are part of Gnus: +$(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)/emacs-mime: emacs-mime.texi + $(MAKEINFO) --enable-encoding emacs-mime.texi +emacs-mime.dvi: emacs-mime.texi + $(ENVADD) $(TEXI2DVI) $(srcdir)/emacs-mime.texi +# +$(infodir)/sieve: sieve.texi + $(MAKEINFO) sieve.texi +sieve.dvi: sieve.texi + $(ENVADD) $(TEXI2DVI) $(srcdir)/sieve.texi +# +$(infodir)/pgg: pgg.texi + $(MAKEINFO) pgg.texi +pgg.dvi: pgg.texi + $(ENVADD) $(TEXI2DVI) $(srcdir)/pgg.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)/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 + +emacs-xtra.dvi: emacs-xtra.texi $(EMACS_XTRA) + $(ENVADD) $(TEXI2DVI) $(srcdir)/emacs-xtra.texi + +$(infodir)/org: org.texi + $(MAKEINFO) org.texi +org.dvi: org.texi + $(ENVADD) $(TEXI2DVI) $(srcdir)/org.texi + +$(infodir)/url: url.texi + $(MAKEINFO) url.texi +url.dvi: url.texi + $(ENVADD) $(TEXI2DVI) $(srcdir)/url.texi + +$(infodir)/newsticker: newsticker.texi + $(MAKEINFO) newsticker.texi +newsticker.dvi: newsticker.texi + $(ENVADD) $(TEXI2DVI) $(srcdir)/newsticker.texi + +$(infodir)/rcirc: rcirc.texi + $(MAKEINFO) rcirc.texi +rcirc.dvi: rcirc.texi + $(ENVADD) $(TEXI2DVI) $(srcdir)/rcirc.texi + +$(infodir)/erc: erc.texi + $(MAKEINFO) erc.texi +erc.dvi: erc.texi + $(ENVADD) $(TEXI2DVI) $(srcdir)/erc.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)/widget* \ + $(infodir)/efaq* $(infodir)/ada-mode* \ + $(infodir)/autotype* $(infodir)/calc* \ + $(infodir)/idlwave* $(infodir)/eudc* \ + $(infodir)/ebrowse* $(infodir)/pcl-cvs* \ + $(infodir)/woman* $(infodir)/eshell* \ + $(infodir)/speedbar* $(infodir)/tramp* \ + $(infodir)/ses* $(infodir)/smtpmail* \ + $(infodir)/url* $(infodir)/org* \ + $(infodir)/flymake* $(infodir)/newsticker* \ + $(infodir)/sieve* $(infodir)/pgg* \ + $(infodir)/erc* $(infodir)/rcirc* + +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.