1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130 131 132 133 134 135 136 137 138 139
|
###############################################################################
# This directory builds libxmlrpc_util, which contains utility
# functions that are used by the Xmlprc-c libraries, and also
# directly by Xmlrpc-c programs. Some of them are documented for use
# by Xmlrpc-c users, as facilities of the libxmlrpc library (which
# prerequires libxmlrpc_util).
#
# The functions in this library are characterized by being general purpose
# programming functions, such as one might wish were in the standard C
# library, which have nothing in particular to do with XML-RPC.
###############################################################################
ifeq ($(SRCDIR),)
updir = $(shell echo $(dir $(1)) | sed 's/.$$//')
LIBDIR := $(call updir,$(CURDIR))
SRCDIR := $(call updir,$(LIBDIR))
BLDDIR := $(SRCDIR)
endif
SUBDIR := lib/libutil
include $(BLDDIR)/config.mk
default: all
TARGET_LIBRARY_NAMES := libxmlrpc_util
STATIC_LIBRARIES_TO_INSTALL = libxmlrpc_util.a
SHARED_LIBS_TO_BUILD := libxmlrpc_util
SHARED_LIBS_TO_INSTALL := libxmlrpc_util
ifeq ($(HAVE_PTHREAD),yes)
LOCK_PTHREAD = lock_pthread
else
LOCK_PTHREAD =
endif
ifeq ($(MSVCRT),yes)
LOCK_WINDOWS = lock_windows
else
LOCK_WINDOWS =
endif
TARGET_MODS = \
asprintf \
base64 \
error \
lock_platform \
$(LOCK_PTHREAD) \
$(LOCK_WINDOWS) \
lock_none \
make_printable \
memblock \
mempool \
select \
sleep \
string_number \
time \
utf8 \
OMIT_LIBXMLRPC_UTIL_RULE=Y
MAJ=4
# Major number of shared libraries in this directory
include $(SRCDIR)/common.mk
INCLUDES = -I$(BLDDIR) -Isrcdir \
-I$(BLDDIR)/include -Isrcdir/include -Isrcdir/lib/util/include
UTIL_SHLIB = $(call shlibfn,libxmlrpc_util)
#UTIL_SHLIB is e.g. libxmlrpc_util.so.3.1
UTIL_SHLIBLE = $(call shliblefn,libxmlrpc_util)
#UTIL_SHLIBLE is e.g. libxmlrpc_util.so
PKGCONFIG_FILES_TO_INSTALL := xmlrpc_util.pc
# This 'common.mk' dependency makes sure the symlinks get built before
# this make file is used for anything.
$(SRCDIR)/common.mk: srcdir blddir
.PHONY: all
all: libxmlrpc_util.a \
$(TARGET_SHARED_LIBRARIES) \
$(TARGET_SHARED_LE_LIBS) \
$(PKGCONFIG_FILES_TO_INSTALL) \
# Rule for this is in common.mk, courtesy of TARGET_LIBRARY_NAMES:
$(UTIL_SHLIB): $(TARGET_MODS:%=%.osh)
$(UTIL_SHLIB): LIBOBJECTS = $(TARGET_MODS:%=%.osh)
$(UTIL_SHLIB): LIBDEP += $(SOCKET_LIBOPT) $(THREAD_LIBS)
# Rule for this is in common.mk, courtesy of TARGET_LIBRARY_NAMES:
libxmlrpc_util.a: $(TARGET_MODS:%=%.o)
libxmlrpc_util.a: LIBOBJECTS = $(TARGET_MODS:%=%.o)
#-----------------------------------------------------------------------------
# RULES TO COMPILE OBJECT MODULES FOR LIBRARIES
#-----------------------------------------------------------------------------
# Rules to compile object modules from which to build the static and shared
# library are in common.mk, courtesy of TARGET_MODS.
#-----------------------------------------------------------------------------
# RULES TO MAKE PKGCONFIG FILES
#
# (These are files used by the 'pkg-config' program to get information about
# using the libraries we build)
#-----------------------------------------------------------------------------
xmlrpc_util.pc:
rm -f $@
@echo "Echoes to '$@' suppressed here ..."
@echo -e '$(PKGCONFIG_VAR_SET)' >>$@
@echo >>$@
@echo "Name: xmlrpc_util" >>$@
@echo "Description: Xmlrpc-c utility functions library" >>$@
@echo "Version: $(XMLRPC_VERSION_STRING)" >>$@
@echo >>$@
@echo "Requires: " >>$@
@echo 'Libs: -L$${libdir} -lxmlrpc_util' >>$@
@echo 'Cflags: -I$${includedir}' >>$@
.PHONY: install
install: install-common
.PHONY: uninstall
uninstall: uninstall-common
.PHONY: clean distclean
clean: clean-common
distclean: clean distclean-common
.PHONY: dep
dep: dep-common
include depend.mk
|