123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154 |
- ifeq ($(SRCDIR),)
- updir = $(shell echo $(dir $(1)) | sed 's/.$$//')
- SRCDIR := $(call updir,$(CURDIR))
- BLDDIR := $(SRCDIR)
- endif
- SUBDIR := include
- include $(BLDDIR)/config.mk
- default: all
- all: xmlrpc-c/config.h
- xmlrpc-c/config.h: $(BLDDIR)/$(SUBDIR)/xmlrpc-c
- >$@
- @echo "Lots of echoes to '$@' suppressed here ..."
- @echo '#ifndef XMLRPC_C_CONFIG_H_INCLUDED' >>$@
- @echo '#define XMLRPC_C_CONFIG_H_INCLUDED' >>$@
- @echo '' >>$@
- @echo '/* This file, part of XML-RPC For C/C++, is meant to ' >>$@
- @echo ' define characteristics of this particular installation '>>$@
- @echo ' that the other <xmlrpc-c/...> header files need in ' >>$@
- @echo ' order to compile correctly when #included in Xmlrpc-c' >>$@
- @echo ' user code.' >>$@
- @echo '' >>$@
- @echo ' Those header files #include this one.' >>$@
- @echo '' >>$@
- @echo ' This file was created by a make rule.' >>$@
- @echo '*/' >>$@
- @echo '#define XMLRPC_HAVE_WCHAR $(HAVE_WCHAR_H_DEFINE)' >>$@
- @echo '#ifdef WIN32' >>$@
- @echo ' /* SOCKET is a type defined by <winsock.h>. Anyone who' >>$@
- @echo ' uses XMLRPC_SOCKET on a WIN32 system must #include' >>$@
- @echo ' <winsock.h>' >>$@
- @echo ' */' >>$@
- @echo ' #define XMLRPC_SOCKET SOCKET' >>$@
- @echo ' #define XMLRPC_HAVE_TIMEVAL 0' >>$@
- @echo ' #define XMLRPC_HAVE_TIMESPEC 0' >>$@
- @echo ' #define XMLRPC_HAVE_PTHREAD 0' >>$@
- @echo '#else' >>$@
- @echo ' #define XMLRPC_SOCKET int' >>$@
- @echo ' #define XMLRPC_HAVE_TIMEVAL 1' >>$@
- @echo ' #define XMLRPC_HAVE_TIMESPEC 1' >>$@
- @echo ' #define XMLRPC_HAVE_PTHREAD 1' >>$@
- @echo '#endif' >>$@
- @echo '' >>$@
- @echo '#if defined(_MSC_VER)' >>$@
- @echo ' /* Newer MSVC has long long, but MSVC 6 does not */' >>$@
- @echo ' #define XMLRPC_INT64 __int64' >>$@
- @echo ' #define XMLRPC_PRId64 "I64"' >>$@
- @echo ' #define XMLRPC_INT32 __int32' >>$@
- @echo '#else' >>$@
- @echo ' #define XMLRPC_INT64 long long' >>$@
- @echo ' #define XMLRPC_PRId64 "lld"' >>$@
- @echo ' #define XMLRPC_INT32 int' >>$@
- @echo '#endif' >>$@
- @echo '#endif' >>$@
- $(BLDDIR)/$(SUBDIR)/xmlrpc-c:
- mkdir $@
- COMPAT_LINK_CMDS = \
- $(LN_S) xmlrpc-c/oldxmlrpc.h xmlrpc.h; \
- $(LN_S) xmlrpc-c/server.h xmlrpc_server.h; \
- $(LN_S) xmlrpc-c/server_abyss.h xmlrpc_abyss.h; \
- $(LN_S) xmlrpc-c/server_w32httpsys.h xmlrpc_server_w32httpsys.h; \
- HEADERS_TO_INSTALL = \
- xmlrpc-c/config.h \
- xmlrpc-c/inttypes.h \
- xmlrpc-c/c_util.h \
- xmlrpc-c/util.h \
- xmlrpc-c/base.h \
- xmlrpc-c/json.h \
- xmlrpc-c/abyss.h \
- xmlrpc-c/abyss_unixsock.h \
- xmlrpc-c/abyss_winsock.h \
- xmlrpc-c/server.h \
- xmlrpc-c/server_abyss.h \
- xmlrpc-c/server_w32httpsys.h \
- xmlrpc-c/oldxmlrpc.h \
- ifeq ($(ENABLE_CPLUSPLUS),yes)
- HEADERS_TO_INSTALL += \
- xmlrpc-c/oldcppwrapper.hpp \
- xmlrpc-c/girerr.hpp \
- xmlrpc-c/girmem.hpp \
- xmlrpc-c/base.hpp \
- xmlrpc-c/timeout.hpp \
- xmlrpc-c/xml.hpp \
- xmlrpc-c/registry.hpp \
- xmlrpc-c/server_abyss.hpp \
- xmlrpc-c/packetsocket.hpp \
- xmlrpc-c/server_pstream.hpp \
- COMPAT_LINK_CMDS += $(LN_S) xmlrpc-c/oldcppwrapper.hpp XmlRpcCpp.h;
- endif
- HEADERINST_PREFIX = /xmlrpc-c
- ifeq ($(MUST_BUILD_CLIENT),yes)
- HEADERS_TO_INSTALL += \
- xmlrpc-c/client.h \
- xmlrpc-c/transport.h \
- xmlrpc-c/client_global.h \
- COMPAT_LINK_CMDS += $(LN_S) xmlrpc-c/client.h xmlrpc_client.h;
- ifeq ($(ENABLE_CPLUSPLUS),yes)
- HEADERS_TO_INSTALL += \
- xmlrpc-c/client.hpp \
- xmlrpc-c/client_transport.hpp \
- xmlrpc-c/client_simple.hpp \
- endif
- endif
- ifeq ($(ENABLE_CGI_SERVER),yes)
- HEADERS_TO_INSTALL += xmlrpc-c/server_cgi.h
- COMPAT_LINK_CMDS += $(LN_S) xmlrpc-c/server_cgi.h xmlrpc_cgi.h;
- endif
- default: all
- all:
- .PHONY: install-compat-hdr
- install-compat-hdr: install-headers
- # Install old names of header files for backward compatibility
- cd $(DESTDIR)$(HEADERINST_DIR); \
- rm -f xmlrpc.h xmlrpc_client.h xmlrpc_server.h xmlrpc_cgi.h \
- xmlrpc_server_abyss.h xmlrpc_abyss.h \
- xmlrpc_server_w32httpsys.h \
- XmlRpcCpp.h; \
- $(COMPAT_LINK_CMDS)
- .PHONY: install
- install: install-common install-compat-hdr
- .PHONY: clean
- clean:
- rm -f xmlrpc-c/config.h
- .PHONY: distclean
- distclean: clean
- .PHONY: check
- check:
- .PHONY: dep
- dep:
- OMIT_CONFIG_H_RULE = Y
- include $(SRCDIR)/common.mk
|