您的下一个步骤是运行 make,以构建该软件(请参见清单 5):
清单 5. 运行 make
$ make
sed -e s/--VERS--/3.3.17/ ./src/sqlite.h.in |
sed -e s/--VERSION-NUMBER--/3003017/ >sqlite3.h
gcc -g -O2 -o lemon ./tool/lemon.c
cp ./tool/lempar.c .
cp ./src/parse.y .
./lemon parse.y
mv parse.h parse.h.temp
awk -f ./addopcodes.awk parse.h.temp >parse.h
cat parse.h ./src/vdbe.c | awk -f ./mkopcodeh.awk >opcodes.h
./libtool --mode=compile --tag=CC gcc -g -O2 -I. -I./src
-DNDEBUG -I/System/Lib rary/Frameworks/Tcl.framework/Versions/8.4/Headers
-DTHREADSAFE=0 -DSQLITE_THREA D_OVERRIDE_LOCK=-1
-DSQLITE_OMIT_LOAD_EXTENSION=1 -c ./src/alter.c
mkdir .libs
gcc -g -O2 -I. -I./src -DNDEBUG
-I/System/Library/Frameworks/Tcl.framework/Vers ions/8.4/Headers
-DTHREADSAFE=0 -DSQLITE_THREAD_OVERRIDE_LOCK=-1
-DSQLITE_OMIT_L OAD_EXTENSION=1 -c ./src/alter.c -fno-common
-DPIC -o .libs/alter.o
...
ranlib .libs/libtclsqlite3.a
creating libtclsqlite3.la
注意: 在上面的输出中,添加了一些空白行,以便更好地突出显示 make 发起的每个步骤。
make 实用工具检查文件(头文件、源代码、数据文件和目标文件)的修改日期,并编译合适的 C 源文件。最初,make 将重新编译所有内容,因为不存在任何目标文件或者编译目标。正如您可以看到的,用于编译目标的规则还包括一些中间步骤,其中使用了一些相关的工具,如 sed 和 awk,以产生在后续的步骤中将要使用的头文件。
标签: