120 lines
2.7 KiB
Makefile
120 lines
2.7 KiB
Makefile
ifeq ($(SRCDIR),)
|
|
updir = $(shell echo $(dir $(1)) | sed 's/.$$//')
|
|
ABYSSDIR := $(call updir,$(CURDIR))
|
|
LIBDIR := $(call updir,$(ABYSSDIR))
|
|
SRCDIR := $(call updir,$(LIBDIR))
|
|
BLDDIR := $(SRCDIR)
|
|
endif
|
|
SUBDIR := lib/abyss/src
|
|
|
|
include $(BLDDIR)/config.mk
|
|
|
|
default: all
|
|
|
|
TARGET_LIBRARY_NAMES := libxmlrpc_abyss
|
|
|
|
STATIC_LIBRARIES_TO_INSTALL = libxmlrpc_abyss.a
|
|
|
|
SHARED_LIBS_TO_BUILD := libxmlrpc_abyss
|
|
SHARED_LIBS_TO_INSTALL := libxmlrpc_abyss
|
|
|
|
ifeq ($(ENABLE_ABYSS_THREADS),yes)
|
|
THREAD_MODULE = thread_pthread
|
|
else
|
|
THREAD_MODULE = thread_fork
|
|
endif
|
|
|
|
TARGET_MODS = \
|
|
channel \
|
|
chanswitch \
|
|
conf \
|
|
conn \
|
|
data \
|
|
date \
|
|
file \
|
|
handler \
|
|
http \
|
|
init \
|
|
response \
|
|
server \
|
|
session \
|
|
socket \
|
|
socket_unix \
|
|
token \
|
|
$(THREAD_MODULE) \
|
|
trace \
|
|
|
|
OMIT_ABYSS_LIB_RULE = Y
|
|
MAJ=3
|
|
# Major number of shared libraries in this directory
|
|
|
|
include $(SRCDIR)/common.mk
|
|
|
|
CFLAGS = $(CFLAGS_COMMON) -D_UNIX $(CFLAGS_PERSONAL) $(CADD)
|
|
|
|
INCLUDES = -Iblddir -Isrcdir -Isrcdir/include -Isrcdir/lib/util/include
|
|
|
|
ABYSS_SHLIB = $(call shlibfn,libxmlrpc_abyss)
|
|
#ABYSS_SHLIB is e.g. libxmlrpc_abyss.so.3.1
|
|
ABYSS_SHLIBLE = $(call shliblefn,libxmlrpc_abyss)
|
|
#ABYSS_SHLIBLE is e.g. libxmlrpc_abyss.so
|
|
|
|
# LIBDEP is the shared libraries on which libxmlrpc_abyss depends.
|
|
# The runtime loader should load these libraries when it loads libxmlrpc_abyss.
|
|
|
|
LIBDEP = $(LIBXMLRPC_UTIL)
|
|
|
|
ifneq ($(SHARED_LIB_TYPE),NONE)
|
|
TARGET_SHARED_LIBS := $(ABYSS_SHLIB) $(ABYSS_SHLIBLE)
|
|
endif
|
|
|
|
# This 'common.mk' dependency makes sure the symlinks get built before
|
|
# this make file is used for anything.
|
|
|
|
$(SRCDIR)/common.mk: srcdir blddir
|
|
|
|
.PHONY: all
|
|
all: libxmlrpc_abyss.a $(TARGET_SHARED_LIBS) $(TARGET_SHARED_LE_LIBS)
|
|
|
|
|
|
# Rule for this is in common.mk, courtesy of TARGET_SHARED_LIBRARIES:
|
|
$(ABYSS_SHLIB): $(TARGET_MODS:%=%.osh) $(LIBDEP)
|
|
$(ABYSS_SHLIB): LIBOBJECTS = $(TARGET_MODS:%=%.osh) $(LIBDEP)
|
|
|
|
# Rule for this is in common.mk, courtesy of TARGET_STATIC_LIBRARIES:
|
|
|
|
libxmlrpc_abyss.a: $(TARGET_MODS:%=%.o)
|
|
libxmlrpc_abyss.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
|
|
# Abyss library are in common.mk, courtesy of TARGET_MODS.
|
|
|
|
|
|
# Need this dependency for those who don't use Makefile.depend.
|
|
# Without it, version.h doesn't get created.
|
|
response.o response.osh handler.o handler.osh: version.h
|
|
|
|
.PHONY: clean
|
|
clean: clean-common
|
|
|
|
.PHONY: distclean
|
|
distclean: clean distclean-common
|
|
|
|
.PHONY: tags
|
|
tags: TAGS
|
|
|
|
.PHONY: distdir
|
|
distdir:
|
|
|
|
.PHONY: install
|
|
install: install-common
|
|
|
|
.PHONY: dep
|
|
dep: dep-common
|
|
|
|
include Makefile.depend
|