view lispref/Makefile.in @ 20553:a49deda9f5e6

(DECODE_POSITION): New macro. (CHAR_TO_BYTE, BYTE_TO_CHAR): New macros. (BEG_BYTE, BEGV_BYTE, PT_BYTE, GPT_BYTE) (ZV_BYTE, Z_BYTE): New macros. (BUF_BEG_BYTE, BUF_BEGV_BYTE, BUF_PT_BYTE, BUF_GPT_BYTE) (BUF_ZV_BYTE, BUF_Z_BYTE): New macros. (BUF_GAP_END_ADDR): New macro. (BEGV_ADDR, PT_ADDR, GPT_ADDR, GAP_END_ADDR, ZV_ADDR, Z_ADDR): Use the new ..._byte buffer data. (BUFFER_CEILING_OF, BUFFER_FLOOR_OF): Likewise. (BUF_GPT_ADDR, BUF_Z_ADDR): Likewise. (SET_PT_BOTH, TEMP_SET_PT_BOTH): New macros. (SET_PT, TEMP_SET_PT, BUF_SET_PT, BUF_TEMP_SET_PT): Call functions with new arg order. (SET_BUF_BEGV, SET_BUF_BEGV_BOTH): New macros. (SET_BUF_PT): Macro deleted. (SET_BUF_ZV): Set charpos and bytepos. (SET_BUF_ZV_BOTH, SET_BUF_PT_BOTH): New macros. (BYTE_POS_ADDR): Renamed from POS_ADDR. (CHAR_POS_ADDR): New macro. (FETCH_BYTE): Use BYTE_POS_ADDR. (FETCH_MULTIBYTE_CHAR): Use ..._BYTE macros. (BUF_CHAR_ADDRESS): Convert charpos to bytepos. (BUF_BYTE_ADDRESS): New macro, like the old BUF_CHAR_ADDRESS. (PTR_BYTE_POS): Renamed from PTR_CHAR_POS. (BUF_PTR_BYTE_POS): New macro. (BUF_FETCH_CHAR, BUF_FETCH_BYTE, BUF_FETCH_MULTIBYTE_CHAR): New macros. (struct buffer_text): New fields gpt_byte, z_byte. (struct buffer): New fields pt_byte, begv_byte, zv_byte.
author Richard M. Stallman <rms@gnu.org>
date Thu, 01 Jan 1998 06:49:17 +0000
parents c9ce47315e38
children dd9d371a4489
line wrap: on
line source

# Makefile for the   GNU Emacs Lisp Reference Manual.
#
# 11 August 1990

# Redefine `TEX' if `tex' does not invoke plain TeX. For example:
# TEX=platex

TEX=tex
MAKE=make

# Where the TeX macros are kept:
texmacrodir = /usr/local/lib/tex/macros

# Where the Emacs hierarchy lives ($EMACS in the INSTALL document for Emacs.)
# For example: 
# emacslibdir = /usr/local/gnu/lib/emacs

# Directory where Emacs is installed, by default:
emacslibdir = /usr/local/emacs

# Unless you have a nonstandard Emacs installation, these shouldn't have to 
# be changed.
prefix = /usr/local
infodir = ${prefix}/info

# The name of the manual:

VERSION=2.4.2
manual = elisp-manual-19-$(VERSION)

# Uncomment this line for permuted index.
# permuted_index = 1 

# List of all the texinfo files in the manual:

srcs = elisp.texi back.texi \
  abbrevs.texi anti.texi backups.texi locals.texi buffers.texi \
  calendar.texi commands.texi compile.texi control.texi debugging.texi \
  display.texi edebug.texi errors.texi eval.texi files.texi \
  frames.texi functions.texi help.texi hooks.texi \
  internals.texi intro.texi keymaps.texi lists.texi \
  loading.texi macros.texi maps.texi markers.texi \
  minibuf.texi modes.texi numbers.texi objects.texi \
  os.texi positions.texi processes.texi searching.texi \
  sequences.texi streams.texi strings.texi symbols.texi \
  syntax.texi text.texi tips.texi variables.texi \
  windows.texi \
  index.unperm index.perm

.PHONY: elisp.dvi clean

# The info file is named `elisp'.
# We depend on makeinfo.c rather than makeinfo -- there's no need to rebuild
# everything just because makeinfo isn't part of the distribution.

elisp: $(srcs) index.texi makeinfo.c
	$(MAKE) makeinfo
	rm -f elisp-*
	./makeinfo elisp.texi

elisp.dvi: $(srcs) index.texi texindex
	# Avoid losing old contents of aux file entirely.
	-mv elisp.aux elisp.oaux
	# First shot to define xrefs:
	$(TEX) elisp.texi
	if [ a${permuted_index} != a ]; \
	then \
	  ./permute-index; \
	  mv permuted.fns elisp.fns; \
	else \
	  ./texindex elisp.??; \
	fi
	$(TEX) elisp.texi

index.texi:
	if [ a${permuted_index} != a ]; \
	then \
	  ln -s index.perm index.texi; \
	else \
	  ln -s index.unperm index.texi; \
	fi

install: elisp
	./mkinstalldirs $(infodir)
	cp elisp elisp-* $(infodir)
	@echo also add the line for elisp to $(infodir)/dir.

installall: install
	install -c texinfo.tex $(texmacrodir)

clean:
	rm -f *.toc *.aux *.log *.cp *.cps *.fn *.fns *.tp *.tps \
              *.vr *.vrs *.pg *.pgs *.ky *.kys
	rm -f make.out core 
	rm -f makeinfo.o makeinfo getopt.o getopt1.o
	rm -f texindex.o texindex index.texi

maintainer-clean: clean
	rm -f elisp elisp-*

dist:
	-mkdir temp
	-mkdir temp/$(manual)
	-ln README Makefile permute-index $(srcs) \
   texinfo.tex getopt.c getopt1.c getopt.h \
   elisp.dvi elisp.aux elisp.??s elisp elisp-[0-9] elisp-[0-9][0-9] temp/$(manual)
	-(cd temp/$(manual); rm -f texindex.c makeinfo.c mkinstalldirs)
	cp texindex.c makeinfo.c mkinstalldirs temp/$(manual)
	(cd temp/$(manual); rm -f *~)
	(cd temp; tar chf - $(manual)) | gzip > $(manual).tar.gz
	-rm -rf temp

# Make two programs used in generating output from texinfo.

CFLAGS = -g

texindex: texindex.o
	$(CC) -o $@ $(LDFLAGS) $(CFLAGS) $?
texindex.o: texindex.c

MAKEINFO_MAJOR = 1
MAKEINFO_MINOR = 0
MAKEINFO_FLAGS = -DMAKEINFO_MAJOR=$(MAKEINFO_MAJOR) -DMAKEINFO_MINOR=$(MAKEINFO_MINOR)

makeinfo: makeinfo.o getopt.o getopt1.o
	$(CC) $(LDFLAGS) -o makeinfo makeinfo.o getopt.o getopt1.o

makeinfo.o: makeinfo.c
	$(CC) -c $(CFLAGS) $(MAKEINFO_FLAGS) makeinfo.c