1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114
|
#
# Makefile for libtermcap. It is intended for Linux/ELF only.
#
LIBNAME=termcap
VERSION=2.0.8
SONAME_VERSION=2
CC=gcc
CFLAGS=-O -I. -g
CFLAGS=-O -I.
AR=ar
ARFLAGS=ucvr
MAKEINFO=makeinfo
OWNER=bin.bin
STATIC_LIB=lib$(LIBNAME).a
SHARED_LIB=lib$(LIBNAME).so.$(VERSION)
SONAME_SHARED_LIB=lib$(LIBNAME).so.$(SONAME_VERSION)
TARGETS=$(STATIC_LIB) $(SHARED_LIB)
# Where is include and dir located?
prefix=/
.c.o:
$(CC) $(CFLAGS) -c $<
$(CC) $(CFLAGS) -fPIC -c $< -o pic/$@
SRCS = termcap.c tparam.c version.c
OBJS= $(SRCS:.c=.o)
all lib: pic .depend $(TARGETS) info
$(STATIC_LIB): $(OBJS)
$(AR) $(ARFLAGS) $@ $(OBJS)
$(SHARED_LIB): $(OBJS)
cd pic; \
$(CC) -lc -shared -o ../$@ -Wl,-soname,$(SONAME_SHARED_LIB) $(OBJS)
pic:
-if [ ! -d pic ]; then mkdir pic; fi
install: lib install-dirs install-data
-if [ -f $(prefix)/lib/$(SHARED_LIB) ]; then \
mkdir -p $(prefix)/lib/backup; \
mv $(prefix)/lib/$(SHARED_LIB) \
$(prefix)/lib/backup/$(SHARED_LIB).$$$$; \
fi
cp $(SHARED_LIB) $(prefix)/lib
chown $(OWNER) $(prefix)/lib/$(SHARED_LIB)
if [ -x /sbin/ldconfig -o -x /etc/ldconfig ]; then \
ldconfig; \
fi
-if [ $(prefix) = "/" ]; then \
cp -f $(STATIC_LIB) /usr/lib; \
rm -f /lib/libtermcap.so; \
rm -f /usr/lib/libtermcap.so; \
ln -s /lib/$(SHARED_LIB) /usr/lib/libtermcap.so; \
cp -f termcap.h /usr/include; \
cp termcap.info* /usr/info; \
chown $(OWNER) \
/usr/info/termcap.info* \
/usr/lib/$(STATIC_LIB) \
/usr/lib/libtermcap.so \
/usr/include/termcap.h; \
else \
cp -f $(STATIC_LIB) $(prefix)/lib; \
rm -f $(prefix)/lib/libtermcap.so; \
ln -s $(prefix)/lib/$(SHARED_LIB) \
$(prefix)/lib/libtermcap.so; \
cp -f termcap.h $(prefix)/include; \
chown $(OWNER) \
$(prefix)/lib/$(STATIC_LIB) \
$(prefix)/lib/libtermcap.so \
$(prefix)/include/termcap.h; \
fi
install-dirs:
-if [ $(prefix) = "/" ]; then \
mkdir -p /usr/lib /usr/info /usr/include /etc /lib; \
fi
install-data:
-if [ $(prefix) = "/" ]; then \
cp termcap.src /etc/termcap; \
chown $(OWNER) /etc/termcap; \
fi
info: termcap.info
termcap.info: termcap.texi
$(MAKEINFO) termcap.texi --output=$@
clean:
-rm -fr core a.out *.o pic $(TARGETS)
distclean: clean
-rm -f .depend
depend: .depend
.depend: $(SRCS) Makefile
$(CC) $(CFLAGS) -M $(SRCS) | \
sed -e 's,^[ ]*\(.*\.o\)[ ]*:,\1 pic/\1:,' > .depend
ifeq (.depend,$(wildcard .depend))
include .depend
endif
|