# # Makefile # Copyright (C) 1990, 1991, 1992 Free Software Foundation # # This file is free software; you can redistribute it and/or modify # it under the terms of the GNU General Public License as published by # the Free Software Foundation; either version 2 of the License, or # (at your option) any later version. # # This program 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 # along with this program; if not, write to the Free Software # Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA. */ # # # Makefile for readline and history libraries. # srcdir = . prefix = /usr/local exec_prefix = $(prefix) bindir = $(exec_prefix)/bin libdir = $(exec_prefix)/lib datadir = $(prefix)/lib mandir = $(prefix)/man man1dir = $(mandir)/man1 man2dir = $(mandir)/man2 man3dir = $(mandir)/man3 man4dir = $(mandir)/man4 man5dir = $(mandir)/man5 man6dir = $(mandir)/man6 man7dir = $(mandir)/man7 man8dir = $(mandir)/man8 man9dir = $(mandir)/man9 infodir = $(prefix)/info includedir = $(prefix)/include docdir = $(datadir)/doc SHELL = /bin/sh INSTALL = install -c INSTALL_PROGRAM = $(INSTALL) INSTALL_DATA = $(INSTALL) AR = ar AR_FLAGS = qv CFLAGS = -g BISON = bison MAKEINFO = makeinfo RANLIB = ranlib # Define TYPES as -DVOID_SIGHANDLER if your operating system uses # a return type of "void" for signal handlers. TYPES = -DVOID_SIGHANDLER # HP-UX compilation requires the BSD library. #LOCAL_LIBS = -lBSD # Xenix compilation requires -ldir -lx #LOCAL_LIBS = -ldir -lx # Comment out "-DVI_MODE" if you don't think that anyone will ever desire # the vi line editing mode and features. READLINE_DEFINES = $(TYPES) -DVI_MODE DEBUG_FLAGS = $(MINUS_G) LDFLAGS = $(DEBUG_FLAGS) # A good alternative is gcc -traditional. #CC = gcc -traditional RM = rm CP = cp LOCAL_INCLUDES = -I$(srcdir)/../ # The name of the main library target. LIBRARY_NAME = libreadline.a # The C code source files for this library. CSOURCES = readline.c funmap.c keymaps.c vi_mode.c parens.c \ rltty.c complete.c bind.c isearch.c display.c signals.c \ emacs_keymap.c vi_keymap.c history.c tilde.c xmalloc.c # The header files for this library. HSOURCES = readline.h rldefs.h chardefs.h keymaps.h history.h \ posixstat.h tilde.h OBJECTS = readline.o vi_mode.o funmap.o keymaps.o parens.o search.o \ rltty.o complete.o bind.o isearch.o display.o signals.o \ history.o tilde.o xmalloc.o SOURCES = $(CSOURCES) $(HSOURCES) DOCUMENTATION = readline.texi inc-read.texi \ history.texi inc-hist.texi SUPPORT = COPYING Makefile $(DOCUMENTATION) ChangeLog THINGS_TO_TAR = $(SOURCES) $(SUPPORT) FLAGS_TO_PASS = \ "prefix=$(prefix)" \ "exec_prefix=$(exec_prefix)" \ "against=$(against)" \ "MAKEINFO=$(MAKEINFO)" \ "INSTALL=$(INSTALL)" \ "INSTALL_PROGRAM=$(INSTALL_PROGRAM)" \ "INSTALL_DATA=$(INSTALL_DATA)" SUBDIRS = doc #### Host, target, and site specific Makefile fragments come in here. ### .c.o: $(CC) -c $(CFLAGS) $(H_CFLAGS) $(DEBUG_FLAGS) $(USG) -I. $(LOCAL_INCLUDES) $(CPPFLAGS) $(READLINE_DEFINES) $< STAGESTUFF = *.o all: libreadline.a check: installcheck: info dvi install-info clean-info: force @$(MAKE) $(FLAGS_TO_PASS) DO=$@ "DODIRS=$(SUBDIRS)" subdir_do subdir_do: force @for i in $(DODIRS); do \ if [ -f ./$$i/Makefile ] ; then \ if (cd ./$$i; \ $(MAKE) $(FLAGS_TO_PASS) $(DO)) ; then true ; \ else exit 1 ; fi ; \ else true ; fi ; \ done history.info: $(srcdir)/history.texi $(MAKEINFO) -o history.info $(srcdir)/history.texi readline.info: $(srcdir)/readline.texi $(srcdir)/inc-read.texi $(MAKEINFO) -o readline.info $(srcdir)/readline.texi libreadline.a: $(OBJECTS) $(RM) -f libreadline.a $(AR) $(AR_FLAGS) libreadline.a $(OBJECTS) $(RANLIB) libreadline.a readline.o: readline.h chardefs.h keymaps.h history.h readline.c vi_mode.c history.o: history.c history.h funmap.o: readline.h keymaps.o: emacs_keymap.c vi_keymap.c keymaps.h chardefs.h keymaps.c tilde.o: $(srcdir)/../glob/tilde.c $(CC) -c $(CFLAGS) $(H_CFLAGS) $(DEBUG_FLAGS) $(USG) -I. $(LOCAL_INCLUDES) $(CPPFLAGS) $(READLINE_DEFINES) $(srcdir)/../glob/tilde.c libtest: libreadline.a libtest.c $(CC) -o libtest $(CFLAGS) $(H_CFLAGS) $(DEBUG_FLAGS) $(USG) -I. $(LOCAL_INCLUDES) $(CPPFLAGS) $(READLINE_DEFINES) -L. libtest.c -lreadline -ltermcap readline: readline.c history.o keymaps.o funmap.o readline.h chardefs.h vi_mode.o $(CC) $(CFLAGS) $(CPPFLAGS) $(READLINE_DEFINES) \ $(LOCAL_INCLUDES) -DTEST -o readline readline.c funmap.o \ keymaps.o history.o vi_mode.o -L. -ltermcap readline.tar: $(THINGS_TO_TAR) tar -cf readline.tar $(THINGS_TO_TAR) readline.tar.Z: readline.tar compress -f readline.tar install: $(INSTALL_DATA) libreadline.a $(libdir)/libreadline.a $(RANLIB) $(libdir)/libreadline.a $(INSTALL_DATA) $(srcdir)/readline.h $(includedir)/readline/readline.h $(INSTALL_DATA) $(srcdir)/keymaps.h $(includedir)/readline/keymaps.h $(INSTALL_DATA) $(srcdir)/chardefs.h $(includedir)/readline/chardefs.h includes: $(INSTALL_FILE) $(srcdir)/readline.h $(includedir)/readline/readline.h $(INSTALL_FILE) $(srcdir)/keymaps.h $(includedir)/readline/keymaps.h $(INSTALL_FILE) $(srcdir)/chardefs.h $(includedir)/readline/chardefs.h local-clean: rm -f $(STAGESTUFF) *.a *.log *.cp *.tp *.vr *.fn rm -f *.aux *.pg *.toc local-distclean: local-clean rm -f Makefile config.status sysdep.h mostlyclean: local-clean @$(MAKE) $(FLAGS_TO_PASS) DO=$@ "DODIRS=$(SUBDIRS)" subdir_do clean: local-clean @$(MAKE) $(FLAGS_TO_PASS) DO=$@ "DODIRS=$(SUBDIRS)" subdir_do distclean: local-distclean @$(MAKE) $(FLAGS_TO_PASS) DO=$@ "DODIRS=$(SUBDIRS)" subdir_do realclean: local-realclean @$(MAKE) $(FLAGS_TO_PASS) DO=$@ "DODIRS=$(SUBDIRS)" subdir_do $(DESTDIR)/libreadline.a: libreadline.a # Copy the object files from a particular stage into a subdirectory. stage1: force -mkdir stage1 -mv $(STAGESTUFF) stage1 stage2: force -mkdir stage2 -mv $(STAGESTUFF) stage2 stage3: force -mkdir stage3 -mv $(STAGESTUFF) stage3 against=stage2 comparison: force for i in $(STAGESTUFF) ; do cmp $$i $(against)/$$i ; done de-stage1: force -(cd stage1 ; mv -f * ..) -rmdir stage1 de-stage2: force -(cd stage2 ; mv -f * ..) -rmdir stage2 de-stage3: force -(cd stage3 ; mv -f * ..) -rmdir stage3 force: # with the gnu make, this is done automatically. Makefile: $(srcdir)/Makefile.in $(host_makefile_frag) $(target_makefile_frag) $(SHELL) ./config.status