电脑技术学习

对话 UNIX,第 12 部分: 自己动手完成项目

dn001

  您的下一个步骤是运行 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,以产生在后续的步骤中将要使用的头文件。

标签: