Ignore:
Timestamp:
Nov 23, 2013 7:13:40 AM (8 years ago)
Author:
bennylp
Message:

Fixed #1713: Enable building the libraries as shared libraries/DLLs for GNU targets

File:
1 edited

Legend:

Unmodified
Added
Removed
  • pjproject/trunk/pjlib-util/build/Makefile

    r4637 r4656  
    77include $(PJDIR)/build/common.mak 
    88 
     9export LIBDIR := ../lib 
     10export BINDIR := ../bin 
     11 
    912RULES_MAK := $(PJDIR)/build/rules.mak 
    1013 
    1114PJLIB_LIB:=$(PJDIR)/pjlib/lib/libpj-$(TARGET_NAME)$(LIBEXT) 
    12 export PJLIB_UTIL_LIB:=../lib/libpjlib-util-$(TARGET_NAME)$(LIBEXT) 
     15 
     16export PJLIB_UTIL_LIB := libpjlib-util-$(TARGET_NAME)$(LIBEXT) 
     17 
     18ifeq ($(PJ_SHARED_LIBRARIES),) 
     19else 
     20export PJLIB_UTIL_SONAME := libpjlib-util.$(SHLIB_SUFFIX) 
     21export PJLIB_UTIL_SHLIB := $(PJLIB_UTIL_SONAME).$(PJ_VERSION_MAJOR) 
     22endif 
    1323 
    1424############################################################################### 
     
    1929export _CXXFLAGS:= $(_CFLAGS) $(CC_CXXFLAGS) $(OS_CXXFLAGS) $(M_CXXFLAGS) \ 
    2030                   $(HOST_CXXFLAGS) $(CXXFLAGS) 
    21 export _LDFLAGS := $(subst /,$(HOST_PSEP),$(PJLIB_UTIL_LIB)) \ 
    22                    $(subst /,$(HOST_PSEP),$(PJLIB_LIB)) \ 
    23                    $(CC_LDFLAGS) $(OS_LDFLAGS) $(M_LDFLAGS) $(HOST_LDFLAGS) \ 
    24                    $(LDFLAGS)  
     31export _LDFLAGS := $(CC_LDFLAGS) $(OS_LDFLAGS) $(M_LDFLAGS) $(HOST_LDFLAGS) \ 
     32                   $(APP_LDFLAGS) $(LDFLAGS) 
    2533 
    2634############################################################################### 
     
    3644export PJLIB_UTIL_CFLAGS += $(_CFLAGS) 
    3745export PJLIB_UTIL_CXXFLAGS += $(_CXXFLAGS) 
     46export PJLIB_UTIL_LDFLAGS += $(PJLIB_LDLIB) $(_LDFLAGS) 
    3847 
    3948############################################################################### 
     
    4554export UTIL_TEST_CFLAGS += $(_CFLAGS) 
    4655export UTIL_TEST_CXXFLAGS += $(_CXXFLAGS) 
    47 export UTIL_TEST_LDFLAGS += $(_LDFLAGS) 
    48 export UTIL_TEST_EXE:=../bin/pjlib-util-test-$(TARGET_NAME)$(HOST_EXE) 
     56export UTIL_TEST_LDFLAGS += $(PJLIB_UTIL_LDLIB) $(PJLIB_LDLIB) $(_LDFLAGS) 
     57export UTIL_TEST_EXE:=pjlib-util-test-$(TARGET_NAME)$(HOST_EXE) 
    4958 
    5059         
     
    5564# $(TARGET) is defined in os-$(OS_NAME).mak file in current directory. 
    5665# 
    57 TARGETS := pjlib-util pjlib-util-test 
     66TARGETS := $(PJLIB_UTIL_LIB) $(PJLIB_UTIL_SONAME) $(UTIL_TEST_EXE) 
    5867 
    5968all: $(TARGETS) 
     
    7382distclean: realclean 
    7483 
    75 .PHONY: dep depend clean realclean distclean 
     84.PHONY: all dep depend clean realclean distclean 
    7685.PHONY: $(TARGETS) 
    77 .PHONY: $(PJLIB_UTIL_LIB) $(UTIL_TEST_EXE) 
     86.PHONY: $(PJLIB_UTIL_LIB) $(PJLIB_UTIL_SONAME) 
     87.PHONY: $(UTIL_TEST_EXE) 
    7888 
    79 pjlib-util: $(PJLIB_UTIL_LIB) 
    80 $(PJLIB_UTIL_LIB): 
    81         $(MAKE) -f $(RULES_MAK) APP=PJLIB_UTIL app=pjlib-util $(PJLIB_UTIL_LIB) 
     89pjlib-util: $(PJLIB_UTIL_LIB) $(PJLIB_UTIL_SONAME) 
     90$(PJLIB_UTIL_SONAME): $(PJLIB_UTIL_LIB) 
     91$(PJLIB_UTIL_LIB) $(PJLIB_UTIL_SONAME): $(PJLIB_LIB) $(PJLIB_SONAME) 
     92        $(MAKE) -f $(RULES_MAK) APP=PJLIB_UTIL app=pjlib-util $(subst /,$(HOST_PSEP),$(LIBDIR)/$@) 
    8293 
    8394pjlib-util-test: $(UTIL_TEST_EXE) 
    84 $(UTIL_TEST_EXE): $(PJLIB_UTIL_LIB) 
    85         $(MAKE) -f $(RULES_MAK) APP=UTIL_TEST app=pjlib-util-test $(UTIL_TEST_EXE) 
     95$(UTIL_TEST_EXE): $(PJLIB_UTIL_LIB) $(PJLIB_UTIL_SONAME) 
     96        $(MAKE) -f $(RULES_MAK) APP=UTIL_TEST app=pjlib-util-test $(subst /,$(HOST_PSEP),$(BINDIR)/$@) 
    8697 
    87 .PHONY: ../lib/pjlib-util.ko 
    88 ../lib/pjlib-util.ko: 
     98.PHONY: pjlib-util.ko 
     99pjlib-util.ko: 
    89100        echo Making $@ 
    90         $(MAKE) -f $(RULES_MAK) APP=PJLIB_UTIL app=pjlib-util $@ 
     101        $(MAKE) -f $(RULES_MAK) APP=PJLIB_UTIL app=pjlib-util $(subst /,$(HOST_PSEP),$(LIBDIR)/$@) 
    91102 
    92 .PHONY: ../lib/pjlib-util-test.ko 
    93 ../lib/pjlib-util-test.ko: 
    94         $(MAKE) -f $(RULES_MAK) APP=UTIL_TEST app=pjlib-util-test $@ 
     103.PHONY: pjlib-util-test.ko 
     104pjlib-util-test.ko: 
     105        $(MAKE) -f $(RULES_MAK) APP=UTIL_TEST app=pjlib-util-test $(subst /,$(HOST_PSEP),$(LIBDIR)/$@) 
    95106 
    96107clean: 
     
    107118        $(MAKE) -f $(RULES_MAK) APP=PJLIB_UTIL app=pjlib-util $@ 
    108119        $(MAKE) -f $(RULES_MAK) APP=UTIL_TEST app=pjlib-util-test $@ 
    109         echo '$(UTIL_TEST_EXE): $(PJLIB_UTIL_LIB) $(PJLIB_LIB)' >> .pjlib-util-test-$(TARGET_NAME).depend; \ 
     120        echo '$(BINDIR)/$(UTIL_TEST_EXE): $(LIBDIR)/$(PJLIB_UTIL_LIB) $(PJLIB_LIB)' >> .pjlib-util-test-$(TARGET_NAME).depend; \ 
    110121 
    111  
Note: See TracChangeset for help on using the changeset viewer.