Parcourir la source

项目编译环境演示

tendollor il y a 9 ans
Parent
commit
f060bb29ec
8 fichiers modifiés avec 990 ajouts et 0 suppressions
  1. 0 0
      CMakeLists.txt
  2. 946 0
      VCmakefile
  3. 1 0
      build.bat
  4. 1 0
      buildhelp.txt
  5. 8 0
      src/stdafx.cpp
  6. 15 0
      src/stdafx.h
  7. 8 0
      src/targetver.h
  8. 11 0
      src/the_world.cpp

+ 0 - 0
CMakeLists.txt


+ 946 - 0
VCmakefile

@@ -0,0 +1,946 @@
+# Makefile for Kyoto Cabinet for Win32
+
+
+
+#================================================================
+# Setting Variables
+#================================================================
+
+
+# VC++ directory
+VCPATH = D:\Program Files (x86)\Microsoft Visual Studio 12.0\VC
+SDKPATH = C:\Program Files (x86)\Microsoft SDKs\Windows\v7.1A
+
+
+# Targets
+LIBRARYFILES = kyotocabinet.lib
+LIBOBJFILES = kcutil.obj kcdb.obj kcthread.obj kcfile.obj \
+  kccompress.obj kccompare.obj kcmap.obj kcregex.obj kcplantdb.obj \
+  kcprotodb.obj kcstashdb.obj kccachedb.obj kchashdb.obj kcdirdb.obj kctextdb.obj \
+  kcpolydb.obj kcdbext.obj kclangc.obj
+COMMANDFILES = kcutiltest.exe kcutilmgr.exe kcprototest.exe \
+  kcstashtest.exe kccachetest.exe kcgrasstest.exe \
+  kchashtest.exe kchashmgr.exe kctreetest.exe kctreemgr.exe \
+  kcdirtest.exe kcdirmgr.exe kcforesttest.exe kcforestmgr.exe \
+  kcpolytest.exe kcpolymgr.exe kclangctest.exe
+
+
+# Building configuration
+CL = cl
+LIB = lib
+LINK = link
+CLFLAGS = /nologo \
+  /I "$(VCPATH)\Include" /I "$(VCPATH)\PlatformSDK\Include" /I "$(SDKPATH)\Include" \
+  /I "." \
+  /D_DEBUG /D_CRT_SECURE_NO_WARNINGS \
+  /Od /EHsc /W3 /wd4244 /wd4351 /wd4800 /MTd
+LIBFLAGS = /nologo \
+  /libpath:"$(VCPATH)\lib" /libpath:"$(VCPATH)\PlatformSDK\Lib" /libpath:"$(SDKPATH)\Lib" \
+  /libpath:"."
+LINKFLAGS = /nologo \
+  /libpath:"$(VCPATH)\lib" /libpath:"$(VCPATH)\PlatformSDK\Lib" /libpath:"$(SDKPATH)\Lib" \
+  /libpath:"."
+
+
+
+#================================================================
+# Suffix rules
+#================================================================
+
+
+.SUFFIXES :
+.SUFFIXES : .cc .c .obj .exe
+
+.c.obj :
+	$(CL) /c $(CLFLAGS) $<
+
+.cc.obj :
+	$(CL) /c $(CLFLAGS) $<
+
+
+
+#================================================================
+# Actions
+#================================================================
+
+
+all : $(LIBRARYFILES) $(COMMANDFILES)
+	@echo #
+	@echo #================================================================
+	@echo # Ready to install.
+	@echo #================================================================
+
+
+clean :
+	-del *.obj *.lib *.dll *.exp *.exe /F /Q > NUL: 2>&1
+	-del casket* /F /Q > NUL: 2>&1
+	-rd casket casket.wal casket.tmp casket-para casket.kcd casket.kcf /S /Q > NUL: 2>&1
+
+
+check : check-util check-proto check-stash check-cache check-grass \
+  check-hash check-tree check-dir check-forest check-poly check-langc
+	-del casket* /F /Q > NUL: 2>&1
+	-rd casket casket.wal casket.tmp casket-para casket.kcd casket.kcf /S /Q > NUL: 2>&1
+	@echo #
+	@echo #================================================================
+	@echo # Checking completed.
+	@echo #================================================================
+
+
+check-util :
+	-del casket* /F /Q > NUL: 2>&1
+	-rd casket casket.wal casket.tmp casket-para casket.kcd casket.kcf /S /Q > NUL: 2>&1
+	kcutilmgr version
+	kcutilmgr hex VCmakefile > check.in
+	kcutilmgr hex -d check.in > check.out
+	kcutilmgr enc VCmakefile > check.in
+	kcutilmgr enc -d check.in > check.out
+	kcutilmgr enc -hex VCmakefile > check.in
+	kcutilmgr enc -hex -d check.in > check.out
+	kcutilmgr enc -url VCmakefile > check.in
+	kcutilmgr enc -url -d check.in > check.out
+	kcutilmgr enc -quote VCmakefile > check.in
+	kcutilmgr enc -quote -d check.in > check.out
+	kcutilmgr ciph -key "hoge" VCmakefile > check.in
+	kcutilmgr ciph -key "hoge" check.in > check.out
+	kcutilmgr comp -gz VCmakefile > check.in
+	kcutilmgr comp -gz -d check.in > check.out
+	kcutilmgr comp -lzo VCmakefile > check.in
+	kcutilmgr comp -lzo -d check.in > check.out
+	kcutilmgr comp -lzma VCmakefile > check.in
+	kcutilmgr comp -lzma -d check.in > check.out
+	kcutilmgr hash VCmakefile > check.in
+	kcutilmgr hash -fnv VCmakefile > check.out
+	kcutilmgr hash -path VCmakefile > check.out
+	kcutilmgr regex mikio VCmakefile > check.out
+	kcutilmgr regex -alt "hirarin" mikio VCmakefile > check.out
+	kcutilmgr conf
+	-del casket* /F /Q > NUL: 2>&1
+	kcutiltest mutex -th 4 -iv -1 10000
+	kcutiltest cond -th 4 -iv -1 10000
+	kcutiltest para -th 4 10000
+	kcutiltest para -th 4 -iv -1 10000
+	kcutiltest file -th 4 casket 10000
+	kcutiltest file -th 4 -rnd -msiz 1m casket 10000
+	kcutiltest lhmap -bnum 1000 10000
+	kcutiltest lhmap -rnd -bnum 1000 10000
+	kcutiltest thmap -bnum 1000 10000
+	kcutiltest thmap -rnd -bnum 1000 10000
+	kcutiltest talist 10000
+	kcutiltest talist -rnd 10000
+	kcutiltest misc 10000
+
+
+check-proto :
+	-del casket* /F /Q > NUL: 2>&1
+	-rd casket casket.wal casket.tmp casket-para casket.kcd casket.kcf /S /Q > NUL: 2>&1
+	kcprototest order -etc 10000
+	kcprototest order -th 4 10000
+	kcprototest order -th 4 -rnd -etc 10000
+	kcprototest order -th 4 -rnd -etc -tran 10000
+	kcprototest wicked 10000
+	kcprototest wicked -th 4 -it 4 10000
+	kcprototest tran 10000
+	kcprototest tran -th 2 -it 4 10000
+	-del casket* /F /Q > NUL: 2>&1
+	kcprototest order -tree -etc 10000
+	kcprototest order -tree -th 4 10000
+	kcprototest order -tree -th 4 -rnd -etc 10000
+	kcprototest order -tree -th 4 -rnd -etc -tran 10000
+	kcprototest wicked -tree 10000
+	kcprototest wicked -tree -th 4 -it 4 10000
+	kcprototest tran -tree 10000
+	kcprototest tran -tree -th 2 -it 4 10000
+
+
+check-stash :
+	-del casket* /F /Q > NUL: 2>&1
+	-rd casket casket.wal casket.tmp casket-para casket.kcd casket.kcf /S /Q > NUL: 2>&1
+	kcstashtest order -etc -bnum 5000 10000
+	kcstashtest order -th 4 -bnum 5000 10000
+	kcstashtest order -th 4 -rnd -etc -bnum 5000 10000
+	kcstashtest order -th 4 -rnd -etc -bnum 5000 10000
+	kcstashtest order -th 4 -rnd -etc -tran \
+	  -bnum 5000 10000
+	kcstashtest wicked -bnum 5000 10000
+	kcstashtest wicked -th 4 -it 4 -bnum 5000 10000
+	kcstashtest tran -bnum 5000 10000
+	kcstashtest tran -th 2 -it 4 -bnum 5000 10000
+
+
+check-cache :
+	-del casket* /F /Q > NUL: 2>&1
+	-rd casket casket.wal casket.tmp casket-para casket.kcd casket.kcf /S /Q > NUL: 2>&1
+	kccachetest order -etc -bnum 5000 10000
+	kccachetest order -th 4 -bnum 5000 10000
+	kccachetest order -th 4 -rnd -etc -bnum 5000 -capcnt 10000 10000
+	kccachetest order -th 4 -rnd -etc -bnum 5000 -capsiz 10000 10000
+	kccachetest order -th 4 -rnd -etc -tran \
+	  -tc -bnum 5000 -capcnt 10000 10000
+	kccachetest wicked -bnum 5000 10000
+	kccachetest wicked -th 4 -it 4 -tc -bnum 5000 -capcnt 10000 10000
+	kccachetest tran -bnum 5000 10000
+	kccachetest tran -th 2 -it 4 -tc -bnum 5000 10000
+
+
+check-grass :
+	-del casket* /F /Q > NUL: 2>&1
+	-rd casket casket.wal casket.tmp casket-para casket.kcd casket.kcf /S /Q > NUL: 2>&1
+	$(RUNENV) $(RUNCMD) kcgrasstest order -etc -bnum 5000 10000
+	$(RUNENV) $(RUNCMD) kcgrasstest order -th 4 -bnum 5000 10000
+	$(RUNENV) $(RUNCMD) kcgrasstest order -th 4 -rnd -etc -bnum 5000 10000
+	$(RUNENV) $(RUNCMD) kcgrasstest order -th 4 -rnd -etc -bnum 5000 10000
+	$(RUNENV) $(RUNCMD) kcgrasstest order -th 4 -rnd -etc -tran \
+	  -tc -bnum 5000 -pccap 100k 1000
+	$(RUNENV) $(RUNCMD) kcgrasstest wicked -bnum 5000 10000
+	$(RUNENV) $(RUNCMD) kcgrasstest wicked -th 4 -it 4 -tc -bnum 5000 -pccap 100k 10000
+	$(RUNENV) $(RUNCMD) kcgrasstest tran -bnum 5000 10000
+	$(RUNENV) $(RUNCMD) kcgrasstest tran -th 2 -it 4 -tc -bnum 5000 -pccap 100k 10000
+
+
+check-hash :
+	-del casket* /F /Q > NUL: 2>&1
+	-rd casket casket.wal casket.tmp casket-para casket.kcd casket.kcf /S /Q > NUL: 2>&1
+	kchashmgr create -otr -apow 1 -fpow 2 -bnum 3 casket
+	kchashmgr inform -st casket
+	kchashmgr set -add casket duffy 1231
+	kchashmgr set -add casket micky 0101
+	kchashmgr set casket fal 1007
+	kchashmgr set casket mikio 0211
+	kchashmgr set casket natsuki 0810
+	kchashmgr set casket micky ""
+	kchashmgr set -rep casket duffy 777
+	kchashmgr set -app casket duffy kukuku
+	kchashmgr remove casket micky
+	kchashmgr list -pv casket > check.out
+	kchashmgr set casket ryu 1
+	kchashmgr set casket ken 2
+	kchashmgr remove casket duffy
+	kchashmgr set casket ryu syo-ryu-ken
+	kchashmgr set casket ken tatsumaki-senpu-kyaku
+	kchashmgr set -inci casket int 1234
+	kchashmgr set -inci casket int 5678
+	kchashmgr set -incd casket double 1234.5678
+	kchashmgr set -incd casket double 8765.4321
+	kchashmgr get casket mikio
+	kchashmgr get casket ryu
+	kchashmgr import casket lab/numbers.tsv
+	kchashmgr list -pv -px casket > check.out
+	kchashmgr copy casket casket-para
+	kchashmgr dump casket check.out
+	kchashmgr load -otr casket check.out
+	kchashmgr defrag -onl casket
+	kchashmgr check -onr casket
+	kchashmgr inform -st casket
+	kchashmgr create -otr -otl -onr -apow 1 -fpow 3 \
+	  -ts -tl -tc -bnum 1 casket
+	kchashmgr import casket < lab/numbers.tsv
+	kchashmgr set casket mikio kyotocabinet
+	kchashmgr set -app casket tako ikaunini
+	kchashmgr set -app casket mikio kyototyrant
+	kchashmgr set -app casket mikio kyotodystopia
+	kchashmgr get -px casket mikio > check.out
+	kchashmgr list casket > check.out
+	kchashmgr check -onr casket
+	-del casket* /F /Q > NUL: 2>&1
+	kchashtest order -set -bnum 5000 -msiz 50000 casket 10000
+	kchashtest order -get -msiz 50000 casket 10000
+	kchashtest order -getw -msiz 5000 casket 10000
+	kchashtest order -rem -msiz 50000 casket 10000
+	kchashtest order -bnum 5000 -msiz 50000 casket 10000
+	kchashtest order -etc \
+	  -bnum 5000 -msiz 50000 -dfunit 4 casket 10000
+	kchashtest order -th 4 \
+	  -bnum 5000 -msiz 50000 -dfunit 4 casket 10000
+	kchashtest order -th 4 -rnd -etc \
+	  -bnum 5000 -msiz 50000 -dfunit 4 casket 10000
+	kchashmgr check -onr casket
+	kchashtest order -th 4 -rnd -etc -tran \
+	  -bnum 5000 -msiz 50000 -dfunit 4 casket 10000
+	kchashmgr check -onr casket
+	kchashtest order -th 4 -rnd -etc -oat \
+	  -bnum 5000 -msiz 50000 -dfunit 4 casket 10000
+	kchashmgr check -onr casket
+	kchashtest order -th 4 -rnd -etc \
+	  -apow 2 -fpow 3 -ts -tl -tc -bnum 5000 -msiz 50000 -dfunit 4 casket 10000
+	kchashmgr check -onr casket
+	kchashtest queue \
+	  -bnum 5000 -msiz 50000 casket 10000
+	kchashmgr check -onr casket
+	kchashtest queue -rnd \
+	  -bnum 5000 -msiz 50000 casket 10000
+	kchashmgr check -onr casket
+	kchashtest queue -th 4 -it 4 \
+	  -bnum 5000 -msiz 50000 casket 10000
+	kchashmgr check -onr casket
+	kchashtest queue -th 4 -it 4 -rnd \
+	  -bnum 5000 -msiz 50000 casket 10000
+	kchashmgr check -onr casket
+	kchashtest wicked -bnum 5000 -msiz 50000 casket 10000
+	kchashmgr check -onr casket
+	kchashtest wicked -th 4 -it 4 \
+	  -bnum 5000 -msiz 50000 -dfunit 4 casket 10000
+	kchashmgr check -onr casket
+	kchashtest wicked -th 4 -it 4 -oat \
+	  -bnum 5000 -msiz 50000 -dfunit 4 casket 10000
+	kchashmgr check -onr casket
+	kchashtest wicked -th 4 -it 4 \
+	  -apow 2 -fpow 3 -ts -tl -tc -bnum 10000 -msiz 50000 -dfunit 4 casket 10000
+	kchashmgr check -onr casket
+	kchashtest tran casket 10000
+	kchashtest tran -th 2 -it 4 casket 10000
+	kchashtest tran -th 2 -it 4 \
+	  -apow 2 -fpow 3 -ts -tl -tc -bnum 10000 -msiz 50000 -dfunit 4 casket 10000
+
+
+check-tree :
+	-del casket* /F /Q > NUL: 2>&1
+	-rd casket casket.wal casket.tmp casket-para casket.kcd casket.kcf /S /Q > NUL: 2>&1
+	kctreemgr create -otr -apow 1 -fpow 2 -bnum 3 casket
+	kctreemgr inform -st casket
+	kctreemgr set -add casket duffy 1231
+	kctreemgr set -add casket micky 0101
+	kctreemgr set casket fal 1007
+	kctreemgr set casket mikio 0211
+	kctreemgr set casket natsuki 0810
+	kctreemgr set casket micky ""
+	kctreemgr set -rep casket duffy 777
+	kctreemgr set -app casket duffy kukuku
+	kctreemgr remove casket micky
+	kctreemgr list -pv casket > check.out
+	kctreemgr set casket ryu 1
+	kctreemgr set casket ken 2
+	kctreemgr remove casket duffy
+	kctreemgr set casket ryu syo-ryu-ken
+	kctreemgr set casket ken tatsumaki-senpu-kyaku
+	kctreemgr set -inci casket int 1234
+	kctreemgr set -inci casket int 5678
+	kctreemgr set -incd casket double 1234.5678
+	kctreemgr set -incd casket double 8765.4321
+	kctreemgr get casket mikio
+	kctreemgr get casket ryu
+	kctreemgr import casket lab/numbers.tsv
+	kctreemgr list -des -pv -px casket > check.out
+	kctreemgr copy casket casket-para
+	kctreemgr dump casket check.out
+	kctreemgr load -otr casket check.out
+	kctreemgr defrag -onl casket
+	kctreemgr check -onr casket
+	kctreemgr inform -st casket
+	kctreemgr create -otr -otl -onr -apow 1 -fpow 3 \
+	  -ts -tl -tc -bnum 1 casket
+	kctreemgr import casket < lab/numbers.tsv
+	kctreemgr set casket mikio kyotocabinet
+	kctreemgr set -app casket tako ikaunini
+	kctreemgr set -app casket mikio kyototyrant
+	kctreemgr set -app casket mikio kyotodystopia
+	kctreemgr get -px casket mikio > check.out
+	kctreemgr list casket > check.out
+	kctreemgr check -onr casket
+	-del casket* /F /Q > NUL: 2>&1
+	kctreetest order -set \
+	  -psiz 100 -bnum 5000 -msiz 50000 -pccap 100k casket 10000
+	kctreetest order -get \
+	  -msiz 50000 -pccap 100k casket 10000
+	kctreetest order -getw \
+	  -msiz 5000 -pccap 100k casket 10000
+	kctreetest order -rem \
+	  -msiz 50000 -pccap 100k casket 10000
+	kctreetest order \
+	  -bnum 5000 -psiz 100 -msiz 50000 -pccap 100k casket 10000
+	kctreetest order -etc \
+	  -bnum 5000 -psiz 1000 -msiz 50000 -dfunit 4 -pccap 100k casket 10000
+	kctreetest order -th 4 \
+	  -bnum 5000 -psiz 1000 -msiz 50000 -dfunit 4 -pccap 100k casket 10000
+	kctreetest order -th 4 -pccap 100k -rnd -etc \
+	  -bnum 5000 -psiz 1000 -msiz 50000 -dfunit 4 -pccap 100k -rcd casket 10000
+	kctreemgr check -onr casket
+	kctreetest order -th 4 -rnd -etc -tran \
+	  -bnum 5000 -psiz 1000 -msiz 50000 -dfunit 4 -pccap 100k casket 1000
+	kctreemgr check -onr casket
+	kctreetest order -th 4 -rnd -etc -oat \
+	  -bnum 5000 -psiz 1000 -msiz 50000 -dfunit 4 -pccap 100k casket 1000
+	kctreemgr check -onr casket
+	kctreetest order -th 4 -rnd -etc \
+	  -apow 2 -fpow 3 -ts -tl -tc -bnum 5000 -psiz 1000 -msiz 50000 -dfunit 4 casket 10000
+	kctreemgr check -onr casket
+	kctreetest queue \
+	  -bnum 5000 -psiz 500 -msiz 50000 casket 10000
+	kctreemgr check -onr casket
+	kctreetest queue -rnd \
+	  -bnum 5000 -psiz 500 -msiz 50000 casket 10000
+	kctreemgr check -onr casket
+	kctreetest queue -th 4 -it 4 \
+	  -bnum 5000 -psiz 500 -msiz 50000 casket 10000
+	kctreemgr check -onr casket
+	kctreetest queue -th 4 -it 4 -rnd \
+	  -bnum 5000 -psiz 500 -msiz 50000 casket 10000
+	kctreemgr check -onr casket
+	kctreetest wicked \
+	  -bnum 5000 -psiz 1000 -msiz 50000 -pccap 100k casket 10000
+	kctreemgr check -onr casket
+	kctreetest wicked -th 4 -it 4 \
+	  -bnum 5000 -msiz 50000 -dfunit 4 -pccap 100k -rcd casket 10000
+	kctreemgr check -onr casket
+	kctreetest wicked -th 4 -it 4 -oat \
+	  -bnum 5000 -msiz 50000 -dfunit 4 -pccap 100k casket 1000
+	kctreemgr check -onr casket
+	kctreetest wicked -th 4 -it 4 \
+	  -apow 2 -fpow 3 -ts -tl -tc -bnum 10000 -msiz 50000 -dfunit 4 casket 1000
+	kctreemgr check -onr casket
+	kctreetest tran casket 10000
+	kctreetest tran -th 2 -it 4 -pccap 100k casket 10000
+	kctreetest tran -th 2 -it 4 \
+	  -apow 2 -fpow 3 -ts -tl -tc -bnum 10000 -msiz 50000 -dfunit 4 -rcd casket 10000
+
+
+check-dir :
+	-del casket* /F /Q > NUL: 2>&1
+	-rd casket casket.wal casket.tmp casket-para casket.kcd casket.kcf /S /Q > NUL: 2>&1
+	kcdirmgr create -otr casket
+	kcdirmgr inform -st casket
+	kcdirmgr set -add casket duffy 1231
+	kcdirmgr set -add casket micky 0101
+	kcdirmgr set casket fal 1007
+	kcdirmgr set casket mikio 0211
+	kcdirmgr set casket natsuki 0810
+	kcdirmgr set casket micky ""
+	kcdirmgr set -rep casket duffy 777
+	kcdirmgr set -app casket duffy kukuku
+	kcdirmgr remove casket micky
+	kcdirmgr list -pv casket > check.out
+	kcdirmgr set casket ryu 1
+	kcdirmgr set casket ken 2
+	kcdirmgr remove casket duffy
+	kcdirmgr set casket ryu syo-ryu-ken
+	kcdirmgr set casket ken tatsumaki-senpu-kyaku
+	kcdirmgr set -inci casket int 1234
+	kcdirmgr set -inci casket int 5678
+	kcdirmgr set -incd casket double 1234.5678
+	kcdirmgr set -incd casket double 8765.4321
+	kcdirmgr get casket mikio
+	kcdirmgr get casket ryu
+	kcdirmgr import casket lab/numbers.tsv
+	kcdirmgr list -pv -px casket > check.out
+	kcdirmgr copy casket casket-para
+	kcdirmgr dump casket check.out
+	kcdirmgr load -otr casket check.out
+	kcdirmgr check -onr casket
+	kcdirmgr inform -st casket
+	kcdirmgr create -otr -otl -onr -tc casket
+	kcdirmgr import casket < lab/numbers.tsv
+	kcdirmgr set casket mikio kyotocabinet
+	kcdirmgr set -app casket tako ikaunini
+	kcdirmgr set -app casket mikio kyototyrant
+	kcdirmgr set -app casket mikio kyotodystopia
+	kcdirmgr get -px casket mikio > check.out
+	kcdirmgr list casket > check.out
+	kcdirmgr check -onr casket
+	-rd casket casket.wal casket.tmp casket-para casket.kcd casket.kcf /S /Q > NUL: 2>&1
+	kcdirtest order -set casket 500
+	kcdirtest order -get casket 500
+	kcdirtest order -getw casket 500
+	kcdirtest order -rem casket 500
+	kcdirtest order casket 500
+	kcdirtest order -etc casket 500
+	kcdirtest order -th 4 casket 500
+	kcdirtest order -th 4 -rnd -etc casket 500
+	kcdirmgr check -onr casket
+	kcdirtest order -th 4 -rnd -etc -tran casket 500
+	kcdirmgr check -onr casket
+	kcdirtest order -th 4 -rnd -etc -oat casket 500
+	kcdirmgr check -onr casket
+	kcdirtest order -th 4 -rnd -etc -tc casket 500
+	kcdirmgr check -onr casket
+	kcdirtest queue casket 500
+	kcdirmgr check -onr casket
+	kcdirtest queue -rnd casket 500
+	kcdirmgr check -onr casket
+	kcdirtest queue -th 4 -it 4 casket 500
+	kcdirmgr check -onr casket
+	kcdirtest queue -th 4 -it 4 -rnd casket 500
+	kcdirmgr check -onr casket
+	kcdirtest wicked casket 500
+	kcdirmgr check -onr casket
+	kcdirtest wicked -th 4 -it 4 casket 500
+	kcdirmgr check -onr casket
+	kcdirtest wicked -th 4 -it 4 -oat casket 500
+	kcdirmgr check -onr casket
+	kcdirtest wicked -th 4 -it 4 -tc casket 500
+	kcdirmgr check -onr casket
+	kcdirtest tran casket 500
+	kcdirtest tran -th 2 -it 4 casket 500
+	kcdirtest tran -th 2 -it 4 -tc casket 500
+
+
+check-forest :
+	-del casket* /F /Q > NUL: 2>&1
+	-rd casket casket.wal casket.tmp casket-para casket.kcd casket.kcf /S /Q > NUL: 2>&1
+	kcforestmgr create -otr -bnum 3 casket
+	kcforestmgr inform -st casket
+	kcforestmgr set -add casket duffy 1231
+	kcforestmgr set -add casket micky 0101
+	kcforestmgr set casket fal 1007
+	kcforestmgr set casket mikio 0211
+	kcforestmgr set casket natsuki 0810
+	kcforestmgr set casket micky ""
+	kcforestmgr set -rep casket duffy 777
+	kcforestmgr set -app casket duffy kukuku
+	kcforestmgr remove casket micky
+	kcforestmgr list -pv casket > check.out
+	kcforestmgr set casket ryu 1
+	kcforestmgr set casket ken 2
+	kcforestmgr remove casket duffy
+	kcforestmgr set casket ryu syo-ryu-ken
+	kcforestmgr set casket ken tatsumaki-senpu-kyaku
+	kcforestmgr set -inci casket int 1234
+	kcforestmgr set -inci casket int 5678
+	kcforestmgr set -incd casket double 1234.5678
+	kcforestmgr set -incd casket double 8765.4321
+	kcforestmgr get casket mikio
+	kcforestmgr get casket ryu
+	kcforestmgr import casket lab/numbers.tsv
+	kcforestmgr list -des -pv -px casket > check.out
+	kcforestmgr copy casket casket-para
+	kcforestmgr dump casket check.out
+	kcforestmgr load -otr casket check.out
+	kcforestmgr check -onr casket
+	kcforestmgr inform -st casket
+	kcforestmgr create -otr -otl -onr \
+	  -tc -bnum 1 casket
+	kcforestmgr import casket < lab/numbers.tsv
+	kcforestmgr set casket mikio kyotocabinet
+	kcforestmgr set -app casket tako ikaunini
+	kcforestmgr set -app casket mikio kyototyrant
+	kcforestmgr set -app casket mikio kyotodystopia
+	kcforestmgr get -px casket mikio > check.out
+	kcforestmgr list casket > check.out
+	kcforestmgr check -onr casket
+	-rd casket casket.wal casket.tmp casket-para casket.kcd casket.kcf /S /Q > NUL: 2>&1
+	kcforesttest order -set \
+	  -psiz 100 -bnum 5000 -pccap 100k casket 5000
+	kcforesttest order -get \
+	  -pccap 100k casket 5000
+	kcforesttest order -getw \
+	  -pccap 100k casket 5000
+	kcforesttest order -rem \
+	  -pccap 100k casket 5000
+	kcforesttest order \
+	  -bnum 5000 -psiz 100 -pccap 100k casket 5000
+	kcforesttest order -etc \
+	  -bnum 5000 -psiz 1000 -pccap 100k casket 5000
+	kcforesttest order -th 4 \
+	  -bnum 5000 -psiz 1000 -pccap 100k casket 5000
+	kcforesttest order -th 4 -pccap 100k -rnd -etc \
+	  -bnum 5000 -psiz 1000 -pccap 100k -rcd casket 5000
+	kcforestmgr check -onr casket
+	kcforesttest order -th 4 -rnd -etc -tran \
+	  -bnum 500 -psiz 1000 -pccap 100k casket 500
+	kcforestmgr check -onr casket
+	kcforesttest order -th 4 -rnd -etc -oat \
+	  -bnum 500 -psiz 1000 -pccap 100k casket 500
+	kcforestmgr check -onr casket
+	kcforesttest order -th 4 -rnd -etc \
+	  -tc -bnum 5000 -psiz 1000 casket 5000
+	kcforestmgr check -onr casket
+	kcforesttest queue \
+	  -bnum 5000 -psiz 500 casket 5000
+	kcforestmgr check -onr casket
+	kcforesttest queue -rnd \
+	  -bnum 5000 -psiz 500 casket 5000
+	kcforestmgr check -onr casket
+	kcforesttest queue -th 4 -it 4 \
+	  -bnum 5000 -psiz 500 casket 5000
+	kcforestmgr check -onr casket
+	kcforesttest queue -th 4 -it 4 -rnd \
+	  -bnum 5000 -psiz 500 casket 5000
+	kcforestmgr check -onr casket
+	kcforesttest wicked \
+	  -bnum 5000 -psiz 1000 -pccap 100k casket 5000
+	kcforestmgr check -onr casket
+	kcforesttest wicked -th 4 -it 4 \
+	  -bnum 5000 -pccap 100k -rcd casket 5000
+	kcforestmgr check -onr casket
+	kcforesttest wicked -th 4 -it 4 -oat \
+	  -bnum 5000 -pccap 100k casket 500
+	kcforestmgr check -onr casket
+	kcforesttest wicked -th 4 -it 4 \
+	  -tc -bnum 500 casket 500
+	kcforestmgr check -onr casket
+	kcforesttest tran casket 5000
+	kcforesttest tran -th 2 -it 4 -pccap 100k casket 5000
+	kcforesttest tran -th 2 -it 4 \
+	  -tc -bnum 5000 -rcd casket 5000
+
+
+check-poly :
+	-del casket* /F /Q > NUL: 2>&1
+	-rd casket casket.wal casket.tmp casket-para casket.kcd casket.kcf /S /Q > NUL: 2>&1
+	kcpolymgr create -otr "casket.kch#apow=1#fpow=2#bnum=3"
+	kcpolymgr inform -st casket.kch
+	kcpolymgr set -add casket.kch duffy 1231
+	kcpolymgr set -add casket.kch micky 0101
+	kcpolymgr set casket.kch fal 1007
+	kcpolymgr set casket.kch mikio 0211
+	kcpolymgr set casket.kch natsuki 0810
+	kcpolymgr set casket.kch micky ""
+	kcpolymgr set -app casket.kch duffy kukuku
+	kcpolymgr remove casket.kch micky
+	kcpolymgr list -pv casket.kch > check.out
+	kcpolymgr copy casket.kch casket-para
+	kcpolymgr dump casket.kch check.out
+	kcpolymgr load -otr casket.kch check.out
+	kcpolymgr set casket.kch ryu 1
+	kcpolymgr set casket.kch ken 2
+	kcpolymgr remove casket.kch duffy
+	kcpolymgr set casket.kch ryu syo-ryu-ken
+	kcpolymgr set casket.kch ken tatsumaki-senpu-kyaku
+	kcpolymgr set -inci casket.kch int 1234
+	kcpolymgr set -inci casket.kch int 5678
+	kcpolymgr set -incd casket.kch double 1234.5678
+	kcpolymgr set -incd casket.kch double 8765.4321
+	kcpolymgr get "casket.kch" mikio
+	kcpolymgr get "casket.kch" ryu
+	kcpolymgr import casket.kch lab/numbers.tsv
+	kcpolymgr list -pv -px "casket.kch#mode=r" > check.out
+	kcpolymgr check -onr casket.kch
+	kcpolymgr inform -st casket.kch
+	kcpolymgr create -otr -otl -onr \
+	  "casket.kct#apow=1#fpow=3#opts=slc#bnum=1"
+	kcpolymgr import casket.kct < lab/numbers.tsv
+	kcpolymgr set casket.kct mikio kyotocabinet
+	kcpolymgr set -app casket.kct tako ikaunini
+	kcpolymgr set -app casket.kct mikio kyototyrant
+	kcpolymgr set -app casket.kct mikio kyotodystopia
+	kcpolymgr get -px casket.kct mikio > check.out
+	kcpolymgr list casket.kct > check.out
+	kcpolymgr check -onr casket.kct
+	-del casket* /F /Q > NUL: 2>&1
+	kcpolytest order -set "casket.kct#bnum=5000#msiz=50000" 10000
+	kcpolytest order -get "casket.kct#msiz=50000" 10000
+	kcpolytest order -getw "casket.kct#msiz=5000" 10000
+	kcpolytest order -rem "casket.kct#msiz=50000" 10000
+	kcpolytest order "casket.kct#bnum=5000#msiz=50000" 10000
+	kcpolytest order -etc \
+	  "casket.kct#bnum=5000#msiz=50000#dfunit=4" 10000
+	kcpolytest order -th 4 \
+	  "casket.kct#bnum=5000#msiz=50000#dfunit=4" 10000
+	kcpolytest order -th 4 -rnd -etc \
+	  "casket.kct#bnum=5000#msiz=0#dfunit=1" 1000
+	kcpolymgr check -onr casket.kct
+	kcpolytest order -th 4 -rnd -etc -tran \
+	  "casket.kct#bnum=5000#msiz=0#dfunit=2" 1000
+	kcpolymgr check -onr casket.kct
+	kcpolytest order -th 4 -rnd -etc -oat \
+	  "casket.kct#bnum=5000#msiz=0#dfunit=3" 1000
+	kcpolymgr check -onr casket.kct
+	kcpolytest order -th 4 -rnd -etc \
+	  "casket.kct#apow=2#fpow=3#opts=slc#bnum=5000#msiz=0#dfunit=4" 1000
+	kcpolymgr check -onr casket.kct
+	kcpolytest queue \
+	  "casket.kct#bnum=5000#msiz=0" 10000
+	kcpolymgr check -onr casket.kct
+	kcpolytest queue -rnd \
+	  "casket.kct#bnum=5000#msiz=0" 10000
+	kcpolymgr check -onr casket.kct
+	kcpolytest queue -th 4 -it 4 \
+	  "casket.kct#bnum=5000#msiz=0" 10000
+	kcpolymgr check -onr casket.kct
+	kcpolytest queue -th 4 -it 4 -rnd \
+	  "casket.kct#bnum=5000#msiz=0" 10000
+	kcpolymgr check -onr casket.kct
+	kcpolytest wicked "casket.kct#bnum=5000#msiz=0" 1000
+	kcpolymgr check -onr casket.kct
+	kcpolytest wicked -th 4 -it 4 \
+	  "casket.kct#bnum=5000#msiz=0#dfunit=1" 1000
+	kcpolymgr check -onr casket.kct
+	kcpolytest wicked -th 4 -it 4 -oat \
+	  "casket.kct#bnum=5000#msiz=0#dfunit=1" 1000
+	kcpolymgr check -onr casket.kct
+	kcpolytest wicked -th 4 -it 4 \
+	  "casket.kct#apow=2#fpow=3#opts=slc#bnum=10000#msiz=0#dfunit=1" 10000
+	kcpolymgr check -onr casket.kct
+	kcpolytest tran casket.kct 10000
+	kcpolytest tran -th 2 -it 4 casket.kct 10000
+	kcpolytest tran -th 2 -it 4 \
+	  "casket.kct#apow=2#fpow=3#opts=slc#bnum=10000#msiz=0#dfunit=1" 1000
+	kcpolytest mapred -dbnum 2 -clim 10k casket.kct 10000
+	kcpolytest mapred -tmp . -dbnum 2 -clim 10k -xnl -xnc \
+	  casket.kct 10000
+	kcpolytest mapred -tmp . -dbnum 2 -clim 10k -xpm -xpr -xpf -xnc \
+	  casket.kct 10000
+	kcpolytest mapred -rnd -dbnum 2 -clim 10k casket.kct 10000
+	kcpolytest index -set "casket.kct#idxclim=32k" 10000
+	kcpolytest index -get "casket.kct" 10000
+	kcpolytest index -rem "casket.kct" 10000
+	kcpolytest index -etc "casket.kct#idxclim=32k" 10000
+	kcpolytest index -th 4 -rnd -set \
+	  "casket.kct#idxclim=32k#idxdbnum=4" 10000
+	kcpolytest index -th 4 -rnd -get "casket.kct" 10000
+	kcpolytest index -th 4 -rnd -rem "casket.kct" 10000
+	kcpolytest index -th 4 -rnd -etc \
+	  "casket.kct#idxclim=32k#idxdbnum=4" 10000
+	-del casket* /F /Q > NUL: 2>&1
+	-rd casket casket.wal casket.tmp casket-para casket.kcd casket.kcf /S /Q > NUL: 2>&1
+	kcpolytest order -rnd "casket.kcx" 10000
+	kcpolytest order -th 4 -rnd "casket.kcx" 10000
+	kcpolytest wicked "casket.kcx" 10000
+	kcpolytest wicked -th 4 "casket.kcx" 10000
+	kcpolymgr list "casket.kcx" > check.in
+	kcpolymgr list -max 1000 "casket.kcx" > check.in
+	kcpolytest mapred "casket.kcx" 10000
+	kcpolytest mapred -xpm -xpr -xpf "casket.kcx" 10000
+	-del casket* /F /Q > NUL: 2>&1
+	-rd casket casket.wal casket.tmp casket-para casket.kcd casket.kcf /S /Q > NUL: 2>&1
+	kcpolytest order -rnd "casket.kch#opts=s#bnum=256" 1000
+	kcpolytest order -rnd "casket.kct#opts=l#psiz=256" 1000
+	kcpolytest order -rnd "casket.kcd#opts=c#bnum=256" 500
+	kcpolytest order -rnd "casket.kcf#opts=c#psiz=256" 500
+	kcpolytest order -rnd "casket.kcx" 500
+	kcpolymgr merge -add "casket#type=kct" \
+	  casket.kch casket.kct casket.kcd casket.kcf casket.kcx
+	-del casket* /F /Q > NUL: 2>&1
+	-rd casket casket.wal casket.tmp casket-para casket.kcd casket.kcf /S /Q > NUL: 2>&1
+	kcpolytest misc "casket#type=-"
+	kcpolytest misc "casket#type=+"
+	kcpolytest misc "casket#type=:"
+	kcpolytest misc "casket#type=*"
+	kcpolytest misc "casket#type=%"
+	-del casket* /F /Q > NUL: 2>&1
+	-rd casket casket.wal casket.tmp casket-para casket.kcd casket.kcf /S /Q > NUL: 2>&1
+	kcpolytest misc "casket#type=kch#log=-#logkinds=debug#mtrg=-#zcomp=lzocrc"
+	-del casket* /F /Q > NUL: 2>&1
+	-rd casket casket.wal casket.tmp casket-para casket.kcd casket.kcf /S /Q > NUL: 2>&1
+	kcpolytest misc "casket#type=kct#log=-#logkinds=debug#mtrg=-#zcomp=lzmacrc"
+	-del casket* /F /Q > NUL: 2>&1
+	-rd casket casket.wal casket.tmp casket-para casket.kcd casket.kcf /S /Q > NUL: 2>&1
+	kcpolytest misc "casket#type=kcd#zcomp=arc#zkey=mikio"
+	-del casket* /F /Q > NUL: 2>&1
+	-rd casket casket.wal casket.tmp casket-para casket.kcd casket.kcf /S /Q > NUL: 2>&1
+	kcpolytest misc "casket#type=kcf#zcomp=arc#zkey=mikio"
+
+
+check-langc :
+	-del casket* /F /Q > NUL: 2>&1
+	-rd casket casket.wal casket.tmp casket-para casket.kcd casket.kcf /S /Q > NUL: 2>&1
+	kclangctest order "casket.kch#bnum=5000#msiz=50000" 10000
+	kclangctest order -etc \
+	  "casket.kch#bnum=5000#msiz=50000#dfunit=2" 10000
+	kclangctest order -rnd -etc \
+	  "casket.kch#bnum=5000#msiz=50000#dfunit=2" 10000
+	kclangctest order -rnd -etc -oat -tran \
+	  "casket.kch#bnum=5000#msiz=50000#dfunit=2#zcomp=arcz" 10000
+	kclangctest index "casket.kct#bnum=5000#msiz=50000" 10000
+	kclangctest index -etc \
+	  "casket.kct#bnum=5000#msiz=50000#dfunit=2" 10000
+	kclangctest index -rnd -etc \
+	  "casket.kct#bnum=5000#msiz=50000#dfunit=2" 10000
+	kclangctest index -rnd -etc -oat \
+	  "casket.kct#bnum=5000#msiz=50000#dfunit=2#zcomp=arcz" 10000
+	kclangctest map 10000
+	kclangctest map -etc -bnum 1000 10000
+	kclangctest map -etc -rnd -bnum 1000 10000
+	kclangctest list 10000
+	kclangctest list -etc 10000
+	kclangctest list -etc -rnd 10000
+
+
+check-forever :
+	lab\vcmakecheck
+
+
+binpkg :
+	-rd kcwin32 /S /Q > NUL: 2>&1
+	md kcwin32
+	md kcwin32\include
+	copy *.h kcwin32\include
+	del kcwin32\include\myconf.h
+	del kcwin32\include\cmdcommon.h
+	md kcwin32\lib
+	copy *.lib kcwin32\lib
+	md kcwin32\bin
+	copy *.exe kcwin32\bin
+	xcopy /S /E /I doc kcwin32\doc
+
+
+
+#================================================================
+# Building binaries
+#================================================================
+
+
+kyotocabinet.lib : $(LIBOBJFILES)
+	$(LIB) $(LIBFLAGS) /OUT:$@ $(LIBOBJFILES)
+
+
+kcutiltest.exe : kcutiltest.obj kyotocabinet.lib
+	$(LINK) $(LINKFLAGS) /OUT:$@ kcutiltest.obj kyotocabinet.lib
+
+
+kcutilmgr.exe : kcutilmgr.obj kyotocabinet.lib
+	$(LINK) $(LINKFLAGS) /OUT:$@ kcutilmgr.obj kyotocabinet.lib
+
+
+kcprototest.exe : kcprototest.obj kyotocabinet.lib
+	$(LINK) $(LINKFLAGS) /OUT:$@ kcprototest.obj kyotocabinet.lib
+
+
+kcstashtest.exe : kcstashtest.obj kyotocabinet.lib
+	$(LINK) $(LINKFLAGS) /OUT:$@ kcstashtest.obj kyotocabinet.lib
+
+
+kccachetest.exe : kccachetest.obj kyotocabinet.lib
+	$(LINK) $(LINKFLAGS) /OUT:$@ kccachetest.obj kyotocabinet.lib
+
+
+kcgrasstest.exe : kcgrasstest.obj kyotocabinet.lib
+	$(LINK) $(LINKFLAGS) /OUT:$@ kcgrasstest.obj kyotocabinet.lib
+
+
+kchashtest.exe : kchashtest.obj kyotocabinet.lib
+	$(LINK) $(LINKFLAGS) /OUT:$@ kchashtest.obj kyotocabinet.lib
+
+
+kchashmgr.exe : kchashmgr.obj kyotocabinet.lib
+	$(LINK) $(LINKFLAGS) /OUT:$@ kchashmgr.obj kyotocabinet.lib
+
+
+kctreetest.exe : kctreetest.obj kyotocabinet.lib
+	$(LINK) $(LINKFLAGS) /OUT:$@ kctreetest.obj kyotocabinet.lib
+
+
+kctreemgr.exe : kctreemgr.obj kyotocabinet.lib
+	$(LINK) $(LINKFLAGS) /OUT:$@ kctreemgr.obj kyotocabinet.lib
+
+
+kcdirtest.exe : kcdirtest.obj kyotocabinet.lib
+	$(LINK) $(LINKFLAGS) /OUT:$@ kcdirtest.obj kyotocabinet.lib
+
+
+kcdirmgr.exe : kcdirmgr.obj kyotocabinet.lib
+	$(LINK) $(LINKFLAGS) /OUT:$@ kcdirmgr.obj kyotocabinet.lib
+
+
+kcforesttest.exe : kcforesttest.obj kyotocabinet.lib
+	$(LINK) $(LINKFLAGS) /OUT:$@ kcforesttest.obj kyotocabinet.lib
+
+
+kcforestmgr.exe : kcforestmgr.obj kyotocabinet.lib
+	$(LINK) $(LINKFLAGS) /OUT:$@ kcforestmgr.obj kyotocabinet.lib
+
+
+kcpolytest.exe : kcpolytest.obj kyotocabinet.lib
+	$(LINK) $(LINKFLAGS) /OUT:$@ kcpolytest.obj kyotocabinet.lib
+
+
+kcpolymgr.exe : kcpolymgr.obj kyotocabinet.lib
+	$(LINK) $(LINKFLAGS) /OUT:$@ kcpolymgr.obj kyotocabinet.lib
+
+
+kclangctest.exe : kclangctest.obj kyotocabinet.lib
+	$(LINK) $(LINKFLAGS) /OUT:$@ kclangctest.obj kyotocabinet.lib
+
+
+kcutil.obj : kccommon.h kcutil.h myconf.h
+
+kcdb.obj : kccommon.h kcutil.h kcdb.h myconf.h
+
+kcthread.obj : kccommon.h kcutil.h kcthread.h myconf.h
+
+kcfile.obj : kccommon.h kcutil.h kcthread.h kcfile.h myconf.h
+
+kccompress.obj : kccommon.h kcutil.h kccompress.h myconf.h
+
+kccompare.obj : kccommon.h kcutil.h kccompare.h myconf.h
+
+kcmap.obj : kccommon.h kcutil.h kcmap.h myconf.h
+
+kcregex.obj : kccommon.h kcutil.h kcregex.h myconf.h
+
+kcplantdb.obj : kccommon.h kcutil.h kcdb.h kcthread.h kcfile.h kccompress.h kccompare.h \
+  kcmap.h kcregex.h \
+  kcplantdb.h
+
+kcprotodb.obj : kccommon.h kcutil.h kcdb.h kcthread.h kcfile.h kccompress.h kccompare.h \
+  kcmap.h kcregex.h \
+  kcplantdb.h kcprotodb.h
+
+kcstashdb.obj : kccommon.h kcutil.h kcdb.h kcthread.h kcfile.h kccompress.h kccompare.h \
+  kcmap.h kcregex.h \
+  kcplantdb.h kcstashdb.h
+
+kccachedb.obj : kccommon.h kcutil.h kcdb.h kcthread.h kcfile.h kccompress.h kccompare.h \
+  kcmap.h kcregex.h \
+  kcplantdb.h kccachedb.h
+
+kchashdb.obj : kccommon.h kcutil.h kcdb.h kcthread.h kcfile.h kccompress.h kccompare.h \
+  kcmap.h kcregex.h \
+  kcplantdb.h kchashdb.h
+
+kcdirdb.obj : kccommon.h kcutil.h kcdb.h kcthread.h kcfile.h kccompress.h kccompare.h \
+  kcmap.h kcregex.h \
+  kcplantdb.h kcdirdb.h
+
+kctextdb.obj : kccommon.h kcutil.h kcdb.h kcthread.h kcfile.h kccompress.h kccompare.h \
+  kcmap.h kcregex.h \
+  kcplantdb.h kctextdb.h
+
+kcpolydb.obj : kccommon.h kcutil.h kcdb.h kcthread.h kcfile.h kccompress.h kccompare.h \
+  kcmap.h kcregex.h \
+  kcplantdb.h kcprotodb.h kcstashdb.h kccachedb.h kchashdb.h kcdirdb.h kctextdb.h kcpolydb.h
+
+kcdbext.obj : kccommon.h kcutil.h kcdb.h kcthread.h kcfile.h kccompress.h kccompare.h \
+  kcmap.h kcregex.h \
+  kcplantdb.h kcprotodb.h kcstashdb.h kccachedb.h kchashdb.h kcdirdb.h kctextdb.h \
+  kcpolydb.h kcdbext.h
+
+kclangc.obj : kccommon.h kcutil.h kcdb.h kcthread.h kcfile.h kccompress.h kccompare.h \
+  kcmap.h kcregex.h \
+  kcplantdb.h kcprotodb.h kcstashdb.h kccachedb.h kchashdb.h kcdirdb.h kctextdb.h \
+  kcpolydb.h kcdbext.h kclangc.h
+
+kcutiltest.obj kcutilmgr.obj : \
+  kccommon.h kcdb.h kcutil.h kcthread.h kcfile.h kccompress.h kccompare.h \
+  kcmap.h kcregex.h \
+  cmdcommon.h
+
+kcprototest.obj : \
+  kccommon.h kcdb.h kcutil.h kcthread.h kcfile.h kccompress.h kccompare.h \
+  kcmap.h kcregex.h \
+  kcplantdb.h kcprotodb.h cmdcommon.h
+
+kcstashtest.obj kcgrasstest.obj : \
+  kccommon.h kcdb.h kcutil.h kcthread.h kcfile.h kccompress.h kccompare.h \
+  kcmap.h kcregex.h \
+  kcplantdb.h kcstashdb.h cmdcommon.h
+
+kccachetest.obj kcgrasstest.obj : \
+  kccommon.h kcdb.h kcutil.h kcthread.h kcfile.h kccompress.h kccompare.h \
+  kcmap.h kcregex.h \
+  kcplantdb.h kccachedb.h cmdcommon.h
+
+kchashtest.obj kchashmgr.obj kctreetest.obj kctreemgr.obj : \
+  kccommon.h kcdb.h kcutil.h kcthread.h kcfile.h kccompress.h kccompare.h \
+  kcmap.h kcregex.h \
+  kcplantdb.h kchashdb.h cmdcommon.h
+
+kcdirtest.obj kcdirmgr.obj kcforesttest.obj kcforestmgr.obj : \
+  kccommon.h kcdb.h kcutil.h kcthread.h kcfile.h kccompress.h kccompare.h \
+  kcmap.h kcregex.h \
+  kcplantdb.h kcdirdb.h cmdcommon.h
+
+kcpolytest.obj kcpolymgr.obj : \
+  kccommon.h kcdb.h kcutil.h kcthread.h kcfile.h kccompress.h kccompare.h \
+  kcmap.h kcregex.h \
+  kcplantdb.h kcprotodb.h kcstashdb.h kccachedb.h kchashdb.h kcdirdb.h kctextdb.h \
+  kcpolydb.h kcdbext.h cmdcommon.h
+
+kclangctest.obj : \
+  kccommon.h kcdb.h kcutil.h kcthread.h kcfile.h kccompress.h kccompare.h \
+  kcmap.h kcregex.h \
+  kcplantdb.h kcprotodb.h kcstashdb.h kccachedb.h kchashdb.h kcdirdb.h kctextdb.h \
+  kcpolydb.h kcdbext.h kclangc.h
+
+
+
+# END OF FILE

+ 1 - 0
build.bat

@@ -0,0 +1 @@
+nmake /f makefile -xxxx

+ 1 - 0
buildhelp.txt

@@ -0,0 +1 @@
+需要包含boost 要求boost1.55以上版本  需要增加boost的头文件和lib包含了

+ 8 - 0
src/stdafx.cpp

@@ -0,0 +1,8 @@
+// stdafx.cpp : 只包括标准包含文件的源文件
+// the_world.pch 将作为预编译头
+// stdafx.obj 将包含预编译类型信息
+
+#include "stdafx.h"
+
+// TODO:  在 STDAFX.H 中
+// 引用任何所需的附加头文件,而不是在此文件中引用

+ 15 - 0
src/stdafx.h

@@ -0,0 +1,15 @@
+// stdafx.h : 标准系统包含文件的包含文件,
+// 或是经常使用但不常更改的
+// 特定于项目的包含文件
+//
+
+#pragma once
+
+#include "targetver.h"
+
+#include <stdio.h>
+#include <tchar.h>
+
+
+
+// TODO:  在此处引用程序需要的其他头文件

+ 8 - 0
src/targetver.h

@@ -0,0 +1,8 @@
+#pragma once
+
+// 包括 SDKDDKVer.h 将定义可用的最高版本的 Windows 平台。
+
+// 如果要为以前的 Windows 平台生成应用程序,请包括 WinSDKVer.h,并将
+// WIN32_WINNT 宏设置为要支持的平台,然后再包括 SDKDDKVer.h。
+
+#include <SDKDDKVer.h>

+ 11 - 0
src/the_world.cpp

@@ -0,0 +1,11 @@
+// the_world.cpp : 定义控制台应用程序的入口点。
+//
+
+#include "stdafx.h"
+
+
+int _tmain(int argc, _TCHAR* argv[])
+{
+	return 0;
+}
+