好,现在我们就要对sqlite进行修改,来做移植工作。
在下面的描述中,我们将对以下几个文件进行一定的添加、修改,从而来完成sqlite在uclinux下的编译:
sqlite/main.mk 修改 sqlite/Makefile 添加 sqlite/src/os.c 修改 sqlite/src/shell.c 修改 |
对这几个文件进行修改时,请自己做好这些文件的备份,比如你可以将它们拷贝一份,改名成文件名后面带.bak。这个很重要,可以避免你在修改的过程出现问题而无法还原。
一、修改sqlite/main.mk
1、TCCX
将
TCCX = $(TCC) $(OPTS) $(THREADSAFE) $(USLEEP) -I. -I$(TOP)/src |
修改为
TCCX = $(TCC) $(OPTS) $(THREADSAFE) $(USLEEP) -I. -I$(TOP)/src $(CFLAGS) |
即加上$(CFLAGS)标记。
2、 LIBOBJ
找到 # Object files for the SQLite library.
将其中的tclsqlite.o去掉。即去掉tcl有关的东西。
如果没有tclsqlite.o,那么不用处理它。
3、 sqlite$(EXE)
找到类似sqlite$(EXE)的一句,将:
sqlite$(EXE): $(TOP)/src/shell.c libsqlite.a sqlite.h $(TCCX) $(READLINE_FLAGS) -o sqlite$(EXE) $(TOP)/src/shell.c \ libsqlite.a $(LIBREADLINE) $(THREADLIB) |
替换为:
shell.o: $(TOP)/src/shell.c sqlite.h $(TCCX) $(READLINE_FLAGS) -c $(TOP)/src/shell.c
sqlite$(EXE): shell.o libsqlite.a $(TCC) $(LDFLAGS) -o $@ shell.o \ libsqlite.a $(LIBREADLINE) $(THREADLIB) $(LDLIBS)
|
即在sqlite$(EXE)上一行加上shell.o,及在其后加上$(LDLIBS)标记。这个是对/src/shell.c的编译方法的修改。
|