2008-01-06 00:55:55 +05:30
|
|
|
# rules to build a library
|
|
|
|
# based on FreeBSD's bsd.lib.mk
|
|
|
|
|
2015-12-05 04:22:19 +05:30
|
|
|
# Copyright (c) 2008-2015 The OpenRC Authors.
|
|
|
|
# See the Authors file at the top-level directory of this distribution and
|
2021-12-21 06:37:00 +05:30
|
|
|
# https://github.com/OpenRC/openrc/blob/HEAD/AUTHORS
|
2015-12-05 04:22:19 +05:30
|
|
|
#
|
|
|
|
# This file is part of OpenRC. It is subject to the license terms in
|
|
|
|
# the LICENSE file found in the top-level directory of this
|
2021-12-21 06:37:00 +05:30
|
|
|
# distribution and at https://github.com/OpenRC/openrc/blob/HEAD/LICENSE
|
2015-12-05 04:22:19 +05:30
|
|
|
# This file may not be copied, modified, propagated, or distributed
|
|
|
|
# except according to the terms contained in the LICENSE file.
|
2008-01-06 00:55:55 +05:30
|
|
|
|
|
|
|
SHLIB_NAME= lib${LIB}.so.${SHLIB_MAJOR}
|
|
|
|
SHLIB_LINK= lib${LIB}.so
|
|
|
|
SONAME?= ${SHLIB_NAME}
|
|
|
|
|
2011-11-18 06:26:53 +05:30
|
|
|
SOBJS+= ${SRCS:.c=.So}
|
|
|
|
|
|
|
|
MKSTATICLIBS?= yes
|
|
|
|
ifeq (${MKSTATICLIBS},yes)
|
2008-01-06 00:55:55 +05:30
|
|
|
OBJS+= ${SRCS:.c=.o}
|
2011-11-18 06:26:53 +05:30
|
|
|
_LIBS+= lib${LIB}.a
|
|
|
|
endif
|
|
|
|
|
|
|
|
_LIBS+= ${SHLIB_NAME}
|
2008-01-06 00:55:55 +05:30
|
|
|
|
2008-03-03 18:34:08 +05:30
|
|
|
CLEANFILES+= ${OBJS} ${SOBJS} ${_LIBS} ${SHLIB_LINK}
|
|
|
|
|
2011-10-28 21:44:44 +05:30
|
|
|
%.o: %.c
|
2015-01-22 20:13:28 +05:30
|
|
|
${CC} ${LOCAL_CFLAGS} ${LOCAL_CPPFLAGS} ${CFLAGS} ${CPPFLAGS} -c $< -o $@
|
2008-10-15 14:32:27 +05:30
|
|
|
|
2011-10-28 21:44:44 +05:30
|
|
|
%.So: %.c
|
2015-01-22 20:13:28 +05:30
|
|
|
${CC} ${PICFLAG} -DPIC ${LOCAL_CFLAGS} ${LOCAL_CPPFLAGS} ${CPPFLAGS} ${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}
|
2015-01-22 20:13:28 +05:30
|
|
|
${CC} ${LOCAL_CFLAGS} ${CFLAGS} ${LOCAL_LDFLAGS} ${LDFLAGS} -shared -Wl,-x \
|
2008-01-06 00:55:55 +05:30
|
|
|
-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}
|
2021-03-22 03:49:56 +05:30
|
|
|
ifeq (${MKSTATICLIBS},yes)
|
2008-01-07 05:00:20 +05:30
|
|
|
${INSTALL} -m ${LIBMODE} lib${LIB}.a ${DESTDIR}${LIBDIR}
|
2011-11-18 06:26:53 +05:30
|
|
|
endif
|
2021-03-22 03:49:56 +05:30
|
|
|
${INSTALL} -m ${LIBMODE} ${SHLIB_NAME} ${DESTDIR}${LIBDIR}
|
|
|
|
ln -fs ${SHLIB_NAME} ${DESTDIR}${LIBDIR}/${SHLIB_LINK}
|
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-03-24 11:40:40 +05:30
|
|
|
check test::
|
|
|
|
|
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-10-20 17:39:14 +05:30
|
|
|
extra_depend:
|
|
|
|
@TMP=depend.$$$$; \
|
|
|
|
${SED} -e 's/^\([^\.]*\).o[ ]*:/\1.o \1.So:/' .depend > $${TMP}; \
|
|
|
|
mv $${TMP} .depend
|
|
|
|
|
2008-01-11 21:33:38 +05:30
|
|
|
include ${MK}/sys.mk
|
2008-03-19 20:52:20 +05:30
|
|
|
include ${MK}/os.mk
|
2008-01-10 22:05:59 +05:30
|
|
|
include ${MK}/depend.mk
|
2009-04-30 19:35:39 +05:30
|
|
|
include ${MK}/gitignore.mk
|