|
|
ifeq ($(SRCDIR),) |
|
|
updir = $(shell echo $(dir $(1)) | sed 's/.$$//') |
|
|
SRCDIR := $(call updir,$(CURDIR)) |
|
|
BLDDIR := $(SRCDIR) |
|
|
endif |
|
|
SUBDIR := src |
|
|
|
|
|
include $(BLDDIR)/config.mk |
|
|
|
|
|
default: all |
|
|
|
|
|
SUBDIRS = |
|
|
|
|
|
ifeq ($(ENABLE_CPLUSPLUS),yes) |
|
|
SUBDIRS += cpp |
|
|
endif |
|
|
|
|
|
TARGET_LIBRARY_NAMES := libxmlrpc libxmlrpc_server |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
ifeq ($(ENABLE_ABYSS_SERVER),yes) |
|
|
TARGET_LIBRARY_NAMES += libxmlrpc_server_abyss |
|
|
endif |
|
|
|
|
|
ifeq ($(MUST_BUILD_CLIENT),yes) |
|
|
TARGET_LIBRARY_NAMES += libxmlrpc_client |
|
|
endif |
|
|
|
|
|
ifeq ($(ENABLE_CGI_SERVER),yes) |
|
|
TARGET_LIBRARY_NAMES += libxmlrpc_server_cgi |
|
|
endif |
|
|
|
|
|
STATIC_LIBRARIES_TO_INSTALL = $(TARGET_STATIC_LIBRARIES) |
|
|
|
|
|
SHARED_LIBS_TO_BUILD := $(TARGET_LIBRARY_NAMES) |
|
|
SHARED_LIBS_TO_INSTALL := $(TARGET_LIBRARY_NAMES) |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
TRANSPORT_MODS = |
|
|
TRANSPORT_LIBDEP = |
|
|
TRANSPORT_INCLUDES = |
|
|
ifeq ($(MUST_BUILD_WININET_CLIENT),yes) |
|
|
TRANSPORT_MODS += $(BLDDIR)/lib/wininet_transport/xmlrpc_wininet_transport |
|
|
TRANSPORT_LIBDEP += $(shell wininet-config --libs) |
|
|
TRANSPORT_INCLUDES += -Isrcdir/lib/wininet_transport |
|
|
endif |
|
|
ifeq ($(MUST_BUILD_CURL_CLIENT),yes) |
|
|
TRANSPORT_MODS += $(BLDDIR)/lib/curl_transport/xmlrpc_curl_transport |
|
|
TRANSPORT_MODS += $(BLDDIR)/lib/curl_transport/curltransaction |
|
|
TRANSPORT_MODS += $(BLDDIR)/lib/curl_transport/curlmulti |
|
|
TRANSPORT_LIBDEP += $(shell curl-config --libs) |
|
|
TRANSPORT_INCLUDES += -Isrcdir/lib/curl_transport |
|
|
endif |
|
|
ifeq ($(MUST_BUILD_LIBWWW_CLIENT),yes) |
|
|
TRANSPORT_MODS += $(BLDDIR)/lib/libwww_transport/xmlrpc_libwww_transport |
|
|
TRANSPORT_LIBDEP += $(shell libwww-config --libs) |
|
|
TRANSPORT_INCLUDES += -Isrcdir/lib/libwww_transport |
|
|
endif |
|
|
|
|
|
ifeq ($(ENABLE_LIBXML2_BACKEND),yes) |
|
|
XMLRPC_XML_PARSER = xmlrpc_libxml2 |
|
|
XML_PARSER_LIBDEP = $(shell xml2-config --libs) |
|
|
XML_PARSER_LIBDEP_DEP = |
|
|
XML_PKGCONFIG_REQ = libxml-2.0 |
|
|
else |
|
|
XMLRPC_XML_PARSER = xmlrpc_expat |
|
|
XML_PARSER_LIBDEP = \ |
|
|
-Lblddir/lib/expat/xmlparse -lxmlrpc_xmlparse \ |
|
|
-Lblddir/lib/expat/xmltok -lxmlrpc_xmltok |
|
|
XML_PARSER_LIBDEP_DEP = $(LIBXMLRPC_XMLPARSE) $(LIBXMLRPC_XMLTOK) |
|
|
XML_PKGCONFIG_REQ = xmlrpc_expat |
|
|
endif |
|
|
|
|
|
|
|
|
|
|
|
LIBXMLRPC_MODS = \ |
|
|
base_global \ |
|
|
double \ |
|
|
json \ |
|
|
parse_datetime \ |
|
|
parse_value \ |
|
|
resource \ |
|
|
trace \ |
|
|
version \ |
|
|
xmlrpc_data \ |
|
|
xmlrpc_datetime \ |
|
|
xmlrpc_string \ |
|
|
xmlrpc_array \ |
|
|
xmlrpc_struct \ |
|
|
xmlrpc_build \ |
|
|
xmlrpc_decompose \ |
|
|
$(XMLRPC_XML_PARSER) \ |
|
|
xmlrpc_parse \ |
|
|
xmlrpc_serialize \ |
|
|
xmlrpc_authcookie \ |
|
|
|
|
|
LIBXMLRPC_CLIENT_MODS = xmlrpc_client xmlrpc_client_global xmlrpc_server_info |
|
|
|
|
|
LIBXMLRPC_SERVER_MODS = registry method system_method |
|
|
|
|
|
LIBXMLRPC_SERVER_ABYSS_MODS = xmlrpc_server_abyss abyss_handler |
|
|
|
|
|
LIBXMLRPC_SERVER_CGI_MODS = xmlrpc_server_cgi |
|
|
|
|
|
TARGET_MODS = \ |
|
|
$(LIBXMLRPC_MODS) \ |
|
|
$(LIBXMLRPC_SERVER_MODS) \ |
|
|
$(LIBXMLRPC_SERVER_ABYSS_MODS) \ |
|
|
$(LIBXMLRPC_SERVER_CGI_MODS) \ |
|
|
$(LIBXMLRPC_CLIENT_MODS) \ |
|
|
|
|
|
PKGCONFIG_FILES_TO_INSTALL := \ |
|
|
xmlrpc.pc \ |
|
|
xmlrpc_client.pc \ |
|
|
xmlrpc_server.pc \ |
|
|
xmlrpc_server_abyss.pc \ |
|
|
xmlrpc_server_cgi.pc \ |
|
|
|
|
|
OMIT_XMLRPC_LIB_RULE=Y |
|
|
MAJ=3 |
|
|
|
|
|
|
|
|
include $(SRCDIR)/common.mk |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
$(SRCDIR)/common.mk: srcdir blddir |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
all: \ |
|
|
$(TARGET_STATIC_LIBRARIES) \ |
|
|
$(TARGET_SHARED_LIBRARIES) \ |
|
|
$(TARGET_SHARED_LE_LIBS) \ |
|
|
$(PKGCONFIG_FILES_TO_INSTALL) \ |
|
|
$(SUBDIRS:%=%/all) \ |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
cpp/all: $(TARGET_SHARED_LE_LIBS) |
|
|
|
|
|
ifeq ($MUST_BUILD_CLIENT),yes) |
|
|
cpp/all: $(BLDDIR)/transport_config.h |
|
|
endif |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
LIBXMLRPC = $(call shlibfn, libxmlrpc) |
|
|
|
|
|
$(LIBXMLRPC): $(LIBXMLRPC_MODS:%=%.osh) \ |
|
|
$(LIBXMLRPC_UTIL) \ |
|
|
$(XML_PARSER_LIBDEP_DEP) |
|
|
$(LIBXMLRPC): LIBOBJECTS = $(LIBXMLRPC_MODS:%=%.osh) |
|
|
$(LIBXMLRPC): LIBDEP = \ |
|
|
$(LIBXMLRPC_UTIL_LIBDEP) \ |
|
|
$(XML_PARSER_LIBDEP) |
|
|
|
|
|
LIBXMLRPC_SERVER = $(call shlibfn, libxmlrpc_server) |
|
|
|
|
|
$(LIBXMLRPC_SERVER): \ |
|
|
$(LIBXMLRPC_SERVER_MODS:%=%.osh) \ |
|
|
$(LIBXMLRPC_UTIL) \ |
|
|
$(call shliblefn, libxmlrpc) |
|
|
$(LIBXMLRPC_SERVER): LIBOBJECTS = $(LIBXMLRPC_SERVER_MODS:%=%.osh) |
|
|
$(LIBXMLRPC_SERVER): LIBDEP = \ |
|
|
-L. -lxmlrpc $(XML_PARSER_LIBDEP) $(LIBXMLRPC_UTIL_LIBDEP) |
|
|
|
|
|
LIBXMLRPC_SERVER_ABYSS = $(call shlibfn, libxmlrpc_server_abyss) |
|
|
|
|
|
$(LIBXMLRPC_SERVER_ABYSS): \ |
|
|
$(LIBXMLRPC_SERVER_ABYSS_MODS:%=%.osh) \ |
|
|
$(LIBXMLRPC_UTIL) \ |
|
|
$(LIBXMLRPC_ABYSS) \ |
|
|
$(call shliblefn, libxmlrpc_server) \ |
|
|
$(call shliblefn, libxmlrpc) |
|
|
$(LIBXMLRPC_SERVER_ABYSS): LIBOBJECTS = $(LIBXMLRPC_SERVER_ABYSS_MODS:%=%.osh) |
|
|
$(LIBXMLRPC_SERVER_ABYSS): LIBDEP = \ |
|
|
-L. -lxmlrpc_server \ |
|
|
-L$(LIBXMLRPC_ABYSS_DIR) -lxmlrpc_abyss \ |
|
|
-L. -lxmlrpc $(XML_PARSER_LIBDEP) $(LIBXMLRPC_UTIL_LIBDEP) |
|
|
ifeq ($(MSVCRT),yes) |
|
|
$(LIBXMLRPC_SERVER_ABYSS): LIBDEP += -lws2_32 -lwsock32 |
|
|
endif |
|
|
|
|
|
LIBXMLRPC_SERVER_CGI = $(call shlibfn, libxmlrpc_server_cgi) |
|
|
|
|
|
$(LIBXMLRPC_SERVER_CGI): \ |
|
|
$(LIBXMLRPC_SERVER_CGI_MODS:%=%.osh) \ |
|
|
$(LIBXMRPC_UTIL) \ |
|
|
$(call shliblefn, libxmlrpc_server) \ |
|
|
$(call shliblefn, libxmlrpc) |
|
|
$(LIBXMLRPC_SERVER_CGI): LIBOBJECTS = $(LIBXMLRPC_SERVER_CGI_MODS:%=%.osh) |
|
|
$(LIBXMLRPC_SERVER_CGI): LIBDEP = \ |
|
|
-L. -lxmlrpc_server \ |
|
|
-L. -lxmlrpc $(XML_PARSER_LIBDEP) $(LIBXMLRPC_UTIL_LIBDEP) |
|
|
|
|
|
LIBXMLRPC_CLIENT = $(call shlibfn, libxmlrpc_client) |
|
|
|
|
|
$(LIBXMLRPC_CLIENT): \ |
|
|
$(LIBXMLRPC_CLIENT_MODS:%=%.osh) \ |
|
|
$(TRANSPORT_MODS:%=%.osh) \ |
|
|
$(LIBXMLRPC_UTIL) \ |
|
|
$(call shliblefn, libxmlrpc) |
|
|
$(LIBXMLRPC_CLIENT): LIBOBJECTS = \ |
|
|
$(LIBXMLRPC_CLIENT_MODS:%=%.osh) \ |
|
|
$(TRANSPORT_MODS:%=%.osh) |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
LIBXMLRPC_CLIENT_LIBDEP = \ |
|
|
-Lblddir/src -Lblddir/lib/libutil \ |
|
|
-lxmlrpc -lxmlrpc_util \ |
|
|
$(XML_PARSER_LIBDEP) \ |
|
|
$(TRANSPORT_LIBDEP) \ |
|
|
|
|
|
$(LIBXMLRPC_CLIENT): LIBDEP = \ |
|
|
$(LIBXMLRPC_CLIENT_LIBDEP) \ |
|
|
$(SOCKETLIBOPT) \ |
|
|
$(THREAD_LIBS) \ |
|
|
|
|
|
libxmlrpc.a: $(LIBXMLRPC_MODS:%=%.o) |
|
|
libxmlrpc.a: LIBOBJECTS = $(LIBXMLRPC_MODS:%=%.o) |
|
|
|
|
|
libxmlrpc_server.a: $(LIBXMLRPC_SERVER_MODS:%=%.o) |
|
|
libxmlrpc_server.a: LIBOBJECTS = $(LIBXMLRPC_SERVER_MODS:%=%.o) |
|
|
|
|
|
libxmlrpc_server_abyss.a: $(LIBXMLRPC_SERVER_ABYSS_MODS:%=%.o) |
|
|
libxmlrpc_server_abyss.a: LIBOBJECTS=$(LIBXMLRPC_SERVER_ABYSS_MODS:%=%.o) |
|
|
|
|
|
libxmlrpc_server_cgi.a: $(LIBXMLRPC_SERVER_CGI_MODS:%=%.o) |
|
|
libxmlrpc_server_cgi.a: LIBOBJECTS=$(LIBXMLRPC_SERVER_CGI_MODS:%=%.o) |
|
|
|
|
|
libxmlrpc_client.a: $(LIBXMLRPC_CLIENT_MODS:%=%.o) $(TRANSPORT_MODS:%=%.o) |
|
|
libxmlrpc_client.a: LIBOBJECTS = \ |
|
|
$(LIBXMLRPC_CLIENT_MODS:%=%.o) \ |
|
|
$(TRANSPORT_MODS:%=%.o) |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
BASIC_INCLUDES = \ |
|
|
-Iblddir \ |
|
|
-Iblddir/include \ |
|
|
-Isrcdir/include \ |
|
|
-Isrcdir/lib/util/include \ |
|
|
|
|
|
ifeq ($(ENABLE_LIBXML2_BACKEND),yes) |
|
|
LIBXML_INCLUDES = $(shell xml2-config --cflags) |
|
|
else |
|
|
LIBXML_INCLUDES = -Isrcdir/lib/expat/xmlparse |
|
|
endif |
|
|
|
|
|
$(LIBXMLRPC_MODS:%=%.o) \ |
|
|
$(LIBXMLRPC_MODS:%=%.osh): \ |
|
|
INCLUDES = $(BASIC_INCLUDES) $(LIBXML_INCLUDES) |
|
|
|
|
|
$(LIBXMLRPC_CLIENT_MODS:%=%.o) \ |
|
|
$(LIBXMLRPC_CLIENT_MODS:%=%.osh): \ |
|
|
INCLUDES = $(BASIC_INCLUDES) $(TRANSPORT_INCLUDES) |
|
|
|
|
|
$(LIBXMLRPC_SERVER_MODS:%=%.o) \ |
|
|
$(LIBXMLRPC_SERVER_MODS:%=%.osh): \ |
|
|
INCLUDES = $(BASIC_INCLUDES) |
|
|
|
|
|
$(LIBXMLRPC_SERVER_ABYSS_MODS:%=%.o) \ |
|
|
$(LIBXMLRPC_SERVER_ABYSS_MODS:%=%.osh): \ |
|
|
INCLUDES = $(BASIC_INCLUDES) -Isrcdir/lib/abyss/src |
|
|
|
|
|
$(LIBXMLRPC_SERVER_CGI_MODS:%=%.o) \ |
|
|
$(LIBXMLRPC_SERVER_CGI_MODS:%=%.osh): \ |
|
|
INCLUDES = $(BASIC_INCLUDES) |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
libxmlrpc_client.cflags: |
|
|
echo "$(TRANSPORT_INCLUDES)" >$@ |
|
|
|
|
|
libxmlrpc_client.ldflags: |
|
|
echo "-Lblddir/src -lxmlrpc_client $(LIBXMLRPC_CLIENT_LIBDEP)" >$@ |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
xmlrpc.pc: |
|
|
rm -f $@ |
|
|
@echo "Echoes to '$@' suppressed here ..." |
|
|
@echo "Name: xmlrpc" >>$@ |
|
|
@echo "Description: Xmlrpc-c basic XML-RPC library" >>$@ |
|
|
@echo "Version: $(XMLRPC_VERSION_STRING)" >>$@ |
|
|
@echo >>$@ |
|
|
@echo "Requires: xmlrpc_util $(XML_PKGCONFIG_REQ)" >>$@ |
|
|
@echo "Libs: -L$(LIBDESTDIR) -lxmlrpc" >>$@ |
|
|
@echo "Cflags: -I$(HEADERDESTDIR)" >>$@ |
|
|
|
|
|
xmlrpc_client.pc: |
|
|
rm -f $@ |
|
|
@echo "Echoes to '$@' suppressed here ..." |
|
|
@echo "Name: xmlrpc_client" >>$@ |
|
|
@echo "Description: Xmlrpc-c XML-RPC client library" >>$@ |
|
|
@echo "Version: $(XMLRPC_VERSION_STRING)" >>$@ |
|
|
@echo >>$@ |
|
|
@echo "Requires: xmlrpc xmlrpc_util" >>$@ |
|
|
@echo "Libs: -L$(LIBDESTDIR) -lxmlrpc_client" >>$@ |
|
|
@echo "Cflags: -I$(HEADERDESTDIR)" >>$@ |
|
|
|
|
|
xmlrpc_server.pc: |
|
|
rm -f $@ |
|
|
@echo "Echoes to '$@' suppressed here ..." |
|
|
@echo "Name: xmlrpc_server" >>$@ |
|
|
@echo "Description: Xmlrpc-c XML-RPC server library" >>$@ |
|
|
@echo "Version: $(XMLRPC_VERSION_STRING)" >>$@ |
|
|
@echo >>$@ |
|
|
@echo "Requires: xmlrpc xmlrpc_util" >>$@ |
|
|
@echo "Libs: -L$(LIBDESTDIR) -lxmlrpc_server" >>$@ |
|
|
@echo "Cflags: -I$(HEADERDESTDIR)" >>$@ |
|
|
|
|
|
xmlrpc_server_abyss.pc: |
|
|
rm -f $@ |
|
|
@echo "Echoes to '$@' suppressed here ..." |
|
|
@echo "Name: xmlrpc_server_abyss" >>$@ |
|
|
@echo "Description: Xmlrpc-c Abyss XML-RPC server library" >>$@ |
|
|
@echo "Version: $(XMLRPC_VERSION_STRING)" >>$@ |
|
|
@echo >>$@ |
|
|
@echo "Requires: xmlrpc xmlrpc_server xmlrpc_abyss xmlrpc_util" >>$@ |
|
|
@echo "Libs: -L$(LIBDESTDIR) -lxmlrpc_server_abyss" >>$@ |
|
|
@echo "Cflags: -I$(HEADERDESTDIR)" >>$@ |
|
|
|
|
|
xmlrpc_server_cgi.pc: |
|
|
rm -f $@ |
|
|
@echo "Echoes to '$@' suppressed here ..." |
|
|
@echo "Name: xmlrpc_server_cgi" >>$@ |
|
|
@echo "Description: Xmlrpc-c CGI XML-RPC server library" >>$@ |
|
|
@echo "Version: $(XMLRPC_VERSION_STRING)" >>$@ |
|
|
@echo >>$@ |
|
|
@echo "Requires: xmlrpc xmlrpc_server xmlrpc_util" >>$@ |
|
|
@echo "Libs: -L$(LIBDESTDIR) -lxmlrpc_server_cgi" >>$@ |
|
|
@echo "Cflags: -I$(HEADERDESTDIR)" >>$@ |
|
|
|
|
|
.PHONY: check |
|
|
check: |
|
|
|
|
|
.PHONY: install |
|
|
install: install-common $(SUBDIRS:%=%/install) |
|
|
|
|
|
.PHONY: uninstall |
|
|
uninstall: uninstall-common $(SUBDIRS:%=%/uninstall) |
|
|
|
|
|
.PHONY: clean clean-local distclean distclean-local |
|
|
clean: $(SUBDIRS:%=%/clean) clean-common clean-local |
|
|
clean-local: |
|
|
|
|
|
distclean: $(SUBDIRS:%=%/distclean) \ |
|
|
clean-common \ |
|
|
clean-local \ |
|
|
distclean-local \ |
|
|
distclean-common \ |
|
|
|
|
|
distclean-local: |
|
|
rm -f *.cflags *.ldflags |
|
|
|
|
|
.PHONY: dep |
|
|
dep: $(SUBDIRS:%=%/dep) $(BLDDIR)/transport_config.h dep-common |
|
|
|
|
|
dep-common: |
|
|
INCLUDES = $(BASIC_INCLUDES) $(TRANSPORT_INCLUDES) $(LIBXML_INCLUDES) |
|
|
|
|
|
xmlrpc_client.o xmlrpc_client.osh: $(BLDDIR)/transport_config.h |
|
|
xmlrpc_client.o xmlrpc_client.osh: $(BLDDIR)/version.h |
|
|
registry.o registry.osh: $(BLDDIR)/version.h |
|
|
version.o version.osh: $(BLDDIR)/version.h |
|
|
|
|
|
include depend.mk |
|
|
|