Документ взят из кэша поисковой машины. Адрес оригинального документа : http://www.sai.msu.su/~megera/tips/readline/Makefile.in
Дата изменения: Wed Aug 14 14:50:49 1996
Дата индексирования: Sat Dec 22 06:59:27 2007
Кодировка:
# Master Makefile for the GNU readline library.
# Copyright (C) 1994 Free Software Foundation, Inc.

# This program 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, 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.

srcdir = @srcdir@
VPATH = @srcdir@

prefix = /usr/local
exec_prefix = $(prefix)
bindir = $(exec_prefix)/bin
libdir = $(exec_prefix)/lib
incdir = $(exec_prefix)/include
mandir = $(prefix)/man/man1

SHELL = /bin/sh

INSTALL = @INSTALL@
INSTALL_PROGRAM = @INSTALL_PROGRAM@
INSTALL_DATA = @INSTALL_DATA@

RANLIB = @RANLIB@
AR = ar
RM = rm
CP = cp
MV = mv

DEFS = @DEFS@
CFLAGS = -O -m486
LDFLAGS =

# For libraries which include headers from other libraries.
INCLUDES = -I. -I$(srcdir)

CPPFLAGS = $(DEFS) $(INCLUDES)

PICFLAG= -fpic # -fpic for some versions of gcc
SHLIB_OPTS= -assert pure-text -rdynamic -ldl # -Bshareable for some versions of gcc
MAJOR= 2
MINOR= .0

.SUFFIXES: .so
.c.o:
$(CC) -c $(CPPFLAGS) $(CFLAGS) $<

.c.so:
-mv $*.o z$*.o
$(CC) -c $(PICFLAG) $(CPPFLAGS) $(CFLAGS) $<
mv $*.o $@
-mv z$*.o $*.o

# The name of the main library target.
LIBRARY_NAME = libreadline.a
SHARED_READLINE = libreadline.so.$(MAJOR)$(MINOR)
SHARED_HISTORY = libhistory.so.$(MAJOR)$(MINOR)
SHARED_LIBS = $(SHARED_READLINE) $(SHARED_HISTORY)

# The C code source files for this library.
CSOURCES = $(srcdir)readline.c $(srcdir)funmap.c $(srcdir)keymaps.c \
$(srcdir)vi_mode.c $(srcdir)parens.c $(srcdir)rltty.c \
$(srcdir)complete.c $(srcdir)bind.c $(srcdir)isearch.c \
$(srcdir)display.c $(srcdir)signals.c $(srcdir)emacs_keymap.c \
$(srcdir)vi_keymap.c $(srcdir)history.c $(srcdir)tilde.c \
$(srcdir)xmalloc.c

# The header files for this library.
HSOURCES = readline.h rldefs.h chardefs.h keymaps.h history.h \
posixstat.h tilde.h rlconf.h

INSTALLED_HEADERS = readline.h chardefs.h keymaps.h history.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

SHARED_OBJ = readline.so vi_mode.so funmap.so keymaps.so parens.so search.so \
rltty.so complete.so bind.so isearch.so display.so signals.so \
history.so tilde.so xmalloc.so

# The texinfo files which document this library.
DOCSOURCE = doc/rlman.texinfo doc/rltech.texinfo doc/rluser.texinfo
DOCOBJECT = doc/readline.dvi
DOCSUPPORT = doc/Makefile
DOCUMENTATION = $(DOCSOURCE) $(DOCOBJECT) $(DOCSUPPORT)

SUPPORT = Makefile ChangeLog $(DOCSUPPORT) examples/[-a-z.]*

SOURCES = $(CSOURCES) $(HSOURCES) $(DOCSOURCE)

THINGS_TO_TAR = $(SOURCES) $(SUPPORT)

##########################################################################

all: libreadline.a libhistory.a
shared: $(SHARED_LIBS)

libreadline.a: $(OBJECTS)
$(RM) -f $@
$(AR) cq $@ $(OBJECTS)
-$(RANLIB) $@

libhistory.a: history.o
$(RM) -f $@
$(AR) cq $@ history.o
-$(RANLIB) $@

$(SHARED_READLINE): $(SHARED_OBJ)
$(RM) -f $@
ld ${SHLIB_OPTS} -o $@ $(SHARED_OBJ)

$(SHARED_HISTORY): history.so
$(RM) -f $@
ld ${SHLIB_OPTS} -o $@ history.so

documentation: force
[ ! -d doc ] && mkdir doc
(if [ -d doc ]; then cd doc; $(MAKE) $(MFLAGS); fi)

force:

install: installdirs libreadline.a
$(INSTALL_DATA) $(INSTALLED_HEADERS) $(incdir)/readline
-$(MV) $(libdir)/libreadline.a $(libdir)/libreadline.old
$(INSTALL_DATA) libreadline.a $(libdir)/libreadline.a
-$(RANLIB) -t $(libdir)/libreadline.a

installdirs:
[ ! -d $(incdir)/readline ] && { \
mkdir $(incdir)/readline && chmod 755 $(incdir)/readline; }
[ ! -d $(libdir) ] && mkdir $(libdir)

uninstall:
[ -n "$(incdir)" ] && cd $(incdir)/readline && \
${RM} -f ${INSTALLED_HEADERS}
[ -n "$(libdir)" ] && cd $(libdir) && \
${RM} -f libreadline.a libreadline.old $(SHARED_LIBS)

clean::
rm -f $(OBJECTS) *.a $(SHARED_OBJ) $(SHARED_LIBS)
(if [ -d doc ]; then cd doc; $(MAKE) $(MFLAGS) $@; fi)

readline: readline.h rldefs.h chardefs.h
readline: $(OBJECTS)
$(CC) $(CFLAGS) $(CPPFLAGS) $(READLINE_DEFINES) \
$(LOCAL_INCLUDES) -DTEST -o readline readline.c vi_mode.o funmap.o \
keymaps.o -ltermcap

info:
install-info:
dvi:
check:
installcheck:

tags: force
etags $(CSOURCES) $(HSOURCES)

TAGS: force
ctags -x $(CSOURCES) $(HSOURCES) > $@

Makefile: config.status $(srcdir)/Makefile.in
$(SHELL) config.status

config.status: configure
$(SHELL) config.status --recheck

configure: configure.in ## Comment-me-out in distribution
cd $(srcdir); autoconf ## Comment-me-out in distribution
config.h.in: configure.in ## Comment-me-out in distribution
cd $(srcdir); autoheader ## Comment-me-out in distribution

mostlyclean: clean

distclean realclean: clean
rm -f Makefile config.status config.h stamp-config

# Tell versions [3.59,3.63) of GNU make not to export all variables.
# Otherwise a system limit (for SysV at least) may be exceeded.
.NOEXPORT:

# Dependencies
readline.o: readline.c readline.h rldefs.h rlconf.h chardefs.h
readline.o: keymaps.h history.h
vi_mode.o: rldefs.h rlconf.h readline.h history.h
funmap.o: funmap.c readline.h rlconf.h
keymaps.o: keymaps.c emacs_keymap.c vi_keymap.c keymaps.h chardefs.h rlconf.h
history.o: history.h memalloc.h
isearch.o: memalloc.h readline.h history.h
search.o: memalloc.h readline.h history.h
display.o: readline.h history.h rldefs.h rlconf.h
complete.o: readline.h rldefs.h rlconf.h
rltty.o: rldefs.h rlconf.h readline.h
bind.o: rldefs.h rlconf.h readline.h history.h
signals.o: rldefs.h rlconf.h readline.h history.h
parens.o: readline.h