diff options
author | Benny Prijono <bennylp@teluu.com> | 2006-02-07 20:56:50 +0000 |
---|---|---|
committer | Benny Prijono <bennylp@teluu.com> | 2006-02-07 20:56:50 +0000 |
commit | 15a3a4d1c1f53411688c9aa25f29641c370e4d8a (patch) | |
tree | 9c8dc3f120d204052d172ff4ac6d8270c611370e /pjsip/build | |
parent | 977f5f3b80ea2ba93b544ebf92def456bbaba8a7 (diff) |
Updated Makefile for cygwin/mingw build and fix misc warnings
git-svn-id: http://svn.pjsip.org/repos/pjproject/trunk@145 74dad513-b988-da41-8d7b-12977e46ad98
Diffstat (limited to 'pjsip/build')
-rw-r--r-- | pjsip/build/Makefile | 144 | ||||
-rw-r--r-- | pjsip/build/make-linux-i386.inc | 58 | ||||
-rw-r--r-- | pjsip/build/make-mingw.inc | 56 | ||||
-rw-r--r-- | pjsip/build/make-optimize.inc | 10 | ||||
-rw-r--r-- | pjsip/build/make-rules | 119 |
5 files changed, 92 insertions, 295 deletions
diff --git a/pjsip/build/Makefile b/pjsip/build/Makefile index 930ffd1d..5be4a877 100644 --- a/pjsip/build/Makefile +++ b/pjsip/build/Makefile @@ -1,73 +1,113 @@ -include make-$(TARGET).inc - +include ../../build/common.mak + +RULES_MAK := ../../build/rules.mak + +PJLIB_LIB:=../../pjlib/lib/libpj-$(MACHINE_NAME)-$(OS_NAME)-$(CC_NAME)$(LIBEXT) +PJLIB_UTIL_LIB:=../../pjlib-util/lib/libpjlib-util-$(MACHINE_NAME)-$(OS_NAME)-$(CC_NAME)$(LIBEXT) +PJMEDIA_LIB:=../../pjmedia/lib/libpjmedia-$(MACHINE_NAME)-$(OS_NAME)-$(CC_NAME)$(LIBEXT) + +export PJSIP_LIB:=../lib/libpjsip-$(MACHINE_NAME)-$(OS_NAME)-$(CC_NAME)$(LIBEXT) +export PJSIP_UA_LIB:=../lib/libpjsip-ua-$(MACHINE_NAME)-$(OS_NAME)-$(CC_NAME)$(LIBEXT) + + +############################################################################### +# Gather all flags. +# +export _CFLAGS := -O2 -g $(CC_CFLAGS) $(OS_CFLAGS) $(HOST_CFLAGS) $(M_CFLAGS) \ + $(CFLAGS) $(CC_INC)../include $(CC_INC)../../pjlib/include \ + $(CC_INC)../../pjlib-util/include $(CC_INC)../../pjmedia/include +export _CXXFLAGS:= $(_CFLAGS) $(CC_CXXFLAGS) $(OS_CXXFLAGS) $(M_CXXFLAGS) \ + $(HOST_CXXFLAGS) $(CXXFLAGS) +export _LDFLAGS := $(subst /,$(HOST_PSEP),$(PJSIP_UA_LIB)) \ + $(subst /,$(HOST_PSEP),$(PJSIP_LIB)) \ + $(subst /,$(HOST_PSEP),$(PJMEDIA_LIB)) \ + $(subst /,$(HOST_PSEP),$(PJLIB_UTIL_LIB)) \ + $(subst /,$(HOST_PSEP),$(PJLIB_LIB)) \ + $(CC_LDFLAGS) $(OS_LDFLAGS) $(M_LDFLAGS) $(HOST_LDFLAGS) \ + $(LDFLAGS) + + +############################################################################### +# Defines for building PJSIP core library +# export PJSIP_SRCDIR = ../src/pjsip -export PJSIP_SRCEXT = .c -export PJSIP_SRCS = $(PJSIP_SOURCES) sip_auth.c sip_auth_msg.c sip_auth_parser.c \ - sip_endpoint.c sip_misc.c sip_msg.c sip_parser.c \ - sip_resolve.c sip_transaction.c sip_transport.c sip_uri.c - -export PJSIP_UA_SRCDIR = ../src/pjsip_mod_ua -export PJSIP_UA_SRCEXT = .c -export PJSIP_UA_SRCS = $(PJSIP_UA_SOURCES) sip_dialog.c sip_reg.c sip_ua.c +export PJSIP_OBJS += $(OS_OBJS) $(M_OBJS) $(CC_OBJS) $(HOST_OBJS) \ + sip_errno.o sip_msg.o sip_parser.o sip_tel_uri.o sip_uri.o \ + sip_endpoint.o sip_util.o sip_util_proxy.o \ + sip_resolve.o sip_transport.o sip_transport_loop.o sip_transport_udp.o \ + sip_auth_client.o sip_auth_msg.o sip_auth_parser.o sip_auth_server.o \ + sip_transaction.o sip_util_statefull.o \ + sip_dialog.o sip_ua_layer.o +export PJSIP_CFLAGS += $(_CFLAGS) + +############################################################################### +# Defines for building PJSIP UA library +# +export PJSIP_UA_SRCDIR = ../src/pjsip-ua +export PJSIP_UA_OBJS += $(OS_OBJS) $(M_OBJS) $(CC_OBJS) $(HOST_OBJS) \ + sip_inv.o sip_reg.o +export PJSIP_UA_CFLAGS += $(_CFLAGS) + + +############################################################################### +# Defines for building PJSUA +# +export PJSUA_SRCDIR = ../src/pjsua +export PJSUA_OBJS += $(OS_OBJS) $(M_OBJS) $(CC_OBJS) $(HOST_OBJS) \ + main.o pjsua_reg.o pjsua.o +export PJSUA_CFLAGS += $(_CFLAGS) +export PJSUA_LDFLAGS += $(_LDFLAGS) +export PJSUA_EXE:=../bin/pjsua-$(MACHINE_NAME)-$(OS_NAME)-$(CC_NAME)$(HOST_EXE) -export PJSIP_SIMPLE_SRCDIR = ../src/pjsip_simple -export PJSIP_SIMPLE_SRCEXT = .c -export PJSIP_SIMPLE_SRCS = $(PJSIP_SIMPLE_SOURCES) event_notify.c event_notify_msg.c \ - messaging.c pidf.c presence.c xpidf.c -export PJSUA_SRCDIR = ../src/pjsua -export PJSUA_SRCEXT = .c -export PJSUA_SRCS = $(PJSUA_SOURCES) main.c getopt.c -export TARGET CCOUT CC AR RANLIB MV RM RMDIR MKDIR OBJEXT LD LDOUT +export CC_OUT CC AR RANLIB HOST_MV HOST_RM HOST_RMDIR HOST_MKDIR OBJEXT LD LDOUT +############################################################################### +# Main entry +# +# +TARGETS := pjsip pjsip-ua pjsua -all: pjsip pjsip_ua pjsip_simple pjsua +all: $(TARGETS) doc: cd .. && doxygen docs/doxygen.cfg -print: - $(MAKE) -f make-rules APP=PJSIP app=pjsip print_lib - $(MAKE) -f make-rules APP=PJSIP_UA app=pjsip_ua print_lib - $(MAKE) -f make-rules APP=PJSIP_SIMPLE app=pjsip_simple print_lib - $(MAKE) -f make-rules APP=PJSUA app=pjsua print_bin - -depend: - $(MAKE) -f make-rules APP=PJSIP app=pjsip depend - $(MAKE) -f make-rules APP=PJSUA app=pjsua depend - $(MAKE) -f make-rules APP=PJSIP_UA app=pjsip_ua depend - $(MAKE) -f make-rules APP=PJSIP_SIMPLE app=pjsip_simple depend - echo '$(PJSUA_EXE): $(PJSIP_LIB) $(PJSIP_UA_LIB)' >> .pjsua.depend - dep: depend +distclean: realclean + +.PHONY: dep depend pjsip pjsip-ua pjsua clean realclean distclean pjsip: - $(MAKE) -f make-rules APP=PJSIP app=pjsip $(PJSIP_LIB) + $(MAKE) -f $(RULES_MAK) APP=PJSIP app=pjsip $(PJSIP_LIB) -pjsua: - $(MAKE) -f make-rules APP=PJSUA app=pjsua $(PJSUA_EXE) +pjsip-ua: + $(MAKE) -f $(RULES_MAK) APP=PJSIP_UA app=pjsip-ua $(PJSIP_UA_LIB) -pjsip_ua: - $(MAKE) -f make-rules APP=PJSIP_UA app=pjsip_ua $(PJSIP_UA_LIB) +pjsua: $(PJSIP_LIB) $(PJSIP_UA_LIB) + $(MAKE) -f $(RULES_MAK) APP=PJSUA app=pjsua $(PJSUA_EXE) -pjsip_simple: - $(MAKE) -f make-rules APP=PJSIP_SIMPLE app=pjsip_simple $(PJSIP_SIMPLE_LIB) +.PHONY: ../lib/pjsip.ko +../lib/pjsip.ko: + echo Making $@ + $(MAKE) -f $(RULES_MAK) APP=PJSIP app=pjsip $@ -samples: - gcc $(_CFLAGS) -o ../bin/simpleua ../src/samples/simpleua.c $(_LDFLAGS) +.PHONY: ../lib/pjsip-ua.ko +../lib/pjsip-ua.ko: + echo Making $@ + $(MAKE) -f $(RULES_MAK) APP=PJSIP_UA app=pjsip-ua $@ -clean: - $(MAKE) -f make-rules APP=PJSIP app=pjsip clean - $(MAKE) -f make-rules APP=PJSUA app=pjsua clean - $(MAKE) -f make-rules APP=PJSIP_UA app=pjsip_ua clean - $(MAKE) -f make-rules APP=PJSIP_SIMPLE app=pjsip_simple clean +.PHONY: ../lib/pjsua.ko +../lib/pjsua.ko: + $(MAKE) -f $(RULES_MAK) APP=PJSUA app=pjsua $@ -realclean: - $(MAKE) -f make-rules APP=PJSIP app=pjsip realclean - $(MAKE) -f make-rules APP=PJSUA app=pjsua realclean - $(MAKE) -f make-rules APP=PJSIP_UA app=pjsip_ua realclean - $(MAKE) -f make-rules APP=PJSIP_SIMPLE app=pjsip_simple realclean +clean depend realclean: + $(MAKE) -f $(RULES_MAK) APP=PJSIP app=pjsip $@ + $(MAKE) -f $(RULES_MAK) APP=PJSIP_UA app=pjsip-ua $@ + $(MAKE) -f $(RULES_MAK) APP=PJSUA app=pjsua $@ + @if test "$@" == "depend"; then \ + echo '$(PJSUA_EXE): $(PJSIP_LIB) $(PJSIP_UA_LIB)' >> .pjsua-$(MACHINE_NAME)-$(OS_NAME)-$(CC_NAME).depend; \ + fi -distclean: realclean diff --git a/pjsip/build/make-linux-i386.inc b/pjsip/build/make-linux-i386.inc deleted file mode 100644 index 015876ab..00000000 --- a/pjsip/build/make-linux-i386.inc +++ /dev/null @@ -1,58 +0,0 @@ -# -# make-linux-i386.inc: Platform specific rules for Linux i386 compile. -# - -# -# Include PJLIB settings. -# -include ../../pjlib/build/make-$(TARGET).inc - -# -# make-optimize.inc declares PJSIP_OPTIMIZE variable -# -include make-optimize.inc - - - -_CFLAGS := $(_CFLAGS) -I../../pjlib/src -I../../pjmedia/src \ - -I../src $(PJSIP_OPTIMIZE) -_LDFLAGS := $(_LDFLAGS) -L../lib -L../../pjlib/lib \ - -L../../pjmedia/lib -lpjsip_core -lpjsip_ua -lpjsip_simple \ - -lpjmedia -lpj -lpthread - -# -# libpjsip_core.a -# -export PJSIP_SOURCES = -export PJSIP_CFLAGS = $(_CFLAGS) -export PJSIP_LIB = ../lib/libpjsip_core.a -export PJSIP_EXTRA_DEP := - -# -# libpjsip_ua.a -# -export PJSIP_UA_SOURCES = -export PJSIP_UA_CFLAGS = $(_CFLAGS) -export PJSIP_UA_LIB = ../lib/libpjsip_ua.a -export PJSIP_UA_EXTRA_DEP := - -# -# libpjsip_simple.a -# -export PJSIP_SIMPLE_SOURCES := -export PJSIP_SIMPLE_CFLAGS := $(_CFLAGS) -export PJSIP_SIMPLE_LIB := ../lib/libpjsip_simple.a -export PJSIP_SIMPLE_EXTRA_LIB := - -# -# pjsua.exe -# -export PJSUA_SOURCES = -export PJSUA_CFLAGS = $(_CFLAGS) -export PJSUA_LDFLAGS = $(_LDFLAGS) -export PJSUA_EXE = ../bin/pjsua -export PJSUA_EXTRA_DEP := ../lib/libpjsip_core.a ../lib/libpjsip_ua.a \ - ../lib/libpjsip_simple.a ../../pjlib/lib/libpj.a \ - ../../pjmedia/lib/libpjmedia.a - - diff --git a/pjsip/build/make-mingw.inc b/pjsip/build/make-mingw.inc deleted file mode 100644 index 96d40152..00000000 --- a/pjsip/build/make-mingw.inc +++ /dev/null @@ -1,56 +0,0 @@ -# -# Platform specific flags -# - -# -# Include PJLIB settings. -# -include ../../pjlib/build/make-$(TARGET).inc - - -# -# make-optimize.inc declares PJSIP_OPTIMIZE variable -# -include make-optimize.inc - - -_CFLAGS := $(_CFLAGS) -I../../pjlib/src -I../../pjmedia/src \ - $(PJSIP_OPTIMIZE) -_LDFLAGS := -L../../pjlib/lib -L../../pjmedia/lib \ - -lpjsip_ua -lpjsip_simple -lpjsip_core -lpjmedia $(_LDFLAGS) - -# -# libpjsip_core.a -# -export PJSIP_SOURCES := -export PJSIP_CFLAGS := $(_CFLAGS) -export PJSIP_LIB := ../lib/libpjsip_core.a -export PJSIP_EXTRA_DEP := - -# -# libpjsip_ua.a -# -export PJSIP_UA_SOURCES := -export PJSIP_UA_CFLAGS := $(_CFLAGS) -export PJSIP_UA_LIB := ../lib/libpjsip_ua.a -export PJSIP_UA_EXTRA_DEP := - -# -# libpjsip_simple.a -# -export PJSIP_SIMPLE_SOURCES := -export PJSIP_SIMPLE_CFLAGS := $(_CFLAGS) -export PJSIP_SIMPLE_LIB := ../lib/libpjsip_simple.a -export PJSIP_SIMPLE_EXTRA_LIB := - - -# -# pjsua.exe -# -export PJSUA_SOURCES := -export PJSUA_CFLAGS := $(_CFLAGS) -export PJSUA_LDFLAGS = $(_LDFLAGS) -export PJSUA_EXE = ../bin/pjsua_mingw.exe -export PJSUA_EXTRA_DEP := ../lib/libpjsip_core.a ../lib/libpjsip_ua.a \ - ../lib/libpjsip_simple.a ../../pjlib/lib/libpj.a \ - ../../pjmedia/lib/libpjmedia.a diff --git a/pjsip/build/make-optimize.inc b/pjsip/build/make-optimize.inc deleted file mode 100644 index ebf9b668..00000000 --- a/pjsip/build/make-optimize.inc +++ /dev/null @@ -1,10 +0,0 @@ - -# -# If MINSIZE is defined, optimize for code size. -# -ifdef MINSIZE -PJSIP_OPTIMIZE := $(PJSIP_OPTIMIZE) -DPJSIP_HAS_DUMP=0 -else -PJSIP_OPTIMIZE := $(PJSIP_OPTIMIZE) -endif - diff --git a/pjsip/build/make-rules b/pjsip/build/make-rules deleted file mode 100644 index d33f5835..00000000 --- a/pjsip/build/make-rules +++ /dev/null @@ -1,119 +0,0 @@ -LIBDIR = ../lib -BINDIR = ../bin - -# -# The full path of output lib file (e.g. ../lib/libapp.a). -# -LIB = $($(APP)_LIB) - -# -# The full path of output executable file (e.g. ../bin/app.exe). -# -EXE = $($(APP)_EXE) - -# -# Source directory -# -SRCDIR = $($(APP)_SRCDIR) - -# -# SRCEXT is .c -# SRCS is file.c -# FULL_SRCS is ../src/app/file.c -# -SRCEXT = $($(APP)_SRCEXT) -SRCS = $($(APP)_SRCS) -FULL_SRCS = $(foreach file, $(SRCS), $(SRCDIR)/$(file)) - - -# -# Output directory for object files (i.e. output/target) -# -OBJDIR = ./output/$(app)-$(TARGET) - -# -# OBJS1 is ./output/target/file.c -# OBJS is ./output/target/file.o -# -OBJS1 = $(foreach file, $(SRCS), $(OBJDIR)/$(file)) -OBJS = $(OBJS1:%$(SRCEXT)=%$(OBJEXT)) -OBJDIRS := $(sort $(foreach file, $(SRCS), $(dir $(OBJDIR)/$(file)))) - - -# -# When generating dependency (gcc -MM), ideally we use only either -# CFLAGS or CXXFLAGS (not both). But I just couldn't make if/ifeq to work. -# -DEPFLAGS = $($(APP)_CXXFLAGS) $($(APP)_CFLAGS) - -print_common: - @echo "###" - @echo "### DUMPING MAKE VARIABLES (I WON'T DO ANYTHING ELSE):" - @echo "###" - @echo APP=$(APP) - @echo SRCEXT=$(SRCEXT) - @echo OBJDIR=$(OBJDIR) - @echo OBJS=$(OBJS) - @echo SRCDIR=$(SRCDIR) - @echo FULL_SRCS=$(FULL_SRCS) - @echo $(APP)_CFLAGS=$($(APP)_CFLAGS) - @echo $(APP)_CXXFLAGS=$($(APP)_CXXFLAGS) - @echo $(APP)_LDFLAGS=$($(APP)_LDFLAGS) - @echo DEPFLAGS=$(DEPFLAGS) - -print_bin: print_common - @echo EXE=$(EXE) - @echo BINDIR=$(BINDIR) - -print_lib: print_common - @echo LIB=$(LIB) - @echo LIBDIR=$(LIBDIR) - -$(LIB): $(LIBDIR) $(OBJDIRS) $(OBJS) $($(APP)_EXTRA_DEP) - $(AR) $(LIB) $(OBJS) - $(RANLIB) $(LIB) - -$(EXE): $(BINDIR) $(OBJDIRS) $(OBJS) $($(APP)_EXTRA_DEP) - $(LD) $(LDOUT) $(EXE) $(OBJS) $($(APP)_LDFLAGS) - -$(OBJDIR)/%$(OBJEXT): $(SRCDIR)/%.c - $(CC) $($(APP)_CFLAGS) $< $(CCOUT) $@ - -$(OBJDIR)/%$(OBJEXT): $(SRCDIR)/%.cpp - $(CC) $($(APP)_CXXFLAGS) $< $(CCOUT) $@ - -#$(OBJDIR): -# $(MKDIR) $(OBJDIR) -$(OBJDIRS): - $(MKDIR) $@ - -$(LIBDIR): - $(MKDIR) $(LIBDIR) - -$(BINDIR): - $(MKDIR) $(BINDIR) - -clean: - $(RM) -r $(OBJDIR)/* - $(RMDIR) $(OBJDIR) - -realclean: clean - $(RM) $(LIB) $(EXE) - $(RM) .$(app).depend - -depend: - $(RM) .$(app).depend - for F in $(FULL_SRCS); do \ - echo -n $(OBJDIR)/ >> .$(app).depend; \ - if gcc -MM $(DEPFLAGS) $$F >> .$(app).depend; then \ - true; \ - else \ - echo 'err:' >> .$(app).depend; \ - exit 1; \ - fi; \ - done - -dep: depend - --include .$(app).depend - |