Ignore:
Timestamp:
Nov 23, 2013 7:13:40 AM (10 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/build/Makefile

    r4637 r4656  
    33include $(PJDIR)/build/common.mak 
    44 
     5export LIBDIR := ../lib 
     6export BINDIR := ../bin 
     7 
    58RULES_MAK := $(PJDIR)/build/rules.mak 
    69 
     10export PJLIB_LIB := libpj-$(TARGET_NAME)$(LIBEXT) 
    711 
    8 export PJLIB_LIB := ../lib/libpj-$(TARGET_NAME)$(LIBEXT) 
     12ifeq ($(PJ_SHARED_LIBRARIES),) 
     13else 
     14export PJLIB_SONAME := libpj.$(SHLIB_SUFFIX) 
     15export PJLIB_SHLIB := $(PJLIB_SONAME).$(PJ_VERSION_MAJOR) 
     16endif 
    917 
    1018############################################################################### 
     
    1523export _CXXFLAGS:= $(_CFLAGS) $(CC_CXXFLAGS) $(OS_CXXFLAGS) $(M_CXXFLAGS) \ 
    1624                   $(HOST_CXXFLAGS) $(CXXFLAGS) 
    17 export _LDFLAGS := $(subst /,$(HOST_PSEP),$(PJLIB_LIB)) \ 
    18                    $(CC_LDFLAGS) $(OS_LDFLAGS) $(M_LDFLAGS) $(HOST_LDFLAGS) \ 
    19                    $(LDFLAGS)  
     25export _LDFLAGS := $(CC_LDFLAGS) $(OS_LDFLAGS) $(M_LDFLAGS) $(HOST_LDFLAGS) \ 
     26                   $(APP_LDFLAGS) $(LDFLAGS)  
     27 
    2028 
    2129############################################################################### 
     
    3240export PJLIB_CFLAGS += $(_CFLAGS) 
    3341export PJLIB_CXXFLAGS += $(_CXXFLAGS) 
     42export PJLIB_LDFLAGS += $(_LDFLAGS) 
    3443 
    3544############################################################################### 
     
    4756export TEST_CFLAGS += $(_CFLAGS) 
    4857export TEST_CXXFLAGS += $(_CXXFLAGS) 
    49 export TEST_LDFLAGS += $(_LDFLAGS) 
    50 export TEST_EXE := ../bin/pjlib-test-$(TARGET_NAME)$(HOST_EXE) 
     58export TEST_LDFLAGS += $(PJLIB_LDLIB) $(_LDFLAGS) 
     59export TEST_EXE := pjlib-test-$(TARGET_NAME)$(HOST_EXE) 
    5160 
    52          
     61 
    5362export CC_OUT CC AR RANLIB HOST_MV HOST_RM HOST_RMDIR HOST_MKDIR OBJEXT LD LDOUT  
    5463############################################################################### 
     
    7786        $(MAKE) -f $(RULES_MAK) APP=PJLIB app=pjlib depend 
    7887        $(MAKE) -f $(RULES_MAK) APP=TEST app=pjlib-test depend 
    79         echo '$(TEST_EXE): $(PJLIB_LIB)' >> .pjlib-test-$(TARGET_NAME).depend 
     88        echo '$(BINDIR)/$(TEST_EXE): $(LIBDIR)/$(PJLIB_LIB)' >> .pjlib-test-$(TARGET_NAME).depend 
    8089 
    8190 
    82 .PHONY: dep depend clean realclean distclean 
     91.PHONY: all dep depend clean realclean distclean 
    8392.PHONY: $(TARGETS) 
    84 .PHONY: $(PJLIB_LIB) $(TEST_EXE) 
     93.PHONY: $(PJLIB_LIB) $(PJLIB_SONAME) 
     94.PHONY: $(TEST_EXE) 
    8595 
    8696dep: depend 
     
    8898pjlib: $(PJLIB_LIB) 
    8999$(PJLIB_LIB): ../include/pj/config_site.h 
    90         $(MAKE) -f $(RULES_MAK) APP=PJLIB app=pjlib $(PJLIB_LIB) 
     100 
     101$(PJLIB_SONAME): $(PJLIB_LIB) 
     102$(PJLIB_LIB) $(PJLIB_SONAME): 
     103        $(MAKE) -f $(RULES_MAK) APP=PJLIB app=pjlib $(subst /,$(HOST_PSEP),$(LIBDIR)/$@) 
    91104 
    92105../include/pj/config_site.h: 
     
    94107 
    95108pjlib-test: $(TEST_EXE) 
    96 $(TEST_EXE): $(PJLIB_LIB) 
    97         $(MAKE) -f $(RULES_MAK) APP=TEST app=pjlib-test $(TEST_EXE) 
     109$(TEST_EXE): $(PJLIB_LIB) $(PJLIB_SONAME) 
     110        $(MAKE) -f $(RULES_MAK) APP=TEST app=pjlib-test $(subst /,$(HOST_PSEP),$(BINDIR)/$@) 
    98111 
    99 .PHONY: ../lib/pjlib.ko 
    100 ../lib/pjlib.ko: 
     112.PHONY: pjlib.ko 
     113pjlib.ko: 
    101114        echo Making $@ 
    102         $(MAKE) -f $(RULES_MAK) APP=PJLIB app=pjlib $@ 
     115        $(MAKE) -f $(RULES_MAK) APP=PJLIB app=pjlib $(subst /,$(HOST_PSEP),$(LIBDIR)/$@) 
    103116 
    104 .PHONY: ../lib/pjlib-test.ko 
    105 ../lib/pjlib-test.ko: 
    106         $(MAKE) -f $(RULES_MAK) APP=TEST app=pjlib-test $@ 
     117.PHONY: pjlib-test.ko 
     118pjlib-test.ko: 
     119        $(MAKE) -f $(RULES_MAK) APP=TEST app=pjlib-test $(subst /,$(HOST_PSEP),$(LIBDIR)/$@) 
    107120 
    108121clean: 
Note: See TracChangeset for help on using the changeset viewer.