/ Check-in [4e54e9c0]
Login

Many hyperlinks are disabled.
Use anonymous login to enable hyperlinks.

Overview
Comment:Further refinements to the MSVC batch build process.
Downloads: Tarball | ZIP archive | SQL archive
Timelines: family | ancestors | descendants | both | branch-3.11
Files: files | file ages | folders
SHA1: 4e54e9c0fefe417f94a2d95921acf61b1dda5ca4
User & Date: mistachkin 2016-02-26 21:01:37
Context
2016-03-01
15:09
Merge branch-3.11-matchinfo into this branch. check-in: 42358170 user: dan tags: branch-3.11
2016-02-26
21:03
Further refinements to the MSVC batch build process. check-in: cf4e4fbd user: mistachkin tags: trunk
21:01
Further refinements to the MSVC batch build process. check-in: 4e54e9c0 user: mistachkin tags: branch-3.11
2016-02-19
19:29
Use the arguments to NMAKE consistently in the MSVC batch build tool. check-in: 480e5049 user: mistachkin tags: branch-3.11
Changes
Hide Diffs Side-by-Side Diffs Ignore Whitespace Patch

Changes to Makefile.msc.

   468    468   !ENDIF
   469    469   !ENDIF
   470    470   
   471    471   # These are the additional targets that the core library should depend on
   472    472   # when linking.
   473    473   #
   474    474   !IFNDEF CORE_LINK_DEP
   475         -!IF $(DYNAMIC_SHELL)!=0 || $(FOR_WIN10)!=0
          475  +!IF $(DYNAMIC_SHELL)!=0
   476    476   CORE_LINK_DEP =
   477         -!ELSE
          477  +!ELSEIF $(FOR_WIN10)==0 || "$(PLATFORM)"=="x86"
   478    478   CORE_LINK_DEP = sqlite3.def
          479  +!ELSE
          480  +CORE_LINK_DEP =
   479    481   !ENDIF
   480    482   !ENDIF
   481    483   
   482    484   # These are additional linker options used for the core library.
   483    485   #
   484    486   !IFNDEF CORE_LINK_OPTS
   485         -!IF $(DYNAMIC_SHELL)!=0 || $(FOR_WIN10)!=0
          487  +!IF $(DYNAMIC_SHELL)!=0
   486    488   CORE_LINK_OPTS =
   487         -!ELSE
          489  +!ELSEIF $(FOR_WIN10)==0 || "$(PLATFORM)"=="x86"
   488    490   CORE_LINK_OPTS = /DEF:sqlite3.def
          491  +!ELSE
          492  +CORE_LINK_OPTS =
   489    493   !ENDIF
   490    494   !ENDIF
   491    495   
   492    496   # These are additional compiler options used for the shell executable.
   493    497   #
   494    498   !IFNDEF SHELL_COMPILE_OPTS
   495    499   !IF $(DYNAMIC_SHELL)!=0 || $(FOR_WIN10)!=0
................................................................................
  1383   1387   # This is the default Makefile target.  The objects listed here
  1384   1388   # are what get build when you type just "make" with no arguments.
  1385   1389   #
  1386   1390   all:	dll libsqlite3.lib shell $(ALL_TCL_TARGETS)
  1387   1391   
  1388   1392   # Dynamic link library section.
  1389   1393   #
  1390         -dll: $(SQLITE3DLL)
         1394  +dll:	$(SQLITE3DLL)
  1391   1395   
  1392   1396   # Shell executable.
  1393   1397   #
  1394         -shell: $(SQLITE3EXE)
         1398  +shell:	$(SQLITE3EXE)
  1395   1399   
  1396   1400   # <<mark>>
  1397   1401   libsqlite3.lib:	$(LIBOBJ)
  1398   1402   	$(LTLIB) $(LTLIBOPTS) /OUT:$@ $(LIBOBJ) $(TLIBS)
  1399   1403   
  1400   1404   libtclsqlite3.lib:	tclsqlite.lo libsqlite3.lib
  1401   1405   	$(LTLIB) $(LTLIBOPTS) $(LTLIBPATHS) /OUT:$@ tclsqlite.lo libsqlite3.lib $(LIBTCLSTUB) $(TLIBS)
  1402   1406   # <</mark>>
  1403   1407   
  1404         -$(SQLITE3DLL): $(LIBOBJ) $(LIBRESOBJS) $(CORE_LINK_DEP)
         1408  +$(SQLITE3DLL):	$(LIBOBJ) $(LIBRESOBJS) $(CORE_LINK_DEP)
  1405   1409   	$(LD) $(LDFLAGS) $(LTLINKOPTS) $(LTLIBPATHS) /DLL $(CORE_LINK_OPTS) /OUT:$@ $(LIBOBJ) $(LIBRESOBJS) $(LTLIBS) $(TLIBS)
  1406   1410   
  1407   1411   # <<mark>>
  1408         -sqlite3.def: libsqlite3.lib
         1412  +sqlite3.def:	libsqlite3.lib
  1409   1413   	echo EXPORTS > sqlite3.def
  1410   1414   	dumpbin /all libsqlite3.lib \
  1411         -		| $(TCLSH_CMD) $(TOP)\tool\replace.tcl include "^\s+1 _?(sqlite3_.*)$$" \1 \
         1415  +		| $(TCLSH_CMD) $(TOP)\tool\replace.tcl include "^\s+1 _?(sqlite3_[^@]*)(?:@\d+)?$$" \1 \
  1412   1416   		| sort >> sqlite3.def
  1413   1417   # <</mark>>
  1414   1418   
  1415   1419   $(SQLITE3EXE):	$(TOP)\src\shell.c $(SHELL_CORE_DEP) $(LIBRESOBJS) $(SHELL_CORE_SRC) $(SQLITE3H)
  1416   1420   	$(LTLINK) $(SHELL_COMPILE_OPTS) $(READLINE_FLAGS) $(TOP)\src\shell.c $(SHELL_CORE_SRC) \
  1417   1421   		/link $(SQLITE3EXEPDB) $(LDFLAGS) $(LTLINKOPTS) $(SHELL_LINK_OPTS) $(LTLIBPATHS) $(LIBRESOBJS) $(LIBREADLINE) $(LTLIBS) $(TLIBS)
  1418   1422   
................................................................................
  1780   1784   	.\lemon.exe $(REQ_FEATURE_FLAGS) $(OPT_FEATURE_FLAGS) $(EXT_FEATURE_FLAGS) $(OPTS) parse.y
  1781   1785   	move parse.h parse.h.temp
  1782   1786   	$(TCLSH_CMD) $(TOP)\tool\addopcodes.tcl parse.h.temp > parse.h
  1783   1787   
  1784   1788   $(SQLITE3H):	$(TOP)\src\sqlite.h.in $(TOP)\manifest.uuid $(TOP)\VERSION
  1785   1789   	$(TCLSH_CMD) $(TOP)\tool\mksqlite3h.tcl $(TOP:\=/) > $(SQLITE3H)
  1786   1790   
  1787         -sqlite3ext.h: .target_source
         1791  +sqlite3ext.h:	.target_source
  1788   1792   	copy tsrc\sqlite3ext.h .
  1789   1793   
  1790   1794   mkkeywordhash.exe:	$(TOP)\tool\mkkeywordhash.c
  1791   1795   	$(BCC) $(NO_WARN) -Fe$@ $(REQ_FEATURE_FLAGS) $(OPT_FEATURE_FLAGS) $(EXT_FEATURE_FLAGS) $(OPTS) \
  1792   1796   		$(TOP)\tool\mkkeywordhash.c /link $(LDFLAGS) $(NLTLINKOPTS) $(NLTLIBPATHS)
  1793   1797   
  1794   1798   keywordhash.h:	$(TOP)\tool\mkkeywordhash.c mkkeywordhash.exe
................................................................................
  1881   1885      $(TOP)\ext\fts5\fts5_vocab.c
  1882   1886   
  1883   1887   fts5parse.c:	$(TOP)\ext\fts5\fts5parse.y lemon.exe
  1884   1888   	copy $(TOP)\ext\fts5\fts5parse.y .
  1885   1889   	del /Q fts5parse.h 2>NUL
  1886   1890   	.\lemon.exe $(REQ_FEATURE_FLAGS) $(OPT_FEATURE_FLAGS) $(EXT_FEATURE_FLAGS) $(OPTS) fts5parse.y
  1887   1891   
  1888         -fts5parse.h: fts5parse.c
         1892  +fts5parse.h:	fts5parse.c
  1889   1893   
  1890         -fts5.c: $(FTS5_SRC)
         1894  +fts5.c:	$(FTS5_SRC)
  1891   1895   	$(TCLSH_CMD) $(TOP)\ext\fts5\tool\mkfts5c.tcl
  1892   1896   	copy $(TOP)\ext\fts5\fts5.h .
  1893   1897   
  1894   1898   fts5.lo:	fts5.c $(HDR) $(EXTHDR)
  1895   1899   	$(LTCOMPILE) $(CORE_COMPILE_OPTS) $(NO_WARN) -DSQLITE_CORE -c fts5.c
  1896   1900   
  1897   1901   fts5_ext.lo:	fts5.c $(HDR) $(EXTHDR)
................................................................................
  1924   1928   
  1925   1929   testfixture.exe:	$(TESTFIXTURE_SRC) $(SQLITE3H) $(LIBRESOBJS) $(HDR)
  1926   1930   	$(LTLINK) -DSQLITE_NO_SYNC=1 $(TESTFIXTURE_FLAGS) \
  1927   1931   		-DBUILD_sqlite -I$(TCLINCDIR) \
  1928   1932   		$(TESTFIXTURE_SRC) \
  1929   1933   		/link $(LDFLAGS) $(LTLINKOPTS) $(LTLIBPATHS) $(LIBRESOBJS) $(LTLIBS) $(TLIBS)
  1930   1934   
  1931         -extensiontest: testfixture.exe testloadext.dll
         1935  +extensiontest:	testfixture.exe testloadext.dll
  1932   1936   	@set PATH=$(LIBTCLPATH);$(PATH)
  1933   1937   	.\testfixture.exe $(TOP)\test\loadext.test $(TESTOPTS)
  1934   1938   
  1935   1939   fulltest:	$(TESTPROGS) fuzztest
  1936   1940   	@set PATH=$(LIBTCLPATH);$(PATH)
  1937   1941   	.\testfixture.exe $(TOP)\test\all.test $(TESTOPTS)
  1938   1942   
................................................................................
  1967   1971   	@set PATH=$(LIBTCLPATH);$(PATH)
  1968   1972   	.\testfixture.exe $(TOP)\test\veryquick.test $(TESTOPTS)
  1969   1973   
  1970   1974   smoketest:	$(TESTPROGS)
  1971   1975   	@set PATH=$(LIBTCLPATH);$(PATH)
  1972   1976   	.\testfixture.exe $(TOP)\test\main.test $(TESTOPTS)
  1973   1977   
  1974         -sqlite3_analyzer.c: $(SQLITE3C) $(SQLITE3H) $(TOP)\src\tclsqlite.c $(TOP)\tool\spaceanal.tcl
         1978  +sqlite3_analyzer.c:	$(SQLITE3C) $(SQLITE3H) $(TOP)\src\tclsqlite.c $(TOP)\tool\spaceanal.tcl
  1975   1979   	echo #define TCLSH 2 > $@
  1976   1980   	echo #define SQLITE_ENABLE_DBSTAT_VTAB 1 >> $@
  1977   1981   	copy $@ + $(SQLITE3C) + $(TOP)\src\tclsqlite.c $@
  1978   1982   	echo static const char *tclsh_main_loop(void){ >> $@
  1979   1983   	echo static const char *zMainloop = >> $@
  1980   1984   	$(TCLSH_CMD) $(TOP)\tool\tostr.tcl $(TOP)\tool\spaceanal.tcl >> $@
  1981   1985   	echo ; return zMainloop; } >> $@
................................................................................
  1983   1987   sqlite3_analyzer.exe:	sqlite3_analyzer.c $(LIBRESOBJS)
  1984   1988   	$(LTLINK) $(NO_WARN) -DBUILD_sqlite -I$(TCLINCDIR) sqlite3_analyzer.c \
  1985   1989   		/link $(LDFLAGS) $(LTLINKOPTS) $(LTLIBPATHS) $(LIBRESOBJS) $(LTLIBS) $(TLIBS)
  1986   1990   
  1987   1991   testloadext.lo:	$(TOP)\src\test_loadext.c
  1988   1992   	$(LTCOMPILE) $(NO_WARN) -c $(TOP)\src\test_loadext.c
  1989   1993   
  1990         -testloadext.dll: testloadext.lo
         1994  +testloadext.dll:	testloadext.lo
  1991   1995   	$(LD) $(LDFLAGS) $(LTLINKOPTS) $(LTLIBPATHS) /DLL /OUT:$@ testloadext.lo
  1992   1996   
  1993   1997   showdb.exe:	$(TOP)\tool\showdb.c $(SQLITE3C) $(SQLITE3H)
  1994   1998   	$(LTLINK) $(NO_WARN) -DSQLITE_THREADSAFE=0 -DSQLITE_OMIT_LOAD_EXTENSION -Fe$@ \
  1995   1999   		$(TOP)\tool\showdb.c $(SQLITE3C) /link $(LDFLAGS) $(LTLINKOPTS)
  1996   2000   
  1997   2001   showstat4.exe:	$(TOP)\tool\showstat4.c $(SQLITE3C) $(SQLITE3H)
................................................................................
  2021   2025   	$(LTLINK) $(NO_WARN) -DSQLITE_THREADSAFE=0 -DSQLITE_OMIT_LOAD_EXTENSION -Fe$@ \
  2022   2026   		$(TOP)\test\wordcount.c $(SQLITE3C) /link $(LDFLAGS) $(LTLINKOPTS)
  2023   2027   
  2024   2028   speedtest1.exe:	$(TOP)\test\speedtest1.c $(SQLITE3C) $(SQLITE3H)
  2025   2029   	$(LTLINK) $(NO_WARN) -DSQLITE_OMIT_LOAD_EXTENSION -Fe$@ \
  2026   2030   		$(TOP)\test\speedtest1.c $(SQLITE3C) /link $(LDFLAGS) $(LTLINKOPTS)
  2027   2031   
  2028         -rbu.exe: $(TOP)\ext\rbu\rbu.c $(TOP)\ext\rbu\sqlite3rbu.c $(SQLITE3C) $(SQLITE3H)
         2032  +rbu.exe:	$(TOP)\ext\rbu\rbu.c $(TOP)\ext\rbu\sqlite3rbu.c $(SQLITE3C) $(SQLITE3H)
  2029   2033   	$(LTLINK) $(NO_WARN) -DSQLITE_ENABLE_RBU -Fe$@ \
  2030   2034   		$(TOP)\ext\rbu\rbu.c $(SQLITE3C) /link $(LDFLAGS) $(LTLINKOPTS)
         2035  +
         2036  +moreclean:	clean
         2037  +	del /Q $(SQLITE3C) $(SQLITE3H) 2>NUL
  2031   2038   # <</mark>>
  2032   2039   
  2033   2040   clean:
  2034   2041   	del /Q *.exp *.lo *.ilk *.lib *.obj *.ncb *.pdb *.sdf *.suo 2>NUL
  2035   2042   	del /Q *.bsc *.def *.cod *.da *.bb *.bbg *.vc gmon.out 2>NUL
  2036   2043   	del /Q $(SQLITE3EXE) $(SQLITE3DLL) 2>NUL
  2037   2044   # <<mark>>
  2038         -	del /Q $(SQLITE3C) $(SQLITE3H) opcodes.c opcodes.h 2>NUL
         2045  +	del /Q sqlite3.c sqlite3.h 2>NUL
         2046  +	del /Q opcodes.c opcodes.h 2>NUL
  2039   2047   	del /Q lemon.* lempar.c parse.* 2>NUL
  2040   2048   	del /Q mkkeywordhash.* keywordhash.h 2>NUL
  2041   2049   	del /Q notasharedlib.* 2>NUL
  2042   2050   	-rmdir /Q/S .deps 2>NUL
  2043   2051   	-rmdir /Q/S .libs 2>NUL
  2044   2052   	-rmdir /Q/S quota2a 2>NUL
  2045   2053   	-rmdir /Q/S quota2b 2>NUL

Changes to autoconf/Makefile.msc.

   453    453   !ENDIF
   454    454   !ENDIF
   455    455   
   456    456   # These are the additional targets that the core library should depend on
   457    457   # when linking.
   458    458   #
   459    459   !IFNDEF CORE_LINK_DEP
   460         -!IF $(DYNAMIC_SHELL)!=0 || $(FOR_WIN10)!=0
          460  +!IF $(DYNAMIC_SHELL)!=0
          461  +CORE_LINK_DEP =
          462  +!ELSEIF $(FOR_WIN10)==0 || "$(PLATFORM)"=="x86"
   461    463   CORE_LINK_DEP =
   462    464   !ELSE
   463    465   CORE_LINK_DEP =
   464    466   !ENDIF
   465    467   !ENDIF
   466    468   
   467    469   # These are additional linker options used for the core library.
   468    470   #
   469    471   !IFNDEF CORE_LINK_OPTS
   470         -!IF $(DYNAMIC_SHELL)!=0 || $(FOR_WIN10)!=0
          472  +!IF $(DYNAMIC_SHELL)!=0
          473  +CORE_LINK_OPTS =
          474  +!ELSEIF $(FOR_WIN10)==0 || "$(PLATFORM)"=="x86"
   471    475   CORE_LINK_OPTS =
   472    476   !ELSE
   473    477   CORE_LINK_OPTS =
   474    478   !ENDIF
   475    479   !ENDIF
   476    480   
   477    481   # These are additional compiler options used for the shell executable.
................................................................................
   870    874   # This is the default Makefile target.  The objects listed here
   871    875   # are what get build when you type just "make" with no arguments.
   872    876   #
   873    877   all:	dll shell
   874    878   
   875    879   # Dynamic link library section.
   876    880   #
   877         -dll: $(SQLITE3DLL)
          881  +dll:	$(SQLITE3DLL)
   878    882   
   879    883   # Shell executable.
   880    884   #
   881         -shell: $(SQLITE3EXE)
          885  +shell:	$(SQLITE3EXE)
   882    886   
   883    887   
   884         -$(SQLITE3DLL): $(LIBOBJ) $(LIBRESOBJS) $(CORE_LINK_DEP)
          888  +$(SQLITE3DLL):	$(LIBOBJ) $(LIBRESOBJS) $(CORE_LINK_DEP)
   885    889   	$(LD) $(LDFLAGS) $(LTLINKOPTS) $(LTLIBPATHS) /DLL $(CORE_LINK_OPTS) /OUT:$@ $(LIBOBJ) $(LIBRESOBJS) $(LTLIBS) $(TLIBS)
   886    890   
   887    891   
   888    892   $(SQLITE3EXE):	$(TOP)\shell.c $(SHELL_CORE_DEP) $(LIBRESOBJS) $(SHELL_CORE_SRC) $(SQLITE3H)
   889    893   	$(LTLINK) $(SHELL_COMPILE_OPTS) $(READLINE_FLAGS) $(TOP)\shell.c $(SHELL_CORE_SRC) \
   890    894   		/link $(SQLITE3EXEPDB) $(LDFLAGS) $(LTLINKOPTS) $(SHELL_LINK_OPTS) $(LTLIBPATHS) $(LIBRESOBJS) $(LIBREADLINE) $(LTLIBS) $(TLIBS)
   891    895