summaryrefslogtreecommitdiffstatsabout
diff options
context:
space:
mode:
authorJiaojinxing <jiaojinxing1987@gmail.com>2015-12-06 13:20:53 (GMT)
committer Jiaojinxing <jiaojinxing1987@gmail.com>2015-12-06 13:20:53 (GMT)
commite9ab583b78c77c41f480c98586677f21f342efe2 (patch)
tree4407765882f0d6bee7d4a355a4cbfaa845390915
parent5f460a40b9746133dfccc32c7a5f03176b282e90 (diff)
downloadSQLite3-e9ab583b78c77c41f480c98586677f21f342efe2.zip
SQLite3-e9ab583b78c77c41f480c98586677f21f342efe2.tar.gz
SQLite3-e9ab583b78c77c41f480c98586677f21f342efe2.tar.bz2
Updated Makefile and Added MIPS support.
-rw-r--r--.cproject38
-rw-r--r--.template/Makefile.arch4
-rw-r--r--.template/config.mk41
-rw-r--r--Makefile251
-rw-r--r--Makefile.arm243
-rw-r--r--Makefile.mips243
-rw-r--r--Makefile.ppc0
-rw-r--r--Makefile.x860
-rw-r--r--config.mk17
9 files changed, 566 insertions, 271 deletions
diff --git a/.cproject b/.cproject
index 3cd412a..3a3b9f8 100644
--- a/.cproject
+++ b/.cproject
@@ -1,11 +1,15 @@
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
<?fileVersion 4.0.0?><cproject storage_type_id="org.eclipse.cdt.core.XmlProjectDescriptionStorage">
<storageModule moduleId="org.eclipse.cdt.core.settings">
- <cconfiguration id="com.sylixos.realcoder.toolChain.armsylixeabi.1019266113">
- <storageModule buildSystemId="org.eclipse.cdt.managedbuilder.core.configurationDataProvider" id="com.sylixos.realcoder.toolChain.armsylixeabi.1019266113" moduleId="org.eclipse.cdt.core.settings" name="Default">
+ <cconfiguration id="com.sylixos.realcoder.toolChain.armsylixeabi.56446338">
+ <storageModule buildSystemId="org.eclipse.cdt.managedbuilder.core.configurationDataProvider" id="com.sylixos.realcoder.toolChain.armsylixeabi.56446338" moduleId="org.eclipse.cdt.core.settings" name="Default">
<macros>
- <stringMacro name="SYLIXOS_TOOLCHAIN_PREFIX" type="VALUE_TEXT" value="arm-sylixos-eabi-"/>
- <stringMacro name="SYLIXOS_BASE_PATH" type="VALUE_PATH_DIR" value="D:\workspace\SylixOS_Base"/>
+ <stringMacro name="SYLIXOS_TOOLCHAIN_PATH" type="VALUE_PATH_DIR" value="D:\ACOINFO\arm-sylixos-toolchain"/>
+ <stringMacro name="SYLIXOS_TEMPLATE_ARCH" type="VALUE_TEXT"/>
+ <stringMacro name="SYLIXOS_TOOLCHAIN_VER" type="VALUE_TEXT" value="4.9.3"/>
+ <stringMacro name="SYLIXOS_TOOLCHAIN_PREFIX" type="VALUE_TEXT" value="arm-sylixos-eabi"/>
+ <stringMacro name="SYLIXOS_BASE_PATH" type="VALUE_PATH_DIR" value="D:/workspace/sylixos-base"/>
+ <stringMacro name="SYLIXOS_TEMPLATE_NAME" type="VALUE_TEXT"/>
</macros>
<externalSettings/>
<extensions>
@@ -20,25 +24,25 @@
</extensions>
</storageModule>
<storageModule moduleId="cdtBuildSystem" version="4.0.0">
- <configuration artifactName="${ProjName}" buildProperties="" description="" id="com.sylixos.realcoder.toolChain.armsylixeabi.1019266113" name="Default" parent="org.eclipse.cdt.build.core.emptycfg">
- <folderInfo id="com.sylixos.realcoder.toolChain.armsylixeabi.1019266113.2137873374" name="/" resourcePath="">
- <toolChain id="com.sylixos.realcoder.toolChain.armsylixeabi.935807628" name="arm-sylixos-toolchain" superClass="com.sylixos.realcoder.toolChain.armsylixeabi">
- <targetPlatform archList="all" binaryParser="org.eclipse.cdt.core.GNU_ELF" id="com.sylixos.realcoder.targetPlatform.armsylixoseabi.392634522" isAbstract="false" name="SylixOS TagetPlagform" osList="win32" superClass="com.sylixos.realcoder.targetPlatform.armsylixoseabi"/>
- <builder id="com.sylixos.realcoder.builder.armsylixeabi.813190028" keepEnvironmentInBuildfile="false" managedBuildOn="false" name="SylixOS Builder" superClass="com.sylixos.realcoder.builder.armsylixeabi"/>
- <tool id="com.sylixos.realcoder.tool.armsylixeabi.1127328009" name="arm-sylixos-eabi-gcc" superClass="com.sylixos.realcoder.tool.armsylixeabi">
- <option id="com.sylixos.realcoder.option.armsylixoseabi.include.1163009721" name="Include paths (-I)" superClass="com.sylixos.realcoder.option.armsylixoseabi.include" valueType="includePath">
+ <configuration artifactName="${ProjName}" buildProperties="" description="" id="com.sylixos.realcoder.toolChain.armsylixeabi.56446338" name="Default" parent="org.eclipse.cdt.build.core.emptycfg">
+ <folderInfo id="com.sylixos.realcoder.toolChain.armsylixeabi.56446338.1826817017" name="/" resourcePath="">
+ <toolChain id="com.sylixos.realcoder.toolChain.armsylixeabi.1642910489" name="SylixOS Toolchain" superClass="com.sylixos.realcoder.toolChain.armsylixeabi">
+ <targetPlatform archList="all" binaryParser="org.eclipse.cdt.core.GNU_ELF" id="com.sylixos.realcoder.targetPlatform.armsylixoseabi.188651940" isAbstract="false" name="SylixOS TagetPlagform" osList="win32" superClass="com.sylixos.realcoder.targetPlatform.armsylixoseabi"/>
+ <builder id="com.sylixos.realcoder.builder.armsylixeabi.263597559" keepEnvironmentInBuildfile="false" managedBuildOn="false" name="SylixOS Builder" superClass="com.sylixos.realcoder.builder.armsylixeabi"/>
+ <tool id="com.sylixos.realcoder.tool.armsylixeabi.1172232143" name="arm-sylixos-eabi-gcc" superClass="com.sylixos.realcoder.tool.armsylixeabi">
+ <option id="com.sylixos.realcoder.option.armsylixoseabi.include.1137579369" name="Include paths (-I)" superClass="com.sylixos.realcoder.option.armsylixoseabi.include" valueType="includePath">
<listOptionValue builtIn="false" value="&quot;${SYLIXOS_BASE_PATH}/libsylixos/SylixOS&quot;"/>
<listOptionValue builtIn="false" value="&quot;${SYLIXOS_BASE_PATH}/libsylixos/SylixOS/include&quot;"/>
<listOptionValue builtIn="false" value="&quot;${SYLIXOS_BASE_PATH}/libsylixos/SylixOS/include/inet&quot;"/>
- <listOptionValue builtIn="false" value="&quot;D:\ZTHSOFT\arm-sylixos-toolchain/arm-sylixos-eabi/include&quot;"/>
- <listOptionValue builtIn="false" value="&quot;D:\ZTHSOFT\arm-sylixos-toolchain/lib/gcc/arm-sylixos-eabi/4.9.3/include&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${SYLIXOS_TOOLCHAIN_PATH}/${SYLIXOS_TOOLCHAIN_PREFIX}/include&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${SYLIXOS_TOOLCHAIN_PATH}/lib/gcc/${SYLIXOS_TOOLCHAIN_PREFIX}/${SYLIXOS_TOOLCHAIN_VER}/include&quot;"/>
</option>
- <option id="com.sylixos.realcoder.option.armsylixoseabi.DefinedSymbols.1783009936" name="Defined symbols(-D)" superClass="com.sylixos.realcoder.option.armsylixoseabi.DefinedSymbols" valueType="definedSymbols">
+ <option id="com.sylixos.realcoder.option.armsylixoseabi.DefinedSymbols.575085887" name="Defined symbols(-D)" superClass="com.sylixos.realcoder.option.armsylixoseabi.DefinedSymbols" valueType="definedSymbols">
<listOptionValue builtIn="false" value="__GNUC__=4"/>
<listOptionValue builtIn="false" value="SYLIXOS"/>
</option>
- <inputType id="com.sylixos.realcoder.inputType.armnsylixeabic.1916968053" name="SylixOS Input C" superClass="com.sylixos.realcoder.inputType.armnsylixeabic"/>
- <inputType id="com.sylixos.realcoder.inputType.armnsylixeabicpp.1898117274" name="SylixOS Input CPP" superClass="com.sylixos.realcoder.inputType.armnsylixeabicpp"/>
+ <inputType id="com.sylixos.realcoder.inputType.armnsylixeabic.120551905" name="SylixOS Input C" superClass="com.sylixos.realcoder.inputType.armnsylixeabic"/>
+ <inputType id="com.sylixos.realcoder.inputType.armnsylixeabicpp.1973408130" name="SylixOS Input CPP" superClass="com.sylixos.realcoder.inputType.armnsylixeabicpp"/>
</tool>
</toolChain>
</folderInfo>
@@ -48,7 +52,7 @@
</cconfiguration>
</storageModule>
<storageModule moduleId="cdtBuildSystem" version="4.0.0">
- <project id="SQLite3.null.1355783237" name="SQLite3"/>
+ <project id="SQLite3.null.1172989567" name="SQLite3"/>
</storageModule>
<storageModule moduleId="scannerConfiguration">
<autodiscovery enabled="true" problemReportingEnabled="true" selectedProfileId=""/>
diff --git a/.template/Makefile.arch b/.template/Makefile.arch
new file mode 100644
index 0000000..3e593bd
--- /dev/null
+++ b/.template/Makefile.arch
@@ -0,0 +1,4 @@
+#*********************************************************************************************************
+# include architecture related Makefile
+#*********************************************************************************************************
+include Makefile.$(SylixOS_Arch)
diff --git a/.template/config.mk b/.template/config.mk
new file mode 100644
index 0000000..ebc46ca
--- /dev/null
+++ b/.template/config.mk
@@ -0,0 +1,41 @@
+#*********************************************************************************************************
+#
+# 中国软件开源组织
+#
+# 嵌入式实时操作系统
+#
+# SylixOS(TM) LW : long wing
+#
+# Copyright All Rights Reserved
+#
+#--------------文件信息--------------------------------------------------------------------------------
+#
+# 文 件 名: config.mk
+#
+# 创 建 人: RealEvo-IDE
+#
+# 文件创建日期: $(Create_Date)
+#
+# 描 述: 本文件由 RealEvo-IDE 生成,用于配置 Makefile 功能,请勿手动修改
+#*********************************************************************************************************
+#*********************************************************************************************************
+# SylixOS Base Project path
+#*********************************************************************************************************
+SYLIXOS_BASE_PATH = $(SylixOS_Base_Path)
+
+#*********************************************************************************************************
+# Toolchain prefix
+#*********************************************************************************************************
+TOOLCHAIN_PREFIX = $(SylixOS_Toolchain)-
+
+#*********************************************************************************************************
+# Debug options (debug or release)
+#*********************************************************************************************************
+DEBUG_LEVEL = $(SylixOS_Debug_Level)
+
+#*********************************************************************************************************
+# NOTICE: libsylixos, BSP and other kernel modules projects CAN NOT use vfp!
+#*********************************************************************************************************
+FPUFLAGS = $(SylixOS_Fpu_Type)
+CPUFLAGS = $(SylixOS_Cpu_Type) $(FPUFLAGS)
+
diff --git a/Makefile b/Makefile
index f124930..4fdfaf0 100644
--- a/Makefile
+++ b/Makefile
@@ -1,251 +1,4 @@
#*********************************************************************************************************
-# sqlite3 Makefile
-# target -> libsqlite3.a
-# libsqlite3.so
-# sqlite3
-#*********************************************************************************************************
-
-#*********************************************************************************************************
-# include config.mk
-#*********************************************************************************************************
-CONFIG_MK_EXIST = $(shell if [ -f ../config.mk ]; then echo exist; else echo notexist; fi;)
-ifeq ($(CONFIG_MK_EXIST), exist)
-include ../config.mk
-else
-CONFIG_MK_EXIST = $(shell if [ -f config.mk ]; then echo exist; else echo notexist; fi;)
-ifeq ($(CONFIG_MK_EXIST), exist)
-include config.mk
-else
-CONFIG_MK_EXIST =
-endif
-endif
-
-#*********************************************************************************************************
-# check configure
-#*********************************************************************************************************
-check_defined = \
- $(foreach 1,$1,$(__check_defined))
-__check_defined = \
- $(if $(value $1),, \
- $(error Undefined $1$(if $(value 2), ($(strip $2)))))
-
-$(call check_defined, CONFIG_MK_EXIST, Please configure this project in RealCoder or \
-create a config.mk file!)
-$(call check_defined, SYLIXOS_BASE_PATH, SylixOS base project path)
-$(call check_defined, TOOLCHAIN_PREFIX, the prefix name of toolchain)
-$(call check_defined, DEBUG_LEVEL, debug level(debug or release))
-
-#*********************************************************************************************************
-# configure area you can set the following config to you own system
-# FPUFLAGS (-mfloat-abi=softfp -mfpu=vfpv3 ...)
-# CPUFLAGS (-mcpu=arm920t $(FPUFLAGS) ...)
-#*********************************************************************************************************
-FPUFLAGS = -mfloat-abi=softfp -mfpu=vfpv3
-CPUFLAGS = -mcpu=arm920t
-
-#*********************************************************************************************************
-# toolchain select
-#*********************************************************************************************************
-CC = $(TOOLCHAIN_PREFIX)gcc
-CXX = $(TOOLCHAIN_PREFIX)g++
-AS = $(TOOLCHAIN_PREFIX)gcc
-AR = $(TOOLCHAIN_PREFIX)ar
-LD = $(TOOLCHAIN_PREFIX)g++
-
-#*********************************************************************************************************
-# do not change the following code
-# buildin internal application source
-#*********************************************************************************************************
-#*********************************************************************************************************
-# libsqlite3 src(s) file
-#*********************************************************************************************************
-LIB_SRCS = \
-src/sqlite3.c
-
-#*********************************************************************************************************
-# sqlite3 src(s) file
-#*********************************************************************************************************
-EXE_SRCS = \
-src/shell.c
-
-#*********************************************************************************************************
-# build path
-#*********************************************************************************************************
-ifeq ($(DEBUG_LEVEL), debug)
-OUTDIR = Debug
-else
-OUTDIR = Release
-endif
-
-OUTPATH = ./$(OUTDIR)
-OBJPATH = $(OUTPATH)/obj
-DEPPATH = $(OUTPATH)/dep
-
-#*********************************************************************************************************
-# target
-#*********************************************************************************************************
-LIB = $(OUTPATH)/libsqlite3.a
-DLL = $(OUTPATH)/libsqlite3.so
-EXE = $(OUTPATH)/sqlite3
-
-#*********************************************************************************************************
-# libsqlite3 objects
-#*********************************************************************************************************
-LIB_OBJS = $(addprefix $(OBJPATH)/, $(addsuffix .o, $(basename $(LIB_SRCS))))
-LIB_DEPS = $(addprefix $(DEPPATH)/, $(addsuffix .d, $(basename $(LIB_SRCS))))
-
-#*********************************************************************************************************
-# sqlite3 objects
-#*********************************************************************************************************
-EXE_OBJS = $(addprefix $(OBJPATH)/, $(addsuffix .o, $(basename $(EXE_SRCS))))
-EXE_DEPS = $(addprefix $(DEPPATH)/, $(addsuffix .d, $(basename $(EXE_SRCS))))
-
-#*********************************************************************************************************
-# include path
-#*********************************************************************************************************
-INCDIR = -I"$(SYLIXOS_BASE_PATH)/libsylixos/SylixOS"
-INCDIR += -I"$(SYLIXOS_BASE_PATH)/libsylixos/SylixOS/include"
-INCDIR += -I"$(SYLIXOS_BASE_PATH)/libsylixos/SylixOS/include/inet"
-
-#*********************************************************************************************************
-# compiler preprocess
-#*********************************************************************************************************
-DSYMBOL = -DSYLIXOS
-DSYMBOL += -DSYLIXOS_LIB
-
-#*********************************************************************************************************
-# depend dynamic library
-#*********************************************************************************************************
-DEPEND_DLL = -lcextern
-EXE_DEPEND_DLL = -lsqlite3 -lcextern -lvpmpdm
-
-#*********************************************************************************************************
-# depend dynamic library search path
-#*********************************************************************************************************
-DEPEND_DLL_PATH = -L"$(SYLIXOS_BASE_PATH)/libcextern/$(OUTDIR)"
-EXE_DEPEND_DLL_PATH = -L"$(SYLIXOS_BASE_PATH)/libcextern/$(OUTDIR)"
-EXE_DEPEND_DLL_PATH += -L"$(SYLIXOS_BASE_PATH)/libsylixos/$(OUTDIR)"
-EXE_DEPEND_DLL_PATH += -L"$(OUTPATH)"
-
-#*********************************************************************************************************
-# compiler optimize
-#*********************************************************************************************************
-ifeq ($(DEBUG_LEVEL), debug)
-OPTIMIZE = -O0 -g3 -gdwarf-2
-else
-OPTIMIZE = -O2 -g1 -gdwarf-2 # Do NOT use -O3 and -Os
-endif # -Os is not align for function
- # loop and jump.
-#*********************************************************************************************************
-# depends and compiler parameter (cplusplus in kernel MUST NOT use exceptions and rtti)
-#*********************************************************************************************************
-DEPENDFLAG = -MM
-CXX_EXCEPT = -fno-exceptions -fno-rtti
-COMMONFLAGS = $(CPUFLAGS) $(OPTIMIZE) -Wall -fmessage-length=0 -fsigned-char -fno-short-enums
-ASFLAGS = -x assembler-with-cpp $(DSYMBOL) $(INCDIR) $(COMMONFLAGS) -c
-CFLAGS = $(DSYMBOL) $(INCDIR) $(COMMONFLAGS) -fPIC -c
-CXXFLAGS = $(DSYMBOL) $(INCDIR) $(CXX_EXCEPT) $(COMMONFLAGS) -fPIC -c
-ARFLAGS = -r
-
-#*********************************************************************************************************
-# define some useful variable
-#*********************************************************************************************************
-DEPEND = $(CC) $(DEPENDFLAG) $(CFLAGS)
-DEPEND.d = $(subst -g ,,$(DEPEND))
-COMPILE.S = $(AS) $(ASFLAGS)
-COMPILE_VFP.S = $(AS) $(ASFLAGS) $(FPUFLAGS)
-COMPILE.c = $(CC) $(CFLAGS)
-COMPILE.cxx = $(CXX) $(CXXFLAGS)
-
-#*********************************************************************************************************
-# target
-#*********************************************************************************************************
-all: $(LIB) $(DLL) $(EXE)
- @echo create "$(LIB) $(DLL) $(EXE)" success.
-
-#*********************************************************************************************************
-# include depends
-#*********************************************************************************************************
-ifneq ($(MAKECMDGOALS), clean)
-ifneq ($(MAKECMDGOALS), clean_project)
-sinclude $(LIB_DEPS) $(EXE_DEPS)
-endif
-endif
-
-#*********************************************************************************************************
-# create depends files
-#*********************************************************************************************************
-$(DEPPATH)/%.d: %.c
- @echo creating $@
- @if [ ! -d "$(dir $@)" ]; then mkdir -p "$(dir $@)"; fi
- @rm -f $@; \
- echo -n '$@ $(addprefix $(OBJPATH)/, $(dir $<))' > $@; \
- $(DEPEND.d) $< >> $@ || rm -f $@; exit;
-
-$(DEPPATH)/%.d: %.cpp
- @echo creating $@
- @if [ ! -d "$(dir $@)" ]; then mkdir -p "$(dir $@)"; fi
- @rm -f $@; \
- echo -n '$@ $(addprefix $(OBJPATH)/, $(dir $<))' > $@; \
- $(DEPEND.d) $< >> $@ || rm -f $@; exit;
-
-#*********************************************************************************************************
-# compile source files
-#*********************************************************************************************************
-$(OBJPATH)/%.o: %.S
- @if [ ! -d "$(dir $@)" ]; then mkdir -p "$(dir $@)"; fi
- $(COMPILE.S) $< -o $@
-
-$(OBJPATH)/%.o: %.c
- @if [ ! -d "$(dir $@)" ]; then mkdir -p "$(dir $@)"; fi
- $(COMPILE.c) $< -o $@
-
-$(OBJPATH)/%.o: %.cpp
- @if [ ! -d "$(dir $@)" ]; then mkdir -p "$(dir $@)"; fi
- $(COMPILE.cxx) $< -o $@
-
-#*********************************************************************************************************
-# link libsqlite3.a object files
-#*********************************************************************************************************
-$(LIB): $(LIB_OBJS)
- $(AR) $(ARFLAGS) $(LIB) $(LIB_OBJS)
-
-#*********************************************************************************************************
-# link libsqlite3.so object files
-#*********************************************************************************************************
-$(DLL): $(LIB_OBJS)
- $(LD) $(CPUFLAGS) -nostdlib -fPIC -shared -o $(DLL) $(LIB_OBJS) \
- $(DEPEND_DLL_PATH) $(DEPEND_DLL) -lm -lgcc
-
-#*********************************************************************************************************
-# link sqlite3 object files
-#*********************************************************************************************************
-$(EXE): $(EXE_OBJS)
- $(LD) $(CPUFLAGS) -nostdlib -fPIC -shared -o $(EXE) $(EXE_OBJS) \
- $(EXE_DEPEND_DLL_PATH) $(EXE_DEPEND_DLL) -lm -lgcc
-
-#*********************************************************************************************************
-# clean
-#*********************************************************************************************************
-.PHONY: clean
-.PHONY: clean_project
-
-#*********************************************************************************************************
-# clean objects
-#*********************************************************************************************************
-clean:
- -rm -rf $(DLL)
- -rm -rf $(LIB)
- -rm -rf $(EXE)
- -rm -rf $(OBJPATH)
- -rm -rf $(DEPPATH)
-
-#*********************************************************************************************************
-# clean project
-#*********************************************************************************************************
-clean_project:
- -rm -rf $(OUTPATH)
-
-#*********************************************************************************************************
-# END
+# include architecture related Makefile
#*********************************************************************************************************
+include Makefile.arm
diff --git a/Makefile.arm b/Makefile.arm
new file mode 100644
index 0000000..38e5058
--- /dev/null
+++ b/Makefile.arm
@@ -0,0 +1,243 @@
+#*********************************************************************************************************
+# sqlite3 Makefile
+# target -> libsqlite3.a
+# libsqlite3.so
+# sqlite3
+#*********************************************************************************************************
+
+#*********************************************************************************************************
+# include config.mk
+#*********************************************************************************************************
+CONFIG_MK_EXIST = $(shell if [ -f ../config.mk ]; then echo exist; else echo notexist; fi;)
+ifeq ($(CONFIG_MK_EXIST), exist)
+include ../config.mk
+else
+CONFIG_MK_EXIST = $(shell if [ -f config.mk ]; then echo exist; else echo notexist; fi;)
+ifeq ($(CONFIG_MK_EXIST), exist)
+include config.mk
+else
+CONFIG_MK_EXIST =
+endif
+endif
+
+#*********************************************************************************************************
+# check configure
+#*********************************************************************************************************
+check_defined = \
+ $(foreach 1,$1,$(__check_defined))
+__check_defined = \
+ $(if $(value $1),, \
+ $(error Undefined $1$(if $(value 2), ($(strip $2)))))
+
+$(call check_defined, CONFIG_MK_EXIST, Please configure this project in RealEvo-IDE or \
+create a config.mk file!)
+$(call check_defined, SYLIXOS_BASE_PATH, SylixOS base project path)
+$(call check_defined, TOOLCHAIN_PREFIX, the prefix name of toolchain)
+$(call check_defined, DEBUG_LEVEL, debug level(debug or release))
+
+#*********************************************************************************************************
+# toolchain select
+#*********************************************************************************************************
+CC = $(TOOLCHAIN_PREFIX)gcc
+CXX = $(TOOLCHAIN_PREFIX)g++
+AS = $(TOOLCHAIN_PREFIX)gcc
+AR = $(TOOLCHAIN_PREFIX)ar
+LD = $(TOOLCHAIN_PREFIX)g++
+
+#*********************************************************************************************************
+# do not change the following code
+# buildin internal application source
+#*********************************************************************************************************
+#*********************************************************************************************************
+# libsqlite3 src(s) file
+#*********************************************************************************************************
+LIB_SRCS = \
+src/sqlite3.c
+
+#*********************************************************************************************************
+# sqlite3 src(s) file
+#*********************************************************************************************************
+EXE_SRCS = \
+src/shell.c
+
+#*********************************************************************************************************
+# build path
+#*********************************************************************************************************
+ifeq ($(DEBUG_LEVEL), debug)
+OUTDIR = Debug
+else
+OUTDIR = Release
+endif
+
+OUTPATH = ./$(OUTDIR)
+OBJPATH = $(OUTPATH)/obj
+DEPPATH = $(OUTPATH)/dep
+
+#*********************************************************************************************************
+# target
+#*********************************************************************************************************
+LIB = $(OUTPATH)/libsqlite3.a
+DLL = $(OUTPATH)/libsqlite3.so
+EXE = $(OUTPATH)/sqlite3
+
+#*********************************************************************************************************
+# libsqlite3 objects
+#*********************************************************************************************************
+LIB_OBJS = $(addprefix $(OBJPATH)/, $(addsuffix .o, $(basename $(LIB_SRCS))))
+LIB_DEPS = $(addprefix $(DEPPATH)/, $(addsuffix .d, $(basename $(LIB_SRCS))))
+
+#*********************************************************************************************************
+# sqlite3 objects
+#*********************************************************************************************************
+EXE_OBJS = $(addprefix $(OBJPATH)/, $(addsuffix .o, $(basename $(EXE_SRCS))))
+EXE_DEPS = $(addprefix $(DEPPATH)/, $(addsuffix .d, $(basename $(EXE_SRCS))))
+
+#*********************************************************************************************************
+# include path
+#*********************************************************************************************************
+INCDIR = -I"$(SYLIXOS_BASE_PATH)/libsylixos/SylixOS"
+INCDIR += -I"$(SYLIXOS_BASE_PATH)/libsylixos/SylixOS/include"
+INCDIR += -I"$(SYLIXOS_BASE_PATH)/libsylixos/SylixOS/include/inet"
+
+#*********************************************************************************************************
+# compiler preprocess
+#*********************************************************************************************************
+DSYMBOL = -DSYLIXOS
+DSYMBOL += -DSYLIXOS_LIB
+
+#*********************************************************************************************************
+# depend dynamic library
+#*********************************************************************************************************
+DEPEND_DLL = -lcextern
+EXE_DEPEND_DLL = -lsqlite3 -lcextern -lvpmpdm
+
+#*********************************************************************************************************
+# depend dynamic library search path
+#*********************************************************************************************************
+DEPEND_DLL_PATH = -L"$(SYLIXOS_BASE_PATH)/libcextern/$(OUTDIR)"
+EXE_DEPEND_DLL_PATH = -L"$(SYLIXOS_BASE_PATH)/libcextern/$(OUTDIR)"
+EXE_DEPEND_DLL_PATH += -L"$(SYLIXOS_BASE_PATH)/libsylixos/$(OUTDIR)"
+EXE_DEPEND_DLL_PATH += -L"$(OUTPATH)"
+
+#*********************************************************************************************************
+# compiler optimize
+#*********************************************************************************************************
+ifeq ($(DEBUG_LEVEL), debug)
+OPTIMIZE = -O0 -g3 -gdwarf-2
+else
+OPTIMIZE = -O2 -g1 -gdwarf-2 # Do NOT use -O3 and -Os
+endif # -Os is not align for function
+ # loop and jump.
+#*********************************************************************************************************
+# depends and compiler parameter (cplusplus in kernel MUST NOT use exceptions and rtti)
+#*********************************************************************************************************
+DEPENDFLAG = -MM
+CXX_EXCEPT = -fno-exceptions -fno-rtti
+COMMONFLAGS = $(CPUFLAGS) $(OPTIMIZE) -Wall -fmessage-length=0 -fsigned-char -fno-short-enums
+ASFLAGS = -x assembler-with-cpp $(DSYMBOL) $(INCDIR) $(COMMONFLAGS) -c
+CFLAGS = $(DSYMBOL) $(INCDIR) $(COMMONFLAGS) -fPIC -c
+CXXFLAGS = $(DSYMBOL) $(INCDIR) $(CXX_EXCEPT) $(COMMONFLAGS) -fPIC -c
+ARFLAGS = -r
+
+#*********************************************************************************************************
+# define some useful variable
+#*********************************************************************************************************
+DEPEND = $(CC) $(DEPENDFLAG) $(CFLAGS)
+DEPEND.d = $(subst -g ,,$(DEPEND))
+COMPILE.S = $(AS) $(ASFLAGS)
+COMPILE_VFP.S = $(AS) $(ASFLAGS) $(FPUFLAGS)
+COMPILE.c = $(CC) $(CFLAGS)
+COMPILE.cxx = $(CXX) $(CXXFLAGS)
+
+#*********************************************************************************************************
+# target
+#*********************************************************************************************************
+all: $(LIB) $(DLL) $(EXE)
+ @echo create "$(LIB) $(DLL) $(EXE)" success.
+
+#*********************************************************************************************************
+# include depends
+#*********************************************************************************************************
+ifneq ($(MAKECMDGOALS), clean)
+ifneq ($(MAKECMDGOALS), clean_project)
+sinclude $(LIB_DEPS) $(EXE_DEPS)
+endif
+endif
+
+#*********************************************************************************************************
+# create depends files
+#*********************************************************************************************************
+$(DEPPATH)/%.d: %.c
+ @echo creating $@
+ @if [ ! -d "$(dir $@)" ]; then mkdir -p "$(dir $@)"; fi
+ @rm -f $@; \
+ echo -n '$@ $(addprefix $(OBJPATH)/, $(dir $<))' > $@; \
+ $(DEPEND.d) $< >> $@ || rm -f $@; exit;
+
+$(DEPPATH)/%.d: %.cpp
+ @echo creating $@
+ @if [ ! -d "$(dir $@)" ]; then mkdir -p "$(dir $@)"; fi
+ @rm -f $@; \
+ echo -n '$@ $(addprefix $(OBJPATH)/, $(dir $<))' > $@; \
+ $(DEPEND.d) $< >> $@ || rm -f $@; exit;
+
+#*********************************************************************************************************
+# compile source files
+#*********************************************************************************************************
+$(OBJPATH)/%.o: %.S
+ @if [ ! -d "$(dir $@)" ]; then mkdir -p "$(dir $@)"; fi
+ $(COMPILE.S) $< -o $@
+
+$(OBJPATH)/%.o: %.c
+ @if [ ! -d "$(dir $@)" ]; then mkdir -p "$(dir $@)"; fi
+ $(COMPILE.c) $< -o $@
+
+$(OBJPATH)/%.o: %.cpp
+ @if [ ! -d "$(dir $@)" ]; then mkdir -p "$(dir $@)"; fi
+ $(COMPILE.cxx) $< -o $@
+
+#*********************************************************************************************************
+# link libsqlite3.a object files
+#*********************************************************************************************************
+$(LIB): $(LIB_OBJS)
+ $(AR) $(ARFLAGS) $(LIB) $(LIB_OBJS)
+
+#*********************************************************************************************************
+# link libsqlite3.so object files
+#*********************************************************************************************************
+$(DLL): $(LIB_OBJS)
+ $(LD) $(CPUFLAGS) -nostdlib -fPIC -shared -o $(DLL) $(LIB_OBJS) \
+ $(DEPEND_DLL_PATH) $(DEPEND_DLL) -lm -lgcc
+
+#*********************************************************************************************************
+# link sqlite3 object files
+#*********************************************************************************************************
+$(EXE): $(EXE_OBJS)
+ $(LD) $(CPUFLAGS) -nostdlib -fPIC -shared -o $(EXE) $(EXE_OBJS) \
+ $(EXE_DEPEND_DLL_PATH) $(EXE_DEPEND_DLL) -lm -lgcc
+
+#*********************************************************************************************************
+# clean
+#*********************************************************************************************************
+.PHONY: clean
+.PHONY: clean_project
+
+#*********************************************************************************************************
+# clean objects
+#*********************************************************************************************************
+clean:
+ -rm -rf $(DLL)
+ -rm -rf $(LIB)
+ -rm -rf $(EXE)
+ -rm -rf $(OBJPATH)
+ -rm -rf $(DEPPATH)
+
+#*********************************************************************************************************
+# clean project
+#*********************************************************************************************************
+clean_project:
+ -rm -rf $(OUTPATH)
+
+#*********************************************************************************************************
+# END
+#*********************************************************************************************************
diff --git a/Makefile.mips b/Makefile.mips
new file mode 100644
index 0000000..5103329
--- /dev/null
+++ b/Makefile.mips
@@ -0,0 +1,243 @@
+#*********************************************************************************************************
+# sqlite3 Makefile
+# target -> libsqlite3.a
+# libsqlite3.so
+# sqlite3
+#*********************************************************************************************************
+
+#*********************************************************************************************************
+# include config.mk
+#*********************************************************************************************************
+CONFIG_MK_EXIST = $(shell if [ -f ../config.mk ]; then echo exist; else echo notexist; fi;)
+ifeq ($(CONFIG_MK_EXIST), exist)
+include ../config.mk
+else
+CONFIG_MK_EXIST = $(shell if [ -f config.mk ]; then echo exist; else echo notexist; fi;)
+ifeq ($(CONFIG_MK_EXIST), exist)
+include config.mk
+else
+CONFIG_MK_EXIST =
+endif
+endif
+
+#*********************************************************************************************************
+# check configure
+#*********************************************************************************************************
+check_defined = \
+ $(foreach 1,$1,$(__check_defined))
+__check_defined = \
+ $(if $(value $1),, \
+ $(error Undefined $1$(if $(value 2), ($(strip $2)))))
+
+$(call check_defined, CONFIG_MK_EXIST, Please configure this project in RealEvo-IDE or \
+create a config.mk file!)
+$(call check_defined, SYLIXOS_BASE_PATH, SylixOS base project path)
+$(call check_defined, TOOLCHAIN_PREFIX, the prefix name of toolchain)
+$(call check_defined, DEBUG_LEVEL, debug level(debug or release))
+
+#*********************************************************************************************************
+# toolchain select
+#*********************************************************************************************************
+CC = $(TOOLCHAIN_PREFIX)gcc
+CXX = $(TOOLCHAIN_PREFIX)g++
+AS = $(TOOLCHAIN_PREFIX)gcc
+AR = $(TOOLCHAIN_PREFIX)ar
+LD = $(TOOLCHAIN_PREFIX)g++
+
+#*********************************************************************************************************
+# do not change the following code
+# buildin internal application source
+#*********************************************************************************************************
+#*********************************************************************************************************
+# libsqlite3 src(s) file
+#*********************************************************************************************************
+LIB_SRCS = \
+src/sqlite3.c
+
+#*********************************************************************************************************
+# sqlite3 src(s) file
+#*********************************************************************************************************
+EXE_SRCS = \
+src/shell.c
+
+#*********************************************************************************************************
+# build path
+#*********************************************************************************************************
+ifeq ($(DEBUG_LEVEL), debug)
+OUTDIR = Debug
+else
+OUTDIR = Release
+endif
+
+OUTPATH = ./$(OUTDIR)
+OBJPATH = $(OUTPATH)/obj
+DEPPATH = $(OUTPATH)/dep
+
+#*********************************************************************************************************
+# target
+#*********************************************************************************************************
+LIB = $(OUTPATH)/libsqlite3.a
+DLL = $(OUTPATH)/libsqlite3.so
+EXE = $(OUTPATH)/sqlite3
+
+#*********************************************************************************************************
+# libsqlite3 objects
+#*********************************************************************************************************
+LIB_OBJS = $(addprefix $(OBJPATH)/, $(addsuffix .o, $(basename $(LIB_SRCS))))
+LIB_DEPS = $(addprefix $(DEPPATH)/, $(addsuffix .d, $(basename $(LIB_SRCS))))
+
+#*********************************************************************************************************
+# sqlite3 objects
+#*********************************************************************************************************
+EXE_OBJS = $(addprefix $(OBJPATH)/, $(addsuffix .o, $(basename $(EXE_SRCS))))
+EXE_DEPS = $(addprefix $(DEPPATH)/, $(addsuffix .d, $(basename $(EXE_SRCS))))
+
+#*********************************************************************************************************
+# include path
+#*********************************************************************************************************
+INCDIR = -I"$(SYLIXOS_BASE_PATH)/libsylixos/SylixOS"
+INCDIR += -I"$(SYLIXOS_BASE_PATH)/libsylixos/SylixOS/include"
+INCDIR += -I"$(SYLIXOS_BASE_PATH)/libsylixos/SylixOS/include/inet"
+
+#*********************************************************************************************************
+# compiler preprocess
+#*********************************************************************************************************
+DSYMBOL = -DSYLIXOS
+DSYMBOL += -DSYLIXOS_LIB
+
+#*********************************************************************************************************
+# depend dynamic library
+#*********************************************************************************************************
+DEPEND_DLL = -lcextern
+EXE_DEPEND_DLL = -lsqlite3 -lcextern -lvpmpdm
+
+#*********************************************************************************************************
+# depend dynamic library search path
+#*********************************************************************************************************
+DEPEND_DLL_PATH = -L"$(SYLIXOS_BASE_PATH)/libcextern/$(OUTDIR)"
+EXE_DEPEND_DLL_PATH = -L"$(SYLIXOS_BASE_PATH)/libcextern/$(OUTDIR)"
+EXE_DEPEND_DLL_PATH += -L"$(SYLIXOS_BASE_PATH)/libsylixos/$(OUTDIR)"
+EXE_DEPEND_DLL_PATH += -L"$(OUTPATH)"
+
+#*********************************************************************************************************
+# compiler optimize
+#*********************************************************************************************************
+ifeq ($(DEBUG_LEVEL), debug)
+OPTIMIZE = -O0 -g3 -gdwarf-2
+else
+OPTIMIZE = -O2 -g1 -gdwarf-2 # Do NOT use -O3 and -Os
+endif # -Os is not align for function
+ # loop and jump.
+#*********************************************************************************************************
+# depends and compiler parameter (cplusplus in kernel MUST NOT use exceptions and rtti)
+#*********************************************************************************************************
+DEPENDFLAG = -MM
+CXX_EXCEPT = -fno-exceptions -fno-rtti
+COMMONFLAGS = $(CPUFLAGS) $(OPTIMIZE) -Wall -fmessage-length=0 -fsigned-char -fno-short-enums
+ASFLAGS = -x assembler-with-cpp $(DSYMBOL) $(INCDIR) $(COMMONFLAGS) -mabicalls -c
+CFLAGS = $(DSYMBOL) $(INCDIR) $(COMMONFLAGS) -fPIC -mabicalls -c
+CXXFLAGS = $(DSYMBOL) $(INCDIR) $(CXX_EXCEPT) $(COMMONFLAGS) -fPIC -mabicalls -c
+ARFLAGS = -r
+
+#*********************************************************************************************************
+# define some useful variable
+#*********************************************************************************************************
+DEPEND = $(CC) $(DEPENDFLAG) $(CFLAGS)
+DEPEND.d = $(subst -g ,,$(DEPEND))
+COMPILE.S = $(AS) $(ASFLAGS)
+COMPILE_VFP.S = $(AS) $(ASFLAGS) -mhard-float
+COMPILE.c = $(CC) $(CFLAGS)
+COMPILE.cxx = $(CXX) $(CXXFLAGS)
+
+#*********************************************************************************************************
+# target
+#*********************************************************************************************************
+all: $(LIB) $(DLL) $(EXE)
+ @echo create "$(LIB) $(DLL) $(EXE)" success.
+
+#*********************************************************************************************************
+# include depends
+#*********************************************************************************************************
+ifneq ($(MAKECMDGOALS), clean)
+ifneq ($(MAKECMDGOALS), clean_project)
+sinclude $(LIB_DEPS) $(EXE_DEPS)
+endif
+endif
+
+#*********************************************************************************************************
+# create depends files
+#*********************************************************************************************************
+$(DEPPATH)/%.d: %.c
+ @echo creating $@
+ @if [ ! -d "$(dir $@)" ]; then mkdir -p "$(dir $@)"; fi
+ @rm -f $@; \
+ echo -n '$@ $(addprefix $(OBJPATH)/, $(dir $<))' > $@; \
+ $(DEPEND.d) $< >> $@ || rm -f $@; exit;
+
+$(DEPPATH)/%.d: %.cpp
+ @echo creating $@
+ @if [ ! -d "$(dir $@)" ]; then mkdir -p "$(dir $@)"; fi
+ @rm -f $@; \
+ echo -n '$@ $(addprefix $(OBJPATH)/, $(dir $<))' > $@; \
+ $(DEPEND.d) $< >> $@ || rm -f $@; exit;
+
+#*********************************************************************************************************
+# compile source files
+#*********************************************************************************************************
+$(OBJPATH)/%.o: %.S
+ @if [ ! -d "$(dir $@)" ]; then mkdir -p "$(dir $@)"; fi
+ $(COMPILE.S) $< -o $@
+
+$(OBJPATH)/%.o: %.c
+ @if [ ! -d "$(dir $@)" ]; then mkdir -p "$(dir $@)"; fi
+ $(COMPILE.c) $< -o $@
+
+$(OBJPATH)/%.o: %.cpp
+ @if [ ! -d "$(dir $@)" ]; then mkdir -p "$(dir $@)"; fi
+ $(COMPILE.cxx) $< -o $@
+
+#*********************************************************************************************************
+# link libsqlite3.a object files
+#*********************************************************************************************************
+$(LIB): $(LIB_OBJS)
+ $(AR) $(ARFLAGS) $(LIB) $(LIB_OBJS)
+
+#*********************************************************************************************************
+# link libsqlite3.so object files
+#*********************************************************************************************************
+$(DLL): $(LIB_OBJS)
+ $(LD) $(CPUFLAGS) -nostdlib -fPIC -mabicalls -shared -o $(EXE) $(OBJS) \
+ $(DEPEND_DLL_PATH) $(DEPEND_DLL) -lm -lgcc
+
+#*********************************************************************************************************
+# link sqlite3 object files
+#*********************************************************************************************************
+$(EXE): $(EXE_OBJS)
+ $(LD) $(CPUFLAGS) -nostdlib -fPIC -mabicalls -shared -o $(EXE) $(EXE_OBJS) \
+ $(EXE_DEPEND_DLL_PATH) $(EXE_DEPEND_DLL) -lm -lgcc
+
+#*********************************************************************************************************
+# clean
+#*********************************************************************************************************
+.PHONY: clean
+.PHONY: clean_project
+
+#*********************************************************************************************************
+# clean objects
+#*********************************************************************************************************
+clean:
+ -rm -rf $(DLL)
+ -rm -rf $(LIB)
+ -rm -rf $(EXE)
+ -rm -rf $(OBJPATH)
+ -rm -rf $(DEPPATH)
+
+#*********************************************************************************************************
+# clean project
+#*********************************************************************************************************
+clean_project:
+ -rm -rf $(OUTPATH)
+
+#*********************************************************************************************************
+# END
+#*********************************************************************************************************
diff --git a/Makefile.ppc b/Makefile.ppc
new file mode 100644
index 0000000..e69de29
--- /dev/null
+++ b/Makefile.ppc
diff --git a/Makefile.x86 b/Makefile.x86
new file mode 100644
index 0000000..e69de29
--- /dev/null
+++ b/Makefile.x86
diff --git a/config.mk b/config.mk
index d61ed2f..ae8a243 100644
--- a/config.mk
+++ b/config.mk
@@ -12,16 +12,16 @@
#
# 文 件 名: config.mk
#
-# 创 建 人: RealCoder
+# 创 建 人: RealEvo-IDE
#
-# 文件创建日期: 2015 年 05 月 11 日
+# 文件创建日期: 2015 年12 月06 日
#
-# 描 述: 本文由RealCoder生成,用于配置Makefile功能,请勿手动修改
+# 描 述: 本文件由 RealEvo-IDE 生成,用于配置 Makefile 功能,请勿手动修改
#*********************************************************************************************************
#*********************************************************************************************************
# SylixOS Base Project path
#*********************************************************************************************************
-SYLIXOS_BASE_PATH = D:\workspace\SylixOS_Base
+SYLIXOS_BASE_PATH = D:/workspace/sylixos-base
#*********************************************************************************************************
# Toolchain prefix
@@ -31,4 +31,11 @@ TOOLCHAIN_PREFIX = arm-sylixos-eabi-
#*********************************************************************************************************
# Debug options (debug or release)
#*********************************************************************************************************
-DEBUG_LEVEL = debug \ No newline at end of file
+DEBUG_LEVEL = debug
+
+#*********************************************************************************************************
+# NOTICE: libsylixos, BSP and other kernel modules projects CAN NOT use vfp!
+#*********************************************************************************************************
+FPUFLAGS =
+CPUFLAGS = -mcpu=arm920t $(FPUFLAGS)
+