12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970 |
- ###############################################################################
- # 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:
|