1## -*- text -*- #############################################################
2#								            #
3# Makefile for the Bash versions of the GNU Readline and History Libraries. #
4#								            #
5#############################################################################
6
7# Copyright (C) 1994-2005 Free Software Foundation, Inc.
8
9# This program is free software; you can redistribute it and/or modify
10# it under the terms of the GNU General Public License as published by
11# the Free Software Foundation; either version 2, or (at your option)
12# any later version.
13
14# This program is distributed in the hope that it will be useful,
15# but WITHOUT ANY WARRANTY; without even the implied warranty of
16# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
17# GNU General Public License for more details.
18
19# You should have received a copy of the GNU General Public License
20# along with this program; if not, write to the Free Software
21# Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111 USA.
22
23PACKAGE = @PACKAGE_NAME@
24VERSION = @PACKAGE_VERSION@
25
26PACKAGE_BUGREPORT = @PACKAGE_BUGREPORT@
27PACKAGE_NAME = @PACKAGE_NAME@
28PACKAGE_STRING = @PACKAGE_STRING@
29PACKAGE_VERSION = @PACKAGE_VERSION@
30
31srcdir = @srcdir@
32VPATH = .:@srcdir@
33topdir = @top_srcdir@
34BUILD_DIR = @BUILD_DIR@
35
36INSTALL = @INSTALL@
37INSTALL_PROGRAM = @INSTALL_PROGRAM@
38INSTALL_DATA = @INSTALL_DATA@
39
40CC = @CC@
41RANLIB = @RANLIB@
42AR = @AR@
43ARFLAGS = @ARFLAGS@
44RM = rm -f
45CP = cp
46MV = mv
47
48SHELL = @MAKE_SHELL@
49
50# Programs to make tags files.
51ETAGS = etags -tw
52CTAGS = ctags -tw
53
54CFLAGS = @CFLAGS@
55LOCAL_CFLAGS = @LOCAL_CFLAGS@
56CPPFLAGS = @CPPFLAGS@
57LDFLAGS = @LDFLAGS@
58
59DEFS = @DEFS@
60LOCAL_DEFS = @LOCAL_DEFS@
61
62INCLUDES = -I. -I$(BUILD_DIR) -I$(topdir) -I$(topdir)/lib
63
64CCFLAGS = $(DEFS) $(LOCAL_DEFS) $(APP_CFLAGS) $(CPPFLAGS) ${INCLUDES} $(LOCAL_CFLAGS) $(CFLAGS)
65
66.c.o:
67	${RM} $@
68	$(CC) -c $(CCFLAGS) $<
69
70# The name of the main library target.
71LIBRARY_NAME = libreadline.a
72
73# The C code source files for this library.
74CSOURCES = $(srcdir)/readline.c $(srcdir)/funmap.c $(srcdir)/keymaps.c \
75	   $(srcdir)/vi_mode.c $(srcdir)/parens.c $(srcdir)/rltty.c \
76	   $(srcdir)/complete.c $(srcdir)/bind.c $(srcdir)/isearch.c \
77	   $(srcdir)/display.c $(srcdir)/signals.c $(srcdir)/emacs_keymap.c \
78	   $(srcdir)/vi_keymap.c $(srcdir)/util.c $(srcdir)/kill.c \
79	   $(srcdir)/undo.c $(srcdir)/macro.c $(srcdir)/input.c \
80	   $(srcdir)/callback.c $(srcdir)/terminal.c $(srcdir)/xmalloc.c \
81	   $(srcdir)/history.c $(srcdir)/histsearch.c $(srcdir)/histexpand.c \
82	   $(srcdir)/histfile.c $(srcdir)/nls.c $(srcdir)/search.c \
83	   $(srcdir)/shell.c $(srcdir)/tilde.c $(srcdir)/savestring.c \
84	   $(srcdir)/text.c $(srcdir)/misc.c $(srcdir)/compat.c \
85	   $(srcdir)/mbutil.c
86
87# The header files for this library.
88HSOURCES = readline.h rldefs.h chardefs.h keymaps.h history.h histlib.h \
89	   posixstat.h posixdir.h posixjmp.h tilde.h rlconf.h rltty.h \
90	   ansi_stdlib.h rlstdc.h tcap.h xmalloc.h rlprivate.h rlshell.h \
91	   rltypedefs.h rlmbutil.h
92
93HISTOBJ = history.o histexpand.o histfile.o histsearch.o shell.o savestring.o \
94	  mbutil.o
95TILDEOBJ = tilde.o
96OBJECTS = readline.o vi_mode.o funmap.o keymaps.o parens.o search.o \
97	  rltty.o complete.o bind.o isearch.o display.o signals.o \
98	  util.o kill.o undo.o macro.o input.o callback.o terminal.o \
99	  text.o nls.o misc.o $(HISTOBJ) $(TILDEOBJ) xmalloc.o compat.o
100
101# The texinfo files which document this library.
102DOCSOURCE = doc/rlman.texinfo doc/rltech.texinfo doc/rluser.texinfo
103DOCOBJECT = doc/readline.dvi
104DOCSUPPORT = doc/Makefile
105DOCUMENTATION = $(DOCSOURCE) $(DOCOBJECT) $(DOCSUPPORT)
106
107SUPPORT = Makefile ChangeLog $(DOCSUPPORT) examples/[-a-z.]*
108
109SOURCES  = $(CSOURCES) $(HSOURCES) $(DOCSOURCE)
110
111THINGS_TO_TAR = $(SOURCES) $(SUPPORT)
112
113INSTALLED_HEADERS = readline.h chardefs.h keymaps.h history.h tilde.h \
114		    rlstdc.h rlconf.h rltypedefs.h
115
116##########################################################################
117
118all: libreadline.a libhistory.a
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
130documentation: force
131	test -d doc || mkdir doc
132	-( cd doc && $(MAKE) $(MFLAGS) )
133
134# Since tilde.c is shared between readline and bash, make sure we compile
135# it with the right flags when it's built as part of readline
136tilde.o:	tilde.c
137	rm -f $@
138	$(CC) $(CCFLAGS) -DREADLINE_LIBRARY -c $(srcdir)/tilde.c
139
140force:
141
142install:
143	@echo "This version of the readline library should not be installed."
144
145uninstall:
146	@echo "This version of the readline library should not be installed."
147
148TAGS:	force
149	$(ETAGS) $(CSOURCES) $(HSOURCES)
150
151tags:	force
152	$(CTAGS) $(CSOURCES) $(HSOURCES)
153
154clean:	force
155	$(RM) $(OBJECTS) *.a
156	-( cd doc && $(MAKE) $(MFLAGS) $@ )
157
158mostlyclean: clean
159	-( cd doc && $(MAKE) $(MFLAGS) $@ )
160
161distclean maintainer-clean: clean
162	-( cd doc && $(MAKE) $(MFLAGS) $@ )
163	$(RM) Makefile
164	$(RM) TAGS tags
165
166# Dependencies
167bind.o: ansi_stdlib.h posixstat.h
168bind.o: rldefs.h ${BUILD_DIR}/config.h rlconf.h
169bind.o: readline.h keymaps.h rltypedefs.h chardefs.h tilde.h
170bind.o: history.h rlstdc.h
171callback.o: rlconf.h ansi_stdlib.h
172callback.o: rldefs.h ${BUILD_DIR}/config.h rlconf.h
173callback.o: readline.h keymaps.h rltypedefs.h chardefs.h tilde.h rlstdc.h
174compat.o: rlstdc.h
175complete.o: ansi_stdlib.h posixdir.h posixstat.h
176complete.o: rldefs.h ${BUILD_DIR}/config.h rlconf.h
177complete.o: readline.h keymaps.h rltypedefs.h chardefs.h tilde.h rlstdc.h
178display.o: ansi_stdlib.h posixstat.h
179display.o: rldefs.h ${BUILD_DIR}/config.h rlconf.h
180display.o: tcap.h
181display.o: readline.h keymaps.h rltypedefs.h chardefs.h tilde.h
182display.o: history.h rlstdc.h
183funmap.o: readline.h keymaps.h rltypedefs.h chardefs.h tilde.h
184funmap.o: rlconf.h ansi_stdlib.h rlstdc.h
185funmap.o: ${BUILD_DIR}/config.h
186histexpand.o: ansi_stdlib.h
187histexpand.o: history.h histlib.h rlstdc.h
188histexpand.o: ${BUILD_DIR}/config.h
189histfile.o: ansi_stdlib.h
190histfile.o: history.h histlib.h rlstdc.h
191histfile.o: ${BUILD_DIR}/config.h
192history.o: ansi_stdlib.h
193history.o: history.h histlib.h rlstdc.h
194history.o: ${BUILD_DIR}/config.h
195histsearch.o: ansi_stdlib.h
196histsearch.o: history.h histlib.h rlstdc.h
197histsearch.o: ${BUILD_DIR}/config.h
198input.o: ansi_stdlib.h
199input.o: rldefs.h ${BUILD_DIR}/config.h rlconf.h
200input.o: readline.h keymaps.h rltypedefs.h chardefs.h tilde.h rlstdc.h
201isearch.o: rldefs.h ${BUILD_DIR}/config.h rlconf.h
202isearch.o: readline.h keymaps.h rltypedefs.h chardefs.h tilde.h
203isearch.o: ansi_stdlib.h history.h rlstdc.h
204keymaps.o: emacs_keymap.c vi_keymap.c
205keymaps.o: keymaps.h rltypedefs.h chardefs.h rlconf.h ansi_stdlib.h
206keymaps.o: readline.h keymaps.h rltypedefs.h chardefs.h tilde.h
207keymaps.o: ${BUILD_DIR}/config.h rlstdc.h
208kill.o: ansi_stdlib.h
209kill.o: rldefs.h ${BUILD_DIR}/config.h rlconf.h
210kill.o: readline.h keymaps.h rltypedefs.h chardefs.h tilde.h
211kill.o: history.h rlstdc.h
212macro.o: ansi_stdlib.h
213macro.o: rldefs.h ${BUILD_DIR}/config.h rlconf.h
214macro.o: readline.h keymaps.h rltypedefs.h chardefs.h tilde.h
215macro.o: history.h rlstdc.h
216mbutil.o: rldefs.h ${BUILD_DIR}/config.h rlconf.h rlmbutil.h
217mbutil.o: readline.h keymaps.h rltypedefs.h chardefs.h rlstdc.h
218misc.o: readline.h keymaps.h rltypedefs.h chardefs.h tilde.h
219misc.o: rldefs.h ${BUILD_DIR}/config.h rlconf.h
220misc.o: history.h rlstdc.h ansi_stdlib.h
221nls.o: ansi_stdlib.h
222nls.o: rldefs.h ${BUILD_DIR}/config.h rlconf.h
223nls.o: readline.h keymaps.h rltypedefs.h chardefs.h tilde.h
224nls.o: history.h rlstdc.h
225parens.o: rlconf.h
226parens.o: ${BUILD_DIR}/config.h
227parens.o: readline.h keymaps.h rltypedefs.h chardefs.h tilde.h rlstdc.h
228readline.o: readline.h keymaps.h rltypedefs.h chardefs.h tilde.h
229readline.o: rldefs.h ${BUILD_DIR}/config.h rlconf.h
230readline.o: history.h rlstdc.h
231readline.o: posixstat.h ansi_stdlib.h posixjmp.h
232rltty.o: rldefs.h ${BUILD_DIR}/config.h rlconf.h
233rltty.o: rltty.h
234rltty.o: readline.h keymaps.h rltypedefs.h chardefs.h tilde.h rlstdc.h
235search.o: rldefs.h ${BUILD_DIR}/config.h rlconf.h
236search.o: readline.h keymaps.h rltypedefs.h chardefs.h tilde.h
237search.o: ansi_stdlib.h history.h rlstdc.h
238shell.o: ${BUILD_DIR}/config.h ansi_stdlib.h
239signals.o: rldefs.h ${BUILD_DIR}/config.h rlconf.h
240signals.o: readline.h keymaps.h rltypedefs.h chardefs.h tilde.h
241signals.o: history.h rlstdc.h
242terminal.o: rldefs.h ${BUILD_DIR}/config.h rlconf.h
243terminal.o: tcap.h
244terminal.o: readline.h keymaps.h rltypedefs.h chardefs.h tilde.h
245terminal.o: history.h rlstdc.h
246text.o: readline.h keymaps.h rltypedefs.h chardefs.h tilde.h
247text.o: rldefs.h ${BUILD_DIR}/config.h rlconf.h
248text.o: history.h rlstdc.h ansi_stdlib.h
249rltty.o: rldefs.h ${BUILD_DIR}/config.h rlconf.h
250tilde.o: ansi_stdlib.h
251tilde.o: ${BUILD_DIR}/config.h
252tilde.o: tilde.h
253undo.o: ansi_stdlib.h
254undo.o: rldefs.h ${BUILD_DIR}/config.h rlconf.h
255undo.o: readline.h keymaps.h rltypedefs.h chardefs.h tilde.h
256undo.o: history.h rlstdc.h xmalloc.h
257util.o: posixjmp.h ansi_stdlib.h
258util.o: rldefs.h ${BUILD_DIR}/config.h rlconf.h
259util.o: readline.h keymaps.h rltypedefs.h chardefs.h tilde.h rlstdc.h
260vi_mode.o: rldefs.h ${BUILD_DIR}/config.h rlconf.h
261vi_mode.o: readline.h keymaps.h rltypedefs.h chardefs.h tilde.h
262vi_mode.o: history.h ansi_stdlib.h rlstdc.h
263xmalloc.o: ${BUILD_DIR}/config.h ansi_stdlib.h
264
265bind.o: rlshell.h
266histfile.o: rlshell.h
267nls.o: rlshell.h
268readline.o: rlshell.h
269shell.o: rlshell.h
270terminal.o: rlshell.h
271histexpand.o: rlshell.h
272
273bind.o: rlprivate.h
274callback.o: rlprivate.h
275complete.o: rlprivate.h
276display.o: rlprivate.h
277input.o: rlprivate.h
278isearch.o: rlprivate.h
279kill.o: rlprivate.h
280macro.o: rlprivate.h
281mbutil.o: rlprivate.h
282misc.o: rlprivate.h
283nls.o: rlprivate.h
284parens.o: rlprivate.h
285readline.o: rlprivate.h
286rltty.o: rlprivate.h
287search.o: rlprivate.h
288signals.o: rlprivate.h
289terminal.o: rlprivate.h
290text.o: rlprivate.h
291undo.o: rlprivate.h
292util.o: rlprivate.h
293vi_mode.o: rlprivate.h
294
295bind.o: xmalloc.h
296complete.o: xmalloc.h  
297display.o: xmalloc.h
298funmap.o: xmalloc.h
299histexpand.o: xmalloc.h   
300histfile.o: xmalloc.h
301history.o: xmalloc.h
302input.o: xmalloc.h
303isearch.o: xmalloc.h
304keymaps.o: xmalloc.h
305kill.o: xmalloc.h
306macro.o: xmalloc.h
307mbutil.o: xmalloc.h
308misc.o: xmalloc.h  
309readline.o: xmalloc.h   
310savestring.o: xmalloc.h
311search.o: xmalloc.h
312shell.o: xmalloc.h   
313terminal.o: xmalloc.h  
314text.o: xmalloc.h
315tilde.o: xmalloc.h 
316undo.o: xmalloc.h
317util.o: xmalloc.h
318vi_mode.o: xmalloc.h 
319xmalloc.o: xmalloc.h
320
321complete.o: rlmbutil.h
322display.o: rlmbutil.h
323histexpand.o: rlmbutil.h
324input.o: rlmbutil.h
325isearch.o: rlmbutil.h
326mbutil.o: rlmbutil.h
327misc.o: rlmbutil.h
328readline.o: rlmbutil.h
329search.o: rlmbutil.h
330text.o: rlmbutil.h
331vi_mode.o: rlmbutil.h
332
333# Rules for deficient makes, like SunOS and Solaris
334bind.o: bind.c
335callback.o: callback.c
336compat.o: compat.c
337complete.o: complete.c
338display.o: display.c
339funmap.o: funmap.c
340input.o: input.c
341isearch.o: isearch.c
342keymaps.o: keymaps.c emacs_keymap.c vi_keymap.c
343kill.o: kill.c
344macro.o: macro.c
345mbutil.o: mbutil.c
346misc.o: misc.c
347nls.o: nls.c
348parens.o: parens.c
349readline.o: readline.c
350rltty.o: rltty.c
351savestring.o: savestring.c
352search.o: search.c
353shell.o: shell.c
354signals.o: signals.c
355terminal.o: terminal.c
356text.o: text.c
357tilde.o: tilde.c
358undo.o: undo.c
359util.o: util.c
360vi_mode.o: vi_mode.c
361xmalloc.o: xmalloc.c
362
363histexpand.o: histexpand.c
364histfile.o: histfile.c
365history.o: history.c
366histsearch.o: histsearch.c
367