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