summaryrefslogtreecommitdiff
path: root/build
diff options
context:
space:
mode:
authorBenny Prijono <bennylp@teluu.com>2005-10-31 21:02:30 +0000
committerBenny Prijono <bennylp@teluu.com>2005-10-31 21:02:30 +0000
commitb5a1af6f999820564ead4867b1e5d5574778ee56 (patch)
tree8323d870699994f8b75001f961fd5e1780c0f76a /build
initial import
git-svn-id: http://svn.pjsip.org/repos/pjproject/main@1 74dad513-b988-da41-8d7b-12977e46ad98
Diffstat (limited to 'build')
-rw-r--r--build/cc-gcc.mak22
-rw-r--r--build/cc-vc.mak20
-rw-r--r--build/host-mingw.mak13
-rw-r--r--build/host-unix.mak13
-rw-r--r--build/host-win32.mak12
-rw-r--r--build/m-alpha.mak4
-rw-r--r--build/m-i386.mak4
-rw-r--r--build/m-m68k.mak4
-rw-r--r--build/os-linux-kernel.mak43
-rw-r--r--build/os-linux.mak9
-rw-r--r--build/os-palmos.mak32
-rw-r--r--build/os-win32.mak11
-rw-r--r--build/pjproject.dsw233
-rw-r--r--build/pjproject.sln187
-rw-r--r--build/rules.mak164
15 files changed, 771 insertions, 0 deletions
diff --git a/build/cc-gcc.mak b/build/cc-gcc.mak
new file mode 100644
index 00000000..9a48519d
--- /dev/null
+++ b/build/cc-gcc.mak
@@ -0,0 +1,22 @@
+export CC = $(CROSS_COMPILE)gcc -c
+export AR = $(CROSS_COMPILE)ar r
+export LD = $(CROSS_COMPILE)gcc
+export LDOUT = -o
+export RANLIB = $(CROSS_COMPILE)ranlib
+
+export OBJEXT := .o
+export LIBEXT := .a
+export LIBEXT2 :=
+
+export CC_OUT := -o
+export CC_INC := -I
+export CC_DEF := -D
+export CC_OPTIMIZE := -O2
+export CC_LIB := -l
+
+export CC_SOURCES :=
+export CC_CFLAGS := -Wall
+#export CC_CFLAGS += -Wdeclaration-after-statement
+#export CC_CXXFLAGS := -Wdeclaration-after-statement
+export CC_LDFLAGS :=
+
diff --git a/build/cc-vc.mak b/build/cc-vc.mak
new file mode 100644
index 00000000..68870ea5
--- /dev/null
+++ b/build/cc-vc.mak
@@ -0,0 +1,20 @@
+export CC := cl /c /nologo
+export AR := lib /NOLOGO /OUT:
+export LD := cl /nologo
+export LDOUT := /Fe
+export RANLIB := echo ranlib
+
+export OBJEXT := .obj
+export LIBEXT := .lib
+export LIBEXT2 := .LIB
+
+export CC_OUT := /Fo
+export CC_INC := /I
+export CC_DEF := /D
+export CC_OPTIMIZE := /Ox
+export CC_LIB :=
+
+export CC_SOURCES :=
+export CC_CFLAGS := /W4 /MT
+export CC_CXXFLAGS := /GX
+export CC_LDFLAGS := /MT
diff --git a/build/host-mingw.mak b/build/host-mingw.mak
new file mode 100644
index 00000000..fc7eaf35
--- /dev/null
+++ b/build/host-mingw.mak
@@ -0,0 +1,13 @@
+export HOST_MV := mv
+export HOST_RM := rm -f @@
+export HOST_RMR := rm -rf @@
+export HOST_RMDIR := rm -rf @@
+export HOST_MKDIR := mkdir @@
+export HOST_EXE := .exe
+export HOST_PSEP := /
+
+export HOST_SOURCES :=
+export HOST_CFLAGS :=
+export HOST_CXXFLAGS :=
+export HOST_LDFLAGS := $(CC_LIB)stdc++$(LIBEXT2)
+
diff --git a/build/host-unix.mak b/build/host-unix.mak
new file mode 100644
index 00000000..ae692a31
--- /dev/null
+++ b/build/host-unix.mak
@@ -0,0 +1,13 @@
+export HOST_MV := mv
+export HOST_RM := rm -f @@
+export HOST_RMR := rm -rf @@
+export HOST_RMDIR := rm -rf @@
+export HOST_MKDIR := mkdir @@
+export HOST_EXE :=
+export HOST_PSEP := /
+
+export HOST_SOURCES :=
+export HOST_CFLAGS :=
+export HOST_CXXFLAGS :=
+export HOST_LDFLAGS :=
+
diff --git a/build/host-win32.mak b/build/host-win32.mak
new file mode 100644
index 00000000..d9dc635e
--- /dev/null
+++ b/build/host-win32.mak
@@ -0,0 +1,12 @@
+export HOST_MV := ren
+export HOST_RM := if exist @@; del /F /Q @@
+export HOST_RMR := if exist @@; del /F /Q @@
+export HOST_RMDIR := if exist @@; rmdir @@
+export HOST_MKDIR := if not exist @@; mkdir @@
+export HOST_EXE := .exe
+export HOST_PSEP := \\
+
+export HOST_SOURCES :=
+export HOST_CFLAGS :=
+export HOST_CXXFLAGS :=
+export HOST_LDFLAGS :=
diff --git a/build/m-alpha.mak b/build/m-alpha.mak
new file mode 100644
index 00000000..90b76060
--- /dev/null
+++ b/build/m-alpha.mak
@@ -0,0 +1,4 @@
+export M_CFLAGS := $(CC_DEF)PJ_M_ALPHA=1
+export M_CXXFLAGS :=
+export M_LDFLAGS :=
+export M_SOURCES :=
diff --git a/build/m-i386.mak b/build/m-i386.mak
new file mode 100644
index 00000000..dc5c1328
--- /dev/null
+++ b/build/m-i386.mak
@@ -0,0 +1,4 @@
+export M_CFLAGS := $(CC_DEF)PJ_M_I386=1
+export M_CXXFLAGS :=
+export M_LDFLAGS :=
+export M_SOURCES :=
diff --git a/build/m-m68k.mak b/build/m-m68k.mak
new file mode 100644
index 00000000..d5ba9e92
--- /dev/null
+++ b/build/m-m68k.mak
@@ -0,0 +1,4 @@
+export M_CFLAGS := $(CC_DEF)PJ_M_M68K=1
+export M_CXXFLAGS :=
+export M_LDFLAGS :=
+export M_SOURCES :=
diff --git a/build/os-linux-kernel.mak b/build/os-linux-kernel.mak
new file mode 100644
index 00000000..f9b3e1fa
--- /dev/null
+++ b/build/os-linux-kernel.mak
@@ -0,0 +1,43 @@
+
+include $(KERNEL_DIR)/.config
+
+#
+# Basic kernel compilation flags.
+#
+export OS_CFLAGS := $(CC_DEF)PJ_LINUX_KERNEL=1 -D__KERNEL__ \
+ -I$(KERNEL_DIR)/include -iwithprefix include \
+ -nostdinc -msoft-float
+
+#
+# Additional kernel compilation flags are taken from the kernel Makefile
+# itself.
+#
+
+KERNEL_CFLAGS := \
+ $(shell cd $(KERNEL_DIR) ; \
+ make script SCRIPT='@echo $$(CFLAGS) $$(CFLAGS_MODULE)' $(KERNEL_ARCH))
+
+export OS_CFLAGS += $(KERNEL_CFLAGS)
+
+# -DMODULE -I$(KERNEL_DIR)/include -nostdinc \
+# -Wstrict-prototypes \
+# -Wno-trigraphs -fno-strict-aliasing -fno-common \
+# -msoft-float -m32 -fno-builtin-sprintf -fno-builtin-log2\
+# -fno-builtin-puts -mpreferred-stack-boundary=2 \
+# -fno-unit-at-a-time -march=i686 -mregparm=3 \
+# -iwithprefix include
+
+#export OS_CFLAGS += -U__i386__ -Ui386 -D__arch_um__ -DSUBARCH=\"i386\" \
+# -D_LARGEFILE64_SOURCE -I$(KERNEL_DIR)/arch/um/include \
+# -Derrno=kernel_errno \
+# -I$(KERNEL_DIR)/arch/um/kernel/tt/include \
+# -I$(KERNEL_DIR)/arch/um/kernel/skas/include \
+
+
+export OS_CXXFLAGS :=
+
+export OS_LDFLAGS :=
+
+export OS_SOURCES :=
+
+
diff --git a/build/os-linux.mak b/build/os-linux.mak
new file mode 100644
index 00000000..da44bc97
--- /dev/null
+++ b/build/os-linux.mak
@@ -0,0 +1,9 @@
+export OS_CFLAGS := $(CC_DEF)PJ_LINUX=1
+
+export OS_CXXFLAGS :=
+
+export OS_LDFLAGS := $(CC_LIB)pthread$(LIBEXT2)
+
+export OS_SOURCES :=
+
+
diff --git a/build/os-palmos.mak b/build/os-palmos.mak
new file mode 100644
index 00000000..2a86b25a
--- /dev/null
+++ b/build/os-palmos.mak
@@ -0,0 +1,32 @@
+#
+# make-mingw.inc: Mingw specific compilation switches.
+#
+PALM_OS_SDK_VER := 0x06000000
+PALM_OS_TARGET_HOST := TARGET_HOST_PALMOS
+PALM_OS_TARGET_PLATFORM := TARGET_PLATFORM_PALMSIM_WIN32
+PALM_OS_BUILD_TYPE := BUILD_TYPE_DEBUG
+PALM_OS_TRACE_OUTPUT := TRACE_OUTPUT_ON
+PALM_OS_CPU_TYPE := CPU_ARM
+
+export CROSS_COMPILE :=
+
+ifeq ($(CC_NAME),gcc)
+ export CFLAGS += -mno-cygwin -fexceptions -frtti
+endif
+
+export OS_CFLAGS := $(CC_DEF)PJ_PALMOS=1 \
+ $(CC_DEF)__PALMOS_KERNEL__=1 \
+ $(CC_DEF)__PALMOS__=$(PALM_OS_SDK_VER) \
+ $(CC_DEF)BUILD_TYPE=$(PALM_OS_BUILD_TYPE) \
+ $(CC_DEF)TRACE_OUTPUT=$(PALM_OS_TRACE_OUTPUT) \
+ $(CC_DEF)_SUPPORTS_NAMESPACE=0 \
+ $(CC_DEF)_SUPPORTS_RTTI=0 \
+ $(CC_DEF)TARGET_HOST=$(PALM_OS_TRAGET_HOST) \
+ $(CC_DEF)TARGET_PLATFORM=$(PALM_OS_TARGET_PLATFORM)
+
+export OS_CXXFLAGS :=
+
+export OS_LDFLAGS :=
+
+export OS_SOURCES :=
+
diff --git a/build/os-win32.mak b/build/os-win32.mak
new file mode 100644
index 00000000..652502d6
--- /dev/null
+++ b/build/os-win32.mak
@@ -0,0 +1,11 @@
+export OS_CFLAGS := $(CC_DEF)PJ_WIN32=1
+
+export OS_CXXFLAGS :=
+
+export OS_LDFLAGS := $(CC_LIB)wsock32$(LIBEXT2) \
+ $(CC_LIB)ws2_32$(LIBEXT2)\
+ $(CC_LIB)ole32$(LIBEXT2)
+
+export OS_SOURCES :=
+
+
diff --git a/build/pjproject.dsw b/build/pjproject.dsw
new file mode 100644
index 00000000..5e5fd3d8
--- /dev/null
+++ b/build/pjproject.dsw
@@ -0,0 +1,233 @@
+Microsoft Developer Studio Workspace File, Format Version 6.00
+# WARNING: DO NOT EDIT OR DELETE THIS WORKSPACE FILE!
+
+###############################################################################
+
+Project: "pjlib"=..\pjlib\build\pjlib.dsp - Package Owner=<4>
+
+Package=<5>
+{{{
+ begin source code control
+ "$/pjproject/pjlib/build", UIAAAAAA
+ ..\pjlib\build
+ end source code control
+}}}
+
+Package=<4>
+{{{
+}}}
+
+###############################################################################
+
+Project: "pjlib_test"=..\pjlib\build\pjlib_test.dsp - Package Owner=<4>
+
+Package=<5>
+{{{
+ begin source code control
+ "$/pjproject/pjlib/build", HICAAAAA
+ ..\pjlib\build
+ end source code control
+}}}
+
+Package=<4>
+{{{
+ Begin Project Dependency
+ Project_Dep_Name pjlib
+ End Project Dependency
+}}}
+
+###############################################################################
+
+Project: "pjlibpp"=..\pjlib\build\pjlibpp.dsp - Package Owner=<4>
+
+Package=<5>
+{{{
+ begin source code control
+ "$/pjproject/pjlib/build", HICAAAAA
+ ..\pjlib\build
+ end source code control
+}}}
+
+Package=<4>
+{{{
+}}}
+
+###############################################################################
+
+Project: "pjmedia"=..\pjmedia\build\pjmedia.dsp - Package Owner=<4>
+
+Package=<5>
+{{{
+ begin source code control
+ "$/pjproject/pjmedia/build", MJCAAAAA
+ ..\pjmedia\build
+ end source code control
+}}}
+
+Package=<4>
+{{{
+}}}
+
+###############################################################################
+
+Project: "pjmedia_audio_tool"=..\pjmedia\build\pjmedia_audio_tool.dsp - Package Owner=<4>
+
+Package=<5>
+{{{
+ begin source code control
+ "$/pjproject/pjmedia/build", MJCAAAAA
+ ..\pjmedia\build
+ end source code control
+}}}
+
+Package=<4>
+{{{
+ Begin Project Dependency
+ Project_Dep_Name pjlib
+ End Project Dependency
+ Begin Project Dependency
+ Project_Dep_Name pjmedia
+ End Project Dependency
+}}}
+
+###############################################################################
+
+Project: "pjmedia_test"=..\pjmedia\build\pjmedia_test.dsp - Package Owner=<4>
+
+Package=<5>
+{{{
+ begin source code control
+ "$/pjproject/pjmedia/build", MJCAAAAA
+ ..\pjmedia\build
+ end source code control
+}}}
+
+Package=<4>
+{{{
+ Begin Project Dependency
+ Project_Dep_Name pjlib
+ End Project Dependency
+ Begin Project Dependency
+ Project_Dep_Name pjmedia
+ End Project Dependency
+}}}
+
+###############################################################################
+
+Project: "pjsip_core"=..\pjsip\build\pjsip_core.dsp - Package Owner=<4>
+
+Package=<5>
+{{{
+ begin source code control
+ "$/pjproject/pjsip/build", LJCAAAAA
+ ..\pjsip\build
+ end source code control
+}}}
+
+Package=<4>
+{{{
+}}}
+
+###############################################################################
+
+Project: "pjsip_core_test"=..\pjsip\build\pjsip_core_test.dsp - Package Owner=<4>
+
+Package=<5>
+{{{
+ begin source code control
+ "$/pjproject/pjsip/build", LJCAAAAA
+ ..\pjsip\build
+ end source code control
+}}}
+
+Package=<4>
+{{{
+ Begin Project Dependency
+ Project_Dep_Name pjlib
+ End Project Dependency
+ Begin Project Dependency
+ Project_Dep_Name pjsip_core
+ End Project Dependency
+}}}
+
+###############################################################################
+
+Project: "pjsip_simple"=..\pjsip\build\pjsip_simple.dsp - Package Owner=<4>
+
+Package=<5>
+{{{
+ begin source code control
+ "$/pjproject/pjsip/build", LJCAAAAA
+ ..\pjsip\build
+ end source code control
+}}}
+
+Package=<4>
+{{{
+}}}
+
+###############################################################################
+
+Project: "pjsip_ua"=..\pjsip\build\pjsip_ua.dsp - Package Owner=<4>
+
+Package=<5>
+{{{
+ begin source code control
+ "$/pjproject/pjsip/build", LJCAAAAA
+ ..\pjsip\build
+ end source code control
+}}}
+
+Package=<4>
+{{{
+}}}
+
+###############################################################################
+
+Project: "pjsua"=..\pjsip\build\pjsua.dsp - Package Owner=<4>
+
+Package=<5>
+{{{
+ begin source code control
+ "$/pjproject/pjsip/build", LJCAAAAA
+ ..\pjsip\build
+ end source code control
+}}}
+
+Package=<4>
+{{{
+ Begin Project Dependency
+ Project_Dep_Name pjlib
+ End Project Dependency
+ Begin Project Dependency
+ Project_Dep_Name pjmedia
+ End Project Dependency
+ Begin Project Dependency
+ Project_Dep_Name pjsip_ua
+ End Project Dependency
+ Begin Project Dependency
+ Project_Dep_Name pjsip_core
+ End Project Dependency
+ Begin Project Dependency
+ Project_Dep_Name pjsip_simple
+ End Project Dependency
+}}}
+
+###############################################################################
+
+Global:
+
+Package=<5>
+{{{
+ begin source code control
+ "$/pjproject/build", KYBAAAAA
+ .
+ end source code control
+}}}
+
+Package=<3>
+{{{
+}}}
+
+###############################################################################
+
diff --git a/build/pjproject.sln b/build/pjproject.sln
new file mode 100644
index 00000000..e2962124
--- /dev/null
+++ b/build/pjproject.sln
@@ -0,0 +1,187 @@
+Microsoft Visual Studio Solution File, Format Version 8.00
+Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "pjlib", "..\pjlib\build\pjlib.vcproj", "{72790D99-35BB-45AC-9A23-3BB60C901E63}"
+ ProjectSection(ProjectDependencies) = postProject
+ EndProjectSection
+EndProject
+Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "pjlib_test", "..\pjlib\build\pjlib_test.vcproj", "{A684A4C0-00D6-4497-B144-FC6AED4FAD8A}"
+ ProjectSection(ProjectDependencies) = postProject
+ {72790D99-35BB-45AC-9A23-3BB60C901E63} = {72790D99-35BB-45AC-9A23-3BB60C901E63}
+ EndProjectSection
+EndProject
+Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "pjlibpp", "..\pjlib\build\pjlibpp.vcproj", "{488B9CA1-8F59-4E4E-8748-D6A712CF9F3C}"
+ ProjectSection(ProjectDependencies) = postProject
+ EndProjectSection
+EndProject
+Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "pjmedia_lib", "..\pjmedia\build\pjmedia.vcproj", "{EB8559B2-D738-4987-8591-4D217F8B0099}"
+ ProjectSection(ProjectDependencies) = postProject
+ EndProjectSection
+EndProject
+Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "pjmedia_test", "..\pjmedia\build\pjmedia_test.vcproj", "{692B42C4-6888-4BF8-9613-E48A2F138005}"
+ ProjectSection(ProjectDependencies) = postProject
+ {72790D99-35BB-45AC-9A23-3BB60C901E63} = {72790D99-35BB-45AC-9A23-3BB60C901E63}
+ {EB8559B2-D738-4987-8591-4D217F8B0099} = {EB8559B2-D738-4987-8591-4D217F8B0099}
+ EndProjectSection
+EndProject
+Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "pjsip_core_lib", "..\pjsip\build\pjsip_core.vcproj", "{58A72B82-7369-4B89-B511-7191A6B0D8C3}"
+ ProjectSection(ProjectDependencies) = postProject
+ EndProjectSection
+EndProject
+Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "pjsip_ua_lib", "..\pjsip\build\pjsip_ua.vcproj", "{DEE358A5-ADD3-4403-AD82-4967E63F17D1}"
+ ProjectSection(ProjectDependencies) = postProject
+ EndProjectSection
+EndProject
+Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "pjsua", "..\pjsip\build\pjsua.vcproj", "{B8500B7B-C6A8-46B9-84E6-90E200C1B35A}"
+ ProjectSection(ProjectDependencies) = postProject
+ {B5C20C39-AF03-405D-BF59-B4C2E8D68BDE} = {B5C20C39-AF03-405D-BF59-B4C2E8D68BDE}
+ {58A72B82-7369-4B89-B511-7191A6B0D8C3} = {58A72B82-7369-4B89-B511-7191A6B0D8C3}
+ {72790D99-35BB-45AC-9A23-3BB60C901E63} = {72790D99-35BB-45AC-9A23-3BB60C901E63}
+ {DEE358A5-ADD3-4403-AD82-4967E63F17D1} = {DEE358A5-ADD3-4403-AD82-4967E63F17D1}
+ {EB8559B2-D738-4987-8591-4D217F8B0099} = {EB8559B2-D738-4987-8591-4D217F8B0099}
+ EndProjectSection
+EndProject
+Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "pjsip_core_test", "..\pjsip\build\pjsip_core_test.vcproj", "{782BF0C1-FE0E-48A9-B875-31E7BF9F4B5B}"
+ ProjectSection(ProjectDependencies) = postProject
+ {58A72B82-7369-4B89-B511-7191A6B0D8C3} = {58A72B82-7369-4B89-B511-7191A6B0D8C3}
+ {72790D99-35BB-45AC-9A23-3BB60C901E63} = {72790D99-35BB-45AC-9A23-3BB60C901E63}
+ EndProjectSection
+EndProject
+Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "pjmedia_audio_tool", "..\pjmedia\build\pjmedia_audio_tool.vcproj", "{5FD061CF-A0E8-43DF-990C-B046AA1BF5EE}"
+ ProjectSection(ProjectDependencies) = postProject
+ {72790D99-35BB-45AC-9A23-3BB60C901E63} = {72790D99-35BB-45AC-9A23-3BB60C901E63}
+ {EB8559B2-D738-4987-8591-4D217F8B0099} = {EB8559B2-D738-4987-8591-4D217F8B0099}
+ EndProjectSection
+EndProject
+Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "pjsip_callgen", "..\pjsip\build\pjsip_callgen.vcproj", "{DCBEF2A3-D444-46FC-82E7-D939113EECA7}"
+ ProjectSection(ProjectDependencies) = postProject
+ EndProjectSection
+EndProject
+Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "pjsip_simple_lib", "..\pjsip\build\pjsip_simple.vcproj", "{B5C20C39-AF03-405D-BF59-B4C2E8D68BDE}"
+ ProjectSection(ProjectDependencies) = postProject
+ EndProjectSection
+EndProject
+Global
+ GlobalSection(SourceCodeControl) = preSolution
+ SccNumberOfProjects = 13
+ SccLocalPath0 = .
+ CanCheckoutShared = false
+ SolutionUniqueID = {23953A1F-662B-4D0D-BC25-C13C88DE8618}
+ SccProjectUniqueName1 = ..\\pjlib\\build\\pjlib.vcproj
+ SccProjectName1 = \u0022$/pjproject\u0022,\u0020PIAAAAAA
+ SccLocalPath1 = ..
+ CanCheckoutShared = false
+ SccProjectFilePathRelativizedFromConnection1 = pjlib\\build\\
+ SccProjectUniqueName2 = ..\\pjlib\\build\\pjlib_test.vcproj
+ SccProjectName2 = \u0022$/pjproject\u0022,\u0020PIAAAAAA
+ SccLocalPath2 = ..
+ CanCheckoutShared = false
+ SccProjectFilePathRelativizedFromConnection2 = pjlib\\build\\
+ SccProjectUniqueName3 = ..\\pjlib\\build\\pjlibpp.vcproj
+ SccProjectName3 = \u0022$/pjproject\u0022,\u0020PIAAAAAA
+ SccLocalPath3 = ..
+ CanCheckoutShared = false
+ SccProjectFilePathRelativizedFromConnection3 = pjlib\\build\\
+ SccProjectUniqueName4 = ..\\pjmedia\\build\\pjmedia.vcproj
+ SccProjectName4 = \u0022$/pjproject\u0022,\u0020PIAAAAAA
+ SccLocalPath4 = ..
+ CanCheckoutShared = false
+ SccProjectFilePathRelativizedFromConnection4 = pjmedia\\build\\
+ SccProjectUniqueName5 = ..\\pjmedia\\build\\pjmedia_test.vcproj
+ SccProjectName5 = \u0022$/pjproject\u0022,\u0020PIAAAAAA
+ SccLocalPath5 = ..
+ CanCheckoutShared = false
+ SccProjectFilePathRelativizedFromConnection5 = pjmedia\\build\\
+ SccProjectUniqueName6 = ..\\pjsip\\build\\pjsip_core.vcproj
+ SccProjectName6 = \u0022$/pjproject\u0022,\u0020PIAAAAAA
+ SccLocalPath6 = ..
+ CanCheckoutShared = false
+ SccProjectFilePathRelativizedFromConnection6 = pjsip\\build\\
+ SccProjectUniqueName7 = ..\\pjsip\\build\\pjsip_ua.vcproj
+ SccProjectName7 = \u0022$/pjproject\u0022,\u0020PIAAAAAA
+ SccLocalPath7 = ..
+ CanCheckoutShared = false
+ SccProjectFilePathRelativizedFromConnection7 = pjsip\\build\\
+ SccProjectUniqueName8 = ..\\pjsip\\build\\pjsua.vcproj
+ SccProjectName8 = \u0022$/pjproject\u0022,\u0020PIAAAAAA
+ SccLocalPath8 = ..
+ CanCheckoutShared = false
+ SccProjectFilePathRelativizedFromConnection8 = pjsip\\build\\
+ SccProjectUniqueName9 = ..\\pjsip\\build\\pjsip_core_test.vcproj
+ SccProjectName9 = \u0022$/pjproject\u0022,\u0020PIAAAAAA
+ SccLocalPath9 = ..
+ CanCheckoutShared = false
+ SccProjectFilePathRelativizedFromConnection9 = pjsip\\build\\
+ SccProjectUniqueName10 = ..\\pjmedia\\build\\pjmedia_audio_tool.vcproj
+ SccProjectName10 = \u0022$/pjproject\u0022,\u0020PIAAAAAA
+ SccLocalPath10 = ..
+ CanCheckoutShared = false
+ SccProjectFilePathRelativizedFromConnection10 = pjmedia\\build\\
+ SccProjectUniqueName11 = ..\\pjsip\\build\\pjsip_callgen.vcproj
+ SccProjectName11 = \u0022$/pjproject\u0022,\u0020PIAAAAAA
+ SccLocalPath11 = ..
+ CanCheckoutShared = false
+ SccProjectFilePathRelativizedFromConnection11 = pjsip\\build\\
+ SccProjectUniqueName12 = ..\\pjsip\\build\\pjsip_simple.vcproj
+ SccProjectName12 = \u0022$/pjproject/pjsip\u0022,\u0020QIAAAAAA
+ SccLocalPath12 = ..\\pjsip
+ CanCheckoutShared = false
+ SccProjectFilePathRelativizedFromConnection12 = build\\
+ EndGlobalSection
+ GlobalSection(SolutionConfiguration) = preSolution
+ Debug = Debug
+ Release = Release
+ EndGlobalSection
+ GlobalSection(ProjectConfiguration) = postSolution
+ {72790D99-35BB-45AC-9A23-3BB60C901E63}.Debug.ActiveCfg = Debug|Win32
+ {72790D99-35BB-45AC-9A23-3BB60C901E63}.Debug.Build.0 = Debug|Win32
+ {72790D99-35BB-45AC-9A23-3BB60C901E63}.Release.ActiveCfg = Release|Win32
+ {72790D99-35BB-45AC-9A23-3BB60C901E63}.Release.Build.0 = Release|Win32
+ {A684A4C0-00D6-4497-B144-FC6AED4FAD8A}.Debug.ActiveCfg = Debug|Win32
+ {A684A4C0-00D6-4497-B144-FC6AED4FAD8A}.Debug.Build.0 = Debug|Win32
+ {A684A4C0-00D6-4497-B144-FC6AED4FAD8A}.Release.ActiveCfg = Release|Win32
+ {A684A4C0-00D6-4497-B144-FC6AED4FAD8A}.Release.Build.0 = Release|Win32
+ {488B9CA1-8F59-4E4E-8748-D6A712CF9F3C}.Debug.ActiveCfg = Debug|Win32
+ {488B9CA1-8F59-4E4E-8748-D6A712CF9F3C}.Debug.Build.0 = Debug|Win32
+ {488B9CA1-8F59-4E4E-8748-D6A712CF9F3C}.Release.ActiveCfg = Release|Win32
+ {488B9CA1-8F59-4E4E-8748-D6A712CF9F3C}.Release.Build.0 = Release|Win32
+ {EB8559B2-D738-4987-8591-4D217F8B0099}.Debug.ActiveCfg = Debug|Win32
+ {EB8559B2-D738-4987-8591-4D217F8B0099}.Debug.Build.0 = Debug|Win32
+ {EB8559B2-D738-4987-8591-4D217F8B0099}.Release.ActiveCfg = Release|Win32
+ {EB8559B2-D738-4987-8591-4D217F8B0099}.Release.Build.0 = Release|Win32
+ {692B42C4-6888-4BF8-9613-E48A2F138005}.Debug.ActiveCfg = Debug|Win32
+ {692B42C4-6888-4BF8-9613-E48A2F138005}.Debug.Build.0 = Debug|Win32
+ {692B42C4-6888-4BF8-9613-E48A2F138005}.Release.ActiveCfg = Release|Win32
+ {692B42C4-6888-4BF8-9613-E48A2F138005}.Release.Build.0 = Release|Win32
+ {58A72B82-7369-4B89-B511-7191A6B0D8C3}.Debug.ActiveCfg = Debug|Win32
+ {58A72B82-7369-4B89-B511-7191A6B0D8C3}.Debug.Build.0 = Debug|Win32
+ {58A72B82-7369-4B89-B511-7191A6B0D8C3}.Release.ActiveCfg = Release|Win32
+ {58A72B82-7369-4B89-B511-7191A6B0D8C3}.Release.Build.0 = Release|Win32
+ {DEE358A5-ADD3-4403-AD82-4967E63F17D1}.Debug.ActiveCfg = Debug|Win32
+ {DEE358A5-ADD3-4403-AD82-4967E63F17D1}.Debug.Build.0 = Debug|Win32
+ {DEE358A5-ADD3-4403-AD82-4967E63F17D1}.Release.ActiveCfg = Release|Win32
+ {DEE358A5-ADD3-4403-AD82-4967E63F17D1}.Release.Build.0 = Release|Win32
+ {B8500B7B-C6A8-46B9-84E6-90E200C1B35A}.Debug.ActiveCfg = Debug|Win32
+ {B8500B7B-C6A8-46B9-84E6-90E200C1B35A}.Debug.Build.0 = Debug|Win32
+ {B8500B7B-C6A8-46B9-84E6-90E200C1B35A}.Release.ActiveCfg = Release|Win32
+ {B8500B7B-C6A8-46B9-84E6-90E200C1B35A}.Release.Build.0 = Release|Win32
+ {782BF0C1-FE0E-48A9-B875-31E7BF9F4B5B}.Debug.ActiveCfg = Debug|Win32
+ {782BF0C1-FE0E-48A9-B875-31E7BF9F4B5B}.Debug.Build.0 = Debug|Win32
+ {782BF0C1-FE0E-48A9-B875-31E7BF9F4B5B}.Release.ActiveCfg = Release|Win32
+ {782BF0C1-FE0E-48A9-B875-31E7BF9F4B5B}.Release.Build.0 = Release|Win32
+ {5FD061CF-A0E8-43DF-990C-B046AA1BF5EE}.Debug.ActiveCfg = Debug|Win32
+ {5FD061CF-A0E8-43DF-990C-B046AA1BF5EE}.Debug.Build.0 = Debug|Win32
+ {5FD061CF-A0E8-43DF-990C-B046AA1BF5EE}.Release.ActiveCfg = Release|Win32
+ {5FD061CF-A0E8-43DF-990C-B046AA1BF5EE}.Release.Build.0 = Release|Win32
+ {DCBEF2A3-D444-46FC-82E7-D939113EECA7}.Debug.ActiveCfg = Debug|Win32
+ {DCBEF2A3-D444-46FC-82E7-D939113EECA7}.Debug.Build.0 = Debug|Win32
+ {DCBEF2A3-D444-46FC-82E7-D939113EECA7}.Release.ActiveCfg = Release|Win32
+ {DCBEF2A3-D444-46FC-82E7-D939113EECA7}.Release.Build.0 = Release|Win32
+ {B5C20C39-AF03-405D-BF59-B4C2E8D68BDE}.Debug.ActiveCfg = Debug|Win32
+ {B5C20C39-AF03-405D-BF59-B4C2E8D68BDE}.Debug.Build.0 = Debug|Win32
+ {B5C20C39-AF03-405D-BF59-B4C2E8D68BDE}.Release.ActiveCfg = Release|Win32
+ {B5C20C39-AF03-405D-BF59-B4C2E8D68BDE}.Release.Build.0 = Release|Win32
+ EndGlobalSection
+ GlobalSection(ExtensibilityGlobals) = postSolution
+ EndGlobalSection
+ GlobalSection(ExtensibilityAddIns) = postSolution
+ EndGlobalSection
+EndGlobal
diff --git a/build/rules.mak b/build/rules.mak
new file mode 100644
index 00000000..d7634335
--- /dev/null
+++ b/build/rules.mak
@@ -0,0 +1,164 @@
+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)
+
+#
+# Output directory for object files (i.e. output/target)
+#
+OBJDIR = output/$(app)-$(MACHINE_NAME)-$(OS_NAME)-$(CC_NAME)
+
+ifeq ($(OS_NAME),linux-kernel)
+export $(APP)_CFLAGS += -DKBUILD_MODNAME=$(app) -DKBUILD_BASENAME=$(app)
+endif
+
+
+#
+# OBJS is ./output/target/file.o
+#
+OBJS = $(foreach file, $($(APP)_OBJS), $(OBJDIR)/$(file))
+OBJDIRS := $(sort $(dir $(OBJS)))
+
+#
+# FULL_SRCS is ../src/app/file1.c ../src/app/file1.S
+#
+FULL_SRCS = $(foreach file, $($(APP)_OBJS), $(SRCDIR)/$(basename $(file)).c $(SRCDIR)/$(basename $(file)).cpp $(SRCDIR)/$(basename $(file)).S)
+
+#
+# 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)
+
+# Dependency file
+DEP_FILE := .$(app)-$(MACHINE_NAME)-$(OS_NAME)-$(CC_NAME).depend
+
+
+print_common:
+ @echo "###"
+ @echo "### DUMPING MAKE VARIABLES (I WON'T DO ANYTHING ELSE):"
+ @echo "###"
+ @echo APP=$(APP)
+ @echo OBJDIR=$(OBJDIR)
+ @echo OBJDIRS=$(OBJDIRS)
+ @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)$(subst /,$(HOST_PSEP),$(EXE)) \
+ $(subst /,$(HOST_PSEP),$(OBJS)) $($(APP)_LDFLAGS)
+
+$(OBJDIR)/$(app).o: $(OBJDIRS) $(OBJS)
+ $(CROSS_COMPILE)ld -r -o $@ $(OBJS)
+
+$(OBJDIR)/$(app).ko: $(OBJDIR)/$(app).o
+ @echo Creating kbuild Makefile...
+ @echo "# Our module name:" > $(OBJDIR)/Makefile
+ @echo 'obj-m += $(app).o' >> $(OBJDIR)/Makefile
+ @echo >> $(OBJDIR)/Makefile
+ @echo "# Object members:" >> $(OBJDIR)/Makefile
+ @echo -n '$(app)-objs += ' >> $(OBJDIR)/Makefile
+ @for file in $($(APP)_OBJS); do \
+ echo -n "$$file " >> $(OBJDIR)/Makefile; \
+ done
+ @echo >> $(OBJDIR)/Makefile
+ @echo >> $(OBJDIR)/Makefile
+ @echo "# Prevent .o files to be built by kbuild:" >> $(OBJDIR)/Makefile
+ @for file in $($(APP)_OBJS); do \
+ echo ".PHONY: `pwd`/$(OBJDIR)/$$file" >> $(OBJDIR)/Makefile; \
+ done
+ @echo >> $(OBJDIR)/Makefile
+ @echo all: >> $(OBJDIR)/Makefile
+ @echo -e "\tmake -C $(KERNEL_DIR) M=`pwd`/$(OBJDIR) modules $(KERNEL_ARCH)" >> $(OBJDIR)/Makefile
+ @echo Invoking kbuild...
+ make -C $(OBJDIR)
+
+../lib/$(app).ko: $(LIB) $(OBJDIR)/$(app).ko
+ cp $(OBJDIR)/$(app).ko ../lib
+
+$(OBJDIR)/%$(OBJEXT): $(SRCDIR)/%.c
+ $(CC) $($(APP)_CFLAGS) \
+ $(CC_OUT)$(subst /,$(HOST_PSEP),$@) \
+ $(subst /,$(HOST_PSEP),$<)
+
+$(OBJDIR)/%$(OBJEXT): $(SRCDIR)/%.S
+ $(CC) $($(APP)_CFLAGS) \
+ $(CC_OUT)$(subst /,$(HOST_PSEP),$@) \
+ $(subst /,$(HOST_PSEP),$<)
+
+$(OBJDIR)/%$(OBJEXT): $(SRCDIR)/%.cpp
+ $(CC) $($(APP)_CXXFLAGS) \
+ $(CC_OUT)$(subst /,$(HOST_PSEP),$@) \
+ $(subst /,$(HOST_PSEP),$<)
+
+$(OBJDIRS):
+ $(subst @@,$(subst /,$(HOST_PSEP),$@),$(HOST_MKDIR))
+
+$(LIBDIR):
+ $(subst @@,$(subst /,$(HOST_PSEP),$(LIBDIR)),$(HOST_MKDIR))
+
+$(BINDIR):
+ $(subst @@,$(subst /,$(HOST_PSEP),$(BINDIR)),$(HOST_MKDIR))
+
+clean:
+ $(subst @@,$(subst /,$(HOST_PSEP),$(OBJDIR)/*),$(HOST_RMR))
+ $(subst @@,$(subst /,$(HOST_PSEP),$(OBJDIR)),$(HOST_RMDIR))
+ifeq ($(OS_NAME),linux-kernel)
+ rm -f ../lib/$(app).o
+endif
+
+realclean: clean
+ $(subst @@,$(subst /,$(HOST_PSEP),$(LIB)) $(subst /,$(HOST_PSEP),$(EXE)),$(HOST_RM))
+ $(subst @@,$(DEP_FILE),$(HOST_RM))
+ifeq ($(OS_NAME),linux-kernel)
+ rm -f ../lib/$(app).ko
+endif
+
+depend:
+ $(subst @@,$(DEP_FILE),$(HOST_RM))
+ for F in $(FULL_SRCS); do \
+ if test -f $$F; then \
+ echo -n $(OBJDIR)/ >> $(DEP_FILE); \
+ if gcc -MM $(DEPFLAGS) $$F | sed '/^#/d' >> $(DEP_FILE); then \
+ true; \
+ else \
+ echo 'err:' >> $(DEP_FILE); \
+ exit 1; \
+ fi; \
+ fi; \
+ done
+
+dep: depend
+
+-include $(DEP_FILE)
+