From b5a1af6f999820564ead4867b1e5d5574778ee56 Mon Sep 17 00:00:00 2001 From: Benny Prijono Date: Mon, 31 Oct 2005 21:02:30 +0000 Subject: initial import git-svn-id: http://svn.pjsip.org/repos/pjproject/main@1 74dad513-b988-da41-8d7b-12977e46ad98 --- pjlib/build/Makefile | 151 +++++++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 151 insertions(+) create mode 100644 pjlib/build/Makefile (limited to 'pjlib/build/Makefile') diff --git a/pjlib/build/Makefile b/pjlib/build/Makefile new file mode 100644 index 00000000..7bffdc99 --- /dev/null +++ b/pjlib/build/Makefile @@ -0,0 +1,151 @@ +# +# Include host/target/compiler selection. +# This will export CC_NAME, MACHINE_NAME, OS_NAME, and HOST_NAME variables. +# +include ../../build.mak + +# +# Include global compiler specific definitions +# +include ../../build/cc-$(CC_NAME).mak + +# +# (Optionally) Include compiler specific configuration that is +# specific to this project. This configuration file is +# located in this directory. +# +-include cc-$(CC_NAME).mak + +# +# Include global machine specific definitions +# +include ../../build/m-$(MACHINE_NAME).mak +-include m-$(MACHINE_NAME).mak + +# +# Include target OS specific definitions +# +include ../../build/os-$(OS_NAME).mak + +# +# (Optionally) Include target OS specific configuration that is +# specific to this project. This configuration file is +# located in this directory. +# +-include os-$(OS_NAME).mak + +# +# Include host specific definitions +# +include ../../build/host-$(HOST_NAME).mak + +# +# (Optionally) Include host specific configuration that is +# specific to this project. This configuration file is +# located in this directory. +# +-include host-$(HOST_NAME).mak + +# +# Include global user configuration, if any +# +-include ../../user.mak + + +RULES_MAK := ../../build/rules.mak + + +export PJLIB_LIB := ../lib/libpj-$(MACHINE_NAME)-$(OS_NAME)-$(CC_NAME)$(LIBEXT) + +############################################################################### +# Gather all flags. +# +export _CFLAGS := $(CC_CFLAGS) $(OS_CFLAGS) $(HOST_CFLAGS) $(M_CFLAGS) \ + $(CFLAGS) $(CC_INC)../include +export _CXXFLAGS:= $(_CFLAGS) $(CC_CXXFLAGS) $(OS_CXXFLAGS) $(M_CXXFLAGS) \ + $(HOST_CXXFLAGS) $(CXXFLAGS) +export _LDFLAGS := $(subst /,$(HOST_PSEP),$(PJLIB_LIB)) \ + $(CC_LDFLAGS) $(OS_LDFLAGS) $(M_LDFLAGS) $(HOST_LDFLAGS) \ + $(LDFLAGS) + +############################################################################### +# Defines for building PJLIB library +# +export PJLIB_SRCDIR = ../src/pj +export PJLIB_OBJS += $(OS_OBJS) $(M_OBJS) $(CC_OBJS) $(HOST_OBJS) \ + array.o config.o errno.o except.o fifobuf.o guid.o \ + hash.o list.o lock.o log.o \ + md5.o pool.o pool_caching.o rand.o \ + rbtree.o scanner.o string.o stun.o stun_client.o timer.o \ + types.o xml.o symbols.o +export PJLIB_CFLAGS += $(_CFLAGS) + +############################################################################### +# Defines for building test application +# +export TEST_SRCDIR = ../src/pjlib-test +export TEST_OBJS += atomic.o echo_clt.o echo_srv.o errno.o exception.o \ + fifobuf.o \ + ioq_perf.o ioq_udp.o ioq_tcp.o \ + list.o mutex.o os.o pool.o pool_perf.o rand.o rbtree.o \ + select.o sleep.o sock.o sock_perf.o \ + string.o test.o thread.o timer.o timestamp.o \ + udp_echo_srv_sync.o \ + util.o xml.o +export TEST_CFLAGS += $(_CFLAGS) +export TEST_LDFLAGS += $(_LDFLAGS) +export TEST_EXE := ../bin/pjlib-test-$(MACHINE_NAME)-$(OS_NAME)-$(CC_NAME)$(HOST_EXE) + + +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. +# + +all: $(TARGETS) + +doc: + cd .. && doxygen docs/doxygen.cfg + +print: + $(MAKE) -f $(RULES_MAK) APP=PJLIB app=pjlib print_lib + $(MAKE) -f $(RULES_MAK) APP=TEST app=pjlib-test print_bin + +depend: + $(MAKE) -f $(RULES_MAK) APP=PJLIB app=pjlib depend + $(MAKE) -f $(RULES_MAK) APP=TEST app=pjlib-test depend + echo '$(TEST_EXE): $(PJLIB_LIB)' >> .pjlib-test-$(MACHINE_NAME)-$(OS_NAME)-$(CC_NAME).depend + + +.PHONY: dep depend pjlib pjlib-test clean realclean distclean + +dep: depend + +pjlib: + $(MAKE) -f $(RULES_MAK) APP=PJLIB app=pjlib $(PJLIB_LIB) + +pjlib-test: + $(MAKE) -f $(RULES_MAK) APP=TEST app=pjlib-test $(TEST_EXE) + +.PHONY: ../lib/pjlib.ko +../lib/pjlib.ko: + echo Making $@ + $(MAKE) -f $(RULES_MAK) APP=PJLIB app=pjlib $@ + +.PHONY: ../lib/pjlib-test.ko +../lib/pjlib-test.ko: + $(MAKE) -f $(RULES_MAK) APP=TEST app=pjlib-test $@ + +clean: + $(MAKE) -f $(RULES_MAK) APP=PJLIB app=pjlib clean + $(MAKE) -f $(RULES_MAK) APP=TEST app=pjlib-test clean + +realclean: + $(MAKE) -f $(RULES_MAK) APP=PJLIB app=pjlib realclean + $(MAKE) -f $(RULES_MAK) APP=TEST app=pjlib-test realclean + +distclean: realclean + -- cgit v1.2.3