Makefile.in 5.47 KB
Newer Older
1
### @configure_input@
Glenn Morris's avatar
Glenn Morris committed
2

3
# Copyright (C) 1994-1999, 2001-2013 Free Software Foundation, Inc.
Glenn Morris's avatar
Glenn Morris committed
4 5 6

# This file is part of GNU Emacs.

7
# GNU Emacs is free software: you can redistribute it and/or modify
Glenn Morris's avatar
Glenn Morris committed
8
# it under the terms of the GNU General Public License as published by
9 10
# the Free Software Foundation, either version 3 of the License, or
# (at your option) any later version.
Glenn Morris's avatar
Glenn Morris committed
11 12 13 14 15 16 17

# 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
18 19
# along with GNU Emacs.  If not, see <http://www.gnu.org/licenses/>.

20
SHELL = /bin/sh
Glenn Morris's avatar
Glenn Morris committed
21

22 23
# NB If you add any more configure variables,
# update the sed rules in the dist target below.
Glenn Morris's avatar
Glenn Morris committed
24
srcdir = @srcdir@
25
version=@version@
Glenn Morris's avatar
Glenn Morris committed
26

27
buildinfodir = $(srcdir)/../../info
28 29
# Directory with the (customized) texinfo.tex file.
texinfodir = $(srcdir)/../misc
Glenn Morris's avatar
Glenn Morris committed
30 31
# Directory with emacsver.texi.
emacsdir =  $(srcdir)/../emacs
Glenn Morris's avatar
Glenn Morris committed
32

33 34 35 36 37 38 39 40 41 42
prefix = @prefix@
datarootdir = @datarootdir@
datadir = @datadir@
PACKAGE_TARNAME = @PACKAGE_TARNAME@
docdir = @docdir@
dvidir = @dvidir@
htmldir = @htmldir@
pdfdir = @pdfdir@
psdir = @psdir@

43 44
MKDIR_P = @MKDIR_P@

45 46 47 48
GZIP_PROG = @GZIP_PROG@

HTML_OPTS = --no-split --html

49 50 51 52
INFO_EXT=@INFO_EXT@
# Options used only when making info output.
INFO_OPTS=@INFO_OPTS@

53 54 55
INSTALL = @INSTALL@
INSTALL_DATA = @INSTALL_DATA@

56
MAKEINFO = @MAKEINFO@
Glenn Morris's avatar
Glenn Morris committed
57
MAKEINFO_OPTS = --force -I $(emacsdir) -I $(srcdir)
Glenn Morris's avatar
Glenn Morris committed
58
TEXI2DVI = texi2dvi
Glenn Morris's avatar
Glenn Morris committed
59
TEXI2PDF = texi2pdf
Glenn Morris's avatar
Glenn Morris committed
60 61
DVIPS = dvips

Glenn Morris's avatar
Glenn Morris committed
62
ENVADD = TEXINPUTS="$(srcdir):$(texinfodir):$(emacsdir):$(TEXINPUTS)" \
63 64
         MAKEINFO="$(MAKEINFO) $(MAKEINFO_OPTS)"

65 66 67 68 69
DVI_TARGETS = emacs-lisp-intro.dvi
HTML_TARGETS = emacs-lisp-intro.html
PDF_TARGETS = emacs-lisp-intro.pdf
PS_TARGETS = emacs-lisp-intro.ps

70
mkinfodir = @${MKDIR_P} ${buildinfodir}
71

Glenn Morris's avatar
Glenn Morris committed
72 73
srcs = ${srcdir}/emacs-lisp-intro.texi ${srcdir}/doclicense.texi \
  ${emacsdir}/emacsver.texi
74

75
.PHONY: info dvi html pdf ps
Glenn Morris's avatar
Glenn Morris committed
76

77 78 79 80 81
.SUFFIXES: .ps .dvi

.dvi.ps:
	$(DVIPS) -o $@ $<

82
info: ${buildinfodir}/eintr$(INFO_EXT)
83

84 85 86 87
dvi: $(DVI_TARGETS)
html: $(HTML_TARGETS)
pdf: $(PDF_TARGETS)
ps: $(PS_TARGETS)
Glenn Morris's avatar
Glenn Morris committed
88

89 90
# The file name eintr must fit within 5 characters, to allow for
# -NN extensions to fit into DOS 8+3 limits without clashing.
91
# Note: "<" is not portable in ordinary make rules.
92
${buildinfodir}/eintr$(INFO_EXT): ${srcs}
93
	$(mkinfodir)
94
	$(MAKEINFO) $(MAKEINFO_OPTS) $(INFO_OPTS) -o $@ ${srcdir}/emacs-lisp-intro.texi
Glenn Morris's avatar
Glenn Morris committed
95

96
emacs-lisp-intro.dvi: ${srcs}
97
	$(ENVADD) $(TEXI2DVI) ${srcdir}/emacs-lisp-intro.texi
Glenn Morris's avatar
Glenn Morris committed
98

99
emacs-lisp-intro.pdf: ${srcs}
100
	$(ENVADD) $(TEXI2PDF) ${srcdir}/emacs-lisp-intro.texi
Glenn Morris's avatar
Glenn Morris committed
101

102
emacs-lisp-intro.html: ${srcs}
103
	$(MAKEINFO) $(MAKEINFO_OPTS) $(HTML_OPTS) -o $@ ${srcdir}/emacs-lisp-intro.texi
Glenn Morris's avatar
Glenn Morris committed
104

105 106
.PHONY: mostlyclean clean distclean maintainer-clean infoclean

Glenn Morris's avatar
Glenn Morris committed
107
mostlyclean:
108 109
	rm -f *.aux *.log *.toc *.cp *.cps *.fn *.fns *.ky *.kys \
	  *.op *.ops *.pg *.pgs *.tp *.tps *.vr *.vrs
Glenn Morris's avatar
Glenn Morris committed
110 111

clean: mostlyclean
112
	rm -f $(DVI_TARGETS) $(HTML_TARGETS) $(PDF_TARGETS) $(PS_TARGETS)
113
	rm -f emacs-lispintro-${version}.tar*
Glenn Morris's avatar
Glenn Morris committed
114 115 116

distclean: clean

117
infoclean:
118
	-cd $(buildinfodir) && rm -f eintr$(INFO_EXT) eintr$(INFO_EXT)-[1-9]
119 120 121

maintainer-clean: distclean infoclean

Glenn Morris's avatar
Glenn Morris committed
122 123
.PHONY: dist

124
dist:
125 126
	rm -rf emacs-lispintro-${version}
	mkdir emacs-lispintro-${version}
127
	cp ${srcdir}/*.texi ${srcdir}/*.eps ${srcdir}/*.pdf \
Glenn Morris's avatar
Glenn Morris committed
128
	  ${texinfodir}/texinfo.tex ${emacsdir}/emacsver.texi \
129
	  ${srcdir}/ChangeLog* ${srcdir}/README emacs-lispintro-${version}/
130
	sed -e 's/@sr[c]dir@/./' -e 's/^\(texinfodir *=\).*/\1 ./' \
Glenn Morris's avatar
Glenn Morris committed
131
	  -e 's/^\(emacsdir *=\).*/\1 ./' \
132 133
	  -e 's/^\(buildinfodir *=\).*/\1 ./' \
	  -e 's/^\(clean:.*\)/\1 infoclean/' \
134
	  -e "s/@ver[s]ion@/${version}/" \
135 136
	  -e 's/@MAKE[I]NFO@/makeinfo/' -e 's/@MK[D]IR_P@/mkdir -p/' \
	  -e 's/@IN[F]O_EXT@/.info/' -e 's/@IN[F]O_OPTS@//' \
137
	  ${srcdir}/Makefile.in > emacs-lispintro-${version}/Makefile
138 139 140
	@if grep '@[a-zA-Z_]*@' emacs-lispintro-${version}/Makefile; then \
	  echo "Unexpanded configure variables in Makefile?" 1>&2; exit 1; \
	fi
141 142
	tar -cf emacs-lispintro-${version}.tar emacs-lispintro-${version}
	rm -rf emacs-lispintro-${version}
Glenn Morris's avatar
Glenn Morris committed
143

144 145 146 147 148 149 150 151 152 153 154 155 156 157 158 159 160 161 162 163 164 165 166 167 168 169 170 171 172 173 174 175 176 177 178 179 180 181 182 183 184 185 186 187 188 189 190 191

.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


192
### Makefile ends here