summaryrefslogtreecommitdiff
path: root/pjmedia/build
diff options
context:
space:
mode:
authorBenny Prijono <bennylp@teluu.com>2006-02-07 19:31:53 +0000
committerBenny Prijono <bennylp@teluu.com>2006-02-07 19:31:53 +0000
commit977f5f3b80ea2ba93b544ebf92def456bbaba8a7 (patch)
tree80f33605f13e37f8b3f435223fd90f8d12487252 /pjmedia/build
parent029611600fbf705576d4e2679bae47cebdc16866 (diff)
Fixed Makefile for cygwin/mingw
git-svn-id: http://svn.pjsip.org/repos/pjproject/trunk@144 74dad513-b988-da41-8d7b-12977e46ad98
Diffstat (limited to 'pjmedia/build')
-rw-r--r--pjmedia/build/Makefile133
-rw-r--r--pjmedia/build/make-linux-i386.inc32
-rw-r--r--pjmedia/build/make-mingw.inc30
-rw-r--r--pjmedia/build/make-rules119
4 files changed, 81 insertions, 233 deletions
diff --git a/pjmedia/build/Makefile b/pjmedia/build/Makefile
index cc650fe4..49064df6 100644
--- a/pjmedia/build/Makefile
+++ b/pjmedia/build/Makefile
@@ -1,67 +1,96 @@
-include make-$(TARGET).inc
+include ../../build/common.mak
-export PJMEDIA_SRCEXT = .c
+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)
+
+export PJMEDIA_LIB:=../lib/libpjmedia-$(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
+export _CXXFLAGS:= $(_CFLAGS) $(CC_CXXFLAGS) $(OS_CXXFLAGS) $(M_CXXFLAGS) \
+ $(HOST_CXXFLAGS) $(CXXFLAGS)
+export _LDFLAGS := $(subst /,$(HOST_PSEP),$(PJMEDIA_LIB)) \
+ $(subst /,$(HOST_PSEP),$(PJLIB_LIB)) \
+ $(subst /,$(HOST_PSEP),$(PJLIB_UTIL_LIB)) \
+ $(CC_LDFLAGS) $(OS_LDFLAGS) $(M_LDFLAGS) $(HOST_LDFLAGS) \
+ $(LDFLAGS)
+
+###############################################################################
+# Defines for building PJMEDIA library
+#
+PA_DIR:=portaudio
export PJMEDIA_SRCDIR = ../src/pjmedia
-export PJMEDIA_SRCS = $(PJMEDIA_SOURCES) codec.c jbuf.c rtp.c mediamgr.c \
- session.c g711.c rtcp.c stream.c sdp.c pasound.c \
- $(PA_DIR)/pa_allocation.c \
- $(PA_DIR)/pa_converters.c \
- $(PA_DIR)/pa_cpuload.c \
- $(PA_DIR)/pa_dither.c \
- $(PA_DIR)/pa_front.c \
- $(PA_DIR)/pa_process.c \
- $(PA_DIR)/pa_skeleton.c \
- $(PA_DIR)/pa_stream.c \
- $(PA_DIR)/pa_trace.c
-
-export TEST_SRCEXT = .c
-export TEST_SRCDIR = ../src/test
-export TEST_SRCS = $(TEST_SOURCES) jbuf_test.c rtp_test.c main.c \
- session_test.c sdptest.c
-
-
-export PJAUT_SRCEXT = .c
-export PJAUT_SRCDIR = ../src/test
-export PJAUT_SRCS = $(PJAUT_SOURCES) audio_tool.c
-
-export CCOUT CC AR RANLIB MV RM RMDIR MKDIR OBJEXT LD LDOUT
-
-all: pjmedia test pjaut
+export PJMEDIA_OBJS += $(OS_OBJS) $(M_OBJS) $(CC_OBJS) $(HOST_OBJS) \
+ codec.o errno.o g711.o jbuf.o mediamgr.o rtcp.o \
+ rtp.o sdp.o sdp_cmp.o sdp_neg.o stream.o \
+# pasound.o \
+# $(PA_DIR)/pa_allocation.o \
+# $(PA_DIR)/pa_converters.o \
+# $(PA_DIR)/pa_cpuload.o \
+# $(PA_DIR)/pa_dither.o \
+# $(PA_DIR)/pa_front.o \
+# $(PA_DIR)/pa_process.o \
+# $(PA_DIR)/pa_skeleton.o \
+# $(PA_DIR)/pa_stream.o \
+# $(PA_DIR)/pa_trace.o
-doc:
- cd .. && doxygen docs/doxygen.cfg
+export PJMEDIA_CFLAGS += $(_CFLAGS)
+
+
+###############################################################################
+# Defines for building test application
+#
+export PJMEDIA_TEST_SRCDIR = ../src/test
+export PJMEDIA_TEST_OBJS += jbuf_test.o main.o rtp_test.o sdp_neg_test.o test.o
+export PJMEDIA_TEST_CFLAGS += $(_CFLAGS)
+export PJMEDIA_TEST_LDFLAGS += $(_LDFLAGS)
+export PJMEDIA_TEST_EXE:=../bin/pjmedia-test-$(MACHINE_NAME)-$(OS_NAME)-$(CC_NAME)$(HOST_EXE)
-print:
- $(MAKE) -f make-rules APP=PJMEDIA app=pjmedia print_lib
- $(MAKE) -f make-rules APP=TEST app=test print_bin
- $(MAKE) -f make-rules APP=PJAUT app=pjaut print_bin
-depend:
- $(MAKE) -f make-rules APP=PJMEDIA app=pjmedia depend
- $(MAKE) -f make-rules APP=TEST app=test depend
- $(MAKE) -f make-rules APP=PJAUT app=pjaut depend
+export CC_OUT CC AR RANLIB HOST_MV HOST_RM HOST_RMDIR HOST_MKDIR OBJEXT LD LDOUT
+###############################################################################
+# Main entry
+#
+# $(TARGET) is defined in os-$(OS_NAME).mak file in current directory.
+#
+TARGETS := pjmedia pjmedia-test
+
+all: $(TARGETS)
+
+doc:
+ cd .. && doxygen docs/doxygen.cfg
dep: depend
+distclean: realclean
+
+.PHONY: dep depend pjmedia pjmedia-test clean realclean distclean
pjmedia:
- $(MAKE) -f make-rules APP=PJMEDIA app=pjmedia $(PJMEDIA_LIB)
+ $(MAKE) -f $(RULES_MAK) APP=PJMEDIA app=pjmedia $(PJMEDIA_LIB)
-test:
- $(MAKE) -f make-rules APP=TEST app=test $(TEST_EXE)
+pjmedia-test: $(PJMEDIA_LIB)
+ $(MAKE) -f $(RULES_MAK) APP=PJMEDIA_TEST app=pjmedia-test $(PJMEDIA_TEST_EXE)
-pjaut:
- $(MAKE) -f make-rules APP=PJAUT app=pjaut $(PJAUT_EXE)
-
-clean:
- $(MAKE) -f make-rules APP=PJMEDIA app=pjmedia clean
- $(MAKE) -f make-rules APP=TEST app=test clean
- $(MAKE) -f make-rules APP=PJAUT app=pjaut clean
+.PHONY: ../lib/pjmedia.ko
+../lib/pjmedia.ko:
+ echo Making $@
+ $(MAKE) -f $(RULES_MAK) APP=PJMEDIA app=pjmedia $@
-realclean:
- $(MAKE) -f make-rules APP=PJMEDIA app=pjmedia realclean
- $(MAKE) -f make-rules APP=TEST app=test realclean
- $(MAKE) -f make-rules APP=PJAUT app=pjaut realclean
+.PHONY: ../lib/pjmedia-test.ko
+../lib/pjmedia-test.ko:
+ $(MAKE) -f $(RULES_MAK) APP=PJMEDIA_TEST app=pjmedia-test $@
-distclean: realclean
+clean depend realclean:
+ $(MAKE) -f $(RULES_MAK) APP=PJMEDIA app=pjmedia $@
+ $(MAKE) -f $(RULES_MAK) APP=PJMEDIA_TEST app=pjmedia-test $@
+ @if test "$@" == "depend"; then \
+ echo '$(PJMEDIA_TEST_EXE): $(PJMEDIA_LIB)' >> .pjmedia-test-$(MACHINE_NAME)-$(OS_NAME)-$(CC_NAME).depend; \
+ fi
diff --git a/pjmedia/build/make-linux-i386.inc b/pjmedia/build/make-linux-i386.inc
deleted file mode 100644
index e09320bf..00000000
--- a/pjmedia/build/make-linux-i386.inc
+++ /dev/null
@@ -1,32 +0,0 @@
-include ../../pjlib/build/make-$(TARGET).inc
-
-PA_DIR := portaudio
-PA_CFLAGS := -DPA_LITTLE_ENDIAN -DPA_USE_OSS \
- -I$(PA_DIR) -I../src/pjmedia/portaudio
-
-_CFLAGS := $(_CFLAGS) -I../src -I../../pjlib/src $(PA_CFLAGS)
-_LDFLAGS := $(_LDFLAGS) -L../lib -L../../pjlib/lib \
- -lpjmedia -lpj -lpthread
-
-export PA_SOURCES := $(PA_DIR)/pa_unix_hostapis.c \
- $(PA_DIR)/pa_unix_util.c \
- $(PA_DIR)/pa_unix_oss.c
-# $(PA_DIR)/pa_linux_alsa.c
-
-
-export PJMEDIA_SOURCES = $(PA_SOURCES)
-export PJMEDIA_CFLAGS = $(_CFLAGS)
-export PJMEDIA_LIB = ../lib/libpjmedia.a
-export PJMEDIA_EXTRA_DEP := ../../pjlib/build/$(PJLIB_LIB)
-
-export TEST_EXE := ../bin/test_linux
-export TEST_SOURCES :=
-export TEST_CFLAGS := $(PJMEDIA_CFLAGS)
-export TEST_LDFLAGS := $(_LDFLAGS)
-export TEST_EXTRA_DEP := $(PJMEDIA_LIB)
-
-export PJAUT_EXE := ../bin/pjaut_linux
-export PJAUT_SOURCES :=
-export PJAUT_CFLAGS := $(PJMEDIA_CFLAGS)
-export PJAUT_LDFLAGS = $(_LDFLAGS)
-export PJAUT_EXTRA_DEP := $(PJMEDIA_LIB)
diff --git a/pjmedia/build/make-mingw.inc b/pjmedia/build/make-mingw.inc
deleted file mode 100644
index 9db9fa7a..00000000
--- a/pjmedia/build/make-mingw.inc
+++ /dev/null
@@ -1,30 +0,0 @@
-include ../../pjlib/build/make-$(TARGET).inc
-
-PA_DIR := portaudio
-PA_CFLAGS := -DPA_NO_ASIO -DPA_NO_DS -I$(PA_DIR) -I../src/pjmedia/portaudio
-
-_CFLAGS := $(_CFLAGS) -I../src -I../../pjlib/src $(PA_CFLAGS)
-_LDFLAGS := -L../../pjlib/lib -lpjmedia $(_LDFLAGS) -lwinmm
-
-
-export PA_SOURCES := $(PA_DIR)/pa_win_hostapis.c \
- $(PA_DIR)/pa_win_util.c \
- $(PA_DIR)/pa_win_wmme.c
-# $(PA_DIR)/pa_x86_plain_converters.c \
-
-export PJMEDIA_SOURCES := $(PA_SOURCES)
-export PJMEDIA_CFLAGS := $(_CFLAGS)
-export PJMEDIA_LIB := ../lib/libpjmedia.a
-export PJMEDIA_EXTRA_DEP := ../../pjlib/build/$(PJLIB_LIB)
-
-export TEST_EXE := ../bin/test_mingw.exe
-export TEST_SOURCES :=
-export TEST_CFLAGS := $(_CFLAGS)
-export TEST_LDFLAGS := $(_LDFLAGS)
-export TEST_EXTRA_DEP := $(PJMEDIA_LIB)
-
-export PJAUT_EXE := ../bin/pjaut_mingw.exe
-export PJAUT_SOURCES :=
-export PJAUT_CFLAGS = $(_CFLAGS)
-export PJAUT_LDFLAGS := $(_LDFLAGS)
-export PJAUT_EXTRA_DEP := $(PJMEDIA_LIB)
diff --git a/pjmedia/build/make-rules b/pjmedia/build/make-rules
deleted file mode 100644
index d33f5835..00000000
--- a/pjmedia/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
-