94 lines
2.7 KiB
Makefile
94 lines
2.7 KiB
Makefile
###############################################################################
|
|
# This directory builds libxmlrpc_xmlparse, an XML parser. This is
|
|
# essentially the separately distributed Expat library from 2001, but
|
|
# with slight changes. The main reason it is bundled with Xmlrpc-c is
|
|
# to make the latter easier to build and use.
|
|
#
|
|
# The library is about XML in general. There is nothing specific to
|
|
# XML-RPC here.
|
|
###############################################################################
|
|
|
|
ifeq ($(SRCDIR),)
|
|
updir = $(shell echo $(dir $(1)) | sed 's/.$$//')
|
|
EXPATDIR := $(call updir,$(CURDIR))
|
|
LIBDIR := $(call updir,$(EXPATDIR))
|
|
SRCDIR := $(call updir,$(LIBDIR))
|
|
BLDDIR := $(SRCDIR)
|
|
endif
|
|
SUBDIR := lib/expat/xmlparse
|
|
|
|
XMLTOKDIR = srcdir/lib/expat/xmltok
|
|
UTILDIR = srcdir/lib/util
|
|
|
|
default: all
|
|
|
|
include $(BLDDIR)/config.mk
|
|
|
|
TARGET_LIBRARY_NAMES := libxmlrpc_xmlparse
|
|
|
|
STATIC_LIBRARIES_TO_INSTALL = libxmlrpc_xmlparse.a
|
|
|
|
SHARED_LIBS_TO_BUILD := libxmlrpc_xmlparse
|
|
SHARED_LIBS_TO_INSTALL := libxmlrpc_xmlparse
|
|
|
|
TARGET_MODS = xmlparse
|
|
|
|
OMIT_XMLPARSE_LIB_RULE=Y
|
|
MAJ=3
|
|
# Major number of shared libraries in this directory
|
|
|
|
include $(SRCDIR)/common.mk
|
|
|
|
INCLUDES = \
|
|
-I$(BLDDIR) \
|
|
-I$(XMLTOKDIR) \
|
|
-I$(UTILDIR)/include \
|
|
-Isrcdir/include \
|
|
|
|
# LIBDEP is the shared libraries on which libxmlrpc_abyss depends.
|
|
# The runtime loader should load these libraries when it loads libxmlrpc_abyss.
|
|
|
|
LIBDEP = $(LIBXMLRPC_XMLTOK) $(LIBXMLRPC_UTIL)
|
|
|
|
XMLPARSE_SHLIB = $(call shlibfn,libxmlrpc_xmlparse)
|
|
#XMLPARSE_SHLIB is e.g. libxmlrpc_xmlparse.so.3.1
|
|
XMLPARSE_SHLIBLE = $(call shliblefn,libxmlrpc_xmlparse)
|
|
#XMLPARSE_SHLIBLE is e.g. libxmlrpc_xmlparse.so
|
|
|
|
.PHONY: all
|
|
all: libxmlrpc_xmlparse.a $(TARGET_SHARED_LIBRARIES) $(TARGET_SHARED_LE_LIBS)
|
|
|
|
# Rule for this is in common.mk, courtesy of TARGET_LIBRARY_NAMES:
|
|
$(XMLPARSE_SHLIB): $(TARGET_MODS:%=%.osh) $(LIBDEP)
|
|
$(XMLPARSE_SHLIB): LIBOBJECTS = $(TARGET_MODS:%=%.osh) $(LIBDEP)
|
|
|
|
# Rule for this is in common.mk, courtesy of TARGET_STATIC_LIBRARIES:
|
|
|
|
libxmlrpc_xmlparse.a: $(TARGET_MODS:%=%.o)
|
|
libxmlrpc_xmlparse.a: LIBOBJECTS = $(TARGET_MODS:%=%.o)
|
|
|
|
#-----------------------------------------------------------------------------
|
|
# RULES TO COMPILE OBJECT MODULES FOR LIBRARIES
|
|
#-----------------------------------------------------------------------------
|
|
|
|
# Rules to compile object modules from which to build the static and shared
|
|
# library are in common.mk, courtesy of TARGET_MODS.
|
|
|
|
.PHONY: install
|
|
install: install-common
|
|
|
|
.PHONY: clean distclean
|
|
clean: clean-common
|
|
|
|
distclean: clean distclean-common
|
|
|
|
.PHONY: dep
|
|
dep: dep-common
|
|
|
|
# This 'common.mk' dependency makes sure the symlinks get built before
|
|
# this make file is used for anything.
|
|
|
|
$(SRCDIR)/common.mk: srcdir
|
|
|
|
include depend.mk
|