70 lines
1.9 KiB
Makefile
70 lines
1.9 KiB
Makefile
###############################################################################
|
|
# This directory builds object modules that provide utility functions that
|
|
# programs can use. Not libraries, though -- just programs. The reason
|
|
# we don't want any library to use object modules in here is that they'll
|
|
# probably pollute the name space when users link those libraries to their
|
|
# programs. In fact, if more than one Xmlrpc-c library includes one of these
|
|
# modules, the libraries will conflict with each other.
|
|
#
|
|
# So a utility function that is to be used by libraries (and, optionally,
|
|
# programs) should go in libxmlrpc_util. libxmlrpc_util is a prerequisite
|
|
# for many Xmlrpc-c libraries, gets included in a program link only once,
|
|
# and uses external symbol names that have the "xmlrpc_" prefix to avoid
|
|
# collision with users' code.
|
|
#
|
|
# If we knew a portable way to link multiple object modules into one and
|
|
# restrict the symbols exported by the whole, we could avoid this mess and
|
|
# just link utility object modules into each Xmlrpc-c library.
|
|
##############################################################################
|
|
|
|
ifeq ($(SRCDIR),)
|
|
updir = $(shell echo $(dir $(1)) | sed 's/.$$//')
|
|
LIBDIR := $(call updir,$(CURDIR))
|
|
SRCDIR := $(call updir,$(LIBDIR))
|
|
BLDDIR := $(SRCDIR)
|
|
endif
|
|
SUBDIR := lib/util
|
|
|
|
default: all
|
|
|
|
include $(BLDDIR)/config.mk
|
|
|
|
OMIT_UTILS_RULE = Y
|
|
|
|
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
|
|
|
|
LIBOBJS = \
|
|
casprintf.o \
|
|
cmdline_parser.o \
|
|
cmdline_parser_cpp.o \
|
|
getoptx.o \
|
|
string_parser.o \
|
|
stripcaseeq.o \
|
|
|
|
.PHONY: all
|
|
all: $(LIBOBJS)
|
|
|
|
INCLUDES = -Isrcdir/$(SUBDIR)/include -I$(BLDDIR)
|
|
|
|
%.o:%.c
|
|
$(CC) -c $(CFLAGS_ALL) $<
|
|
|
|
%.o:%.cpp
|
|
$(CXX) -c $(CXXFLAGS_ALL) $<
|
|
|
|
include depend.mk
|
|
|
|
.PHONY: clean distclean
|
|
clean: clean-common
|
|
|
|
distclean: clean distclean-common
|
|
|
|
.PHONY: dep
|
|
dep: dep-common
|
|
|
|
install: |