diff --git a/buildsys.mk.in b/buildsys.mk.in index 59220e9..ac196ad 100644 --- a/buildsys.mk.in +++ b/buildsys.mk.in @@ -102,7 +102,7 @@ MO_FILES = ${LOCALES:.po=.mo} all: ${MAKE} ${MFLAGS} subdirs ${MAKE} ${MFLAGS} depend - ${MAKE} ${STATIC_LIB} ${STATIC_LIB_NOINST} ${LIB} ${LIB_NOINST} ${PLUGIN} ${PLUGIN_NOINST} ${PROG} ${PROG_NOINST} locales + ${MAKE} ${STATIC_LIB} ${STATIC_LIB_NOINST} ${STATIC_PIC_LIB} ${STATIC_PIC_LIB_NOINST} ${LIB} ${LIB_NOINST} ${PLUGIN} ${PLUGIN_NOINST} ${PROG} ${PROG_NOINST} locales subdirs: for i in ${SUBDIRS}; do \ @@ -151,19 +151,12 @@ ${PROG} ${PROG_NOINST}: ${EXT_DEPS} ${OBJS} fi ${LIB} ${LIB_NOINST}: ${EXT_DEPS} ${LIB_OBJS} - case $@ in \ - *.a) \ - ${MAKE} ${MFLAGS} STATIC_LIB=${LIB} LIB= $@ || exit 1 \ - ;; \ - *) \ - ${LINK_STATUS}; \ - if ${LD} -o $@ ${LIB_OBJS} ${LIB_LDFLAGS} ${LDFLAGS} ${LIBS}; then \ - ${LINK_OK}; \ - else \ - ${LINK_FAILED}; \ - fi \ - ;; \ - esac + ${LINK_STATUS}; \ + if ${LD} -o $@ ${LIB_OBJS} ${LIB_LDFLAGS} ${LDFLAGS} ${LIBS}; then \ + ${LINK_OK}; \ + else \ + ${LINK_FAILED}; \ + fi \ ${PLUGIN} ${PLUGIN_NOINST}: ${EXT_DEPS} ${PLUGIN_OBJS} ${LINK_STATUS} @@ -210,6 +203,15 @@ ${STATIC_LIB} ${STATIC_LIB_NOINST}: ${EXT_DEPS} ${OBJS} rm -fr $$dir; \ done +${STATIC_PIC_LIB} ${STATIC_PIC_LIB_NOINST}: ${EXT_DEPS} ${LIB_OBJS} + ${LINK_STATUS} + if ${AR} cr $@ ${LIB_OBJS} && ${RANLIB} $@; then \ + ${LINK_OK}; \ + else \ + ${LINK_FAILED}; \ + rm -f $@; \ + fi + locales: ${MO_FILES} .c.o: @@ -384,7 +386,7 @@ locales: ${MO_FILES} ${COMPILE_PLUGIN_FAILED}; \ fi -install: ${LIB} ${STATIC_LIB} ${PLUGIN} ${PROG} install-extra +install: ${LIB} ${STATIC_LIB} ${STATIC_PIC_LIB} ${PLUGIN} ${PROG} install-extra for i in ${SUBDIRS}; do \ ${DIR_ENTER}; \ ${MAKE} ${MFLAGS} install || exit 1; \ @@ -400,7 +402,7 @@ install: ${LIB} ${STATIC_LIB} ${PLUGIN} ${PROG} install-extra fi \ done - for i in ${STATIC_LIB}; do \ + for i in ${STATIC_LIB} ${STATIC_PIC_LIB}; do \ ${INSTALL_STATUS}; \ if ${MKDIR_P} ${DESTDIR}${libdir} && ${INSTALL} -m 644 $$i ${DESTDIR}${libdir}/$$i; then \ ${INSTALL_OK}; \ @@ -482,7 +484,7 @@ uninstall: uninstall-extra fi; \ done - for i in ${STATIC_LIB}; do \ + for i in ${STATIC_LIB} ${STATIC_PIC_LIB}; do \ if test -f ${DESTDIR}${libdir}/$$i; then \ if rm -f ${DESTDIR}${libdir}/$$i; then \ ${DELETE_OK}; \ @@ -565,7 +567,7 @@ clean: ${DIR_LEAVE}; \ done - for i in ${DEPS} ${OBJS} ${LIB_OBJS} ${PLUGIN_OBJS} ${PROG} ${PROG_NOINST} ${LIB} ${LIB_NOINST} ${STATIC_LIB} ${STATIC_LIB_NOINST} ${PLUGIN} ${PLUGIN_NOINST} ${CLEAN_LIB} ${MO_FILES} ${CLEAN}; do \ + for i in ${DEPS} ${OBJS} ${LIB_OBJS} ${PLUGIN_OBJS} ${PROG} ${PROG_NOINST} ${LIB} ${LIB_NOINST} ${STATIC_LIB} ${STATIC_LIB_NOINST} ${STATIC_PIC_LIB} ${STATIC_PIC_LIB_NOINST} ${PLUGIN} ${PLUGIN_NOINST} ${CLEAN_LIB} ${MO_FILES} ${CLEAN}; do \ if test -f $$i -o -d $$i; then \ if rm -fr $$i; then \ ${DELETE_OK}; \