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 --- build/cc-gcc.mak | 22 +++++ build/cc-vc.mak | 20 ++++ build/host-mingw.mak | 13 +++ build/host-unix.mak | 13 +++ build/host-win32.mak | 12 +++ build/m-alpha.mak | 4 + build/m-i386.mak | 4 + build/m-m68k.mak | 4 + build/os-linux-kernel.mak | 43 +++++++++ build/os-linux.mak | 9 ++ build/os-palmos.mak | 32 +++++++ build/os-win32.mak | 11 +++ build/pjproject.dsw | 233 ++++++++++++++++++++++++++++++++++++++++++++++ build/pjproject.sln | 187 +++++++++++++++++++++++++++++++++++++ build/rules.mak | 164 ++++++++++++++++++++++++++++++++ 15 files changed, 771 insertions(+) create mode 100644 build/cc-gcc.mak create mode 100644 build/cc-vc.mak create mode 100644 build/host-mingw.mak create mode 100644 build/host-unix.mak create mode 100644 build/host-win32.mak create mode 100644 build/m-alpha.mak create mode 100644 build/m-i386.mak create mode 100644 build/m-m68k.mak create mode 100644 build/os-linux-kernel.mak create mode 100644 build/os-linux.mak create mode 100644 build/os-palmos.mak create mode 100644 build/os-win32.mak create mode 100644 build/pjproject.dsw create mode 100644 build/pjproject.sln create mode 100644 build/rules.mak (limited to 'build') 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) + -- cgit v1.2.3