From 831823773e16aff2a237335145effd426d5ebf87 Mon Sep 17 00:00:00 2001 From: Benny Prijono Date: Sat, 23 Nov 2013 07:13:40 +0000 Subject: Fixed #1713: Enable building the libraries as shared libraries/DLLs for GNU targets git-svn-id: http://svn.pjsip.org/repos/pjproject/trunk@4656 74dad513-b988-da41-8d7b-12977e46ad98 --- pjsip-apps/build/Makefile | 30 +++++++++++++++++------------- pjsip-apps/build/Samples.mak | 34 +++++++++++----------------------- 2 files changed, 28 insertions(+), 36 deletions(-) (limited to 'pjsip-apps') diff --git a/pjsip-apps/build/Makefile b/pjsip-apps/build/Makefile index 1c043cb7..71fb151e 100644 --- a/pjsip-apps/build/Makefile +++ b/pjsip-apps/build/Makefile @@ -1,6 +1,8 @@ include ../../build.mak include $(PJDIR)/build/common.mak +export LIBDIR := ../lib +export BINDIR := ../bin RULES_MAK := $(PJDIR)/build/rules.mak @@ -27,6 +29,8 @@ export _CFLAGS := $(CC_CFLAGS) $(OS_CFLAGS) $(HOST_CFLAGS) $(M_CFLAGS) \ $(CC_INC)../../pjmedia/include export _CXXFLAGS:= $(_CFLAGS) $(CC_CXXFLAGS) $(OS_CXXFLAGS) $(M_CXXFLAGS) \ $(HOST_CXXFLAGS) $(CXXFLAGS) +export _LDFLAGS := $(CC_LDFLAGS) $(OS_LDFLAGS) $(M_LDFLAGS) $(HOST_LDFLAGS) \ + $(APP_LDFLAGS) $(APP_LDLIBS) $(LDFLAGS) ############################################################################### # Defines for building PJSUA @@ -37,8 +41,8 @@ export PJSUA_OBJS += $(OS_OBJS) $(M_OBJS) $(CC_OBJS) $(HOST_OBJS) \ pjsua_app_config.o pjsua_app_legacy.o export PJSUA_CFLAGS += $(_CFLAGS) export PJSUA_CXXFLAGS += $(_CXXFLAGS) -export PJSUA_LDFLAGS += $(APP_LDFLAGS) $(APP_LDLIBS) $(LDFLAGS) -export PJSUA_EXE:=../bin/pjsua-$(TARGET_NAME)$(HOST_EXE) +export PJSUA_LDFLAGS += $(_LDFLAGS) +export PJSUA_EXE:=pjsua-$(TARGET_NAME)$(HOST_EXE) ############################################################################### @@ -49,8 +53,8 @@ export PJSYSTEST_OBJS += $(OS_OBJS) $(M_OBJS) $(CC_OBJS) $(HOST_OBJS) \ systest.o main_console.o export PJSYSTEST_CFLAGS += $(_CFLAGS) export PJSYSTEST_CXXFLAGS += $(_CXXFLAGS) -export PJSYSTEST_LDFLAGS += $(APP_LDFLAGS) $(APP_LDLIBS) $(LDFLAGS) -export PJSYSTEST_EXE:=../bin/pjsystest-$(TARGET_NAME)$(HOST_EXE) +export PJSYSTEST_LDFLAGS += $(_LDFLAGS) +export PJSYSTEST_EXE:=pjsystest-$(TARGET_NAME)$(HOST_EXE) export CC_OUT CC AR RANLIB HOST_MV HOST_RM HOST_RMDIR HOST_MKDIR OBJEXT LD LDOUT @@ -58,7 +62,7 @@ export CC_OUT CC AR RANLIB HOST_MV HOST_RM HOST_RMDIR HOST_MKDIR OBJEXT LD LDOUT # Main entry # # -TARGETS := pjsua pjsystest samples +TARGETS := $(BINDIR)/$(PJSUA_EXE) $(BINDIR)/$(PJSYSTEST_EXE) samples all: $(TARGETS) @@ -67,32 +71,32 @@ doc: dep: depend distclean: realclean -.PHONY: dep depend clean realclean distclean +.PHONY: all dep depend clean realclean distclean .PHONY: $(TARGETS) .PHONY: $(PJSUA_EXE) $(PJSYSTEST_EXE) pjsua: $(PJSUA_EXE) $(PJSUA_EXE): - $(MAKE) -f $(RULES_MAK) APP=PJSUA app=pjsua $(PJSUA_EXE) + $(MAKE) -f $(RULES_MAK) APP=PJSUA app=pjsua $(subst /,$(HOST_PSEP),$(BINDIR)/$@) pjsystest: $(PJSYSTEST_EXE) $(PJSYSTEST_EXE): - $(MAKE) -f $(RULES_MAK) APP=PJSYSTEST app=pjsystest $(PJSYSTEST_EXE) + $(MAKE) -f $(RULES_MAK) APP=PJSYSTEST app=pjsystest $(subst /,$(HOST_PSEP),$(BINDIR)/$@) samples: $(MAKE) -f Samples.mak -.PHONY: ../lib/pjsua.ko -../lib/pjsua.ko: - $(MAKE) -f $(RULES_MAK) APP=PJSUA app=pjsua $@ +.PHONY: pjsua.ko +pjsua.ko: + $(MAKE) -f $(RULES_MAK) APP=PJSUA app=pjsua $(subst /,$(HOST_PSEP),$(LIBDIR)/$@) clean depend realclean: $(MAKE) -f $(RULES_MAK) APP=PJSUA app=pjsua $@ $(MAKE) -f $(RULES_MAK) APP=PJSYSTEST app=pjsystest $@ $(MAKE) -f Samples.mak $@ @if test "$@" = "depend"; then \ - echo '$(PJSUA_EXE): $(APP_LIB_FILES)' >> .pjsua-$(TARGET_NAME).depend; \ - echo '$(PJSYSTEST_EXE): $(APP_LIB_FILES)' >> .pjsystest-$(TARGET_NAME).depend; \ + echo '$(BINDIR)/$(PJSUA_EXE): $(APP_LIB_FILES)' >> .pjsua-$(TARGET_NAME).depend; \ + echo '$(BINDIR)/$(PJSYSTEST_EXE): $(APP_LIB_FILES)' >> .pjsystest-$(TARGET_NAME).depend; \ fi diff --git a/pjsip-apps/build/Samples.mak b/pjsip-apps/build/Samples.mak index d5dd1fc7..57daa8bf 100644 --- a/pjsip-apps/build/Samples.mak +++ b/pjsip-apps/build/Samples.mak @@ -1,6 +1,8 @@ - +include ../../build.mak +include ../../version.mak include ../../build/common.mak +RULES_MAK := $(PJDIR)/build/rules.mak ############################################################################### # Gather all flags. @@ -16,7 +18,6 @@ BINDIR := ../bin/samples/$(TARGET_NAME) SAMPLES := auddemo \ aviplay \ aectest \ - aviplay \ clidemo \ confsample \ encdec \ @@ -45,35 +46,22 @@ SAMPLES := auddemo \ tonegen \ vid_streamutil -EXES := $(foreach file, $(SAMPLES), $(BINDIR)/$(file)$(HOST_EXE)) - -all: $(BINDIR) $(OBJDIR) $(EXES) - -$(BINDIR)/%$(HOST_EXE): $(OBJDIR)/%$(OBJEXT) $(PJ_LIB_FILES) - $(LD) $(LDOUT)$(subst /,$(HOST_PSEP),$@) \ - $(subst /,$(HOST_PSEP),$<) \ - $(_LDFLAGS) +EXES := $(foreach file, $(SAMPLES), $(file)$(HOST_EXE)) -$(OBJDIR)/%$(OBJEXT): $(SRCDIR)/%.c - $(CC) $(_CFLAGS) \ - $(CC_OUT)$(subst /,$(HOST_PSEP),$@) \ - $(subst /,$(HOST_PSEP),$<) +.PHONY: $(EXES) -$(OBJDIR): - $(subst @@,$(subst /,$(HOST_PSEP),$@),$(HOST_MKDIR)) +all: $(EXES) -$(BINDIR): - $(subst @@,$(subst /,$(HOST_PSEP),$@),$(HOST_MKDIR)) +$(EXES): + $(MAKE) --no-print-directory -f $(RULES_MAK) SAMPLE_SRCDIR=$(SRCDIR) SAMPLE_OBJS=$@.o SAMPLE_CFLAGS="$(_CFLAGS)" SAMPLE_LDFLAGS="$(_LDFLAGS)" SAMPLE_EXE=$@ APP=SAMPLE app=sample $(subst /,$(HOST_PSEP),$(BINDIR)/$@) depend: clean: - $(subst @@,$(subst /,$(HOST_PSEP),$(OBJDIR)/*),$(HOST_RMR)) - $(subst @@,$(subst /,$(HOST_PSEP),$(OBJDIR)),$(HOST_RMDIR)) + $(MAKE) -f $(RULES_MAK) APP=SAMPLE app=sample $@ $(subst @@,$(EXES),$(HOST_RM)) - rm -rf $(BINDIR) + $(subst @@,$(BINDIR),$(HOST_RMDIR)) distclean realclean: clean -# $(subst @@,$(subst /,$(HOST_PSEP),$(EXES)) $(subst /,$(HOST_PSEP),$(EXES)),$(HOST_RM)) -# $(subst @@,$(DEP_FILE),$(HOST_RM)) + $(MAKE) -f $(RULES_MAK) APP=SAMPLE app=sample $@ -- cgit v1.2.3