2
# $Id: //poco/1.2/build/rules/lib#1 $
6
# Rule definitions for building libraries
12
ifeq ($(OSNAME),CYGWIN)
13
SHL_EXT = $(SHAREDLIBLINKEXT)
16
SHL_EXT = $(SHAREDLIBEXT)
18
SHL_EXT = $(SHAREDLIBLINKEXT)
22
LIB_RELEASE_STATIC = $(LIBPATH)/$(LIBPREFIX)$(target)$(OSARCH_POSTFIX).a
23
LIB_DEBUG_STATIC = $(LIBPATH)/$(LIBPREFIX)$(target)d$(OSARCH_POSTFIX).a
24
LIB_RELEASE_SHARED = $(LIBPATH)/$(LIBPREFIX)$(target)$(OSARCH_POSTFIX)$(SHL_EXT)
25
LIB_DEBUG_SHARED = $(LIBPATH)/$(LIBPREFIX)$(target)d$(OSARCH_POSTFIX)$(SHL_EXT)
26
LIB_RELEASE_SHARED_LINK = $(LIBPATH)/$(LIBPREFIX)$(target)$(OSARCH_POSTFIX)$(SHAREDLIBLINKEXT)
27
LIB_DEBUG_SHARED_LINK = $(LIBPATH)/$(LIBPREFIX)$(target)d$(OSARCH_POSTFIX)$(SHAREDLIBLINKEXT)
29
TARGET_LIBS_DEBUG = $(foreach l,$(target_libs),-l$(l)d$(OSARCH_POSTFIX))
30
TARGET_LIBS_RELEASE = $(foreach l,$(target_libs),-l$(l)$(OSARCH_POSTFIX))
33
# Include the compile rules
35
include $(POCO_BASE)/build/rules/compile
38
# Rules for creating a library
42
$(RM) $(LIB_RELEASE_STATIC) $(LIB_DEBUG_STATIC) $(LIB_RELEASE_SHARED) $(LIB_DEBUG_SHARED)
44
static_debug: libdirs $(LIB_DEBUG_STATIC)
45
static_release: libdirs $(LIB_RELEASE_STATIC)
46
shared_debug: libdirs $(LIB_DEBUG_SHARED)
47
shared_release: libdirs $(LIB_RELEASE_SHARED)
49
$(LIB_DEBUG_STATIC): $(foreach o,$(objects),$(OBJPATH_DEBUG_STATIC)/$(o).o)
50
@echo "** Building library (debug)" $@
54
$(LIB_RELEASE_STATIC): $(foreach o,$(objects),$(OBJPATH_RELEASE_STATIC)/$(o).o)
55
@echo "** Building library (release)" $@
59
$(LIB_DEBUG_SHARED): $(foreach o,$(objects),$(OBJPATH_DEBUG_SHARED)/$(o).o)
60
@echo "** Building shared library (debug)" $@
61
$(SHLIB) $^ $(LIBRARY) $(TARGET_LIBS_DEBUG) $(SYSLIBS)
62
$(SHLIBLN) $(LIB_DEBUG_SHARED) $(LIB_DEBUG_SHARED_LINK)
64
$(LIB_RELEASE_SHARED): $(foreach o,$(objects),$(OBJPATH_RELEASE_SHARED)/$(o).o)
65
@echo "** Building shared library (release)" $@
66
$(SHLIB) $^ $(LIBRARY) $(TARGET_LIBS_RELEASE) $(SYSLIBS)
67
$(SHLIBLN) $(LIB_RELEASE_SHARED) $(LIB_RELEASE_SHARED_LINK)
70
# Include the automatically generated dependency files
72
sinclude $(addprefix $(DEPPATH)/,$(addsuffix .d,$(objects)))