PREFIX?= /usr/local
AR= /usr/bin/ar
CC= /usr/bin/cc
INSTALL= /usr/bin/install
LN= /bin/ln
RANLIB= /usr/bin/ranlib
CFLAGS= -DPOSIX -O
LDFLAGS=
INST_INCDIR= $(PREFIX)/include
INST_LIBDIR= $(PREFIX)/lib
INST_MANDIR= $(PREFIX)/man
SHLIB_VERSION = 1
SHLIB_CFLAGS = -fpic -DPIC
SHLIB_LDFLAGS = -shared
SHLIB_TGT = $(INST_LIBDIR)/libgetline.so.$(SHLIB_VERSION)
SHLIB_TGT_SPEC = -Wl,-h$(SHLIB_TGT)
all: libgetline.a libgetline.so.$(SHLIB_VERSION)
# try this after installing to check the installed static library
testgl: libgetline.a testgl.o
$(CC) $(LDFLAGS) $(CFLAGS) -o testgl testgl.o -L$(INST_MANDIR) -lgetline
testgl.o: testgl.c getline.h
libgetline.a: getline.o
$(AR) cr libgetline.a getline.o
-$(RANLIB) libgetline.a
getline.o: getline.c getline.h
libgetline.so.1: getline.So
$(CC) $(SHLIB_LDFLAGS) $(SHLIB_TGT_SPEC) -o libgetline.so.1 getline.So
getline.So: getline.c getline.h
$(CC) -c $(LDFLAGS) $(CFLAGS) $(SHLIB_CFLAGS) -o getline.So getline.c
clean:
rm -f testgl *.o *.So *.a *.so.1
install:
[ -d $(INST_LIBDIR) ] || $(INSTALL) -d $(INST_LIBDIR)
$(INSTALL) -c -g bin -o bin -m 644 libgetline.a libgetline.so.1 \
$(INST_LIBDIR)
$(LN) -fs $(INST_LIBDIR)/libgetline.so.$(SHLIB_VERSION) \
$(INST_LIBDIR)/libgetline.so
[ -d $(INST_MANDIR)/man3 ] || $(INSTALL) -d $(INST_MANDIR)/man3
$(INSTALL) -c -g bin -o bin -m 644 getline.3 $(INST_MANDIR)/man3
[ -d $(INST_INCDIR) ] || $(INSTALL) -d $(INST_INCDIR)
$(INSTALL) -c -g bin -o bin -m 644 getline.h $(INST_INCDIR)
syntax highlighted by Code2HTML, v. 0.9.1