2008-01-06 00:55:55 +05:30
|
|
|
# rules to build a library
|
|
|
|
# based on FreeBSD's bsd.lib.mk
|
|
|
|
|
|
|
|
# Copyright 2008 Roy Marples
|
|
|
|
|
2008-01-07 05:00:20 +05:30
|
|
|
LIBNAME?= lib
|
|
|
|
|
2008-01-06 00:55:55 +05:30
|
|
|
SHLIB_NAME= lib${LIB}.so.${SHLIB_MAJOR}
|
|
|
|
SHLIB_LINK= lib${LIB}.so
|
2008-01-07 05:00:20 +05:30
|
|
|
SHLIBDIR?= /${LIBNAME}
|
2008-01-06 00:55:55 +05:30
|
|
|
SONAME?= ${SHLIB_NAME}
|
|
|
|
|
|
|
|
OBJS+= ${SRCS:.c=.o}
|
|
|
|
SOBJS+= ${OBJS:.o=.So}
|
|
|
|
_LIBS= lib${LIB}.a ${SHLIB_NAME}
|
|
|
|
|
|
|
|
ECHO?= echo
|
|
|
|
AR?= ar
|
|
|
|
RANLIB?= ranlib
|
|
|
|
INSTALL?= install
|
|
|
|
|
|
|
|
PICFLAG?= -fPIC
|
|
|
|
|
|
|
|
INCDIR?= /usr/include
|
|
|
|
INCMODE?= 0444
|
|
|
|
|
2008-01-07 05:00:20 +05:30
|
|
|
LIBDIR?= /usr/${LIBNAME}
|
|
|
|
LIBMODE?= 0444
|
|
|
|
|
2008-01-06 00:55:55 +05:30
|
|
|
.SUFFIXES: .So
|
|
|
|
|
|
|
|
.c.So:
|
2008-01-07 15:09:44 +05:30
|
|
|
${CC} ${PICFLAG} -DPIC ${CFLAGS} -c $< -o $@
|
2008-01-06 00:55:55 +05:30
|
|
|
|
2008-01-07 19:50:13 +05:30
|
|
|
all: depend ${_LIBS}
|
2008-01-06 00:55:55 +05:30
|
|
|
|
|
|
|
lib${LIB}.a: ${OBJS} ${STATICOBJS}
|
|
|
|
@${ECHO} building static library $@
|
|
|
|
${AR} rc $@ $^
|
|
|
|
${RANLIB} $@
|
|
|
|
|
2008-01-06 17:08:37 +05:30
|
|
|
${SHLIB_NAME}: ${VERSION_MAP}
|
|
|
|
LDFLAGS+= -Wl,--version-script=${VERSION_MAP}
|
2008-01-06 00:55:55 +05:30
|
|
|
|
|
|
|
${SHLIB_NAME}: ${SOBJS}
|
|
|
|
@${ECHO} building shared library $@
|
|
|
|
@rm -f $@ ${SHLIB_LINK}
|
|
|
|
@ln -fs $@ ${SHLIB_LINK}
|
|
|
|
${CC} ${LDFLAGS} -shared -Wl,-x \
|
|
|
|
-o $@ -Wl,-soname,${SONAME} \
|
|
|
|
${SOBJS} ${LDADD}
|
|
|
|
|
2008-01-07 01:22:43 +05:30
|
|
|
install: all
|
2008-01-07 05:00:20 +05:30
|
|
|
${INSTALL} -d ${DESTDIR}${LIBDIR}
|
|
|
|
${INSTALL} -m ${LIBMODE} lib${LIB}.a ${DESTDIR}${LIBDIR}
|
2008-01-06 00:55:55 +05:30
|
|
|
${INSTALL} -d ${DESTDIR}${SHLIBDIR}
|
|
|
|
${INSTALL} -m ${LIBMODE} ${SHLIB_NAME} ${DESTDIR}${SHLIBDIR}
|
2008-01-10 05:17:15 +05:30
|
|
|
ln -fs ${SHLIB_NAME} ${DESTDIR}${SHLIBDIR}/${SHLIBLINK}
|
2008-01-06 00:55:55 +05:30
|
|
|
${INSTALL} -d ${DESTDIR}${INCDIR}
|
|
|
|
for x in ${INCS}; do ${INSTALL} -m ${INCMODE} $$x ${DESTDIR}${INCDIR}; done
|
|
|
|
|
2008-01-09 17:14:43 +05:30
|
|
|
clean:
|
|
|
|
rm -f ${OBJS} ${SOBJS} ${_LIBS} ${SHLIB_LINK} ${CLEANFILES}
|
2008-01-07 19:50:13 +05:30
|
|
|
|
2008-01-09 17:14:43 +05:30
|
|
|
include ${TOPDIR}/depend.mk
|