Menu

[r3316]: / advanced / lib / libutil++ / Makefile  Maximize  Restore  History

Download this file

136 lines (95 with data), 4.1 kB

  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
124
125
126
127
128
129
130
131
132
133
134
135
ifeq ($(SRCDIR),)
updir = $(shell echo $(dir $(1)) | sed 's/.$$//')
srcDIR := $(call updir,$(CURDIR))
SRCDIR := $(call updir,$(srcDIR))
BLDDIR := $(SRCDIR)
endif
SUBDIR := lib/libutil++
include $(BLDDIR)/config.mk
default: all
TARGET_LIB_NAMES_PP = libxmlrpc_util++
STATIC_LIBRARIES_TO_INSTALL = $(TARGET_STATIC_LIBRARIES)
SHARED_LIBS_TO_BUILD = $(TARGET_LIB_NAMES_PP)
SHARED_LIBS_TO_INSTALL = $(TARGET_LIB_NAMES_PP)
# INCLUDES and DEP_SOURCES are used by dep-common target
INCLUDES = $(BASIC_INCLUDES)
DEP_SOURCES = *.cpp
LIBXMLRPC_UTILPP_MODS = Lock base64 env_wrap girerr girmem
TARGET_MODS_PP = \
$(LIBXMLRPC_UTILPP_MODS) \
PKGCONFIG_FILES_TO_INSTALL := xmlrpc_util++.pc
OMIT_LIBXMLRPC_UTILPP_RULE = Y
MAJ = 9
# Major number of shared libraries in this directory
include $(SRCDIR)/common.mk
# This 'common.mk' dependency makes sure the symlinks get built before
# this make file is used for anything.
$(SRCDIR)/common.mk: srcdir blddir
BASIC_INCLUDES = \
-Iblddir/include \
-Isrcdir/include \
-Iblddir \
-Isrcdir/lib/util/include
# TARGET_STATIC_LIBARIES, etc. are set by common.mk, based on
# TARGET_LIB_NAMES_PP.
all: \
$(TARGET_STATIC_LIBRARIES) \
$(TARGET_SHARED_LIBS_PP) \
$(TARGET_SHARED_LE_LIBS) \
$(PKGCONFIG_FILES_TO_INSTALL) \
#-----------------------------------------------------------------------------
# RULES TO LINK LIBRARIES
#-----------------------------------------------------------------------------
# Rules for these are in common.mk, courtesy of TARGET_LIB_NAMES_PP:
# shlibfn generates e.g. libxmlrpc.so.3.1
# shliblefn generates e.g. libxmlrpc.so
# Sometimes -lpthread is necessary when link-editing a shared library that
# uses pthread services, and sometimes it is not. We've seen links on
# Windows and AIX fail without it. It seems to be a good idea in all cases,
# as it declares an actual dependency of the shared library.
LIBXMLRPC_UTILPP_SH = $(call shlibfn, libxmlrpc_util++)
$(LIBXMLRPC_UTILPP_SH): $(LIBXMLRPC_UTILPP_MODS:%=%.osh) \
$(LIBXMLRPC_UTIL) \
$(LIBXMLRPC_UTILPP_SH): LIBOBJECTS = $(LIBXMLRPC_UTILPP_MODS:%=%.osh)
$(LIBXMLRPC_UTILPP_SH): LIBDEP = \
-L$(LIBXMLRPC_UTIL_DIR) -lxmlrpc_util \
$(THREAD_LIBS) \
libxmlrpc_util++.a: $(LIBXMLRPC_UTILPP_MODS:%=%.o)
libxmlrpc_util++.a: LIBOBJECTS = $(LIBXMLRPC_UTILPP_MODS:%=%.o)
#-----------------------------------------------------------------------------
# RULES TO COMPILE OBJECT MODULES FOR LIBRARIES
#-----------------------------------------------------------------------------
# Rules for these are in common.mk, courtesy of TARGET_MODS_PP.
#-----------------------------------------------------------------------------
# RULES TO MAKE PKGCONFIG FILES
#
# (These are files used by the 'pkg-config' program to get information about
# using the libraries we build)
#-----------------------------------------------------------------------------
xmlrpc_util++.pc:
rm -f $@
@echo "Echoes to '$@' suppressed here ..."
@echo -e '$(PKGCONFIG_VAR_SET)' >>$@
@echo >>$@
@echo "Name: xmlrpc_util++" >>$@
@echo "Description: Xmlrpc-c C++ utility functions library" >>$@
@echo "Version: $(XMLRPC_VERSION_STRING)" >>$@
@echo >>$@
@echo "Requires: xmlrpc_util" >>$@
@echo 'Libs: -L$${libdir} -lxmlrpc_util++' >>$@
@echo 'Cflags: -I$${includedir}' >>$@
#-----------------------------------------------------------------------------
# MISCELLANEOUS RULES
#-----------------------------------------------------------------------------
.PHONY: install
install: install-common
.PHONY: uninstall
uninstall: uninstall-common
.PHONY: clean clean-local distclean distclean-local
clean: clean-common clean-local
clean-local:
distclean: clean distclean-local distclean-common
distclean-local:
.PHONY: dep
dep: dep-common
include depend.mk
Want the latest updates on software, tech news, and AI?
Get latest updates about software, tech news, and AI from SourceForge directly in your inbox once a month.