我将使用 GNU MAKE 制作目标文件。
文件名: Makefile.vc08
DBCRYPTO = ../dbcrypto
SQLCRYPT = ../sqlcrypt
TOP = $(SQLCRYPT)
PLATFORMSDKDIR="C:/Program\ Files/Microsoft\ SDKs/Windows/v6.0A"
VCTOOLKITINSTALLDIR=C:/Program\ Files\ (x86)/Microsoft\ Visual\ Studio\ 9.0/VC
PREFIX=C:/Program\ Files\ (x86)/Microsoft\ Visual\ Studio\ 9.0/VC
CL=$(PREFIX)/bin/cl.exe
CLFLAGS=-nologo
LINK=$(PREFIX)/bin/link.exe
INCINST=$(PREFIX)/include
LIBINST=$(PREFIX)/lib
BININST=$(PREFIX)/bin
CFLAGS+= $(CLFLAGS) -DNDEBUG=1 -DSQLITE_HAS_CODEC -DSQLCRYPT3 -DSQLCRYPT3_HOBBLED -DSQLCRYPT3_HOBBLED_EVAL
CFLAGS+= -I$(TOP) -I$(DBCRYPTO)
XLIB=$(PLATFORMSDKDIR)/lib
LFLAGS=$(XLIB)/uuid.lib $(XLIB)/kernel32.lib
SQLCRYPTOBJ+= aescrypt.o aeskey.o aestab.o \
fileenc.o hmac.o prng.o pwd2key.o sha1.o \
pkv.o
LIBOBJ+= sqlite3.o $(SQLCRYPTOBJ)
SHELLOBJ= shell.o
all: sqlcrypt3_static.lib sqlcrypt3.exe sqlcrypt3.dll
clean:
rm -f *.dll *.lib *.exp *.exe *.o
sqlcrypt3_static.lib: $(LIBOBJ)
$(LINK) -LIB -OUT:sqlcrypt3_static.lib $(LIBOBJ)
sqlcrypt3.exe: $(LIBOBJ) $(SHELLOBJ)
$(LINK) $(LFLAGS) -OUT:sqlcrypt3.exe $(LIBOBJ) $(SHELLOBJ)
sqlcrypt3.dll: $(LIBOBJ)
$(LINK) $(LFLAGS) -OUT:sqlcrypt3.dll -dll -def:sqlcrypt3.def $(LIBOBJ)
shell.o:
$(CL) -c $(CFLAGS) -Fo$@ $(SQLCRYPT)/shell.c
sqlite3.o:
$(CL) -c $(CFLAGS) -Fo$@ $(SQLCRYPT)/sqlite3.c
aescrypt.o: $(DBCRYPTO)/aescrypt.c $(DBCRYPTOHDR)
$(CL) -c $(CFLAGS) -Fo$@ $(DBCRYPTO)/aescrypt.c
aeskey.o: $(DBCRYPTO)/aeskey.c $(DBCRYPTOHDR)
$(CL) -c $(CFLAGS) -Fo$@ $(DBCRYPTO)/aeskey.c
aestab.o: $(DBCRYPTO)/aestab.c $(DBCRYPTOHDR)
$(CL) -c $(CFLAGS) -Fo$@ $(DBCRYPTO)/aestab.c
fileenc.o: $(DBCRYPTO)/fileenc.c $(DBCRYPTOHDR)
$(CL) -c $(CFLAGS) -Fo$@ $(DBCRYPTO)/fileenc.c
hmac.o: $(DBCRYPTO)/hmac.c $(DBCRYPTOHDR)
$(CL) -c $(CFLAGS) -Fo$@ $(DBCRYPTO)/hmac.c
prng.o: $(DBCRYPTO)/prng.c $(DBCRYPTOHDR)
$(CL) -c $(CFLAGS) -Fo$@ $(DBCRYPTO)/prng.c
pwd2key.o: $(DBCRYPTO)/pwd2key.c $(DBCRYPTOHDR)
$(CL) -c $(CFLAGS) -Fo$@ $(DBCRYPTO)/pwd2key.c
sha1.o: $(DBCRYPTO)/sha1.c $(DBCRYPTOHDR)
$(CL) -c $(CFLAGS) -Fo$@ $(DBCRYPTO)/sha1.c
pkv.o: $(SQLCRYPT)/pkv.c $(SQLCRYPTHDR)
$(CL) -c $(CFLAGS) -Fo$@ $(SQLCRYPT)/pkv.c
首先我在Windows中安装GNUMAKE。 然后设置gnumake的make.exe的环境路径。
然后我要在cmd中构建命令 命令: make -f Makefile.vc08
它出错了。