Fixed Makefile for cygwin/mingw

git-svn-id: https://svn.pjsip.org/repos/pjproject/trunk@144 74dad513-b988-da41-8d7b-12977e46ad98
This commit is contained in:
Benny Prijono 2006-02-07 19:31:53 +00:00
parent 37685d55e8
commit b8528f4440
5 changed files with 86 additions and 238 deletions

View File

@ -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 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
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 PJMEDIA_CFLAGS += $(_CFLAGS)
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
###############################################################################
# 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)
all: pjmedia test pjaut
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
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
dep: depend
pjmedia:
$(MAKE) -f make-rules APP=PJMEDIA app=pjmedia $(PJMEDIA_LIB)
test:
$(MAKE) -f make-rules APP=TEST app=test $(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
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
distclean: realclean
.PHONY: dep depend pjmedia pjmedia-test clean realclean distclean
pjmedia:
$(MAKE) -f $(RULES_MAK) APP=PJMEDIA app=pjmedia $(PJMEDIA_LIB)
pjmedia-test: $(PJMEDIA_LIB)
$(MAKE) -f $(RULES_MAK) APP=PJMEDIA_TEST app=pjmedia-test $(PJMEDIA_TEST_EXE)
.PHONY: ../lib/pjmedia.ko
../lib/pjmedia.ko:
echo Making $@
$(MAKE) -f $(RULES_MAK) APP=PJMEDIA app=pjmedia $@
.PHONY: ../lib/pjmedia-test.ko
../lib/pjmedia-test.ko:
$(MAKE) -f $(RULES_MAK) APP=PJMEDIA_TEST app=pjmedia-test $@
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

View File

@ -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)

View File

@ -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)

View File

@ -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

View File

@ -1017,7 +1017,7 @@ static int offer_answer_test(pj_pool_t *pool, pjmedia_sdp_neg **p_neg,
}
/* Give the answer to negotiator. */
status = pjmedia_sdp_neg_rx_remote_answer(pool, neg, sdp2);
status = pjmedia_sdp_neg_set_remote_answer(pool, neg, sdp2);
if (status != PJ_SUCCESS) {
app_perror(status, " error: pjmedia_sdp_neg_rx_remote_answer");
return -60;
@ -1031,7 +1031,7 @@ static int offer_answer_test(pj_pool_t *pool, pjmedia_sdp_neg **p_neg,
}
/* Get the local active media. */
status = pjmedia_sdp_neg_get_local(neg, &active);
status = pjmedia_sdp_neg_get_active_local(neg, &active);
if (status != PJ_SUCCESS) {
app_perror(status, " error: pjmedia_sdp_neg_get_local");
return -80;
@ -1103,7 +1103,7 @@ static int offer_answer_test(pj_pool_t *pool, pjmedia_sdp_neg **p_neg,
} else {
/* Received subsequent offer from remote. */
status = pjmedia_sdp_neg_rx_remote_offer(pool, neg, sdp1);
status = pjmedia_sdp_neg_set_remote_offer(pool, neg, sdp1);
if (status != PJ_SUCCESS) {
app_perror(status, " error: pjmedia_sdp_neg_rx_remote_offer");
return -230;
@ -1118,7 +1118,7 @@ static int offer_answer_test(pj_pool_t *pool, pjmedia_sdp_neg **p_neg,
}
/* Get our answer. */
status = pjmedia_sdp_neg_get_local(neg, &answer);
status = pjmedia_sdp_neg_get_active_local(neg, &answer);
if (status != PJ_SUCCESS) {
app_perror(status, " error: pjmedia_sdp_neg_get_local");
return -250;