freeswitch/libs/xmlrpc-c/lib/expat/xmltok/Makefile

110 lines
3.0 KiB
Makefile

###############################################################################
# This directory builds libxmlrpc_xmltok, an XML token 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/xmltok
include $(BLDDIR)/config.mk
# I can't figure out what XML_BYTE_ORDER is, but it doesn't look like the
# code has ever defined it. That means it's treated like 0 in #if. Since
# we started using the Gcc -Wundef option, that generates a warning, so
# se set it explicitly to 0 here.
CFLAGS_LOCAL = -DXML_BYTE_ORDER=0
# -I. is necessary when blddir != srcdir
INCLUDES = -I. -I$(BLDDIR) -Isrcdir/lib/util/include -Isrcdir/include
default: all
TARGET_LIBRARY_NAMES := libxmlrpc_xmltok
STATIC_LIBRARIES_TO_INSTALL = libxmlrpc_xmltok.a
SHARED_LIBS_TO_BUILD := libxmlrpc_xmltok
SHARED_LIBS_TO_INSTALL := libxmlrpc_xmltok
TARGET_MODS = xmltok xmlrole
OMIT_XMLTOK_LIB_RULE = Y
MAJ=3
# 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
XMLTOK_SHLIB = $(call shlibfn,libxmlrpc_xmltok)
#XMLTOK_SHLIB is e.g. libxmlrpc_xmltok.so.3.1
XMLTOK_SHLIBLE = $(call shliblefn,libxmlrpc_xmltok)
#XMLTOK_SHLIBLE is e.g. libxmlrpc_xmltok.so
.PHONY: all
all: libxmlrpc_xmltok.a $(TARGET_SHARED_LIBRARIES) $(TARGET_SHARED_LE_LIBS)
# Rule for this is in common.mk, courtesy of TARGET_LIBRARY_NAMES
$(XMLTOK_SHLIB): $(TARGET_MODS:%=%.osh)
$(XMLTOK_SHLIB): LIBOBJECTS = $(TARGET_MODS:%=%.osh)
# Rule for this is in common.mk, courtesy of TARGET_STATIC_LIBRARIES:
libxmlrpc_xmltok.a: $(TARGET_MODS:%=%.o)
libxmlrpc_xmltok.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: clean
clean: clean-common
rm -f nametab.h
.PHONY: distclean
distclean: clean distclean-common
.PHONY: tags
tags: TAGS
.PHONY: distdir
distdir:
.PHONY: install
install: install-common
.PHONY: dep
dep: dep-common
GENNMTAB = ../gennmtab/gennmtab
nametab.h: $(GENNMTAB)
rm -f $@
$(GENNMTAB) >$@
$(GENNMTAB):
$(MAKE) -C $(dir $@) $(notdir $@)
xmltok.o xmltok.osh: nametab.h xmltok_impl.c
include depend.mk