1 # rules to build a library
3 include ${TOPDIR}/config.mk
5 SHLIB= lib${LIB}.so.${SHLIB_MAJOR}
6 SHLIB_LINK= lib${LIB}.so
11 SOBJS+= ${OBJS:.o=.So}
12 LIBS?= ${LIBNAME} ${SHLIB}
14 CLEANFILES+= ${OBJS} ${SOBJS} ${LIBS} ${SHLIB_LINK}
16 LIBINSTALL?= _libinstall
21 ${CC} ${CFLAGS} ${CPPFLAGS} -c $< -o $@
24 ${CC} ${PICFLAG} -DPIC ${CPPFLAGS} ${CFLAGS} -c $< -o $@
28 ${LIBNAME}: ${OBJS} ${STATICOBJS}
29 @${ECHO} building static library $@
30 ${AR} cr $@ ${STATICOBJS} ${OBJS}
34 @${ECHO} building shared library $@
35 @rm -f $@ ${SHLIB_LINK}
36 @ln -fs $@ ${SHLIB_LINK}
37 ${CC} ${LDFLAGS} -shared -Wl,-x -o $@ -Wl,-soname,${SONAME} \
41 ${INSTALL} -d ${DESTDIR}${LIBDIR}
42 ${INSTALL} -m ${LIBMODE} ${LIBNAME} ${DESTDIR}${LIBDIR}
43 ${INSTALL} -d ${DESTDIR}${SHLIBDIR}
44 ${INSTALL} -m ${LIBMODE} ${SHLIB} ${DESTDIR}${SHLIBDIR}
45 ln -fs ${SHLIB} ${DESTDIR}${SHLIBDIR}/${SHLIB_LINK}
46 ${INSTALL} -d ${DESTDIR}${INCDIR}
47 for x in ${INCS}; do ${INSTALL} -m ${INCMODE} $$x ${DESTDIR}${INCDIR}; done
49 install: ${LIBINSTALL}
52 rm -f ${OBJS} ${SOBJS} ${LIBS} ${SHLIB_LINK} ${CLEANFILES}
56 ${SED} -e 's/^\([^\.]*\).o[ ]*:/\1.o \1.So:/' .depend > $${TMP}; \
59 include ${MKDIR}/sys.mk
60 include ${MKDIR}/depend.mk