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
|
ifeq ($(SRCDIR),)
updir = $(shell echo $(dir $(1)) | sed 's/.$$//')
LIBDIR := $(call updir,$(CURDIR))
SRCDIR := $(call updir,$(LIBDIR))
BLDDIR := $(SRCDIR)
endif
SUBDIR := lib/openssl
include $(BLDDIR)/config.mk
default: all
MODS := xmlrpc_openssl_thread
TARGET_MODS = $(MODS)
TARGET_LIBRARY_NAMES := libxmlrpc_openssl
STATIC_LIBRARIES_TO_INSTALL = libxmlrpc_openssl.a
SHARED_LIBS_TO_BUILD := libxmlrpc_openssl
SHARED_LIBS_TO_INSTALL := libxmlrpc_openssl
PKGCONFIG_FILES_TO_INSTALL := xmlrpc_openssl.pc
MAJ := 1
OPENSSL_INCLUDES := $(shell $(PKG_CONFIG) openssl --cflags)
OPENSSL_LIBS := $(shell $(PKG_CONFIG) openssl --libs)
include $(SRCDIR)/common.mk
OPENSSL_SHLIB = $(call shlibfn,libxmlrpc_openssl)
#OPENSSL_SHLIB is e.g. libxmlrpc_openssl.so.3.1
OPENSSL_SHLIBLE = $(call shliblefn,libxmlrpc_openssl)
#OPENSSL_SHLIBLE is e.g. libxmlrpc_openssl.so
# 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_openssl.a \
$(TARGET_SHARED_LIBRARIES) \
$(TARGET_SHARED_LE_LIBS) \
$(PKGCONFIG_FILES_TO_INSTALL) \
# Rules for the above dependencies are in common.mk,
# courtesy of TARGET_MODS.
# Rule for this is in common.mk, courtesy of TARGET_LIBRARY_NAMES
$(OPENSSL_SHLIB): $(TARGET_MODS:%=%.osh) \
$(LIBXMLRPC_UTIL)
$(OPENSSL_SHLIB): LIBOBJECTS = $(TARGET_MODS:%=%.osh)
$(OPENSSL_SHLIB): LIBDEP = $(LIBXMLRPC_UTIL_LIBDEP) $(OPENSSL_LIBS)
# Rule for this is in common.mk, courtesy of TARGET_STATIC_LIBRARIES:
libxmlrpc_openssl.a: $(TARGET_MODS:%=%.o)
libxmlrpc_openssl.a: LIBOBJECTS = $(TARGET_MODS:%=%.o)
#-----------------------------------------------------------------------------
# RULES TO COMPILE OBJECT MODULES FOR LIBRARIES
#-----------------------------------------------------------------------------
INCLUDES = \
-I$(BLDDIR) \
-I$(BLDDIR)/include \
-Isrcdir/include \
-Isrcdir/lib/util/include \
$(OPENSSL_INCLUDES)
#-----------------------------------------------------------------------------
# RULES TO MAKE PKGCONFIG FILES
#
# (These are files used by the 'pkg-config' program to get information about
# using the libraries we build)
#-----------------------------------------------------------------------------
xmlrpc_openssl.pc:
rm -f $@
@echo "Echoes to '$@' suppressed here ..."
@echo -e '$(PKGCONFIG_VAR_SET)' >>$@
@echo >>$@
@echo "Name: xmlrpc_openssl" >>$@
@echo "Description: Openssl convenience function from Xmlrpc-c package" >>$@
@echo "Version: $(XMLRPC_VERSION_STRING)" >>$@
@echo >>$@
@echo "Requires: xmlrpc_util" >>$@
@echo 'Libs: -L$${libdir} -lxmlrpc_openssl' >>$@
@echo 'Cflags: -I$${includedir}' >>$@
#-----------------------------------------------------------------------------
# MISCELLANEOUS
#-----------------------------------------------------------------------------
.PHONY: clean
clean: clean-common
.PHONY: distclean
distclean: clean distclean-common
.PHONY: tags
tags: TAGS
.PHONY: distdir
distdir:
.PHONY: install
install: install-common
.PHONY: uninstall
uninstall: uninstall-common
.PHONY: dep
dep: dep-common
include depend.mk
# Need this dependency for those who don't use depend.mk.
# Without it, version.h doesn't get created.
xmlrpc_curl_transport.o xmlrpc_curl_transport.osh: version.h
|