File: Makefile

package info (click to toggle)
xmlrpc-c 1.60.05-1
  • links: PTS, VCS
  • area: main
  • in suites: forky, sid
  • size: 8,132 kB
  • sloc: ansic: 55,332; cpp: 13,541; sh: 3,321; makefile: 2,556; perl: 593; xml: 134
file content (123 lines) | stat: -rw-r--r-- 3,659 bytes parent folder | download
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