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 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 . Anyone who' >>$@ @echo ' uses XMLRPC_SOCKET on a WIN32 system must #include' >>$@ @echo ' ' >>$@ @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