Makefile.in revision 47558
1## -*- text -*- ##
2# Master Makefile for the GNU readline library.
3# Copyright (C) 1994 Free Software Foundation, Inc.
4
5# This program is free software; you can redistribute it and/or modify
6# it under the terms of the GNU General Public License as published by
7# the Free Software Foundation; either version 2, or (at your option)
8# any later version.
9
10# This program is distributed in the hope that it will be useful,
11# but WITHOUT ANY WARRANTY; without even the implied warranty of
12# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
13# GNU General Public License for more details.
14
15# You should have received a copy of the GNU General Public License
16# along with this program; if not, write to the Free Software
17# Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
18RL_LIBRARY_VERSION = @LIBVERSION@
19RL_LIBRARY_NAME = readline
20
21srcdir = @srcdir@
22VPATH = .:@srcdir@
23top_srcdir = @top_srcdir@
24BUILD_DIR = @BUILD_DIR@
25
26INSTALL = @INSTALL@
27INSTALL_PROGRAM = @INSTALL_PROGRAM@
28INSTALL_DATA = @INSTALL_DATA@
29
30CC = @CC@
31RANLIB = @RANLIB@
32AR = @AR@
33ARFLAGS = @ARFLAGS@
34RM = rm -f
35CP = cp
36MV = mv
37
38SHELL = @MAKE_SHELL@
39
40prefix = @prefix@
41exec_prefix = @exec_prefix@
42
43bindir = @bindir@
44libdir = @libdir@
45mandir = @mandir@
46includedir = @includedir@
47
48infodir = @infodir@
49
50man3dir = $(mandir)/man3
51
52# Programs to make tags files.
53ETAGS = etags -tw
54CTAGS = ctags -tw
55
56CFLAGS = @CFLAGS@
57LOCAL_CFLAGS = @LOCAL_CFLAGS@ -DRL_LIBRARY_VERSION='"$(RL_LIBRARY_VERSION)"'
58CPPFLAGS = @CPPFLAGS@
59
60DEFS = @DEFS@
61LOCAL_DEFS = @LOCAL_DEFS@
62
63# For libraries which include headers from other libraries.
64INCLUDES = -I. -I$(srcdir) -I$(includedir)
65
66CCFLAGS = $(DEFS) $(LOCAL_DEFS) $(CPPFLAGS) $(INCLUDES) $(LOCAL_CFLAGS) $(CFLAGS)
67
68.c.o:
69	${RM} $@
70	$(CC) -c $(CCFLAGS) $<
71
72# The name of the main library target.
73LIBRARY_NAME = libreadline.a
74STATIC_LIBS = libreadline.a libhistory.a
75
76# The C code source files for this library.
77CSOURCES = $(srcdir)/readline.c $(srcdir)/funmap.c $(srcdir)/keymaps.c \
78	   $(srcdir)/vi_mode.c $(srcdir)/parens.c $(srcdir)/rltty.c \
79	   $(srcdir)/complete.c $(srcdir)/bind.c $(srcdir)/isearch.c \
80	   $(srcdir)/display.c $(srcdir)/signals.c $(srcdir)/emacs_keymap.c \
81	   $(srcdir)/vi_keymap.c $(srcdir)/util.c $(srcdir)/kill.c \
82	   $(srcdir)/undo.c $(srcdir)/macro.c $(srcdir)/input.c \
83	   $(srcdir)/callback.c $(srcdir)/terminal.c $(srcdir)/xmalloc.c \
84	   $(srcdir)/history.c $(srcdir)/histsearch.c $(srcdir)/histexpand.c \
85	   $(srcdir)/histfile.c $(srcdir)/nls.c $(srcdir)/search.c \
86	   $(srcdir)/shell.c $(srcdir)/savestring.c $(srcdir)/tilde.c
87
88# The header files for this library.
89HSOURCES = readline.h rldefs.h chardefs.h keymaps.h history.h histlib.h \
90	   posixstat.h posixdir.h posixjmp.h tilde.h rlconf.h rltty.h \
91	   ansi_stdlib.h tcap.h rlstdc.h
92
93HISTOBJ = history.o histexpand.o histfile.o histsearch.o shell.o 
94TILDEOBJ = tilde.o
95OBJECTS = readline.o vi_mode.o funmap.o keymaps.o parens.o search.o \
96	  rltty.o complete.o bind.o isearch.o display.o signals.o \
97	  util.o kill.o undo.o macro.o input.o callback.o terminal.o \
98	  nls.o xmalloc.o $(HISTOBJ) $(TILDEOBJ)
99
100# The texinfo files which document this library.
101DOCSOURCE = doc/rlman.texinfo doc/rltech.texinfo doc/rluser.texinfo
102DOCOBJECT = doc/readline.dvi
103DOCSUPPORT = doc/Makefile
104DOCUMENTATION = $(DOCSOURCE) $(DOCOBJECT) $(DOCSUPPORT)
105
106CREATED_MAKEFILES = Makefile doc/Makefile examples/Makefile shlib/Makefile
107CREATED_CONFIGURE = config.status config.h config.cache config.log \
108		    stamp-config stamp-h
109CREATED_TAGS = TAGS tags
110
111INSTALLED_HEADERS = readline.h chardefs.h keymaps.h history.h tilde.h \
112		    rlstdc.h rlconf.h
113
114##########################################################################
115
116all: static
117
118static: $(STATIC_LIBS)
119
120libreadline.a: $(OBJECTS)
121	$(RM) $@
122	$(AR) $(ARFLAGS) $@ $(OBJECTS)
123	-test -n "$(RANLIB)" && $(RANLIB) $@
124
125libhistory.a: $(HISTOBJ) xmalloc.o
126	$(RM) $@
127	$(AR) $(ARFLAGS) $@ $(HISTOBJ) xmalloc.o
128	-test -n "$(RANLIB)" && $(RANLIB) $@
129
130readline: $(OBJECTS) readline.h rldefs.h chardefs.h
131	$(CC) $(CCFLAGS) -o $@ ./examples/rl.c ./libreadline.a -ltermcap
132
133Makefile makefile: config.status $(srcdir)/Makefile.in
134	CONFIG_FILES=Makefile CONFIG_HEADERS= $(SHELL) ./config.status
135
136Makefiles makefiles: config.status $(srcdir)/Makefile.in
137	@for mf in $(CREATED_MAKEFILES); do \
138		CONFIG_FILES=$$mf CONFIG_HEADERS= $(SHELL) ./config.status ; \
139	done
140
141config.status: configure
142	$(SHELL) ./config.status --recheck
143
144config.h:	stamp-h
145
146stamp-h: config.status $(srcdir)/config.h.in
147	CONFIG_FILES= CONFIG_HEADERS=config.h ./config.status
148	echo > $@
149
150$(srcdir)/configure: $(srcdir)/configure.in	## Comment-me-out in distribution
151	cd $(srcdir) && autoconf	## Comment-me-out in distribution
152
153
154shared:	force
155	-test -d shlib || mkdir shlib
156	-( cd shlib ; ${MAKE} ${MFLAGS} all )
157
158documentation: force
159	-test -d doc || mkdir doc
160	-( cd doc && $(MAKE) $(MFLAGS) )
161
162examples: force
163	-test -d examples || mkdir examples
164	-(cd examples && ${MAKE} ${MFLAGS} all )
165
166force:
167
168install: installdirs $(STATIC_LIBS)
169	for f in ${INSTALLED_HEADERS}; do \
170		$(INSTALL_DATA) $(srcdir)/$$f $(includedir)/readline ; \
171	done
172	-$(MV) $(libdir)/libreadline.a $(libdir)/libreadline.old
173	$(INSTALL_DATA) libreadline.a $(libdir)/libreadline.a
174	-test -n "$(RANLIB)" && $(RANLIB) -t $(libdir)/libreadline.a
175	-$(MV) $(libdir)/libhistory.a $(libdir)/libhistory.old
176	$(INSTALL_DATA) libhistory.a $(libdir)/libhistory.a
177	-test -n "$(RANLIB)" && $(RANLIB) -t $(libdir)/libhistory.a
178	-( if test -d doc ; then \
179		cd doc && \
180		${MAKE} ${MFLAGS} infodir=$(infodir) $@; \
181	  fi )
182
183installdirs: $(srcdir)/support/mkdirs
184	-$(SHELL) $(srcdir)/support/mkdirs $(includedir) \
185		$(includedir)/readline $(libdir) $(infodir) $(man3dir)
186
187uninstall:
188	-test -n "$(includedir)" && cd $(includedir)/readline && \
189		${RM} ${INSTALLED_HEADERS}
190	-test -n "$(libdir)" && cd $(libdir) && \
191		${RM} libreadline.a libreadline.old libhistory.a libhistory.old $(SHARED_LIBS)
192
193install-shared: installdirs shared
194	-( cd shlib ; ${MAKE} ${MFLAGS} install )
195
196uninstall-shared:
197	-( cd shlib; ${MAKE} ${MFLAGS} uninstall )
198
199TAGS:	force
200	$(ETAGS) $(CSOURCES) $(HSOURCES)
201
202tags:	force
203	$(CTAGS) $(CSOURCES) $(HSOURCES)
204
205clean:	force
206	$(RM) $(OBJECTS) $(STATIC_LIBS)
207	-( cd shlib && $(MAKE) $(MFLAGS) $@ )
208	-( cd doc && $(MAKE) $(MFLAGS) $@ )
209	-( cd examples && $(MAKE) $(MFLAGS) $@ )
210
211mostlyclean: clean
212	-( cd shlib && $(MAKE) $(MFLAGS) $@ )
213	-( cd doc && $(MAKE) $(MFLAGS) $@ )
214	-( cd examples && $(MAKE) $(MFLAGS) $@ )
215
216distclean maintainer-clean: clean
217	-( cd shlib && $(MAKE) $(MFLAGS) $@ )
218	-( cd doc && $(MAKE) $(MFLAGS) $@ )
219	-( cd examples && $(MAKE) $(MFLAGS) $@ )
220	$(RM) Makefile
221	$(RM) $(CREATED_CONFIGURE)
222	$(RM) $(CREATED_TAGS)
223
224info dvi:
225	-( cd doc && $(MAKE) $(MFLAGS) $@ )
226
227install-info:
228check:
229installcheck:
230
231dist:   force
232	@echo Readline distributions are created using $(srcdir)/support/mkdist.
233	@echo Here is a sample of the necessary commands:
234	@echo bash $(srcdir)/support/mkdist -m $(srcdir)/MANIFEST -s $(srcdir) -r $(RL_LIBRARY_NAME)-$(RL_LIBRARY_VERSION)
235	@echo tar cf $(RL_LIBRARY_NAME)-${RL_LIBRARY_VERSION}.tar ${RL_LIBRARY_NAME}-$(RL_LIBRARY_VERSION)
236	@echo gzip $(RL_LIBRARY_NAME)-$(RL_LIBRARY_VERSION).tar
237
238# Tell versions [3.59,3.63) of GNU make not to export all variables.
239# Otherwise a system limit (for SysV at least) may be exceeded.
240.NOEXPORT:
241
242# Dependencies
243bind.o: ansi_stdlib.h posixstat.h
244bind.o: rldefs.h ${BUILD_DIR}/config.h rlconf.h
245bind.o: readline.h keymaps.h chardefs.h tilde.h rlstdc.h
246bind.o: history.h
247callback.o: rlconf.h
248callback.o: rldefs.h ${BUILD_DIR}/config.h rlconf.h
249callback.o: readline.h keymaps.h chardefs.h tilde.h rlstdc.h
250complete.o: ansi_stdlib.h posixdir.h posixstat.h
251complete.o: rldefs.h ${BUILD_DIR}/config.h rlconf.h
252complete.o: readline.h keymaps.h chardefs.h tilde.h rlstdc.h
253display.o: ansi_stdlib.h posixstat.h
254display.o: rldefs.h ${BUILD_DIR}/config.h rlconf.h
255display.o: tcap.h
256display.o: readline.h keymaps.h chardefs.h tilde.h
257display.o: history.h rlstdc.h
258funmap.o: readline.h keymaps.h chardefs.h tilde.h
259funmap.o: rlconf.h ansi_stdlib.h rlstdc.h
260funmap.o: ${BUILD_DIR}/config.h
261histexpand.o: ansi_stdlib.h
262histexpand.o: history.h histlib.h rlstdc.h
263histexpand.o: ${BUILD_DIR}/config.h
264histfile.o: ansi_stdlib.h
265histfile.o: history.h histlib.h rlstdc.h
266histfile.o: ${BUILD_DIR}/config.h
267history.o: ansi_stdlib.h
268history.o: history.h histlib.h rlstdc.h
269history.o: ${BUILD_DIR}/config.h
270histsearch.o: ansi_stdlib.h
271histsearch.o: history.h histlib.h rlstdc.h
272histsearch.o: ${BUILD_DIR}/config.h
273input.o: ansi_stdlib.h
274input.o: rldefs.h ${BUILD_DIR}/config.h rlconf.h
275input.o: readline.h keymaps.h chardefs.h tilde.h rlstdc.h
276isearch.o: rldefs.h ${BUILD_DIR}/config.h rlconf.h
277isearch.o: readline.h keymaps.h chardefs.h tilde.h
278isearch.o: ansi_stdlib.h history.h rlstdc.h
279keymaps.o: emacs_keymap.c vi_keymap.c
280keymaps.o: keymaps.h chardefs.h rlconf.h ansi_stdlib.h
281keymaps.o: readline.h keymaps.h chardefs.h tilde.h
282keymaps.o: ${BUILD_DIR}/config.h rlstdc.h
283kill.o: ansi_stdlib.h
284kill.o: rldefs.h ${BUILD_DIR}/config.h rlconf.h
285kill.o: readline.h keymaps.h chardefs.h tilde.h
286kill.o: history.h rlstdc.h
287macro.o: ansi_stdlib.h
288macro.o: rldefs.h ${BUILD_DIR}/config.h rlconf.h
289macro.o: readline.h keymaps.h chardefs.h tilde.h
290macro.o: history.h rlstdc.h
291nls.o: ansi_stdlib.h
292nls.o: rldefs.h ${BUILD_DIR}/config.h rlconf.h
293parens.o: rlconf.h
294parens.o: ${BUILD_DIR}/config.h
295parens.o: readline.h keymaps.h chardefs.h tilde.h rlstdc.h
296readline.o: readline.h keymaps.h chardefs.h tilde.h
297readline.o: rldefs.h ${BUILD_DIR}/config.h rlconf.h
298readline.o: history.h rlstdc.h
299readline.o: posixstat.h ansi_stdlib.h posixjmp.h
300rltty.o: rldefs.h ${BUILD_DIR}/config.h rlconf.h
301rltty.o: rltty.h
302rltty.o: readline.h keymaps.h chardefs.h tilde.h rlstdc.h
303search.o: rldefs.h ${BUILD_DIR}/config.h rlconf.h
304search.o: readline.h keymaps.h chardefs.h tilde.h
305search.o: ansi_stdlib.h history.h rlstdc.h
306shell.o: ${BUILD_DIR}/config.h
307shell.o: ansi_stdlib.h
308signals.o: rldefs.h ${BUILD_DIR}/config.h rlconf.h
309signals.o: readline.h keymaps.h chardefs.h tilde.h
310signals.o: history.h rlstdc.h
311terminal.o: rldefs.h ${BUILD_DIR}/config.h rlconf.h
312terminal.o: tcap.h
313terminal.o: readline.h keymaps.h chardefs.h tilde.h
314terminal.o: history.h rlstdc.h
315tilde.o: ansi_stdlib.h
316tilde.o: ${BUILD_DIR}/config.h
317tilde.o: tilde.h
318undo.o: ansi_stdlib.h
319undo.o: rldefs.h ${BUILD_DIR}/config.h rlconf.h
320undo.o: readline.h keymaps.h chardefs.h tilde.h
321undo.o: history.h rlstdc.h
322util.o: posixjmp.h ansi_stdlib.h
323util.o: rldefs.h ${BUILD_DIR}/config.h rlconf.h
324util.o: readline.h keymaps.h chardefs.h tilde.h rlstdc.h
325vi_mode.o: rldefs.h ${BUILD_DIR}/config.h rlconf.h
326vi_mode.o: readline.h keymaps.h chardefs.h tilde.h
327vi_mode.o: history.h ansi_stdlib.h rlstdc.h
328xmalloc.o: ${BUILD_DIR}/config.h
329xmalloc.o: ansi_stdlib.h
330
331readline.o: $(srcdir)/readline.c
332vi_mode.o: $(srcdir)/vi_mode.c
333funmap.o: $(srcdir)/funmap.c
334keymaps.o: $(srcdir)/keymaps.c
335parens.o: $(srcdir)/parens.c
336search.o: $(srcdir)/search.c
337rltty.o: $(srcdir)/rltty.c
338complete.o: $(srcdir)/complete.c
339bind.o: $(srcdir)/bind.c
340isearch.o: $(srcdir)/isearch.c
341display.o: $(srcdir)/display.c
342signals.o: $(srcdir)/signals.c
343util.o: $(srcdir)/util.c
344kill.o: $(srcdir)/kill.c
345undo.o: $(srcdir)/undo.c
346macro.o: $(srcdir)/macro.c
347input.o: $(srcdir)/input.c
348callback.o: $(srcdir)/callback.c
349terminal.o: $(srcdir)/terminal.c
350nls.o: $(srcdir)/nls.c
351xmalloc.o: $(srcdir)/xmalloc.c
352history.o: $(srcdir)/history.c
353histexpand.o: $(srcdir)/histexpand.c
354histfile.o: $(srcdir)/histfile.c
355histsearch.o: $(srcdir)/histsearch.c
356savestring.o: $(srcdir)/savestring.c
357shell.o: $(srcdir)/shell.c
358tilde.o: $(srcdir)/tilde.c
359
360readline.o: readline.c
361vi_mode.o: vi_mode.c
362funmap.o: funmap.c
363keymaps.o: keymaps.c
364parens.o: parens.c
365search.o: search.c
366rltty.o: rltty.c
367complete.o: complete.c
368bind.o: bind.c
369isearch.o: isearch.c
370display.o: display.c
371signals.o: signals.c
372util.o: util.c
373kill.o: kill.c
374undo.o: undo.c
375macro.o: macro.c
376input.o: input.c
377callback.o: callback.c
378terminal.o: terminal.c
379nls.o: nls.c
380xmalloc.o: xmalloc.c
381history.o: history.c
382histexpand.o: histexpand.c
383histfile.o: histfile.c
384histsearch.o: histsearch.c
385savestring.o: savestring.c
386shell.o: shell.c
387tilde.o: tilde.c
388