Makefile.in revision 58310
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., 59 Temple Place, Suite 330, Boston, MA 02111 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
63TERMCAP_LIB = @TERMCAP_LIB@
64
65# For libraries which include headers from other libraries.
66INCLUDES = -I. -I$(srcdir) -I$(includedir)
67
68CCFLAGS = $(DEFS) $(LOCAL_DEFS) $(CPPFLAGS) $(INCLUDES) $(LOCAL_CFLAGS) $(CFLAGS)
69
70.c.o:
71	${RM} $@
72	$(CC) -c $(CCFLAGS) $<
73
74# The name of the main library target.
75LIBRARY_NAME = libreadline.a
76STATIC_LIBS = libreadline.a libhistory.a
77
78# The C code source files for this library.
79CSOURCES = $(srcdir)/readline.c $(srcdir)/funmap.c $(srcdir)/keymaps.c \
80	   $(srcdir)/vi_mode.c $(srcdir)/parens.c $(srcdir)/rltty.c \
81	   $(srcdir)/complete.c $(srcdir)/bind.c $(srcdir)/isearch.c \
82	   $(srcdir)/display.c $(srcdir)/signals.c $(srcdir)/emacs_keymap.c \
83	   $(srcdir)/vi_keymap.c $(srcdir)/util.c $(srcdir)/kill.c \
84	   $(srcdir)/undo.c $(srcdir)/macro.c $(srcdir)/input.c \
85	   $(srcdir)/callback.c $(srcdir)/terminal.c $(srcdir)/xmalloc.c \
86	   $(srcdir)/history.c $(srcdir)/histsearch.c $(srcdir)/histexpand.c \
87	   $(srcdir)/histfile.c $(srcdir)/nls.c $(srcdir)/search.c \
88	   $(srcdir)/shell.c $(srcdir)/savestring.c $(srcdir)/tilde.c
89
90# The header files for this library.
91HSOURCES = readline.h rldefs.h chardefs.h keymaps.h history.h histlib.h \
92	   posixstat.h posixdir.h posixjmp.h tilde.h rlconf.h rltty.h \
93	   ansi_stdlib.h tcap.h rlstdc.h xmalloc.h rlprivate.h rlshell.h
94
95HISTOBJ = history.o histexpand.o histfile.o histsearch.o shell.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	  nls.o xmalloc.o $(HISTOBJ) $(TILDEOBJ)
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
108CREATED_MAKEFILES = Makefile doc/Makefile examples/Makefile shlib/Makefile
109CREATED_CONFIGURE = config.status config.h config.cache config.log \
110		    stamp-config stamp-h
111CREATED_TAGS = TAGS tags
112
113INSTALLED_HEADERS = readline.h chardefs.h keymaps.h history.h tilde.h \
114		    rlstdc.h rlconf.h
115
116##########################################################################
117
118all: static
119
120everything: static shared examples
121
122static: $(STATIC_LIBS)
123
124libreadline.a: $(OBJECTS)
125	$(RM) $@
126	$(AR) $(ARFLAGS) $@ $(OBJECTS)
127	-test -n "$(RANLIB)" && $(RANLIB) $@
128
129libhistory.a: $(HISTOBJ) xmalloc.o
130	$(RM) $@
131	$(AR) $(ARFLAGS) $@ $(HISTOBJ) xmalloc.o
132	-test -n "$(RANLIB)" && $(RANLIB) $@
133
134readline: $(OBJECTS) readline.h rldefs.h chardefs.h ./libreadline.a
135	$(CC) $(CCFLAGS) -o $@ ./examples/rl.c ./libreadline.a ${TERMCAP_LIB}
136
137Makefile makefile: config.status $(srcdir)/Makefile.in
138	CONFIG_FILES=Makefile CONFIG_HEADERS= $(SHELL) ./config.status
139
140Makefiles makefiles: config.status $(srcdir)/Makefile.in
141	@for mf in $(CREATED_MAKEFILES); do \
142		CONFIG_FILES=$$mf CONFIG_HEADERS= $(SHELL) ./config.status ; \
143	done
144
145config.status: configure
146	$(SHELL) ./config.status --recheck
147
148config.h:	stamp-h
149
150stamp-h: config.status $(srcdir)/config.h.in
151	CONFIG_FILES= CONFIG_HEADERS=config.h ./config.status
152	echo > $@
153
154#$(srcdir)/configure: $(srcdir)/configure.in	## Comment-me-out in distribution
155#	cd $(srcdir) && autoconf	## Comment-me-out in distribution
156
157
158shared:	force
159	-test -d shlib || mkdir shlib
160	-( cd shlib ; ${MAKE} ${MFLAGS} all )
161
162documentation: force
163	-test -d doc || mkdir doc
164	-( cd doc && $(MAKE) $(MFLAGS) )
165
166examples: force
167	-test -d examples || mkdir examples
168	-(cd examples && ${MAKE} ${MFLAGS} all )
169
170force:
171
172install-headers: installdirs ${INSTALLED_HEADERS}
173	for f in ${INSTALLED_HEADERS}; do \
174		$(INSTALL_DATA) $(srcdir)/$$f $(includedir)/readline ; \
175	done
176
177uninstall-headers:
178	-test -n "$(includedir)" && cd $(includedir)/readline && \
179		${RM} ${INSTALLED_HEADERS}
180
181maybe-uninstall-headers: uninstall-headers
182
183install: installdirs $(STATIC_LIBS) install-headers
184	-$(MV) $(libdir)/libreadline.a $(libdir)/libreadline.old
185	$(INSTALL_DATA) libreadline.a $(libdir)/libreadline.a
186	-test -n "$(RANLIB)" && $(RANLIB) -t $(libdir)/libreadline.a
187	-$(MV) $(libdir)/libhistory.a $(libdir)/libhistory.old
188	$(INSTALL_DATA) libhistory.a $(libdir)/libhistory.a
189	-test -n "$(RANLIB)" && $(RANLIB) -t $(libdir)/libhistory.a
190	-( if test -d doc ; then \
191		cd doc && \
192		${MAKE} ${MFLAGS} infodir=$(infodir) $@; \
193	  fi )
194
195installdirs: $(srcdir)/support/mkdirs
196	-$(SHELL) $(srcdir)/support/mkdirs $(includedir) \
197		$(includedir)/readline $(libdir) $(infodir) $(man3dir)
198
199uninstall: uninstall-headers
200	-test -n "$(libdir)" && cd $(libdir) && \
201		${RM} libreadline.a libreadline.old libhistory.a libhistory.old $(SHARED_LIBS)
202
203install-shared: installdirs install-headers shared
204	-( cd shlib ; ${MAKE} ${MFLAGS} install )
205
206uninstall-shared: maybe-uninstall-headers
207	-( cd shlib; ${MAKE} ${MFLAGS} uninstall )
208
209TAGS:	force
210	$(ETAGS) $(CSOURCES) $(HSOURCES)
211
212tags:	force
213	$(CTAGS) $(CSOURCES) $(HSOURCES)
214
215clean:	force
216	$(RM) $(OBJECTS) $(STATIC_LIBS)
217	$(RM) readline readline.exe
218	-( cd shlib && $(MAKE) $(MFLAGS) $@ )
219	-( cd doc && $(MAKE) $(MFLAGS) $@ )
220	-( cd examples && $(MAKE) $(MFLAGS) $@ )
221
222mostlyclean: clean
223	-( cd shlib && $(MAKE) $(MFLAGS) $@ )
224	-( cd doc && $(MAKE) $(MFLAGS) $@ )
225	-( cd examples && $(MAKE) $(MFLAGS) $@ )
226
227distclean maintainer-clean: clean
228	-( cd shlib && $(MAKE) $(MFLAGS) $@ )
229	-( cd doc && $(MAKE) $(MFLAGS) $@ )
230	-( cd examples && $(MAKE) $(MFLAGS) $@ )
231	$(RM) Makefile
232	$(RM) $(CREATED_CONFIGURE)
233	$(RM) $(CREATED_TAGS)
234
235info dvi:
236	-( cd doc && $(MAKE) $(MFLAGS) $@ )
237
238install-info:
239check:
240installcheck:
241
242dist:   force
243	@echo Readline distributions are created using $(srcdir)/support/mkdist.
244	@echo Here is a sample of the necessary commands:
245	@echo bash $(srcdir)/support/mkdist -m $(srcdir)/MANIFEST -s $(srcdir) -r $(RL_LIBRARY_NAME) $(RL_LIBRARY_VERSION)
246	@echo tar cf $(RL_LIBRARY_NAME)-${RL_LIBRARY_VERSION}.tar ${RL_LIBRARY_NAME}-$(RL_LIBRARY_VERSION)
247	@echo gzip $(RL_LIBRARY_NAME)-$(RL_LIBRARY_VERSION).tar
248
249# Tell versions [3.59,3.63) of GNU make not to export all variables.
250# Otherwise a system limit (for SysV at least) may be exceeded.
251.NOEXPORT:
252
253# Dependencies
254bind.o: ansi_stdlib.h posixstat.h
255bind.o: rldefs.h ${BUILD_DIR}/config.h rlconf.h
256bind.o: readline.h keymaps.h chardefs.h tilde.h rlstdc.h
257bind.o: history.h
258callback.o: rlconf.h
259callback.o: rldefs.h ${BUILD_DIR}/config.h rlconf.h
260callback.o: readline.h keymaps.h chardefs.h tilde.h rlstdc.h
261complete.o: ansi_stdlib.h posixdir.h posixstat.h
262complete.o: rldefs.h ${BUILD_DIR}/config.h rlconf.h
263complete.o: readline.h keymaps.h chardefs.h tilde.h rlstdc.h
264display.o: ansi_stdlib.h posixstat.h
265display.o: rldefs.h ${BUILD_DIR}/config.h rlconf.h
266display.o: tcap.h
267display.o: readline.h keymaps.h chardefs.h tilde.h
268display.o: history.h rlstdc.h
269funmap.o: readline.h keymaps.h chardefs.h tilde.h
270funmap.o: rlconf.h ansi_stdlib.h rlstdc.h
271funmap.o: ${BUILD_DIR}/config.h
272histexpand.o: ansi_stdlib.h
273histexpand.o: history.h histlib.h rlstdc.h
274histexpand.o: ${BUILD_DIR}/config.h
275histfile.o: ansi_stdlib.h
276histfile.o: history.h histlib.h rlstdc.h
277histfile.o: ${BUILD_DIR}/config.h
278history.o: ansi_stdlib.h
279history.o: history.h histlib.h rlstdc.h
280history.o: ${BUILD_DIR}/config.h
281histsearch.o: ansi_stdlib.h
282histsearch.o: history.h histlib.h rlstdc.h
283histsearch.o: ${BUILD_DIR}/config.h
284input.o: ansi_stdlib.h
285input.o: rldefs.h ${BUILD_DIR}/config.h rlconf.h
286input.o: readline.h keymaps.h chardefs.h tilde.h rlstdc.h
287isearch.o: rldefs.h ${BUILD_DIR}/config.h rlconf.h
288isearch.o: readline.h keymaps.h chardefs.h tilde.h
289isearch.o: ansi_stdlib.h history.h rlstdc.h
290keymaps.o: emacs_keymap.c vi_keymap.c
291keymaps.o: keymaps.h chardefs.h rlconf.h ansi_stdlib.h
292keymaps.o: readline.h keymaps.h chardefs.h tilde.h
293keymaps.o: ${BUILD_DIR}/config.h rlstdc.h
294kill.o: ansi_stdlib.h
295kill.o: rldefs.h ${BUILD_DIR}/config.h rlconf.h
296kill.o: readline.h keymaps.h chardefs.h tilde.h
297kill.o: history.h rlstdc.h
298macro.o: ansi_stdlib.h
299macro.o: rldefs.h ${BUILD_DIR}/config.h rlconf.h
300macro.o: readline.h keymaps.h chardefs.h tilde.h
301macro.o: history.h rlstdc.h
302nls.o: ansi_stdlib.h
303nls.o: rldefs.h ${BUILD_DIR}/config.h rlconf.h
304nls.o: readline.h keymaps.h chardefs.h tilde.h  
305nls.o: history.h rlstdc.h  
306parens.o: rlconf.h
307parens.o: ${BUILD_DIR}/config.h
308parens.o: readline.h keymaps.h chardefs.h tilde.h rlstdc.h
309readline.o: readline.h keymaps.h chardefs.h tilde.h
310readline.o: rldefs.h ${BUILD_DIR}/config.h rlconf.h
311readline.o: history.h rlstdc.h
312readline.o: posixstat.h ansi_stdlib.h posixjmp.h
313rltty.o: rldefs.h ${BUILD_DIR}/config.h rlconf.h
314rltty.o: rltty.h
315rltty.o: readline.h keymaps.h chardefs.h tilde.h rlstdc.h
316search.o: rldefs.h ${BUILD_DIR}/config.h rlconf.h
317search.o: readline.h keymaps.h chardefs.h tilde.h
318search.o: ansi_stdlib.h history.h rlstdc.h
319shell.o: ${BUILD_DIR}/config.h
320shell.o: ansi_stdlib.h
321signals.o: rldefs.h ${BUILD_DIR}/config.h rlconf.h
322signals.o: readline.h keymaps.h chardefs.h tilde.h
323signals.o: history.h rlstdc.h
324terminal.o: rldefs.h ${BUILD_DIR}/config.h rlconf.h
325terminal.o: tcap.h
326terminal.o: readline.h keymaps.h chardefs.h tilde.h
327terminal.o: history.h rlstdc.h
328tilde.o: ansi_stdlib.h
329tilde.o: ${BUILD_DIR}/config.h
330tilde.o: tilde.h
331undo.o: ansi_stdlib.h
332undo.o: rldefs.h ${BUILD_DIR}/config.h rlconf.h
333undo.o: readline.h keymaps.h chardefs.h tilde.h
334undo.o: history.h rlstdc.h
335util.o: posixjmp.h ansi_stdlib.h
336util.o: rldefs.h ${BUILD_DIR}/config.h rlconf.h
337util.o: readline.h keymaps.h chardefs.h tilde.h rlstdc.h
338vi_mode.o: rldefs.h ${BUILD_DIR}/config.h rlconf.h
339vi_mode.o: readline.h keymaps.h chardefs.h tilde.h
340vi_mode.o: history.h ansi_stdlib.h rlstdc.h
341xmalloc.o: ${BUILD_DIR}/config.h
342xmalloc.o: ansi_stdlib.h
343
344bind.o: rlshell.h
345histfile.o: rlshell.h
346nls.o: rlshell.h
347readline.o: rlshell.h
348shell.o: rlshell.h
349terminal.o: rlshell.h
350histexpand.o: rlshell.h
351
352bind.o: rlprivate.h
353callback.o: rlprivate.h
354complete.o: rlprivate.h
355display.o: rlprivate.h
356input.o: rlprivate.h
357isearch.o: rlprivate.h
358kill.o: rlprivate.h
359macro.o: rlprivate.h
360nls.o: rlprivate.h   
361parens.o: rlprivate.h
362readline.o: rlprivate.h
363rltty.o: rlprivate.h 
364search.o: rlprivate.h
365signals.o: rlprivate.h
366terminal.o: rlprivate.h
367undo.o: rlprivate.h
368util.o: rlprivate.h
369vi_mode.o: rlprivate.h
370
371bind.o: xmalloc.h
372complete.o: xmalloc.h
373display.o: xmalloc.h
374funmap.o: xmalloc.h
375histexpand.o: xmalloc.h
376histfile.o: xmalloc.h
377history.o: xmalloc.h
378input.o: xmalloc.h
379isearch.o: xmalloc.h
380keymaps.o: xmalloc.h
381kill.o: xmalloc.h
382macro.o: xmalloc.h
383readline.o: xmalloc.h
384savestring.o: xmalloc.h
385search.o: xmalloc.h
386shell.o: xmalloc.h
387tilde.o: xmalloc.h
388tilde.o: xmalloc.h
389util.o: xmalloc.h
390vi_mode.o: xmalloc.h
391
392readline.o: $(srcdir)/readline.c
393vi_mode.o: $(srcdir)/vi_mode.c
394funmap.o: $(srcdir)/funmap.c
395keymaps.o: $(srcdir)/keymaps.c
396parens.o: $(srcdir)/parens.c
397search.o: $(srcdir)/search.c
398rltty.o: $(srcdir)/rltty.c
399complete.o: $(srcdir)/complete.c
400bind.o: $(srcdir)/bind.c
401isearch.o: $(srcdir)/isearch.c
402display.o: $(srcdir)/display.c
403signals.o: $(srcdir)/signals.c
404util.o: $(srcdir)/util.c
405kill.o: $(srcdir)/kill.c
406undo.o: $(srcdir)/undo.c
407macro.o: $(srcdir)/macro.c
408input.o: $(srcdir)/input.c
409callback.o: $(srcdir)/callback.c
410terminal.o: $(srcdir)/terminal.c
411nls.o: $(srcdir)/nls.c
412xmalloc.o: $(srcdir)/xmalloc.c
413history.o: $(srcdir)/history.c
414histexpand.o: $(srcdir)/histexpand.c
415histfile.o: $(srcdir)/histfile.c
416histsearch.o: $(srcdir)/histsearch.c
417savestring.o: $(srcdir)/savestring.c
418shell.o: $(srcdir)/shell.c
419tilde.o: $(srcdir)/tilde.c
420
421readline.o: readline.c
422vi_mode.o: vi_mode.c
423funmap.o: funmap.c
424keymaps.o: keymaps.c
425parens.o: parens.c
426search.o: search.c
427rltty.o: rltty.c
428complete.o: complete.c
429bind.o: bind.c
430isearch.o: isearch.c
431display.o: display.c
432signals.o: signals.c
433util.o: util.c
434kill.o: kill.c
435undo.o: undo.c
436macro.o: macro.c
437input.o: input.c
438callback.o: callback.c
439terminal.o: terminal.c
440nls.o: nls.c
441xmalloc.o: xmalloc.c
442history.o: history.c
443histexpand.o: histexpand.c
444histfile.o: histfile.c
445histsearch.o: histsearch.c
446savestring.o: savestring.c
447shell.o: shell.c
448tilde.o: tilde.c
449