0000: 23 21 2f 75 73 72 2f 62 69 6e 2f 74 63 6c 73 68 #!/usr/bin/tclsh
0010: 0a 23 0a 23 20 52 75 6e 20 74 68 69 73 20 54 63 .#.# Run this Tc
0020: 6c 20 73 63 72 69 70 74 20 74 6f 20 67 65 6e 65 l script to gene
0030: 72 61 74 65 20 74 68 65 20 76 61 72 69 6f 75 73 rate the various
0040: 20 6d 61 6b 65 66 69 6c 65 73 20 66 6f 72 20 61 makefiles for a
0050: 20 76 61 72 69 65 74 79 0a 23 20 6f 66 20 70 6c variety.# of pl
0060: 61 74 66 6f 72 6d 73 2e 20 20 46 69 6c 65 73 20 atforms. Files
0070: 67 65 6e 65 72 61 74 65 64 20 69 6e 63 6c 75 64 generated includ
0080: 65 3a 0a 23 0a 23 20 20 20 20 20 73 72 63 2f 6d e:.#.# src/m
0090: 61 69 6e 2e 6d 6b 20 20 20 20 20 20 20 20 20 20 ain.mk
00a0: 20 23 20 6d 61 6b 65 66 69 6c 65 20 66 6f 72 20 # makefile for
00b0: 61 6c 6c 20 75 6e 69 78 20 73 79 73 74 65 6d 73 all unix systems
00c0: 0a 23 20 20 20 20 20 77 69 6e 2f 4d 61 6b 65 66 .# win/Makef
00d0: 69 6c 65 2e 6d 69 6e 67 77 20 20 20 20 23 20 6d ile.mingw # m
00e0: 61 6b 65 66 69 6c 65 20 66 6f 72 20 6d 69 6e 67 akefile for ming
00f0: 77 20 6f 6e 20 77 69 6e 64 6f 77 73 0a 23 20 20 w on windows.#
0100: 20 20 20 77 69 6e 2f 4d 61 6b 65 66 69 6c 65 2e win/Makefile.
0110: 2a 20 20 20 20 20 20 20 20 23 20 6d 61 6b 65 66 * # makef
0120: 69 6c 65 73 20 66 6f 72 20 6f 74 68 65 72 20 77 iles for other w
0130: 69 6e 64 6f 77 73 20 63 6f 6d 70 69 6c 65 72 73 indows compilers
0140: 0a 23 0a 23 20 52 75 6e 20 74 68 69 73 20 73 63 .#.# Run this sc
0150: 72 69 70 74 20 77 68 69 6c 65 20 69 6e 20 74 68 ript while in th
0160: 65 20 22 73 72 63 22 20 73 75 62 64 69 72 65 63 e "src" subdirec
0170: 74 6f 72 79 2e 20 20 4c 69 6b 65 20 74 68 69 73 tory. Like this
0180: 3a 0a 23 0a 23 20 20 20 20 20 20 74 63 6c 73 68 :.#.# tclsh
0190: 20 6d 61 6b 65 6d 61 6b 65 2e 74 63 6c 0a 23 0a makemake.tcl.#.
01a0: 23 20 41 64 64 20 6e 65 77 20 73 6f 75 72 63 65 # Add new source
01b0: 20 66 69 6c 65 73 20 62 79 20 6c 69 73 74 69 6e files by listin
01c0: 67 20 74 68 65 20 66 69 6c 65 73 20 28 77 69 74 g the files (wit
01d0: 68 6f 75 74 20 74 68 65 69 72 20 2e 63 20 73 75 hout their .c su
01e0: 66 66 69 78 29 0a 23 20 69 6e 20 74 68 65 20 22 ffix).# in the "
01f0: 73 72 63 22 20 76 61 72 69 61 62 6c 65 2e 20 20 src" variable.
0200: 41 64 64 20 6e 65 77 20 72 65 73 6f 75 72 63 65 Add new resource
0210: 20 66 69 6c 65 73 20 74 6f 20 74 68 65 20 22 65 files to the "e
0220: 78 74 72 61 5f 66 69 6c 65 73 22 0a 23 20 76 61 xtra_files".# va
0230: 72 69 61 62 6c 65 2e 20 20 54 68 65 72 65 20 61 riable. There a
0240: 72 65 20 6f 74 68 65 72 20 76 61 72 69 61 62 6c re other variabl
0250: 65 73 20 74 68 61 74 20 79 6f 75 20 63 61 6e 20 es that you can
0260: 61 6c 74 65 72 2c 20 64 6f 77 6e 20 74 6f 0a 23 alter, down to.#
0270: 20 74 68 65 20 22 53 54 4f 50 20 48 45 52 45 22 the "STOP HERE"
0280: 20 63 6f 6d 6d 65 6e 74 2e 20 20 54 68 65 20 73 comment. The s
0290: 74 75 66 66 20 62 65 6c 6f 77 20 22 53 54 4f 50 tuff below "STOP
02a0: 20 48 45 52 45 22 20 73 68 6f 75 6c 64 20 72 61 HERE" should ra
02b0: 72 65 6c 79 20 6e 65 65 64 0a 23 20 74 6f 20 63 rely need.# to c
02c0: 68 61 6e 67 65 2e 0a 23 0a 23 23 23 23 23 23 23 hange..#.#######
02d0: 23 23 23 23 23 23 23 23 23 23 23 23 23 23 23 23 ################
02e0: 23 23 23 23 23 23 23 23 23 23 23 23 23 23 23 23 ################
02f0: 23 23 23 23 23 23 23 23 23 23 23 23 23 23 23 23 ################
0300: 23 23 23 23 23 23 23 23 23 23 23 23 23 23 23 23 ################
0310: 23 23 23 23 23 23 0a 0a 23 20 42 61 73 65 6e 61 ######..# Basena
0320: 6d 65 73 20 6f 66 20 61 6c 6c 20 73 6f 75 72 63 mes of all sourc
0330: 65 20 66 69 6c 65 73 20 74 68 61 74 20 67 65 74 e files that get
0340: 20 70 72 65 70 72 6f 63 65 73 73 65 64 20 75 73 preprocessed us
0350: 69 6e 67 0a 23 20 22 74 72 61 6e 73 6c 61 74 65 ing.# "translate
0360: 22 20 61 6e 64 20 22 6d 61 6b 65 68 65 61 64 65 " and "makeheade
0370: 72 73 22 2e 20 20 54 6f 20 61 64 64 20 6e 65 77 rs". To add new
0380: 20 43 2d 6c 61 6e 67 75 61 67 65 20 73 6f 75 72 C-language sour
0390: 63 65 20 66 69 6c 65 73 20 74 6f 20 74 68 65 0a ce files to the.
03a0: 23 20 70 72 6f 6a 65 63 74 2c 20 73 69 6d 70 6c # project, simpl
03b0: 79 20 61 64 64 20 74 68 65 20 62 61 73 65 6e 61 y add the basena
03c0: 6d 65 20 74 6f 20 74 68 69 73 20 6c 69 73 74 20 me to this list
03d0: 61 6e 64 20 72 65 72 75 6e 20 74 68 69 73 20 73 and rerun this s
03e0: 63 72 69 70 74 2e 0a 23 0a 23 20 53 65 74 20 74 cript..#.# Set t
03f0: 68 65 20 73 65 70 61 72 61 74 65 20 65 78 74 72 he separate extr
0400: 61 5f 66 69 6c 65 73 20 76 61 72 69 61 62 6c 65 a_files variable
0410: 20 66 75 72 74 68 65 72 20 64 6f 77 6e 20 66 6f further down fo
0420: 72 20 68 6f 77 20 74 6f 20 61 64 64 20 6e 6f 6e r how to add non
0430: 2d 43 0a 23 20 66 69 6c 65 73 2c 20 73 75 63 68 -C.# files, such
0440: 20 61 73 20 73 74 72 69 6e 67 20 61 6e 64 20 42 as string and B
0450: 4c 4f 42 20 72 65 73 6f 75 72 63 65 73 2e 0a 23 LOB resources..#
0460: 0a 73 65 74 20 73 72 63 20 7b 0a 20 20 61 64 64 .set src {. add
0470: 0a 20 20 61 6c 6c 72 65 70 6f 0a 20 20 61 74 74 . allrepo. att
0480: 61 63 68 0a 20 20 62 61 67 0a 20 20 62 69 73 65 ach. bag. bise
0490: 63 74 0a 20 20 62 6c 6f 62 0a 20 20 62 72 61 6e ct. blob. bran
04a0: 63 68 0a 20 20 62 72 6f 77 73 65 0a 20 20 62 75 ch. browse. bu
04b0: 69 6c 74 69 6e 0a 20 20 62 75 6e 64 6c 65 0a 20 iltin. bundle.
04c0: 20 63 61 63 68 65 0a 20 20 63 61 70 74 63 68 61 cache. captcha
04d0: 0a 20 20 63 67 69 0a 20 20 63 68 65 63 6b 69 6e . cgi. checkin
04e0: 0a 20 20 63 68 65 63 6b 6f 75 74 0a 20 20 63 6c . checkout. cl
04f0: 65 61 72 73 69 67 6e 0a 20 20 63 6c 6f 6e 65 0a earsign. clone.
0500: 20 20 63 6f 6d 66 6f 72 6d 61 74 0a 20 20 63 6f comformat. co
0510: 6e 66 69 67 75 72 65 0a 20 20 63 6f 6e 74 65 6e nfigure. conten
0520: 74 0a 20 20 63 6f 6f 6b 69 65 73 0a 20 20 64 62 t. cookies. db
0530: 0a 20 20 64 65 6c 74 61 0a 20 20 64 65 6c 74 61 . delta. delta
0540: 63 6d 64 0a 20 20 64 65 73 63 65 6e 64 61 6e 74 cmd. descendant
0550: 73 0a 20 20 64 69 66 66 0a 20 20 64 69 66 66 63 s. diff. diffc
0560: 6d 64 0a 20 20 64 69 73 70 61 74 63 68 0a 20 20 md. dispatch.
0570: 64 6f 63 0a 20 20 65 6e 63 6f 64 65 0a 20 20 65 doc. encode. e
0580: 76 65 6e 74 0a 20 20 65 78 70 6f 72 74 0a 20 20 vent. export.
0590: 66 69 6c 65 0a 20 20 66 69 6e 66 6f 0a 20 20 66 file. finfo. f
05a0: 6f 63 69 0a 20 20 66 73 68 65 6c 6c 0a 20 20 66 oci. fshell. f
05b0: 75 73 65 66 73 0a 20 20 67 6c 6f 62 0a 20 20 67 usefs. glob. g
05c0: 72 61 70 68 0a 20 20 67 7a 69 70 0a 20 20 68 6e raph. gzip. hn
05d0: 61 6d 65 0a 20 20 68 74 74 70 0a 20 20 68 74 74 ame. http. htt
05e0: 70 5f 73 6f 63 6b 65 74 0a 20 20 68 74 74 70 5f p_socket. http_
05f0: 74 72 61 6e 73 70 6f 72 74 0a 20 20 69 6d 70 6f transport. impo
0600: 72 74 0a 20 20 69 6e 66 6f 0a 20 20 6a 73 6f 6e rt. info. json
0610: 0a 20 20 6a 73 6f 6e 5f 61 72 74 69 66 61 63 74 . json_artifact
0620: 0a 20 20 6a 73 6f 6e 5f 62 72 61 6e 63 68 0a 20 . json_branch.
0630: 20 6a 73 6f 6e 5f 63 6f 6e 66 69 67 0a 20 20 6a json_config. j
0640: 73 6f 6e 5f 64 69 66 66 0a 20 20 6a 73 6f 6e 5f son_diff. json_
0650: 64 69 72 0a 20 20 6a 73 6f 6e 5f 66 69 6e 66 6f dir. json_finfo
0660: 0a 20 20 6a 73 6f 6e 5f 6c 6f 67 69 6e 0a 20 20 . json_login.
0670: 6a 73 6f 6e 5f 71 75 65 72 79 0a 20 20 6a 73 6f json_query. jso
0680: 6e 5f 72 65 70 6f 72 74 0a 20 20 6a 73 6f 6e 5f n_report. json_
0690: 73 74 61 74 75 73 0a 20 20 6a 73 6f 6e 5f 74 61 status. json_ta
06a0: 67 0a 20 20 6a 73 6f 6e 5f 74 69 6d 65 6c 69 6e g. json_timelin
06b0: 65 0a 20 20 6a 73 6f 6e 5f 75 73 65 72 0a 20 20 e. json_user.
06c0: 6a 73 6f 6e 5f 77 69 6b 69 0a 20 20 6c 65 61 66 json_wiki. leaf
06d0: 0a 20 20 6c 6f 61 64 63 74 72 6c 0a 20 20 6c 6f . loadctrl. lo
06e0: 67 69 6e 0a 20 20 6c 6f 6f 6b 73 6c 69 6b 65 0a gin. lookslike.
06f0: 20 20 6d 61 69 6e 0a 20 20 6d 61 6e 69 66 65 73 main. manifes
0700: 74 0a 20 20 6d 61 72 6b 64 6f 77 6e 0a 20 20 6d t. markdown. m
0710: 61 72 6b 64 6f 77 6e 5f 68 74 6d 6c 0a 20 20 6d arkdown_html. m
0720: 64 35 0a 20 20 6d 65 72 67 65 0a 20 20 6d 65 72 d5. merge. mer
0730: 67 65 33 0a 20 20 6d 6f 64 65 72 61 74 65 0a 20 ge3. moderate.
0740: 20 6e 61 6d 65 0a 20 20 70 61 74 68 0a 20 20 70 name. path. p
0750: 69 65 63 68 61 72 74 0a 20 20 70 69 76 6f 74 0a iechart. pivot.
0760: 20 20 70 6f 70 65 6e 0a 20 20 70 71 75 65 75 65 popen. pqueue
0770: 0a 20 20 70 72 69 6e 74 66 0a 20 20 70 75 62 6c . printf. publ
0780: 69 73 68 0a 20 20 70 75 72 67 65 0a 20 20 72 65 ish. purge. re
0790: 62 75 69 6c 64 0a 20 20 72 65 67 65 78 70 0a 20 build. regexp.
07a0: 20 72 65 70 6f 72 74 0a 20 20 72 73 73 0a 20 20 report. rss.
07b0: 73 63 68 65 6d 61 0a 20 20 73 65 61 72 63 68 0a schema. search.
07c0: 20 20 73 65 63 75 72 69 74 79 5f 61 75 64 69 74 security_audit
07d0: 0a 20 20 73 65 74 75 70 0a 20 20 73 68 61 31 0a . setup. sha1.
07e0: 20 20 73 68 61 31 68 61 72 64 0a 20 20 73 68 61 sha1hard. sha
07f0: 33 0a 20 20 73 68 75 6e 0a 20 20 73 69 74 65 6d 3. shun. sitem
0800: 61 70 0a 20 20 73 6b 69 6e 73 0a 20 20 73 71 6c ap. skins. sql
0810: 63 6d 64 0a 20 20 73 74 61 73 68 0a 20 20 73 74 cmd. stash. st
0820: 61 74 0a 20 20 73 74 61 74 72 65 70 0a 20 20 73 at. statrep. s
0830: 74 79 6c 65 0a 20 20 73 79 6e 63 0a 20 20 74 61 tyle. sync. ta
0840: 67 0a 20 20 74 61 72 0a 20 20 74 68 5f 6d 61 69 g. tar. th_mai
0850: 6e 0a 20 20 74 69 6d 65 6c 69 6e 65 0a 20 20 74 n. timeline. t
0860: 6b 74 0a 20 20 74 6b 74 73 65 74 75 70 0a 20 20 kt. tktsetup.
0870: 75 6e 64 6f 0a 20 20 75 6e 69 63 6f 64 65 0a 20 undo. unicode.
0880: 20 75 6e 76 65 72 73 69 6f 6e 65 64 0a 20 20 75 unversioned. u
0890: 70 64 61 74 65 0a 20 20 75 72 6c 0a 20 20 75 73 pdate. url. us
08a0: 65 72 0a 20 20 75 74 66 38 0a 20 20 75 74 69 6c er. utf8. util
08b0: 0a 20 20 76 65 72 69 66 79 0a 20 20 76 66 69 6c . verify. vfil
08c0: 65 0a 20 20 77 69 6b 69 0a 20 20 77 69 6b 69 66 e. wiki. wikif
08d0: 6f 72 6d 61 74 0a 20 20 77 69 6e 66 69 6c 65 0a ormat. winfile.
08e0: 20 20 77 69 6e 68 74 74 70 0a 20 20 77 79 73 69 winhttp. wysi
08f0: 77 79 67 0a 20 20 78 66 65 72 0a 20 20 78 66 65 wyg. xfer. xfe
0900: 72 73 65 74 75 70 0a 20 20 7a 69 70 0a 20 20 68 rsetup. zip. h
0910: 74 74 70 5f 73 73 6c 0a 7d 0a 0a 23 20 41 64 64 ttp_ssl.}..# Add
0920: 69 74 69 6f 6e 61 6c 20 72 65 73 6f 75 72 63 65 itional resource
0930: 20 66 69 6c 65 73 20 74 68 61 74 20 67 65 74 20 files that get
0940: 62 75 69 6c 74 20 69 6e 74 6f 20 74 68 65 20 65 built into the e
0950: 78 65 63 75 74 61 62 6c 65 2e 0a 23 0a 73 65 74 xecutable..#.set
0960: 20 65 78 74 72 61 5f 66 69 6c 65 73 20 7b 0a 20 extra_files {.
0970: 20 64 69 66 66 2e 74 63 6c 0a 20 20 6d 61 72 6b diff.tcl. mark
0980: 64 6f 77 6e 2e 6d 64 0a 20 20 77 69 6b 69 2e 77 down.md. wiki.w
0990: 69 6b 69 0a 20 20 2a 2e 6a 73 0a 20 20 2e 2e 2f iki. *.js. ../
09a0: 73 6b 69 6e 73 2f 2a 2f 2a 2e 74 78 74 0a 7d 0a skins/*/*.txt.}.
09b0: 0a 23 20 4f 70 74 69 6f 6e 73 20 75 73 65 64 20 .# Options used
09c0: 74 6f 20 63 6f 6d 70 69 6c 65 20 74 68 65 20 69 to compile the i
09d0: 6e 63 6c 75 64 65 64 20 53 51 4c 69 74 65 20 6c ncluded SQLite l
09e0: 69 62 72 61 72 79 2e 0a 23 0a 73 65 74 20 53 51 ibrary..#.set SQ
09f0: 4c 49 54 45 5f 4f 50 54 49 4f 4e 53 20 7b 0a 20 LITE_OPTIONS {.
0a00: 20 2d 44 4e 44 45 42 55 47 3d 31 0a 20 20 2d 44 -DNDEBUG=1. -D
0a10: 53 51 4c 49 54 45 5f 54 48 52 45 41 44 53 41 46 SQLITE_THREADSAF
0a20: 45 3d 30 0a 20 20 2d 44 53 51 4c 49 54 45 5f 44 E=0. -DSQLITE_D
0a30: 45 46 41 55 4c 54 5f 4d 45 4d 53 54 41 54 55 53 EFAULT_MEMSTATUS
0a40: 3d 30 0a 20 20 2d 44 53 51 4c 49 54 45 5f 44 45 =0. -DSQLITE_DE
0a50: 46 41 55 4c 54 5f 57 41 4c 5f 53 59 4e 43 48 52 FAULT_WAL_SYNCHR
0a60: 4f 4e 4f 55 53 3d 31 0a 20 20 2d 44 53 51 4c 49 ONOUS=1. -DSQLI
0a70: 54 45 5f 4c 49 4b 45 5f 44 4f 45 53 4e 54 5f 4d TE_LIKE_DOESNT_M
0a80: 41 54 43 48 5f 42 4c 4f 42 53 0a 20 20 2d 44 53 ATCH_BLOBS. -DS
0a90: 51 4c 49 54 45 5f 4f 4d 49 54 5f 44 45 43 4c 54 QLITE_OMIT_DECLT
0aa0: 59 50 45 0a 20 20 2d 44 53 51 4c 49 54 45 5f 4f YPE. -DSQLITE_O
0ab0: 4d 49 54 5f 44 45 50 52 45 43 41 54 45 44 0a 20 MIT_DEPRECATED.
0ac0: 20 2d 44 53 51 4c 49 54 45 5f 4f 4d 49 54 5f 47 -DSQLITE_OMIT_G
0ad0: 45 54 5f 54 41 42 4c 45 0a 20 20 2d 44 53 51 4c ET_TABLE. -DSQL
0ae0: 49 54 45 5f 4f 4d 49 54 5f 50 52 4f 47 52 45 53 ITE_OMIT_PROGRES
0af0: 53 5f 43 41 4c 4c 42 41 43 4b 0a 20 20 2d 44 53 S_CALLBACK. -DS
0b00: 51 4c 49 54 45 5f 4f 4d 49 54 5f 53 48 41 52 45 QLITE_OMIT_SHARE
0b10: 44 5f 43 41 43 48 45 0a 20 20 2d 44 53 51 4c 49 D_CACHE. -DSQLI
0b20: 54 45 5f 4f 4d 49 54 5f 4c 4f 41 44 5f 45 58 54 TE_OMIT_LOAD_EXT
0b30: 45 4e 53 49 4f 4e 0a 20 20 2d 44 53 51 4c 49 54 ENSION. -DSQLIT
0b40: 45 5f 4d 41 58 5f 45 58 50 52 5f 44 45 50 54 48 E_MAX_EXPR_DEPTH
0b50: 3d 30 0a 20 20 2d 44 53 51 4c 49 54 45 5f 55 53 =0. -DSQLITE_US
0b60: 45 5f 41 4c 4c 4f 43 41 0a 20 20 2d 44 53 51 4c E_ALLOCA. -DSQL
0b70: 49 54 45 5f 45 4e 41 42 4c 45 5f 4c 4f 43 4b 49 ITE_ENABLE_LOCKI
0b80: 4e 47 5f 53 54 59 4c 45 3d 30 0a 20 20 2d 44 53 NG_STYLE=0. -DS
0b90: 51 4c 49 54 45 5f 44 45 46 41 55 4c 54 5f 46 49 QLITE_DEFAULT_FI
0ba0: 4c 45 5f 46 4f 52 4d 41 54 3d 34 0a 20 20 2d 44 LE_FORMAT=4. -D
0bb0: 53 51 4c 49 54 45 5f 45 4e 41 42 4c 45 5f 45 58 SQLITE_ENABLE_EX
0bc0: 50 4c 41 49 4e 5f 43 4f 4d 4d 45 4e 54 53 0a 20 PLAIN_COMMENTS.
0bd0: 20 2d 44 53 51 4c 49 54 45 5f 45 4e 41 42 4c 45 -DSQLITE_ENABLE
0be0: 5f 46 54 53 34 0a 20 20 2d 44 53 51 4c 49 54 45 _FTS4. -DSQLITE
0bf0: 5f 45 4e 41 42 4c 45 5f 46 54 53 33 5f 50 41 52 _ENABLE_FTS3_PAR
0c00: 45 4e 54 48 45 53 49 53 0a 20 20 2d 44 53 51 4c ENTHESIS. -DSQL
0c10: 49 54 45 5f 45 4e 41 42 4c 45 5f 44 42 53 54 41 ITE_ENABLE_DBSTA
0c20: 54 5f 56 54 41 42 0a 20 20 2d 44 53 51 4c 49 54 T_VTAB. -DSQLIT
0c30: 45 5f 45 4e 41 42 4c 45 5f 4a 53 4f 4e 31 0a 20 E_ENABLE_JSON1.
0c40: 20 2d 44 53 51 4c 49 54 45 5f 45 4e 41 42 4c 45 -DSQLITE_ENABLE
0c50: 5f 46 54 53 35 0a 20 20 2d 44 53 51 4c 49 54 45 _FTS5. -DSQLITE
0c60: 5f 45 4e 41 42 4c 45 5f 53 54 4d 54 56 54 41 42 _ENABLE_STMTVTAB
0c70: 0a 7d 0a 23 6c 61 70 70 65 6e 64 20 53 51 4c 49 .}.#lappend SQLI
0c80: 54 45 5f 4f 50 54 49 4f 4e 53 20 2d 44 53 51 4c TE_OPTIONS -DSQL
0c90: 49 54 45 5f 45 4e 41 42 4c 45 5f 46 54 53 33 3d ITE_ENABLE_FTS3=
0ca0: 31 0a 23 6c 61 70 70 65 6e 64 20 53 51 4c 49 54 1.#lappend SQLIT
0cb0: 45 5f 4f 50 54 49 4f 4e 53 20 2d 44 53 51 4c 49 E_OPTIONS -DSQLI
0cc0: 54 45 5f 45 4e 41 42 4c 45 5f 53 54 41 54 34 0a TE_ENABLE_STAT4.
0cd0: 23 6c 61 70 70 65 6e 64 20 53 51 4c 49 54 45 5f #lappend SQLITE_
0ce0: 4f 50 54 49 4f 4e 53 20 2d 44 53 51 4c 49 54 45 OPTIONS -DSQLITE
0cf0: 5f 57 49 4e 33 32 5f 4e 4f 5f 41 4e 53 49 0a 23 _WIN32_NO_ANSI.#
0d00: 6c 61 70 70 65 6e 64 20 53 51 4c 49 54 45 5f 4f lappend SQLITE_O
0d10: 50 54 49 4f 4e 53 20 2d 44 53 51 4c 49 54 45 5f PTIONS -DSQLITE_
0d20: 57 49 4e 4e 54 5f 4d 41 58 5f 50 41 54 48 5f 43 WINNT_MAX_PATH_C
0d30: 48 41 52 53 3d 34 30 39 36 0a 0a 23 20 4f 70 74 HARS=4096..# Opt
0d40: 69 6f 6e 73 20 75 73 65 64 20 74 6f 20 63 6f 6d ions used to com
0d50: 70 69 6c 65 20 74 68 65 20 69 6e 63 6c 75 64 65 pile the include
0d60: 64 20 53 51 4c 69 74 65 20 73 68 65 6c 6c 2e 0a d SQLite shell..
0d70: 23 0a 73 65 74 20 53 48 45 4c 4c 5f 4f 50 54 49 #.set SHELL_OPTI
0d80: 4f 4e 53 20 7b 0a 20 20 2d 44 6d 61 69 6e 3d 73 ONS {. -Dmain=s
0d90: 71 6c 69 74 65 33 5f 73 68 65 6c 6c 0a 20 20 2d qlite3_shell. -
0da0: 44 53 51 4c 49 54 45 5f 53 48 45 4c 4c 5f 49 53 DSQLITE_SHELL_IS
0db0: 5f 55 54 46 38 3d 31 0a 20 20 2d 44 53 51 4c 49 _UTF8=1. -DSQLI
0dc0: 54 45 5f 4f 4d 49 54 5f 4c 4f 41 44 5f 45 58 54 TE_OMIT_LOAD_EXT
0dd0: 45 4e 53 49 4f 4e 3d 31 0a 20 20 2d 44 55 53 45 ENSION=1. -DUSE
0de0: 5f 53 59 53 54 45 4d 5f 53 51 4c 49 54 45 3d 24 _SYSTEM_SQLITE=$
0df0: 28 55 53 45 5f 53 59 53 54 45 4d 5f 53 51 4c 49 (USE_SYSTEM_SQLI
0e00: 54 45 29 0a 20 20 2d 44 53 51 4c 49 54 45 5f 53 TE). -DSQLITE_S
0e10: 48 45 4c 4c 5f 44 42 4e 41 4d 45 5f 50 52 4f 43 HELL_DBNAME_PROC
0e20: 3d 66 6f 73 73 69 6c 5f 6f 70 65 6e 0a 7d 0a 0a =fossil_open.}..
0e30: 23 20 6d 69 6e 69 7a 20 28 6c 69 62 7a 20 64 72 # miniz (libz dr
0e40: 6f 70 2d 69 6e 20 61 6c 74 65 72 6e 61 74 69 76 op-in alternativ
0e50: 65 29 20 70 72 65 63 6f 6d 70 69 6c 65 72 20 66 e) precompiler f
0e60: 6c 61 67 73 2e 0a 23 0a 73 65 74 20 4d 49 4e 49 lags..#.set MINI
0e70: 5a 5f 4f 50 54 49 4f 4e 53 20 7b 0a 20 20 2d 44 Z_OPTIONS {. -D
0e80: 4d 49 4e 49 5a 5f 4e 4f 5f 53 54 44 49 4f 0a 20 MINIZ_NO_STDIO.
0e90: 20 2d 44 4d 49 4e 49 5a 5f 4e 4f 5f 54 49 4d 45 -DMINIZ_NO_TIME
0ea0: 0a 20 20 2d 44 4d 49 4e 49 5a 5f 4e 4f 5f 41 52 . -DMINIZ_NO_AR
0eb0: 43 48 49 56 45 5f 41 50 49 53 0a 7d 0a 0a 23 20 CHIVE_APIS.}..#
0ec0: 4f 70 74 69 6f 6e 73 20 75 73 65 64 20 74 6f 20 Options used to
0ed0: 63 6f 6d 70 69 6c 65 20 74 68 65 20 69 6e 63 6c compile the incl
0ee0: 75 64 65 64 20 53 51 4c 69 74 65 20 73 68 65 6c uded SQLite shel
0ef0: 6c 20 6f 6e 20 57 69 6e 64 6f 77 73 2e 0a 23 0a l on Windows..#.
0f00: 73 65 74 20 53 48 45 4c 4c 5f 57 49 4e 33 32 5f set SHELL_WIN32_
0f10: 4f 50 54 49 4f 4e 53 20 24 53 48 45 4c 4c 5f 4f OPTIONS $SHELL_O
0f20: 50 54 49 4f 4e 53 0a 6c 61 70 70 65 6e 64 20 53 PTIONS.lappend S
0f30: 48 45 4c 4c 5f 57 49 4e 33 32 5f 4f 50 54 49 4f HELL_WIN32_OPTIO
0f40: 4e 53 20 2d 44 61 63 63 65 73 73 3d 66 69 6c 65 NS -Daccess=file
0f50: 5f 61 63 63 65 73 73 0a 6c 61 70 70 65 6e 64 20 _access.lappend
0f60: 53 48 45 4c 4c 5f 57 49 4e 33 32 5f 4f 50 54 49 SHELL_WIN32_OPTI
0f70: 4f 4e 53 20 2d 44 73 79 73 74 65 6d 3d 66 6f 73 ONS -Dsystem=fos
0f80: 73 69 6c 5f 73 79 73 74 65 6d 0a 6c 61 70 70 65 sil_system.lappe
0f90: 6e 64 20 53 48 45 4c 4c 5f 57 49 4e 33 32 5f 4f nd SHELL_WIN32_O
0fa0: 50 54 49 4f 4e 53 20 2d 44 67 65 74 65 6e 76 3d PTIONS -Dgetenv=
0fb0: 66 6f 73 73 69 6c 5f 67 65 74 65 6e 76 0a 6c 61 fossil_getenv.la
0fc0: 70 70 65 6e 64 20 53 48 45 4c 4c 5f 57 49 4e 33 ppend SHELL_WIN3
0fd0: 32 5f 4f 50 54 49 4f 4e 53 20 2d 44 66 6f 70 65 2_OPTIONS -Dfope
0fe0: 6e 3d 66 6f 73 73 69 6c 5f 66 6f 70 65 6e 0a 0a n=fossil_fopen..
0ff0: 23 20 53 54 4f 50 20 48 45 52 45 2e 0a 23 20 55 # STOP HERE..# U
1000: 6e 6c 65 73 73 20 74 68 65 20 62 75 69 6c 64 20 nless the build
1010: 70 72 6f 63 65 64 75 72 65 73 20 63 68 61 6e 67 procedures chang
1020: 65 73 2c 20 79 6f 75 20 73 68 6f 75 6c 64 20 6e es, you should n
1030: 6f 74 20 68 61 76 65 20 74 6f 20 65 64 69 74 20 ot have to edit
1040: 61 6e 79 74 68 69 6e 67 0a 23 20 62 65 6c 6f 77 anything.# below
1050: 20 74 68 69 73 20 6c 69 6e 65 2e 0a 23 23 23 23 this line..####
1060: 23 23 23 23 23 23 23 23 23 23 23 23 23 23 23 23 ################
1070: 23 23 23 23 23 23 23 23 23 23 23 23 23 23 23 23 ################
1080: 23 23 23 23 23 23 23 23 23 23 23 23 23 23 23 23 ################
1090: 23 23 23 23 23 23 23 23 23 23 23 23 23 23 23 23 ################
10a0: 23 23 23 23 23 23 23 23 23 0a 0a 23 20 4e 61 6d #########..# Nam
10b0: 65 20 6f 66 20 74 68 65 20 66 69 6e 61 6c 20 61 e of the final a
10c0: 70 70 6c 69 63 61 74 69 6f 6e 0a 23 0a 73 65 74 pplication.#.set
10d0: 20 6e 61 6d 65 20 66 6f 73 73 69 6c 0a 0a 23 20 name fossil..#
10e0: 54 68 65 20 22 77 72 69 74 65 6c 6e 22 20 63 6f The "writeln" co
10f0: 6d 6d 61 6e 64 20 73 65 6e 64 73 20 6f 75 74 70 mmand sends outp
1100: 75 74 20 74 6f 20 74 68 65 20 74 61 72 67 65 74 ut to the target
1110: 20 6d 61 6b 65 66 69 6c 65 2e 0a 23 0a 70 72 6f makefile..#.pro
1120: 63 20 77 72 69 74 65 6c 6e 20 7b 61 72 67 73 7d c writeln {args}
1130: 20 7b 0a 20 20 67 6c 6f 62 61 6c 20 6f 75 74 70 {. global outp
1140: 75 74 5f 66 69 6c 65 0a 20 20 69 66 20 7b 5b 6c ut_file. if {[l
1150: 69 6e 64 65 78 20 24 61 72 67 73 20 30 5d 3d 3d index $args 0]==
1160: 22 2d 6e 6f 6e 65 77 6c 69 6e 65 22 7d 20 7b 0a "-nonewline"} {.
1170: 20 20 20 20 70 75 74 73 20 2d 6e 6f 6e 65 77 6c puts -nonewl
1180: 69 6e 65 20 24 6f 75 74 70 75 74 5f 66 69 6c 65 ine $output_file
1190: 20 5b 6c 69 6e 64 65 78 20 24 61 72 67 73 20 31 [lindex $args 1
11a0: 5d 0a 20 20 7d 20 65 6c 73 65 20 7b 0a 20 20 20 ]. } else {.
11b0: 20 70 75 74 73 20 24 6f 75 74 70 75 74 5f 66 69 puts $output_fi
11c0: 6c 65 20 5b 6c 69 6e 64 65 78 20 24 61 72 67 73 le [lindex $args
11d0: 20 30 5d 0a 20 20 7d 0a 7d 0a 0a 23 20 45 78 70 0]. }.}..# Exp
11e0: 61 6e 64 20 61 6e 79 20 77 69 6c 64 63 61 72 64 and any wildcard
11f0: 73 20 69 6e 20 22 65 78 74 72 61 5f 66 69 6c 65 s in "extra_file
1200: 73 22 0a 73 65 74 20 6e 65 77 5f 65 78 74 72 61 s".set new_extra
1210: 5f 66 69 6c 65 73 20 7b 7d 0a 66 6f 72 65 61 63 _files {}.foreac
1220: 68 20 66 69 6c 65 20 24 65 78 74 72 61 5f 66 69 h file $extra_fi
1230: 6c 65 73 20 7b 0a 20 20 66 6f 72 65 61 63 68 20 les {. foreach
1240: 78 20 5b 67 6c 6f 62 20 2d 6e 6f 63 6f 6d 70 6c x [glob -nocompl
1250: 61 69 6e 20 24 66 69 6c 65 5d 20 7b 0a 20 20 20 ain $file] {.
1260: 20 6c 61 70 70 65 6e 64 20 6e 65 77 5f 65 78 74 lappend new_ext
1270: 72 61 5f 66 69 6c 65 73 20 24 78 0a 20 20 7d 0a ra_files $x. }.
1280: 7d 0a 73 65 74 20 65 78 74 72 61 5f 66 69 6c 65 }.set extra_file
1290: 73 20 24 6e 65 77 5f 65 78 74 72 61 5f 66 69 6c s $new_extra_fil
12a0: 65 73 0a 0a 23 23 23 23 23 23 23 23 23 23 23 23 es..############
12b0: 23 23 23 23 23 23 23 23 23 23 23 23 23 23 23 23 ################
12c0: 23 23 23 23 23 23 23 23 23 23 23 23 23 23 23 23 ################
12d0: 23 23 23 23 23 23 23 23 23 23 23 23 23 23 23 23 ################
12e0: 23 23 23 23 23 23 23 23 23 23 23 23 23 23 23 23 ################
12f0: 23 23 0a 23 23 23 23 23 23 23 23 23 23 23 23 23 ##.#############
1300: 23 23 23 23 23 23 23 23 23 23 23 23 23 23 23 23 ################
1310: 23 23 23 23 23 23 23 23 23 23 23 23 23 23 23 23 ################
1320: 23 23 23 23 23 23 23 23 23 23 23 23 23 23 23 23 ################
1330: 23 23 23 23 23 23 23 23 23 23 23 23 23 23 23 23 ################
1340: 23 0a 23 23 23 23 23 23 23 23 23 23 23 23 23 23 #.##############
1350: 23 23 23 23 23 23 23 23 23 23 23 23 23 23 23 23 ################
1360: 23 23 23 23 23 23 23 23 23 23 23 23 23 23 23 23 ################
1370: 23 23 23 23 23 23 23 23 23 23 23 23 23 23 23 23 ################
1380: 23 23 23 23 23 23 23 23 23 23 23 23 23 23 23 23 ################
1390: 0a 23 20 53 74 61 72 74 20 62 79 20 67 65 6e 65 .# Start by gene
13a0: 72 61 74 69 6e 67 20 74 68 65 20 22 6d 61 69 6e rating the "main
13b0: 2e 6d 6b 22 20 6d 61 6b 65 66 69 6c 65 20 75 73 .mk" makefile us
13c0: 65 64 20 66 6f 72 20 61 6c 6c 20 75 6e 69 78 20 ed for all unix
13d0: 73 79 73 74 65 6d 73 2e 0a 23 0a 70 75 74 73 20 systems..#.puts
13e0: 22 62 75 69 6c 64 69 6e 67 20 6d 61 69 6e 2e 6d "building main.m
13f0: 6b 22 0a 73 65 74 20 6f 75 74 70 75 74 5f 66 69 k".set output_fi
1400: 6c 65 20 5b 6f 70 65 6e 20 6d 61 69 6e 2e 6d 6b le [open main.mk
1410: 20 77 5d 0a 66 63 6f 6e 66 69 67 75 72 65 20 24 w].fconfigure $
1420: 6f 75 74 70 75 74 5f 66 69 6c 65 20 2d 74 72 61 output_file -tra
1430: 6e 73 6c 61 74 69 6f 6e 20 62 69 6e 61 72 79 0a nslation binary.
1440: 0a 77 72 69 74 65 6c 6e 20 7b 23 0a 23 23 23 23 .writeln {#.####
1450: 23 23 23 23 23 23 23 23 23 23 23 23 23 23 23 23 ################
1460: 23 23 23 23 23 23 23 23 23 23 23 23 23 23 23 23 ################
1470: 23 23 23 23 23 23 23 23 23 23 23 23 23 23 23 23 ################
1480: 23 23 23 23 23 23 23 23 23 23 23 23 23 23 23 23 ################
1490: 23 23 23 23 23 23 23 23 23 23 0a 23 20 57 41 52 ##########.# WAR
14a0: 4e 49 4e 47 3a 20 44 4f 20 4e 4f 54 20 45 44 49 NING: DO NOT EDI
14b0: 54 2c 20 41 55 54 4f 4d 41 54 49 43 41 4c 4c 59 T, AUTOMATICALLY
14c0: 20 47 45 4e 45 52 41 54 45 44 20 46 49 4c 45 20 GENERATED FILE
14d0: 28 53 45 45 20 22 73 72 63 2f 6d 61 6b 65 6d 61 (SEE "src/makema
14e0: 6b 65 2e 74 63 6c 22 29 0a 23 23 23 23 23 23 23 ke.tcl").#######
14f0: 23 23 23 23 23 23 23 23 23 23 23 23 23 23 23 23 ################
1500: 23 23 23 23 23 23 23 23 23 23 23 23 23 23 23 23 ################
1510: 23 23 23 23 23 23 23 23 23 23 23 23 23 23 23 23 ################
1520: 23 23 23 23 23 23 23 23 23 23 23 23 23 23 23 23 ################
1530: 23 23 23 23 23 23 23 0a 23 0a 23 20 54 68 69 73 #######.#.# This
1540: 20 66 69 6c 65 20 69 73 20 61 75 74 6f 6d 61 74 file is automat
1550: 69 63 61 6c 6c 79 20 67 65 6e 65 72 61 74 65 64 ically generated
1560: 2e 20 20 49 6e 73 74 65 61 64 20 6f 66 20 65 64 . Instead of ed
1570: 69 74 69 6e 67 20 74 68 69 73 0a 23 20 66 69 6c iting this.# fil
1580: 65 2c 20 65 64 69 74 20 22 6d 61 6b 65 6d 61 6b e, edit "makemak
1590: 65 2e 74 63 6c 22 20 74 68 65 6e 20 72 75 6e 20 e.tcl" then run
15a0: 22 74 63 6c 73 68 20 6d 61 6b 65 6d 61 6b 65 2e "tclsh makemake.
15b0: 74 63 6c 22 0a 23 20 74 6f 20 72 65 67 65 6e 65 tcl".# to regene
15c0: 72 61 74 65 20 74 68 69 73 20 66 69 6c 65 2e 0a rate this file..
15d0: 23 0a 23 20 54 68 69 73 20 66 69 6c 65 20 69 73 #.# This file is
15e0: 20 69 6e 63 6c 75 64 65 64 20 62 79 20 70 72 69 included by pri
15f0: 6d 61 72 79 20 4d 61 6b 65 66 69 6c 65 2e 0a 23 mary Makefile..#
1600: 0a 0a 58 42 43 43 20 3d 20 24 28 42 43 43 29 20 ..XBCC = $(BCC)
1610: 24 28 42 43 43 46 4c 41 47 53 29 20 24 28 43 46 $(BCCFLAGS) $(CF
1620: 4c 41 47 53 29 0a 58 54 43 43 20 3d 20 24 28 54 LAGS).XTCC = $(T
1630: 43 43 29 20 2d 49 2e 20 2d 49 24 28 53 52 43 44 CC) -I. -I$(SRCD
1640: 49 52 29 20 2d 49 24 28 4f 42 4a 44 49 52 29 20 IR) -I$(OBJDIR)
1650: 24 28 54 43 43 46 4c 41 47 53 29 20 24 28 43 46 $(TCCFLAGS) $(CF
1660: 4c 41 47 53 29 0a 0a 7d 0a 77 72 69 74 65 6c 6e LAGS)..}.writeln
1670: 20 2d 6e 6f 6e 65 77 6c 69 6e 65 20 22 53 52 43 -nonewline "SRC
1680: 20 3d 22 0a 66 6f 72 65 61 63 68 20 73 20 5b 6c =".foreach s [l
1690: 73 6f 72 74 20 24 73 72 63 5d 20 7b 0a 20 20 77 sort $src] {. w
16a0: 72 69 74 65 6c 6e 20 2d 6e 6f 6e 65 77 6c 69 6e riteln -nonewlin
16b0: 65 20 22 20 5c 5c 5c 6e 20 20 5c 24 28 53 52 43 e " \\\n \$(SRC
16c0: 44 49 52 29 2f 24 73 2e 63 22 0a 7d 0a 77 72 69 DIR)/$s.c".}.wri
16d0: 74 65 6c 6e 20 22 5c 6e 22 0a 77 72 69 74 65 6c teln "\n".writel
16e0: 6e 20 2d 6e 6f 6e 65 77 6c 69 6e 65 20 22 45 58 n -nonewline "EX
16f0: 54 52 41 5f 46 49 4c 45 53 20 3d 22 0a 66 6f 72 TRA_FILES =".for
1700: 65 61 63 68 20 73 20 5b 6c 73 6f 72 74 20 24 65 each s [lsort $e
1710: 78 74 72 61 5f 66 69 6c 65 73 5d 20 7b 0a 20 20 xtra_files] {.
1720: 77 72 69 74 65 6c 6e 20 2d 6e 6f 6e 65 77 6c 69 writeln -nonewli
1730: 6e 65 20 22 20 5c 5c 5c 6e 20 20 5c 24 28 53 52 ne " \\\n \$(SR
1740: 43 44 49 52 29 2f 24 73 22 0a 7d 0a 77 72 69 74 CDIR)/$s".}.writ
1750: 65 6c 6e 20 22 5c 6e 22 0a 77 72 69 74 65 6c 6e eln "\n".writeln
1760: 20 2d 6e 6f 6e 65 77 6c 69 6e 65 20 22 54 52 41 -nonewline "TRA
1770: 4e 53 5f 53 52 43 20 3d 22 0a 66 6f 72 65 61 63 NS_SRC =".foreac
1780: 68 20 73 20 5b 6c 73 6f 72 74 20 24 73 72 63 5d h s [lsort $src]
1790: 20 7b 0a 20 20 77 72 69 74 65 6c 6e 20 2d 6e 6f {. writeln -no
17a0: 6e 65 77 6c 69 6e 65 20 22 20 5c 5c 5c 6e 20 20 newline " \\\n
17b0: 5c 24 28 4f 42 4a 44 49 52 29 2f 24 7b 73 7d 5f \$(OBJDIR)/${s}_
17c0: 2e 63 22 0a 7d 0a 77 72 69 74 65 6c 6e 20 22 5c .c".}.writeln "\
17d0: 6e 22 0a 77 72 69 74 65 6c 6e 20 2d 6e 6f 6e 65 n".writeln -none
17e0: 77 6c 69 6e 65 20 22 4f 42 4a 20 3d 22 0a 66 6f wline "OBJ =".fo
17f0: 72 65 61 63 68 20 73 20 5b 6c 73 6f 72 74 20 24 reach s [lsort $
1800: 73 72 63 5d 20 7b 0a 20 20 77 72 69 74 65 6c 6e src] {. writeln
1810: 20 2d 6e 6f 6e 65 77 6c 69 6e 65 20 22 20 5c 5c -nonewline " \\
1820: 5c 6e 20 5c 24 28 4f 42 4a 44 49 52 29 2f 24 73 \n \$(OBJDIR)/$s
1830: 2e 6f 22 0a 7d 0a 77 72 69 74 65 6c 6e 20 22 5c .o".}.writeln "\
1840: 6e 22 0a 77 72 69 74 65 6c 6e 20 22 41 50 50 4e n".writeln "APPN
1850: 41 4d 45 20 3d 20 24 6e 61 6d 65 5c 24 28 45 29 AME = $name\$(E)
1860: 22 0a 77 72 69 74 65 6c 6e 20 22 5c 6e 22 0a 0a ".writeln "\n"..
1870: 77 72 69 74 65 6c 6e 20 5b 73 74 72 69 6e 67 20 writeln [string
1880: 6d 61 70 20 5b 6c 69 73 74 20 5c 0a 20 20 20 20 map [list \.
1890: 3c 3c 3c 53 51 4c 49 54 45 5f 4f 50 54 49 4f 4e <<<SQLITE_OPTION
18a0: 53 3e 3e 3e 20 5b 6a 6f 69 6e 20 24 53 51 4c 49 S>>> [join $SQLI
18b0: 54 45 5f 4f 50 54 49 4f 4e 53 20 22 20 5c 5c 5c TE_OPTIONS " \\\
18c0: 6e 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 n
18d0: 20 20 22 5d 20 5c 0a 20 20 20 20 3c 3c 3c 53 48 "] \. <<<SH
18e0: 45 4c 4c 5f 4f 50 54 49 4f 4e 53 3e 3e 3e 20 5b ELL_OPTIONS>>> [
18f0: 6a 6f 69 6e 20 24 53 48 45 4c 4c 5f 4f 50 54 49 join $SHELL_OPTI
1900: 4f 4e 53 20 22 20 5c 5c 5c 6e 20 20 20 20 20 20 ONS " \\\n
1910: 20 20 20 20 20 20 20 20 20 20 22 5d 20 5c 0a 20 "] \.
1920: 20 20 20 3c 3c 3c 4d 49 4e 49 5a 5f 4f 50 54 49 <<<MINIZ_OPTI
1930: 4f 4e 53 3e 3e 3e 20 5b 6a 6f 69 6e 20 24 4d 49 ONS>>> [join $MI
1940: 4e 49 5a 5f 4f 50 54 49 4f 4e 53 20 22 20 5c 5c NIZ_OPTIONS " \\
1950: 5c 6e 20 20 20 20 20 20 20 20 20 20 20 20 20 20 \n
1960: 20 20 22 5d 5d 20 7b 0a 61 6c 6c 3a 09 24 28 4f "]] {.all:.$(O
1970: 42 4a 44 49 52 29 20 24 28 41 50 50 4e 41 4d 45 BJDIR) $(APPNAME
1980: 29 0a 0a 69 6e 73 74 61 6c 6c 3a 09 24 28 41 50 )..install:.$(AP
1990: 50 4e 41 4d 45 29 0a 09 6d 6b 64 69 72 20 2d 70 PNAME)..mkdir -p
19a0: 20 24 28 49 4e 53 54 41 4c 4c 44 49 52 29 0a 09 $(INSTALLDIR)..
19b0: 6d 76 20 24 28 41 50 50 4e 41 4d 45 29 20 24 28 mv $(APPNAME) $(
19c0: 49 4e 53 54 41 4c 4c 44 49 52 29 0a 0a 63 6f 64 INSTALLDIR)..cod
19d0: 65 63 68 65 63 6b 3a 09 24 28 54 52 41 4e 53 5f echeck:.$(TRANS_
19e0: 53 52 43 29 20 24 28 4f 42 4a 44 49 52 29 2f 63 SRC) $(OBJDIR)/c
19f0: 6f 64 65 63 68 65 63 6b 31 0a 09 24 28 4f 42 4a odecheck1..$(OBJ
1a00: 44 49 52 29 2f 63 6f 64 65 63 68 65 63 6b 31 20 DIR)/codecheck1
1a10: 24 28 54 52 41 4e 53 5f 53 52 43 29 0a 0a 24 28 $(TRANS_SRC)..$(
1a20: 4f 42 4a 44 49 52 29 3a 0a 09 2d 6d 6b 64 69 72 OBJDIR):..-mkdir
1a30: 20 24 28 4f 42 4a 44 49 52 29 0a 0a 24 28 4f 42 $(OBJDIR)..$(OB
1a40: 4a 44 49 52 29 2f 74 72 61 6e 73 6c 61 74 65 3a JDIR)/translate:
1a50: 09 24 28 53 52 43 44 49 52 29 2f 74 72 61 6e 73 .$(SRCDIR)/trans
1a60: 6c 61 74 65 2e 63 0a 09 24 28 58 42 43 43 29 20 late.c..$(XBCC)
1a70: 2d 6f 20 24 28 4f 42 4a 44 49 52 29 2f 74 72 61 -o $(OBJDIR)/tra
1a80: 6e 73 6c 61 74 65 20 24 28 53 52 43 44 49 52 29 nslate $(SRCDIR)
1a90: 2f 74 72 61 6e 73 6c 61 74 65 2e 63 0a 0a 24 28 /translate.c..$(
1aa0: 4f 42 4a 44 49 52 29 2f 6d 61 6b 65 68 65 61 64 OBJDIR)/makehead
1ab0: 65 72 73 3a 09 24 28 53 52 43 44 49 52 29 2f 6d ers:.$(SRCDIR)/m
1ac0: 61 6b 65 68 65 61 64 65 72 73 2e 63 0a 09 24 28 akeheaders.c..$(
1ad0: 58 42 43 43 29 20 2d 6f 20 24 28 4f 42 4a 44 49 XBCC) -o $(OBJDI
1ae0: 52 29 2f 6d 61 6b 65 68 65 61 64 65 72 73 20 24 R)/makeheaders $
1af0: 28 53 52 43 44 49 52 29 2f 6d 61 6b 65 68 65 61 (SRCDIR)/makehea
1b00: 64 65 72 73 2e 63 0a 0a 24 28 4f 42 4a 44 49 52 ders.c..$(OBJDIR
1b10: 29 2f 6d 6b 69 6e 64 65 78 3a 09 24 28 53 52 43 )/mkindex:.$(SRC
1b20: 44 49 52 29 2f 6d 6b 69 6e 64 65 78 2e 63 0a 09 DIR)/mkindex.c..
1b30: 24 28 58 42 43 43 29 20 2d 6f 20 24 28 4f 42 4a $(XBCC) -o $(OBJ
1b40: 44 49 52 29 2f 6d 6b 69 6e 64 65 78 20 24 28 53 DIR)/mkindex $(S
1b50: 52 43 44 49 52 29 2f 6d 6b 69 6e 64 65 78 2e 63 RCDIR)/mkindex.c
1b60: 0a 0a 24 28 4f 42 4a 44 49 52 29 2f 6d 6b 62 75 ..$(OBJDIR)/mkbu
1b70: 69 6c 74 69 6e 3a 09 24 28 53 52 43 44 49 52 29 iltin:.$(SRCDIR)
1b80: 2f 6d 6b 62 75 69 6c 74 69 6e 2e 63 0a 09 24 28 /mkbuiltin.c..$(
1b90: 58 42 43 43 29 20 2d 6f 20 24 28 4f 42 4a 44 49 XBCC) -o $(OBJDI
1ba0: 52 29 2f 6d 6b 62 75 69 6c 74 69 6e 20 24 28 53 R)/mkbuiltin $(S
1bb0: 52 43 44 49 52 29 2f 6d 6b 62 75 69 6c 74 69 6e RCDIR)/mkbuiltin
1bc0: 2e 63 0a 0a 24 28 4f 42 4a 44 49 52 29 2f 6d 6b .c..$(OBJDIR)/mk
1bd0: 76 65 72 73 69 6f 6e 3a 09 24 28 53 52 43 44 49 version:.$(SRCDI
1be0: 52 29 2f 6d 6b 76 65 72 73 69 6f 6e 2e 63 0a 09 R)/mkversion.c..
1bf0: 24 28 58 42 43 43 29 20 2d 6f 20 24 28 4f 42 4a $(XBCC) -o $(OBJ
1c00: 44 49 52 29 2f 6d 6b 76 65 72 73 69 6f 6e 20 24 DIR)/mkversion $
1c10: 28 53 52 43 44 49 52 29 2f 6d 6b 76 65 72 73 69 (SRCDIR)/mkversi
1c20: 6f 6e 2e 63 0a 0a 24 28 4f 42 4a 44 49 52 29 2f on.c..$(OBJDIR)/
1c30: 6d 6b 63 73 73 3a 09 24 28 53 52 43 44 49 52 29 mkcss:.$(SRCDIR)
1c40: 2f 6d 6b 63 73 73 2e 63 0a 09 24 28 58 42 43 43 /mkcss.c..$(XBCC
1c50: 29 20 2d 6f 20 24 28 4f 42 4a 44 49 52 29 2f 6d ) -o $(OBJDIR)/m
1c60: 6b 63 73 73 20 24 28 53 52 43 44 49 52 29 2f 6d kcss $(SRCDIR)/m
1c70: 6b 63 73 73 2e 63 0a 0a 24 28 4f 42 4a 44 49 52 kcss.c..$(OBJDIR
1c80: 29 2f 63 6f 64 65 63 68 65 63 6b 31 3a 09 24 28 )/codecheck1:.$(
1c90: 53 52 43 44 49 52 29 2f 63 6f 64 65 63 68 65 63 SRCDIR)/codechec
1ca0: 6b 31 2e 63 0a 09 24 28 58 42 43 43 29 20 2d 6f k1.c..$(XBCC) -o
1cb0: 20 24 28 4f 42 4a 44 49 52 29 2f 63 6f 64 65 63 $(OBJDIR)/codec
1cc0: 68 65 63 6b 31 20 24 28 53 52 43 44 49 52 29 2f heck1 $(SRCDIR)/
1cd0: 63 6f 64 65 63 68 65 63 6b 31 2e 63 0a 0a 23 20 codecheck1.c..#
1ce0: 52 75 6e 20 74 68 65 20 74 65 73 74 20 73 75 69 Run the test sui
1cf0: 74 65 2e 0a 23 20 4f 74 68 65 72 20 66 6c 61 67 te..# Other flag
1d00: 73 20 74 68 61 74 20 63 61 6e 20 62 65 20 69 6e s that can be in
1d10: 63 6c 75 64 65 64 20 69 6e 20 54 45 53 54 46 4c cluded in TESTFL
1d20: 41 47 53 20 61 72 65 3a 0a 23 0a 23 20 20 2d 68 AGS are:.#.# -h
1d30: 61 6c 74 20 20 20 20 20 53 74 6f 70 20 74 65 73 alt Stop tes
1d40: 74 69 6e 67 20 61 66 74 65 72 20 74 68 65 20 66 ting after the f
1d50: 69 72 73 74 20 66 61 69 6c 65 64 20 74 65 73 74 irst failed test
1d60: 0a 23 20 20 2d 6b 65 65 70 20 20 20 20 20 4b 65 .# -keep Ke
1d70: 65 70 20 74 68 65 20 74 65 6d 70 6f 72 61 72 79 ep the temporary
1d80: 20 77 6f 72 6b 73 70 61 63 65 20 66 6f 72 20 64 workspace for d
1d90: 65 62 75 67 67 69 6e 67 0a 23 20 20 2d 70 72 6f ebugging.# -pro
1da0: 74 20 20 20 20 20 57 72 69 74 65 20 61 20 64 65 t Write a de
1db0: 74 61 69 6c 65 64 20 6c 6f 67 20 6f 66 20 74 68 tailed log of th
1dc0: 65 20 74 65 73 74 73 20 74 6f 20 74 68 65 20 66 e tests to the f
1dd0: 69 6c 65 20 2e 2f 70 72 6f 74 0a 23 20 20 2d 76 ile ./prot.# -v
1de0: 65 72 62 6f 73 65 20 20 49 6e 63 6c 75 64 65 20 erbose Include
1df0: 65 76 65 6e 20 6d 6f 72 65 20 64 65 74 61 69 6c even more detail
1e00: 73 20 69 6e 20 74 68 65 20 6f 75 74 70 75 74 0a s in the output.
1e10: 23 20 20 2d 71 75 69 65 74 20 20 20 20 48 69 64 # -quiet Hid
1e20: 65 20 6d 6f 73 74 20 6f 75 74 70 75 74 20 66 72 e most output fr
1e30: 6f 6d 20 74 68 65 20 74 65 72 6d 69 6e 61 6c 0a om the terminal.
1e40: 23 20 20 2d 73 74 72 69 63 74 20 20 20 54 72 65 # -strict Tre
1e50: 61 74 20 6b 6e 6f 77 6e 20 62 75 67 73 20 61 73 at known bugs as
1e60: 20 66 61 69 6c 75 72 65 73 0a 23 0a 23 20 54 45 failures.#.# TE
1e70: 53 54 46 4c 41 47 53 20 63 61 6e 20 61 6c 73 6f STFLAGS can also
1e80: 20 69 6e 63 6c 75 64 65 20 6e 61 6d 65 73 20 6f include names o
1e90: 66 20 73 70 65 63 69 66 69 63 20 74 65 73 74 20 f specific test
1ea0: 66 69 6c 65 73 20 74 6f 20 6c 69 6d 69 74 0a 23 files to limit.#
1eb0: 20 74 68 65 20 72 75 6e 20 74 6f 20 6a 75 73 74 the run to just
1ec0: 20 74 68 6f 73 65 20 74 65 73 74 20 63 61 73 65 those test case
1ed0: 73 2e 0a 23 0a 74 65 73 74 3a 09 24 28 4f 42 4a s..#.test:.$(OBJ
1ee0: 44 49 52 29 20 24 28 41 50 50 4e 41 4d 45 29 0a DIR) $(APPNAME).
1ef0: 09 24 28 54 43 4c 53 48 29 20 24 28 53 52 43 44 .$(TCLSH) $(SRCD
1f00: 49 52 29 2f 2e 2e 2f 74 65 73 74 2f 74 65 73 74 IR)/../test/test
1f10: 65 72 2e 74 63 6c 20 24 28 41 50 50 4e 41 4d 45 er.tcl $(APPNAME
1f20: 29 20 2d 71 75 69 65 74 20 24 28 54 45 53 54 46 ) -quiet $(TESTF
1f30: 4c 41 47 53 29 0a 0a 24 28 4f 42 4a 44 49 52 29 LAGS)..$(OBJDIR)
1f40: 2f 56 45 52 53 49 4f 4e 2e 68 3a 09 24 28 53 52 /VERSION.h:.$(SR
1f50: 43 44 49 52 29 2f 2e 2e 2f 6d 61 6e 69 66 65 73 CDIR)/../manifes
1f60: 74 2e 75 75 69 64 20 24 28 53 52 43 44 49 52 29 t.uuid $(SRCDIR)
1f70: 2f 2e 2e 2f 6d 61 6e 69 66 65 73 74 20 24 28 53 /../manifest $(S
1f80: 52 43 44 49 52 29 2f 2e 2e 2f 56 45 52 53 49 4f RCDIR)/../VERSIO
1f90: 4e 20 24 28 4f 42 4a 44 49 52 29 2f 6d 6b 76 65 N $(OBJDIR)/mkve
1fa0: 72 73 69 6f 6e 0a 09 24 28 4f 42 4a 44 49 52 29 rsion..$(OBJDIR)
1fb0: 2f 6d 6b 76 65 72 73 69 6f 6e 20 24 28 53 52 43 /mkversion $(SRC
1fc0: 44 49 52 29 2f 2e 2e 2f 6d 61 6e 69 66 65 73 74 DIR)/../manifest
1fd0: 2e 75 75 69 64 20 5c 0a 09 09 24 28 53 52 43 44 .uuid \...$(SRCD
1fe0: 49 52 29 2f 2e 2e 2f 6d 61 6e 69 66 65 73 74 20 IR)/../manifest
1ff0: 5c 0a 09 09 24 28 53 52 43 44 49 52 29 2f 2e 2e \...$(SRCDIR)/..
2000: 2f 56 45 52 53 49 4f 4e 20 3e 24 28 4f 42 4a 44 /VERSION >$(OBJD
2010: 49 52 29 2f 56 45 52 53 49 4f 4e 2e 68 0a 0a 24 IR)/VERSION.h..$
2020: 28 4f 42 4a 44 49 52 29 2f 64 65 66 61 75 6c 74 (OBJDIR)/default
2030: 5f 63 73 73 2e 68 3a 09 24 28 53 52 43 44 49 52 _css.h:.$(SRCDIR
2040: 29 2f 64 65 66 61 75 6c 74 5f 63 73 73 2e 74 78 )/default_css.tx
2050: 74 20 24 28 4f 42 4a 44 49 52 29 2f 6d 6b 63 73 t $(OBJDIR)/mkcs
2060: 73 0a 09 24 28 4f 42 4a 44 49 52 29 2f 6d 6b 63 s..$(OBJDIR)/mkc
2070: 73 73 20 24 28 53 52 43 44 49 52 29 2f 64 65 66 ss $(SRCDIR)/def
2080: 61 75 6c 74 5f 63 73 73 2e 74 78 74 20 24 28 4f ault_css.txt $(O
2090: 42 4a 44 49 52 29 2f 64 65 66 61 75 6c 74 5f 63 BJDIR)/default_c
20a0: 73 73 2e 68 0a 0a 23 20 53 65 74 75 70 20 74 68 ss.h..# Setup th
20b0: 65 20 6f 70 74 69 6f 6e 73 20 75 73 65 64 20 74 e options used t
20c0: 6f 20 63 6f 6d 70 69 6c 65 20 74 68 65 20 69 6e o compile the in
20d0: 63 6c 75 64 65 64 20 53 51 4c 69 74 65 20 6c 69 cluded SQLite li
20e0: 62 72 61 72 79 2e 0a 53 51 4c 49 54 45 5f 4f 50 brary..SQLITE_OP
20f0: 54 49 4f 4e 53 20 3d 20 3c 3c 3c 53 51 4c 49 54 TIONS = <<<SQLIT
2100: 45 5f 4f 50 54 49 4f 4e 53 3e 3e 3e 0a 0a 23 20 E_OPTIONS>>>..#
2110: 53 65 74 75 70 20 74 68 65 20 6f 70 74 69 6f 6e Setup the option
2120: 73 20 75 73 65 64 20 74 6f 20 63 6f 6d 70 69 6c s used to compil
2130: 65 20 74 68 65 20 69 6e 63 6c 75 64 65 64 20 53 e the included S
2140: 51 4c 69 74 65 20 73 68 65 6c 6c 2e 0a 53 48 45 QLite shell..SHE
2150: 4c 4c 5f 4f 50 54 49 4f 4e 53 20 3d 20 3c 3c 3c LL_OPTIONS = <<<
2160: 53 48 45 4c 4c 5f 4f 50 54 49 4f 4e 53 3e 3e 3e SHELL_OPTIONS>>>
2170: 0a 0a 23 20 53 65 74 75 70 20 74 68 65 20 6f 70 ..# Setup the op
2180: 74 69 6f 6e 73 20 75 73 65 64 20 74 6f 20 63 6f tions used to co
2190: 6d 70 69 6c 65 20 74 68 65 20 69 6e 63 6c 75 64 mpile the includ
21a0: 65 64 20 6d 69 6e 69 7a 20 6c 69 62 72 61 72 79 ed miniz library
21b0: 2e 0a 4d 49 4e 49 5a 5f 4f 50 54 49 4f 4e 53 20 ..MINIZ_OPTIONS
21c0: 3d 20 3c 3c 3c 4d 49 4e 49 5a 5f 4f 50 54 49 4f = <<<MINIZ_OPTIO
21d0: 4e 53 3e 3e 3e 0a 0a 23 20 54 68 65 20 55 53 45 NS>>>..# The USE
21e0: 5f 53 59 53 54 45 4d 5f 53 51 4c 49 54 45 20 76 _SYSTEM_SQLITE v
21f0: 61 72 69 61 62 6c 65 20 6d 61 79 20 62 65 20 75 ariable may be u
2200: 6e 64 65 66 69 6e 65 64 2c 20 73 65 74 20 74 6f ndefined, set to
2210: 20 30 2c 20 6f 72 20 73 65 74 0a 23 20 74 6f 20 0, or set.# to
2220: 31 2e 20 49 66 20 69 74 20 69 73 20 73 65 74 20 1. If it is set
2230: 74 6f 20 31 2c 20 74 68 65 6e 20 74 68 65 72 65 to 1, then there
2240: 20 69 73 20 6e 6f 20 6e 65 65 64 20 74 6f 20 62 is no need to b
2250: 75 69 6c 64 20 6f 72 20 6c 69 6e 6b 0a 23 20 74 uild or link.# t
2260: 68 65 20 73 71 6c 69 74 65 33 2e 6f 20 6f 62 6a he sqlite3.o obj
2270: 65 63 74 2e 20 49 6e 73 74 65 61 64 2c 20 74 68 ect. Instead, th
2280: 65 20 73 79 73 74 65 6d 20 53 51 4c 69 74 65 20 e system SQLite
2290: 77 69 6c 6c 20 62 65 20 6c 69 6e 6b 65 64 0a 23 will be linked.#
22a0: 20 75 73 69 6e 67 20 2d 6c 73 71 6c 69 74 65 33 using -lsqlite3
22b0: 2e 0a 53 51 4c 49 54 45 33 5f 4f 42 4a 2e 30 20 ..SQLITE3_OBJ.0
22c0: 3d 20 24 28 4f 42 4a 44 49 52 29 2f 73 71 6c 69 = $(OBJDIR)/sqli
22d0: 74 65 33 2e 6f 0a 53 51 4c 49 54 45 33 5f 4f 42 te3.o.SQLITE3_OB
22e0: 4a 2e 31 20 3d 0a 53 51 4c 49 54 45 33 5f 4f 42 J.1 =.SQLITE3_OB
22f0: 4a 2e 20 20 3d 20 24 28 53 51 4c 49 54 45 33 5f J. = $(SQLITE3_
2300: 4f 42 4a 2e 30 29 0a 0a 23 20 54 68 65 20 46 4f OBJ.0)..# The FO
2310: 53 53 49 4c 5f 45 4e 41 42 4c 45 5f 4d 49 4e 49 SSIL_ENABLE_MINI
2320: 5a 20 76 61 72 69 61 62 6c 65 20 6d 61 79 20 62 Z variable may b
2330: 65 20 75 6e 64 65 66 69 6e 65 64 2c 20 73 65 74 e undefined, set
2340: 20 74 6f 20 30 2c 20 6f 72 0a 23 20 73 65 74 20 to 0, or.# set
2350: 74 6f 20 31 2e 20 20 49 66 20 69 74 20 69 73 20 to 1. If it is
2360: 73 65 74 20 74 6f 20 31 2c 20 74 68 65 20 6d 69 set to 1, the mi
2370: 6e 69 7a 20 6c 69 62 72 61 72 79 20 69 6e 63 6c niz library incl
2380: 75 64 65 64 20 69 6e 20 74 68 65 0a 23 20 73 6f uded in the.# so
2390: 75 72 63 65 20 74 72 65 65 20 73 68 6f 75 6c 64 urce tree should
23a0: 20 62 65 20 75 73 65 64 3b 20 6f 74 68 65 72 77 be used; otherw
23b0: 69 73 65 2c 20 69 74 20 73 68 6f 75 6c 64 20 6e ise, it should n
23c0: 6f 74 2e 0a 4d 49 4e 49 5a 5f 4f 42 4a 2e 30 20 ot..MINIZ_OBJ.0
23d0: 3d 0a 4d 49 4e 49 5a 5f 4f 42 4a 2e 31 20 3d 20 =.MINIZ_OBJ.1 =
23e0: 24 28 4f 42 4a 44 49 52 29 2f 6d 69 6e 69 7a 2e $(OBJDIR)/miniz.
23f0: 6f 0a 4d 49 4e 49 5a 5f 4f 42 4a 2e 20 20 3d 20 o.MINIZ_OBJ. =
2400: 24 28 4d 49 4e 49 5a 5f 4f 42 4a 2e 30 29 0a 0a $(MINIZ_OBJ.0)..
2410: 23 20 54 68 65 20 55 53 45 5f 4c 49 4e 45 4e 4f # The USE_LINENO
2420: 49 53 45 20 76 61 72 69 61 62 6c 65 20 6d 61 79 ISE variable may
2430: 20 62 65 20 75 6e 64 65 66 69 6e 65 64 2c 20 73 be undefined, s
2440: 65 74 20 74 6f 20 30 2c 20 6f 72 20 73 65 74 0a et to 0, or set.
2450: 23 20 74 6f 20 31 2e 20 49 66 20 69 74 20 69 73 # to 1. If it is
2460: 20 73 65 74 20 74 6f 20 30 2c 20 74 68 65 6e 20 set to 0, then
2470: 74 68 65 72 65 20 69 73 20 6e 6f 20 6e 65 65 64 there is no need
2480: 20 74 6f 20 62 75 69 6c 64 20 6f 72 20 6c 69 6e to build or lin
2490: 6b 0a 23 20 74 68 65 20 6c 69 6e 65 6e 6f 69 73 k.# the linenois
24a0: 65 2e 6f 20 6f 62 6a 65 63 74 2e 0a 4c 49 4e 45 e.o object..LINE
24b0: 4e 4f 49 53 45 5f 44 45 46 2e 30 20 3d 0a 4c 49 NOISE_DEF.0 =.LI
24c0: 4e 45 4e 4f 49 53 45 5f 44 45 46 2e 31 20 3d 20 NENOISE_DEF.1 =
24d0: 2d 44 48 41 56 45 5f 4c 49 4e 45 4e 4f 49 53 45 -DHAVE_LINENOISE
24e0: 0a 4c 49 4e 45 4e 4f 49 53 45 5f 44 45 46 2e 20 .LINENOISE_DEF.
24f0: 20 3d 20 24 28 4c 49 4e 45 4e 4f 49 53 45 5f 44 = $(LINENOISE_D
2500: 45 46 2e 30 29 0a 4c 49 4e 45 4e 4f 49 53 45 5f EF.0).LINENOISE_
2510: 4f 42 4a 2e 30 20 3d 0a 4c 49 4e 45 4e 4f 49 53 OBJ.0 =.LINENOIS
2520: 45 5f 4f 42 4a 2e 31 20 3d 20 24 28 4f 42 4a 44 E_OBJ.1 = $(OBJD
2530: 49 52 29 2f 6c 69 6e 65 6e 6f 69 73 65 2e 6f 0a IR)/linenoise.o.
2540: 4c 49 4e 45 4e 4f 49 53 45 5f 4f 42 4a 2e 20 20 LINENOISE_OBJ.
2550: 3d 20 24 28 4c 49 4e 45 4e 4f 49 53 45 5f 4f 42 = $(LINENOISE_OB
2560: 4a 2e 30 29 0a 0a 23 20 54 68 65 20 55 53 45 5f J.0)..# The USE_
2570: 53 45 45 20 76 61 72 69 61 62 6c 65 20 6d 61 79 SEE variable may
2580: 20 62 65 20 75 6e 64 65 66 69 6e 65 64 2c 20 30 be undefined, 0
2590: 20 6f 72 20 31 2e 20 20 49 66 20 75 6e 64 65 66 or 1. If undef
25a0: 69 6e 65 64 20 6f 72 0a 23 20 30 2c 20 6f 72 64 ined or.# 0, ord
25b0: 69 6e 61 72 79 20 53 51 4c 69 74 65 20 69 73 20 inary SQLite is
25c0: 75 73 65 64 2e 20 20 49 66 20 31 2c 20 74 68 65 used. If 1, the
25d0: 6e 20 73 71 6c 69 74 65 33 2d 73 65 65 2e 63 20 n sqlite3-see.c
25e0: 28 6e 6f 74 20 70 61 72 74 20 6f 66 0a 23 20 74 (not part of.# t
25f0: 68 65 20 73 6f 75 72 63 65 20 74 72 65 65 29 20 he source tree)
2600: 69 73 20 75 73 65 64 20 61 6e 64 20 65 78 74 72 is used and extr
2610: 61 20 66 6c 61 67 73 20 61 72 65 20 70 72 6f 76 a flags are prov
2620: 69 64 65 64 20 74 6f 20 65 6e 61 62 6c 65 0a 23 ided to enable.#
2630: 20 74 68 65 20 53 51 4c 69 74 65 20 45 6e 63 72 the SQLite Encr
2640: 79 70 74 69 6f 6e 20 45 78 74 65 6e 73 69 6f 6e yption Extension
2650: 2e 0a 53 51 4c 49 54 45 33 5f 53 52 43 2e 30 20 ..SQLITE3_SRC.0
2660: 3d 20 73 71 6c 69 74 65 33 2e 63 0a 53 51 4c 49 = sqlite3.c.SQLI
2670: 54 45 33 5f 53 52 43 2e 31 20 3d 20 73 71 6c 69 TE3_SRC.1 = sqli
2680: 74 65 33 2d 73 65 65 2e 63 0a 53 51 4c 49 54 45 te3-see.c.SQLITE
2690: 33 5f 53 52 43 2e 20 3d 20 73 71 6c 69 74 65 33 3_SRC. = sqlite3
26a0: 2e 63 0a 53 51 4c 49 54 45 33 5f 53 52 43 20 3d .c.SQLITE3_SRC =
26b0: 20 24 28 53 52 43 44 49 52 29 2f 24 28 53 51 4c $(SRCDIR)/$(SQL
26c0: 49 54 45 33 5f 53 52 43 2e 24 28 55 53 45 5f 53 ITE3_SRC.$(USE_S
26d0: 45 45 29 29 0a 53 51 4c 49 54 45 33 5f 53 48 45 EE)).SQLITE3_SHE
26e0: 4c 4c 5f 53 52 43 2e 30 20 3d 20 73 68 65 6c 6c LL_SRC.0 = shell
26f0: 2e 63 0a 53 51 4c 49 54 45 33 5f 53 48 45 4c 4c .c.SQLITE3_SHELL
2700: 5f 53 52 43 2e 31 20 3d 20 73 68 65 6c 6c 2d 73 _SRC.1 = shell-s
2710: 65 65 2e 63 0a 53 51 4c 49 54 45 33 5f 53 48 45 ee.c.SQLITE3_SHE
2720: 4c 4c 5f 53 52 43 2e 20 3d 20 73 68 65 6c 6c 2e LL_SRC. = shell.
2730: 63 0a 53 51 4c 49 54 45 33 5f 53 48 45 4c 4c 5f c.SQLITE3_SHELL_
2740: 53 52 43 20 3d 20 24 28 53 52 43 44 49 52 29 2f SRC = $(SRCDIR)/
2750: 24 28 53 51 4c 49 54 45 33 5f 53 48 45 4c 4c 5f $(SQLITE3_SHELL_
2760: 53 52 43 2e 24 28 55 53 45 5f 53 45 45 29 29 0a SRC.$(USE_SEE)).
2770: 53 45 45 5f 46 4c 41 47 53 2e 30 20 3d 0a 53 45 SEE_FLAGS.0 =.SE
2780: 45 5f 46 4c 41 47 53 2e 31 20 3d 20 2d 44 53 51 E_FLAGS.1 = -DSQ
2790: 4c 49 54 45 5f 48 41 53 5f 43 4f 44 45 43 20 2d LITE_HAS_CODEC -
27a0: 44 53 51 4c 49 54 45 5f 53 48 45 4c 4c 5f 44 42 DSQLITE_SHELL_DB
27b0: 4b 45 59 5f 50 52 4f 43 3d 66 6f 73 73 69 6c 5f KEY_PROC=fossil_
27c0: 6b 65 79 0a 53 45 45 5f 46 4c 41 47 53 2e 20 3d key.SEE_FLAGS. =
27d0: 0a 53 45 45 5f 46 4c 41 47 53 20 3d 20 24 28 53 .SEE_FLAGS = $(S
27e0: 45 45 5f 46 4c 41 47 53 2e 24 28 55 53 45 5f 53 EE_FLAGS.$(USE_S
27f0: 45 45 29 29 0a 7d 5d 0a 0a 77 72 69 74 65 6c 6e EE)).}]..writeln
2800: 20 5b 73 74 72 69 6e 67 20 6d 61 70 20 5b 6c 69 [string map [li
2810: 73 74 20 3c 3c 3c 4e 45 58 54 5f 4c 49 4e 45 3e st <<<NEXT_LINE>
2820: 3e 3e 20 5c 5c 5d 20 7b 0a 45 58 54 52 41 4f 42 >> \\] {.EXTRAOB
2830: 4a 20 3d 20 3c 3c 3c 4e 45 58 54 5f 4c 49 4e 45 J = <<<NEXT_LINE
2840: 3e 3e 3e 0a 20 24 28 53 51 4c 49 54 45 33 5f 4f >>>. $(SQLITE3_O
2850: 42 4a 2e 24 28 55 53 45 5f 53 59 53 54 45 4d 5f BJ.$(USE_SYSTEM_
2860: 53 51 4c 49 54 45 29 29 20 3c 3c 3c 4e 45 58 54 SQLITE)) <<<NEXT
2870: 5f 4c 49 4e 45 3e 3e 3e 0a 20 24 28 4d 49 4e 49 _LINE>>>. $(MINI
2880: 5a 5f 4f 42 4a 2e 24 28 46 4f 53 53 49 4c 5f 45 Z_OBJ.$(FOSSIL_E
2890: 4e 41 42 4c 45 5f 4d 49 4e 49 5a 29 29 20 3c 3c NABLE_MINIZ)) <<
28a0: 3c 4e 45 58 54 5f 4c 49 4e 45 3e 3e 3e 0a 20 24 <NEXT_LINE>>>. $
28b0: 28 4c 49 4e 45 4e 4f 49 53 45 5f 4f 42 4a 2e 24 (LINENOISE_OBJ.$
28c0: 28 55 53 45 5f 4c 49 4e 45 4e 4f 49 53 45 29 29 (USE_LINENOISE))
28d0: 20 3c 3c 3c 4e 45 58 54 5f 4c 49 4e 45 3e 3e 3e <<<NEXT_LINE>>>
28e0: 0a 20 24 28 4f 42 4a 44 49 52 29 2f 73 68 65 6c . $(OBJDIR)/shel
28f0: 6c 2e 6f 20 3c 3c 3c 4e 45 58 54 5f 4c 49 4e 45 l.o <<<NEXT_LINE
2900: 3e 3e 3e 0a 20 24 28 4f 42 4a 44 49 52 29 2f 74 >>>. $(OBJDIR)/t
2910: 68 2e 6f 20 3c 3c 3c 4e 45 58 54 5f 4c 49 4e 45 h.o <<<NEXT_LINE
2920: 3e 3e 3e 0a 20 24 28 4f 42 4a 44 49 52 29 2f 74 >>>. $(OBJDIR)/t
2930: 68 5f 6c 61 6e 67 2e 6f 20 3c 3c 3c 4e 45 58 54 h_lang.o <<<NEXT
2940: 5f 4c 49 4e 45 3e 3e 3e 0a 20 24 28 4f 42 4a 44 _LINE>>>. $(OBJD
2950: 49 52 29 2f 74 68 5f 74 63 6c 2e 6f 20 3c 3c 3c IR)/th_tcl.o <<<
2960: 4e 45 58 54 5f 4c 49 4e 45 3e 3e 3e 0a 20 24 28 NEXT_LINE>>>. $(
2970: 4f 42 4a 44 49 52 29 2f 63 73 6f 6e 5f 61 6d 61 OBJDIR)/cson_ama
2980: 6c 67 61 6d 61 74 69 6f 6e 2e 6f 0a 7d 5d 0a 0a lgamation.o.}]..
2990: 77 72 69 74 65 6c 6e 20 7b 0a 24 28 41 50 50 4e writeln {.$(APPN
29a0: 41 4d 45 29 3a 09 24 28 4f 42 4a 44 49 52 29 2f AME):.$(OBJDIR)/
29b0: 68 65 61 64 65 72 73 20 24 28 4f 42 4a 44 49 52 headers $(OBJDIR
29c0: 29 2f 63 6f 64 65 63 68 65 63 6b 31 20 24 28 4f )/codecheck1 $(O
29d0: 42 4a 29 20 24 28 45 58 54 52 41 4f 42 4a 29 0a BJ) $(EXTRAOBJ).
29e0: 09 24 28 4f 42 4a 44 49 52 29 2f 63 6f 64 65 63 .$(OBJDIR)/codec
29f0: 68 65 63 6b 31 20 24 28 54 52 41 4e 53 5f 53 52 heck1 $(TRANS_SR
2a00: 43 29 0a 09 24 28 54 43 43 29 20 2d 6f 20 24 28 C)..$(TCC) -o $(
2a10: 41 50 50 4e 41 4d 45 29 20 24 28 4f 42 4a 29 20 APPNAME) $(OBJ)
2a20: 24 28 45 58 54 52 41 4f 42 4a 29 20 24 28 4c 49 $(EXTRAOBJ) $(LI
2a30: 42 29 0a 0a 23 20 54 68 69 73 20 72 75 6c 65 20 B)..# This rule
2a40: 70 72 65 76 65 6e 74 73 20 6d 61 6b 65 20 66 72 prevents make fr
2a50: 6f 6d 20 75 73 69 6e 67 20 69 74 73 20 64 65 66 om using its def
2a60: 61 75 6c 74 20 72 75 6c 65 73 20 74 6f 20 74 72 ault rules to tr
2a70: 79 20 62 75 69 6c 64 0a 23 20 61 6e 20 65 78 65 y build.# an exe
2a80: 63 75 74 61 62 6c 65 20 6e 61 6d 65 64 20 22 6d cutable named "m
2a90: 61 6e 69 66 65 73 74 22 20 6f 75 74 20 6f 66 20 anifest" out of
2aa0: 74 68 65 20 66 69 6c 65 20 6e 61 6d 65 64 20 22 the file named "
2ab0: 6d 61 6e 69 66 65 73 74 2e 63 22 0a 23 0a 24 28 manifest.c".#.$(
2ac0: 53 52 43 44 49 52 29 2f 2e 2e 2f 6d 61 6e 69 66 SRCDIR)/../manif
2ad0: 65 73 74 3a 0a 09 23 20 6e 6f 6f 70 0a 0a 63 6c est:..# noop..cl
2ae0: 65 61 6e 3a 0a 09 72 6d 20 2d 72 66 20 24 28 4f ean:..rm -rf $(O
2af0: 42 4a 44 49 52 29 2f 2a 20 24 28 41 50 50 4e 41 BJDIR)/* $(APPNA
2b00: 4d 45 29 0a 0a 7d 0a 0a 73 65 74 20 6d 68 61 72 ME)..}..set mhar
2b10: 67 73 20 7b 7d 0a 66 6f 72 65 61 63 68 20 73 20 gs {}.foreach s
2b20: 5b 6c 73 6f 72 74 20 24 73 72 63 5d 20 7b 0a 20 [lsort $src] {.
2b30: 20 61 70 70 65 6e 64 20 6d 68 61 72 67 73 20 22 append mhargs "
2b40: 5c 24 28 4f 42 4a 44 49 52 29 2f 24 7b 73 7d 5f \$(OBJDIR)/${s}_
2b50: 2e 63 3a 5c 24 28 4f 42 4a 44 49 52 29 2f 24 73 .c:\$(OBJDIR)/$s
2b60: 2e 68 20 3c 3c 3c 4e 45 58 54 5f 4c 49 4e 45 3e .h <<<NEXT_LINE>
2b70: 3e 3e 22 0a 20 20 73 65 74 20 65 78 74 72 61 5f >>". set extra_
2b80: 68 28 24 73 29 20 7b 20 7d 0a 7d 0a 61 70 70 65 h($s) { }.}.appe
2b90: 6e 64 20 6d 68 61 72 67 73 20 22 5c 24 28 53 52 nd mhargs "\$(SR
2ba0: 43 44 49 52 29 2f 73 71 6c 69 74 65 33 2e 68 20 CDIR)/sqlite3.h
2bb0: 3c 3c 3c 4e 45 58 54 5f 4c 49 4e 45 3e 3e 3e 22 <<<NEXT_LINE>>>"
2bc0: 0a 61 70 70 65 6e 64 20 6d 68 61 72 67 73 20 22 .append mhargs "
2bd0: 5c 24 28 53 52 43 44 49 52 29 2f 74 68 2e 68 20 \$(SRCDIR)/th.h
2be0: 3c 3c 3c 4e 45 58 54 5f 4c 49 4e 45 3e 3e 3e 22 <<<NEXT_LINE>>>"
2bf0: 0a 23 61 70 70 65 6e 64 20 6d 68 61 72 67 73 20 .#append mhargs
2c00: 22 5c 24 28 53 52 43 44 49 52 29 2f 63 73 6f 6e "\$(SRCDIR)/cson
2c10: 5f 61 6d 61 6c 67 61 6d 61 74 69 6f 6e 2e 68 20 _amalgamation.h
2c20: 3c 3c 3c 4e 45 58 54 5f 4c 49 4e 45 3e 3e 3e 22 <<<NEXT_LINE>>>"
2c30: 0a 61 70 70 65 6e 64 20 6d 68 61 72 67 73 20 22 .append mhargs "
2c40: 5c 24 28 4f 42 4a 44 49 52 29 2f 56 45 52 53 49 \$(OBJDIR)/VERSI
2c50: 4f 4e 2e 68 20 22 0a 73 65 74 20 6d 68 61 72 67 ON.h ".set mharg
2c60: 73 20 5b 73 74 72 69 6e 67 20 6d 61 70 20 5b 6c s [string map [l
2c70: 69 73 74 20 3c 3c 3c 4e 45 58 54 5f 4c 49 4e 45 ist <<<NEXT_LINE
2c80: 3e 3e 3e 20 5c 5c 5c 6e 5c 74 5d 20 24 6d 68 61 >>> \\\n\t] $mha
2c90: 72 67 73 5d 0a 77 72 69 74 65 6c 6e 20 22 5c 24 rgs].writeln "\$
2ca0: 28 4f 42 4a 44 49 52 29 2f 70 61 67 65 5f 69 6e (OBJDIR)/page_in
2cb0: 64 65 78 2e 68 3a 20 5c 24 28 54 52 41 4e 53 5f dex.h: \$(TRANS_
2cc0: 53 52 43 29 20 5c 24 28 4f 42 4a 44 49 52 29 2f SRC) \$(OBJDIR)/
2cd0: 6d 6b 69 6e 64 65 78 22 0a 77 72 69 74 65 6c 6e mkindex".writeln
2ce0: 20 22 5c 74 5c 24 28 4f 42 4a 44 49 52 29 2f 6d "\t\$(OBJDIR)/m
2cf0: 6b 69 6e 64 65 78 20 5c 24 28 54 52 41 4e 53 5f kindex \$(TRANS_
2d00: 53 52 43 29 20 3e 5c 24 40 5c 6e 22 0a 0a 77 72 SRC) >\$@\n"..wr
2d10: 69 74 65 6c 6e 20 22 5c 24 28 4f 42 4a 44 49 52 iteln "\$(OBJDIR
2d20: 29 2f 62 75 69 6c 74 69 6e 5f 64 61 74 61 2e 68 )/builtin_data.h
2d30: 3a 20 5c 24 28 4f 42 4a 44 49 52 29 2f 6d 6b 62 : \$(OBJDIR)/mkb
2d40: 75 69 6c 74 69 6e 20 5c 24 28 45 58 54 52 41 5f uiltin \$(EXTRA_
2d50: 46 49 4c 45 53 29 22 0a 77 72 69 74 65 6c 6e 20 FILES)".writeln
2d60: 22 5c 74 5c 24 28 4f 42 4a 44 49 52 29 2f 6d 6b "\t\$(OBJDIR)/mk
2d70: 62 75 69 6c 74 69 6e 20 2d 2d 70 72 65 66 69 78 builtin --prefix
2d80: 20 5c 24 28 53 52 43 44 49 52 29 2f 20 5c 24 28 \$(SRCDIR)/ \$(
2d90: 45 58 54 52 41 5f 46 49 4c 45 53 29 20 3e 5c 24 EXTRA_FILES) >\$
2da0: 40 5c 6e 22 0a 0a 77 72 69 74 65 6c 6e 20 22 5c @\n"..writeln "\
2db0: 24 28 4f 42 4a 44 49 52 29 2f 68 65 61 64 65 72 $(OBJDIR)/header
2dc0: 73 3a 5c 74 5c 24 28 4f 42 4a 44 49 52 29 2f 70 s:\t\$(OBJDIR)/p
2dd0: 61 67 65 5f 69 6e 64 65 78 2e 68 20 5c 24 28 4f age_index.h \$(O
2de0: 42 4a 44 49 52 29 2f 62 75 69 6c 74 69 6e 5f 64 BJDIR)/builtin_d
2df0: 61 74 61 2e 68 20 5c 24 28 4f 42 4a 44 49 52 29 ata.h \$(OBJDIR)
2e00: 2f 64 65 66 61 75 6c 74 5f 63 73 73 2e 68 20 5c /default_css.h \
2e10: 24 28 4f 42 4a 44 49 52 29 2f 6d 61 6b 65 68 65 $(OBJDIR)/makehe
2e20: 61 64 65 72 73 20 5c 24 28 4f 42 4a 44 49 52 29 aders \$(OBJDIR)
2e30: 2f 56 45 52 53 49 4f 4e 2e 68 22 0a 77 72 69 74 /VERSION.h".writ
2e40: 65 6c 6e 20 22 5c 74 5c 24 28 4f 42 4a 44 49 52 eln "\t\$(OBJDIR
2e50: 29 2f 6d 61 6b 65 68 65 61 64 65 72 73 20 24 6d )/makeheaders $m
2e60: 68 61 72 67 73 22 0a 77 72 69 74 65 6c 6e 20 22 hargs".writeln "
2e70: 5c 74 74 6f 75 63 68 20 5c 24 28 4f 42 4a 44 49 \ttouch \$(OBJDI
2e80: 52 29 2f 68 65 61 64 65 72 73 22 0a 77 72 69 74 R)/headers".writ
2e90: 65 6c 6e 20 22 5c 24 28 4f 42 4a 44 49 52 29 2f eln "\$(OBJDIR)/
2ea0: 68 65 61 64 65 72 73 3a 20 4d 61 6b 65 66 69 6c headers: Makefil
2eb0: 65 22 0a 77 72 69 74 65 6c 6e 20 22 5c 24 28 4f e".writeln "\$(O
2ec0: 42 4a 44 49 52 29 2f 6a 73 6f 6e 2e 6f 20 5c 24 BJDIR)/json.o \$
2ed0: 28 4f 42 4a 44 49 52 29 2f 6a 73 6f 6e 5f 61 72 (OBJDIR)/json_ar
2ee0: 74 69 66 61 63 74 2e 6f 20 5c 24 28 4f 42 4a 44 tifact.o \$(OBJD
2ef0: 49 52 29 2f 6a 73 6f 6e 5f 62 72 61 6e 63 68 2e IR)/json_branch.
2f00: 6f 20 5c 24 28 4f 42 4a 44 49 52 29 2f 6a 73 6f o \$(OBJDIR)/jso
2f10: 6e 5f 63 6f 6e 66 69 67 2e 6f 20 5c 24 28 4f 42 n_config.o \$(OB
2f20: 4a 44 49 52 29 2f 6a 73 6f 6e 5f 64 69 66 66 2e JDIR)/json_diff.
2f30: 6f 20 5c 24 28 4f 42 4a 44 49 52 29 2f 6a 73 6f o \$(OBJDIR)/jso
2f40: 6e 5f 64 69 72 2e 6f 20 5c 24 28 4f 42 4a 44 49 n_dir.o \$(OBJDI
2f50: 52 29 2f 6a 73 6f 6e 5f 66 69 6e 66 6f 2e 6f 20 R)/json_finfo.o
2f60: 5c 24 28 4f 42 4a 44 49 52 29 2f 6a 73 6f 6e 5f \$(OBJDIR)/json_
2f70: 6c 6f 67 69 6e 2e 6f 20 5c 24 28 4f 42 4a 44 49 login.o \$(OBJDI
2f80: 52 29 2f 6a 73 6f 6e 5f 71 75 65 72 79 2e 6f 20 R)/json_query.o
2f90: 5c 24 28 4f 42 4a 44 49 52 29 2f 6a 73 6f 6e 5f \$(OBJDIR)/json_
2fa0: 72 65 70 6f 72 74 2e 6f 20 5c 24 28 4f 42 4a 44 report.o \$(OBJD
2fb0: 49 52 29 2f 6a 73 6f 6e 5f 73 74 61 74 75 73 2e IR)/json_status.
2fc0: 6f 20 5c 24 28 4f 42 4a 44 49 52 29 2f 6a 73 6f o \$(OBJDIR)/jso
2fd0: 6e 5f 74 61 67 2e 6f 20 5c 24 28 4f 42 4a 44 49 n_tag.o \$(OBJDI
2fe0: 52 29 2f 6a 73 6f 6e 5f 74 69 6d 65 6c 69 6e 65 R)/json_timeline
2ff0: 2e 6f 20 5c 24 28 4f 42 4a 44 49 52 29 2f 6a 73 .o \$(OBJDIR)/js
3000: 6f 6e 5f 75 73 65 72 2e 6f 20 5c 24 28 4f 42 4a on_user.o \$(OBJ
3010: 44 49 52 29 2f 6a 73 6f 6e 5f 77 69 6b 69 2e 6f DIR)/json_wiki.o
3020: 20 3a 20 5c 24 28 53 52 43 44 49 52 29 2f 6a 73 : \$(SRCDIR)/js
3030: 6f 6e 5f 64 65 74 61 69 6c 2e 68 22 0a 77 72 69 on_detail.h".wri
3040: 74 65 6c 6e 20 22 4d 61 6b 65 66 69 6c 65 3a 22 teln "Makefile:"
3050: 0a 73 65 74 20 65 78 74 72 61 5f 68 28 64 69 73 .set extra_h(dis
3060: 70 61 74 63 68 29 20 22 20 5c 24 28 4f 42 4a 44 patch) " \$(OBJD
3070: 49 52 29 2f 70 61 67 65 5f 69 6e 64 65 78 2e 68 IR)/page_index.h
3080: 20 22 0a 73 65 74 20 65 78 74 72 61 5f 68 28 62 ".set extra_h(b
3090: 75 69 6c 74 69 6e 29 20 22 20 5c 24 28 4f 42 4a uiltin) " \$(OBJ
30a0: 44 49 52 29 2f 62 75 69 6c 74 69 6e 5f 64 61 74 DIR)/builtin_dat
30b0: 61 2e 68 20 22 0a 73 65 74 20 65 78 74 72 61 5f a.h ".set extra_
30c0: 68 28 73 74 79 6c 65 29 20 22 20 5c 24 28 4f 42 h(style) " \$(OB
30d0: 4a 44 49 52 29 2f 64 65 66 61 75 6c 74 5f 63 73 JDIR)/default_cs
30e0: 73 2e 68 20 22 0a 0a 66 6f 72 65 61 63 68 20 73 s.h "..foreach s
30f0: 20 5b 6c 73 6f 72 74 20 24 73 72 63 5d 20 7b 0a [lsort $src] {.
3100: 20 20 77 72 69 74 65 6c 6e 20 22 5c 24 28 4f 42 writeln "\$(OB
3110: 4a 44 49 52 29 2f 24 7b 73 7d 5f 2e 63 3a 5c 74 JDIR)/${s}_.c:\t
3120: 5c 24 28 53 52 43 44 49 52 29 2f 24 73 2e 63 20 \$(SRCDIR)/$s.c
3130: 5c 24 28 4f 42 4a 44 49 52 29 2f 74 72 61 6e 73 \$(OBJDIR)/trans
3140: 6c 61 74 65 22 0a 20 20 77 72 69 74 65 6c 6e 20 late". writeln
3150: 22 5c 74 5c 24 28 4f 42 4a 44 49 52 29 2f 74 72 "\t\$(OBJDIR)/tr
3160: 61 6e 73 6c 61 74 65 20 5c 24 28 53 52 43 44 49 anslate \$(SRCDI
3170: 52 29 2f 24 73 2e 63 20 3e 5c 24 40 5c 6e 22 0a R)/$s.c >\$@\n".
3180: 20 20 77 72 69 74 65 6c 6e 20 22 5c 24 28 4f 42 writeln "\$(OB
3190: 4a 44 49 52 29 2f 24 73 2e 6f 3a 5c 74 5c 24 28 JDIR)/$s.o:\t\$(
31a0: 4f 42 4a 44 49 52 29 2f 24 7b 73 7d 5f 2e 63 20 OBJDIR)/${s}_.c
31b0: 5c 24 28 4f 42 4a 44 49 52 29 2f 24 73 2e 68 24 \$(OBJDIR)/$s.h$
31c0: 65 78 74 72 61 5f 68 28 24 73 29 5c 24 28 53 52 extra_h($s)\$(SR
31d0: 43 44 49 52 29 2f 63 6f 6e 66 69 67 2e 68 22 0a CDIR)/config.h".
31e0: 20 20 77 72 69 74 65 6c 6e 20 22 5c 74 5c 24 28 writeln "\t\$(
31f0: 58 54 43 43 29 20 2d 6f 20 5c 24 28 4f 42 4a 44 XTCC) -o \$(OBJD
3200: 49 52 29 2f 24 73 2e 6f 20 2d 63 20 5c 24 28 4f IR)/$s.o -c \$(O
3210: 42 4a 44 49 52 29 2f 24 7b 73 7d 5f 2e 63 5c 6e BJDIR)/${s}_.c\n
3220: 22 0a 20 20 77 72 69 74 65 6c 6e 20 22 5c 24 28 ". writeln "\$(
3230: 4f 42 4a 44 49 52 29 2f 24 73 2e 68 3a 5c 74 5c OBJDIR)/$s.h:\t\
3240: 24 28 4f 42 4a 44 49 52 29 2f 68 65 61 64 65 72 $(OBJDIR)/header
3250: 73 5c 6e 22 0a 7d 0a 0a 77 72 69 74 65 6c 6e 20 s\n".}..writeln
3260: 22 5c 24 28 4f 42 4a 44 49 52 29 2f 73 71 6c 69 "\$(OBJDIR)/sqli
3270: 74 65 33 2e 6f 3a 5c 74 5c 24 28 53 51 4c 49 54 te3.o:\t\$(SQLIT
3280: 45 33 5f 53 52 43 29 22 0a 77 72 69 74 65 6c 6e E3_SRC)".writeln
3290: 20 22 5c 74 5c 24 28 58 54 43 43 29 20 5c 24 28 "\t\$(XTCC) \$(
32a0: 53 51 4c 49 54 45 5f 4f 50 54 49 4f 4e 53 29 20 SQLITE_OPTIONS)
32b0: 5c 24 28 53 51 4c 49 54 45 5f 43 46 4c 41 47 53 \$(SQLITE_CFLAGS
32c0: 29 20 5c 24 28 53 45 45 5f 46 4c 41 47 53 29 20 ) \$(SEE_FLAGS)
32d0: 5c 5c 22 0a 77 72 69 74 65 6c 6e 20 22 5c 74 5c \\".writeln "\t\
32e0: 74 2d 63 20 5c 24 28 53 51 4c 49 54 45 33 5f 53 t-c \$(SQLITE3_S
32f0: 52 43 29 20 2d 6f 20 5c 24 40 22 0a 0a 77 72 69 RC) -o \$@"..wri
3300: 74 65 6c 6e 20 22 5c 24 28 4f 42 4a 44 49 52 29 teln "\$(OBJDIR)
3310: 2f 73 68 65 6c 6c 2e 6f 3a 5c 74 5c 24 28 53 51 /shell.o:\t\$(SQ
3320: 4c 49 54 45 33 5f 53 48 45 4c 4c 5f 53 52 43 29 LITE3_SHELL_SRC)
3330: 20 5c 24 28 53 52 43 44 49 52 29 2f 73 71 6c 69 \$(SRCDIR)/sqli
3340: 74 65 33 2e 68 22 0a 77 72 69 74 65 6c 6e 20 22 te3.h".writeln "
3350: 5c 74 5c 24 28 58 54 43 43 29 20 5c 24 28 53 48 \t\$(XTCC) \$(SH
3360: 45 4c 4c 5f 4f 50 54 49 4f 4e 53 29 20 5c 24 28 ELL_OPTIONS) \$(
3370: 53 48 45 4c 4c 5f 43 46 4c 41 47 53 29 20 5c 24 SHELL_CFLAGS) \$
3380: 28 53 45 45 5f 46 4c 41 47 53 29 20 5c 24 28 4c (SEE_FLAGS) \$(L
3390: 49 4e 45 4e 4f 49 53 45 5f 44 45 46 2e 5c 24 28 INENOISE_DEF.\$(
33a0: 55 53 45 5f 4c 49 4e 45 4e 4f 49 53 45 29 29 20 USE_LINENOISE))
33b0: 2d 63 20 5c 24 28 53 51 4c 49 54 45 33 5f 53 48 -c \$(SQLITE3_SH
33c0: 45 4c 4c 5f 53 52 43 29 20 2d 6f 20 5c 24 40 5c ELL_SRC) -o \$@\
33d0: 6e 22 0a 0a 77 72 69 74 65 6c 6e 20 22 5c 24 28 n"..writeln "\$(
33e0: 4f 42 4a 44 49 52 29 2f 6c 69 6e 65 6e 6f 69 73 OBJDIR)/linenois
33f0: 65 2e 6f 3a 5c 74 5c 24 28 53 52 43 44 49 52 29 e.o:\t\$(SRCDIR)
3400: 2f 6c 69 6e 65 6e 6f 69 73 65 2e 63 20 5c 24 28 /linenoise.c \$(
3410: 53 52 43 44 49 52 29 2f 6c 69 6e 65 6e 6f 69 73 SRCDIR)/linenois
3420: 65 2e 68 22 0a 77 72 69 74 65 6c 6e 20 22 5c 74 e.h".writeln "\t
3430: 5c 24 28 58 54 43 43 29 20 2d 63 20 5c 24 28 53 \$(XTCC) -c \$(S
3440: 52 43 44 49 52 29 2f 6c 69 6e 65 6e 6f 69 73 65 RCDIR)/linenoise
3450: 2e 63 20 2d 6f 20 5c 24 40 5c 6e 22 0a 0a 77 72 .c -o \$@\n"..wr
3460: 69 74 65 6c 6e 20 22 5c 24 28 4f 42 4a 44 49 52 iteln "\$(OBJDIR
3470: 29 2f 74 68 2e 6f 3a 5c 74 5c 24 28 53 52 43 44 )/th.o:\t\$(SRCD
3480: 49 52 29 2f 74 68 2e 63 22 0a 77 72 69 74 65 6c IR)/th.c".writel
3490: 6e 20 22 5c 74 5c 24 28 58 54 43 43 29 20 2d 63 n "\t\$(XTCC) -c
34a0: 20 5c 24 28 53 52 43 44 49 52 29 2f 74 68 2e 63 \$(SRCDIR)/th.c
34b0: 20 2d 6f 20 5c 24 40 5c 6e 22 0a 0a 77 72 69 74 -o \$@\n"..writ
34c0: 65 6c 6e 20 22 5c 24 28 4f 42 4a 44 49 52 29 2f eln "\$(OBJDIR)/
34d0: 74 68 5f 6c 61 6e 67 2e 6f 3a 5c 74 5c 24 28 53 th_lang.o:\t\$(S
34e0: 52 43 44 49 52 29 2f 74 68 5f 6c 61 6e 67 2e 63 RCDIR)/th_lang.c
34f0: 22 0a 77 72 69 74 65 6c 6e 20 22 5c 74 5c 24 28 ".writeln "\t\$(
3500: 58 54 43 43 29 20 2d 63 20 5c 24 28 53 52 43 44 XTCC) -c \$(SRCD
3510: 49 52 29 2f 74 68 5f 6c 61 6e 67 2e 63 20 2d 6f IR)/th_lang.c -o
3520: 20 5c 24 40 5c 6e 22 0a 0a 77 72 69 74 65 6c 6e \$@\n"..writeln
3530: 20 22 5c 24 28 4f 42 4a 44 49 52 29 2f 74 68 5f "\$(OBJDIR)/th_
3540: 74 63 6c 2e 6f 3a 5c 74 5c 24 28 53 52 43 44 49 tcl.o:\t\$(SRCDI
3550: 52 29 2f 74 68 5f 74 63 6c 2e 63 22 0a 77 72 69 R)/th_tcl.c".wri
3560: 74 65 6c 6e 20 22 5c 74 5c 24 28 58 54 43 43 29 teln "\t\$(XTCC)
3570: 20 2d 63 20 5c 24 28 53 52 43 44 49 52 29 2f 74 -c \$(SRCDIR)/t
3580: 68 5f 74 63 6c 2e 63 20 2d 6f 20 5c 24 40 5c 6e h_tcl.c -o \$@\n
3590: 22 0a 0a 77 72 69 74 65 6c 6e 20 7b 0a 24 28 4f "..writeln {.$(O
35a0: 42 4a 44 49 52 29 2f 6d 69 6e 69 7a 2e 6f 3a 09 BJDIR)/miniz.o:.
35b0: 24 28 53 52 43 44 49 52 29 2f 6d 69 6e 69 7a 2e $(SRCDIR)/miniz.
35c0: 63 0a 09 24 28 58 54 43 43 29 20 24 28 4d 49 4e c..$(XTCC) $(MIN
35d0: 49 5a 5f 4f 50 54 49 4f 4e 53 29 20 2d 63 20 24 IZ_OPTIONS) -c $
35e0: 28 53 52 43 44 49 52 29 2f 6d 69 6e 69 7a 2e 63 (SRCDIR)/miniz.c
35f0: 20 2d 6f 20 24 40 0a 0a 24 28 4f 42 4a 44 49 52 -o $@..$(OBJDIR
3600: 29 2f 63 73 6f 6e 5f 61 6d 61 6c 67 61 6d 61 74 )/cson_amalgamat
3610: 69 6f 6e 2e 6f 3a 20 24 28 53 52 43 44 49 52 29 ion.o: $(SRCDIR)
3620: 2f 63 73 6f 6e 5f 61 6d 61 6c 67 61 6d 61 74 69 /cson_amalgamati
3630: 6f 6e 2e 63 0a 09 24 28 58 54 43 43 29 20 2d 63 on.c..$(XTCC) -c
3640: 20 24 28 53 52 43 44 49 52 29 2f 63 73 6f 6e 5f $(SRCDIR)/cson_
3650: 61 6d 61 6c 67 61 6d 61 74 69 6f 6e 2e 63 20 2d amalgamation.c -
3660: 6f 20 24 40 0a 0a 23 0a 23 20 54 68 65 20 6c 69 o $@..#.# The li
3670: 73 74 20 6f 66 20 61 6c 6c 20 74 68 65 20 74 61 st of all the ta
3680: 72 67 65 74 73 20 74 68 61 74 20 64 6f 20 6e 6f rgets that do no
3690: 74 20 63 6f 72 72 65 73 70 6f 6e 64 20 74 6f 20 t correspond to
36a0: 72 65 61 6c 20 66 69 6c 65 73 2e 20 54 68 69 73 real files. This
36b0: 20 73 74 6f 70 73 0a 23 20 27 6d 61 6b 65 27 20 stops.# 'make'
36c0: 66 72 6f 6d 20 67 65 74 74 69 6e 67 20 63 6f 6e from getting con
36d0: 66 75 73 65 64 20 77 68 65 6e 20 73 6f 6d 65 6f fused when someo
36e0: 6e 65 20 6d 61 6b 65 73 20 61 6e 20 65 72 72 6f ne makes an erro
36f0: 72 20 69 6e 20 61 20 72 75 6c 65 2e 0a 23 0a 0a r in a rule..#..
3700: 2e 50 48 4f 4e 59 3a 20 61 6c 6c 20 69 6e 73 74 .PHONY: all inst
3710: 61 6c 6c 20 74 65 73 74 20 63 6c 65 61 6e 0a 7d all test clean.}
3720: 0a 0a 63 6c 6f 73 65 20 24 6f 75 74 70 75 74 5f ..close $output_
3730: 66 69 6c 65 0a 23 0a 23 20 45 6e 64 20 6f 66 20 file.#.# End of
3740: 74 68 65 20 6d 61 69 6e 2e 6d 6b 20 6f 75 74 70 the main.mk outp
3750: 75 74 0a 23 23 23 23 23 23 23 23 23 23 23 23 23 ut.#############
3760: 23 23 23 23 23 23 23 23 23 23 23 23 23 23 23 23 ################
3770: 23 23 23 23 23 23 23 23 23 23 23 23 23 23 23 23 ################
3780: 23 23 23 23 23 23 23 23 23 23 23 23 23 23 23 23 ################
3790: 23 23 23 23 23 23 23 23 23 23 23 23 23 23 23 23 ################
37a0: 23 0a 23 23 23 23 23 23 23 23 23 23 23 23 23 23 #.##############
37b0: 23 23 23 23 23 23 23 23 23 23 23 23 23 23 23 23 ################
37c0: 23 23 23 23 23 23 23 23 23 23 23 23 23 23 23 23 ################
37d0: 23 23 23 23 23 23 23 23 23 23 23 23 23 23 23 23 ################
37e0: 23 23 23 23 23 23 23 23 23 23 23 23 23 23 23 23 ################
37f0: 0a 23 23 23 23 23 23 23 23 23 23 23 23 23 23 23 .###############
3800: 23 23 23 23 23 23 23 23 23 23 23 23 23 23 23 23 ################
3810: 23 23 23 23 23 23 23 23 23 23 23 23 23 23 23 23 ################
3820: 23 23 23 23 23 23 23 23 23 23 23 23 23 23 23 23 ################
3830: 23 23 23 23 23 23 23 23 23 23 23 23 23 23 23 0a ###############.
3840: 23 20 42 65 67 69 6e 20 77 69 6e 2f 4d 61 6b 65 # Begin win/Make
3850: 66 69 6c 65 2e 6d 69 6e 67 77 20 6f 75 74 70 75 file.mingw outpu
3860: 74 0a 23 0a 70 75 74 73 20 22 62 75 69 6c 64 69 t.#.puts "buildi
3870: 6e 67 20 2e 2e 2f 77 69 6e 2f 4d 61 6b 65 66 69 ng ../win/Makefi
3880: 6c 65 2e 6d 69 6e 67 77 22 0a 73 65 74 20 6f 75 le.mingw".set ou
3890: 74 70 75 74 5f 66 69 6c 65 20 5b 6f 70 65 6e 20 tput_file [open
38a0: 2e 2e 2f 77 69 6e 2f 4d 61 6b 65 66 69 6c 65 2e ../win/Makefile.
38b0: 6d 69 6e 67 77 20 77 5d 0a 66 63 6f 6e 66 69 67 mingw w].fconfig
38c0: 75 72 65 20 24 6f 75 74 70 75 74 5f 66 69 6c 65 ure $output_file
38d0: 20 2d 74 72 61 6e 73 6c 61 74 69 6f 6e 20 62 69 -translation bi
38e0: 6e 61 72 79 0a 0a 77 72 69 74 65 6c 6e 20 7b 23 nary..writeln {#
38f0: 21 2f 75 73 72 2f 62 69 6e 2f 6d 61 6b 65 0a 23 !/usr/bin/make.#
3900: 0a 23 23 23 23 23 23 23 23 23 23 23 23 23 23 23 .###############
3910: 23 23 23 23 23 23 23 23 23 23 23 23 23 23 23 23 ################
3920: 23 23 23 23 23 23 23 23 23 23 23 23 23 23 23 23 ################
3930: 23 23 23 23 23 23 23 23 23 23 23 23 23 23 23 23 ################
3940: 23 23 23 23 23 23 23 23 23 23 23 23 23 23 23 0a ###############.
3950: 23 20 57 41 52 4e 49 4e 47 3a 20 44 4f 20 4e 4f # WARNING: DO NO
3960: 54 20 45 44 49 54 2c 20 41 55 54 4f 4d 41 54 49 T EDIT, AUTOMATI
3970: 43 41 4c 4c 59 20 47 45 4e 45 52 41 54 45 44 20 CALLY GENERATED
3980: 46 49 4c 45 20 28 53 45 45 20 22 73 72 63 2f 6d FILE (SEE "src/m
3990: 61 6b 65 6d 61 6b 65 2e 74 63 6c 22 29 0a 23 23 akemake.tcl").##
39a0: 23 23 23 23 23 23 23 23 23 23 23 23 23 23 23 23 ################
39b0: 23 23 23 23 23 23 23 23 23 23 23 23 23 23 23 23 ################
39c0: 23 23 23 23 23 23 23 23 23 23 23 23 23 23 23 23 ################
39d0: 23 23 23 23 23 23 23 23 23 23 23 23 23 23 23 23 ################
39e0: 23 23 23 23 23 23 23 23 23 23 23 23 0a 23 0a 23 ############.#.#
39f0: 20 54 68 69 73 20 66 69 6c 65 20 69 73 20 61 75 This file is au
3a00: 74 6f 6d 61 74 69 63 61 6c 6c 79 20 67 65 6e 65 tomatically gene
3a10: 72 61 74 65 64 2e 20 20 49 6e 73 74 65 61 64 20 rated. Instead
3a20: 6f 66 20 65 64 69 74 69 6e 67 20 74 68 69 73 0a of editing this.
3a30: 23 20 66 69 6c 65 2c 20 65 64 69 74 20 22 6d 61 # file, edit "ma
3a40: 6b 65 6d 61 6b 65 2e 74 63 6c 22 20 74 68 65 6e kemake.tcl" then
3a50: 20 72 75 6e 20 22 74 63 6c 73 68 20 6d 61 6b 65 run "tclsh make
3a60: 6d 61 6b 65 2e 74 63 6c 22 0a 23 20 74 6f 20 72 make.tcl".# to r
3a70: 65 67 65 6e 65 72 61 74 65 20 74 68 69 73 20 66 egenerate this f
3a80: 69 6c 65 2e 0a 23 0a 23 20 54 68 69 73 20 69 73 ile..#.# This is
3a90: 20 61 20 6d 61 6b 65 66 69 6c 65 20 66 6f 72 20 a makefile for
3aa0: 75 73 65 20 6f 6e 20 43 79 67 77 69 6e 2f 44 61 use on Cygwin/Da
3ab0: 72 77 69 6e 2f 46 72 65 65 42 53 44 2f 4c 69 6e rwin/FreeBSD/Lin
3ac0: 75 78 2f 57 69 6e 64 6f 77 73 20 75 73 69 6e 67 ux/Windows using
3ad0: 0a 23 20 4d 69 6e 47 57 20 6f 72 20 4d 69 6e 47 .# MinGW or MinG
3ae0: 57 2d 77 36 34 2e 0a 23 0a 23 20 53 6f 6d 65 20 W-w64..#.# Some
3af0: 6f 66 20 74 68 65 20 73 70 65 63 69 61 6c 20 6f of the special o
3b00: 70 74 69 6f 6e 73 20 77 68 69 63 68 20 63 61 6e ptions which can
3b10: 20 62 65 20 70 61 73 73 65 64 20 74 6f 20 6d 61 be passed to ma
3b20: 6b 65 0a 23 20 20 20 55 53 45 5f 57 49 4e 44 4f ke.# USE_WINDO
3b30: 57 53 3d 31 20 20 20 20 69 66 20 62 75 69 6c 64 WS=1 if build
3b40: 69 6e 67 20 75 6e 64 65 72 20 61 20 77 69 6e 64 ing under a wind
3b50: 6f 77 73 20 63 6f 6d 6d 61 6e 64 20 70 72 6f 6d ows command prom
3b60: 70 74 0a 23 20 20 20 58 36 34 3d 31 20 20 20 20 pt.# X64=1
3b70: 20 20 20 20 20 20 20 20 69 66 20 75 73 69 6e 67 if using
3b80: 20 61 6e 20 75 6e 70 72 65 66 69 78 65 64 20 36 an unprefixed 6
3b90: 34 2d 62 69 74 20 6d 69 6e 67 77 20 63 6f 6d 70 4-bit mingw comp
3ba0: 69 6c 65 72 0a 23 0a 0a 23 23 23 23 20 53 65 6c iler.#..#### Sel
3bb0: 65 63 74 20 6f 6e 65 20 6f 66 20 4d 69 6e 47 57 ect one of MinGW
3bc0: 2c 20 4d 69 6e 47 57 2d 77 36 34 20 28 33 32 2d , MinGW-w64 (32-
3bd0: 62 69 74 29 20 6f 72 20 4d 69 6e 47 57 2d 77 36 bit) or MinGW-w6
3be0: 34 20 28 36 34 2d 62 69 74 29 20 63 6f 6d 70 69 4 (64-bit) compi
3bf0: 6c 65 72 73 2e 0a 23 20 20 20 20 42 79 20 64 65 lers..# By de
3c00: 66 61 75 6c 74 2c 20 74 68 69 73 20 69 73 20 61 fault, this is a
3c10: 6e 20 65 6d 70 74 79 20 73 74 72 69 6e 67 20 28 n empty string (
3c20: 69 2e 65 2e 20 75 73 65 20 74 68 65 20 6e 61 74 i.e. use the nat
3c30: 69 76 65 20 63 6f 6d 70 69 6c 65 72 29 2e 0a 23 ive compiler)..#
3c40: 0a 50 52 45 46 49 58 20 3d 0a 23 20 50 52 45 46 .PREFIX =.# PREF
3c50: 49 58 20 3d 20 6d 69 6e 67 77 33 32 2d 0a 23 20 IX = mingw32-.#
3c60: 50 52 45 46 49 58 20 3d 20 69 36 38 36 2d 70 63 PREFIX = i686-pc
3c70: 2d 6d 69 6e 67 77 33 32 2d 0a 23 20 50 52 45 46 -mingw32-.# PREF
3c80: 49 58 20 3d 20 69 36 38 36 2d 77 36 34 2d 6d 69 IX = i686-w64-mi
3c90: 6e 67 77 33 32 2d 0a 23 20 50 52 45 46 49 58 20 ngw32-.# PREFIX
3ca0: 3d 20 78 38 36 5f 36 34 2d 77 36 34 2d 6d 69 6e = x86_64-w64-min
3cb0: 67 77 33 32 2d 0a 0a 23 23 23 23 20 54 68 65 20 gw32-..#### The
3cc0: 74 6f 70 6c 65 76 65 6c 20 64 69 72 65 63 74 6f toplevel directo
3cd0: 72 79 20 6f 66 20 74 68 65 20 73 6f 75 72 63 65 ry of the source
3ce0: 20 74 72 65 65 2e 20 20 46 6f 73 73 69 6c 20 63 tree. Fossil c
3cf0: 61 6e 20 62 65 20 62 75 69 6c 74 0a 23 20 20 20 an be built.#
3d00: 20 69 6e 20 61 20 64 69 72 65 63 74 6f 72 79 20 in a directory
3d10: 74 68 61 74 20 69 73 20 73 65 70 61 72 61 74 65 that is separate
3d20: 20 66 72 6f 6d 20 74 68 65 20 73 6f 75 72 63 65 from the source
3d30: 20 74 72 65 65 2e 20 20 4a 75 73 74 20 63 68 61 tree. Just cha
3d40: 6e 67 65 0a 23 20 20 20 20 74 68 65 20 66 6f 6c nge.# the fol
3d50: 6c 6f 77 69 6e 67 20 74 6f 20 70 6f 69 6e 74 20 lowing to point
3d60: 66 72 6f 6d 20 74 68 65 20 62 75 69 6c 64 20 64 from the build d
3d70: 69 72 65 63 74 6f 72 79 20 74 6f 20 74 68 65 20 irectory to the
3d80: 73 72 63 2f 20 66 6f 6c 64 65 72 2e 0a 23 0a 53 src/ folder..#.S
3d90: 52 43 44 49 52 20 3d 20 73 72 63 0a 0a 23 23 23 RCDIR = src..###
3da0: 23 20 54 68 65 20 64 69 72 65 63 74 6f 72 79 20 # The directory
3db0: 69 6e 74 6f 20 77 68 69 63 68 20 6f 62 6a 65 63 into which objec
3dc0: 74 20 63 6f 64 65 20 66 69 6c 65 73 20 73 68 6f t code files sho
3dd0: 75 6c 64 20 62 65 20 77 72 69 74 74 65 6e 2e 0a uld be written..
3de0: 23 0a 4f 42 4a 44 49 52 20 3d 20 77 62 6c 64 0a #.OBJDIR = wbld.
3df0: 0a 23 23 23 23 20 43 20 63 6f 6d 70 69 6c 65 72 .#### C compiler
3e00: 20 66 6f 72 20 75 73 65 20 69 6e 20 62 75 69 6c for use in buil
3e10: 64 69 6e 67 20 65 78 65 63 75 74 61 62 6c 65 73 ding executables
3e20: 20 74 68 61 74 20 77 69 6c 6c 20 72 75 6e 20 6f that will run o
3e30: 6e 0a 23 20 20 20 20 74 68 65 20 70 6c 61 74 66 n.# the platf
3e40: 6f 72 6d 20 74 68 61 74 20 69 73 20 64 6f 69 6e orm that is doin
3e50: 67 20 74 68 65 20 62 75 69 6c 64 2e 20 20 54 68 g the build. Th
3e60: 69 73 20 69 73 20 75 73 65 64 20 74 6f 20 63 6f is is used to co
3e70: 6d 70 69 6c 65 0a 23 20 20 20 20 63 6f 64 65 2d mpile.# code-
3e80: 67 65 6e 65 72 61 74 6f 72 20 70 72 6f 67 72 61 generator progra
3e90: 6d 73 20 61 73 20 70 61 72 74 20 6f 66 20 74 68 ms as part of th
3ea0: 65 20 62 75 69 6c 64 20 70 72 6f 63 65 73 73 2e e build process.
3eb0: 20 20 53 65 65 20 54 43 43 0a 23 20 20 20 20 61 See TCC.# a
3ec0: 6e 64 20 54 43 43 45 58 45 20 62 65 6c 6f 77 20 nd TCCEXE below
3ed0: 66 6f 72 20 74 68 65 20 43 20 63 6f 6d 70 69 6c for the C compil
3ee0: 65 72 20 66 6f 72 20 62 75 69 6c 64 69 6e 67 20 er for building
3ef0: 74 68 65 20 66 69 6e 69 73 68 65 64 0a 23 20 20 the finished.#
3f00: 20 20 62 69 6e 61 72 79 2e 0a 23 0a 42 43 43 45 binary..#.BCCE
3f10: 58 45 20 3d 20 67 63 63 0a 0a 23 23 23 23 20 43 XE = gcc..#### C
3f20: 20 43 6f 6d 70 69 6c 65 72 20 61 6e 64 20 6f 70 Compiler and op
3f30: 74 69 6f 6e 73 20 66 6f 72 20 75 73 65 20 69 6e tions for use in
3f40: 20 62 75 69 6c 64 69 6e 67 20 65 78 65 63 75 74 building execut
3f50: 61 62 6c 65 73 20 74 68 61 74 0a 23 20 20 20 20 ables that.#
3f60: 77 69 6c 6c 20 72 75 6e 20 6f 6e 20 74 68 65 20 will run on the
3f70: 70 6c 61 74 66 6f 72 6d 20 74 68 61 74 20 69 73 platform that is
3f80: 20 64 6f 69 6e 67 20 74 68 65 20 62 75 69 6c 64 doing the build
3f90: 2e 20 20 54 68 69 73 20 69 73 20 75 73 65 64 0a . This is used.
3fa0: 23 20 20 20 20 74 6f 20 63 6f 6d 70 69 6c 65 20 # to compile
3fb0: 63 6f 64 65 2d 67 65 6e 65 72 61 74 6f 72 20 70 code-generator p
3fc0: 72 6f 67 72 61 6d 73 20 61 73 20 70 61 72 74 20 rograms as part
3fd0: 6f 66 20 74 68 65 20 62 75 69 6c 64 20 70 72 6f of the build pro
3fe0: 63 65 73 73 2e 0a 23 20 20 20 20 53 65 65 20 54 cess..# See T
3ff0: 43 43 20 62 65 6c 6f 77 20 66 6f 72 20 74 68 65 CC below for the
4000: 20 43 20 63 6f 6d 70 69 6c 65 72 20 66 6f 72 20 C compiler for
4010: 62 75 69 6c 64 69 6e 67 20 74 68 65 20 66 69 6e building the fin
4020: 69 73 68 65 64 20 62 69 6e 61 72 79 2e 0a 23 0a ished binary..#.
4030: 42 43 43 20 3d 20 24 28 42 43 43 45 58 45 29 0a BCC = $(BCCEXE).
4040: 0a 23 23 23 23 20 45 6e 61 62 6c 65 20 63 6f 6d .#### Enable com
4050: 70 69 6c 69 6e 67 20 77 69 74 68 20 64 65 62 75 piling with debu
4060: 67 20 73 79 6d 62 6f 6c 73 20 28 6d 75 63 68 20 g symbols (much
4070: 6c 61 72 67 65 72 20 62 69 6e 61 72 79 29 0a 23 larger binary).#
4080: 0a 23 20 46 4f 53 53 49 4c 5f 45 4e 41 42 4c 45 .# FOSSIL_ENABLE
4090: 5f 53 59 4d 42 4f 4c 53 20 3d 20 31 0a 0a 23 23 _SYMBOLS = 1..##
40a0: 23 23 20 45 6e 61 62 6c 65 20 4a 53 4f 4e 20 28 ## Enable JSON (
40b0: 68 74 74 70 3a 2f 2f 77 77 77 2e 6a 73 6f 6e 2e http://www.json.
40c0: 6f 72 67 29 20 73 75 70 70 6f 72 74 20 75 73 69 org) support usi
40d0: 6e 67 20 22 63 73 6f 6e 22 0a 23 0a 23 20 46 4f ng "cson".#.# FO
40e0: 53 53 49 4c 5f 45 4e 41 42 4c 45 5f 4a 53 4f 4e SSIL_ENABLE_JSON
40f0: 20 3d 20 31 0a 0a 23 23 23 23 20 45 6e 61 62 6c = 1..#### Enabl
4100: 65 20 48 54 54 50 53 20 73 75 70 70 6f 72 74 20 e HTTPS support
4110: 76 69 61 20 4f 70 65 6e 53 53 4c 20 28 6c 69 6e via OpenSSL (lin
4120: 6b 73 20 74 6f 20 6c 69 62 73 73 6c 20 61 6e 64 ks to libssl and
4130: 20 6c 69 62 63 72 79 70 74 6f 29 0a 23 0a 23 20 libcrypto).#.#
4140: 46 4f 53 53 49 4c 5f 45 4e 41 42 4c 45 5f 53 53 FOSSIL_ENABLE_SS
4150: 4c 20 3d 20 31 0a 0a 23 23 23 23 20 41 75 74 6f L = 1..#### Auto
4160: 6d 61 74 69 63 61 6c 6c 79 20 62 75 69 6c 64 20 matically build
4170: 4f 70 65 6e 53 53 4c 20 77 68 65 6e 20 62 75 69 OpenSSL when bui
4180: 6c 64 69 6e 67 20 46 6f 73 73 69 6c 20 28 63 61 lding Fossil (ca
4190: 75 73 65 73 20 72 65 62 75 69 6c 64 0a 23 20 20 uses rebuild.#
41a0: 20 20 69 73 73 75 65 73 20 77 68 65 6e 20 62 75 issues when bu
41b0: 69 6c 64 69 6e 67 20 69 6e 63 72 65 6d 65 6e 74 ilding increment
41c0: 61 6c 6c 79 29 2e 0a 23 0a 23 20 46 4f 53 53 49 ally)..#.# FOSSI
41d0: 4c 5f 42 55 49 4c 44 5f 53 53 4c 20 3d 20 31 0a L_BUILD_SSL = 1.
41e0: 0a 23 23 23 23 20 45 6e 61 62 6c 65 20 72 65 6c .#### Enable rel
41f0: 61 74 69 76 65 20 70 61 74 68 73 20 69 6e 20 65 ative paths in e
4200: 78 74 65 72 6e 61 6c 20 64 69 66 66 2f 67 64 69 xternal diff/gdi
4210: 66 66 0a 23 0a 23 20 46 4f 53 53 49 4c 5f 45 4e ff.#.# FOSSIL_EN
4220: 41 42 4c 45 5f 45 58 45 43 5f 52 45 4c 5f 50 41 ABLE_EXEC_REL_PA
4230: 54 48 53 20 3d 20 31 0a 0a 23 23 23 23 20 45 6e THS = 1..#### En
4240: 61 62 6c 65 20 6c 65 67 61 63 79 20 74 72 65 61 able legacy trea
4250: 74 6d 65 6e 74 20 6f 66 20 6d 76 2f 72 6d 20 28 tment of mv/rm (
4260: 73 6b 69 70 20 63 68 65 63 6b 6f 75 74 20 66 69 skip checkout fi
4270: 6c 65 73 29 0a 23 0a 23 20 46 4f 53 53 49 4c 5f les).#.# FOSSIL_
4280: 45 4e 41 42 4c 45 5f 4c 45 47 41 43 59 5f 4d 56 ENABLE_LEGACY_MV
4290: 5f 52 4d 20 3d 20 31 0a 0a 23 23 23 23 20 45 6e _RM = 1..#### En
42a0: 61 62 6c 65 20 54 48 31 20 73 63 72 69 70 74 73 able TH1 scripts
42b0: 20 69 6e 20 65 6d 62 65 64 64 65 64 20 64 6f 63 in embedded doc
42c0: 75 6d 65 6e 74 61 74 69 6f 6e 20 66 69 6c 65 73 umentation files
42d0: 0a 23 0a 23 20 46 4f 53 53 49 4c 5f 45 4e 41 42 .#.# FOSSIL_ENAB
42e0: 4c 45 5f 54 48 31 5f 44 4f 43 53 20 3d 20 31 0a LE_TH1_DOCS = 1.
42f0: 0a 23 23 23 23 20 45 6e 61 62 6c 65 20 68 6f 6f .#### Enable hoo
4300: 6b 73 20 66 6f 72 20 63 6f 6d 6d 61 6e 64 73 20 ks for commands
4310: 61 6e 64 20 77 65 62 20 70 61 67 65 73 20 76 69 and web pages vi
4320: 61 20 54 48 31 0a 23 0a 23 20 46 4f 53 53 49 4c a TH1.#.# FOSSIL
4330: 5f 45 4e 41 42 4c 45 5f 54 48 31 5f 48 4f 4f 4b _ENABLE_TH1_HOOK
4340: 53 20 3d 20 31 0a 0a 23 23 23 23 20 45 6e 61 62 S = 1..#### Enab
4350: 6c 65 20 73 63 72 69 70 74 69 6e 67 20 73 75 70 le scripting sup
4360: 70 6f 72 74 20 76 69 61 20 54 63 6c 2f 54 6b 0a port via Tcl/Tk.
4370: 23 0a 23 20 46 4f 53 53 49 4c 5f 45 4e 41 42 4c #.# FOSSIL_ENABL
4380: 45 5f 54 43 4c 20 3d 20 31 0a 0a 23 23 23 23 20 E_TCL = 1..####
4390: 4c 6f 61 64 20 54 63 6c 20 75 73 69 6e 67 20 74 Load Tcl using t
43a0: 68 65 20 73 74 75 62 73 20 6c 69 62 72 61 72 79 he stubs library
43b0: 20 6d 65 63 68 61 6e 69 73 6d 0a 23 0a 23 20 46 mechanism.#.# F
43c0: 4f 53 53 49 4c 5f 45 4e 41 42 4c 45 5f 54 43 4c OSSIL_ENABLE_TCL
43d0: 5f 53 54 55 42 53 20 3d 20 31 0a 0a 23 23 23 23 _STUBS = 1..####
43e0: 20 4c 6f 61 64 20 54 63 6c 20 75 73 69 6e 67 20 Load Tcl using
43f0: 74 68 65 20 70 72 69 76 61 74 65 20 73 74 75 62 the private stub
4400: 73 20 6d 65 63 68 61 6e 69 73 6d 0a 23 0a 23 20 s mechanism.#.#
4410: 46 4f 53 53 49 4c 5f 45 4e 41 42 4c 45 5f 54 43 FOSSIL_ENABLE_TC
4420: 4c 5f 50 52 49 56 41 54 45 5f 53 54 55 42 53 20 L_PRIVATE_STUBS
4430: 3d 20 31 0a 0a 23 23 23 23 20 55 73 65 20 27 73 = 1..#### Use 's
4440: 79 73 74 65 6d 27 20 53 51 4c 69 74 65 0a 23 0a ystem' SQLite.#.
4450: 23 20 55 53 45 5f 53 59 53 54 45 4d 5f 53 51 4c # USE_SYSTEM_SQL
4460: 49 54 45 20 3d 20 31 0a 0a 23 23 23 23 20 55 73 ITE = 1..#### Us
4470: 65 20 74 68 65 20 53 51 4c 69 74 65 20 45 6e 63 e the SQLite Enc
4480: 72 79 70 74 69 6f 6e 20 45 78 74 65 6e 73 69 6f ryption Extensio
4490: 6e 0a 23 0a 23 20 55 53 45 5f 53 45 45 20 3d 20 n.#.# USE_SEE =
44a0: 31 0a 0a 23 23 23 23 20 55 73 65 20 74 68 65 20 1..#### Use the
44b0: 6d 69 6e 69 7a 20 63 6f 6d 70 72 65 73 73 69 6f miniz compressio
44c0: 6e 20 6c 69 62 72 61 72 79 0a 23 0a 23 20 46 4f n library.#.# FO
44d0: 53 53 49 4c 5f 45 4e 41 42 4c 45 5f 4d 49 4e 49 SSIL_ENABLE_MINI
44e0: 5a 20 3d 20 31 0a 0a 23 23 23 23 20 55 73 65 20 Z = 1..#### Use
44f0: 74 68 65 20 54 63 6c 20 73 6f 75 72 63 65 20 64 the Tcl source d
4500: 69 72 65 63 74 6f 72 79 20 69 6e 73 74 65 61 64 irectory instead
4510: 20 6f 66 20 74 68 65 20 69 6e 73 74 61 6c 6c 20 of the install
4520: 64 69 72 65 63 74 6f 72 79 3f 0a 23 20 20 20 20 directory?.#
4530: 54 68 69 73 20 69 73 20 75 73 65 66 75 6c 20 77 This is useful w
4540: 68 65 6e 20 54 63 6c 20 68 61 73 20 62 65 65 6e hen Tcl has been
4550: 20 63 6f 6d 70 69 6c 65 64 20 73 74 61 74 69 63 compiled static
4560: 61 6c 6c 79 20 77 69 74 68 20 4d 69 6e 47 57 2e ally with MinGW.
4570: 0a 23 0a 46 4f 53 53 49 4c 5f 54 43 4c 5f 53 4f .#.FOSSIL_TCL_SO
4580: 55 52 43 45 20 3d 20 31 0a 0a 23 23 23 23 20 43 URCE = 1..#### C
4590: 68 65 63 6b 20 69 66 20 74 68 65 20 77 6f 72 6b heck if the work
45a0: 61 72 6f 75 6e 64 20 66 6f 72 20 74 68 65 20 4d around for the M
45b0: 69 6e 47 57 20 63 6f 6d 6d 61 6e 64 20 6c 69 6e inGW command lin
45c0: 65 20 68 61 6e 64 6c 69 6e 67 20 6e 65 65 64 73 e handling needs
45d0: 20 74 6f 0a 23 20 20 20 20 62 65 20 65 6e 61 62 to.# be enab
45e0: 6c 65 64 20 62 79 20 64 65 66 61 75 6c 74 2e 20 led by default.
45f0: 20 54 68 69 73 20 63 68 65 63 6b 20 6d 61 79 20 This check may
4600: 62 65 20 73 6f 6d 65 77 68 61 74 20 66 72 61 67 be somewhat frag
4610: 69 6c 65 20 64 75 65 20 74 6f 20 74 68 65 0a 23 ile due to the.#
4620: 20 20 20 20 75 73 65 20 6f 66 20 22 66 69 6e 64 use of "find
4630: 73 74 72 69 6e 67 22 2e 0a 23 0a 69 66 6e 64 65 string"..#.ifnde
4640: 66 20 4d 49 4e 47 57 5f 49 53 5f 33 32 42 49 54 f MINGW_IS_32BIT
4650: 5f 4f 4e 4c 59 0a 69 66 65 71 20 28 2c 24 28 66 _ONLY.ifeq (,$(f
4660: 69 6e 64 73 74 72 69 6e 67 20 77 36 34 2d 6d 69 indstring w64-mi
4670: 6e 67 77 33 32 2c 24 28 50 52 45 46 49 58 29 29 ngw32,$(PREFIX))
4680: 29 0a 4d 49 4e 47 57 5f 49 53 5f 33 32 42 49 54 ).MINGW_IS_32BIT
4690: 5f 4f 4e 4c 59 20 3d 20 31 0a 65 6e 64 69 66 0a _ONLY = 1.endif.
46a0: 65 6e 64 69 66 0a 0a 23 23 23 23 20 54 68 65 20 endif..#### The
46b0: 64 69 72 65 63 74 6f 72 69 65 73 20 77 68 65 72 directories wher
46c0: 65 20 74 68 65 20 7a 6c 69 62 20 69 6e 63 6c 75 e the zlib inclu
46d0: 64 65 20 61 6e 64 20 6c 69 62 72 61 72 79 20 66 de and library f
46e0: 69 6c 65 73 20 61 72 65 20 6c 6f 63 61 74 65 64 iles are located
46f0: 2e 0a 23 0a 5a 49 4e 43 44 49 52 20 3d 20 24 28 ..#.ZINCDIR = $(
4700: 53 52 43 44 49 52 29 2f 2e 2e 2f 63 6f 6d 70 61 SRCDIR)/../compa
4710: 74 2f 7a 6c 69 62 0a 5a 4c 49 42 44 49 52 20 3d t/zlib.ZLIBDIR =
4720: 20 24 28 53 52 43 44 49 52 29 2f 2e 2e 2f 63 6f $(SRCDIR)/../co
4730: 6d 70 61 74 2f 7a 6c 69 62 0a 0a 23 23 23 23 20 mpat/zlib..####
4740: 4d 61 6b 65 20 61 6e 20 61 74 74 65 6d 70 74 20 Make an attempt
4750: 74 6f 20 64 65 74 65 63 74 20 69 66 20 46 6f 73 to detect if Fos
4760: 73 69 6c 20 69 73 20 62 65 69 6e 67 20 62 75 69 sil is being bui
4770: 6c 74 20 66 6f 72 20 74 68 65 20 78 36 34 20 70 lt for the x64 p
4780: 72 6f 63 65 73 73 6f 72 0a 23 20 20 20 20 61 72 rocessor.# ar
4790: 63 68 69 74 65 63 74 75 72 65 2e 20 20 54 68 69 chitecture. Thi
47a0: 73 20 63 68 65 63 6b 20 6d 61 79 20 62 65 20 73 s check may be s
47b0: 6f 6d 65 77 68 61 74 20 66 72 61 67 69 6c 65 20 omewhat fragile
47c0: 64 75 65 20 74 6f 20 22 66 69 6e 64 73 74 72 69 due to "findstri
47d0: 6e 67 22 2e 0a 23 0a 69 66 6e 64 65 66 20 58 36 ng"..#.ifndef X6
47e0: 34 0a 69 66 6e 65 71 20 28 2c 24 28 66 69 6e 64 4.ifneq (,$(find
47f0: 73 74 72 69 6e 67 20 78 38 36 5f 36 34 2d 77 36 string x86_64-w6
4800: 34 2d 6d 69 6e 67 77 33 32 2c 24 28 50 52 45 46 4-mingw32,$(PREF
4810: 49 58 29 29 29 0a 58 36 34 20 3d 20 31 0a 65 6e IX))).X64 = 1.en
4820: 64 69 66 0a 65 6e 64 69 66 0a 0a 23 23 23 23 20 dif.endif..####
4830: 44 65 74 65 72 6d 69 6e 65 20 69 66 20 74 68 65 Determine if the
4840: 20 6f 70 74 69 6d 69 7a 65 64 20 61 73 73 65 6d optimized assem
4850: 62 6c 79 20 72 6f 75 74 69 6e 65 73 20 70 72 6f bly routines pro
4860: 76 69 64 65 64 20 77 69 74 68 20 7a 6c 69 62 20 vided with zlib
4870: 73 68 6f 75 6c 64 20 62 65 0a 23 20 20 20 20 75 should be.# u
4880: 73 65 64 2c 20 74 61 6b 69 6e 67 20 69 6e 74 6f sed, taking into
4890: 20 61 63 63 6f 75 6e 74 20 77 68 65 74 68 65 72 account whether
48a0: 20 7a 6c 69 62 20 69 73 20 61 63 74 75 61 6c 6c zlib is actuall
48b0: 79 20 65 6e 61 62 6c 65 64 20 61 6e 64 20 74 68 y enabled and th
48c0: 65 20 74 61 72 67 65 74 0a 23 20 20 20 20 70 72 e target.# pr
48d0: 6f 63 65 73 73 6f 72 20 61 72 63 68 69 74 65 63 ocessor architec
48e0: 74 75 72 65 2e 0a 23 0a 69 66 6e 64 65 66 20 58 ture..#.ifndef X
48f0: 36 34 0a 53 53 4c 43 4f 4e 46 49 47 20 3d 20 6d 64.SSLCONFIG = m
4900: 69 6e 67 77 0a 69 66 6e 64 65 66 20 46 4f 53 53 ingw.ifndef FOSS
4910: 49 4c 5f 45 4e 41 42 4c 45 5f 4d 49 4e 49 5a 0a IL_ENABLE_MINIZ.
4920: 5a 4c 49 42 43 4f 4e 46 49 47 20 3d 20 4c 4f 43 ZLIBCONFIG = LOC
4930: 3d 22 2d 44 41 53 4d 56 20 2d 44 41 53 4d 49 4e ="-DASMV -DASMIN
4940: 46 22 20 4f 42 4a 41 3d 22 69 6e 66 66 61 73 38 F" OBJA="inffas8
4950: 36 2e 6f 20 6d 61 74 63 68 2e 6f 22 0a 5a 4c 49 6.o match.o".ZLI
4960: 42 54 41 52 47 45 54 53 20 3d 20 24 28 5a 4c 49 BTARGETS = $(ZLI
4970: 42 44 49 52 29 2f 69 6e 66 66 61 73 38 36 2e 6f BDIR)/inffas86.o
4980: 20 24 28 5a 4c 49 42 44 49 52 29 2f 6d 61 74 63 $(ZLIBDIR)/matc
4990: 68 2e 6f 0a 65 6c 73 65 0a 5a 4c 49 42 43 4f 4e h.o.else.ZLIBCON
49a0: 46 49 47 20 3d 0a 5a 4c 49 42 54 41 52 47 45 54 FIG =.ZLIBTARGET
49b0: 53 20 3d 0a 65 6e 64 69 66 0a 65 6c 73 65 0a 53 S =.endif.else.S
49c0: 53 4c 43 4f 4e 46 49 47 20 3d 20 6d 69 6e 67 77 SLCONFIG = mingw
49d0: 36 34 0a 5a 4c 49 42 43 4f 4e 46 49 47 20 3d 0a 64.ZLIBCONFIG =.
49e0: 5a 4c 49 42 54 41 52 47 45 54 53 20 3d 0a 65 6e ZLIBTARGETS =.en
49f0: 64 69 66 0a 0a 23 23 23 23 20 44 69 73 61 62 6c dif..#### Disabl
4a00: 65 20 63 72 65 61 74 69 6f 6e 20 6f 66 20 74 68 e creation of th
4a10: 65 20 4f 70 65 6e 53 53 4c 20 73 68 61 72 65 64 e OpenSSL shared
4a20: 20 6c 69 62 72 61 72 69 65 73 2e 20 20 41 6c 73 libraries. Als
4a30: 6f 2c 20 64 69 73 61 62 6c 65 20 73 75 70 70 6f o, disable suppo
4a40: 72 74 0a 23 20 20 20 20 66 6f 72 20 62 6f 74 68 rt.# for both
4a50: 20 53 53 4c 76 32 20 61 6e 64 20 53 53 4c 76 33 SSLv2 and SSLv3
4a60: 20 28 69 2e 65 2e 20 74 68 65 72 65 62 79 20 66 (i.e. thereby f
4a70: 6f 72 63 69 6e 67 20 74 68 65 20 75 73 65 20 6f orcing the use o
4a80: 66 20 54 4c 53 29 2e 0a 23 0a 53 53 4c 43 4f 4e f TLS)..#.SSLCON
4a90: 46 49 47 20 2b 3d 20 6e 6f 2d 73 73 6c 32 20 6e FIG += no-ssl2 n
4aa0: 6f 2d 73 73 6c 33 20 6e 6f 2d 73 68 61 72 65 64 o-ssl3 no-shared
4ab0: 0a 0a 23 23 23 23 20 57 68 65 6e 20 75 73 69 6e ..#### When usin
4ac0: 67 20 7a 6c 69 62 2c 20 6d 61 6b 65 20 73 75 72 g zlib, make sur
4ad0: 65 20 74 68 61 74 20 4f 70 65 6e 53 53 4c 20 69 e that OpenSSL i
4ae0: 73 20 63 6f 6e 66 69 67 75 72 65 64 20 74 6f 20 s configured to
4af0: 75 73 65 20 74 68 65 20 7a 6c 69 62 0a 23 20 20 use the zlib.#
4b00: 20 20 74 68 61 74 20 46 6f 73 73 69 6c 20 6b 6e that Fossil kn
4b10: 6f 77 73 20 61 62 6f 75 74 20 28 69 2e 65 2e 20 ows about (i.e.
4b20: 74 68 65 20 6f 6e 65 20 77 69 74 68 69 6e 20 74 the one within t
4b30: 68 65 20 73 6f 75 72 63 65 20 74 72 65 65 29 2e he source tree).
4b40: 0a 23 0a 69 66 6e 64 65 66 20 46 4f 53 53 49 4c .#.ifndef FOSSIL
4b50: 5f 45 4e 41 42 4c 45 5f 4d 49 4e 49 5a 0a 53 53 _ENABLE_MINIZ.SS
4b60: 4c 43 4f 4e 46 49 47 20 2b 3d 20 20 2d 2d 77 69 LCONFIG += --wi
4b70: 74 68 2d 7a 6c 69 62 2d 6c 69 62 3d 24 28 50 57 th-zlib-lib=$(PW
4b80: 44 29 2f 24 28 5a 4c 49 42 44 49 52 29 20 2d 2d D)/$(ZLIBDIR) --
4b90: 77 69 74 68 2d 7a 6c 69 62 2d 69 6e 63 6c 75 64 with-zlib-includ
4ba0: 65 3d 24 28 50 57 44 29 2f 24 28 5a 4c 49 42 44 e=$(PWD)/$(ZLIBD
4bb0: 49 52 29 20 7a 6c 69 62 0a 65 6e 64 69 66 0a 0a IR) zlib.endif..
4bc0: 23 23 23 23 20 54 68 65 20 64 69 72 65 63 74 6f #### The directo
4bd0: 72 69 65 73 20 77 68 65 72 65 20 74 68 65 20 4f ries where the O
4be0: 70 65 6e 53 53 4c 20 69 6e 63 6c 75 64 65 20 61 penSSL include a
4bf0: 6e 64 20 6c 69 62 72 61 72 79 20 66 69 6c 65 73 nd library files
4c00: 20 61 72 65 20 6c 6f 63 61 74 65 64 2e 0a 23 20 are located..#
4c10: 20 20 20 54 68 65 20 72 65 63 6f 6d 6d 65 6e 64 The recommend
4c20: 65 64 20 75 73 61 67 65 20 68 65 72 65 20 69 73 ed usage here is
4c30: 20 74 6f 20 75 73 65 20 74 68 65 20 53 79 73 69 to use the Sysi
4c40: 6e 74 65 72 6e 61 6c 73 20 6a 75 6e 63 74 69 6f nternals junctio
4c50: 6e 20 74 6f 6f 6c 0a 23 20 20 20 20 74 6f 20 63 n tool.# to c
4c60: 72 65 61 74 65 20 61 20 68 61 72 64 20 6c 69 6e reate a hard lin
4c70: 6b 20 62 65 74 77 65 65 6e 20 61 6e 20 22 6f 70 k between an "op
4c80: 65 6e 73 73 6c 2d 31 2e 78 22 20 73 75 62 2d 64 enssl-1.x" sub-d
4c90: 69 72 65 63 74 6f 72 79 20 6f 66 20 74 68 65 0a irectory of the.
4ca0: 23 20 20 20 20 46 6f 73 73 69 6c 20 73 6f 75 72 # Fossil sour
4cb0: 63 65 20 63 6f 64 65 20 64 69 72 65 63 74 6f 72 ce code director
4cc0: 79 20 61 6e 64 20 74 68 65 20 74 61 72 67 65 74 y and the target
4cd0: 20 4f 70 65 6e 53 53 4c 20 73 6f 75 72 63 65 20 OpenSSL source
4ce0: 64 69 72 65 63 74 6f 72 79 2e 0a 23 0a 4f 50 45 directory..#.OPE
4cf0: 4e 53 53 4c 44 49 52 20 3d 20 24 28 53 52 43 44 NSSLDIR = $(SRCD
4d00: 49 52 29 2f 2e 2e 2f 63 6f 6d 70 61 74 2f 6f 70 IR)/../compat/op
4d10: 65 6e 73 73 6c 2d 31 2e 30 2e 32 6d 0a 4f 50 45 enssl-1.0.2m.OPE
4d20: 4e 53 53 4c 49 4e 43 44 49 52 20 3d 20 24 28 4f NSSLINCDIR = $(O
4d30: 50 45 4e 53 53 4c 44 49 52 29 2f 69 6e 63 6c 75 PENSSLDIR)/inclu
4d40: 64 65 0a 4f 50 45 4e 53 53 4c 4c 49 42 44 49 52 de.OPENSSLLIBDIR
4d50: 20 3d 20 24 28 4f 50 45 4e 53 53 4c 44 49 52 29 = $(OPENSSLDIR)
4d60: 0a 0a 23 23 23 23 20 45 69 74 68 65 72 20 74 68 ..#### Either th
4d70: 65 20 64 69 72 65 63 74 6f 72 79 20 77 68 65 72 e directory wher
4d80: 65 20 74 68 65 20 54 63 6c 20 6c 69 62 72 61 72 e the Tcl librar
4d90: 79 20 69 73 20 69 6e 73 74 61 6c 6c 65 64 20 6f y is installed o
4da0: 72 20 74 68 65 20 54 63 6c 0a 23 20 20 20 20 73 r the Tcl.# s
4db0: 6f 75 72 63 65 20 63 6f 64 65 20 64 69 72 65 63 ource code direc
4dc0: 74 6f 72 79 20 72 65 73 69 64 65 73 20 28 64 65 tory resides (de
4dd0: 70 65 6e 64 69 6e 67 20 6f 6e 20 74 68 65 20 76 pending on the v
4de0: 61 6c 75 65 20 6f 66 20 74 68 65 20 6d 61 63 72 alue of the macr
4df0: 6f 0a 23 20 20 20 20 46 4f 53 53 49 4c 5f 54 43 o.# FOSSIL_TC
4e00: 4c 5f 53 4f 55 52 43 45 29 2e 20 20 49 66 20 74 L_SOURCE). If t
4e10: 68 69 73 20 70 6f 69 6e 74 73 20 74 6f 20 74 68 his points to th
4e20: 65 20 54 63 6c 20 69 6e 73 74 61 6c 6c 20 64 69 e Tcl install di
4e30: 72 65 63 74 6f 72 79 2c 0a 23 20 20 20 20 74 68 rectory,.# th
4e40: 69 73 20 64 69 72 65 63 74 6f 72 79 20 6d 75 73 is directory mus
4e50: 74 20 68 61 76 65 20 22 69 6e 63 6c 75 64 65 22 t have "include"
4e60: 20 61 6e 64 20 22 6c 69 62 22 20 73 75 62 2d 64 and "lib" sub-d
4e70: 69 72 65 63 74 6f 72 69 65 73 2e 20 20 49 66 0a irectories. If.
4e80: 23 20 20 20 20 74 68 69 73 20 70 6f 69 6e 74 73 # this points
4e90: 20 74 6f 20 74 68 65 20 54 63 6c 20 73 6f 75 72 to the Tcl sour
4ea0: 63 65 20 63 6f 64 65 20 64 69 72 65 63 74 6f 72 ce code director
4eb0: 79 2c 20 74 68 69 73 20 64 69 72 65 63 74 6f 72 y, this director
4ec0: 79 20 6d 75 73 74 0a 23 20 20 20 20 68 61 76 65 y must.# have
4ed0: 20 22 67 65 6e 65 72 69 63 22 20 61 6e 64 20 22 "generic" and "
4ee0: 77 69 6e 22 20 73 75 62 2d 64 69 72 65 63 74 6f win" sub-directo
4ef0: 72 69 65 73 2e 20 20 54 68 65 20 72 65 63 6f 6d ries. The recom
4f00: 6d 65 6e 64 65 64 20 75 73 61 67 65 0a 23 20 20 mended usage.#
4f10: 20 20 68 65 72 65 20 69 73 20 74 6f 20 75 73 65 here is to use
4f20: 20 74 68 65 20 53 79 73 69 6e 74 65 72 6e 61 6c the Sysinternal
4f30: 73 20 6a 75 6e 63 74 69 6f 6e 20 74 6f 6f 6c 20 s junction tool
4f40: 74 6f 20 63 72 65 61 74 65 20 61 20 68 61 72 64 to create a hard
4f50: 0a 23 20 20 20 20 6c 69 6e 6b 20 62 65 74 77 65 .# link betwe
4f60: 65 6e 20 61 20 22 74 63 6c 2d 38 2e 78 22 20 73 en a "tcl-8.x" s
4f70: 75 62 2d 64 69 72 65 63 74 6f 72 79 20 6f 66 20 ub-directory of
4f80: 74 68 65 20 46 6f 73 73 69 6c 20 73 6f 75 72 63 the Fossil sourc
4f90: 65 20 63 6f 64 65 0a 23 20 20 20 20 64 69 72 65 e code.# dire
4fa0: 63 74 6f 72 79 20 61 6e 64 20 74 68 65 20 74 61 ctory and the ta
4fb0: 72 67 65 74 20 54 63 6c 20 64 69 72 65 63 74 6f rget Tcl directo
4fc0: 72 79 2e 20 20 54 68 69 73 20 72 65 6d 6f 76 65 ry. This remove
4fd0: 73 20 74 68 65 20 6e 65 65 64 20 74 6f 0a 23 20 s the need to.#
4fe0: 20 20 20 68 61 72 64 2d 63 6f 64 65 20 74 68 65 hard-code the
4ff0: 20 6e 65 63 65 73 73 61 72 79 20 70 61 74 68 73 necessary paths
5000: 20 69 6e 20 74 68 69 73 20 4d 61 6b 65 66 69 6c in this Makefil
5010: 65 2e 0a 23 0a 54 43 4c 44 49 52 20 3d 20 24 28 e..#.TCLDIR = $(
5020: 53 52 43 44 49 52 29 2f 2e 2e 2f 63 6f 6d 70 61 SRCDIR)/../compa
5030: 74 2f 74 63 6c 2d 38 2e 36 0a 0a 23 23 23 23 20 t/tcl-8.6..####
5040: 54 68 65 20 54 63 6c 20 73 6f 75 72 63 65 20 63 The Tcl source c
5050: 6f 64 65 20 64 69 72 65 63 74 6f 72 79 2e 20 20 ode directory.
5060: 54 68 69 73 20 64 65 66 61 75 6c 74 73 20 74 6f This defaults to
5070: 20 74 68 65 20 73 61 6d 65 20 76 61 6c 75 65 20 the same value
5080: 61 73 0a 23 20 20 20 20 54 43 4c 44 49 52 20 6d as.# TCLDIR m
5090: 61 63 72 6f 20 28 61 62 6f 76 65 29 2c 20 77 68 acro (above), wh
50a0: 69 63 68 20 6d 61 79 20 6e 6f 74 20 62 65 20 63 ich may not be c
50b0: 6f 72 72 65 63 74 2e 20 20 54 68 69 73 20 76 61 orrect. This va
50c0: 6c 75 65 20 77 69 6c 6c 0a 23 20 20 20 20 6f 6e lue will.# on
50d0: 6c 79 20 62 65 20 75 73 65 64 20 69 66 20 74 68 ly be used if th
50e0: 65 20 46 4f 53 53 49 4c 5f 54 43 4c 5f 53 4f 55 e FOSSIL_TCL_SOU
50f0: 52 43 45 20 6d 61 63 72 6f 20 69 73 20 64 65 66 RCE macro is def
5100: 69 6e 65 64 2e 0a 23 0a 54 43 4c 53 52 43 44 49 ined..#.TCLSRCDI
5110: 52 20 3d 20 24 28 54 43 4c 44 49 52 29 0a 0a 23 R = $(TCLDIR)..#
5120: 23 23 23 20 54 68 65 20 54 63 6c 20 69 6e 63 6c ### The Tcl incl
5130: 75 64 65 20 61 6e 64 20 6c 69 62 72 61 72 79 20 ude and library
5140: 64 69 72 65 63 74 6f 72 69 65 73 2e 20 20 54 68 directories. Th
5150: 65 73 65 20 76 61 6c 75 65 73 20 77 69 6c 6c 20 ese values will
5160: 6f 6e 6c 79 20 62 65 0a 23 20 20 20 20 75 73 65 only be.# use
5170: 64 20 69 66 20 74 68 65 20 46 4f 53 53 49 4c 5f d if the FOSSIL_
5180: 54 43 4c 5f 53 4f 55 52 43 45 20 6d 61 63 72 6f TCL_SOURCE macro
5190: 20 69 73 20 6e 6f 74 20 64 65 66 69 6e 65 64 2e is not defined.
51a0: 0a 23 0a 54 43 4c 49 4e 43 44 49 52 20 3d 20 24 .#.TCLINCDIR = $
51b0: 28 54 43 4c 44 49 52 29 2f 69 6e 63 6c 75 64 65 (TCLDIR)/include
51c0: 0a 54 43 4c 4c 49 42 44 49 52 20 3d 20 24 28 54 .TCLLIBDIR = $(T
51d0: 43 4c 44 49 52 29 2f 6c 69 62 0a 0a 23 23 23 23 CLDIR)/lib..####
51e0: 20 54 63 6c 3a 20 57 68 69 63 68 20 54 63 6c 20 Tcl: Which Tcl
51f0: 6c 69 62 72 61 72 79 20 64 6f 20 77 65 20 77 61 library do we wa
5200: 6e 74 20 74 6f 20 75 73 65 20 28 38 2e 34 2c 20 nt to use (8.4,
5210: 38 2e 35 2c 20 38 2e 36 2c 20 65 74 63 29 3f 0a 8.5, 8.6, etc)?.
5220: 23 0a 69 66 64 65 66 20 46 4f 53 53 49 4c 5f 45 #.ifdef FOSSIL_E
5230: 4e 41 42 4c 45 5f 54 43 4c 5f 53 54 55 42 53 0a NABLE_TCL_STUBS.
5240: 69 66 6e 64 65 66 20 46 4f 53 53 49 4c 5f 45 4e ifndef FOSSIL_EN
5250: 41 42 4c 45 5f 54 43 4c 5f 50 52 49 56 41 54 45 ABLE_TCL_PRIVATE
5260: 5f 53 54 55 42 53 0a 4c 49 42 54 43 4c 20 3d 20 _STUBS.LIBTCL =
5270: 2d 6c 74 63 6c 73 74 75 62 38 36 0a 65 6e 64 69 -ltclstub86.endi
5280: 66 0a 54 43 4c 54 41 52 47 45 54 20 3d 20 6c 69 f.TCLTARGET = li
5290: 62 74 63 6c 73 74 75 62 38 36 2e 61 0a 65 6c 73 btclstub86.a.els
52a0: 65 0a 4c 49 42 54 43 4c 20 3d 20 2d 6c 74 63 6c e.LIBTCL = -ltcl
52b0: 38 36 0a 54 43 4c 54 41 52 47 45 54 20 3d 20 62 86.TCLTARGET = b
52c0: 69 6e 61 72 69 65 73 0a 65 6e 64 69 66 0a 0a 23 inaries.endif..#
52d0: 23 23 23 20 43 20 63 6f 6d 70 69 6c 65 72 20 66 ### C compiler f
52e0: 6f 72 20 75 73 65 20 69 6e 20 62 75 69 6c 64 69 or use in buildi
52f0: 6e 67 20 65 78 65 63 75 74 61 62 6c 65 73 20 74 ng executables t
5300: 68 61 74 20 77 69 6c 6c 20 72 75 6e 20 6f 6e 20 hat will run on
5310: 74 68 65 0a 23 20 20 20 20 74 61 72 67 65 74 20 the.# target
5320: 70 6c 61 74 66 6f 72 6d 2e 20 20 54 68 69 73 20 platform. This
5330: 69 73 20 75 73 75 61 6c 6c 79 20 74 68 65 20 73 is usually the s
5340: 61 6d 65 20 61 73 20 42 43 43 45 58 45 2c 20 75 ame as BCCEXE, u
5350: 6e 6c 65 73 73 20 79 6f 75 0a 23 20 20 20 20 61 nless you.# a
5360: 72 65 20 63 72 6f 73 73 2d 63 6f 6d 70 69 6c 69 re cross-compili
5370: 6e 67 2e 20 20 54 68 69 73 20 43 20 63 6f 6d 70 ng. This C comp
5380: 69 6c 65 72 20 62 75 69 6c 64 73 20 74 68 65 20 iler builds the
5390: 66 69 6e 69 73 68 65 64 20 62 69 6e 61 72 79 0a finished binary.
53a0: 23 20 20 20 20 66 6f 72 20 66 6f 73 73 69 6c 2e # for fossil.
53b0: 20 20 53 65 65 20 42 43 43 20 61 6e 64 20 42 43 See BCC and BC
53c0: 43 45 58 45 20 61 62 6f 76 65 20 66 6f 72 20 74 CEXE above for t
53d0: 68 65 20 43 20 63 6f 6d 70 69 6c 65 72 20 66 6f he C compiler fo
53e0: 72 0a 23 20 20 20 20 62 75 69 6c 64 69 6e 67 20 r.# building
53f0: 69 6e 74 65 72 6d 65 64 69 61 74 65 20 63 6f 64 intermediate cod
5400: 65 2d 67 65 6e 65 72 61 74 6f 72 20 74 6f 6f 6c e-generator tool
5410: 73 2e 0a 23 0a 54 43 43 45 58 45 20 3d 20 67 63 s..#.TCCEXE = gc
5420: 63 0a 0a 23 23 23 23 20 43 20 63 6f 6d 70 69 6c c..#### C compil
5430: 65 72 20 61 6e 64 20 6f 70 74 69 6f 6e 73 20 66 er and options f
5440: 6f 72 20 75 73 65 20 69 6e 20 62 75 69 6c 64 69 or use in buildi
5450: 6e 67 20 65 78 65 63 75 74 61 62 6c 65 73 20 74 ng executables t
5460: 68 61 74 20 77 69 6c 6c 0a 23 20 20 20 20 72 75 hat will.# ru
5470: 6e 20 6f 6e 20 74 68 65 20 74 61 72 67 65 74 20 n on the target
5480: 70 6c 61 74 66 6f 72 6d 2e 20 20 54 68 69 73 20 platform. This
5490: 69 73 20 75 73 75 61 6c 6c 79 20 74 68 65 20 61 is usually the a
54a0: 6c 6d 6f 73 74 20 74 68 65 20 73 61 6d 65 0a 23 lmost the same.#
54b0: 20 20 20 20 61 73 20 42 43 43 2c 20 75 6e 6c 65 as BCC, unle
54c0: 73 73 20 79 6f 75 20 61 72 65 20 63 72 6f 73 73 ss you are cross
54d0: 2d 63 6f 6d 70 69 6c 69 6e 67 2e 20 20 54 68 69 -compiling. Thi
54e0: 73 20 43 20 63 6f 6d 70 69 6c 65 72 20 62 75 69 s C compiler bui
54f0: 6c 64 73 0a 23 20 20 20 20 74 68 65 20 66 69 6e lds.# the fin
5500: 69 73 68 65 64 20 62 69 6e 61 72 79 20 66 6f 72 ished binary for
5510: 20 66 6f 73 73 69 6c 2e 20 20 54 68 65 20 42 43 fossil. The BC
5520: 43 20 63 6f 6d 70 69 6c 65 72 20 61 62 6f 76 65 C compiler above
5530: 20 69 73 20 75 73 65 64 0a 23 20 20 20 20 66 6f is used.# fo
5540: 72 20 62 75 69 6c 64 69 6e 67 20 69 6e 74 65 72 r building inter
5550: 6d 65 64 69 61 74 65 20 63 6f 64 65 2d 67 65 6e mediate code-gen
5560: 65 72 61 74 6f 72 20 74 6f 6f 6c 73 2e 0a 23 0a erator tools..#.
5570: 54 43 43 20 3d 20 24 28 50 52 45 46 49 58 29 24 TCC = $(PREFIX)$
5580: 28 54 43 43 45 58 45 29 20 2d 57 61 6c 6c 20 2d (TCCEXE) -Wall -
5590: 57 64 65 63 6c 61 72 61 74 69 6f 6e 2d 61 66 74 Wdeclaration-aft
55a0: 65 72 2d 73 74 61 74 65 6d 65 6e 74 0a 0a 23 23 er-statement..##
55b0: 23 23 20 41 64 64 20 74 68 65 20 6e 65 63 65 73 ## Add the neces
55c0: 73 61 72 79 20 63 6f 6d 6d 61 6e 64 20 6c 69 6e sary command lin
55d0: 65 20 6f 70 74 69 6f 6e 73 20 74 6f 20 62 75 69 e options to bui
55e0: 6c 64 20 77 69 74 68 20 64 65 62 75 67 67 69 6e ld with debuggin
55f0: 67 0a 23 20 20 20 20 73 79 6d 62 6f 6c 73 2c 20 g.# symbols,
5600: 69 66 20 65 6e 61 62 6c 65 64 2e 0a 23 0a 69 66 if enabled..#.if
5610: 64 65 66 20 46 4f 53 53 49 4c 5f 45 4e 41 42 4c def FOSSIL_ENABL
5620: 45 5f 53 59 4d 42 4f 4c 53 0a 54 43 43 20 2b 3d E_SYMBOLS.TCC +=
5630: 20 2d 67 0a 65 6c 73 65 0a 54 43 43 20 2b 3d 20 -g.else.TCC +=
5640: 2d 4f 73 0a 65 6e 64 69 66 0a 0a 23 23 23 23 20 -Os.endif..####
5650: 57 68 65 6e 20 6e 6f 74 20 75 73 69 6e 67 20 74 When not using t
5660: 68 65 20 6d 69 6e 69 7a 20 63 6f 6d 70 72 65 73 he miniz compres
5670: 73 69 6f 6e 20 6c 69 62 72 61 72 79 2c 20 7a 6c sion library, zl
5680: 69 62 20 69 73 20 72 65 71 75 69 72 65 64 2e 0a ib is required..
5690: 23 0a 69 66 6e 64 65 66 20 46 4f 53 53 49 4c 5f #.ifndef FOSSIL_
56a0: 45 4e 41 42 4c 45 5f 4d 49 4e 49 5a 0a 54 43 43 ENABLE_MINIZ.TCC
56b0: 20 2b 3d 20 2d 4c 24 28 5a 4c 49 42 44 49 52 29 += -L$(ZLIBDIR)
56c0: 20 2d 49 24 28 5a 49 4e 43 44 49 52 29 0a 65 6e -I$(ZINCDIR).en
56d0: 64 69 66 0a 0a 23 23 23 23 20 43 6f 6d 70 69 6c dif..#### Compil
56e0: 65 20 72 65 73 6f 75 72 63 65 73 20 66 6f 72 20 e resources for
56f0: 75 73 65 20 69 6e 20 62 75 69 6c 64 69 6e 67 20 use in building
5700: 65 78 65 63 75 74 61 62 6c 65 73 20 74 68 61 74 executables that
5710: 20 77 69 6c 6c 20 72 75 6e 0a 23 20 20 20 20 6f will run.# o
5720: 6e 20 74 68 65 20 74 61 72 67 65 74 20 70 6c 61 n the target pla
5730: 74 66 6f 72 6d 2e 0a 23 0a 52 43 43 20 3d 20 24 tform..#.RCC = $
5740: 28 50 52 45 46 49 58 29 77 69 6e 64 72 65 73 20 (PREFIX)windres
5750: 2d 49 24 28 53 52 43 44 49 52 29 0a 0a 69 66 6e -I$(SRCDIR)..ifn
5760: 64 65 66 20 46 4f 53 53 49 4c 5f 45 4e 41 42 4c def FOSSIL_ENABL
5770: 45 5f 4d 49 4e 49 5a 0a 52 43 43 20 2b 3d 20 2d E_MINIZ.RCC += -
5780: 49 24 28 5a 49 4e 43 44 49 52 29 0a 65 6e 64 69 I$(ZINCDIR).endi
5790: 66 0a 0a 23 20 57 69 74 68 20 48 54 54 50 53 20 f..# With HTTPS
57a0: 73 75 70 70 6f 72 74 0a 69 66 64 65 66 20 46 4f support.ifdef FO
57b0: 53 53 49 4c 5f 45 4e 41 42 4c 45 5f 53 53 4c 0a SSIL_ENABLE_SSL.
57c0: 54 43 43 20 2b 3d 20 2d 4c 24 28 4f 50 45 4e 53 TCC += -L$(OPENS
57d0: 53 4c 4c 49 42 44 49 52 29 20 2d 49 24 28 4f 50 SLLIBDIR) -I$(OP
57e0: 45 4e 53 53 4c 49 4e 43 44 49 52 29 0a 52 43 43 ENSSLINCDIR).RCC
57f0: 20 2b 3d 20 2d 49 24 28 4f 50 45 4e 53 53 4c 49 += -I$(OPENSSLI
5800: 4e 43 44 49 52 29 0a 65 6e 64 69 66 0a 0a 23 20 NCDIR).endif..#
5810: 57 69 74 68 20 54 63 6c 20 73 75 70 70 6f 72 74 With Tcl support
5820: 0a 69 66 64 65 66 20 46 4f 53 53 49 4c 5f 45 4e .ifdef FOSSIL_EN
5830: 41 42 4c 45 5f 54 43 4c 0a 69 66 64 65 66 20 46 ABLE_TCL.ifdef F
5840: 4f 53 53 49 4c 5f 54 43 4c 5f 53 4f 55 52 43 45 OSSIL_TCL_SOURCE
5850: 0a 54 43 43 20 2b 3d 20 2d 4c 24 28 54 43 4c 53 .TCC += -L$(TCLS
5860: 52 43 44 49 52 29 2f 77 69 6e 20 2d 49 24 28 54 RCDIR)/win -I$(T
5870: 43 4c 53 52 43 44 49 52 29 2f 67 65 6e 65 72 69 CLSRCDIR)/generi
5880: 63 20 2d 49 24 28 54 43 4c 53 52 43 44 49 52 29 c -I$(TCLSRCDIR)
5890: 2f 77 69 6e 0a 52 43 43 20 2b 3d 20 2d 49 24 28 /win.RCC += -I$(
58a0: 54 43 4c 53 52 43 44 49 52 29 2f 67 65 6e 65 72 TCLSRCDIR)/gener
58b0: 69 63 20 2d 49 24 28 54 43 4c 53 52 43 44 49 52 ic -I$(TCLSRCDIR
58c0: 29 2f 77 69 6e 0a 65 6c 73 65 0a 54 43 43 20 2b )/win.else.TCC +
58d0: 3d 20 2d 4c 24 28 54 43 4c 4c 49 42 44 49 52 29 = -L$(TCLLIBDIR)
58e0: 20 2d 49 24 28 54 43 4c 49 4e 43 44 49 52 29 0a -I$(TCLINCDIR).
58f0: 52 43 43 20 2b 3d 20 2d 49 24 28 54 43 4c 49 4e RCC += -I$(TCLIN
5900: 43 44 49 52 29 0a 65 6e 64 69 66 0a 65 6e 64 69 CDIR).endif.endi
5910: 66 0a 0a 23 20 57 69 74 68 20 6d 69 6e 69 7a 20 f..# With miniz
5920: 28 69 2e 65 2e 20 69 6e 73 74 65 61 64 20 6f 66 (i.e. instead of
5930: 20 7a 6c 69 62 29 0a 69 66 64 65 66 20 46 4f 53 zlib).ifdef FOS
5940: 53 49 4c 5f 45 4e 41 42 4c 45 5f 4d 49 4e 49 5a SIL_ENABLE_MINIZ
5950: 0a 54 43 43 20 2b 3d 20 2d 44 46 4f 53 53 49 4c .TCC += -DFOSSIL
5960: 5f 45 4e 41 42 4c 45 5f 4d 49 4e 49 5a 3d 31 0a _ENABLE_MINIZ=1.
5970: 52 43 43 20 2b 3d 20 2d 44 46 4f 53 53 49 4c 5f RCC += -DFOSSIL_
5980: 45 4e 41 42 4c 45 5f 4d 49 4e 49 5a 3d 31 0a 65 ENABLE_MINIZ=1.e
5990: 6e 64 69 66 0a 0a 23 20 57 69 74 68 20 4d 69 6e ndif..# With Min
59a0: 47 57 20 63 6f 6d 6d 61 6e 64 20 6c 69 6e 65 20 GW command line
59b0: 68 61 6e 64 6c 69 6e 67 20 77 6f 72 6b 61 72 6f handling workaro
59c0: 75 6e 64 0a 69 66 64 65 66 20 4d 49 4e 47 57 5f und.ifdef MINGW_
59d0: 49 53 5f 33 32 42 49 54 5f 4f 4e 4c 59 0a 54 43 IS_32BIT_ONLY.TC
59e0: 43 20 2b 3d 20 2d 44 42 52 4f 4b 45 4e 5f 4d 49 C += -DBROKEN_MI
59f0: 4e 47 57 5f 43 4d 44 4c 49 4e 45 3d 31 0a 52 43 NGW_CMDLINE=1.RC
5a00: 43 20 2b 3d 20 2d 44 42 52 4f 4b 45 4e 5f 4d 49 C += -DBROKEN_MI
5a10: 4e 47 57 5f 43 4d 44 4c 49 4e 45 3d 31 0a 65 6e NGW_CMDLINE=1.en
5a20: 64 69 66 0a 0a 23 20 57 69 74 68 20 48 54 54 50 dif..# With HTTP
5a30: 53 20 73 75 70 70 6f 72 74 0a 69 66 64 65 66 20 S support.ifdef
5a40: 46 4f 53 53 49 4c 5f 45 4e 41 42 4c 45 5f 53 53 FOSSIL_ENABLE_SS
5a50: 4c 0a 54 43 43 20 2b 3d 20 2d 44 46 4f 53 53 49 L.TCC += -DFOSSI
5a60: 4c 5f 45 4e 41 42 4c 45 5f 53 53 4c 3d 31 0a 52 L_ENABLE_SSL=1.R
5a70: 43 43 20 2b 3d 20 2d 44 46 4f 53 53 49 4c 5f 45 CC += -DFOSSIL_E
5a80: 4e 41 42 4c 45 5f 53 53 4c 3d 31 0a 65 6e 64 69 NABLE_SSL=1.endi
5a90: 66 0a 0a 23 20 57 69 74 68 20 72 65 6c 61 74 69 f..# With relati
5aa0: 76 65 20 70 61 74 68 73 20 69 6e 20 65 78 74 65 ve paths in exte
5ab0: 72 6e 61 6c 20 64 69 66 66 2f 67 64 69 66 66 0a rnal diff/gdiff.
5ac0: 69 66 64 65 66 20 46 4f 53 53 49 4c 5f 45 4e 41 ifdef FOSSIL_ENA
5ad0: 42 4c 45 5f 45 58 45 43 5f 52 45 4c 5f 50 41 54 BLE_EXEC_REL_PAT
5ae0: 48 53 0a 54 43 43 20 2b 3d 20 2d 44 46 4f 53 53 HS.TCC += -DFOSS
5af0: 49 4c 5f 45 4e 41 42 4c 45 5f 45 58 45 43 5f 52 IL_ENABLE_EXEC_R
5b00: 45 4c 5f 50 41 54 48 53 3d 31 0a 52 43 43 20 2b EL_PATHS=1.RCC +
5b10: 3d 20 2d 44 46 4f 53 53 49 4c 5f 45 4e 41 42 4c = -DFOSSIL_ENABL
5b20: 45 5f 45 58 45 43 5f 52 45 4c 5f 50 41 54 48 53 E_EXEC_REL_PATHS
5b30: 3d 31 0a 65 6e 64 69 66 0a 0a 23 20 57 69 74 68 =1.endif..# With
5b40: 20 6c 65 67 61 63 79 20 74 72 65 61 74 6d 65 6e legacy treatmen
5b50: 74 20 6f 66 20 6d 76 2f 72 6d 0a 69 66 64 65 66 t of mv/rm.ifdef
5b60: 20 46 4f 53 53 49 4c 5f 45 4e 41 42 4c 45 5f 4c FOSSIL_ENABLE_L
5b70: 45 47 41 43 59 5f 4d 56 5f 52 4d 0a 54 43 43 20 EGACY_MV_RM.TCC
5b80: 2b 3d 20 2d 44 46 4f 53 53 49 4c 5f 45 4e 41 42 += -DFOSSIL_ENAB
5b90: 4c 45 5f 4c 45 47 41 43 59 5f 4d 56 5f 52 4d 3d LE_LEGACY_MV_RM=
5ba0: 31 0a 52 43 43 20 2b 3d 20 2d 44 46 4f 53 53 49 1.RCC += -DFOSSI
5bb0: 4c 5f 45 4e 41 42 4c 45 5f 4c 45 47 41 43 59 5f L_ENABLE_LEGACY_
5bc0: 4d 56 5f 52 4d 3d 31 0a 65 6e 64 69 66 0a 0a 23 MV_RM=1.endif..#
5bd0: 20 57 69 74 68 20 54 48 31 20 65 6d 62 65 64 64 With TH1 embedd
5be0: 65 64 20 64 6f 63 73 20 73 75 70 70 6f 72 74 0a ed docs support.
5bf0: 69 66 64 65 66 20 46 4f 53 53 49 4c 5f 45 4e 41 ifdef FOSSIL_ENA
5c00: 42 4c 45 5f 54 48 31 5f 44 4f 43 53 0a 54 43 43 BLE_TH1_DOCS.TCC
5c10: 20 2b 3d 20 2d 44 46 4f 53 53 49 4c 5f 45 4e 41 += -DFOSSIL_ENA
5c20: 42 4c 45 5f 54 48 31 5f 44 4f 43 53 3d 31 0a 52 BLE_TH1_DOCS=1.R
5c30: 43 43 20 2b 3d 20 2d 44 46 4f 53 53 49 4c 5f 45 CC += -DFOSSIL_E
5c40: 4e 41 42 4c 45 5f 54 48 31 5f 44 4f 43 53 3d 31 NABLE_TH1_DOCS=1
5c50: 0a 65 6e 64 69 66 0a 0a 23 20 57 69 74 68 20 54 .endif..# With T
5c60: 48 31 20 68 6f 6f 6b 20 73 75 70 70 6f 72 74 0a H1 hook support.
5c70: 69 66 64 65 66 20 46 4f 53 53 49 4c 5f 45 4e 41 ifdef FOSSIL_ENA
5c80: 42 4c 45 5f 54 48 31 5f 48 4f 4f 4b 53 0a 54 43 BLE_TH1_HOOKS.TC
5c90: 43 20 2b 3d 20 2d 44 46 4f 53 53 49 4c 5f 45 4e C += -DFOSSIL_EN
5ca0: 41 42 4c 45 5f 54 48 31 5f 48 4f 4f 4b 53 3d 31 ABLE_TH1_HOOKS=1
5cb0: 0a 52 43 43 20 2b 3d 20 2d 44 46 4f 53 53 49 4c .RCC += -DFOSSIL
5cc0: 5f 45 4e 41 42 4c 45 5f 54 48 31 5f 48 4f 4f 4b _ENABLE_TH1_HOOK
5cd0: 53 3d 31 0a 65 6e 64 69 66 0a 0a 23 20 57 69 74 S=1.endif..# Wit
5ce0: 68 20 54 63 6c 20 73 75 70 70 6f 72 74 0a 69 66 h Tcl support.if
5cf0: 64 65 66 20 46 4f 53 53 49 4c 5f 45 4e 41 42 4c def FOSSIL_ENABL
5d00: 45 5f 54 43 4c 0a 54 43 43 20 2b 3d 20 2d 44 46 E_TCL.TCC += -DF
5d10: 4f 53 53 49 4c 5f 45 4e 41 42 4c 45 5f 54 43 4c OSSIL_ENABLE_TCL
5d20: 3d 31 0a 52 43 43 20 2b 3d 20 2d 44 46 4f 53 53 =1.RCC += -DFOSS
5d30: 49 4c 5f 45 4e 41 42 4c 45 5f 54 43 4c 3d 31 0a IL_ENABLE_TCL=1.
5d40: 23 20 45 69 74 68 65 72 20 73 74 61 74 69 63 61 # Either statica
5d50: 6c 6c 79 20 6c 69 6e 6b 65 64 20 6f 72 20 76 69 lly linked or vi
5d60: 61 20 73 74 75 62 73 0a 69 66 64 65 66 20 46 4f a stubs.ifdef FO
5d70: 53 53 49 4c 5f 45 4e 41 42 4c 45 5f 54 43 4c 5f SSIL_ENABLE_TCL_
5d80: 53 54 55 42 53 0a 54 43 43 20 2b 3d 20 2d 44 46 STUBS.TCC += -DF
5d90: 4f 53 53 49 4c 5f 45 4e 41 42 4c 45 5f 54 43 4c OSSIL_ENABLE_TCL
5da0: 5f 53 54 55 42 53 3d 31 20 2d 44 55 53 45 5f 54 _STUBS=1 -DUSE_T
5db0: 43 4c 5f 53 54 55 42 53 0a 52 43 43 20 2b 3d 20 CL_STUBS.RCC +=
5dc0: 2d 44 46 4f 53 53 49 4c 5f 45 4e 41 42 4c 45 5f -DFOSSIL_ENABLE_
5dd0: 54 43 4c 5f 53 54 55 42 53 3d 31 20 2d 44 55 53 TCL_STUBS=1 -DUS
5de0: 45 5f 54 43 4c 5f 53 54 55 42 53 0a 69 66 64 65 E_TCL_STUBS.ifde
5df0: 66 20 46 4f 53 53 49 4c 5f 45 4e 41 42 4c 45 5f f FOSSIL_ENABLE_
5e00: 54 43 4c 5f 50 52 49 56 41 54 45 5f 53 54 55 42 TCL_PRIVATE_STUB
5e10: 53 0a 54 43 43 20 2b 3d 20 2d 44 46 4f 53 53 49 S.TCC += -DFOSSI
5e20: 4c 5f 45 4e 41 42 4c 45 5f 54 43 4c 5f 50 52 49 L_ENABLE_TCL_PRI
5e30: 56 41 54 45 5f 53 54 55 42 53 3d 31 0a 52 43 43 VATE_STUBS=1.RCC
5e40: 20 2b 3d 20 2d 44 46 4f 53 53 49 4c 5f 45 4e 41 += -DFOSSIL_ENA
5e50: 42 4c 45 5f 54 43 4c 5f 50 52 49 56 41 54 45 5f BLE_TCL_PRIVATE_
5e60: 53 54 55 42 53 3d 31 0a 65 6e 64 69 66 0a 65 6c STUBS=1.endif.el
5e70: 73 65 0a 54 43 43 20 2b 3d 20 2d 44 53 54 41 54 se.TCC += -DSTAT
5e80: 49 43 5f 42 55 49 4c 44 0a 52 43 43 20 2b 3d 20 IC_BUILD.RCC +=
5e90: 2d 44 53 54 41 54 49 43 5f 42 55 49 4c 44 0a 65 -DSTATIC_BUILD.e
5ea0: 6e 64 69 66 0a 65 6e 64 69 66 0a 0a 23 20 57 69 ndif.endif..# Wi
5eb0: 74 68 20 4a 53 4f 4e 20 73 75 70 70 6f 72 74 0a th JSON support.
5ec0: 69 66 64 65 66 20 46 4f 53 53 49 4c 5f 45 4e 41 ifdef FOSSIL_ENA
5ed0: 42 4c 45 5f 4a 53 4f 4e 0a 54 43 43 20 2b 3d 20 BLE_JSON.TCC +=
5ee0: 2d 44 46 4f 53 53 49 4c 5f 45 4e 41 42 4c 45 5f -DFOSSIL_ENABLE_
5ef0: 4a 53 4f 4e 3d 31 0a 52 43 43 20 2b 3d 20 2d 44 JSON=1.RCC += -D
5f00: 46 4f 53 53 49 4c 5f 45 4e 41 42 4c 45 5f 4a 53 FOSSIL_ENABLE_JS
5f10: 4f 4e 3d 31 0a 65 6e 64 69 66 0a 0a 23 20 57 69 ON=1.endif..# Wi
5f20: 74 68 20 53 51 4c 69 74 65 20 45 6e 63 72 79 70 th SQLite Encryp
5f30: 74 69 6f 6e 20 45 78 74 65 6e 73 69 6f 6e 20 73 tion Extension s
5f40: 75 70 70 6f 72 74 0a 69 66 64 65 66 20 55 53 45 upport.ifdef USE
5f50: 5f 53 45 45 0a 54 43 43 20 2b 3d 20 2d 44 55 53 _SEE.TCC += -DUS
5f60: 45 5f 53 45 45 3d 31 0a 52 43 43 20 2b 3d 20 2d E_SEE=1.RCC += -
5f70: 44 55 53 45 5f 53 45 45 3d 31 0a 65 6e 64 69 66 DUSE_SEE=1.endif
5f80: 0a 0a 23 23 23 23 20 54 68 65 20 6f 70 74 69 6f ..#### The optio
5f90: 6e 20 2d 73 74 61 74 69 63 20 68 61 73 20 6e 6f n -static has no
5fa0: 20 65 66 66 65 63 74 20 6f 6e 20 4d 69 6e 47 57 effect on MinGW
5fb0: 28 2d 77 36 34 29 2c 20 6f 6e 6c 79 20 64 79 6e (-w64), only dyn
5fc0: 61 6d 69 63 0a 23 20 20 20 20 65 78 65 63 75 74 amic.# execut
5fd0: 61 62 6c 65 73 20 63 61 6e 20 62 65 20 62 75 69 ables can be bui
5fe0: 6c 74 20 77 68 65 6e 20 6c 69 6e 6b 69 6e 67 20 lt when linking
5ff0: 77 69 74 68 20 4d 53 56 43 52 54 2e 20 20 4f 70 with MSVCRT. Op
6000: 65 6e 53 53 4c 0a 23 20 20 20 20 28 6f 70 74 69 enSSL.# (opti
6010: 6f 6e 61 6c 29 20 61 6e 64 20 7a 6c 69 62 20 28 onal) and zlib (
6020: 72 65 71 75 69 72 65 64 29 20 68 6f 77 65 76 65 required) howeve
6030: 72 20 61 72 65 20 61 6c 77 61 79 73 20 6c 69 6e r are always lin
6040: 6b 65 64 20 69 6e 0a 23 20 20 20 20 73 74 61 74 ked in.# stat
6050: 69 63 61 6c 6c 79 2e 20 20 54 68 65 72 65 66 6f ically. Therefo
6060: 72 65 2c 20 74 68 65 20 46 4f 53 53 49 4c 5f 44 re, the FOSSIL_D
6070: 59 4e 41 4d 49 43 5f 42 55 49 4c 44 20 6f 70 74 YNAMIC_BUILD opt
6080: 69 6f 6e 20 64 6f 65 73 0a 23 20 20 20 20 6e 6f ion does.# no
6090: 74 20 72 65 61 6c 6c 79 20 61 70 70 6c 79 20 74 t really apply t
60a0: 6f 20 4d 69 6e 47 57 20 28 69 2e 65 2e 20 73 69 o MinGW (i.e. si
60b0: 6e 63 65 20 41 4c 4c 20 65 78 74 65 72 6e 61 6c nce ALL external
60c0: 20 6c 69 62 72 61 72 69 65 73 0a 23 20 20 20 20 libraries.#
60d0: 61 72 65 20 4e 4f 54 20 6c 69 6e 6b 65 64 20 64 are NOT linked d
60e0: 79 6e 61 6d 69 63 61 6c 6c 79 29 2e 0a 23 0a 23 ynamically)..#.#
60f0: 20 4c 49 42 20 3d 20 2d 73 74 61 74 69 63 0a 0a LIB = -static..
6100: 23 23 23 23 20 4d 69 6e 47 57 3a 20 49 66 20 61 #### MinGW: If a
6110: 76 61 69 6c 61 62 6c 65 2c 20 75 73 65 20 74 68 vailable, use th
6120: 65 20 55 6e 69 63 6f 64 65 20 63 61 70 61 62 6c e Unicode capabl
6130: 65 20 72 75 6e 74 69 6d 65 20 73 74 61 72 74 75 e runtime startu
6140: 70 20 63 6f 64 65 2e 0a 23 0a 69 66 6e 64 65 66 p code..#.ifndef
6150: 20 4d 49 4e 47 57 5f 49 53 5f 33 32 42 49 54 5f MINGW_IS_32BIT_
6160: 4f 4e 4c 59 0a 4c 49 42 20 2b 3d 20 2d 6d 75 6e ONLY.LIB += -mun
6170: 69 63 6f 64 65 0a 65 6e 64 69 66 0a 0a 23 23 23 icode.endif..###
6180: 23 20 53 51 4c 69 74 65 3a 20 49 66 20 65 6e 61 # SQLite: If ena
6190: 62 6c 65 64 2c 20 75 73 65 20 74 68 65 20 73 79 bled, use the sy
61a0: 73 74 65 6d 20 53 51 4c 69 74 65 20 6c 69 62 72 stem SQLite libr
61b0: 61 72 79 2e 0a 23 0a 69 66 64 65 66 20 55 53 45 ary..#.ifdef USE
61c0: 5f 53 59 53 54 45 4d 5f 53 51 4c 49 54 45 0a 4c _SYSTEM_SQLITE.L
61d0: 49 42 20 2b 3d 20 2d 6c 73 71 6c 69 74 65 33 0a IB += -lsqlite3.
61e0: 65 6e 64 69 66 0a 0a 23 23 23 23 20 4f 70 65 6e endif..#### Open
61f0: 53 53 4c 3a 20 41 64 64 20 74 68 65 20 6e 65 63 SSL: Add the nec
6200: 65 73 73 61 72 79 20 6c 69 62 72 61 72 69 65 73 essary libraries
6210: 20 72 65 71 75 69 72 65 64 2c 20 69 66 20 65 6e required, if en
6220: 61 62 6c 65 64 2e 0a 23 0a 69 66 64 65 66 20 46 abled..#.ifdef F
6230: 4f 53 53 49 4c 5f 45 4e 41 42 4c 45 5f 53 53 4c OSSIL_ENABLE_SSL
6240: 0a 4c 49 42 20 2b 3d 20 2d 6c 73 73 6c 20 2d 6c .LIB += -lssl -l
6250: 63 72 79 70 74 6f 20 2d 6c 67 64 69 33 32 20 2d crypto -lgdi32 -
6260: 6c 63 72 79 70 74 33 32 0a 65 6e 64 69 66 0a 0a lcrypt32.endif..
6270: 23 23 23 23 20 54 63 6c 3a 20 41 64 64 20 74 68 #### Tcl: Add th
6280: 65 20 6e 65 63 65 73 73 61 72 79 20 6c 69 62 72 e necessary libr
6290: 61 72 69 65 73 20 72 65 71 75 69 72 65 64 2c 20 aries required,
62a0: 69 66 20 65 6e 61 62 6c 65 64 2e 0a 23 0a 69 66 if enabled..#.if
62b0: 64 65 66 20 46 4f 53 53 49 4c 5f 45 4e 41 42 4c def FOSSIL_ENABL
62c0: 45 5f 54 43 4c 0a 4c 49 42 20 2b 3d 20 24 28 4c E_TCL.LIB += $(L
62d0: 49 42 54 43 4c 29 0a 65 6e 64 69 66 0a 0a 23 23 IBTCL).endif..##
62e0: 23 23 20 45 78 74 72 61 20 61 72 67 75 6d 65 6e ## Extra argumen
62f0: 74 73 20 66 6f 72 20 6c 69 6e 6b 69 6e 67 20 74 ts for linking t
6300: 68 65 20 66 69 6e 69 73 68 65 64 20 62 69 6e 61 he finished bina
6310: 72 79 2e 20 20 46 6f 73 73 69 6c 20 6e 65 65 64 ry. Fossil need
6320: 73 0a 23 20 20 20 20 74 6f 20 6c 69 6e 6b 20 61 s.# to link a
6330: 67 61 69 6e 73 74 20 74 68 65 20 5a 2d 4c 69 62 gainst the Z-Lib
6340: 20 63 6f 6d 70 72 65 73 73 69 6f 6e 20 6c 69 62 compression lib
6350: 72 61 72 79 2e 20 20 54 68 65 72 65 20 61 72 65 rary. There are
6360: 20 6e 6f 0a 23 20 20 20 20 6f 74 68 65 72 20 6d no.# other m
6370: 61 6e 64 61 74 6f 72 79 20 64 65 70 65 6e 64 65 andatory depende
6380: 6e 63 69 65 73 2e 0a 23 0a 4c 49 42 20 2b 3d 20 ncies..#.LIB +=
6390: 2d 6c 6d 69 6e 67 77 65 78 0a 0a 23 23 23 23 20 -lmingwex..####
63a0: 57 68 65 6e 20 6e 6f 74 20 75 73 69 6e 67 20 74 When not using t
63b0: 68 65 20 6d 69 6e 69 7a 20 63 6f 6d 70 72 65 73 he miniz compres
63c0: 73 69 6f 6e 20 6c 69 62 72 61 72 79 2c 20 7a 6c sion library, zl
63d0: 69 62 20 69 73 20 72 65 71 75 69 72 65 64 2e 0a ib is required..
63e0: 23 0a 69 66 6e 64 65 66 20 46 4f 53 53 49 4c 5f #.ifndef FOSSIL_
63f0: 45 4e 41 42 4c 45 5f 4d 49 4e 49 5a 0a 4c 49 42 ENABLE_MINIZ.LIB
6400: 20 2b 3d 20 2d 6c 7a 0a 65 6e 64 69 66 0a 0a 23 += -lz.endif..#
6410: 23 23 23 20 54 68 65 73 65 20 6c 69 62 72 61 72 ### These librar
6420: 69 65 73 20 4d 55 53 54 20 61 70 70 65 61 72 20 ies MUST appear
6430: 69 6e 20 74 68 65 20 73 61 6d 65 20 6f 72 64 65 in the same orde
6440: 72 20 61 73 20 74 68 65 79 20 64 6f 20 66 6f 72 r as they do for
6450: 20 54 63 6c 0a 23 20 20 20 20 6f 72 20 6c 69 6e Tcl.# or lin
6460: 6b 69 6e 67 20 77 69 74 68 20 69 74 20 77 69 6c king with it wil
6470: 6c 20 6e 6f 74 20 77 6f 72 6b 20 28 65 78 61 63 l not work (exac
6480: 74 20 72 65 61 73 6f 6e 20 75 6e 6b 6e 6f 77 6e t reason unknown
6490: 29 2e 0a 23 0a 69 66 64 65 66 20 46 4f 53 53 49 )..#.ifdef FOSSI
64a0: 4c 5f 45 4e 41 42 4c 45 5f 54 43 4c 0a 69 66 64 L_ENABLE_TCL.ifd
64b0: 65 66 20 46 4f 53 53 49 4c 5f 45 4e 41 42 4c 45 ef FOSSIL_ENABLE
64c0: 5f 54 43 4c 5f 53 54 55 42 53 0a 4c 49 42 20 2b _TCL_STUBS.LIB +
64d0: 3d 20 2d 6c 6b 65 72 6e 65 6c 33 32 20 2d 6c 77 = -lkernel32 -lw
64e0: 73 32 5f 33 32 0a 65 6c 73 65 0a 4c 49 42 20 2b s2_32.else.LIB +
64f0: 3d 20 2d 6c 6e 65 74 61 70 69 33 32 20 2d 6c 6b = -lnetapi32 -lk
6500: 65 72 6e 65 6c 33 32 20 2d 6c 75 73 65 72 33 32 ernel32 -luser32
6510: 20 2d 6c 61 64 76 61 70 69 33 32 20 2d 6c 77 73 -ladvapi32 -lws
6520: 32 5f 33 32 0a 65 6e 64 69 66 0a 65 6c 73 65 0a 2_32.endif.else.
6530: 4c 49 42 20 2b 3d 20 2d 6c 6b 65 72 6e 65 6c 33 LIB += -lkernel3
6540: 32 20 2d 6c 77 73 32 5f 33 32 0a 65 6e 64 69 66 2 -lws2_32.endif
6550: 0a 0a 23 23 23 23 20 54 63 6c 20 73 68 65 6c 6c ..#### Tcl shell
6560: 20 66 6f 72 20 75 73 65 20 69 6e 20 72 75 6e 6e for use in runn
6570: 69 6e 67 20 74 68 65 20 66 6f 73 73 69 6c 20 74 ing the fossil t
6580: 65 73 74 20 73 75 69 74 65 2e 20 20 54 68 69 73 est suite. This
6590: 20 69 73 20 6f 6e 6c 79 0a 23 20 20 20 20 75 73 is only.# us
65a0: 65 64 20 66 6f 72 20 74 65 73 74 69 6e 67 2e 0a ed for testing..
65b0: 23 0a 54 43 4c 53 48 20 3d 20 74 63 6c 73 68 0a #.TCLSH = tclsh.
65c0: 0a 23 23 23 23 20 4e 75 6c 6c 73 6f 66 74 20 69 .#### Nullsoft i
65d0: 6e 73 74 61 6c 6c 65 72 20 4d 61 6b 65 4e 53 49 nstaller MakeNSI
65e0: 53 20 6c 6f 63 61 74 69 6f 6e 0a 23 0a 4d 41 4b S location.#.MAK
65f0: 45 4e 53 49 53 20 3d 20 22 24 28 50 52 4f 47 52 ENSIS = "$(PROGR
6600: 41 4d 46 49 4c 45 53 29 5c 4e 53 49 53 5c 4d 61 AMFILES)\NSIS\Ma
6610: 6b 65 4e 53 49 53 2e 65 78 65 22 0a 0a 23 23 23 keNSIS.exe"..###
6620: 23 20 49 6e 6e 6f 20 53 65 74 75 70 20 65 78 65 # Inno Setup exe
6630: 63 75 74 61 62 6c 65 20 6c 6f 63 61 74 69 6f 6e cutable location
6640: 0a 23 0a 49 4e 4e 4f 53 45 54 55 50 20 3d 20 22 .#.INNOSETUP = "
6650: 24 28 50 52 4f 47 52 41 4d 46 49 4c 45 53 29 5c $(PROGRAMFILES)\
6660: 49 6e 6e 6f 20 53 65 74 75 70 20 35 5c 49 53 43 Inno Setup 5\ISC
6670: 43 2e 65 78 65 22 0a 0a 23 23 23 23 20 49 6e 63 C.exe"..#### Inc
6680: 6c 75 64 65 20 61 20 63 6f 6e 66 69 67 75 72 61 lude a configura
6690: 74 69 6f 6e 20 66 69 6c 65 20 74 68 61 74 20 63 tion file that c
66a0: 61 6e 20 6f 76 65 72 72 69 64 65 20 61 6e 79 20 an override any
66b0: 6f 6e 65 20 6f 66 20 74 68 65 73 65 20 73 65 74 one of these set
66c0: 74 69 6e 67 73 2e 0a 23 0a 2d 69 6e 63 6c 75 64 tings..#.-includ
66d0: 65 20 63 6f 6e 66 69 67 2e 77 33 32 0a 0a 23 20 e config.w32..#
66e0: 53 54 4f 50 20 48 45 52 45 0a 23 20 59 6f 75 20 STOP HERE.# You
66f0: 73 68 6f 75 6c 64 20 6e 6f 74 20 6e 65 65 64 20 should not need
6700: 74 6f 20 63 68 61 6e 67 65 20 61 6e 79 74 68 69 to change anythi
6710: 6e 67 20 62 65 6c 6f 77 20 74 68 69 73 20 6c 69 ng below this li
6720: 6e 65 0a 23 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d ne.#------------
6730: 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d ----------------
6740: 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d ----------------
6750: 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 0a 58 42 43 ------------.XBC
6760: 43 20 3d 20 24 28 42 43 43 29 20 24 28 43 46 4c C = $(BCC) $(CFL
6770: 41 47 53 29 0a 58 54 43 43 20 3d 20 24 28 54 43 AGS).XTCC = $(TC
6780: 43 29 20 24 28 43 46 4c 41 47 53 29 20 2d 49 2e C) $(CFLAGS) -I.
6790: 20 2d 49 24 28 53 52 43 44 49 52 29 0a 7d 0a 77 -I$(SRCDIR).}.w
67a0: 72 69 74 65 6c 6e 20 2d 6e 6f 6e 65 77 6c 69 6e riteln -nonewlin
67b0: 65 20 22 53 52 43 20 3d 22 0a 66 6f 72 65 61 63 e "SRC =".foreac
67c0: 68 20 73 20 5b 6c 73 6f 72 74 20 24 73 72 63 5d h s [lsort $src]
67d0: 20 7b 0a 20 20 77 72 69 74 65 6c 6e 20 2d 6e 6f {. writeln -no
67e0: 6e 65 77 6c 69 6e 65 20 22 20 5c 5c 5c 6e 20 20 newline " \\\n
67f0: 5c 24 28 53 52 43 44 49 52 29 2f 24 73 2e 63 22 \$(SRCDIR)/$s.c"
6800: 0a 7d 0a 77 72 69 74 65 6c 6e 20 22 5c 6e 22 0a .}.writeln "\n".
6810: 77 72 69 74 65 6c 6e 20 2d 6e 6f 6e 65 77 6c 69 writeln -nonewli
6820: 6e 65 20 22 45 58 54 52 41 5f 46 49 4c 45 53 20 ne "EXTRA_FILES
6830: 3d 22 0a 66 6f 72 65 61 63 68 20 73 20 5b 6c 73 =".foreach s [ls
6840: 6f 72 74 20 24 65 78 74 72 61 5f 66 69 6c 65 73 ort $extra_files
6850: 5d 20 7b 0a 20 20 77 72 69 74 65 6c 6e 20 2d 6e ] {. writeln -n
6860: 6f 6e 65 77 6c 69 6e 65 20 22 20 5c 5c 5c 6e 20 onewline " \\\n
6870: 20 5c 24 28 53 52 43 44 49 52 29 2f 24 73 22 0a \$(SRCDIR)/$s".
6880: 7d 0a 77 72 69 74 65 6c 6e 20 22 5c 6e 22 0a 77 }.writeln "\n".w
6890: 72 69 74 65 6c 6e 20 2d 6e 6f 6e 65 77 6c 69 6e riteln -nonewlin
68a0: 65 20 22 54 52 41 4e 53 5f 53 52 43 20 3d 22 0a e "TRANS_SRC =".
68b0: 66 6f 72 65 61 63 68 20 73 20 5b 6c 73 6f 72 74 foreach s [lsort
68c0: 20 24 73 72 63 5d 20 7b 0a 20 20 77 72 69 74 65 $src] {. write
68d0: 6c 6e 20 2d 6e 6f 6e 65 77 6c 69 6e 65 20 22 20 ln -nonewline "
68e0: 5c 5c 5c 6e 20 20 5c 24 28 4f 42 4a 44 49 52 29 \\\n \$(OBJDIR)
68f0: 2f 24 7b 73 7d 5f 2e 63 22 0a 7d 0a 77 72 69 74 /${s}_.c".}.writ
6900: 65 6c 6e 20 22 5c 6e 22 0a 77 72 69 74 65 6c 6e eln "\n".writeln
6910: 20 2d 6e 6f 6e 65 77 6c 69 6e 65 20 22 4f 42 4a -nonewline "OBJ
6920: 20 3d 22 0a 66 6f 72 65 61 63 68 20 73 20 5b 6c =".foreach s [l
6930: 73 6f 72 74 20 24 73 72 63 5d 20 7b 0a 20 20 77 sort $src] {. w
6940: 72 69 74 65 6c 6e 20 2d 6e 6f 6e 65 77 6c 69 6e riteln -nonewlin
6950: 65 20 22 20 5c 5c 5c 6e 20 5c 24 28 4f 42 4a 44 e " \\\n \$(OBJD
6960: 49 52 29 2f 24 73 2e 6f 22 0a 7d 0a 77 72 69 74 IR)/$s.o".}.writ
6970: 65 6c 6e 20 22 5c 6e 22 0a 77 72 69 74 65 6c 6e eln "\n".writeln
6980: 20 22 41 50 50 4e 41 4d 45 20 20 20 20 3d 20 24 "APPNAME = $
6990: 7b 6e 61 6d 65 7d 2e 65 78 65 22 0a 77 72 69 74 {name}.exe".writ
69a0: 65 6c 6e 20 22 41 50 50 54 41 52 47 45 54 53 20 eln "APPTARGETS
69b0: 3d 22 0a 77 72 69 74 65 6c 6e 20 7b 0a 23 23 23 =".writeln {.###
69c0: 23 20 49 66 20 74 68 65 20 55 53 45 5f 57 49 4e # If the USE_WIN
69d0: 44 4f 57 53 20 76 61 72 69 61 62 6c 65 20 65 78 DOWS variable ex
69e0: 69 73 74 73 2c 20 69 74 20 69 73 20 61 73 73 75 ists, it is assu
69f0: 6d 65 64 20 74 68 61 74 20 77 65 20 61 72 65 20 med that we are
6a00: 62 75 69 6c 64 69 6e 67 0a 23 20 20 20 20 69 6e building.# in
6a10: 73 69 64 65 20 6f 66 20 61 20 57 69 6e 64 6f 77 side of a Window
6a20: 73 2d 73 74 79 6c 65 20 73 68 65 6c 6c 3b 20 6f s-style shell; o
6a30: 74 68 65 72 77 69 73 65 2c 20 69 74 20 69 73 20 therwise, it is
6a40: 61 73 73 75 6d 65 64 20 74 68 61 74 20 77 65 20 assumed that we
6a50: 61 72 65 0a 23 20 20 20 20 62 75 69 6c 64 69 6e are.# buildin
6a60: 67 20 69 6e 73 69 64 65 20 6f 66 20 61 20 55 6e g inside of a Un
6a70: 69 78 2d 73 74 79 6c 65 20 73 68 65 6c 6c 2e 20 ix-style shell.
6a80: 20 4e 6f 74 65 20 74 68 61 74 20 74 68 65 20 22 Note that the "
6a90: 6d 6f 76 65 22 20 63 6f 6d 6d 61 6e 64 20 69 73 move" command is
6aa0: 0a 23 20 20 20 20 62 72 6f 6b 65 6e 20 77 68 65 .# broken whe
6ab0: 6e 20 61 74 74 65 6d 70 74 69 6e 67 20 74 6f 20 n attempting to
6ac0: 75 73 65 20 69 74 20 66 72 6f 6d 20 74 68 65 20 use it from the
6ad0: 57 69 6e 64 6f 77 73 20 73 68 65 6c 6c 20 76 69 Windows shell vi
6ae0: 61 20 4d 69 6e 47 57 20 6d 61 6b 65 0a 23 20 20 a MinGW make.#
6af0: 20 20 62 65 63 61 75 73 65 20 74 68 65 20 53 48 because the SH
6b00: 45 4c 4c 20 76 61 72 69 61 62 6c 65 20 69 73 20 ELL variable is
6b10: 6f 6e 6c 79 20 75 73 65 64 20 66 6f 72 20 63 65 only used for ce
6b20: 72 74 61 69 6e 20 63 6f 6d 6d 61 6e 64 73 20 74 rtain commands t
6b30: 68 61 74 20 61 72 65 0a 23 20 20 20 20 72 65 63 hat are.# rec
6b40: 6f 67 6e 69 7a 65 64 20 69 6e 74 65 72 6e 61 6c ognized internal
6b50: 6c 79 20 62 79 20 6d 61 6b 65 2e 0a 23 0a 69 66 ly by make..#.if
6b60: 64 65 66 20 55 53 45 5f 57 49 4e 44 4f 57 53 0a def USE_WINDOWS.
6b70: 54 52 41 4e 53 4c 41 54 45 20 20 20 3d 20 24 28 TRANSLATE = $(
6b80: 73 75 62 73 74 20 2f 2c 5c 2c 24 28 4f 42 4a 44 subst /,\,$(OBJD
6b90: 49 52 29 2f 74 72 61 6e 73 6c 61 74 65 2e 65 78 IR)/translate.ex
6ba0: 65 29 0a 4d 41 4b 45 48 45 41 44 45 52 53 20 3d e).MAKEHEADERS =
6bb0: 20 24 28 73 75 62 73 74 20 2f 2c 5c 2c 24 28 4f $(subst /,\,$(O
6bc0: 42 4a 44 49 52 29 2f 6d 61 6b 65 68 65 61 64 65 BJDIR)/makeheade
6bd0: 72 73 2e 65 78 65 29 0a 4d 4b 49 4e 44 45 58 20 rs.exe).MKINDEX
6be0: 20 20 20 20 3d 20 24 28 73 75 62 73 74 20 2f 2c = $(subst /,
6bf0: 5c 2c 24 28 4f 42 4a 44 49 52 29 2f 6d 6b 69 6e \,$(OBJDIR)/mkin
6c00: 64 65 78 2e 65 78 65 29 0a 4d 4b 42 55 49 4c 54 dex.exe).MKBUILT
6c10: 49 4e 20 20 20 3d 20 24 28 73 75 62 73 74 20 2f IN = $(subst /
6c20: 2c 5c 2c 24 28 4f 42 4a 44 49 52 29 2f 6d 6b 62 ,\,$(OBJDIR)/mkb
6c30: 75 69 6c 74 69 6e 2e 65 78 65 29 0a 4d 4b 56 45 uiltin.exe).MKVE
6c40: 52 53 49 4f 4e 20 20 20 3d 20 24 28 73 75 62 73 RSION = $(subs
6c50: 74 20 2f 2c 5c 2c 24 28 4f 42 4a 44 49 52 29 2f t /,\,$(OBJDIR)/
6c60: 6d 6b 76 65 72 73 69 6f 6e 2e 65 78 65 29 0a 4d mkversion.exe).M
6c70: 4b 43 53 53 20 20 20 20 20 20 20 3d 20 24 28 73 KCSS = $(s
6c80: 75 62 73 74 20 2f 2c 5c 2c 24 28 4f 42 4a 44 49 ubst /,\,$(OBJDI
6c90: 52 29 2f 6d 6b 63 73 73 2e 65 78 65 29 0a 43 4f R)/mkcss.exe).CO
6ca0: 44 45 43 48 45 43 4b 31 20 20 3d 20 24 28 73 75 DECHECK1 = $(su
6cb0: 62 73 74 20 2f 2c 5c 2c 24 28 4f 42 4a 44 49 52 bst /,\,$(OBJDIR
6cc0: 29 2f 63 6f 64 65 63 68 65 63 6b 31 2e 65 78 65 )/codecheck1.exe
6cd0: 29 0a 43 41 54 20 20 20 20 20 20 20 20 20 3d 20 ).CAT =
6ce0: 74 79 70 65 0a 43 50 20 20 20 20 20 20 20 20 20 type.CP
6cf0: 20 3d 20 63 6f 70 79 0a 47 52 45 50 20 20 20 20 = copy.GREP
6d00: 20 20 20 20 3d 20 66 69 6e 64 0a 4d 56 20 20 20 = find.MV
6d10: 20 20 20 20 20 20 20 3d 20 63 6f 70 79 0a 52 4d = copy.RM
6d20: 20 20 20 20 20 20 20 20 20 20 3d 20 64 65 6c 20 = del
6d30: 2f 51 0a 4d 4b 44 49 52 20 20 20 20 20 20 20 3d /Q.MKDIR =
6d40: 20 2d 6d 6b 64 69 72 0a 52 4d 44 49 52 20 20 20 -mkdir.RMDIR
6d50: 20 20 20 20 3d 20 72 6d 64 69 72 20 2f 53 20 2f = rmdir /S /
6d60: 51 0a 65 6c 73 65 0a 54 52 41 4e 53 4c 41 54 45 Q.else.TRANSLATE
6d70: 20 20 20 3d 20 24 28 4f 42 4a 44 49 52 29 2f 74 = $(OBJDIR)/t
6d80: 72 61 6e 73 6c 61 74 65 2e 65 78 65 0a 4d 41 4b ranslate.exe.MAK
6d90: 45 48 45 41 44 45 52 53 20 3d 20 24 28 4f 42 4a EHEADERS = $(OBJ
6da0: 44 49 52 29 2f 6d 61 6b 65 68 65 61 64 65 72 73 DIR)/makeheaders
6db0: 2e 65 78 65 0a 4d 4b 49 4e 44 45 58 20 20 20 20 .exe.MKINDEX
6dc0: 20 3d 20 24 28 4f 42 4a 44 49 52 29 2f 6d 6b 69 = $(OBJDIR)/mki
6dd0: 6e 64 65 78 2e 65 78 65 0a 4d 4b 42 55 49 4c 54 ndex.exe.MKBUILT
6de0: 49 4e 20 20 20 3d 20 24 28 4f 42 4a 44 49 52 29 IN = $(OBJDIR)
6df0: 2f 6d 6b 62 75 69 6c 74 69 6e 2e 65 78 65 0a 4d /mkbuiltin.exe.M
6e00: 4b 56 45 52 53 49 4f 4e 20 20 20 3d 20 24 28 4f KVERSION = $(O
6e10: 42 4a 44 49 52 29 2f 6d 6b 76 65 72 73 69 6f 6e BJDIR)/mkversion
6e20: 2e 65 78 65 0a 4d 4b 43 53 53 20 20 20 20 20 20 .exe.MKCSS
6e30: 20 3d 20 24 28 4f 42 4a 44 49 52 29 2f 6d 6b 63 = $(OBJDIR)/mkc
6e40: 73 73 2e 65 78 65 0a 43 4f 44 45 43 48 45 43 4b ss.exe.CODECHECK
6e50: 31 20 20 3d 20 24 28 4f 42 4a 44 49 52 29 2f 63 1 = $(OBJDIR)/c
6e60: 6f 64 65 63 68 65 63 6b 31 2e 65 78 65 0a 43 41 odecheck1.exe.CA
6e70: 54 20 20 20 20 20 20 20 20 20 3d 20 63 61 74 0a T = cat.
6e80: 43 50 20 20 20 20 20 20 20 20 20 20 3d 20 63 70 CP = cp
6e90: 0a 47 52 45 50 20 20 20 20 20 20 20 20 3d 20 67 .GREP = g
6ea0: 72 65 70 0a 4d 56 20 20 20 20 20 20 20 20 20 20 rep.MV
6eb0: 3d 20 6d 76 0a 52 4d 20 20 20 20 20 20 20 20 20 = mv.RM
6ec0: 20 3d 20 72 6d 20 2d 66 0a 4d 4b 44 49 52 20 20 = rm -f.MKDIR
6ed0: 20 20 20 20 20 3d 20 2d 6d 6b 64 69 72 20 2d 70 = -mkdir -p
6ee0: 0a 52 4d 44 49 52 20 20 20 20 20 20 20 3d 20 72 .RMDIR = r
6ef0: 6d 20 2d 72 66 0a 65 6e 64 69 66 7d 0a 0a 77 72 m -rf.endif}..wr
6f00: 69 74 65 6c 6e 20 7b 0a 61 6c 6c 3a 09 24 28 4f iteln {.all:.$(O
6f10: 42 4a 44 49 52 29 20 24 28 41 50 50 4e 41 4d 45 BJDIR) $(APPNAME
6f20: 29 0a 0a 24 28 4f 42 4a 44 49 52 29 2f 66 6f 73 )..$(OBJDIR)/fos
6f30: 73 69 6c 2e 6f 3a 09 24 28 53 52 43 44 49 52 29 sil.o:.$(SRCDIR)
6f40: 2f 2e 2e 2f 77 69 6e 2f 66 6f 73 73 69 6c 2e 72 /../win/fossil.r
6f50: 63 20 24 28 4f 42 4a 44 49 52 29 2f 56 45 52 53 c $(OBJDIR)/VERS
6f60: 49 4f 4e 2e 68 20 24 28 4f 42 4a 44 49 52 29 2f ION.h $(OBJDIR)/
6f70: 64 65 66 61 75 6c 74 5f 63 73 73 2e 68 0a 69 66 default_css.h.if
6f80: 64 65 66 20 55 53 45 5f 57 49 4e 44 4f 57 53 0a def USE_WINDOWS.
6f90: 09 24 28 43 41 54 29 20 24 28 73 75 62 73 74 20 .$(CAT) $(subst
6fa0: 2f 2c 5c 2c 24 28 53 52 43 44 49 52 29 5c 6d 69 /,\,$(SRCDIR)\mi
6fb0: 6e 69 7a 2e 63 29 20 7c 20 24 28 47 52 45 50 29 niz.c) | $(GREP)
6fc0: 20 22 64 65 66 69 6e 65 20 4d 5a 5f 56 45 52 53 "define MZ_VERS
6fd0: 49 4f 4e 22 20 3e 20 24 28 73 75 62 73 74 20 2f ION" > $(subst /
6fe0: 2c 5c 2c 24 28 4f 42 4a 44 49 52 29 5c 6d 69 6e ,\,$(OBJDIR)\min
6ff0: 69 7a 76 65 72 2e 68 29 0a 09 24 28 43 50 29 20 izver.h)..$(CP)
7000: 24 28 73 75 62 73 74 20 2f 2c 5c 2c 24 28 53 52 $(subst /,\,$(SR
7010: 43 44 49 52 29 5c 2e 2e 5c 77 69 6e 5c 66 6f 73 CDIR)\..\win\fos
7020: 73 69 6c 2e 72 63 29 20 24 28 73 75 62 73 74 20 sil.rc) $(subst
7030: 2f 2c 5c 2c 24 28 4f 42 4a 44 49 52 29 29 0a 09 /,\,$(OBJDIR))..
7040: 24 28 43 50 29 20 24 28 73 75 62 73 74 20 2f 2c $(CP) $(subst /,
7050: 5c 2c 24 28 53 52 43 44 49 52 29 5c 2e 2e 5c 77 \,$(SRCDIR)\..\w
7060: 69 6e 5c 66 6f 73 73 69 6c 2e 69 63 6f 29 20 24 in\fossil.ico) $
7070: 28 73 75 62 73 74 20 2f 2c 5c 2c 24 28 4f 42 4a (subst /,\,$(OBJ
7080: 44 49 52 29 29 0a 09 24 28 43 50 29 20 24 28 73 DIR))..$(CP) $(s
7090: 75 62 73 74 20 2f 2c 5c 2c 24 28 53 52 43 44 49 ubst /,\,$(SRCDI
70a0: 52 29 5c 2e 2e 5c 77 69 6e 5c 66 6f 73 73 69 6c R)\..\win\fossil
70b0: 2e 65 78 65 2e 6d 61 6e 69 66 65 73 74 29 20 24 .exe.manifest) $
70c0: 28 73 75 62 73 74 20 2f 2c 5c 2c 24 28 4f 42 4a (subst /,\,$(OBJ
70d0: 44 49 52 29 29 0a 65 6c 73 65 0a 09 24 28 43 41 DIR)).else..$(CA
70e0: 54 29 20 24 28 53 52 43 44 49 52 29 2f 6d 69 6e T) $(SRCDIR)/min
70f0: 69 7a 2e 63 20 7c 20 24 28 47 52 45 50 29 20 22 iz.c | $(GREP) "
7100: 64 65 66 69 6e 65 20 4d 5a 5f 56 45 52 53 49 4f define MZ_VERSIO
7110: 4e 22 20 3e 20 24 28 4f 42 4a 44 49 52 29 2f 6d N" > $(OBJDIR)/m
7120: 69 6e 69 7a 76 65 72 2e 68 0a 09 24 28 43 50 29 inizver.h..$(CP)
7130: 20 24 28 53 52 43 44 49 52 29 2f 2e 2e 2f 77 69 $(SRCDIR)/../wi
7140: 6e 2f 66 6f 73 73 69 6c 2e 72 63 20 24 28 4f 42 n/fossil.rc $(OB
7150: 4a 44 49 52 29 0a 09 24 28 43 50 29 20 24 28 53 JDIR)..$(CP) $(S
7160: 52 43 44 49 52 29 2f 2e 2e 2f 77 69 6e 2f 66 6f RCDIR)/../win/fo
7170: 73 73 69 6c 2e 69 63 6f 20 24 28 4f 42 4a 44 49 ssil.ico $(OBJDI
7180: 52 29 0a 09 24 28 43 50 29 20 24 28 53 52 43 44 R)..$(CP) $(SRCD
7190: 49 52 29 2f 2e 2e 2f 77 69 6e 2f 66 6f 73 73 69 IR)/../win/fossi
71a0: 6c 2e 65 78 65 2e 6d 61 6e 69 66 65 73 74 20 24 l.exe.manifest $
71b0: 28 4f 42 4a 44 49 52 29 0a 65 6e 64 69 66 0a 09 (OBJDIR).endif..
71c0: 24 28 52 43 43 29 20 24 28 4f 42 4a 44 49 52 29 $(RCC) $(OBJDIR)
71d0: 2f 66 6f 73 73 69 6c 2e 72 63 20 2d 6f 20 24 28 /fossil.rc -o $(
71e0: 4f 42 4a 44 49 52 29 2f 66 6f 73 73 69 6c 2e 6f OBJDIR)/fossil.o
71f0: 0a 0a 69 6e 73 74 61 6c 6c 3a 09 24 28 4f 42 4a ..install:.$(OBJ
7200: 44 49 52 29 20 24 28 41 50 50 4e 41 4d 45 29 0a DIR) $(APPNAME).
7210: 69 66 64 65 66 20 55 53 45 5f 57 49 4e 44 4f 57 ifdef USE_WINDOW
7220: 53 0a 09 24 28 4d 4b 44 49 52 29 20 24 28 73 75 S..$(MKDIR) $(su
7230: 62 73 74 20 2f 2c 5c 2c 24 28 49 4e 53 54 41 4c bst /,\,$(INSTAL
7240: 4c 44 49 52 29 29 0a 09 24 28 4d 56 29 20 24 28 LDIR))..$(MV) $(
7250: 73 75 62 73 74 20 2f 2c 5c 2c 24 28 41 50 50 4e subst /,\,$(APPN
7260: 41 4d 45 29 29 20 24 28 73 75 62 73 74 20 2f 2c AME)) $(subst /,
7270: 5c 2c 24 28 49 4e 53 54 41 4c 4c 44 49 52 29 29 \,$(INSTALLDIR))
7280: 0a 65 6c 73 65 0a 09 24 28 4d 4b 44 49 52 29 20 .else..$(MKDIR)
7290: 24 28 49 4e 53 54 41 4c 4c 44 49 52 29 0a 09 24 $(INSTALLDIR)..$
72a0: 28 4d 56 29 20 24 28 41 50 50 4e 41 4d 45 29 20 (MV) $(APPNAME)
72b0: 24 28 49 4e 53 54 41 4c 4c 44 49 52 29 0a 65 6e $(INSTALLDIR).en
72c0: 64 69 66 0a 0a 24 28 4f 42 4a 44 49 52 29 3a 0a dif..$(OBJDIR):.
72d0: 69 66 64 65 66 20 55 53 45 5f 57 49 4e 44 4f 57 ifdef USE_WINDOW
72e0: 53 0a 09 24 28 4d 4b 44 49 52 29 20 24 28 73 75 S..$(MKDIR) $(su
72f0: 62 73 74 20 2f 2c 5c 2c 24 28 4f 42 4a 44 49 52 bst /,\,$(OBJDIR
7300: 29 29 0a 65 6c 73 65 0a 09 24 28 4d 4b 44 49 52 )).else..$(MKDIR
7310: 29 20 24 28 4f 42 4a 44 49 52 29 0a 65 6e 64 69 ) $(OBJDIR).endi
7320: 66 0a 0a 24 28 54 52 41 4e 53 4c 41 54 45 29 3a f..$(TRANSLATE):
7330: 09 24 28 53 52 43 44 49 52 29 2f 74 72 61 6e 73 .$(SRCDIR)/trans
7340: 6c 61 74 65 2e 63 0a 09 24 28 58 42 43 43 29 20 late.c..$(XBCC)
7350: 2d 6f 20 24 40 20 24 28 53 52 43 44 49 52 29 2f -o $@ $(SRCDIR)/
7360: 74 72 61 6e 73 6c 61 74 65 2e 63 0a 0a 24 28 4d translate.c..$(M
7370: 41 4b 45 48 45 41 44 45 52 53 29 3a 09 24 28 53 AKEHEADERS):.$(S
7380: 52 43 44 49 52 29 2f 6d 61 6b 65 68 65 61 64 65 RCDIR)/makeheade
7390: 72 73 2e 63 0a 09 24 28 58 42 43 43 29 20 2d 6f rs.c..$(XBCC) -o
73a0: 20 24 40 20 24 28 53 52 43 44 49 52 29 2f 6d 61 $@ $(SRCDIR)/ma
73b0: 6b 65 68 65 61 64 65 72 73 2e 63 0a 0a 24 28 4d keheaders.c..$(M
73c0: 4b 49 4e 44 45 58 29 3a 09 24 28 53 52 43 44 49 KINDEX):.$(SRCDI
73d0: 52 29 2f 6d 6b 69 6e 64 65 78 2e 63 0a 09 24 28 R)/mkindex.c..$(
73e0: 58 42 43 43 29 20 2d 6f 20 24 40 20 24 28 53 52 XBCC) -o $@ $(SR
73f0: 43 44 49 52 29 2f 6d 6b 69 6e 64 65 78 2e 63 0a CDIR)/mkindex.c.
7400: 0a 24 28 4d 4b 42 55 49 4c 54 49 4e 29 3a 09 24 .$(MKBUILTIN):.$
7410: 28 53 52 43 44 49 52 29 2f 6d 6b 62 75 69 6c 74 (SRCDIR)/mkbuilt
7420: 69 6e 2e 63 0a 09 24 28 58 42 43 43 29 20 2d 6f in.c..$(XBCC) -o
7430: 20 24 40 20 24 28 53 52 43 44 49 52 29 2f 6d 6b $@ $(SRCDIR)/mk
7440: 62 75 69 6c 74 69 6e 2e 63 0a 0a 24 28 4d 4b 56 builtin.c..$(MKV
7450: 45 52 53 49 4f 4e 29 3a 20 24 28 53 52 43 44 49 ERSION): $(SRCDI
7460: 52 29 2f 6d 6b 76 65 72 73 69 6f 6e 2e 63 0a 09 R)/mkversion.c..
7470: 24 28 58 42 43 43 29 20 2d 6f 20 24 40 20 24 28 $(XBCC) -o $@ $(
7480: 53 52 43 44 49 52 29 2f 6d 6b 76 65 72 73 69 6f SRCDIR)/mkversio
7490: 6e 2e 63 0a 0a 24 28 4d 4b 43 53 53 29 3a 20 24 n.c..$(MKCSS): $
74a0: 28 53 52 43 44 49 52 29 2f 6d 6b 63 73 73 2e 63 (SRCDIR)/mkcss.c
74b0: 0a 09 24 28 58 42 43 43 29 20 2d 6f 20 24 40 20 ..$(XBCC) -o $@
74c0: 24 28 53 52 43 44 49 52 29 2f 6d 6b 63 73 73 2e $(SRCDIR)/mkcss.
74d0: 63 0a 0a 24 28 43 4f 44 45 43 48 45 43 4b 31 29 c..$(CODECHECK1)
74e0: 3a 09 24 28 53 52 43 44 49 52 29 2f 63 6f 64 65 :.$(SRCDIR)/code
74f0: 63 68 65 63 6b 31 2e 63 0a 09 24 28 58 42 43 43 check1.c..$(XBCC
7500: 29 20 2d 6f 20 24 40 20 24 28 53 52 43 44 49 52 ) -o $@ $(SRCDIR
7510: 29 2f 63 6f 64 65 63 68 65 63 6b 31 2e 63 0a 0a )/codecheck1.c..
7520: 23 20 57 41 52 4e 49 4e 47 2e 20 44 41 4e 47 45 # WARNING. DANGE
7530: 52 2e 20 52 75 6e 6e 69 6e 67 20 74 68 65 20 74 R. Running the t
7540: 65 73 74 20 73 75 69 74 65 20 6d 6f 64 69 66 69 est suite modifi
7550: 65 73 20 74 68 65 20 72 65 70 6f 73 69 74 6f 72 es the repositor
7560: 79 20 74 68 65 0a 23 20 62 75 69 6c 64 20 69 73 y the.# build is
7570: 20 64 6f 6e 65 20 66 72 6f 6d 2c 20 69 2e 65 2e done from, i.e.
7580: 20 74 68 65 20 63 68 65 63 6b 6f 75 74 20 62 65 the checkout be
7590: 6c 6f 6e 67 73 20 74 6f 2e 20 44 6f 20 6e 6f 74 longs to. Do not
75a0: 20 73 79 6e 63 2f 70 75 73 68 0a 23 20 74 68 65 sync/push.# the
75b0: 20 72 65 70 6f 73 69 74 6f 72 79 20 61 66 74 65 repository afte
75c0: 72 20 72 75 6e 6e 69 6e 67 20 74 68 65 20 74 65 r running the te
75d0: 73 74 73 2e 0a 74 65 73 74 3a 09 24 28 4f 42 4a sts..test:.$(OBJ
75e0: 44 49 52 29 20 24 28 41 50 50 4e 41 4d 45 29 0a DIR) $(APPNAME).
75f0: 09 24 28 54 43 4c 53 48 29 20 24 28 53 52 43 44 .$(TCLSH) $(SRCD
7600: 49 52 29 2f 2e 2e 2f 74 65 73 74 2f 74 65 73 74 IR)/../test/test
7610: 65 72 2e 74 63 6c 20 24 28 41 50 50 4e 41 4d 45 er.tcl $(APPNAME
7620: 29 0a 0a 24 28 4f 42 4a 44 49 52 29 2f 56 45 52 )..$(OBJDIR)/VER
7630: 53 49 4f 4e 2e 68 3a 09 24 28 53 52 43 44 49 52 SION.h:.$(SRCDIR
7640: 29 2f 2e 2e 2f 6d 61 6e 69 66 65 73 74 2e 75 75 )/../manifest.uu
7650: 69 64 20 24 28 53 52 43 44 49 52 29 2f 2e 2e 2f id $(SRCDIR)/../
7660: 6d 61 6e 69 66 65 73 74 20 24 28 4d 4b 56 45 52 manifest $(MKVER
7670: 53 49 4f 4e 29 0a 09 24 28 4d 4b 56 45 52 53 49 SION)..$(MKVERSI
7680: 4f 4e 29 20 24 28 53 52 43 44 49 52 29 2f 2e 2e ON) $(SRCDIR)/..
7690: 2f 6d 61 6e 69 66 65 73 74 2e 75 75 69 64 20 24 /manifest.uuid $
76a0: 28 53 52 43 44 49 52 29 2f 2e 2e 2f 6d 61 6e 69 (SRCDIR)/../mani
76b0: 66 65 73 74 20 24 28 53 52 43 44 49 52 29 2f 2e fest $(SRCDIR)/.
76c0: 2e 2f 56 45 52 53 49 4f 4e 20 3e 24 40 0a 0a 24 ./VERSION >$@..$
76d0: 28 4f 42 4a 44 49 52 29 2f 64 65 66 61 75 6c 74 (OBJDIR)/default
76e0: 5f 63 73 73 2e 68 3a 09 24 28 53 52 43 44 49 52 _css.h:.$(SRCDIR
76f0: 29 2f 64 65 66 61 75 6c 74 5f 63 73 73 2e 74 78 )/default_css.tx
7700: 74 20 24 28 4d 4b 43 53 53 29 0a 09 24 28 4d 4b t $(MKCSS)..$(MK
7710: 43 53 53 29 20 24 28 53 52 43 44 49 52 29 2f 64 CSS) $(SRCDIR)/d
7720: 65 66 61 75 6c 74 5f 63 73 73 2e 74 78 74 20 24 efault_css.txt $
7730: 40 0a 0a 23 20 54 68 65 20 55 53 45 5f 53 59 53 @..# The USE_SYS
7740: 54 45 4d 5f 53 51 4c 49 54 45 20 76 61 72 69 61 TEM_SQLITE varia
7750: 62 6c 65 20 6d 61 79 20 62 65 20 75 6e 64 65 66 ble may be undef
7760: 69 6e 65 64 2c 20 73 65 74 20 74 6f 20 30 2c 20 ined, set to 0,
7770: 6f 72 20 73 65 74 0a 23 20 74 6f 20 31 2e 20 49 or set.# to 1. I
7780: 66 20 69 74 20 69 73 20 73 65 74 20 74 6f 20 31 f it is set to 1
7790: 2c 20 74 68 65 6e 20 74 68 65 72 65 20 69 73 20 , then there is
77a0: 6e 6f 20 6e 65 65 64 20 74 6f 20 62 75 69 6c 64 no need to build
77b0: 20 6f 72 20 6c 69 6e 6b 0a 23 20 74 68 65 20 73 or link.# the s
77c0: 71 6c 69 74 65 33 2e 6f 20 6f 62 6a 65 63 74 2e qlite3.o object.
77d0: 20 49 6e 73 74 65 61 64 2c 20 74 68 65 20 73 79 Instead, the sy
77e0: 73 74 65 6d 20 53 51 4c 69 74 65 20 77 69 6c 6c stem SQLite will
77f0: 20 62 65 20 6c 69 6e 6b 65 64 0a 23 20 75 73 69 be linked.# usi
7800: 6e 67 20 2d 6c 73 71 6c 69 74 65 33 2e 0a 53 51 ng -lsqlite3..SQ
7810: 4c 49 54 45 33 5f 4f 42 4a 2e 30 20 3d 20 24 28 LITE3_OBJ.0 = $(
7820: 4f 42 4a 44 49 52 29 2f 73 71 6c 69 74 65 33 2e OBJDIR)/sqlite3.
7830: 6f 0a 53 51 4c 49 54 45 33 5f 4f 42 4a 2e 31 20 o.SQLITE3_OBJ.1
7840: 3d 0a 53 51 4c 49 54 45 33 5f 4f 42 4a 2e 20 20 =.SQLITE3_OBJ.
7850: 3d 20 24 28 53 51 4c 49 54 45 33 5f 4f 42 4a 2e = $(SQLITE3_OBJ.
7860: 30 29 0a 0a 23 20 54 68 65 20 46 4f 53 53 49 4c 0)..# The FOSSIL
7870: 5f 45 4e 41 42 4c 45 5f 4d 49 4e 49 5a 20 76 61 _ENABLE_MINIZ va
7880: 72 69 61 62 6c 65 20 6d 61 79 20 62 65 20 75 6e riable may be un
7890: 64 65 66 69 6e 65 64 2c 20 73 65 74 20 74 6f 20 defined, set to
78a0: 30 2c 20 6f 72 0a 23 20 73 65 74 20 74 6f 20 31 0, or.# set to 1
78b0: 2e 20 20 49 66 20 69 74 20 69 73 20 73 65 74 20 . If it is set
78c0: 74 6f 20 31 2c 20 74 68 65 20 6d 69 6e 69 7a 20 to 1, the miniz
78d0: 6c 69 62 72 61 72 79 20 69 6e 63 6c 75 64 65 64 library included
78e0: 20 69 6e 20 74 68 65 0a 23 20 73 6f 75 72 63 65 in the.# source
78f0: 20 74 72 65 65 20 73 68 6f 75 6c 64 20 62 65 20 tree should be
7900: 75 73 65 64 3b 20 6f 74 68 65 72 77 69 73 65 2c used; otherwise,
7910: 20 69 74 20 73 68 6f 75 6c 64 20 6e 6f 74 2e 0a it should not..
7920: 4d 49 4e 49 5a 5f 4f 42 4a 2e 30 20 3d 0a 4d 49 MINIZ_OBJ.0 =.MI
7930: 4e 49 5a 5f 4f 42 4a 2e 31 20 3d 20 24 28 4f 42 NIZ_OBJ.1 = $(OB
7940: 4a 44 49 52 29 2f 6d 69 6e 69 7a 2e 6f 0a 4d 49 JDIR)/miniz.o.MI
7950: 4e 49 5a 5f 4f 42 4a 2e 20 20 3d 20 24 28 4d 49 NIZ_OBJ. = $(MI
7960: 4e 49 5a 5f 4f 42 4a 2e 30 29 0a 0a 23 20 54 68 NIZ_OBJ.0)..# Th
7970: 65 20 55 53 45 5f 53 45 45 20 76 61 72 69 61 62 e USE_SEE variab
7980: 6c 65 20 6d 61 79 20 62 65 20 75 6e 64 65 66 69 le may be undefi
7990: 6e 65 64 2c 20 30 20 6f 72 20 31 2e 20 20 49 66 ned, 0 or 1. If
79a0: 20 75 6e 64 65 66 69 6e 65 64 20 6f 72 0a 23 20 undefined or.#
79b0: 30 2c 20 6f 72 64 69 6e 61 72 79 20 53 51 4c 69 0, ordinary SQLi
79c0: 74 65 20 69 73 20 75 73 65 64 2e 20 20 49 66 20 te is used. If
79d0: 31 2c 20 74 68 65 6e 20 73 71 6c 69 74 65 33 2d 1, then sqlite3-
79e0: 73 65 65 2e 63 20 28 6e 6f 74 20 70 61 72 74 20 see.c (not part
79f0: 6f 66 0a 23 20 74 68 65 20 73 6f 75 72 63 65 20 of.# the source
7a00: 74 72 65 65 29 20 69 73 20 75 73 65 64 20 61 6e tree) is used an
7a10: 64 20 65 78 74 72 61 20 66 6c 61 67 73 20 61 72 d extra flags ar
7a20: 65 20 70 72 6f 76 69 64 65 64 20 74 6f 20 65 6e e provided to en
7a30: 61 62 6c 65 0a 23 20 74 68 65 20 53 51 4c 69 74 able.# the SQLit
7a40: 65 20 45 6e 63 72 79 70 74 69 6f 6e 20 45 78 74 e Encryption Ext
7a50: 65 6e 73 69 6f 6e 2e 0a 53 51 4c 49 54 45 33 5f ension..SQLITE3_
7a60: 53 52 43 2e 30 20 3d 20 73 71 6c 69 74 65 33 2e SRC.0 = sqlite3.
7a70: 63 0a 53 51 4c 49 54 45 33 5f 53 52 43 2e 31 20 c.SQLITE3_SRC.1
7a80: 3d 20 73 71 6c 69 74 65 33 2d 73 65 65 2e 63 0a = sqlite3-see.c.
7a90: 53 51 4c 49 54 45 33 5f 53 52 43 2e 20 3d 20 73 SQLITE3_SRC. = s
7aa0: 71 6c 69 74 65 33 2e 63 0a 53 51 4c 49 54 45 33 qlite3.c.SQLITE3
7ab0: 5f 53 52 43 20 3d 20 24 28 53 52 43 44 49 52 29 _SRC = $(SRCDIR)
7ac0: 2f 24 28 53 51 4c 49 54 45 33 5f 53 52 43 2e 24 /$(SQLITE3_SRC.$
7ad0: 28 55 53 45 5f 53 45 45 29 29 0a 53 51 4c 49 54 (USE_SEE)).SQLIT
7ae0: 45 33 5f 53 48 45 4c 4c 5f 53 52 43 2e 30 20 3d E3_SHELL_SRC.0 =
7af0: 20 73 68 65 6c 6c 2e 63 0a 53 51 4c 49 54 45 33 shell.c.SQLITE3
7b00: 5f 53 48 45 4c 4c 5f 53 52 43 2e 31 20 3d 20 73 _SHELL_SRC.1 = s
7b10: 68 65 6c 6c 2d 73 65 65 2e 63 0a 53 51 4c 49 54 hell-see.c.SQLIT
7b20: 45 33 5f 53 48 45 4c 4c 5f 53 52 43 2e 20 3d 20 E3_SHELL_SRC. =
7b30: 73 68 65 6c 6c 2e 63 0a 53 51 4c 49 54 45 33 5f shell.c.SQLITE3_
7b40: 53 48 45 4c 4c 5f 53 52 43 20 3d 20 24 28 53 52 SHELL_SRC = $(SR
7b50: 43 44 49 52 29 2f 24 28 53 51 4c 49 54 45 33 5f CDIR)/$(SQLITE3_
7b60: 53 48 45 4c 4c 5f 53 52 43 2e 24 28 55 53 45 5f SHELL_SRC.$(USE_
7b70: 53 45 45 29 29 0a 53 45 45 5f 46 4c 41 47 53 2e SEE)).SEE_FLAGS.
7b80: 30 20 3d 0a 53 45 45 5f 46 4c 41 47 53 2e 31 20 0 =.SEE_FLAGS.1
7b90: 3d 20 2d 44 53 51 4c 49 54 45 5f 48 41 53 5f 43 = -DSQLITE_HAS_C
7ba0: 4f 44 45 43 20 2d 44 53 51 4c 49 54 45 5f 53 48 ODEC -DSQLITE_SH
7bb0: 45 4c 4c 5f 44 42 4b 45 59 5f 50 52 4f 43 3d 66 ELL_DBKEY_PROC=f
7bc0: 6f 73 73 69 6c 5f 6b 65 79 0a 53 45 45 5f 46 4c ossil_key.SEE_FL
7bd0: 41 47 53 2e 20 3d 0a 53 45 45 5f 46 4c 41 47 53 AGS. =.SEE_FLAGS
7be0: 20 3d 20 24 28 53 45 45 5f 46 4c 41 47 53 2e 24 = $(SEE_FLAGS.$
7bf0: 28 55 53 45 5f 53 45 45 29 29 0a 7d 0a 0a 77 72 (USE_SEE)).}..wr
7c00: 69 74 65 6c 6e 20 5b 73 74 72 69 6e 67 20 6d 61 iteln [string ma
7c10: 70 20 5b 6c 69 73 74 20 3c 3c 3c 4e 45 58 54 5f p [list <<<NEXT_
7c20: 4c 49 4e 45 3e 3e 3e 20 5c 5c 5d 20 7b 0a 45 58 LINE>>> \\] {.EX
7c30: 54 52 41 4f 42 4a 20 3d 20 3c 3c 3c 4e 45 58 54 TRAOBJ = <<<NEXT
7c40: 5f 4c 49 4e 45 3e 3e 3e 0a 20 24 28 53 51 4c 49 _LINE>>>. $(SQLI
7c50: 54 45 33 5f 4f 42 4a 2e 24 28 55 53 45 5f 53 59 TE3_OBJ.$(USE_SY
7c60: 53 54 45 4d 5f 53 51 4c 49 54 45 29 29 20 3c 3c STEM_SQLITE)) <<
7c70: 3c 4e 45 58 54 5f 4c 49 4e 45 3e 3e 3e 0a 20 24 <NEXT_LINE>>>. $
7c80: 28 4d 49 4e 49 5a 5f 4f 42 4a 2e 24 28 46 4f 53 (MINIZ_OBJ.$(FOS
7c90: 53 49 4c 5f 45 4e 41 42 4c 45 5f 4d 49 4e 49 5a SIL_ENABLE_MINIZ
7ca0: 29 29 20 3c 3c 3c 4e 45 58 54 5f 4c 49 4e 45 3e )) <<<NEXT_LINE>
7cb0: 3e 3e 0a 20 24 28 4f 42 4a 44 49 52 29 2f 73 68 >>. $(OBJDIR)/sh
7cc0: 65 6c 6c 2e 6f 20 3c 3c 3c 4e 45 58 54 5f 4c 49 ell.o <<<NEXT_LI
7cd0: 4e 45 3e 3e 3e 0a 20 24 28 4f 42 4a 44 49 52 29 NE>>>. $(OBJDIR)
7ce0: 2f 74 68 2e 6f 20 3c 3c 3c 4e 45 58 54 5f 4c 49 /th.o <<<NEXT_LI
7cf0: 4e 45 3e 3e 3e 0a 20 24 28 4f 42 4a 44 49 52 29 NE>>>. $(OBJDIR)
7d00: 2f 74 68 5f 6c 61 6e 67 2e 6f 20 3c 3c 3c 4e 45 /th_lang.o <<<NE
7d10: 58 54 5f 4c 49 4e 45 3e 3e 3e 0a 20 24 28 4f 42 XT_LINE>>>. $(OB
7d20: 4a 44 49 52 29 2f 74 68 5f 74 63 6c 2e 6f 20 3c JDIR)/th_tcl.o <
7d30: 3c 3c 4e 45 58 54 5f 4c 49 4e 45 3e 3e 3e 0a 20 <<NEXT_LINE>>>.
7d40: 24 28 4f 42 4a 44 49 52 29 2f 63 73 6f 6e 5f 61 $(OBJDIR)/cson_a
7d50: 6d 61 6c 67 61 6d 61 74 69 6f 6e 2e 6f 0a 7d 5d malgamation.o.}]
7d60: 0a 0a 77 72 69 74 65 6c 6e 20 7b 0a 24 28 5a 4c ..writeln {.$(ZL
7d70: 49 42 44 49 52 29 2f 69 6e 66 66 61 73 38 36 2e IBDIR)/inffas86.
7d80: 6f 3a 0a 09 24 28 54 43 43 29 20 2d 63 20 2d 6f o:..$(TCC) -c -o
7d90: 20 24 40 20 2d 44 41 53 4d 49 4e 46 20 2d 49 24 $@ -DASMINF -I$
7da0: 28 5a 4c 49 42 44 49 52 29 20 2d 4f 33 20 24 28 (ZLIBDIR) -O3 $(
7db0: 5a 4c 49 42 44 49 52 29 2f 63 6f 6e 74 72 69 62 ZLIBDIR)/contrib
7dc0: 2f 69 6e 66 6c 61 74 65 38 36 2f 69 6e 66 66 61 /inflate86/inffa
7dd0: 73 38 36 2e 63 0a 0a 24 28 5a 4c 49 42 44 49 52 s86.c..$(ZLIBDIR
7de0: 29 2f 6d 61 74 63 68 2e 6f 3a 0a 09 24 28 54 43 )/match.o:..$(TC
7df0: 43 29 20 2d 63 20 2d 6f 20 24 40 20 2d 44 41 53 C) -c -o $@ -DAS
7e00: 4d 56 20 24 28 5a 4c 49 42 44 49 52 29 2f 63 6f MV $(ZLIBDIR)/co
7e10: 6e 74 72 69 62 2f 61 73 6d 36 38 36 2f 6d 61 74 ntrib/asm686/mat
7e20: 63 68 2e 53 0a 0a 7a 6c 69 62 3a 09 24 28 5a 4c ch.S..zlib:.$(ZL
7e30: 49 42 54 41 52 47 45 54 53 29 0a 09 24 28 4d 41 IBTARGETS)..$(MA
7e40: 4b 45 29 20 2d 43 20 24 28 5a 4c 49 42 44 49 52 KE) -C $(ZLIBDIR
7e50: 29 20 50 52 45 46 49 58 3d 24 28 50 52 45 46 49 ) PREFIX=$(PREFI
7e60: 58 29 20 43 43 3d 24 28 50 52 45 46 49 58 29 24 X) CC=$(PREFIX)$
7e70: 28 54 43 43 45 58 45 29 20 24 28 5a 4c 49 42 43 (TCCEXE) $(ZLIBC
7e80: 4f 4e 46 49 47 29 20 2d 66 20 77 69 6e 33 32 2f ONFIG) -f win32/
7e90: 4d 61 6b 65 66 69 6c 65 2e 67 63 63 20 6c 69 62 Makefile.gcc lib
7ea0: 7a 2e 61 0a 0a 63 6c 65 61 6e 2d 7a 6c 69 62 3a z.a..clean-zlib:
7eb0: 0a 09 24 28 4d 41 4b 45 29 20 2d 43 20 24 28 5a ..$(MAKE) -C $(Z
7ec0: 4c 49 42 44 49 52 29 20 50 52 45 46 49 58 3d 24 LIBDIR) PREFIX=$
7ed0: 28 50 52 45 46 49 58 29 20 43 43 3d 24 28 50 52 (PREFIX) CC=$(PR
7ee0: 45 46 49 58 29 24 28 54 43 43 45 58 45 29 20 2d EFIX)$(TCCEXE) -
7ef0: 66 20 77 69 6e 33 32 2f 4d 61 6b 65 66 69 6c 65 f win32/Makefile
7f00: 2e 67 63 63 20 63 6c 65 61 6e 0a 0a 69 66 64 65 .gcc clean..ifde
7f10: 66 20 46 4f 53 53 49 4c 5f 45 4e 41 42 4c 45 5f f FOSSIL_ENABLE_
7f20: 4d 49 4e 49 5a 0a 42 4c 44 54 41 52 47 45 54 53 MINIZ.BLDTARGETS
7f30: 20 3d 0a 65 6c 73 65 0a 42 4c 44 54 41 52 47 45 =.else.BLDTARGE
7f40: 54 53 20 3d 20 7a 6c 69 62 0a 65 6e 64 69 66 0a TS = zlib.endif.
7f50: 0a 6f 70 65 6e 73 73 6c 3a 09 24 28 42 4c 44 54 .openssl:.$(BLDT
7f60: 41 52 47 45 54 53 29 0a 09 63 64 20 24 28 4f 50 ARGETS)..cd $(OP
7f70: 45 4e 53 53 4c 4c 49 42 44 49 52 29 3b 2e 2f 43 ENSSLLIBDIR);./C
7f80: 6f 6e 66 69 67 75 72 65 20 2d 2d 63 72 6f 73 73 onfigure --cross
7f90: 2d 63 6f 6d 70 69 6c 65 2d 70 72 65 66 69 78 3d -compile-prefix=
7fa0: 24 28 50 52 45 46 49 58 29 20 24 28 53 53 4c 43 $(PREFIX) $(SSLC
7fb0: 4f 4e 46 49 47 29 0a 09 24 28 4d 41 4b 45 29 20 ONFIG)..$(MAKE)
7fc0: 2d 43 20 24 28 4f 50 45 4e 53 53 4c 4c 49 42 44 -C $(OPENSSLLIBD
7fd0: 49 52 29 20 50 52 45 46 49 58 3d 24 28 50 52 45 IR) PREFIX=$(PRE
7fe0: 46 49 58 29 20 43 43 3d 24 28 50 52 45 46 49 58 FIX) CC=$(PREFIX
7ff0: 29 24 28 54 43 43 45 58 45 29 20 62 75 69 6c 64 )$(TCCEXE) build
8000: 5f 6c 69 62 73 0a 0a 63 6c 65 61 6e 2d 6f 70 65 _libs..clean-ope
8010: 6e 73 73 6c 3a 0a 09 24 28 4d 41 4b 45 29 20 2d nssl:..$(MAKE) -
8020: 43 20 24 28 4f 50 45 4e 53 53 4c 4c 49 42 44 49 C $(OPENSSLLIBDI
8030: 52 29 20 50 52 45 46 49 58 3d 24 28 50 52 45 46 R) PREFIX=$(PREF
8040: 49 58 29 20 43 43 3d 24 28 50 52 45 46 49 58 29 IX) CC=$(PREFIX)
8050: 24 28 54 43 43 45 58 45 29 20 63 6c 65 61 6e 0a $(TCCEXE) clean.
8060: 0a 74 63 6c 3a 0a 09 63 64 20 24 28 54 43 4c 53 .tcl:..cd $(TCLS
8070: 52 43 44 49 52 29 2f 77 69 6e 3b 2e 2f 63 6f 6e RCDIR)/win;./con
8080: 66 69 67 75 72 65 0a 09 24 28 4d 41 4b 45 29 20 figure..$(MAKE)
8090: 2d 43 20 24 28 54 43 4c 53 52 43 44 49 52 29 2f -C $(TCLSRCDIR)/
80a0: 77 69 6e 20 50 52 45 46 49 58 3d 24 28 50 52 45 win PREFIX=$(PRE
80b0: 46 49 58 29 20 43 43 3d 24 28 50 52 45 46 49 58 FIX) CC=$(PREFIX
80c0: 29 24 28 54 43 43 45 58 45 29 20 24 28 54 43 4c )$(TCCEXE) $(TCL
80d0: 54 41 52 47 45 54 29 0a 0a 63 6c 65 61 6e 2d 74 TARGET)..clean-t
80e0: 63 6c 3a 0a 09 24 28 4d 41 4b 45 29 20 2d 43 20 cl:..$(MAKE) -C
80f0: 24 28 54 43 4c 53 52 43 44 49 52 29 2f 77 69 6e $(TCLSRCDIR)/win
8100: 20 50 52 45 46 49 58 3d 24 28 50 52 45 46 49 58 PREFIX=$(PREFIX
8110: 29 20 43 43 3d 24 28 50 52 45 46 49 58 29 24 28 ) CC=$(PREFIX)$(
8120: 54 43 43 45 58 45 29 20 64 69 73 74 63 6c 65 61 TCCEXE) distclea
8130: 6e 0a 0a 41 50 50 54 41 52 47 45 54 53 20 2b 3d n..APPTARGETS +=
8140: 20 24 28 42 4c 44 54 41 52 47 45 54 53 29 0a 0a $(BLDTARGETS)..
8150: 69 66 64 65 66 20 46 4f 53 53 49 4c 5f 42 55 49 ifdef FOSSIL_BUI
8160: 4c 44 5f 53 53 4c 0a 41 50 50 54 41 52 47 45 54 LD_SSL.APPTARGET
8170: 53 20 2b 3d 20 6f 70 65 6e 73 73 6c 0a 65 6e 64 S += openssl.end
8180: 69 66 0a 0a 24 28 41 50 50 4e 41 4d 45 29 3a 09 if..$(APPNAME):.
8190: 24 28 41 50 50 54 41 52 47 45 54 53 29 20 24 28 $(APPTARGETS) $(
81a0: 4f 42 4a 44 49 52 29 2f 68 65 61 64 65 72 73 20 OBJDIR)/headers
81b0: 24 28 43 4f 44 45 43 48 45 43 4b 31 29 20 24 28 $(CODECHECK1) $(
81c0: 4f 42 4a 29 20 24 28 45 58 54 52 41 4f 42 4a 29 OBJ) $(EXTRAOBJ)
81d0: 20 24 28 4f 42 4a 44 49 52 29 2f 66 6f 73 73 69 $(OBJDIR)/fossi
81e0: 6c 2e 6f 0a 09 24 28 43 4f 44 45 43 48 45 43 4b l.o..$(CODECHECK
81f0: 31 29 20 24 28 54 52 41 4e 53 5f 53 52 43 29 0a 1) $(TRANS_SRC).
8200: 09 24 28 54 43 43 29 20 2d 6f 20 24 40 20 24 28 .$(TCC) -o $@ $(
8210: 4f 42 4a 29 20 24 28 45 58 54 52 41 4f 42 4a 29 OBJ) $(EXTRAOBJ)
8220: 20 24 28 4f 42 4a 44 49 52 29 2f 66 6f 73 73 69 $(OBJDIR)/fossi
8230: 6c 2e 6f 20 24 28 4c 49 42 29 0a 0a 23 20 54 68 l.o $(LIB)..# Th
8240: 69 73 20 72 75 6c 65 20 70 72 65 76 65 6e 74 73 is rule prevents
8250: 20 6d 61 6b 65 20 66 72 6f 6d 20 75 73 69 6e 67 make from using
8260: 20 69 74 73 20 64 65 66 61 75 6c 74 20 72 75 6c its default rul
8270: 65 73 20 74 6f 20 74 72 79 20 62 75 69 6c 64 0a es to try build.
8280: 23 20 61 6e 20 65 78 65 63 75 74 61 62 6c 65 20 # an executable
8290: 6e 61 6d 65 64 20 22 6d 61 6e 69 66 65 73 74 22 named "manifest"
82a0: 20 6f 75 74 20 6f 66 20 74 68 65 20 66 69 6c 65 out of the file
82b0: 20 6e 61 6d 65 64 20 22 6d 61 6e 69 66 65 73 74 named "manifest
82c0: 2e 63 22 0a 23 0a 24 28 53 52 43 44 49 52 29 2f .c".#.$(SRCDIR)/
82d0: 2e 2e 2f 6d 61 6e 69 66 65 73 74 3a 0a 09 23 20 ../manifest:..#
82e0: 6e 6f 6f 70 0a 0a 63 6c 65 61 6e 3a 0a 69 66 64 noop..clean:.ifd
82f0: 65 66 20 55 53 45 5f 57 49 4e 44 4f 57 53 0a 09 ef USE_WINDOWS..
8300: 24 28 52 4d 29 20 24 28 73 75 62 73 74 20 2f 2c $(RM) $(subst /,
8310: 5c 2c 24 28 41 50 50 4e 41 4d 45 29 29 0a 09 24 \,$(APPNAME))..$
8320: 28 52 4d 44 49 52 29 20 24 28 73 75 62 73 74 20 (RMDIR) $(subst
8330: 2f 2c 5c 2c 24 28 4f 42 4a 44 49 52 29 29 0a 65 /,\,$(OBJDIR)).e
8340: 6c 73 65 0a 09 24 28 52 4d 29 20 24 28 41 50 50 lse..$(RM) $(APP
8350: 4e 41 4d 45 29 0a 09 24 28 52 4d 44 49 52 29 20 NAME)..$(RMDIR)
8360: 24 28 4f 42 4a 44 49 52 29 0a 65 6e 64 69 66 0a $(OBJDIR).endif.
8370: 0a 73 65 74 75 70 3a 20 24 28 4f 42 4a 44 49 52 .setup: $(OBJDIR
8380: 29 20 24 28 41 50 50 4e 41 4d 45 29 0a 09 24 28 ) $(APPNAME)..$(
8390: 4d 41 4b 45 4e 53 49 53 29 20 2e 2f 73 65 74 75 MAKENSIS) ./setu
83a0: 70 2f 66 6f 73 73 69 6c 2e 6e 73 69 0a 0a 69 6e p/fossil.nsi..in
83b0: 6e 6f 73 65 74 75 70 3a 20 24 28 4f 42 4a 44 49 nosetup: $(OBJDI
83c0: 52 29 20 24 28 41 50 50 4e 41 4d 45 29 0a 09 24 R) $(APPNAME)..$
83d0: 28 49 4e 4e 4f 53 45 54 55 50 29 20 2e 2f 73 65 (INNOSETUP) ./se
83e0: 74 75 70 2f 66 6f 73 73 69 6c 2e 69 73 73 20 2d tup/fossil.iss -
83f0: 44 41 70 70 56 65 72 73 69 6f 6e 3d 24 28 73 68 DAppVersion=$(sh
8400: 65 6c 6c 20 24 28 43 41 54 29 20 2e 2f 56 45 52 ell $(CAT) ./VER
8410: 53 49 4f 4e 29 0a 7d 0a 0a 73 65 74 20 6d 68 61 SION).}..set mha
8420: 72 67 73 20 7b 7d 0a 66 6f 72 65 61 63 68 20 73 rgs {}.foreach s
8430: 20 5b 6c 73 6f 72 74 20 24 73 72 63 5d 20 7b 0a [lsort $src] {.
8440: 20 20 69 66 20 7b 5b 73 74 72 69 6e 67 20 6c 65 if {[string le
8450: 6e 67 74 68 20 24 6d 68 61 72 67 73 5d 20 3e 20 ngth $mhargs] >
8460: 30 7d 20 7b 61 70 70 65 6e 64 20 6d 68 61 72 67 0} {append mharg
8470: 73 20 22 20 5c 5c 5c 6e 5c 74 5c 74 22 7d 0a 20 s " \\\n\t\t"}.
8480: 20 61 70 70 65 6e 64 20 6d 68 61 72 67 73 20 22 append mhargs "
8490: 5c 24 28 4f 42 4a 44 49 52 29 2f 24 7b 73 7d 5f \$(OBJDIR)/${s}_
84a0: 2e 63 3a 5c 24 28 4f 42 4a 44 49 52 29 2f 24 73 .c:\$(OBJDIR)/$s
84b0: 2e 68 22 0a 20 20 73 65 74 20 65 78 74 72 61 5f .h". set extra_
84c0: 68 28 24 73 29 20 7b 20 7d 0a 7d 0a 61 70 70 65 h($s) { }.}.appe
84d0: 6e 64 20 6d 68 61 72 67 73 20 22 20 5c 5c 5c 6e nd mhargs " \\\n
84e0: 5c 74 5c 74 5c 24 28 53 52 43 44 49 52 29 2f 73 \t\t\$(SRCDIR)/s
84f0: 71 6c 69 74 65 33 2e 68 22 0a 61 70 70 65 6e 64 qlite3.h".append
8500: 20 6d 68 61 72 67 73 20 22 20 5c 5c 5c 6e 5c 74 mhargs " \\\n\t
8510: 5c 74 5c 24 28 53 52 43 44 49 52 29 2f 74 68 2e \t\$(SRCDIR)/th.
8520: 68 22 0a 61 70 70 65 6e 64 20 6d 68 61 72 67 73 h".append mhargs
8530: 20 22 20 5c 5c 5c 6e 5c 74 5c 74 5c 24 28 4f 42 " \\\n\t\t\$(OB
8540: 4a 44 49 52 29 2f 56 45 52 53 49 4f 4e 2e 68 22 JDIR)/VERSION.h"
8550: 0a 77 72 69 74 65 6c 6e 20 22 5c 24 28 4f 42 4a .writeln "\$(OBJ
8560: 44 49 52 29 2f 70 61 67 65 5f 69 6e 64 65 78 2e DIR)/page_index.
8570: 68 3a 20 5c 24 28 54 52 41 4e 53 5f 53 52 43 29 h: \$(TRANS_SRC)
8580: 20 5c 24 28 4d 4b 49 4e 44 45 58 29 22 0a 77 72 \$(MKINDEX)".wr
8590: 69 74 65 6c 6e 20 22 5c 74 5c 24 28 4d 4b 49 4e iteln "\t\$(MKIN
85a0: 44 45 58 29 20 5c 24 28 54 52 41 4e 53 5f 53 52 DEX) \$(TRANS_SR
85b0: 43 29 20 3e 5c 24 40 5c 6e 22 0a 0a 77 72 69 74 C) >\$@\n"..writ
85c0: 65 6c 6e 20 22 5c 24 28 4f 42 4a 44 49 52 29 2f eln "\$(OBJDIR)/
85d0: 62 75 69 6c 74 69 6e 5f 64 61 74 61 2e 68 3a 5c builtin_data.h:\
85e0: 74 5c 24 28 4d 4b 42 55 49 4c 54 49 4e 29 20 5c t\$(MKBUILTIN) \
85f0: 24 28 45 58 54 52 41 5f 46 49 4c 45 53 29 22 0a $(EXTRA_FILES)".
8600: 77 72 69 74 65 6c 6e 20 22 5c 74 5c 24 28 4d 4b writeln "\t\$(MK
8610: 42 55 49 4c 54 49 4e 29 20 2d 2d 70 72 65 66 69 BUILTIN) --prefi
8620: 78 20 5c 24 28 53 52 43 44 49 52 29 2f 20 5c 24 x \$(SRCDIR)/ \$
8630: 28 45 58 54 52 41 5f 46 49 4c 45 53 29 20 3e 5c (EXTRA_FILES) >\
8640: 24 40 5c 6e 22 0a 0a 77 72 69 74 65 6c 6e 20 22 $@\n"..writeln "
8650: 5c 24 28 4f 42 4a 44 49 52 29 2f 68 65 61 64 65 \$(OBJDIR)/heade
8660: 72 73 3a 5c 74 5c 24 28 4f 42 4a 44 49 52 29 2f rs:\t\$(OBJDIR)/
8670: 70 61 67 65 5f 69 6e 64 65 78 2e 68 20 5c 24 28 page_index.h \$(
8680: 4f 42 4a 44 49 52 29 2f 62 75 69 6c 74 69 6e 5f OBJDIR)/builtin_
8690: 64 61 74 61 2e 68 20 5c 24 28 4f 42 4a 44 49 52 data.h \$(OBJDIR
86a0: 29 2f 64 65 66 61 75 6c 74 5f 63 73 73 2e 68 20 )/default_css.h
86b0: 5c 24 28 4d 41 4b 45 48 45 41 44 45 52 53 29 20 \$(MAKEHEADERS)
86c0: 5c 24 28 4f 42 4a 44 49 52 29 2f 56 45 52 53 49 \$(OBJDIR)/VERSI
86d0: 4f 4e 2e 68 22 0a 77 72 69 74 65 6c 6e 20 22 5c ON.h".writeln "\
86e0: 74 5c 24 28 4d 41 4b 45 48 45 41 44 45 52 53 29 t\$(MAKEHEADERS)
86f0: 20 24 6d 68 61 72 67 73 22 0a 77 72 69 74 65 6c $mhargs".writel
8700: 6e 20 22 5c 74 65 63 68 6f 20 44 6f 6e 65 20 3e n "\techo Done >
8710: 5c 24 28 4f 42 4a 44 49 52 29 2f 68 65 61 64 65 \$(OBJDIR)/heade
8720: 72 73 5c 6e 22 0a 77 72 69 74 65 6c 6e 20 22 5c rs\n".writeln "\
8730: 24 28 4f 42 4a 44 49 52 29 2f 68 65 61 64 65 72 $(OBJDIR)/header
8740: 73 3a 20 4d 61 6b 65 66 69 6c 65 5c 6e 22 0a 77 s: Makefile\n".w
8750: 72 69 74 65 6c 6e 20 22 4d 61 6b 65 66 69 6c 65 riteln "Makefile
8760: 3a 5c 6e 22 0a 73 65 74 20 65 78 74 72 61 5f 68 :\n".set extra_h
8770: 28 6d 61 69 6e 29 20 22 20 5c 24 28 4f 42 4a 44 (main) " \$(OBJD
8780: 49 52 29 2f 70 61 67 65 5f 69 6e 64 65 78 2e 68 IR)/page_index.h
8790: 20 22 0a 73 65 74 20 65 78 74 72 61 5f 68 28 62 ".set extra_h(b
87a0: 75 69 6c 74 69 6e 29 20 22 20 5c 24 28 4f 42 4a uiltin) " \$(OBJ
87b0: 44 49 52 29 2f 62 75 69 6c 74 69 6e 5f 64 61 74 DIR)/builtin_dat
87c0: 61 2e 68 20 22 0a 73 65 74 20 65 78 74 72 61 5f a.h ".set extra_
87d0: 68 28 73 74 79 6c 65 29 20 22 20 5c 24 28 4f 42 h(style) " \$(OB
87e0: 4a 44 49 52 29 2f 64 65 66 61 75 6c 74 5f 63 73 JDIR)/default_cs
87f0: 73 2e 68 20 22 0a 0a 66 6f 72 65 61 63 68 20 73 s.h "..foreach s
8800: 20 5b 6c 73 6f 72 74 20 24 73 72 63 5d 20 7b 0a [lsort $src] {.
8810: 20 20 77 72 69 74 65 6c 6e 20 22 5c 24 28 4f 42 writeln "\$(OB
8820: 4a 44 49 52 29 2f 24 7b 73 7d 5f 2e 63 3a 5c 74 JDIR)/${s}_.c:\t
8830: 5c 24 28 53 52 43 44 49 52 29 2f 24 73 2e 63 20 \$(SRCDIR)/$s.c
8840: 5c 24 28 54 52 41 4e 53 4c 41 54 45 29 22 0a 20 \$(TRANSLATE)".
8850: 20 77 72 69 74 65 6c 6e 20 22 5c 74 5c 24 28 54 writeln "\t\$(T
8860: 52 41 4e 53 4c 41 54 45 29 20 5c 24 28 53 52 43 RANSLATE) \$(SRC
8870: 44 49 52 29 2f 24 73 2e 63 20 3e 5c 24 40 5c 6e DIR)/$s.c >\$@\n
8880: 22 0a 20 20 77 72 69 74 65 6c 6e 20 22 5c 24 28 ". writeln "\$(
8890: 4f 42 4a 44 49 52 29 2f 24 73 2e 6f 3a 5c 74 5c OBJDIR)/$s.o:\t\
88a0: 24 28 4f 42 4a 44 49 52 29 2f 24 7b 73 7d 5f 2e $(OBJDIR)/${s}_.
88b0: 63 20 5c 24 28 4f 42 4a 44 49 52 29 2f 24 73 2e c \$(OBJDIR)/$s.
88c0: 68 24 65 78 74 72 61 5f 68 28 24 73 29 5c 24 28 h$extra_h($s)\$(
88d0: 53 52 43 44 49 52 29 2f 63 6f 6e 66 69 67 2e 68 SRCDIR)/config.h
88e0: 22 0a 20 20 77 72 69 74 65 6c 6e 20 22 5c 74 5c ". writeln "\t\
88f0: 24 28 58 54 43 43 29 20 2d 6f 20 5c 24 28 4f 42 $(XTCC) -o \$(OB
8900: 4a 44 49 52 29 2f 24 73 2e 6f 20 2d 63 20 5c 24 JDIR)/$s.o -c \$
8910: 28 4f 42 4a 44 49 52 29 2f 24 7b 73 7d 5f 2e 63 (OBJDIR)/${s}_.c
8920: 5c 6e 22 0a 20 20 77 72 69 74 65 6c 6e 20 22 5c \n". writeln "\
8930: 24 28 4f 42 4a 44 49 52 29 2f 24 7b 73 7d 2e 68 $(OBJDIR)/${s}.h
8940: 3a 5c 74 5c 24 28 4f 42 4a 44 49 52 29 2f 68 65 :\t\$(OBJDIR)/he
8950: 61 64 65 72 73 5c 6e 22 0a 7d 0a 0a 77 72 69 74 aders\n".}..writ
8960: 65 6c 6e 20 7b 4d 49 4e 47 57 5f 4f 50 54 49 4f eln {MINGW_OPTIO
8970: 4e 53 20 3d 20 2d 44 5f 48 41 56 45 5f 5f 4d 49 NS = -D_HAVE__MI
8980: 4e 47 57 5f 48 0a 7d 0a 0a 73 65 74 20 53 51 4c NGW_H.}..set SQL
8990: 49 54 45 5f 57 49 4e 33 32 5f 4f 50 54 49 4f 4e ITE_WIN32_OPTION
89a0: 53 20 24 53 51 4c 49 54 45 5f 4f 50 54 49 4f 4e S $SQLITE_OPTION
89b0: 53 0a 6c 61 70 70 65 6e 64 20 53 51 4c 49 54 45 S.lappend SQLITE
89c0: 5f 57 49 4e 33 32 5f 4f 50 54 49 4f 4e 53 20 2d _WIN32_OPTIONS -
89d0: 44 53 51 4c 49 54 45 5f 57 49 4e 33 32 5f 4e 4f DSQLITE_WIN32_NO
89e0: 5f 41 4e 53 49 0a 0a 73 65 74 20 4d 49 4e 47 57 _ANSI..set MINGW
89f0: 5f 53 51 4c 49 54 45 5f 4f 50 54 49 4f 4e 53 20 _SQLITE_OPTIONS
8a00: 24 53 51 4c 49 54 45 5f 57 49 4e 33 32 5f 4f 50 $SQLITE_WIN32_OP
8a10: 54 49 4f 4e 53 0a 6c 61 70 70 65 6e 64 20 4d 49 TIONS.lappend MI
8a20: 4e 47 57 5f 53 51 4c 49 54 45 5f 4f 50 54 49 4f NGW_SQLITE_OPTIO
8a30: 4e 53 20 7b 24 28 4d 49 4e 47 57 5f 4f 50 54 49 NS {$(MINGW_OPTI
8a40: 4f 4e 53 29 7d 0a 6c 61 70 70 65 6e 64 20 4d 49 ONS)}.lappend MI
8a50: 4e 47 57 5f 53 51 4c 49 54 45 5f 4f 50 54 49 4f NGW_SQLITE_OPTIO
8a60: 4e 53 20 2d 44 53 51 4c 49 54 45 5f 55 53 45 5f NS -DSQLITE_USE_
8a70: 4d 41 4c 4c 4f 43 5f 48 0a 6c 61 70 70 65 6e 64 MALLOC_H.lappend
8a80: 20 4d 49 4e 47 57 5f 53 51 4c 49 54 45 5f 4f 50 MINGW_SQLITE_OP
8a90: 54 49 4f 4e 53 20 2d 44 53 51 4c 49 54 45 5f 55 TIONS -DSQLITE_U
8aa0: 53 45 5f 4d 53 49 5a 45 0a 0a 73 65 74 20 4d 49 SE_MSIZE..set MI
8ab0: 4e 49 5a 5f 57 49 4e 33 32 5f 4f 50 54 49 4f 4e NIZ_WIN32_OPTION
8ac0: 53 20 24 4d 49 4e 49 5a 5f 4f 50 54 49 4f 4e 53 S $MINIZ_OPTIONS
8ad0: 0a 0a 73 65 74 20 6a 20 22 20 5c 5c 5c 6e 20 20 ..set j " \\\n
8ae0: 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 22 "
8af0: 0a 77 72 69 74 65 6c 6e 20 22 53 51 4c 49 54 45 .writeln "SQLITE
8b00: 5f 4f 50 54 49 4f 4e 53 20 3d 20 5b 6a 6f 69 6e _OPTIONS = [join
8b10: 20 24 4d 49 4e 47 57 5f 53 51 4c 49 54 45 5f 4f $MINGW_SQLITE_O
8b20: 50 54 49 4f 4e 53 20 24 6a 5d 5c 6e 22 0a 73 65 PTIONS $j]\n".se
8b30: 74 20 6a 20 22 20 5c 5c 5c 6e 20 20 20 20 20 20 t j " \\\n
8b40: 20 20 20 20 20 20 20 20 20 20 22 0a 77 72 69 74 ".writ
8b50: 65 6c 6e 20 22 53 48 45 4c 4c 5f 4f 50 54 49 4f eln "SHELL_OPTIO
8b60: 4e 53 20 3d 20 5b 6a 6f 69 6e 20 24 53 48 45 4c NS = [join $SHEL
8b70: 4c 5f 57 49 4e 33 32 5f 4f 50 54 49 4f 4e 53 20 L_WIN32_OPTIONS
8b80: 24 6a 5d 5c 6e 22 0a 73 65 74 20 6a 20 22 20 5c $j]\n".set j " \
8b90: 5c 5c 6e 20 20 20 20 20 20 20 20 20 20 20 20 20 \\n
8ba0: 20 20 20 22 0a 77 72 69 74 65 6c 6e 20 22 4d 49 ".writeln "MI
8bb0: 4e 49 5a 5f 4f 50 54 49 4f 4e 53 20 3d 20 5b 6a NIZ_OPTIONS = [j
8bc0: 6f 69 6e 20 24 4d 49 4e 49 5a 5f 57 49 4e 33 32 oin $MINIZ_WIN32
8bd0: 5f 4f 50 54 49 4f 4e 53 20 24 6a 5d 5c 6e 22 0a _OPTIONS $j]\n".
8be0: 0a 77 72 69 74 65 6c 6e 20 22 5c 24 28 4f 42 4a .writeln "\$(OBJ
8bf0: 44 49 52 29 2f 73 71 6c 69 74 65 33 2e 6f 3a 5c DIR)/sqlite3.o:\
8c00: 74 5c 24 28 53 51 4c 49 54 45 33 5f 53 52 43 29 t\$(SQLITE3_SRC)
8c10: 20 5c 24 28 53 52 43 44 49 52 29 2f 2e 2e 2f 77 \$(SRCDIR)/../w
8c20: 69 6e 2f 4d 61 6b 65 66 69 6c 65 2e 6d 69 6e 67 in/Makefile.ming
8c30: 77 22 0a 77 72 69 74 65 6c 6e 20 22 5c 74 5c 24 w".writeln "\t\$
8c40: 28 58 54 43 43 29 20 5c 24 28 53 51 4c 49 54 45 (XTCC) \$(SQLITE
8c50: 5f 4f 50 54 49 4f 4e 53 29 20 5c 24 28 53 51 4c _OPTIONS) \$(SQL
8c60: 49 54 45 5f 43 46 4c 41 47 53 29 20 5c 24 28 53 ITE_CFLAGS) \$(S
8c70: 45 45 5f 46 4c 41 47 53 29 20 5c 5c 22 0a 77 72 EE_FLAGS) \\".wr
8c80: 69 74 65 6c 6e 20 22 5c 74 5c 74 2d 63 20 5c 24 iteln "\t\t-c \$
8c90: 28 53 51 4c 49 54 45 33 5f 53 52 43 29 20 2d 6f (SQLITE3_SRC) -o
8ca0: 20 5c 24 40 5c 6e 22 0a 0a 77 72 69 74 65 6c 6e \$@\n"..writeln
8cb0: 20 22 5c 24 28 4f 42 4a 44 49 52 29 2f 63 73 6f "\$(OBJDIR)/cso
8cc0: 6e 5f 61 6d 61 6c 67 61 6d 61 74 69 6f 6e 2e 6f n_amalgamation.o
8cd0: 3a 5c 74 5c 24 28 53 52 43 44 49 52 29 2f 63 73 :\t\$(SRCDIR)/cs
8ce0: 6f 6e 5f 61 6d 61 6c 67 61 6d 61 74 69 6f 6e 2e on_amalgamation.
8cf0: 63 22 0a 77 72 69 74 65 6c 6e 20 22 5c 74 5c 24 c".writeln "\t\$
8d00: 28 58 54 43 43 29 20 2d 63 20 5c 24 28 53 52 43 (XTCC) -c \$(SRC
8d10: 44 49 52 29 2f 63 73 6f 6e 5f 61 6d 61 6c 67 61 DIR)/cson_amalga
8d20: 6d 61 74 69 6f 6e 2e 63 20 2d 6f 20 5c 24 40 5c mation.c -o \$@\
8d30: 6e 22 0a 77 72 69 74 65 6c 6e 20 22 5c 24 28 4f n".writeln "\$(O
8d40: 42 4a 44 49 52 29 2f 6a 73 6f 6e 2e 6f 20 5c 24 BJDIR)/json.o \$
8d50: 28 4f 42 4a 44 49 52 29 2f 6a 73 6f 6e 5f 61 72 (OBJDIR)/json_ar
8d60: 74 69 66 61 63 74 2e 6f 20 5c 24 28 4f 42 4a 44 tifact.o \$(OBJD
8d70: 49 52 29 2f 6a 73 6f 6e 5f 62 72 61 6e 63 68 2e IR)/json_branch.
8d80: 6f 20 5c 24 28 4f 42 4a 44 49 52 29 2f 6a 73 6f o \$(OBJDIR)/jso
8d90: 6e 5f 63 6f 6e 66 69 67 2e 6f 20 5c 24 28 4f 42 n_config.o \$(OB
8da0: 4a 44 49 52 29 2f 6a 73 6f 6e 5f 64 69 66 66 2e JDIR)/json_diff.
8db0: 6f 20 5c 24 28 4f 42 4a 44 49 52 29 2f 6a 73 6f o \$(OBJDIR)/jso
8dc0: 6e 5f 64 69 72 2e 6f 20 5c 24 28 4f 42 4a 44 49 n_dir.o \$(OBJDI
8dd0: 52 29 2f 6a 73 6f 73 5f 66 69 6e 66 6f 2e 6f 20 R)/jsos_finfo.o
8de0: 5c 24 28 4f 42 4a 44 49 52 29 2f 6a 73 6f 6e 5f \$(OBJDIR)/json_
8df0: 6c 6f 67 69 6e 2e 6f 20 5c 24 28 4f 42 4a 44 49 login.o \$(OBJDI
8e00: 52 29 2f 6a 73 6f 6e 5f 71 75 65 72 79 2e 6f 20 R)/json_query.o
8e10: 5c 24 28 4f 42 4a 44 49 52 29 2f 6a 73 6f 6e 5f \$(OBJDIR)/json_
8e20: 72 65 70 6f 72 74 2e 6f 20 5c 24 28 4f 42 4a 44 report.o \$(OBJD
8e30: 49 52 29 2f 6a 73 6f 6e 5f 73 74 61 74 75 73 2e IR)/json_status.
8e40: 6f 20 5c 24 28 4f 42 4a 44 49 52 29 2f 6a 73 6f o \$(OBJDIR)/jso
8e50: 6e 5f 74 61 67 2e 6f 20 5c 24 28 4f 42 4a 44 49 n_tag.o \$(OBJDI
8e60: 52 29 2f 6a 73 6f 6e 5f 74 69 6d 65 6c 69 6e 65 R)/json_timeline
8e70: 2e 6f 20 5c 24 28 4f 42 4a 44 49 52 29 2f 6a 73 .o \$(OBJDIR)/js
8e80: 6f 6e 5f 75 73 65 72 2e 6f 20 5c 24 28 4f 42 4a on_user.o \$(OBJ
8e90: 44 49 52 29 2f 6a 73 6f 6e 5f 77 69 6b 69 2e 6f DIR)/json_wiki.o
8ea0: 20 3a 20 5c 24 28 53 52 43 44 49 52 29 2f 6a 73 : \$(SRCDIR)/js
8eb0: 6f 6e 5f 64 65 74 61 69 6c 2e 68 5c 6e 22 0a 0a on_detail.h\n"..
8ec0: 77 72 69 74 65 6c 6e 20 22 5c 24 28 4f 42 4a 44 writeln "\$(OBJD
8ed0: 49 52 29 2f 73 68 65 6c 6c 2e 6f 3a 5c 74 5c 24 IR)/shell.o:\t\$
8ee0: 28 53 51 4c 49 54 45 33 5f 53 48 45 4c 4c 5f 53 (SQLITE3_SHELL_S
8ef0: 52 43 29 20 5c 24 28 53 52 43 44 49 52 29 2f 73 RC) \$(SRCDIR)/s
8f00: 71 6c 69 74 65 33 2e 68 20 5c 24 28 53 52 43 44 qlite3.h \$(SRCD
8f10: 49 52 29 2f 2e 2e 2f 77 69 6e 2f 4d 61 6b 65 66 IR)/../win/Makef
8f20: 69 6c 65 2e 6d 69 6e 67 77 22 0a 77 72 69 74 65 ile.mingw".write
8f30: 6c 6e 20 22 5c 74 5c 24 28 58 54 43 43 29 20 5c ln "\t\$(XTCC) \
8f40: 24 28 53 48 45 4c 4c 5f 4f 50 54 49 4f 4e 53 29 $(SHELL_OPTIONS)
8f50: 20 5c 24 28 53 48 45 4c 4c 5f 43 46 4c 41 47 53 \$(SHELL_CFLAGS
8f60: 29 20 5c 24 28 53 45 45 5f 46 4c 41 47 53 29 20 ) \$(SEE_FLAGS)
8f70: 2d 63 20 5c 24 28 53 51 4c 49 54 45 33 5f 53 48 -c \$(SQLITE3_SH
8f80: 45 4c 4c 5f 53 52 43 29 20 2d 6f 20 5c 24 40 5c ELL_SRC) -o \$@\
8f90: 6e 22 0a 0a 77 72 69 74 65 6c 6e 20 22 5c 24 28 n"..writeln "\$(
8fa0: 4f 42 4a 44 49 52 29 2f 74 68 2e 6f 3a 5c 74 5c OBJDIR)/th.o:\t\
8fb0: 24 28 53 52 43 44 49 52 29 2f 74 68 2e 63 22 0a $(SRCDIR)/th.c".
8fc0: 77 72 69 74 65 6c 6e 20 22 5c 74 5c 24 28 58 54 writeln "\t\$(XT
8fd0: 43 43 29 20 2d 63 20 5c 24 28 53 52 43 44 49 52 CC) -c \$(SRCDIR
8fe0: 29 2f 74 68 2e 63 20 2d 6f 20 5c 24 40 5c 6e 22 )/th.c -o \$@\n"
8ff0: 0a 0a 77 72 69 74 65 6c 6e 20 22 5c 24 28 4f 42 ..writeln "\$(OB
9000: 4a 44 49 52 29 2f 74 68 5f 6c 61 6e 67 2e 6f 3a JDIR)/th_lang.o:
9010: 5c 74 5c 24 28 53 52 43 44 49 52 29 2f 74 68 5f \t\$(SRCDIR)/th_
9020: 6c 61 6e 67 2e 63 22 0a 77 72 69 74 65 6c 6e 20 lang.c".writeln
9030: 22 5c 74 5c 24 28 58 54 43 43 29 20 2d 63 20 5c "\t\$(XTCC) -c \
9040: 24 28 53 52 43 44 49 52 29 2f 74 68 5f 6c 61 6e $(SRCDIR)/th_lan
9050: 67 2e 63 20 2d 6f 20 5c 24 40 5c 6e 22 0a 0a 77 g.c -o \$@\n"..w
9060: 72 69 74 65 6c 6e 20 22 5c 24 28 4f 42 4a 44 49 riteln "\$(OBJDI
9070: 52 29 2f 74 68 5f 74 63 6c 2e 6f 3a 5c 74 5c 24 R)/th_tcl.o:\t\$
9080: 28 53 52 43 44 49 52 29 2f 74 68 5f 74 63 6c 2e (SRCDIR)/th_tcl.
9090: 63 22 0a 77 72 69 74 65 6c 6e 20 22 5c 74 5c 24 c".writeln "\t\$
90a0: 28 58 54 43 43 29 20 2d 63 20 5c 24 28 53 52 43 (XTCC) -c \$(SRC
90b0: 44 49 52 29 2f 74 68 5f 74 63 6c 2e 63 20 2d 6f DIR)/th_tcl.c -o
90c0: 20 5c 24 40 5c 6e 22 0a 0a 77 72 69 74 65 6c 6e \$@\n"..writeln
90d0: 20 22 5c 24 28 4f 42 4a 44 49 52 29 2f 6d 69 6e "\$(OBJDIR)/min
90e0: 69 7a 2e 6f 3a 5c 74 5c 24 28 53 52 43 44 49 52 iz.o:\t\$(SRCDIR
90f0: 29 2f 6d 69 6e 69 7a 2e 63 22 0a 77 72 69 74 65 )/miniz.c".write
9100: 6c 6e 20 22 5c 74 5c 24 28 58 54 43 43 29 20 5c ln "\t\$(XTCC) \
9110: 24 28 4d 49 4e 49 5a 5f 4f 50 54 49 4f 4e 53 29 $(MINIZ_OPTIONS)
9120: 20 2d 63 20 5c 24 28 53 52 43 44 49 52 29 2f 6d -c \$(SRCDIR)/m
9130: 69 6e 69 7a 2e 63 20 2d 6f 20 5c 24 40 5c 6e 22 iniz.c -o \$@\n"
9140: 0a 0a 63 6c 6f 73 65 20 24 6f 75 74 70 75 74 5f ..close $output_
9150: 66 69 6c 65 0a 23 0a 23 20 45 6e 64 20 6f 66 20 file.#.# End of
9160: 74 68 65 20 77 69 6e 2f 4d 61 6b 65 66 69 6c 65 the win/Makefile
9170: 2e 6d 69 6e 67 77 20 6f 75 74 70 75 74 0a 23 23 .mingw output.##
9180: 23 23 23 23 23 23 23 23 23 23 23 23 23 23 23 23 ################
9190: 23 23 23 23 23 23 23 23 23 23 23 23 23 23 23 23 ################
91a0: 23 23 23 23 23 23 23 23 23 23 23 23 23 23 23 23 ################
91b0: 23 23 23 23 23 23 23 23 23 23 23 23 23 23 23 23 ################
91c0: 23 23 23 23 23 23 23 23 23 23 23 23 0a 23 23 23 ############.###
91d0: 23 23 23 23 23 23 23 23 23 23 23 23 23 23 23 23 ################
91e0: 23 23 23 23 23 23 23 23 23 23 23 23 23 23 23 23 ################
91f0: 23 23 23 23 23 23 23 23 23 23 23 23 23 23 23 23 ################
9200: 23 23 23 23 23 23 23 23 23 23 23 23 23 23 23 23 ################
9210: 23 23 23 23 23 23 23 23 23 23 23 0a 23 23 23 23 ###########.####
9220: 23 23 23 23 23 23 23 23 23 23 23 23 23 23 23 23 ################
9230: 23 23 23 23 23 23 23 23 23 23 23 23 23 23 23 23 ################
9240: 23 23 23 23 23 23 23 23 23 23 23 23 23 23 23 23 ################
9250: 23 23 23 23 23 23 23 23 23 23 23 23 23 23 23 23 ################
9260: 23 23 23 23 23 23 23 23 23 23 0a 23 20 42 65 67 ##########.# Beg
9270: 69 6e 20 77 69 6e 2f 4d 61 6b 65 66 69 6c 65 2e in win/Makefile.
9280: 64 6d 63 20 6f 75 74 70 75 74 0a 23 0a 70 75 74 dmc output.#.put
9290: 73 20 22 62 75 69 6c 64 69 6e 67 20 2e 2e 2f 77 s "building ../w
92a0: 69 6e 2f 4d 61 6b 65 66 69 6c 65 2e 64 6d 63 22 in/Makefile.dmc"
92b0: 0a 73 65 74 20 6f 75 74 70 75 74 5f 66 69 6c 65 .set output_file
92c0: 20 5b 6f 70 65 6e 20 2e 2e 2f 77 69 6e 2f 4d 61 [open ../win/Ma
92d0: 6b 65 66 69 6c 65 2e 64 6d 63 20 77 5d 0a 66 63 kefile.dmc w].fc
92e0: 6f 6e 66 69 67 75 72 65 20 24 6f 75 74 70 75 74 onfigure $output
92f0: 5f 66 69 6c 65 20 2d 74 72 61 6e 73 6c 61 74 69 _file -translati
9300: 6f 6e 20 62 69 6e 61 72 79 0a 0a 77 72 69 74 65 on binary..write
9310: 6c 6e 20 7b 23 0a 23 23 23 23 23 23 23 23 23 23 ln {#.##########
9320: 23 23 23 23 23 23 23 23 23 23 23 23 23 23 23 23 ################
9330: 23 23 23 23 23 23 23 23 23 23 23 23 23 23 23 23 ################
9340: 23 23 23 23 23 23 23 23 23 23 23 23 23 23 23 23 ################
9350: 23 23 23 23 23 23 23 23 23 23 23 23 23 23 23 23 ################
9360: 23 23 23 23 0a 23 20 57 41 52 4e 49 4e 47 3a 20 ####.# WARNING:
9370: 44 4f 20 4e 4f 54 20 45 44 49 54 2c 20 41 55 54 DO NOT EDIT, AUT
9380: 4f 4d 41 54 49 43 41 4c 4c 59 20 47 45 4e 45 52 OMATICALLY GENER
9390: 41 54 45 44 20 46 49 4c 45 20 28 53 45 45 20 22 ATED FILE (SEE "
93a0: 73 72 63 2f 6d 61 6b 65 6d 61 6b 65 2e 74 63 6c src/makemake.tcl
93b0: 22 29 0a 23 23 23 23 23 23 23 23 23 23 23 23 23 ").#############
93c0: 23 23 23 23 23 23 23 23 23 23 23 23 23 23 23 23 ################
93d0: 23 23 23 23 23 23 23 23 23 23 23 23 23 23 23 23 ################
93e0: 23 23 23 23 23 23 23 23 23 23 23 23 23 23 23 23 ################
93f0: 23 23 23 23 23 23 23 23 23 23 23 23 23 23 23 23 ################
9400: 23 0a 23 0a 23 20 54 68 69 73 20 66 69 6c 65 20 #.#.# This file
9410: 69 73 20 61 75 74 6f 6d 61 74 69 63 61 6c 6c 79 is automatically
9420: 20 67 65 6e 65 72 61 74 65 64 2e 20 20 49 6e 73 generated. Ins
9430: 74 65 61 64 20 6f 66 20 65 64 69 74 69 6e 67 20 tead of editing
9440: 74 68 69 73 0a 23 20 66 69 6c 65 2c 20 65 64 69 this.# file, edi
9450: 74 20 22 6d 61 6b 65 6d 61 6b 65 2e 74 63 6c 22 t "makemake.tcl"
9460: 20 74 68 65 6e 20 72 75 6e 20 22 74 63 6c 73 68 then run "tclsh
9470: 20 6d 61 6b 65 6d 61 6b 65 2e 74 63 6c 22 0a 23 makemake.tcl".#
9480: 20 74 6f 20 72 65 67 65 6e 65 72 61 74 65 20 74 to regenerate t
9490: 68 69 73 20 66 69 6c 65 2e 0a 23 0a 42 20 20 20 his file..#.B
94a0: 20 20 20 3d 20 2e 2e 0a 53 52 43 44 49 52 20 3d = ...SRCDIR =
94b0: 20 24 42 5c 73 72 63 0a 4f 42 4a 44 49 52 20 3d $B\src.OBJDIR =
94c0: 20 2e 0a 4f 20 20 20 20 20 20 3d 20 2e 6f 62 6a ..O = .obj
94d0: 0a 45 20 20 20 20 20 20 3d 20 2e 65 78 65 0a 0a .E = .exe..
94e0: 0a 23 20 4d 61 79 62 65 20 44 4d 44 49 52 2c 20 .# Maybe DMDIR,
94f0: 53 53 4c 20 6f 72 20 49 4e 43 4c 20 6e 65 65 64 SSL or INCL need
9500: 73 20 61 64 6a 75 73 74 6d 65 6e 74 0a 44 4d 44 s adjustment.DMD
9510: 49 52 20 20 3d 20 63 3a 5c 44 4d 0a 49 4e 43 4c IR = c:\DM.INCL
9520: 20 20 20 3d 20 2d 49 2e 20 2d 49 24 28 53 52 43 = -I. -I$(SRC
9530: 44 49 52 29 20 2d 49 24 42 5c 77 69 6e 5c 69 6e DIR) -I$B\win\in
9540: 63 6c 75 64 65 20 2d 49 24 28 44 4d 44 49 52 29 clude -I$(DMDIR)
9550: 5c 65 78 74 72 61 5c 69 6e 63 6c 75 64 65 0a 0a \extra\include..
9560: 23 53 53 4c 20 20 20 3d 20 20 2d 44 46 4f 53 53 #SSL = -DFOSS
9570: 49 4c 5f 45 4e 41 42 4c 45 5f 53 53 4c 3d 31 0a IL_ENABLE_SSL=1.
9580: 53 53 4c 20 20 20 20 3d 0a 0a 43 46 4c 41 47 53 SSL =..CFLAGS
9590: 20 3d 20 2d 6f 0a 42 43 43 20 20 20 20 3d 20 24 = -o.BCC = $
95a0: 28 44 4d 44 49 52 29 5c 62 69 6e 5c 64 6d 63 20 (DMDIR)\bin\dmc
95b0: 24 28 43 46 4c 41 47 53 29 0a 54 43 43 20 20 20 $(CFLAGS).TCC
95c0: 20 3d 20 24 28 44 4d 44 49 52 29 5c 62 69 6e 5c = $(DMDIR)\bin\
95d0: 64 6d 63 20 24 28 43 46 4c 41 47 53 29 20 24 28 dmc $(CFLAGS) $(
95e0: 44 4d 43 44 45 46 29 20 24 28 53 53 4c 29 20 24 DMCDEF) $(SSL) $
95f0: 28 49 4e 43 4c 29 0a 4c 49 42 53 20 20 20 3d 20 (INCL).LIBS =
9600: 24 28 44 4d 44 49 52 29 5c 65 78 74 72 61 5c 6c $(DMDIR)\extra\l
9610: 69 62 5c 20 7a 6c 69 62 20 77 73 6f 63 6b 33 32 ib\ zlib wsock32
9620: 20 61 64 76 61 70 69 33 32 0a 7d 0a 77 72 69 74 advapi32.}.writ
9630: 65 6c 6e 20 22 53 51 4c 49 54 45 5f 4f 50 54 49 eln "SQLITE_OPTI
9640: 4f 4e 53 20 3d 20 5b 6a 6f 69 6e 20 24 53 51 4c ONS = [join $SQL
9650: 49 54 45 5f 4f 50 54 49 4f 4e 53 20 7b 20 7d 5d ITE_OPTIONS { }]
9660: 5c 6e 22 0a 77 72 69 74 65 6c 6e 20 22 53 48 45 \n".writeln "SHE
9670: 4c 4c 5f 4f 50 54 49 4f 4e 53 20 3d 20 5b 6a 6f LL_OPTIONS = [jo
9680: 69 6e 20 24 53 48 45 4c 4c 5f 57 49 4e 33 32 5f in $SHELL_WIN32_
9690: 4f 50 54 49 4f 4e 53 20 7b 20 7d 5d 5c 6e 22 0a OPTIONS { }]\n".
96a0: 77 72 69 74 65 6c 6e 20 2d 6e 6f 6e 65 77 6c 69 writeln -nonewli
96b0: 6e 65 20 22 53 52 43 20 20 20 3d 22 0a 66 6f 72 ne "SRC =".for
96c0: 65 61 63 68 20 73 20 5b 6c 73 6f 72 74 20 24 73 each s [lsort $s
96d0: 72 63 5d 20 7b 0a 20 20 77 72 69 74 65 6c 6e 20 rc] {. writeln
96e0: 2d 6e 6f 6e 65 77 6c 69 6e 65 20 22 20 24 7b 73 -nonewline " ${s
96f0: 7d 5f 2e 63 22 0a 7d 0a 77 72 69 74 65 6c 6e 20 }_.c".}.writeln
9700: 22 5c 6e 22 0a 77 72 69 74 65 6c 6e 20 2d 6e 6f "\n".writeln -no
9710: 6e 65 77 6c 69 6e 65 20 22 4f 42 4a 20 20 20 3d newline "OBJ =
9720: 20 22 0a 66 6f 72 65 61 63 68 20 73 20 5b 6c 73 ".foreach s [ls
9730: 6f 72 74 20 24 73 72 63 5d 20 7b 0a 20 20 77 72 ort $src] {. wr
9740: 69 74 65 6c 6e 20 2d 6e 6f 6e 65 77 6c 69 6e 65 iteln -nonewline
9750: 20 22 5c 24 28 4f 42 4a 44 49 52 29 5c 5c 24 73 "\$(OBJDIR)\\$s
9760: 5c 24 4f 20 22 0a 7d 0a 77 72 69 74 65 6c 6e 20 \$O ".}.writeln
9770: 22 5c 24 28 4f 42 4a 44 49 52 29 5c 5c 73 68 65 "\$(OBJDIR)\\she
9780: 6c 6c 5c 24 4f 20 5c 24 28 4f 42 4a 44 49 52 29 ll\$O \$(OBJDIR)
9790: 5c 5c 73 71 6c 69 74 65 33 5c 24 4f 20 5c 24 28 \\sqlite3\$O \$(
97a0: 4f 42 4a 44 49 52 29 5c 5c 74 68 5c 24 4f 20 5c OBJDIR)\\th\$O \
97b0: 24 28 4f 42 4a 44 49 52 29 5c 5c 74 68 5f 6c 61 $(OBJDIR)\\th_la
97c0: 6e 67 5c 24 4f 22 0a 77 72 69 74 65 6c 6e 20 7b ng\$O".writeln {
97d0: 0a 0a 52 43 3d 24 28 44 4d 44 49 52 29 5c 62 69 ..RC=$(DMDIR)\bi
97e0: 6e 5c 72 63 63 0a 52 43 46 4c 41 47 53 3d 2d 33 n\rcc.RCFLAGS=-3
97f0: 32 20 2d 77 31 20 2d 49 24 28 53 52 43 44 49 52 2 -w1 -I$(SRCDIR
9800: 29 20 2f 44 5f 5f 44 4d 43 5f 5f 0a 0a 41 50 50 ) /D__DMC__..APP
9810: 4e 41 4d 45 20 3d 20 24 28 4f 42 4a 44 49 52 29 NAME = $(OBJDIR)
9820: 5c 66 6f 73 73 69 6c 24 28 45 29 0a 0a 61 6c 6c \fossil$(E)..all
9830: 3a 20 24 28 41 50 50 4e 41 4d 45 29 0a 0a 24 28 : $(APPNAME)..$(
9840: 41 50 50 4e 41 4d 45 29 20 3a 20 74 72 61 6e 73 APPNAME) : trans
9850: 6c 61 74 65 24 45 20 6d 6b 69 6e 64 65 78 24 45 late$E mkindex$E
9860: 20 63 6f 64 65 63 68 65 63 6b 31 24 45 20 68 65 codecheck1$E he
9870: 61 64 65 72 73 20 20 24 28 4f 42 4a 29 20 24 28 aders $(OBJ) $(
9880: 4f 42 4a 44 49 52 29 5c 6c 69 6e 6b 0a 09 63 64 OBJDIR)\link..cd
9890: 20 24 28 4f 42 4a 44 49 52 29 0a 09 63 6f 64 65 $(OBJDIR)..code
98a0: 63 68 65 63 6b 31 24 45 20 24 28 53 52 43 29 0a check1$E $(SRC).
98b0: 09 24 28 44 4d 44 49 52 29 5c 62 69 6e 5c 6c 69 .$(DMDIR)\bin\li
98c0: 6e 6b 20 40 6c 69 6e 6b 0a 0a 24 28 4f 42 4a 44 nk @link..$(OBJD
98d0: 49 52 29 5c 66 6f 73 73 69 6c 2e 72 65 73 3a 09 IR)\fossil.res:.
98e0: 24 42 5c 77 69 6e 5c 66 6f 73 73 69 6c 2e 72 63 $B\win\fossil.rc
98f0: 0a 09 24 28 52 43 29 20 24 28 52 43 46 4c 41 47 ..$(RC) $(RCFLAG
9900: 53 29 20 2d 6f 24 40 20 24 2a 2a 0a 0a 24 28 4f S) -o$@ $**..$(O
9910: 42 4a 44 49 52 29 5c 6c 69 6e 6b 3a 20 24 42 5c BJDIR)\link: $B\
9920: 77 69 6e 5c 4d 61 6b 65 66 69 6c 65 2e 64 6d 63 win\Makefile.dmc
9930: 20 24 28 4f 42 4a 44 49 52 29 5c 66 6f 73 73 69 $(OBJDIR)\fossi
9940: 6c 2e 72 65 73 7d 0a 77 72 69 74 65 6c 6e 20 2d l.res}.writeln -
9950: 6e 6f 6e 65 77 6c 69 6e 65 20 22 5c 74 2b 65 63 nonewline "\t+ec
9960: 68 6f 20 22 0a 66 6f 72 65 61 63 68 20 73 20 5b ho ".foreach s [
9970: 6c 73 6f 72 74 20 24 73 72 63 5d 20 7b 0a 20 20 lsort $src] {.
9980: 77 72 69 74 65 6c 6e 20 2d 6e 6f 6e 65 77 6c 69 writeln -nonewli
9990: 6e 65 20 22 24 73 20 22 0a 7d 0a 77 72 69 74 65 ne "$s ".}.write
99a0: 6c 6e 20 22 73 68 65 6c 6c 20 73 71 6c 69 74 65 ln "shell sqlite
99b0: 33 20 74 68 20 74 68 5f 6c 61 6e 67 20 3e 20 5c 3 th th_lang > \
99c0: 24 40 22 0a 77 72 69 74 65 6c 6e 20 22 5c 74 2b $@".writeln "\t+
99d0: 65 63 68 6f 20 66 6f 73 73 69 6c 20 3e 3e 20 5c echo fossil >> \
99e0: 24 40 22 0a 77 72 69 74 65 6c 6e 20 22 5c 74 2b $@".writeln "\t+
99f0: 65 63 68 6f 20 66 6f 73 73 69 6c 20 3e 3e 20 5c echo fossil >> \
9a00: 24 40 22 0a 77 72 69 74 65 6c 6e 20 22 5c 74 2b $@".writeln "\t+
9a10: 65 63 68 6f 20 5c 24 28 4c 49 42 53 29 20 3e 3e echo \$(LIBS) >>
9a20: 20 5c 24 40 22 0a 77 72 69 74 65 6c 6e 20 22 5c \$@".writeln "\
9a30: 74 2b 65 63 68 6f 2e 20 3e 3e 20 5c 24 40 22 0a t+echo. >> \$@".
9a40: 77 72 69 74 65 6c 6e 20 22 5c 74 2b 65 63 68 6f writeln "\t+echo
9a50: 20 66 6f 73 73 69 6c 20 3e 3e 20 5c 24 40 22 0a fossil >> \$@".
9a60: 0a 77 72 69 74 65 6c 6e 20 7b 0a 74 72 61 6e 73 .writeln {.trans
9a70: 6c 61 74 65 24 45 3a 20 24 28 53 52 43 44 49 52 late$E: $(SRCDIR
9a80: 29 5c 74 72 61 6e 73 6c 61 74 65 2e 63 0a 09 24 )\translate.c..$
9a90: 28 42 43 43 29 20 2d 6f 24 40 20 24 2a 2a 0a 0a (BCC) -o$@ $**..
9aa0: 6d 61 6b 65 68 65 61 64 65 72 73 24 45 3a 20 24 makeheaders$E: $
9ab0: 28 53 52 43 44 49 52 29 5c 6d 61 6b 65 68 65 61 (SRCDIR)\makehea
9ac0: 64 65 72 73 2e 63 0a 09 24 28 42 43 43 29 20 2d ders.c..$(BCC) -
9ad0: 6f 24 40 20 24 2a 2a 0a 0a 6d 6b 69 6e 64 65 78 o$@ $**..mkindex
9ae0: 24 45 3a 20 24 28 53 52 43 44 49 52 29 5c 6d 6b $E: $(SRCDIR)\mk
9af0: 69 6e 64 65 78 2e 63 0a 09 24 28 42 43 43 29 20 index.c..$(BCC)
9b00: 2d 6f 24 40 20 24 2a 2a 0a 0a 6d 6b 62 75 69 6c -o$@ $**..mkbuil
9b10: 74 69 6e 24 45 3a 20 24 28 53 52 43 44 49 52 29 tin$E: $(SRCDIR)
9b20: 5c 6d 6b 62 75 69 6c 74 69 6e 2e 63 0a 09 24 28 \mkbuiltin.c..$(
9b30: 42 43 43 29 20 2d 6f 24 40 20 24 2a 2a 0a 0a 6d BCC) -o$@ $**..m
9b40: 6b 76 65 72 73 69 6f 6e 24 45 3a 20 24 28 53 52 kversion$E: $(SR
9b50: 43 44 49 52 29 5c 6d 6b 76 65 72 73 69 6f 6e 2e CDIR)\mkversion.
9b60: 63 0a 09 24 28 42 43 43 29 20 2d 6f 24 40 20 24 c..$(BCC) -o$@ $
9b70: 2a 2a 0a 0a 6d 6b 63 73 73 24 45 3a 20 24 28 53 **..mkcss$E: $(S
9b80: 52 43 44 49 52 29 5c 6d 6b 63 73 73 2e 63 0a 09 RCDIR)\mkcss.c..
9b90: 24 28 42 43 43 29 20 2d 6f 24 40 20 24 2a 2a 0a $(BCC) -o$@ $**.
9ba0: 0a 63 6f 64 65 63 68 65 63 6b 31 24 45 3a 20 24 .codecheck1$E: $
9bb0: 28 53 52 43 44 49 52 29 5c 63 6f 64 65 63 68 65 (SRCDIR)\codeche
9bc0: 63 6b 31 2e 63 0a 09 24 28 42 43 43 29 20 2d 6f ck1.c..$(BCC) -o
9bd0: 24 40 20 24 2a 2a 0a 0a 24 28 4f 42 4a 44 49 52 $@ $**..$(OBJDIR
9be0: 29 5c 73 68 65 6c 6c 24 4f 20 3a 20 24 28 53 52 )\shell$O : $(SR
9bf0: 43 44 49 52 29 5c 73 68 65 6c 6c 2e 63 0a 09 24 CDIR)\shell.c..$
9c00: 28 54 43 43 29 20 2d 6f 24 40 20 2d 63 20 24 28 (TCC) -o$@ -c $(
9c10: 53 48 45 4c 4c 5f 4f 50 54 49 4f 4e 53 29 20 24 SHELL_OPTIONS) $
9c20: 28 53 51 4c 49 54 45 5f 4f 50 54 49 4f 4e 53 29 (SQLITE_OPTIONS)
9c30: 20 24 28 53 48 45 4c 4c 5f 43 46 4c 41 47 53 29 $(SHELL_CFLAGS)
9c40: 20 24 2a 2a 0a 0a 24 28 4f 42 4a 44 49 52 29 5c $**..$(OBJDIR)\
9c50: 73 71 6c 69 74 65 33 24 4f 20 3a 20 24 28 53 52 sqlite3$O : $(SR
9c60: 43 44 49 52 29 5c 73 71 6c 69 74 65 33 2e 63 0a CDIR)\sqlite3.c.
9c70: 09 24 28 54 43 43 29 20 2d 6f 24 40 20 2d 63 20 .$(TCC) -o$@ -c
9c80: 24 28 53 51 4c 49 54 45 5f 4f 50 54 49 4f 4e 53 $(SQLITE_OPTIONS
9c90: 29 20 24 28 53 51 4c 49 54 45 5f 43 46 4c 41 47 ) $(SQLITE_CFLAG
9ca0: 53 29 20 24 2a 2a 0a 0a 24 28 4f 42 4a 44 49 52 S) $**..$(OBJDIR
9cb0: 29 5c 74 68 24 4f 20 3a 20 24 28 53 52 43 44 49 )\th$O : $(SRCDI
9cc0: 52 29 5c 74 68 2e 63 0a 09 24 28 54 43 43 29 20 R)\th.c..$(TCC)
9cd0: 2d 6f 24 40 20 2d 63 20 24 2a 2a 0a 0a 24 28 4f -o$@ -c $**..$(O
9ce0: 42 4a 44 49 52 29 5c 74 68 5f 6c 61 6e 67 24 4f BJDIR)\th_lang$O
9cf0: 20 3a 20 24 28 53 52 43 44 49 52 29 5c 74 68 5f : $(SRCDIR)\th_
9d00: 6c 61 6e 67 2e 63 0a 09 24 28 54 43 43 29 20 2d lang.c..$(TCC) -
9d10: 6f 24 40 20 2d 63 20 24 2a 2a 0a 0a 24 28 4f 42 o$@ -c $**..$(OB
9d20: 4a 44 49 52 29 5c 63 73 6f 6e 5f 61 6d 61 6c 67 JDIR)\cson_amalg
9d30: 61 6d 61 74 69 6f 6e 2e 68 20 3a 20 24 28 53 52 amation.h : $(SR
9d40: 43 44 49 52 29 5c 63 73 6f 6e 5f 61 6d 61 6c 67 CDIR)\cson_amalg
9d50: 61 6d 61 74 69 6f 6e 2e 68 0a 09 63 70 20 24 40 amation.h..cp $@
9d60: 20 24 40 0a 0a 56 45 52 53 49 4f 4e 2e 68 20 3a $@..VERSION.h :
9d70: 20 6d 6b 76 65 72 73 69 6f 6e 24 45 20 24 42 5c mkversion$E $B\
9d80: 6d 61 6e 69 66 65 73 74 2e 75 75 69 64 20 24 42 manifest.uuid $B
9d90: 5c 6d 61 6e 69 66 65 73 74 20 24 42 5c 56 45 52 \manifest $B\VER
9da0: 53 49 4f 4e 0a 09 2b 24 2a 2a 20 3e 20 24 40 0a SION..+$** > $@.
9db0: 0a 64 65 66 61 75 6c 74 5f 63 73 73 2e 68 20 3a .default_css.h :
9dc0: 20 6d 6b 63 73 73 24 45 20 24 42 5c 73 72 63 5c mkcss$E $B\src\
9dd0: 64 65 66 61 75 6c 74 5f 63 73 73 2e 74 78 74 0a default_css.txt.
9de0: 09 2b 24 2a 2a 20 24 42 5c 73 72 63 5c 64 65 66 .+$** $B\src\def
9df0: 61 75 6c 74 5f 63 73 73 2e 74 78 74 20 24 40 0a ault_css.txt $@.
9e00: 0a 70 61 67 65 5f 69 6e 64 65 78 2e 68 3a 20 6d .page_index.h: m
9e10: 6b 69 6e 64 65 78 24 45 20 24 28 53 52 43 29 0a kindex$E $(SRC).
9e20: 09 2b 24 2a 2a 20 3e 20 24 40 0a 0a 62 75 69 6c .+$** > $@..buil
9e30: 74 69 6e 5f 64 61 74 61 2e 68 3a 09 6d 6b 62 75 tin_data.h:.mkbu
9e40: 69 6c 74 69 6e 24 45 20 24 28 45 58 54 52 41 5f iltin$E $(EXTRA_
9e50: 46 49 4c 45 53 29 0a 09 6d 6b 62 75 69 6c 74 69 FILES)..mkbuilti
9e60: 6e 24 45 20 2d 2d 70 72 65 66 69 78 20 24 28 53 n$E --prefix $(S
9e70: 52 43 44 49 52 29 2f 20 24 28 45 58 54 52 41 5f RCDIR)/ $(EXTRA_
9e80: 46 49 4c 45 53 29 20 3e 20 24 40 0a 0a 63 6c 65 FILES) > $@..cle
9e90: 61 6e 3a 0a 09 2d 64 65 6c 20 24 28 4f 42 4a 44 an:..-del $(OBJD
9ea0: 49 52 29 5c 2a 2e 6f 62 6a 0a 09 2d 64 65 6c 20 IR)\*.obj..-del
9eb0: 2a 2e 6f 62 6a 20 2a 5f 2e 63 20 2a 2e 68 20 2a *.obj *_.c *.h *
9ec0: 2e 6d 61 70 0a 0a 72 65 61 6c 63 6c 65 61 6e 3a .map..realclean:
9ed0: 0a 09 2d 64 65 6c 20 24 28 41 50 50 4e 41 4d 45 ..-del $(APPNAME
9ee0: 29 20 74 72 61 6e 73 6c 61 74 65 24 45 20 6d 6b ) translate$E mk
9ef0: 69 6e 64 65 78 24 45 20 6d 61 6b 65 68 65 61 64 index$E makehead
9f00: 65 72 73 24 45 20 6d 6b 76 65 72 73 69 6f 6e 24 ers$E mkversion$
9f10: 45 20 63 6f 64 65 63 68 65 63 6b 31 24 45 20 6d E codecheck1$E m
9f20: 6b 62 75 69 6c 74 69 6e 24 45 20 6d 6b 63 73 73 kbuiltin$E mkcss
9f30: 24 45 0a 0a 24 28 4f 42 4a 44 49 52 29 5c 6a 73 $E..$(OBJDIR)\js
9f40: 6f 6e 24 4f 20 3a 20 24 28 53 52 43 44 49 52 29 on$O : $(SRCDIR)
9f50: 5c 6a 73 6f 6e 5f 64 65 74 61 69 6c 2e 68 0a 24 \json_detail.h.$
9f60: 28 4f 42 4a 44 49 52 29 5c 6a 73 6f 6e 5f 61 72 (OBJDIR)\json_ar
9f70: 74 69 66 61 63 74 24 4f 20 3a 20 24 28 53 52 43 tifact$O : $(SRC
9f80: 44 49 52 29 5c 6a 73 6f 6e 5f 64 65 74 61 69 6c DIR)\json_detail
9f90: 2e 68 0a 24 28 4f 42 4a 44 49 52 29 5c 6a 73 6f .h.$(OBJDIR)\jso
9fa0: 6e 5f 62 72 61 6e 63 68 24 4f 20 3a 20 24 28 53 n_branch$O : $(S
9fb0: 52 43 44 49 52 29 5c 6a 73 6f 6e 5f 64 65 74 61 RCDIR)\json_deta
9fc0: 69 6c 2e 68 0a 24 28 4f 42 4a 44 49 52 29 5c 6a il.h.$(OBJDIR)\j
9fd0: 73 6f 6e 5f 63 6f 6e 66 69 67 24 4f 20 3a 20 24 son_config$O : $
9fe0: 28 53 52 43 44 49 52 29 5c 6a 73 6f 6e 5f 64 65 (SRCDIR)\json_de
9ff0: 74 61 69 6c 2e 68 0a 24 28 4f 42 4a 44 49 52 29 tail.h.$(OBJDIR)
a000: 5c 6a 73 6f 6e 5f 64 69 66 66 24 4f 20 3a 20 24 \json_diff$O : $
a010: 28 53 52 43 44 49 52 29 5c 6a 73 6f 6e 5f 64 65 (SRCDIR)\json_de
a020: 74 61 69 6c 2e 68 0a 24 28 4f 42 4a 44 49 52 29 tail.h.$(OBJDIR)
a030: 5c 6a 73 6f 6e 5f 64 69 72 24 4f 20 3a 20 24 28 \json_dir$O : $(
a040: 53 52 43 44 49 52 29 5c 6a 73 6f 6e 5f 64 65 74 SRCDIR)\json_det
a050: 61 69 6c 2e 68 0a 24 28 4f 42 4a 44 49 52 29 5c ail.h.$(OBJDIR)\
a060: 6a 73 6f 6e 5f 66 69 6e 66 6f 24 4f 20 3a 20 24 json_finfo$O : $
a070: 28 53 52 43 44 49 52 29 5c 6a 73 6f 6e 5f 64 65 (SRCDIR)\json_de
a080: 74 61 69 6c 2e 68 0a 24 28 4f 42 4a 44 49 52 29 tail.h.$(OBJDIR)
a090: 5c 6a 73 6f 6e 5f 6c 6f 67 69 6e 24 4f 20 3a 20 \json_login$O :
a0a0: 24 28 53 52 43 44 49 52 29 5c 6a 73 6f 6e 5f 64 $(SRCDIR)\json_d
a0b0: 65 74 61 69 6c 2e 68 0a 24 28 4f 42 4a 44 49 52 etail.h.$(OBJDIR
a0c0: 29 5c 6a 73 6f 6e 5f 71 75 65 72 79 24 4f 20 3a )\json_query$O :
a0d0: 20 24 28 53 52 43 44 49 52 29 5c 6a 73 6f 6e 5f $(SRCDIR)\json_
a0e0: 64 65 74 61 69 6c 2e 68 0a 24 28 4f 42 4a 44 49 detail.h.$(OBJDI
a0f0: 52 29 5c 6a 73 6f 6e 5f 72 65 70 6f 72 74 24 4f R)\json_report$O
a100: 20 3a 20 24 28 53 52 43 44 49 52 29 5c 6a 73 6f : $(SRCDIR)\jso
a110: 6e 5f 64 65 74 61 69 6c 2e 68 0a 24 28 4f 42 4a n_detail.h.$(OBJ
a120: 44 49 52 29 5c 6a 73 6f 6e 5f 73 74 61 74 75 73 DIR)\json_status
a130: 24 4f 20 3a 20 24 28 53 52 43 44 49 52 29 5c 6a $O : $(SRCDIR)\j
a140: 73 6f 6e 5f 64 65 74 61 69 6c 2e 68 0a 24 28 4f son_detail.h.$(O
a150: 42 4a 44 49 52 29 5c 6a 73 6f 6e 5f 74 61 67 24 BJDIR)\json_tag$
a160: 4f 20 3a 20 24 28 53 52 43 44 49 52 29 5c 6a 73 O : $(SRCDIR)\js
a170: 6f 6e 5f 64 65 74 61 69 6c 2e 68 0a 24 28 4f 42 on_detail.h.$(OB
a180: 4a 44 49 52 29 5c 6a 73 6f 6e 5f 74 69 6d 65 6c JDIR)\json_timel
a190: 69 6e 65 24 4f 20 3a 20 24 28 53 52 43 44 49 52 ine$O : $(SRCDIR
a1a0: 29 5c 6a 73 6f 6e 5f 64 65 74 61 69 6c 2e 68 0a )\json_detail.h.
a1b0: 24 28 4f 42 4a 44 49 52 29 5c 6a 73 6f 6e 5f 75 $(OBJDIR)\json_u
a1c0: 73 65 72 24 4f 20 3a 20 24 28 53 52 43 44 49 52 ser$O : $(SRCDIR
a1d0: 29 5c 6a 73 6f 6e 5f 64 65 74 61 69 6c 2e 68 0a )\json_detail.h.
a1e0: 24 28 4f 42 4a 44 49 52 29 5c 6a 73 6f 6e 5f 77 $(OBJDIR)\json_w
a1f0: 69 6b 69 24 4f 20 3a 20 24 28 53 52 43 44 49 52 iki$O : $(SRCDIR
a200: 29 5c 6a 73 6f 6e 5f 64 65 74 61 69 6c 2e 68 0a )\json_detail.h.
a210: 0a 0a 7d 0a 66 6f 72 65 61 63 68 20 73 20 5b 6c ..}.foreach s [l
a220: 73 6f 72 74 20 24 73 72 63 5d 20 7b 0a 20 20 77 sort $src] {. w
a230: 72 69 74 65 6c 6e 20 22 5c 24 28 4f 42 4a 44 49 riteln "\$(OBJDI
a240: 52 29 5c 5c 24 73 5c 24 4f 20 3a 20 24 7b 73 7d R)\\$s\$O : ${s}
a250: 5f 2e 63 20 24 7b 73 7d 2e 68 22 0a 20 20 77 72 _.c ${s}.h". wr
a260: 69 74 65 6c 6e 20 22 5c 74 5c 24 28 54 43 43 29 iteln "\t\$(TCC)
a270: 20 2d 6f 5c 24 40 20 2d 63 20 24 7b 73 7d 5f 2e -o\$@ -c ${s}_.
a280: 63 5c 6e 22 0a 20 20 77 72 69 74 65 6c 6e 20 22 c\n". writeln "
a290: 24 7b 73 7d 5f 2e 63 20 3a 20 5c 24 28 53 52 43 ${s}_.c : \$(SRC
a2a0: 44 49 52 29 5c 5c 24 73 2e 63 22 0a 20 20 77 72 DIR)\\$s.c". wr
a2b0: 69 74 65 6c 6e 20 22 5c 74 2b 74 72 61 6e 73 6c iteln "\t+transl
a2c0: 61 74 65 5c 24 45 20 5c 24 2a 2a 20 3e 20 5c 24 ate\$E \$** > \$
a2d0: 40 5c 6e 22 0a 7d 0a 0a 77 72 69 74 65 6c 6e 20 @\n".}..writeln
a2e0: 2d 6e 6f 6e 65 77 6c 69 6e 65 20 22 68 65 61 64 -nonewline "head
a2f0: 65 72 73 3a 20 6d 61 6b 65 68 65 61 64 65 72 73 ers: makeheaders
a300: 5c 24 45 20 70 61 67 65 5f 69 6e 64 65 78 2e 68 \$E page_index.h
a310: 20 62 75 69 6c 74 69 6e 5f 64 61 74 61 2e 68 20 builtin_data.h
a320: 64 65 66 61 75 6c 74 5f 63 73 73 2e 68 20 56 45 default_css.h VE
a330: 52 53 49 4f 4e 2e 68 5c 6e 5c 74 20 2b 6d 61 6b RSION.h\n\t +mak
a340: 65 68 65 61 64 65 72 73 5c 24 45 20 22 0a 66 6f eheaders\$E ".fo
a350: 72 65 61 63 68 20 73 20 5b 6c 73 6f 72 74 20 24 reach s [lsort $
a360: 73 72 63 5d 20 7b 0a 20 20 77 72 69 74 65 6c 6e src] {. writeln
a370: 20 2d 6e 6f 6e 65 77 6c 69 6e 65 20 22 24 7b 73 -nonewline "${s
a380: 7d 5f 2e 63 3a 24 73 2e 68 20 22 0a 7d 0a 77 72 }_.c:$s.h ".}.wr
a390: 69 74 65 6c 6e 20 22 5c 24 28 53 52 43 44 49 52 iteln "\$(SRCDIR
a3a0: 29 5c 5c 73 71 6c 69 74 65 33 2e 68 20 5c 24 28 )\\sqlite3.h \$(
a3b0: 53 52 43 44 49 52 29 5c 5c 74 68 2e 68 20 56 45 SRCDIR)\\th.h VE
a3c0: 52 53 49 4f 4e 2e 68 20 5c 24 28 53 52 43 44 49 RSION.h \$(SRCDI
a3d0: 52 29 5c 5c 63 73 6f 6e 5f 61 6d 61 6c 67 61 6d R)\\cson_amalgam
a3e0: 61 74 69 6f 6e 2e 68 22 0a 77 72 69 74 65 6c 6e ation.h".writeln
a3f0: 20 22 5c 74 40 63 6f 70 79 20 2f 59 20 6e 75 6c "\t@copy /Y nul
a400: 3a 20 68 65 61 64 65 72 73 22 0a 0a 63 6c 6f 73 : headers"..clos
a410: 65 20 24 6f 75 74 70 75 74 5f 66 69 6c 65 0a 23 e $output_file.#
a420: 0a 23 20 45 6e 64 20 6f 66 20 74 68 65 20 77 69 .# End of the wi
a430: 6e 2f 4d 61 6b 65 66 69 6c 65 2e 64 6d 63 20 6f n/Makefile.dmc o
a440: 75 74 70 75 74 0a 23 23 23 23 23 23 23 23 23 23 utput.##########
a450: 23 23 23 23 23 23 23 23 23 23 23 23 23 23 23 23 ################
a460: 23 23 23 23 23 23 23 23 23 23 23 23 23 23 23 23 ################
a470: 23 23 23 23 23 23 23 23 23 23 23 23 23 23 23 23 ################
a480: 23 23 23 23 23 23 23 23 23 23 23 23 23 23 23 23 ################
a490: 23 23 23 23 0a 23 23 23 23 23 23 23 23 23 23 23 ####.###########
a4a0: 23 23 23 23 23 23 23 23 23 23 23 23 23 23 23 23 ################
a4b0: 23 23 23 23 23 23 23 23 23 23 23 23 23 23 23 23 ################
a4c0: 23 23 23 23 23 23 23 23 23 23 23 23 23 23 23 23 ################
a4d0: 23 23 23 23 23 23 23 23 23 23 23 23 23 23 23 23 ################
a4e0: 23 23 23 0a 23 23 23 23 23 23 23 23 23 23 23 23 ###.############
a4f0: 23 23 23 23 23 23 23 23 23 23 23 23 23 23 23 23 ################
a500: 23 23 23 23 23 23 23 23 23 23 23 23 23 23 23 23 ################
a510: 23 23 23 23 23 23 23 23 23 23 23 23 23 23 23 23 ################
a520: 23 23 23 23 23 23 23 23 23 23 23 23 23 23 23 23 ################
a530: 23 23 0a 23 20 42 65 67 69 6e 20 77 69 6e 2f 4d ##.# Begin win/M
a540: 61 6b 65 66 69 6c 65 2e 6d 73 63 20 6f 75 74 70 akefile.msc outp
a550: 75 74 0a 23 0a 70 75 74 73 20 22 62 75 69 6c 64 ut.#.puts "build
a560: 69 6e 67 20 2e 2e 2f 77 69 6e 2f 4d 61 6b 65 66 ing ../win/Makef
a570: 69 6c 65 2e 6d 73 63 22 0a 73 65 74 20 6f 75 74 ile.msc".set out
a580: 70 75 74 5f 66 69 6c 65 20 5b 6f 70 65 6e 20 2e put_file [open .
a590: 2e 2f 77 69 6e 2f 4d 61 6b 65 66 69 6c 65 2e 6d ./win/Makefile.m
a5a0: 73 63 20 77 5d 0a 66 63 6f 6e 66 69 67 75 72 65 sc w].fconfigure
a5b0: 20 24 6f 75 74 70 75 74 5f 66 69 6c 65 20 2d 74 $output_file -t
a5c0: 72 61 6e 73 6c 61 74 69 6f 6e 20 62 69 6e 61 72 ranslation binar
a5d0: 79 0a 0a 77 72 69 74 65 6c 6e 20 7b 23 0a 23 23 y..writeln {#.##
a5e0: 23 23 23 23 23 23 23 23 23 23 23 23 23 23 23 23 ################
a5f0: 23 23 23 23 23 23 23 23 23 23 23 23 23 23 23 23 ################
a600: 23 23 23 23 23 23 23 23 23 23 23 23 23 23 23 23 ################
a610: 23 23 23 23 23 23 23 23 23 23 23 23 23 23 23 23 ################
a620: 23 23 23 23 23 23 23 23 23 23 23 23 0a 23 20 57 ############.# W
a630: 41 52 4e 49 4e 47 3a 20 44 4f 20 4e 4f 54 20 45 ARNING: DO NOT E
a640: 44 49 54 2c 20 41 55 54 4f 4d 41 54 49 43 41 4c DIT, AUTOMATICAL
a650: 4c 59 20 47 45 4e 45 52 41 54 45 44 20 46 49 4c LY GENERATED FIL
a660: 45 20 28 53 45 45 20 22 73 72 63 2f 6d 61 6b 65 E (SEE "src/make
a670: 6d 61 6b 65 2e 74 63 6c 22 29 0a 23 23 23 23 23 make.tcl").#####
a680: 23 23 23 23 23 23 23 23 23 23 23 23 23 23 23 23 ################
a690: 23 23 23 23 23 23 23 23 23 23 23 23 23 23 23 23 ################
a6a0: 23 23 23 23 23 23 23 23 23 23 23 23 23 23 23 23 ################
a6b0: 23 23 23 23 23 23 23 23 23 23 23 23 23 23 23 23 ################
a6c0: 23 23 23 23 23 23 23 23 23 0a 23 0a 23 20 54 68 #########.#.# Th
a6d0: 69 73 20 4d 61 6b 65 66 69 6c 65 20 77 69 6c 6c is Makefile will
a6e0: 20 6f 6e 6c 79 20 66 75 6e 63 74 69 6f 6e 20 63 only function c
a6f0: 6f 72 72 65 63 74 6c 79 20 69 66 20 75 73 65 64 orrectly if used
a700: 20 66 72 6f 6d 20 61 20 73 75 62 2d 64 69 72 65 from a sub-dire
a710: 63 74 6f 72 79 0a 23 20 74 68 61 74 20 69 73 20 ctory.# that is
a720: 61 20 64 69 72 65 63 74 20 63 68 69 6c 64 20 6f a direct child o
a730: 66 20 74 68 65 20 74 6f 70 2d 6c 65 76 65 6c 20 f the top-level
a740: 64 69 72 65 63 74 6f 72 79 20 66 6f 72 20 74 68 directory for th
a750: 69 73 20 70 72 6f 6a 65 63 74 2e 0a 23 0a 21 69 is project..#.!i
a760: 66 20 21 65 78 69 73 74 28 22 2e 2e 5c 2e 66 6f f !exist("..\.fo
a770: 73 73 69 6c 2d 73 65 74 74 69 6e 67 73 22 29 0a ssil-settings").
a780: 21 65 72 72 6f 72 20 22 50 6c 65 61 73 65 20 63 !error "Please c
a790: 68 61 6e 67 65 20 74 68 65 20 63 75 72 72 65 6e hange the curren
a7a0: 74 20 64 69 72 65 63 74 6f 72 79 20 74 6f 20 74 t directory to t
a7b0: 68 65 20 6f 6e 65 20 63 6f 6e 74 61 69 6e 69 6e he one containin
a7c0: 67 20 74 68 69 73 20 66 69 6c 65 2e 22 0a 21 65 g this file.".!e
a7d0: 6e 64 69 66 0a 0a 23 0a 23 20 54 68 69 73 20 66 ndif..#.# This f
a7e0: 69 6c 65 20 69 73 20 61 75 74 6f 6d 61 74 69 63 ile is automatic
a7f0: 61 6c 6c 79 20 67 65 6e 65 72 61 74 65 64 2e 20 ally generated.
a800: 20 49 6e 73 74 65 61 64 20 6f 66 20 65 64 69 74 Instead of edit
a810: 69 6e 67 20 74 68 69 73 0a 23 20 66 69 6c 65 2c ing this.# file,
a820: 20 65 64 69 74 20 22 6d 61 6b 65 6d 61 6b 65 2e edit "makemake.
a830: 74 63 6c 22 20 74 68 65 6e 20 72 75 6e 20 22 74 tcl" then run "t
a840: 63 6c 73 68 20 6d 61 6b 65 6d 61 6b 65 2e 74 63 clsh makemake.tc
a850: 6c 22 0a 23 20 74 6f 20 72 65 67 65 6e 65 72 61 l".# to regenera
a860: 74 65 20 74 68 69 73 20 66 69 6c 65 2e 0a 23 0a te this file..#.
a870: 42 20 20 20 20 20 20 20 3d 20 2e 2e 0a 53 52 43 B = ...SRC
a880: 44 49 52 20 20 3d 20 24 42 5c 73 72 63 0a 4f 42 DIR = $B\src.OB
a890: 4a 44 49 52 20 20 3d 20 2e 0a 4f 58 20 20 20 20 JDIR = ..OX
a8a0: 20 20 3d 20 2e 0a 4f 20 20 20 20 20 20 20 3d 20 = ..O =
a8b0: 2e 6f 62 6a 0a 45 20 20 20 20 20 20 20 3d 20 2e .obj.E = .
a8c0: 65 78 65 0a 50 20 20 20 20 20 20 20 3d 20 2e 70 exe.P = .p
a8d0: 64 62 0a 0a 23 20 50 65 72 6c 20 69 73 20 6f 6e db..# Perl is on
a8e0: 6c 79 20 6e 65 63 65 73 73 61 72 79 20 69 66 20 ly necessary if
a8f0: 4f 70 65 6e 53 53 4c 20 73 75 70 70 6f 72 74 20 OpenSSL support
a900: 69 73 20 65 6e 61 62 6c 65 64 20 61 6e 64 20 69 is enabled and i
a910: 74 20 6d 75 73 74 0a 23 20 62 65 20 62 75 69 6c t must.# be buil
a920: 74 20 66 72 6f 6d 20 73 6f 75 72 63 65 20 63 6f t from source co
a930: 64 65 2e 20 20 54 68 65 20 50 45 52 4c 44 49 52 de. The PERLDIR
a940: 20 76 61 72 69 61 62 6c 65 20 73 68 6f 75 6c 64 variable should
a950: 20 70 6f 69 6e 74 20 74 6f 0a 23 20 74 68 65 20 point to.# the
a960: 64 69 72 65 63 74 6f 72 79 20 63 6f 6e 74 61 69 directory contai
a970: 6e 69 6e 67 20 74 68 65 20 6d 61 69 6e 20 50 65 ning the main Pe
a980: 72 6c 20 62 69 6e 61 72 79 20 28 69 2e 65 2e 20 rl binary (i.e.
a990: 22 70 65 72 6c 2e 65 78 65 22 29 2e 0a 50 45 52 "perl.exe")..PER
a9a0: 4c 44 49 52 20 3d 20 43 3a 5c 50 65 72 6c 5c 62 LDIR = C:\Perl\b
a9b0: 69 6e 0a 50 45 52 4c 20 20 20 20 3d 20 70 65 72 in.PERL = per
a9c0: 6c 2e 65 78 65 0a 0a 23 20 45 6e 61 62 6c 65 20 l.exe..# Enable
a9d0: 64 65 62 75 67 67 69 6e 67 20 73 79 6d 62 6f 6c debugging symbol
a9e0: 73 3f 0a 21 69 66 6e 64 65 66 20 44 45 42 55 47 s?.!ifndef DEBUG
a9f0: 0a 44 45 42 55 47 20 3d 20 30 0a 21 65 6e 64 69 .DEBUG = 0.!endi
aa00: 66 0a 0a 23 20 42 75 69 6c 64 20 74 68 65 20 4f f..# Build the O
aa10: 70 65 6e 53 53 4c 20 6c 69 62 72 61 72 69 65 73 penSSL libraries
aa20: 3f 0a 21 69 66 6e 64 65 66 20 46 4f 53 53 49 4c ?.!ifndef FOSSIL
aa30: 5f 42 55 49 4c 44 5f 53 53 4c 0a 46 4f 53 53 49 _BUILD_SSL.FOSSI
aa40: 4c 5f 42 55 49 4c 44 5f 53 53 4c 20 3d 20 30 0a L_BUILD_SSL = 0.
aa50: 21 65 6e 64 69 66 0a 0a 23 20 42 75 69 6c 64 20 !endif..# Build
aa60: 74 68 65 20 69 6e 63 6c 75 64 65 64 20 7a 6c 69 the included zli
aa70: 62 20 6c 69 62 72 61 72 79 3f 0a 21 69 66 6e 64 b library?.!ifnd
aa80: 65 66 20 46 4f 53 53 49 4c 5f 42 55 49 4c 44 5f ef FOSSIL_BUILD_
aa90: 5a 4c 49 42 0a 46 4f 53 53 49 4c 5f 42 55 49 4c ZLIB.FOSSIL_BUIL
aaa0: 44 5f 5a 4c 49 42 20 3d 20 31 0a 21 65 6e 64 69 D_ZLIB = 1.!endi
aab0: 66 0a 0a 23 20 4c 69 6e 6b 20 65 76 65 72 79 74 f..# Link everyt
aac0: 68 69 6e 67 20 65 78 63 65 70 74 20 53 51 4c 69 hing except SQLi
aad0: 74 65 20 64 79 6e 61 6d 69 63 61 6c 6c 79 3f 0a te dynamically?.
aae0: 21 69 66 6e 64 65 66 20 46 4f 53 53 49 4c 5f 44 !ifndef FOSSIL_D
aaf0: 59 4e 41 4d 49 43 5f 42 55 49 4c 44 0a 46 4f 53 YNAMIC_BUILD.FOS
ab00: 53 49 4c 5f 44 59 4e 41 4d 49 43 5f 42 55 49 4c SIL_DYNAMIC_BUIL
ab10: 44 20 3d 20 30 0a 21 65 6e 64 69 66 0a 0a 23 20 D = 0.!endif..#
ab20: 45 6e 61 62 6c 65 20 72 65 6c 61 74 69 76 65 20 Enable relative
ab30: 70 61 74 68 73 20 69 6e 20 65 78 74 65 72 6e 61 paths in externa
ab40: 6c 20 64 69 66 66 2f 67 64 69 66 66 3f 0a 21 69 l diff/gdiff?.!i
ab50: 66 6e 64 65 66 20 46 4f 53 53 49 4c 5f 45 4e 41 fndef FOSSIL_ENA
ab60: 42 4c 45 5f 45 58 45 43 5f 52 45 4c 5f 50 41 54 BLE_EXEC_REL_PAT
ab70: 48 53 0a 46 4f 53 53 49 4c 5f 45 4e 41 42 4c 45 HS.FOSSIL_ENABLE
ab80: 5f 45 58 45 43 5f 52 45 4c 5f 50 41 54 48 53 20 _EXEC_REL_PATHS
ab90: 3d 20 30 0a 21 65 6e 64 69 66 0a 0a 23 20 45 6e = 0.!endif..# En
aba0: 61 62 6c 65 20 74 68 65 20 4a 53 4f 4e 20 41 50 able the JSON AP
abb0: 49 3f 0a 21 69 66 6e 64 65 66 20 46 4f 53 53 49 I?.!ifndef FOSSI
abc0: 4c 5f 45 4e 41 42 4c 45 5f 4a 53 4f 4e 0a 46 4f L_ENABLE_JSON.FO
abd0: 53 53 49 4c 5f 45 4e 41 42 4c 45 5f 4a 53 4f 4e SSIL_ENABLE_JSON
abe0: 20 3d 20 30 0a 21 65 6e 64 69 66 0a 0a 23 20 45 = 0.!endif..# E
abf0: 6e 61 62 6c 65 20 6c 65 67 61 63 79 20 74 72 65 nable legacy tre
ac00: 61 74 6d 65 6e 74 20 6f 66 20 74 68 65 20 6d 76 atment of the mv
ac10: 2f 72 6d 20 63 6f 6d 6d 61 6e 64 73 3f 0a 21 69 /rm commands?.!i
ac20: 66 6e 64 65 66 20 46 4f 53 53 49 4c 5f 45 4e 41 fndef FOSSIL_ENA
ac30: 42 4c 45 5f 4c 45 47 41 43 59 5f 4d 56 5f 52 4d BLE_LEGACY_MV_RM
ac40: 0a 46 4f 53 53 49 4c 5f 45 4e 41 42 4c 45 5f 4c .FOSSIL_ENABLE_L
ac50: 45 47 41 43 59 5f 4d 56 5f 52 4d 20 3d 20 30 0a EGACY_MV_RM = 0.
ac60: 21 65 6e 64 69 66 0a 0a 23 20 45 6e 61 62 6c 65 !endif..# Enable
ac70: 20 75 73 65 20 6f 66 20 6d 69 6e 69 7a 20 69 6e use of miniz in
ac80: 73 74 65 61 64 20 6f 66 20 7a 6c 69 62 3f 0a 21 stead of zlib?.!
ac90: 69 66 6e 64 65 66 20 46 4f 53 53 49 4c 5f 45 4e ifndef FOSSIL_EN
aca0: 41 42 4c 45 5f 4d 49 4e 49 5a 0a 46 4f 53 53 49 ABLE_MINIZ.FOSSI
acb0: 4c 5f 45 4e 41 42 4c 45 5f 4d 49 4e 49 5a 20 3d L_ENABLE_MINIZ =
acc0: 20 30 0a 21 65 6e 64 69 66 0a 0a 23 20 45 6e 61 0.!endif..# Ena
acd0: 62 6c 65 20 4f 70 65 6e 53 53 4c 20 73 75 70 70 ble OpenSSL supp
ace0: 6f 72 74 3f 0a 21 69 66 6e 64 65 66 20 46 4f 53 ort?.!ifndef FOS
acf0: 53 49 4c 5f 45 4e 41 42 4c 45 5f 53 53 4c 0a 46 SIL_ENABLE_SSL.F
ad00: 4f 53 53 49 4c 5f 45 4e 41 42 4c 45 5f 53 53 4c OSSIL_ENABLE_SSL
ad10: 20 3d 20 30 0a 21 65 6e 64 69 66 0a 0a 23 20 45 = 0.!endif..# E
ad20: 6e 61 62 6c 65 20 74 68 65 20 54 63 6c 20 69 6e nable the Tcl in
ad30: 74 65 67 72 61 74 69 6f 6e 20 73 75 62 73 79 73 tegration subsys
ad40: 74 65 6d 3f 0a 21 69 66 6e 64 65 66 20 46 4f 53 tem?.!ifndef FOS
ad50: 53 49 4c 5f 45 4e 41 42 4c 45 5f 54 43 4c 0a 46 SIL_ENABLE_TCL.F
ad60: 4f 53 53 49 4c 5f 45 4e 41 42 4c 45 5f 54 43 4c OSSIL_ENABLE_TCL
ad70: 20 3d 20 30 0a 21 65 6e 64 69 66 0a 0a 23 20 45 = 0.!endif..# E
ad80: 6e 61 62 6c 65 20 54 48 31 20 73 63 72 69 70 74 nable TH1 script
ad90: 73 20 69 6e 20 65 6d 62 65 64 64 65 64 20 64 6f s in embedded do
ada0: 63 75 6d 65 6e 74 61 74 69 6f 6e 20 66 69 6c 65 cumentation file
adb0: 73 3f 0a 21 69 66 6e 64 65 66 20 46 4f 53 53 49 s?.!ifndef FOSSI
adc0: 4c 5f 45 4e 41 42 4c 45 5f 54 48 31 5f 44 4f 43 L_ENABLE_TH1_DOC
add0: 53 0a 46 4f 53 53 49 4c 5f 45 4e 41 42 4c 45 5f S.FOSSIL_ENABLE_
ade0: 54 48 31 5f 44 4f 43 53 20 3d 20 30 0a 21 65 6e TH1_DOCS = 0.!en
adf0: 64 69 66 0a 0a 23 20 45 6e 61 62 6c 65 20 54 48 dif..# Enable TH
ae00: 31 20 68 6f 6f 6b 73 20 66 6f 72 20 63 6f 6d 6d 1 hooks for comm
ae10: 61 6e 64 73 20 61 6e 64 20 77 65 62 20 70 61 67 ands and web pag
ae20: 65 73 3f 0a 21 69 66 6e 64 65 66 20 46 4f 53 53 es?.!ifndef FOSS
ae30: 49 4c 5f 45 4e 41 42 4c 45 5f 54 48 31 5f 48 4f IL_ENABLE_TH1_HO
ae40: 4f 4b 53 0a 46 4f 53 53 49 4c 5f 45 4e 41 42 4c OKS.FOSSIL_ENABL
ae50: 45 5f 54 48 31 5f 48 4f 4f 4b 53 20 3d 20 30 0a E_TH1_HOOKS = 0.
ae60: 21 65 6e 64 69 66 0a 0a 23 20 45 6e 61 62 6c 65 !endif..# Enable
ae70: 20 73 75 70 70 6f 72 74 20 66 6f 72 20 57 69 6e support for Win
ae80: 64 6f 77 73 20 58 50 20 77 69 74 68 20 56 69 73 dows XP with Vis
ae90: 75 61 6c 20 53 74 75 64 69 6f 20 32 30 31 78 3f ual Studio 201x?
aea0: 0a 21 69 66 6e 64 65 66 20 46 4f 53 53 49 4c 5f .!ifndef FOSSIL_
aeb0: 45 4e 41 42 4c 45 5f 57 49 4e 58 50 0a 46 4f 53 ENABLE_WINXP.FOS
aec0: 53 49 4c 5f 45 4e 41 42 4c 45 5f 57 49 4e 58 50 SIL_ENABLE_WINXP
aed0: 20 3d 20 30 0a 21 65 6e 64 69 66 0a 0a 23 20 45 = 0.!endif..# E
aee0: 6e 61 62 6c 65 20 73 75 70 70 6f 72 74 20 66 6f nable support fo
aef0: 72 20 74 68 65 20 53 51 4c 69 74 65 20 45 6e 63 r the SQLite Enc
af00: 72 79 70 74 69 6f 6e 20 45 78 74 65 6e 73 69 6f ryption Extensio
af10: 6e 3f 0a 21 69 66 6e 64 65 66 20 55 53 45 5f 53 n?.!ifndef USE_S
af20: 45 45 0a 55 53 45 5f 53 45 45 20 3d 20 30 0a 21 EE.USE_SEE = 0.!
af30: 65 6e 64 69 66 0a 0a 21 69 66 20 24 28 46 4f 53 endif..!if $(FOS
af40: 53 49 4c 5f 45 4e 41 42 4c 45 5f 53 53 4c 29 21 SIL_ENABLE_SSL)!
af50: 3d 30 0a 53 53 4c 44 49 52 20 20 20 20 3d 20 24 =0.SSLDIR = $
af60: 28 42 29 5c 63 6f 6d 70 61 74 5c 6f 70 65 6e 73 (B)\compat\opens
af70: 73 6c 2d 31 2e 30 2e 32 6d 0a 53 53 4c 49 4e 43 sl-1.0.2m.SSLINC
af80: 44 49 52 20 3d 20 24 28 53 53 4c 44 49 52 29 5c DIR = $(SSLDIR)\
af90: 69 6e 63 33 32 0a 21 69 66 20 24 28 46 4f 53 53 inc32.!if $(FOSS
afa0: 49 4c 5f 44 59 4e 41 4d 49 43 5f 42 55 49 4c 44 IL_DYNAMIC_BUILD
afb0: 29 21 3d 30 0a 53 53 4c 4c 49 42 44 49 52 20 3d )!=0.SSLLIBDIR =
afc0: 20 24 28 53 53 4c 44 49 52 29 5c 6f 75 74 33 32 $(SSLDIR)\out32
afd0: 64 6c 6c 0a 21 65 6c 73 65 0a 53 53 4c 4c 49 42 dll.!else.SSLLIB
afe0: 44 49 52 20 3d 20 24 28 53 53 4c 44 49 52 29 5c DIR = $(SSLDIR)\
aff0: 6f 75 74 33 32 0a 21 65 6e 64 69 66 0a 53 53 4c out32.!endif.SSL
b000: 4c 46 4c 41 47 53 20 3d 20 2f 6e 6f 6c 6f 67 6f LFLAGS = /nologo
b010: 20 2f 6f 70 74 3a 72 65 66 20 2f 64 65 62 75 67 /opt:ref /debug
b020: 0a 53 53 4c 4c 49 42 20 20 20 20 3d 20 73 73 6c .SSLLIB = ssl
b030: 65 61 79 33 32 2e 6c 69 62 20 6c 69 62 65 61 79 eay32.lib libeay
b040: 33 32 2e 6c 69 62 20 75 73 65 72 33 32 2e 6c 69 32.lib user32.li
b050: 62 20 67 64 69 33 32 2e 6c 69 62 20 63 72 79 70 b gdi32.lib cryp
b060: 74 33 32 2e 6c 69 62 0a 21 69 66 20 22 24 28 50 t32.lib.!if "$(P
b070: 4c 41 54 46 4f 52 4d 29 22 3d 3d 22 61 6d 64 36 LATFORM)"=="amd6
b080: 34 22 20 7c 7c 20 22 24 28 50 4c 41 54 46 4f 52 4" || "$(PLATFOR
b090: 4d 29 22 3d 3d 22 78 36 34 22 0a 21 6d 65 73 73 M)"=="x64".!mess
b0a0: 61 67 65 20 55 73 69 6e 67 20 27 78 36 34 27 20 age Using 'x64'
b0b0: 70 6c 61 74 66 6f 72 6d 20 66 6f 72 20 4f 70 65 platform for Ope
b0c0: 6e 53 53 4c 2e 2e 2e 0a 23 20 42 55 47 42 55 47 nSSL....# BUGBUG
b0d0: 20 28 4f 70 65 6e 53 53 4c 29 3a 20 55 73 69 6e (OpenSSL): Usin
b0e0: 67 20 22 6e 6f 2d 73 73 6c 2a 22 20 68 65 72 65 g "no-ssl*" here
b0f0: 20 62 72 65 61 6b 73 20 74 68 65 20 62 75 69 6c breaks the buil
b100: 64 2e 0a 23 20 53 53 4c 43 4f 4e 46 49 47 20 3d d..# SSLCONFIG =
b110: 20 56 43 2d 57 49 4e 36 34 41 20 6e 6f 2d 61 73 VC-WIN64A no-as
b120: 6d 20 6e 6f 2d 73 73 6c 32 20 6e 6f 2d 73 73 6c m no-ssl2 no-ssl
b130: 33 0a 53 53 4c 43 4f 4e 46 49 47 20 3d 20 56 43 3.SSLCONFIG = VC
b140: 2d 57 49 4e 36 34 41 20 6e 6f 2d 61 73 6d 0a 21 -WIN64A no-asm.!
b150: 69 66 20 24 28 46 4f 53 53 49 4c 5f 44 59 4e 41 if $(FOSSIL_DYNA
b160: 4d 49 43 5f 42 55 49 4c 44 29 21 3d 30 0a 53 53 MIC_BUILD)!=0.SS
b170: 4c 43 4f 4e 46 49 47 20 3d 20 24 28 53 53 4c 43 LCONFIG = $(SSLC
b180: 4f 4e 46 49 47 29 20 73 68 61 72 65 64 0a 21 65 ONFIG) shared.!e
b190: 6c 73 65 0a 53 53 4c 43 4f 4e 46 49 47 20 3d 20 lse.SSLCONFIG =
b1a0: 24 28 53 53 4c 43 4f 4e 46 49 47 29 20 6e 6f 2d $(SSLCONFIG) no-
b1b0: 73 68 61 72 65 64 0a 21 65 6e 64 69 66 0a 53 53 shared.!endif.SS
b1c0: 4c 53 45 54 55 50 20 20 3d 20 6d 73 5c 64 6f 5f LSETUP = ms\do_
b1d0: 77 69 6e 36 34 61 2e 62 61 74 0a 21 69 66 20 24 win64a.bat.!if $
b1e0: 28 46 4f 53 53 49 4c 5f 44 59 4e 41 4d 49 43 5f (FOSSIL_DYNAMIC_
b1f0: 42 55 49 4c 44 29 21 3d 30 0a 53 53 4c 4e 4d 41 BUILD)!=0.SSLNMA
b200: 4b 45 20 20 3d 20 6d 73 5c 6e 74 64 6c 6c 2e 6d KE = ms\ntdll.m
b210: 61 6b 20 61 6c 6c 0a 21 65 6c 73 65 0a 53 53 4c ak all.!else.SSL
b220: 4e 4d 41 4b 45 20 20 3d 20 6d 73 5c 6e 74 2e 6d NMAKE = ms\nt.m
b230: 61 6b 20 61 6c 6c 0a 21 65 6e 64 69 66 0a 23 20 ak all.!endif.#
b240: 42 55 47 42 55 47 20 28 4f 70 65 6e 53 53 4c 29 BUGBUG (OpenSSL)
b250: 3a 20 55 73 69 6e 67 20 22 4f 50 45 4e 53 53 4c : Using "OPENSSL
b260: 5f 4e 4f 5f 53 53 4c 2a 22 20 68 65 72 65 20 62 _NO_SSL*" here b
b270: 72 65 61 6b 73 20 64 79 6e 61 6d 69 63 20 62 75 reaks dynamic bu
b280: 69 6c 64 73 2e 0a 21 69 66 20 24 28 46 4f 53 53 ilds..!if $(FOSS
b290: 49 4c 5f 44 59 4e 41 4d 49 43 5f 42 55 49 4c 44 IL_DYNAMIC_BUILD
b2a0: 29 3d 3d 30 0a 53 53 4c 43 46 4c 41 47 53 20 3d )==0.SSLCFLAGS =
b2b0: 20 2d 44 4f 50 45 4e 53 53 4c 5f 4e 4f 5f 53 53 -DOPENSSL_NO_SS
b2c0: 4c 32 20 2d 44 4f 50 45 4e 53 53 4c 5f 4e 4f 5f L2 -DOPENSSL_NO_
b2d0: 53 53 4c 33 0a 21 65 6e 64 69 66 0a 21 65 6c 73 SSL3.!endif.!els
b2e0: 65 69 66 20 22 24 28 50 4c 41 54 46 4f 52 4d 29 eif "$(PLATFORM)
b2f0: 22 3d 3d 22 69 61 36 34 22 0a 21 6d 65 73 73 61 "=="ia64".!messa
b300: 67 65 20 55 73 69 6e 67 20 27 69 61 36 34 27 20 ge Using 'ia64'
b310: 70 6c 61 74 66 6f 72 6d 20 66 6f 72 20 4f 70 65 platform for Ope
b320: 6e 53 53 4c 2e 2e 2e 0a 23 20 42 55 47 42 55 47 nSSL....# BUGBUG
b330: 20 28 4f 70 65 6e 53 53 4c 29 3a 20 55 73 69 6e (OpenSSL): Usin
b340: 67 20 22 6e 6f 2d 73 73 6c 2a 22 20 68 65 72 65 g "no-ssl*" here
b350: 20 62 72 65 61 6b 73 20 74 68 65 20 62 75 69 6c breaks the buil
b360: 64 2e 0a 23 20 53 53 4c 43 4f 4e 46 49 47 20 3d d..# SSLCONFIG =
b370: 20 56 43 2d 57 49 4e 36 34 49 20 6e 6f 2d 61 73 VC-WIN64I no-as
b380: 6d 20 6e 6f 2d 73 73 6c 32 20 6e 6f 2d 73 73 6c m no-ssl2 no-ssl
b390: 33 0a 53 53 4c 43 4f 4e 46 49 47 20 3d 20 56 43 3.SSLCONFIG = VC
b3a0: 2d 57 49 4e 36 34 49 20 6e 6f 2d 61 73 6d 0a 21 -WIN64I no-asm.!
b3b0: 69 66 20 24 28 46 4f 53 53 49 4c 5f 44 59 4e 41 if $(FOSSIL_DYNA
b3c0: 4d 49 43 5f 42 55 49 4c 44 29 21 3d 30 0a 53 53 MIC_BUILD)!=0.SS
b3d0: 4c 43 4f 4e 46 49 47 20 3d 20 24 28 53 53 4c 43 LCONFIG = $(SSLC
b3e0: 4f 4e 46 49 47 29 20 73 68 61 72 65 64 0a 21 65 ONFIG) shared.!e
b3f0: 6c 73 65 0a 53 53 4c 43 4f 4e 46 49 47 20 3d 20 lse.SSLCONFIG =
b400: 24 28 53 53 4c 43 4f 4e 46 49 47 29 20 6e 6f 2d $(SSLCONFIG) no-
b410: 73 68 61 72 65 64 0a 21 65 6e 64 69 66 0a 53 53 shared.!endif.SS
b420: 4c 53 45 54 55 50 20 20 3d 20 6d 73 5c 64 6f 5f LSETUP = ms\do_
b430: 77 69 6e 36 34 69 2e 62 61 74 0a 21 69 66 20 24 win64i.bat.!if $
b440: 28 46 4f 53 53 49 4c 5f 44 59 4e 41 4d 49 43 5f (FOSSIL_DYNAMIC_
b450: 42 55 49 4c 44 29 21 3d 30 0a 53 53 4c 4e 4d 41 BUILD)!=0.SSLNMA
b460: 4b 45 20 20 3d 20 6d 73 5c 6e 74 64 6c 6c 2e 6d KE = ms\ntdll.m
b470: 61 6b 20 61 6c 6c 0a 21 65 6c 73 65 0a 53 53 4c ak all.!else.SSL
b480: 4e 4d 41 4b 45 20 20 3d 20 6d 73 5c 6e 74 2e 6d NMAKE = ms\nt.m
b490: 61 6b 20 61 6c 6c 0a 21 65 6e 64 69 66 0a 23 20 ak all.!endif.#
b4a0: 42 55 47 42 55 47 20 28 4f 70 65 6e 53 53 4c 29 BUGBUG (OpenSSL)
b4b0: 3a 20 55 73 69 6e 67 20 22 4f 50 45 4e 53 53 4c : Using "OPENSSL
b4c0: 5f 4e 4f 5f 53 53 4c 2a 22 20 68 65 72 65 20 62 _NO_SSL*" here b
b4d0: 72 65 61 6b 73 20 64 79 6e 61 6d 69 63 20 62 75 reaks dynamic bu
b4e0: 69 6c 64 73 2e 0a 21 69 66 20 24 28 46 4f 53 53 ilds..!if $(FOSS
b4f0: 49 4c 5f 44 59 4e 41 4d 49 43 5f 42 55 49 4c 44 IL_DYNAMIC_BUILD
b500: 29 3d 3d 30 0a 53 53 4c 43 46 4c 41 47 53 20 3d )==0.SSLCFLAGS =
b510: 20 2d 44 4f 50 45 4e 53 53 4c 5f 4e 4f 5f 53 53 -DOPENSSL_NO_SS
b520: 4c 32 20 2d 44 4f 50 45 4e 53 53 4c 5f 4e 4f 5f L2 -DOPENSSL_NO_
b530: 53 53 4c 33 0a 21 65 6e 64 69 66 0a 21 65 6c 73 SSL3.!endif.!els
b540: 65 0a 21 6d 65 73 73 61 67 65 20 41 73 73 75 6d e.!message Assum
b550: 69 6e 67 20 27 78 38 36 27 20 70 6c 61 74 66 6f ing 'x86' platfo
b560: 72 6d 20 66 6f 72 20 4f 70 65 6e 53 53 4c 2e 2e rm for OpenSSL..
b570: 2e 0a 23 20 42 55 47 42 55 47 20 28 4f 70 65 6e ..# BUGBUG (Open
b580: 53 53 4c 29 3a 20 55 73 69 6e 67 20 22 6e 6f 2d SSL): Using "no-
b590: 73 73 6c 2a 22 20 68 65 72 65 20 62 72 65 61 6b ssl*" here break
b5a0: 73 20 74 68 65 20 62 75 69 6c 64 2e 0a 23 20 53 s the build..# S
b5b0: 53 4c 43 4f 4e 46 49 47 20 3d 20 56 43 2d 57 49 SLCONFIG = VC-WI
b5c0: 4e 33 32 20 6e 6f 2d 61 73 6d 20 6e 6f 2d 73 73 N32 no-asm no-ss
b5d0: 6c 32 20 6e 6f 2d 73 73 6c 33 0a 53 53 4c 43 4f l2 no-ssl3.SSLCO
b5e0: 4e 46 49 47 20 3d 20 56 43 2d 57 49 4e 33 32 20 NFIG = VC-WIN32
b5f0: 6e 6f 2d 61 73 6d 0a 21 69 66 20 24 28 46 4f 53 no-asm.!if $(FOS
b600: 53 49 4c 5f 44 59 4e 41 4d 49 43 5f 42 55 49 4c SIL_DYNAMIC_BUIL
b610: 44 29 21 3d 30 0a 53 53 4c 43 4f 4e 46 49 47 20 D)!=0.SSLCONFIG
b620: 3d 20 24 28 53 53 4c 43 4f 4e 46 49 47 29 20 73 = $(SSLCONFIG) s
b630: 68 61 72 65 64 0a 21 65 6c 73 65 0a 53 53 4c 43 hared.!else.SSLC
b640: 4f 4e 46 49 47 20 3d 20 24 28 53 53 4c 43 4f 4e ONFIG = $(SSLCON
b650: 46 49 47 29 20 6e 6f 2d 73 68 61 72 65 64 0a 21 FIG) no-shared.!
b660: 65 6e 64 69 66 0a 53 53 4c 53 45 54 55 50 20 20 endif.SSLSETUP
b670: 3d 20 6d 73 5c 64 6f 5f 6d 73 2e 62 61 74 0a 21 = ms\do_ms.bat.!
b680: 69 66 20 24 28 46 4f 53 53 49 4c 5f 44 59 4e 41 if $(FOSSIL_DYNA
b690: 4d 49 43 5f 42 55 49 4c 44 29 21 3d 30 0a 53 53 MIC_BUILD)!=0.SS
b6a0: 4c 4e 4d 41 4b 45 20 20 3d 20 6d 73 5c 6e 74 64 LNMAKE = ms\ntd
b6b0: 6c 6c 2e 6d 61 6b 20 61 6c 6c 0a 21 65 6c 73 65 ll.mak all.!else
b6c0: 0a 53 53 4c 4e 4d 41 4b 45 20 20 3d 20 6d 73 5c .SSLNMAKE = ms\
b6d0: 6e 74 2e 6d 61 6b 20 61 6c 6c 0a 21 65 6e 64 69 nt.mak all.!endi
b6e0: 66 0a 23 20 42 55 47 42 55 47 20 28 4f 70 65 6e f.# BUGBUG (Open
b6f0: 53 53 4c 29 3a 20 55 73 69 6e 67 20 22 4f 50 45 SSL): Using "OPE
b700: 4e 53 53 4c 5f 4e 4f 5f 53 53 4c 2a 22 20 68 65 NSSL_NO_SSL*" he
b710: 72 65 20 62 72 65 61 6b 73 20 64 79 6e 61 6d 69 re breaks dynami
b720: 63 20 62 75 69 6c 64 73 2e 0a 21 69 66 20 24 28 c builds..!if $(
b730: 46 4f 53 53 49 4c 5f 44 59 4e 41 4d 49 43 5f 42 FOSSIL_DYNAMIC_B
b740: 55 49 4c 44 29 3d 3d 30 0a 53 53 4c 43 46 4c 41 UILD)==0.SSLCFLA
b750: 47 53 20 3d 20 2d 44 4f 50 45 4e 53 53 4c 5f 4e GS = -DOPENSSL_N
b760: 4f 5f 53 53 4c 32 20 2d 44 4f 50 45 4e 53 53 4c O_SSL2 -DOPENSSL
b770: 5f 4e 4f 5f 53 53 4c 33 0a 21 65 6e 64 69 66 0a _NO_SSL3.!endif.
b780: 21 65 6e 64 69 66 0a 21 65 6e 64 69 66 0a 0a 21 !endif.!endif..!
b790: 69 66 20 24 28 46 4f 53 53 49 4c 5f 45 4e 41 42 if $(FOSSIL_ENAB
b7a0: 4c 45 5f 54 43 4c 29 21 3d 30 0a 54 43 4c 44 49 LE_TCL)!=0.TCLDI
b7b0: 52 20 20 20 20 3d 20 24 28 42 29 5c 63 6f 6d 70 R = $(B)\comp
b7c0: 61 74 5c 74 63 6c 2d 38 2e 36 0a 54 43 4c 53 52 at\tcl-8.6.TCLSR
b7d0: 43 44 49 52 20 3d 20 24 28 54 43 4c 44 49 52 29 CDIR = $(TCLDIR)
b7e0: 0a 54 43 4c 49 4e 43 44 49 52 20 3d 20 24 28 54 .TCLINCDIR = $(T
b7f0: 43 4c 53 52 43 44 49 52 29 5c 67 65 6e 65 72 69 CLSRCDIR)\generi
b800: 63 0a 21 65 6e 64 69 66 0a 0a 23 20 7a 6c 69 62 c.!endif..# zlib
b810: 20 6f 70 74 69 6f 6e 73 0a 5a 49 4e 43 44 49 52 options.ZINCDIR
b820: 20 20 20 3d 20 24 28 42 29 5c 63 6f 6d 70 61 74 = $(B)\compat
b830: 5c 7a 6c 69 62 0a 5a 4c 49 42 44 49 52 20 20 20 \zlib.ZLIBDIR
b840: 3d 20 24 28 42 29 5c 63 6f 6d 70 61 74 5c 7a 6c = $(B)\compat\zl
b850: 69 62 0a 0a 21 69 66 20 24 28 46 4f 53 53 49 4c ib..!if $(FOSSIL
b860: 5f 44 59 4e 41 4d 49 43 5f 42 55 49 4c 44 29 21 _DYNAMIC_BUILD)!
b870: 3d 30 0a 5a 4c 49 42 20 20 20 20 20 20 3d 20 7a =0.ZLIB = z
b880: 64 6c 6c 2e 6c 69 62 0a 21 65 6c 73 65 0a 5a 4c dll.lib.!else.ZL
b890: 49 42 20 20 20 20 20 20 3d 20 7a 6c 69 62 2e 6c IB = zlib.l
b8a0: 69 62 0a 21 65 6e 64 69 66 0a 0a 49 4e 43 4c 20 ib.!endif..INCL
b8b0: 20 20 20 20 20 3d 20 2f 49 2e 20 2f 49 24 28 53 = /I. /I$(S
b8c0: 52 43 44 49 52 29 20 2f 49 24 42 5c 77 69 6e 5c RCDIR) /I$B\win\
b8d0: 69 6e 63 6c 75 64 65 0a 0a 21 69 66 20 24 28 46 include..!if $(F
b8e0: 4f 53 53 49 4c 5f 45 4e 41 42 4c 45 5f 4d 49 4e OSSIL_ENABLE_MIN
b8f0: 49 5a 29 3d 3d 30 0a 49 4e 43 4c 20 20 20 20 20 IZ)==0.INCL
b900: 20 3d 20 24 28 49 4e 43 4c 29 20 2f 49 24 28 5a = $(INCL) /I$(Z
b910: 49 4e 43 44 49 52 29 0a 21 65 6e 64 69 66 0a 0a INCDIR).!endif..
b920: 21 69 66 20 24 28 46 4f 53 53 49 4c 5f 45 4e 41 !if $(FOSSIL_ENA
b930: 42 4c 45 5f 53 53 4c 29 21 3d 30 0a 49 4e 43 4c BLE_SSL)!=0.INCL
b940: 20 20 20 20 20 20 3d 20 24 28 49 4e 43 4c 29 20 = $(INCL)
b950: 2f 49 24 28 53 53 4c 49 4e 43 44 49 52 29 0a 21 /I$(SSLINCDIR).!
b960: 65 6e 64 69 66 0a 0a 21 69 66 20 24 28 46 4f 53 endif..!if $(FOS
b970: 53 49 4c 5f 45 4e 41 42 4c 45 5f 54 43 4c 29 21 SIL_ENABLE_TCL)!
b980: 3d 30 0a 49 4e 43 4c 20 20 20 20 20 20 3d 20 24 =0.INCL = $
b990: 28 49 4e 43 4c 29 20 2f 49 24 28 54 43 4c 49 4e (INCL) /I$(TCLIN
b9a0: 43 44 49 52 29 0a 21 65 6e 64 69 66 0a 0a 43 46 CDIR).!endif..CF
b9b0: 4c 41 47 53 20 20 20 20 3d 20 2f 6e 6f 6c 6f 67 LAGS = /nolog
b9c0: 6f 0a 4c 44 46 4c 41 47 53 20 20 20 3d 0a 0a 21 o.LDFLAGS =..!
b9d0: 69 66 20 24 28 46 4f 53 53 49 4c 5f 44 59 4e 41 if $(FOSSIL_DYNA
b9e0: 4d 49 43 5f 42 55 49 4c 44 29 21 3d 30 0a 4c 44 MIC_BUILD)!=0.LD
b9f0: 46 4c 41 47 53 20 20 20 3d 20 24 28 4c 44 46 4c FLAGS = $(LDFL
ba00: 41 47 53 29 20 2f 4d 41 4e 49 46 45 53 54 0a 21 AGS) /MANIFEST.!
ba10: 65 6c 73 65 0a 4c 44 46 4c 41 47 53 20 20 20 3d else.LDFLAGS =
ba20: 20 24 28 4c 44 46 4c 41 47 53 29 20 2f 4e 4f 44 $(LDFLAGS) /NOD
ba30: 45 46 41 55 4c 54 4c 49 42 3a 6d 73 76 63 72 74 EFAULTLIB:msvcrt
ba40: 20 2f 4d 41 4e 49 46 45 53 54 3a 4e 4f 0a 21 65 /MANIFEST:NO.!e
ba50: 6e 64 69 66 0a 0a 21 69 66 20 24 28 46 4f 53 53 ndif..!if $(FOSS
ba60: 49 4c 5f 45 4e 41 42 4c 45 5f 57 49 4e 58 50 29 IL_ENABLE_WINXP)
ba70: 21 3d 30 0a 58 50 43 46 4c 41 47 53 20 20 3d 20 !=0.XPCFLAGS =
ba80: 24 28 58 50 43 46 4c 41 47 53 29 20 2f 44 5f 57 $(XPCFLAGS) /D_W
ba90: 49 4e 33 32 5f 57 49 4e 4e 54 3d 30 78 30 35 30 IN32_WINNT=0x050
baa0: 31 20 2f 44 5f 55 53 49 4e 47 5f 56 31 31 30 5f 1 /D_USING_V110_
bab0: 53 44 4b 37 31 5f 3d 31 0a 43 46 4c 41 47 53 20 SDK71_=1.CFLAGS
bac0: 20 20 20 3d 20 24 28 43 46 4c 41 47 53 29 20 24 = $(CFLAGS) $
bad0: 28 58 50 43 46 4c 41 47 53 29 0a 21 69 66 20 22 (XPCFLAGS).!if "
bae0: 24 28 50 4c 41 54 46 4f 52 4d 29 22 3d 3d 22 61 $(PLATFORM)"=="a
baf0: 6d 64 36 34 22 20 7c 7c 20 22 24 28 50 4c 41 54 md64" || "$(PLAT
bb00: 46 4f 52 4d 29 22 3d 3d 22 78 36 34 22 0a 58 50 FORM)"=="x64".XP
bb10: 4c 44 46 4c 41 47 53 20 3d 20 24 28 58 50 4c 44 LDFLAGS = $(XPLD
bb20: 46 4c 41 47 53 29 20 2f 53 55 42 53 59 53 54 45 FLAGS) /SUBSYSTE
bb30: 4d 3a 43 4f 4e 53 4f 4c 45 2c 35 2e 30 32 0a 21 M:CONSOLE,5.02.!
bb40: 65 6c 73 65 0a 58 50 4c 44 46 4c 41 47 53 20 3d else.XPLDFLAGS =
bb50: 20 24 28 58 50 4c 44 46 4c 41 47 53 29 20 2f 53 $(XPLDFLAGS) /S
bb60: 55 42 53 59 53 54 45 4d 3a 43 4f 4e 53 4f 4c 45 UBSYSTEM:CONSOLE
bb70: 2c 35 2e 30 31 0a 21 65 6e 64 69 66 0a 4c 44 46 ,5.01.!endif.LDF
bb80: 4c 41 47 53 20 20 20 3d 20 24 28 4c 44 46 4c 41 LAGS = $(LDFLA
bb90: 47 53 29 20 24 28 58 50 4c 44 46 4c 41 47 53 29 GS) $(XPLDFLAGS)
bba0: 0a 21 65 6e 64 69 66 0a 0a 21 69 66 20 24 28 46 .!endif..!if $(F
bbb0: 4f 53 53 49 4c 5f 44 59 4e 41 4d 49 43 5f 42 55 OSSIL_DYNAMIC_BU
bbc0: 49 4c 44 29 21 3d 30 0a 21 69 66 20 24 28 44 45 ILD)!=0.!if $(DE
bbd0: 42 55 47 29 21 3d 30 0a 43 52 54 46 4c 41 47 53 BUG)!=0.CRTFLAGS
bbe0: 20 3d 20 2f 4d 44 64 0a 21 65 6c 73 65 0a 43 52 = /MDd.!else.CR
bbf0: 54 46 4c 41 47 53 20 3d 20 2f 4d 44 0a 21 65 6e TFLAGS = /MD.!en
bc00: 64 69 66 0a 21 65 6c 73 65 0a 21 69 66 20 24 28 dif.!else.!if $(
bc10: 44 45 42 55 47 29 21 3d 30 0a 43 52 54 46 4c 41 DEBUG)!=0.CRTFLA
bc20: 47 53 20 3d 20 2f 4d 54 64 0a 21 65 6c 73 65 0a GS = /MTd.!else.
bc30: 43 52 54 46 4c 41 47 53 20 3d 20 2f 4d 54 0a 21 CRTFLAGS = /MT.!
bc40: 65 6e 64 69 66 0a 21 65 6e 64 69 66 0a 0a 21 69 endif.!endif..!i
bc50: 66 20 24 28 44 45 42 55 47 29 21 3d 30 0a 43 46 f $(DEBUG)!=0.CF
bc60: 4c 41 47 53 20 20 20 20 3d 20 24 28 43 46 4c 41 LAGS = $(CFLA
bc70: 47 53 29 20 2f 5a 69 20 24 28 43 52 54 46 4c 41 GS) /Zi $(CRTFLA
bc80: 47 53 29 20 2f 4f 64 0a 4c 44 46 4c 41 47 53 20 GS) /Od.LDFLAGS
bc90: 20 20 3d 20 24 28 4c 44 46 4c 41 47 53 29 20 2f = $(LDFLAGS) /
bca0: 44 45 42 55 47 0a 21 65 6c 73 65 0a 43 46 4c 41 DEBUG.!else.CFLA
bcb0: 47 53 20 20 20 20 3d 20 24 28 43 46 4c 41 47 53 GS = $(CFLAGS
bcc0: 29 20 24 28 43 52 54 46 4c 41 47 53 29 20 2f 4f ) $(CRTFLAGS) /O
bcd0: 32 0a 21 65 6e 64 69 66 0a 0a 42 43 43 20 20 20 2.!endif..BCC
bce0: 20 20 20 20 3d 20 24 28 43 43 29 20 24 28 43 46 = $(CC) $(CF
bcf0: 4c 41 47 53 29 0a 54 43 43 20 20 20 20 20 20 20 LAGS).TCC
bd00: 3d 20 24 28 43 43 29 20 2f 63 20 24 28 43 46 4c = $(CC) /c $(CFL
bd10: 41 47 53 29 20 24 28 4d 53 43 44 45 46 29 20 24 AGS) $(MSCDEF) $
bd20: 28 49 4e 43 4c 29 0a 52 43 43 20 20 20 20 20 20 (INCL).RCC
bd30: 20 3d 20 24 28 52 43 29 20 2f 44 5f 57 49 4e 33 = $(RC) /D_WIN3
bd40: 32 20 2f 44 5f 4d 53 43 5f 56 45 52 20 24 28 4d 2 /D_MSC_VER $(M
bd50: 53 43 44 45 46 29 20 24 28 49 4e 43 4c 29 0a 4d SCDEF) $(INCL).M
bd60: 54 43 20 20 20 20 20 20 20 3d 20 6d 74 0a 4c 49 TC = mt.LI
bd70: 42 53 20 20 20 20 20 20 3d 20 77 73 32 5f 33 32 BS = ws2_32
bd80: 2e 6c 69 62 20 61 64 76 61 70 69 33 32 2e 6c 69 .lib advapi32.li
bd90: 62 0a 4c 49 42 44 49 52 20 20 20 20 3d 0a 0a 21 b.LIBDIR =..!
bda0: 69 66 20 24 28 46 4f 53 53 49 4c 5f 44 59 4e 41 if $(FOSSIL_DYNA
bdb0: 4d 49 43 5f 42 55 49 4c 44 29 21 3d 30 0a 54 43 MIC_BUILD)!=0.TC
bdc0: 43 20 20 20 20 20 20 20 3d 20 24 28 54 43 43 29 C = $(TCC)
bdd0: 20 2f 44 46 4f 53 53 49 4c 5f 44 59 4e 41 4d 49 /DFOSSIL_DYNAMI
bde0: 43 5f 42 55 49 4c 44 3d 31 0a 52 43 43 20 20 20 C_BUILD=1.RCC
bdf0: 20 20 20 20 3d 20 24 28 52 43 43 29 20 2f 44 46 = $(RCC) /DF
be00: 4f 53 53 49 4c 5f 44 59 4e 41 4d 49 43 5f 42 55 OSSIL_DYNAMIC_BU
be10: 49 4c 44 3d 31 0a 21 65 6e 64 69 66 0a 0a 21 69 ILD=1.!endif..!i
be20: 66 20 24 28 46 4f 53 53 49 4c 5f 45 4e 41 42 4c f $(FOSSIL_ENABL
be30: 45 5f 4d 49 4e 49 5a 29 3d 3d 30 0a 4c 49 42 53 E_MINIZ)==0.LIBS
be40: 20 20 20 20 20 20 3d 20 24 28 4c 49 42 53 29 20 = $(LIBS)
be50: 24 28 5a 4c 49 42 29 0a 4c 49 42 44 49 52 20 20 $(ZLIB).LIBDIR
be60: 20 20 3d 20 24 28 4c 49 42 44 49 52 29 20 2f 4c = $(LIBDIR) /L
be70: 49 42 50 41 54 48 3a 24 28 5a 4c 49 42 44 49 52 IBPATH:$(ZLIBDIR
be80: 29 0a 21 65 6e 64 69 66 0a 0a 21 69 66 20 24 28 ).!endif..!if $(
be90: 46 4f 53 53 49 4c 5f 45 4e 41 42 4c 45 5f 4d 49 FOSSIL_ENABLE_MI
bea0: 4e 49 5a 29 21 3d 30 0a 54 43 43 20 20 20 20 20 NIZ)!=0.TCC
beb0: 20 20 3d 20 24 28 54 43 43 29 20 2f 44 46 4f 53 = $(TCC) /DFOS
bec0: 53 49 4c 5f 45 4e 41 42 4c 45 5f 4d 49 4e 49 5a SIL_ENABLE_MINIZ
bed0: 3d 31 0a 52 43 43 20 20 20 20 20 20 20 3d 20 24 =1.RCC = $
bee0: 28 52 43 43 29 20 2f 44 46 4f 53 53 49 4c 5f 45 (RCC) /DFOSSIL_E
bef0: 4e 41 42 4c 45 5f 4d 49 4e 49 5a 3d 31 0a 21 65 NABLE_MINIZ=1.!e
bf00: 6e 64 69 66 0a 0a 21 69 66 20 24 28 46 4f 53 53 ndif..!if $(FOSS
bf10: 49 4c 5f 45 4e 41 42 4c 45 5f 4a 53 4f 4e 29 21 IL_ENABLE_JSON)!
bf20: 3d 30 0a 54 43 43 20 20 20 20 20 20 20 3d 20 24 =0.TCC = $
bf30: 28 54 43 43 29 20 2f 44 46 4f 53 53 49 4c 5f 45 (TCC) /DFOSSIL_E
bf40: 4e 41 42 4c 45 5f 4a 53 4f 4e 3d 31 0a 52 43 43 NABLE_JSON=1.RCC
bf50: 20 20 20 20 20 20 20 3d 20 24 28 52 43 43 29 20 = $(RCC)
bf60: 2f 44 46 4f 53 53 49 4c 5f 45 4e 41 42 4c 45 5f /DFOSSIL_ENABLE_
bf70: 4a 53 4f 4e 3d 31 0a 21 65 6e 64 69 66 0a 0a 21 JSON=1.!endif..!
bf80: 69 66 20 24 28 46 4f 53 53 49 4c 5f 45 4e 41 42 if $(FOSSIL_ENAB
bf90: 4c 45 5f 53 53 4c 29 21 3d 30 0a 54 43 43 20 20 LE_SSL)!=0.TCC
bfa0: 20 20 20 20 20 3d 20 24 28 54 43 43 29 20 2f 44 = $(TCC) /D
bfb0: 46 4f 53 53 49 4c 5f 45 4e 41 42 4c 45 5f 53 53 FOSSIL_ENABLE_SS
bfc0: 4c 3d 31 0a 52 43 43 20 20 20 20 20 20 20 3d 20 L=1.RCC =
bfd0: 24 28 52 43 43 29 20 2f 44 46 4f 53 53 49 4c 5f $(RCC) /DFOSSIL_
bfe0: 45 4e 41 42 4c 45 5f 53 53 4c 3d 31 0a 4c 49 42 ENABLE_SSL=1.LIB
bff0: 53 20 20 20 20 20 20 3d 20 24 28 4c 49 42 53 29 S = $(LIBS)
c000: 20 24 28 53 53 4c 4c 49 42 29 0a 4c 49 42 44 49 $(SSLLIB).LIBDI
c010: 52 20 20 20 20 3d 20 24 28 4c 49 42 44 49 52 29 R = $(LIBDIR)
c020: 20 2f 4c 49 42 50 41 54 48 3a 24 28 53 53 4c 4c /LIBPATH:$(SSLL
c030: 49 42 44 49 52 29 0a 21 65 6e 64 69 66 0a 0a 21 IBDIR).!endif..!
c040: 69 66 20 24 28 46 4f 53 53 49 4c 5f 45 4e 41 42 if $(FOSSIL_ENAB
c050: 4c 45 5f 45 58 45 43 5f 52 45 4c 5f 50 41 54 48 LE_EXEC_REL_PATH
c060: 53 29 21 3d 30 0a 54 43 43 20 20 20 20 20 20 20 S)!=0.TCC
c070: 3d 20 24 28 54 43 43 29 20 2f 44 46 4f 53 53 49 = $(TCC) /DFOSSI
c080: 4c 5f 45 4e 41 42 4c 45 5f 45 58 45 43 5f 52 45 L_ENABLE_EXEC_RE
c090: 4c 5f 50 41 54 48 53 3d 31 0a 52 43 43 20 20 20 L_PATHS=1.RCC
c0a0: 20 20 20 20 3d 20 24 28 52 43 43 29 20 2f 44 46 = $(RCC) /DF
c0b0: 4f 53 53 49 4c 5f 45 4e 41 42 4c 45 5f 45 58 45 OSSIL_ENABLE_EXE
c0c0: 43 5f 52 45 4c 5f 50 41 54 48 53 3d 31 0a 21 65 C_REL_PATHS=1.!e
c0d0: 6e 64 69 66 0a 0a 21 69 66 20 24 28 46 4f 53 53 ndif..!if $(FOSS
c0e0: 49 4c 5f 45 4e 41 42 4c 45 5f 4c 45 47 41 43 59 IL_ENABLE_LEGACY
c0f0: 5f 4d 56 5f 52 4d 29 21 3d 30 0a 54 43 43 20 20 _MV_RM)!=0.TCC
c100: 20 20 20 20 20 3d 20 24 28 54 43 43 29 20 2f 44 = $(TCC) /D
c110: 46 4f 53 53 49 4c 5f 45 4e 41 42 4c 45 5f 4c 45 FOSSIL_ENABLE_LE
c120: 47 41 43 59 5f 4d 56 5f 52 4d 3d 31 0a 52 43 43 GACY_MV_RM=1.RCC
c130: 20 20 20 20 20 20 20 3d 20 24 28 52 43 43 29 20 = $(RCC)
c140: 2f 44 46 4f 53 53 49 4c 5f 45 4e 41 42 4c 45 5f /DFOSSIL_ENABLE_
c150: 4c 45 47 41 43 59 5f 4d 56 5f 52 4d 3d 31 0a 21 LEGACY_MV_RM=1.!
c160: 65 6e 64 69 66 0a 0a 21 69 66 20 24 28 46 4f 53 endif..!if $(FOS
c170: 53 49 4c 5f 45 4e 41 42 4c 45 5f 54 48 31 5f 44 SIL_ENABLE_TH1_D
c180: 4f 43 53 29 21 3d 30 0a 54 43 43 20 20 20 20 20 OCS)!=0.TCC
c190: 20 20 3d 20 24 28 54 43 43 29 20 2f 44 46 4f 53 = $(TCC) /DFOS
c1a0: 53 49 4c 5f 45 4e 41 42 4c 45 5f 54 48 31 5f 44 SIL_ENABLE_TH1_D
c1b0: 4f 43 53 3d 31 0a 52 43 43 20 20 20 20 20 20 20 OCS=1.RCC
c1c0: 3d 20 24 28 52 43 43 29 20 2f 44 46 4f 53 53 49 = $(RCC) /DFOSSI
c1d0: 4c 5f 45 4e 41 42 4c 45 5f 54 48 31 5f 44 4f 43 L_ENABLE_TH1_DOC
c1e0: 53 3d 31 0a 21 65 6e 64 69 66 0a 0a 21 69 66 20 S=1.!endif..!if
c1f0: 24 28 46 4f 53 53 49 4c 5f 45 4e 41 42 4c 45 5f $(FOSSIL_ENABLE_
c200: 54 48 31 5f 48 4f 4f 4b 53 29 21 3d 30 0a 54 43 TH1_HOOKS)!=0.TC
c210: 43 20 20 20 20 20 20 20 3d 20 24 28 54 43 43 29 C = $(TCC)
c220: 20 2f 44 46 4f 53 53 49 4c 5f 45 4e 41 42 4c 45 /DFOSSIL_ENABLE
c230: 5f 54 48 31 5f 48 4f 4f 4b 53 3d 31 0a 52 43 43 _TH1_HOOKS=1.RCC
c240: 20 20 20 20 20 20 20 3d 20 24 28 52 43 43 29 20 = $(RCC)
c250: 2f 44 46 4f 53 53 49 4c 5f 45 4e 41 42 4c 45 5f /DFOSSIL_ENABLE_
c260: 54 48 31 5f 48 4f 4f 4b 53 3d 31 0a 21 65 6e 64 TH1_HOOKS=1.!end
c270: 69 66 0a 0a 21 69 66 20 24 28 46 4f 53 53 49 4c if..!if $(FOSSIL
c280: 5f 45 4e 41 42 4c 45 5f 54 43 4c 29 21 3d 30 0a _ENABLE_TCL)!=0.
c290: 54 43 43 20 20 20 20 20 20 20 3d 20 24 28 54 43 TCC = $(TC
c2a0: 43 29 20 2f 44 46 4f 53 53 49 4c 5f 45 4e 41 42 C) /DFOSSIL_ENAB
c2b0: 4c 45 5f 54 43 4c 3d 31 0a 52 43 43 20 20 20 20 LE_TCL=1.RCC
c2c0: 20 20 20 3d 20 24 28 52 43 43 29 20 2f 44 46 4f = $(RCC) /DFO
c2d0: 53 53 49 4c 5f 45 4e 41 42 4c 45 5f 54 43 4c 3d SSIL_ENABLE_TCL=
c2e0: 31 0a 54 43 43 20 20 20 20 20 20 20 3d 20 24 28 1.TCC = $(
c2f0: 54 43 43 29 20 2f 44 46 4f 53 53 49 4c 5f 45 4e TCC) /DFOSSIL_EN
c300: 41 42 4c 45 5f 54 43 4c 5f 53 54 55 42 53 3d 31 ABLE_TCL_STUBS=1
c310: 0a 52 43 43 20 20 20 20 20 20 20 3d 20 24 28 52 .RCC = $(R
c320: 43 43 29 20 2f 44 46 4f 53 53 49 4c 5f 45 4e 41 CC) /DFOSSIL_ENA
c330: 42 4c 45 5f 54 43 4c 5f 53 54 55 42 53 3d 31 0a BLE_TCL_STUBS=1.
c340: 54 43 43 20 20 20 20 20 20 20 3d 20 24 28 54 43 TCC = $(TC
c350: 43 29 20 2f 44 46 4f 53 53 49 4c 5f 45 4e 41 42 C) /DFOSSIL_ENAB
c360: 4c 45 5f 54 43 4c 5f 50 52 49 56 41 54 45 5f 53 LE_TCL_PRIVATE_S
c370: 54 55 42 53 3d 31 0a 52 43 43 20 20 20 20 20 20 TUBS=1.RCC
c380: 20 3d 20 24 28 52 43 43 29 20 2f 44 46 4f 53 53 = $(RCC) /DFOSS
c390: 49 4c 5f 45 4e 41 42 4c 45 5f 54 43 4c 5f 50 52 IL_ENABLE_TCL_PR
c3a0: 49 56 41 54 45 5f 53 54 55 42 53 3d 31 0a 54 43 IVATE_STUBS=1.TC
c3b0: 43 20 20 20 20 20 20 20 3d 20 24 28 54 43 43 29 C = $(TCC)
c3c0: 20 2f 44 55 53 45 5f 54 43 4c 5f 53 54 55 42 53 /DUSE_TCL_STUBS
c3d0: 3d 31 0a 52 43 43 20 20 20 20 20 20 20 3d 20 24 =1.RCC = $
c3e0: 28 52 43 43 29 20 2f 44 55 53 45 5f 54 43 4c 5f (RCC) /DUSE_TCL_
c3f0: 53 54 55 42 53 3d 31 0a 21 65 6e 64 69 66 0a 0a STUBS=1.!endif..
c400: 21 69 66 20 24 28 55 53 45 5f 53 45 45 29 21 3d !if $(USE_SEE)!=
c410: 30 0a 54 43 43 20 20 20 20 20 20 20 3d 20 24 28 0.TCC = $(
c420: 54 43 43 29 20 2f 44 55 53 45 5f 53 45 45 3d 31 TCC) /DUSE_SEE=1
c430: 0a 52 43 43 20 20 20 20 20 20 20 3d 20 24 28 52 .RCC = $(R
c440: 43 43 29 20 2f 44 55 53 45 5f 53 45 45 3d 31 0a CC) /DUSE_SEE=1.
c450: 21 65 6e 64 69 66 0a 7d 0a 72 65 67 73 75 62 20 !endif.}.regsub
c460: 2d 61 6c 6c 20 7b 5b 2d 5d 44 7d 20 5b 6a 6f 69 -all {[-]D} [joi
c470: 6e 20 24 53 51 4c 49 54 45 5f 57 49 4e 33 32 5f n $SQLITE_WIN32_
c480: 4f 50 54 49 4f 4e 53 20 7b 20 7d 5d 20 7b 2f 44 OPTIONS { }] {/D
c490: 7d 20 4d 53 43 5f 53 51 4c 49 54 45 5f 4f 50 54 } MSC_SQLITE_OPT
c4a0: 49 4f 4e 53 0a 73 65 74 20 6a 20 22 20 5c 5c 5c IONS.set j " \\\
c4b0: 6e 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 n
c4c0: 20 20 22 0a 77 72 69 74 65 6c 6e 20 22 53 51 4c ".writeln "SQL
c4d0: 49 54 45 5f 4f 50 54 49 4f 4e 53 20 3d 20 5b 6a ITE_OPTIONS = [j
c4e0: 6f 69 6e 20 24 4d 53 43 5f 53 51 4c 49 54 45 5f oin $MSC_SQLITE_
c4f0: 4f 50 54 49 4f 4e 53 20 24 6a 5d 5c 6e 22 0a 0a OPTIONS $j]\n"..
c500: 72 65 67 73 75 62 20 2d 61 6c 6c 20 7b 5b 2d 5d regsub -all {[-]
c510: 44 7d 20 5b 6a 6f 69 6e 20 24 53 48 45 4c 4c 5f D} [join $SHELL_
c520: 57 49 4e 33 32 5f 4f 50 54 49 4f 4e 53 20 7b 20 WIN32_OPTIONS {
c530: 7d 5d 20 7b 2f 44 7d 20 4d 53 43 5f 53 48 45 4c }] {/D} MSC_SHEL
c540: 4c 5f 4f 50 54 49 4f 4e 53 0a 73 65 74 20 6a 20 L_OPTIONS.set j
c550: 22 20 5c 5c 5c 6e 20 20 20 20 20 20 20 20 20 20 " \\\n
c560: 20 20 20 20 20 20 22 0a 77 72 69 74 65 6c 6e 20 ".writeln
c570: 22 53 48 45 4c 4c 5f 4f 50 54 49 4f 4e 53 20 3d "SHELL_OPTIONS =
c580: 20 5b 6a 6f 69 6e 20 24 4d 53 43 5f 53 48 45 4c [join $MSC_SHEL
c590: 4c 5f 4f 50 54 49 4f 4e 53 20 24 6a 5d 5c 6e 22 L_OPTIONS $j]\n"
c5a0: 0a 0a 72 65 67 73 75 62 20 2d 61 6c 6c 20 7b 5b ..regsub -all {[
c5b0: 2d 5d 44 7d 20 5b 6a 6f 69 6e 20 24 4d 49 4e 49 -]D} [join $MINI
c5c0: 5a 5f 57 49 4e 33 32 5f 4f 50 54 49 4f 4e 53 20 Z_WIN32_OPTIONS
c5d0: 7b 20 7d 5d 20 7b 2f 44 7d 20 4d 53 43 5f 4d 49 { }] {/D} MSC_MI
c5e0: 4e 49 5a 5f 4f 50 54 49 4f 4e 53 0a 73 65 74 20 NIZ_OPTIONS.set
c5f0: 6a 20 22 20 5c 5c 5c 6e 20 20 20 20 20 20 20 20 j " \\\n
c600: 20 20 20 20 20 20 20 20 22 0a 77 72 69 74 65 6c ".writel
c610: 6e 20 22 4d 49 4e 49 5a 5f 4f 50 54 49 4f 4e 53 n "MINIZ_OPTIONS
c620: 20 3d 20 5b 6a 6f 69 6e 20 24 4d 53 43 5f 4d 49 = [join $MSC_MI
c630: 4e 49 5a 5f 4f 50 54 49 4f 4e 53 20 24 6a 5d 5c NIZ_OPTIONS $j]\
c640: 6e 22 0a 0a 77 72 69 74 65 6c 6e 20 2d 6e 6f 6e n"..writeln -non
c650: 65 77 6c 69 6e 65 20 22 53 52 43 20 20 20 3d 20 ewline "SRC =
c660: 22 0a 73 65 74 20 69 20 30 0a 66 6f 72 65 61 63 ".set i 0.foreac
c670: 68 20 73 20 5b 6c 73 6f 72 74 20 24 73 72 63 5d h s [lsort $src]
c680: 20 7b 0a 20 20 69 66 20 7b 24 69 20 3e 20 30 7d {. if {$i > 0}
c690: 20 7b 0a 20 20 20 20 77 72 69 74 65 6c 6e 20 22 {. writeln "
c6a0: 20 5c 5c 22 0a 20 20 20 20 77 72 69 74 65 6c 6e \\". writeln
c6b0: 20 2d 6e 6f 6e 65 77 6c 69 6e 65 20 22 20 20 20 -nonewline "
c6c0: 20 20 20 20 20 22 0a 20 20 7d 0a 20 20 77 72 69 ". }. wri
c6d0: 74 65 6c 6e 20 2d 6e 6f 6e 65 77 6c 69 6e 65 20 teln -nonewline
c6e0: 22 24 7b 73 7d 5f 2e 63 22 3b 20 69 6e 63 72 20 "${s}_.c"; incr
c6f0: 69 0a 7d 0a 77 72 69 74 65 6c 6e 20 22 5c 6e 22 i.}.writeln "\n"
c700: 0a 77 72 69 74 65 6c 6e 20 2d 6e 6f 6e 65 77 6c .writeln -nonewl
c710: 69 6e 65 20 22 45 58 54 52 41 5f 46 49 4c 45 53 ine "EXTRA_FILES
c720: 20 20 20 3d 20 22 0a 73 65 74 20 69 20 30 0a 66 = ".set i 0.f
c730: 6f 72 65 61 63 68 20 73 20 5b 6c 73 6f 72 74 20 oreach s [lsort
c740: 24 65 78 74 72 61 5f 66 69 6c 65 73 5d 20 7b 0a $extra_files] {.
c750: 20 20 69 66 20 7b 24 69 20 3e 20 30 7d 20 7b 0a if {$i > 0} {.
c760: 20 20 20 20 77 72 69 74 65 6c 6e 20 22 20 5c 5c writeln " \\
c770: 22 0a 20 20 20 20 77 72 69 74 65 6c 6e 20 2d 6e ". writeln -n
c780: 6f 6e 65 77 6c 69 6e 65 20 22 20 20 20 20 20 20 onewline "
c790: 20 20 22 0a 20 20 7d 0a 20 20 77 72 69 74 65 6c ". }. writel
c7a0: 6e 20 2d 6e 6f 6e 65 77 6c 69 6e 65 20 22 5c 24 n -nonewline "\$
c7b0: 28 53 52 43 44 49 52 29 5c 5c 24 7b 73 7d 22 3b (SRCDIR)\\${s}";
c7c0: 20 69 6e 63 72 20 69 0a 7d 0a 77 72 69 74 65 6c incr i.}.writel
c7d0: 6e 20 22 5c 6e 22 0a 73 65 74 20 41 64 64 69 74 n "\n".set Addit
c7e0: 69 6f 6e 61 6c 4f 62 6a 20 5b 6c 69 73 74 20 73 ionalObj [list s
c7f0: 68 65 6c 6c 20 73 71 6c 69 74 65 33 20 74 68 20 hell sqlite3 th
c800: 74 68 5f 6c 61 6e 67 20 74 68 5f 74 63 6c 20 63 th_lang th_tcl c
c810: 73 6f 6e 5f 61 6d 61 6c 67 61 6d 61 74 69 6f 6e son_amalgamation
c820: 5d 0a 77 72 69 74 65 6c 6e 20 2d 6e 6f 6e 65 77 ].writeln -nonew
c830: 6c 69 6e 65 20 22 4f 42 4a 20 20 20 3d 20 22 0a line "OBJ = ".
c840: 73 65 74 20 69 20 30 0a 66 6f 72 65 61 63 68 20 set i 0.foreach
c850: 73 20 5b 6c 73 6f 72 74 20 5b 63 6f 6e 63 61 74 s [lsort [concat
c860: 20 24 73 72 63 20 24 41 64 64 69 74 69 6f 6e 61 $src $Additiona
c870: 6c 4f 62 6a 5d 5d 20 7b 0a 20 20 69 66 20 7b 24 lObj]] {. if {$
c880: 69 20 3e 20 30 7d 20 7b 0a 20 20 20 20 77 72 69 i > 0} {. wri
c890: 74 65 6c 6e 20 22 20 5c 5c 22 0a 20 20 20 20 77 teln " \\". w
c8a0: 72 69 74 65 6c 6e 20 2d 6e 6f 6e 65 77 6c 69 6e riteln -nonewlin
c8b0: 65 20 22 20 20 20 20 20 20 20 20 22 0a 20 20 7d e " ". }
c8c0: 0a 20 20 77 72 69 74 65 6c 6e 20 2d 6e 6f 6e 65 . writeln -none
c8d0: 77 6c 69 6e 65 20 22 5c 24 28 4f 58 29 5c 5c 24 wline "\$(OX)\\$
c8e0: 73 5c 24 4f 22 3b 20 69 6e 63 72 20 69 0a 7d 0a s\$O"; incr i.}.
c8f0: 69 66 20 7b 24 69 20 3e 20 30 7d 20 7b 0a 20 20 if {$i > 0} {.
c900: 77 72 69 74 65 6c 6e 20 22 20 5c 5c 22 0a 7d 0a writeln " \\".}.
c910: 77 72 69 74 65 6c 6e 20 22 21 69 66 20 5c 24 28 writeln "!if \$(
c920: 46 4f 53 53 49 4c 5f 45 4e 41 42 4c 45 5f 4d 49 FOSSIL_ENABLE_MI
c930: 4e 49 5a 29 21 3d 30 22 0a 77 72 69 74 65 6c 6e NIZ)!=0".writeln
c940: 20 2d 6e 6f 6e 65 77 6c 69 6e 65 20 22 20 20 20 -nonewline "
c950: 20 20 20 20 20 22 0a 77 72 69 74 65 6c 6e 20 22 ".writeln "
c960: 5c 24 28 4f 58 29 5c 5c 6d 69 6e 69 7a 5c 24 4f \$(OX)\\miniz\$O
c970: 20 5c 5c 22 3b 20 69 6e 63 72 20 69 0a 77 72 69 \\"; incr i.wri
c980: 74 65 6c 6e 20 22 21 65 6e 64 69 66 22 0a 77 72 teln "!endif".wr
c990: 69 74 65 6c 6e 20 2d 6e 6f 6e 65 77 6c 69 6e 65 iteln -nonewline
c9a0: 20 22 20 20 20 20 20 20 20 20 5c 24 28 4f 58 29 " \$(OX)
c9b0: 5c 5c 66 6f 73 73 69 6c 2e 72 65 73 5c 6e 5c 6e \\fossil.res\n\n
c9c0: 22 0a 77 72 69 74 65 6c 6e 20 5b 73 74 72 69 6e ".writeln [strin
c9d0: 67 20 6d 61 70 20 5b 6c 69 73 74 20 3c 3c 3c 4e g map [list <<<N
c9e0: 45 58 54 5f 4c 49 4e 45 3e 3e 3e 20 5c 5c 5d 20 EXT_LINE>>> \\]
c9f0: 7b 0a 41 50 50 4e 41 4d 45 20 20 20 20 3d 20 24 {.APPNAME = $
ca00: 28 4f 58 29 5c 66 6f 73 73 69 6c 24 28 45 29 0a (OX)\fossil$(E).
ca10: 50 44 42 4e 41 4d 45 20 20 20 20 3d 20 24 28 4f PDBNAME = $(O
ca20: 58 29 5c 66 6f 73 73 69 6c 24 28 50 29 0a 41 50 X)\fossil$(P).AP
ca30: 50 54 41 52 47 45 54 53 20 3d 0a 0a 61 6c 6c 3a PTARGETS =..all:
ca40: 20 24 28 4f 58 29 20 24 28 41 50 50 4e 41 4d 45 $(OX) $(APPNAME
ca50: 29 0a 0a 7a 6c 69 62 3a 0a 09 40 65 63 68 6f 20 )..zlib:..@echo
ca60: 42 75 69 6c 64 69 6e 67 20 7a 6c 69 62 20 66 72 Building zlib fr
ca70: 6f 6d 20 22 24 28 5a 4c 49 42 44 49 52 29 22 2e om "$(ZLIBDIR)".
ca80: 2e 2e 0a 21 69 66 20 24 28 46 4f 53 53 49 4c 5f ...!if $(FOSSIL_
ca90: 45 4e 41 42 4c 45 5f 57 49 4e 58 50 29 21 3d 30 ENABLE_WINXP)!=0
caa0: 0a 09 40 70 75 73 68 64 20 22 24 28 5a 4c 49 42 ..@pushd "$(ZLIB
cab0: 44 49 52 29 22 20 26 26 20 24 28 4d 41 4b 45 29 DIR)" && $(MAKE)
cac0: 20 2f 66 20 77 69 6e 33 32 5c 4d 61 6b 65 66 69 /f win32\Makefi
cad0: 6c 65 2e 6d 73 63 20 24 28 5a 4c 49 42 29 20 22 le.msc $(ZLIB) "
cae0: 43 43 3d 63 6c 20 24 28 58 50 43 46 4c 41 47 53 CC=cl $(XPCFLAGS
caf0: 29 22 20 22 4c 44 3d 6c 69 6e 6b 20 24 28 58 50 )" "LD=link $(XP
cb00: 4c 44 46 4c 41 47 53 29 22 20 26 26 20 70 6f 70 LDFLAGS)" && pop
cb10: 64 0a 21 65 6c 73 65 0a 09 40 70 75 73 68 64 20 d.!else..@pushd
cb20: 22 24 28 5a 4c 49 42 44 49 52 29 22 20 26 26 20 "$(ZLIBDIR)" &&
cb30: 24 28 4d 41 4b 45 29 20 2f 66 20 77 69 6e 33 32 $(MAKE) /f win32
cb40: 5c 4d 61 6b 65 66 69 6c 65 2e 6d 73 63 20 24 28 \Makefile.msc $(
cb50: 5a 4c 49 42 29 20 26 26 20 70 6f 70 64 0a 21 65 ZLIB) && popd.!e
cb60: 6e 64 69 66 0a 0a 21 69 66 20 24 28 46 4f 53 53 ndif..!if $(FOSS
cb70: 49 4c 5f 45 4e 41 42 4c 45 5f 53 53 4c 29 21 3d IL_ENABLE_SSL)!=
cb80: 30 0a 6f 70 65 6e 73 73 6c 3a 0a 09 40 65 63 68 0.openssl:..@ech
cb90: 6f 20 42 75 69 6c 64 69 6e 67 20 4f 70 65 6e 53 o Building OpenS
cba0: 53 4c 20 66 72 6f 6d 20 22 24 28 53 53 4c 44 49 SL from "$(SSLDI
cbb0: 52 29 22 2e 2e 2e 0a 21 69 66 20 22 24 28 50 45 R)"....!if "$(PE
cbc0: 52 4c 44 49 52 29 22 20 21 3d 20 22 22 0a 09 40 RLDIR)" != ""..@
cbd0: 73 65 74 20 50 41 54 48 3d 24 28 50 45 52 4c 44 set PATH=$(PERLD
cbe0: 49 52 29 3b 24 28 50 41 54 48 29 0a 21 65 6e 64 IR);$(PATH).!end
cbf0: 69 66 0a 09 40 70 75 73 68 64 20 22 24 28 53 53 if..@pushd "$(SS
cc00: 4c 44 49 52 29 22 20 26 26 20 24 28 50 45 52 4c LDIR)" && $(PERL
cc10: 29 20 43 6f 6e 66 69 67 75 72 65 20 24 28 53 53 ) Configure $(SS
cc20: 4c 43 4f 4e 46 49 47 29 20 26 26 20 70 6f 70 64 LCONFIG) && popd
cc30: 0a 09 40 70 75 73 68 64 20 22 24 28 53 53 4c 44 ..@pushd "$(SSLD
cc40: 49 52 29 22 20 26 26 20 63 61 6c 6c 20 24 28 53 IR)" && call $(S
cc50: 53 4c 53 45 54 55 50 29 20 26 26 20 70 6f 70 64 SLSETUP) && popd
cc60: 0a 21 69 66 20 24 28 46 4f 53 53 49 4c 5f 45 4e .!if $(FOSSIL_EN
cc70: 41 42 4c 45 5f 57 49 4e 58 50 29 21 3d 30 0a 09 ABLE_WINXP)!=0..
cc80: 40 70 75 73 68 64 20 22 24 28 53 53 4c 44 49 52 @pushd "$(SSLDIR
cc90: 29 22 20 26 26 20 24 28 4d 41 4b 45 29 20 2f 66 )" && $(MAKE) /f
cca0: 20 24 28 53 53 4c 4e 4d 41 4b 45 29 20 22 43 43 $(SSLNMAKE) "CC
ccb0: 3d 63 6c 20 24 28 53 53 4c 43 46 4c 41 47 53 29 =cl $(SSLCFLAGS)
ccc0: 20 24 28 58 50 43 46 4c 41 47 53 29 22 20 22 4c $(XPCFLAGS)" "L
ccd0: 46 4c 41 47 53 3d 24 28 53 53 4c 4c 46 4c 41 47 FLAGS=$(SSLLFLAG
cce0: 53 29 20 24 28 58 50 4c 44 46 4c 41 47 53 29 22 S) $(XPLDFLAGS)"
ccf0: 20 26 26 20 70 6f 70 64 0a 21 65 6c 73 65 0a 09 && popd.!else..
cd00: 40 70 75 73 68 64 20 22 24 28 53 53 4c 44 49 52 @pushd "$(SSLDIR
cd10: 29 22 20 26 26 20 24 28 4d 41 4b 45 29 20 2f 66 )" && $(MAKE) /f
cd20: 20 24 28 53 53 4c 4e 4d 41 4b 45 29 20 22 43 43 $(SSLNMAKE) "CC
cd30: 3d 63 6c 20 24 28 53 53 4c 43 46 4c 41 47 53 29 =cl $(SSLCFLAGS)
cd40: 22 20 26 26 20 70 6f 70 64 0a 21 65 6e 64 69 66 " && popd.!endif
cd50: 0a 21 65 6e 64 69 66 0a 0a 21 69 66 20 24 28 46 .!endif..!if $(F
cd60: 4f 53 53 49 4c 5f 45 4e 41 42 4c 45 5f 4d 49 4e OSSIL_ENABLE_MIN
cd70: 49 5a 29 3d 3d 30 0a 21 69 66 20 24 28 46 4f 53 IZ)==0.!if $(FOS
cd80: 53 49 4c 5f 42 55 49 4c 44 5f 5a 4c 49 42 29 21 SIL_BUILD_ZLIB)!
cd90: 3d 30 0a 41 50 50 54 41 52 47 45 54 53 20 3d 20 =0.APPTARGETS =
cda0: 24 28 41 50 50 54 41 52 47 45 54 53 29 20 7a 6c $(APPTARGETS) zl
cdb0: 69 62 0a 21 65 6e 64 69 66 0a 21 65 6e 64 69 66 ib.!endif.!endif
cdc0: 0a 0a 21 69 66 20 24 28 46 4f 53 53 49 4c 5f 45 ..!if $(FOSSIL_E
cdd0: 4e 41 42 4c 45 5f 53 53 4c 29 21 3d 30 0a 21 69 NABLE_SSL)!=0.!i
cde0: 66 20 24 28 46 4f 53 53 49 4c 5f 42 55 49 4c 44 f $(FOSSIL_BUILD
cdf0: 5f 53 53 4c 29 21 3d 30 0a 41 50 50 54 41 52 47 _SSL)!=0.APPTARG
ce00: 45 54 53 20 3d 20 24 28 41 50 50 54 41 52 47 45 ETS = $(APPTARGE
ce10: 54 53 29 20 6f 70 65 6e 73 73 6c 0a 21 65 6e 64 TS) openssl.!end
ce20: 69 66 0a 21 65 6e 64 69 66 0a 0a 24 28 41 50 50 if.!endif..$(APP
ce30: 4e 41 4d 45 29 20 3a 20 24 28 41 50 50 54 41 52 NAME) : $(APPTAR
ce40: 47 45 54 53 29 20 74 72 61 6e 73 6c 61 74 65 24 GETS) translate$
ce50: 45 20 6d 6b 69 6e 64 65 78 24 45 20 63 6f 64 65 E mkindex$E code
ce60: 63 68 65 63 6b 31 24 45 20 68 65 61 64 65 72 73 check1$E headers
ce70: 20 24 28 4f 42 4a 29 20 24 28 4f 58 29 5c 6c 69 $(OBJ) $(OX)\li
ce80: 6e 6b 6f 70 74 73 0a 09 63 64 20 24 28 4f 58 29 nkopts..cd $(OX)
ce90: 0a 09 63 6f 64 65 63 68 65 63 6b 31 24 45 20 24 ..codecheck1$E $
cea0: 28 53 52 43 29 0a 09 6c 69 6e 6b 20 24 28 4c 44 (SRC)..link $(LD
ceb0: 46 4c 41 47 53 29 20 2f 4f 55 54 3a 24 40 20 24 FLAGS) /OUT:$@ $
cec0: 28 4c 49 42 44 49 52 29 20 57 73 65 74 61 72 67 (LIBDIR) Wsetarg
ced0: 76 2e 6f 62 6a 20 66 6f 73 73 69 6c 2e 72 65 73 v.obj fossil.res
cee0: 20 40 6c 69 6e 6b 6f 70 74 73 0a 09 69 66 20 65 @linkopts..if e
cef0: 78 69 73 74 20 24 40 2e 6d 61 6e 69 66 65 73 74 xist $@.manifest
cf00: 20 3c 3c 3c 4e 45 58 54 5f 4c 49 4e 45 3e 3e 3e <<<NEXT_LINE>>>
cf10: 0a 09 09 24 28 4d 54 43 29 20 2d 6e 6f 6c 6f 67 ...$(MTC) -nolog
cf20: 6f 20 2d 6d 61 6e 69 66 65 73 74 20 24 40 2e 6d o -manifest $@.m
cf30: 61 6e 69 66 65 73 74 20 2d 6f 75 74 70 75 74 72 anifest -outputr
cf40: 65 73 6f 75 72 63 65 3a 24 40 3b 31 0a 0a 24 28 esource:$@;1..$(
cf50: 4f 58 29 5c 6c 69 6e 6b 6f 70 74 73 3a 20 24 42 OX)\linkopts: $B
cf60: 5c 77 69 6e 5c 4d 61 6b 65 66 69 6c 65 2e 6d 73 \win\Makefile.ms
cf70: 63 7d 5d 0a 73 65 74 20 72 65 64 69 72 20 7b 3e c}].set redir {>
cf80: 7d 0a 66 6f 72 65 61 63 68 20 73 20 5b 6c 73 6f }.foreach s [lso
cf90: 72 74 20 5b 63 6f 6e 63 61 74 20 24 73 72 63 20 rt [concat $src
cfa0: 24 41 64 64 69 74 69 6f 6e 61 6c 4f 62 6a 5d 5d $AdditionalObj]]
cfb0: 20 7b 0a 20 20 77 72 69 74 65 6c 6e 20 22 5c 74 {. writeln "\t
cfc0: 65 63 68 6f 20 5c 24 28 4f 58 29 5c 5c 24 73 2e echo \$(OX)\\$s.
cfd0: 6f 62 6a 20 24 72 65 64 69 72 20 5c 24 40 22 0a obj $redir \$@".
cfe0: 20 20 73 65 74 20 72 65 64 69 72 20 7b 3e 3e 7d set redir {>>}
cff0: 0a 7d 0a 73 65 74 20 72 65 64 69 72 20 7b 3e 3e .}.set redir {>>
d000: 7d 0a 77 72 69 74 65 6c 6e 20 22 21 69 66 20 5c }.writeln "!if \
d010: 24 28 46 4f 53 53 49 4c 5f 45 4e 41 42 4c 45 5f $(FOSSIL_ENABLE_
d020: 4d 49 4e 49 5a 29 21 3d 30 22 0a 77 72 69 74 65 MINIZ)!=0".write
d030: 6c 6e 20 22 5c 74 65 63 68 6f 20 5c 24 28 4f 58 ln "\techo \$(OX
d040: 29 5c 5c 6d 69 6e 69 7a 2e 6f 62 6a 20 24 72 65 )\\miniz.obj $re
d050: 64 69 72 20 5c 24 40 22 0a 77 72 69 74 65 6c 6e dir \$@".writeln
d060: 20 22 21 65 6e 64 69 66 22 0a 77 72 69 74 65 6c "!endif".writel
d070: 6e 20 22 5c 74 65 63 68 6f 20 5c 24 28 4c 49 42 n "\techo \$(LIB
d080: 53 29 20 24 72 65 64 69 72 20 5c 24 40 22 0a 77 S) $redir \$@".w
d090: 72 69 74 65 6c 6e 20 7b 0a 24 28 4f 58 29 3a 0a riteln {.$(OX):.
d0a0: 09 40 2d 6d 6b 64 69 72 20 24 40 0a 0a 74 72 61 .@-mkdir $@..tra
d0b0: 6e 73 6c 61 74 65 24 45 3a 20 24 28 53 52 43 44 nslate$E: $(SRCD
d0c0: 49 52 29 5c 74 72 61 6e 73 6c 61 74 65 2e 63 0a IR)\translate.c.
d0d0: 09 24 28 42 43 43 29 20 24 2a 2a 0a 0a 6d 61 6b .$(BCC) $**..mak
d0e0: 65 68 65 61 64 65 72 73 24 45 3a 20 24 28 53 52 eheaders$E: $(SR
d0f0: 43 44 49 52 29 5c 6d 61 6b 65 68 65 61 64 65 72 CDIR)\makeheader
d100: 73 2e 63 0a 09 24 28 42 43 43 29 20 24 2a 2a 0a s.c..$(BCC) $**.
d110: 0a 6d 6b 69 6e 64 65 78 24 45 3a 20 24 28 53 52 .mkindex$E: $(SR
d120: 43 44 49 52 29 5c 6d 6b 69 6e 64 65 78 2e 63 0a CDIR)\mkindex.c.
d130: 09 24 28 42 43 43 29 20 24 2a 2a 0a 0a 6d 6b 62 .$(BCC) $**..mkb
d140: 75 69 6c 74 69 6e 24 45 3a 20 24 28 53 52 43 44 uiltin$E: $(SRCD
d150: 49 52 29 5c 6d 6b 62 75 69 6c 74 69 6e 2e 63 0a IR)\mkbuiltin.c.
d160: 09 24 28 42 43 43 29 20 24 2a 2a 0a 0a 6d 6b 76 .$(BCC) $**..mkv
d170: 65 72 73 69 6f 6e 24 45 3a 20 24 28 53 52 43 44 ersion$E: $(SRCD
d180: 49 52 29 5c 6d 6b 76 65 72 73 69 6f 6e 2e 63 0a IR)\mkversion.c.
d190: 09 24 28 42 43 43 29 20 24 2a 2a 0a 0a 6d 6b 63 .$(BCC) $**..mkc
d1a0: 73 73 24 45 3a 20 24 28 53 52 43 44 49 52 29 5c ss$E: $(SRCDIR)\
d1b0: 6d 6b 63 73 73 2e 63 0a 09 24 28 42 43 43 29 20 mkcss.c..$(BCC)
d1c0: 24 2a 2a 0a 0a 63 6f 64 65 63 68 65 63 6b 31 24 $**..codecheck1$
d1d0: 45 3a 20 24 28 53 52 43 44 49 52 29 5c 63 6f 64 E: $(SRCDIR)\cod
d1e0: 65 63 68 65 63 6b 31 2e 63 0a 09 24 28 42 43 43 echeck1.c..$(BCC
d1f0: 29 20 24 2a 2a 0a 0a 21 69 66 20 24 28 55 53 45 ) $**..!if $(USE
d200: 5f 53 45 45 29 21 3d 30 0a 53 45 45 5f 46 4c 41 _SEE)!=0.SEE_FLA
d210: 47 53 20 3d 20 2f 44 53 51 4c 49 54 45 5f 48 41 GS = /DSQLITE_HA
d220: 53 5f 43 4f 44 45 43 3d 31 20 2f 44 53 51 4c 49 S_CODEC=1 /DSQLI
d230: 54 45 5f 53 48 45 4c 4c 5f 44 42 4b 45 59 5f 50 TE_SHELL_DBKEY_P
d240: 52 4f 43 3d 66 6f 73 73 69 6c 5f 6b 65 79 0a 53 ROC=fossil_key.S
d250: 51 4c 49 54 45 33 5f 53 48 45 4c 4c 5f 53 52 43 QLITE3_SHELL_SRC
d260: 20 3d 20 24 28 53 52 43 44 49 52 29 5c 73 68 65 = $(SRCDIR)\she
d270: 6c 6c 2d 73 65 65 2e 63 0a 53 51 4c 49 54 45 33 ll-see.c.SQLITE3
d280: 5f 53 52 43 20 3d 20 24 28 53 52 43 44 49 52 29 _SRC = $(SRCDIR)
d290: 5c 73 71 6c 69 74 65 33 2d 73 65 65 2e 63 0a 21 \sqlite3-see.c.!
d2a0: 65 6c 73 65 0a 53 45 45 5f 46 4c 41 47 53 20 3d else.SEE_FLAGS =
d2b0: 0a 53 51 4c 49 54 45 33 5f 53 48 45 4c 4c 5f 53 .SQLITE3_SHELL_S
d2c0: 52 43 20 3d 20 24 28 53 52 43 44 49 52 29 5c 73 RC = $(SRCDIR)\s
d2d0: 68 65 6c 6c 2e 63 0a 53 51 4c 49 54 45 33 5f 53 hell.c.SQLITE3_S
d2e0: 52 43 20 3d 20 24 28 53 52 43 44 49 52 29 5c 73 RC = $(SRCDIR)\s
d2f0: 71 6c 69 74 65 33 2e 63 0a 21 65 6e 64 69 66 0a qlite3.c.!endif.
d300: 0a 24 28 4f 58 29 5c 73 68 65 6c 6c 24 4f 20 3a .$(OX)\shell$O :
d310: 20 24 28 53 51 4c 49 54 45 33 5f 53 48 45 4c 4c $(SQLITE3_SHELL
d320: 5f 53 52 43 29 20 24 42 5c 77 69 6e 5c 4d 61 6b _SRC) $B\win\Mak
d330: 65 66 69 6c 65 2e 6d 73 63 0a 09 24 28 54 43 43 efile.msc..$(TCC
d340: 29 20 2f 46 6f 24 40 20 24 28 53 48 45 4c 4c 5f ) /Fo$@ $(SHELL_
d350: 4f 50 54 49 4f 4e 53 29 20 24 28 53 51 4c 49 54 OPTIONS) $(SQLIT
d360: 45 5f 4f 50 54 49 4f 4e 53 29 20 24 28 53 48 45 E_OPTIONS) $(SHE
d370: 4c 4c 5f 43 46 4c 41 47 53 29 20 24 28 53 45 45 LL_CFLAGS) $(SEE
d380: 5f 46 4c 41 47 53 29 20 2d 63 20 24 28 53 51 4c _FLAGS) -c $(SQL
d390: 49 54 45 33 5f 53 48 45 4c 4c 5f 53 52 43 29 0a ITE3_SHELL_SRC).
d3a0: 0a 24 28 4f 58 29 5c 73 71 6c 69 74 65 33 24 4f .$(OX)\sqlite3$O
d3b0: 20 3a 20 24 28 53 51 4c 49 54 45 33 5f 53 52 43 : $(SQLITE3_SRC
d3c0: 29 20 24 42 5c 77 69 6e 5c 4d 61 6b 65 66 69 6c ) $B\win\Makefil
d3d0: 65 2e 6d 73 63 0a 09 24 28 54 43 43 29 20 2f 46 e.msc..$(TCC) /F
d3e0: 6f 24 40 20 2d 63 20 24 28 53 51 4c 49 54 45 5f o$@ -c $(SQLITE_
d3f0: 4f 50 54 49 4f 4e 53 29 20 24 28 53 51 4c 49 54 OPTIONS) $(SQLIT
d400: 45 5f 43 46 4c 41 47 53 29 20 24 28 53 45 45 5f E_CFLAGS) $(SEE_
d410: 46 4c 41 47 53 29 20 24 28 53 51 4c 49 54 45 33 FLAGS) $(SQLITE3
d420: 5f 53 52 43 29 0a 0a 24 28 4f 58 29 5c 74 68 24 _SRC)..$(OX)\th$
d430: 4f 20 3a 20 24 28 53 52 43 44 49 52 29 5c 74 68 O : $(SRCDIR)\th
d440: 2e 63 0a 09 24 28 54 43 43 29 20 2f 46 6f 24 40 .c..$(TCC) /Fo$@
d450: 20 2d 63 20 24 2a 2a 0a 0a 24 28 4f 58 29 5c 74 -c $**..$(OX)\t
d460: 68 5f 6c 61 6e 67 24 4f 20 3a 20 24 28 53 52 43 h_lang$O : $(SRC
d470: 44 49 52 29 5c 74 68 5f 6c 61 6e 67 2e 63 0a 09 DIR)\th_lang.c..
d480: 24 28 54 43 43 29 20 2f 46 6f 24 40 20 2d 63 20 $(TCC) /Fo$@ -c
d490: 24 2a 2a 0a 0a 24 28 4f 58 29 5c 74 68 5f 74 63 $**..$(OX)\th_tc
d4a0: 6c 24 4f 20 3a 20 24 28 53 52 43 44 49 52 29 5c l$O : $(SRCDIR)\
d4b0: 74 68 5f 74 63 6c 2e 63 0a 09 24 28 54 43 43 29 th_tcl.c..$(TCC)
d4c0: 20 2f 46 6f 24 40 20 2d 63 20 24 2a 2a 0a 0a 24 /Fo$@ -c $**..$
d4d0: 28 4f 58 29 5c 6d 69 6e 69 7a 24 4f 20 3a 20 24 (OX)\miniz$O : $
d4e0: 28 53 52 43 44 49 52 29 5c 6d 69 6e 69 7a 2e 63 (SRCDIR)\miniz.c
d4f0: 0a 09 24 28 54 43 43 29 20 2f 46 6f 24 40 20 2d ..$(TCC) /Fo$@ -
d500: 63 20 24 28 4d 49 4e 49 5a 5f 4f 50 54 49 4f 4e c $(MINIZ_OPTION
d510: 53 29 20 24 28 53 52 43 44 49 52 29 5c 6d 69 6e S) $(SRCDIR)\min
d520: 69 7a 2e 63 0a 0a 56 45 52 53 49 4f 4e 2e 68 20 iz.c..VERSION.h
d530: 3a 20 6d 6b 76 65 72 73 69 6f 6e 24 45 20 24 42 : mkversion$E $B
d540: 5c 6d 61 6e 69 66 65 73 74 2e 75 75 69 64 20 24 \manifest.uuid $
d550: 42 5c 6d 61 6e 69 66 65 73 74 20 24 42 5c 56 45 B\manifest $B\VE
d560: 52 53 49 4f 4e 0a 09 24 2a 2a 20 3e 20 24 40 0a RSION..$** > $@.
d570: 0a 24 28 4f 58 29 5c 63 73 6f 6e 5f 61 6d 61 6c .$(OX)\cson_amal
d580: 67 61 6d 61 74 69 6f 6e 24 4f 20 3a 20 24 28 53 gamation$O : $(S
d590: 52 43 44 49 52 29 5c 63 73 6f 6e 5f 61 6d 61 6c RCDIR)\cson_amal
d5a0: 67 61 6d 61 74 69 6f 6e 2e 63 0a 09 24 28 54 43 gamation.c..$(TC
d5b0: 43 29 20 2f 46 6f 24 40 20 2f 63 20 24 2a 2a 0a C) /Fo$@ /c $**.
d5c0: 0a 64 65 66 61 75 6c 74 5f 63 73 73 2e 68 3a 20 .default_css.h:
d5d0: 6d 6b 63 73 73 24 45 20 24 28 53 52 43 44 49 52 mkcss$E $(SRCDIR
d5e0: 29 5c 64 65 66 61 75 6c 74 5f 63 73 73 2e 74 78 )\default_css.tx
d5f0: 74 0a 09 24 2a 2a 20 24 40 0a 0a 70 61 67 65 5f t..$** $@..page_
d600: 69 6e 64 65 78 2e 68 3a 20 6d 6b 69 6e 64 65 78 index.h: mkindex
d610: 24 45 20 24 28 53 52 43 29 0a 09 24 2a 2a 20 3e $E $(SRC)..$** >
d620: 20 24 40 0a 0a 62 75 69 6c 74 69 6e 5f 64 61 74 $@..builtin_dat
d630: 61 2e 68 3a 09 6d 6b 62 75 69 6c 74 69 6e 24 45 a.h:.mkbuiltin$E
d640: 20 24 28 45 58 54 52 41 5f 46 49 4c 45 53 29 0a $(EXTRA_FILES).
d650: 09 6d 6b 62 75 69 6c 74 69 6e 24 45 20 2d 2d 70 .mkbuiltin$E --p
d660: 72 65 66 69 78 20 24 28 53 52 43 44 49 52 29 2f refix $(SRCDIR)/
d670: 20 24 28 45 58 54 52 41 5f 46 49 4c 45 53 29 20 $(EXTRA_FILES)
d680: 3e 20 24 40 0a 0a 63 6c 65 61 6e 3a 0a 09 64 65 > $@..clean:..de
d690: 6c 20 24 28 4f 58 29 5c 2a 2e 6f 62 6a 20 32 3e l $(OX)\*.obj 2>
d6a0: 4e 55 4c 0a 09 64 65 6c 20 2a 2e 6f 62 6a 20 32 NUL..del *.obj 2
d6b0: 3e 4e 55 4c 0a 09 64 65 6c 20 2a 5f 2e 63 20 32 >NUL..del *_.c 2
d6c0: 3e 4e 55 4c 0a 09 64 65 6c 20 2a 2e 68 20 32 3e >NUL..del *.h 2>
d6d0: 4e 55 4c 0a 09 64 65 6c 20 2a 2e 69 6c 6b 20 32 NUL..del *.ilk 2
d6e0: 3e 4e 55 4c 0a 09 64 65 6c 20 2a 2e 6d 61 70 20 >NUL..del *.map
d6f0: 32 3e 4e 55 4c 0a 09 64 65 6c 20 2a 2e 72 65 73 2>NUL..del *.res
d700: 20 32 3e 4e 55 4c 0a 09 64 65 6c 20 68 65 61 64 2>NUL..del head
d710: 65 72 73 20 32 3e 4e 55 4c 0a 09 64 65 6c 20 6c ers 2>NUL..del l
d720: 69 6e 6b 6f 70 74 73 20 32 3e 4e 55 4c 0a 09 64 inkopts 2>NUL..d
d730: 65 6c 20 76 63 2a 2e 70 64 62 20 32 3e 4e 55 4c el vc*.pdb 2>NUL
d740: 0a 0a 72 65 61 6c 63 6c 65 61 6e 3a 20 63 6c 65 ..realclean: cle
d750: 61 6e 0a 09 64 65 6c 20 24 28 41 50 50 4e 41 4d an..del $(APPNAM
d760: 45 29 20 32 3e 4e 55 4c 0a 09 64 65 6c 20 24 28 E) 2>NUL..del $(
d770: 50 44 42 4e 41 4d 45 29 20 32 3e 4e 55 4c 0a 09 PDBNAME) 2>NUL..
d780: 64 65 6c 20 74 72 61 6e 73 6c 61 74 65 24 45 20 del translate$E
d790: 32 3e 4e 55 4c 0a 09 64 65 6c 20 74 72 61 6e 73 2>NUL..del trans
d7a0: 6c 61 74 65 24 50 20 32 3e 4e 55 4c 0a 09 64 65 late$P 2>NUL..de
d7b0: 6c 20 6d 6b 69 6e 64 65 78 24 45 20 32 3e 4e 55 l mkindex$E 2>NU
d7c0: 4c 0a 09 64 65 6c 20 6d 6b 69 6e 64 65 78 24 50 L..del mkindex$P
d7d0: 20 32 3e 4e 55 4c 0a 09 64 65 6c 20 6d 61 6b 65 2>NUL..del make
d7e0: 68 65 61 64 65 72 73 24 45 20 32 3e 4e 55 4c 0a headers$E 2>NUL.
d7f0: 09 64 65 6c 20 6d 61 6b 65 68 65 61 64 65 72 73 .del makeheaders
d800: 24 50 20 32 3e 4e 55 4c 0a 09 64 65 6c 20 6d 6b $P 2>NUL..del mk
d810: 76 65 72 73 69 6f 6e 24 45 20 32 3e 4e 55 4c 0a version$E 2>NUL.
d820: 09 64 65 6c 20 6d 6b 76 65 72 73 69 6f 6e 24 50 .del mkversion$P
d830: 20 32 3e 4e 55 4c 0a 09 64 65 6c 20 6d 6b 63 73 2>NUL..del mkcs
d840: 73 24 45 20 32 3e 4e 55 4c 0a 09 64 65 6c 20 6d s$E 2>NUL..del m
d850: 6b 63 73 73 24 50 20 32 3e 4e 55 4c 0a 09 64 65 kcss$P 2>NUL..de
d860: 6c 20 63 6f 64 65 63 68 65 63 6b 31 24 45 20 32 l codecheck1$E 2
d870: 3e 4e 55 4c 0a 09 64 65 6c 20 63 6f 64 65 63 68 >NUL..del codech
d880: 65 63 6b 31 24 50 20 32 3e 4e 55 4c 0a 09 64 65 eck1$P 2>NUL..de
d890: 6c 20 6d 6b 62 75 69 6c 74 69 6e 24 45 20 32 3e l mkbuiltin$E 2>
d8a0: 4e 55 4c 0a 09 64 65 6c 20 6d 6b 62 75 69 6c 74 NUL..del mkbuilt
d8b0: 69 6e 24 50 20 32 3e 4e 55 4c 0a 0a 24 28 4f 42 in$P 2>NUL..$(OB
d8c0: 4a 44 49 52 29 5c 6a 73 6f 6e 24 4f 20 3a 20 24 JDIR)\json$O : $
d8d0: 28 53 52 43 44 49 52 29 5c 6a 73 6f 6e 5f 64 65 (SRCDIR)\json_de
d8e0: 74 61 69 6c 2e 68 0a 24 28 4f 42 4a 44 49 52 29 tail.h.$(OBJDIR)
d8f0: 5c 6a 73 6f 6e 5f 61 72 74 69 66 61 63 74 24 4f \json_artifact$O
d900: 20 3a 20 24 28 53 52 43 44 49 52 29 5c 6a 73 6f : $(SRCDIR)\jso
d910: 6e 5f 64 65 74 61 69 6c 2e 68 0a 24 28 4f 42 4a n_detail.h.$(OBJ
d920: 44 49 52 29 5c 6a 73 6f 6e 5f 62 72 61 6e 63 68 DIR)\json_branch
d930: 24 4f 20 3a 20 24 28 53 52 43 44 49 52 29 5c 6a $O : $(SRCDIR)\j
d940: 73 6f 6e 5f 64 65 74 61 69 6c 2e 68 0a 24 28 4f son_detail.h.$(O
d950: 42 4a 44 49 52 29 5c 6a 73 6f 6e 5f 63 6f 6e 66 BJDIR)\json_conf
d960: 69 67 24 4f 20 3a 20 24 28 53 52 43 44 49 52 29 ig$O : $(SRCDIR)
d970: 5c 6a 73 6f 6e 5f 64 65 74 61 69 6c 2e 68 0a 24 \json_detail.h.$
d980: 28 4f 42 4a 44 49 52 29 5c 6a 73 6f 6e 5f 64 69 (OBJDIR)\json_di
d990: 66 66 24 4f 20 3a 20 24 28 53 52 43 44 49 52 29 ff$O : $(SRCDIR)
d9a0: 5c 6a 73 6f 6e 5f 64 65 74 61 69 6c 2e 68 0a 24 \json_detail.h.$
d9b0: 28 4f 42 4a 44 49 52 29 5c 6a 73 6f 6e 5f 64 69 (OBJDIR)\json_di
d9c0: 72 24 4f 20 3a 20 24 28 53 52 43 44 49 52 29 5c r$O : $(SRCDIR)\
d9d0: 6a 73 6f 6e 5f 64 65 74 61 69 6c 2e 68 0a 24 28 json_detail.h.$(
d9e0: 4f 42 4a 44 49 52 29 5c 6a 73 6f 6e 5f 66 69 6e OBJDIR)\json_fin
d9f0: 66 6f 24 4f 20 3a 20 24 28 53 52 43 44 49 52 29 fo$O : $(SRCDIR)
da00: 5c 6a 73 6f 6e 5f 64 65 74 61 69 6c 2e 68 0a 24 \json_detail.h.$
da10: 28 4f 42 4a 44 49 52 29 5c 6a 73 6f 6e 5f 6c 6f (OBJDIR)\json_lo
da20: 67 69 6e 24 4f 20 3a 20 24 28 53 52 43 44 49 52 gin$O : $(SRCDIR
da30: 29 5c 6a 73 6f 6e 5f 64 65 74 61 69 6c 2e 68 0a )\json_detail.h.
da40: 24 28 4f 42 4a 44 49 52 29 5c 6a 73 6f 6e 5f 71 $(OBJDIR)\json_q
da50: 75 65 72 79 24 4f 20 3a 20 24 28 53 52 43 44 49 uery$O : $(SRCDI
da60: 52 29 5c 6a 73 6f 6e 5f 64 65 74 61 69 6c 2e 68 R)\json_detail.h
da70: 0a 24 28 4f 42 4a 44 49 52 29 5c 6a 73 6f 6e 5f .$(OBJDIR)\json_
da80: 72 65 70 6f 72 74 24 4f 20 3a 20 24 28 53 52 43 report$O : $(SRC
da90: 44 49 52 29 5c 6a 73 6f 6e 5f 64 65 74 61 69 6c DIR)\json_detail
daa0: 2e 68 0a 24 28 4f 42 4a 44 49 52 29 5c 6a 73 6f .h.$(OBJDIR)\jso
dab0: 6e 5f 73 74 61 74 75 73 24 4f 20 3a 20 24 28 53 n_status$O : $(S
dac0: 52 43 44 49 52 29 5c 6a 73 6f 6e 5f 64 65 74 61 RCDIR)\json_deta
dad0: 69 6c 2e 68 0a 24 28 4f 42 4a 44 49 52 29 5c 6a il.h.$(OBJDIR)\j
dae0: 73 6f 6e 5f 74 61 67 24 4f 20 3a 20 24 28 53 52 son_tag$O : $(SR
daf0: 43 44 49 52 29 5c 6a 73 6f 6e 5f 64 65 74 61 69 CDIR)\json_detai
db00: 6c 2e 68 0a 24 28 4f 42 4a 44 49 52 29 5c 6a 73 l.h.$(OBJDIR)\js
db10: 6f 6e 5f 74 69 6d 65 6c 69 6e 65 24 4f 20 3a 20 on_timeline$O :
db20: 24 28 53 52 43 44 49 52 29 5c 6a 73 6f 6e 5f 64 $(SRCDIR)\json_d
db30: 65 74 61 69 6c 2e 68 0a 24 28 4f 42 4a 44 49 52 etail.h.$(OBJDIR
db40: 29 5c 6a 73 6f 6e 5f 75 73 65 72 24 4f 20 3a 20 )\json_user$O :
db50: 24 28 53 52 43 44 49 52 29 5c 6a 73 6f 6e 5f 64 $(SRCDIR)\json_d
db60: 65 74 61 69 6c 2e 68 0a 24 28 4f 42 4a 44 49 52 etail.h.$(OBJDIR
db70: 29 5c 6a 73 6f 6e 5f 77 69 6b 69 24 4f 20 3a 20 )\json_wiki$O :
db80: 24 28 53 52 43 44 49 52 29 5c 6a 73 6f 6e 5f 64 $(SRCDIR)\json_d
db90: 65 74 61 69 6c 2e 68 0a 7d 0a 66 6f 72 65 61 63 etail.h.}.foreac
dba0: 68 20 73 20 5b 6c 73 6f 72 74 20 24 73 72 63 5d h s [lsort $src]
dbb0: 20 7b 0a 20 20 77 72 69 74 65 6c 6e 20 22 5c 24 {. writeln "\$
dbc0: 28 4f 58 29 5c 5c 24 73 5c 24 4f 20 3a 20 24 7b (OX)\\$s\$O : ${
dbd0: 73 7d 5f 2e 63 20 24 7b 73 7d 2e 68 22 0a 20 20 s}_.c ${s}.h".
dbe0: 77 72 69 74 65 6c 6e 20 22 5c 74 5c 24 28 54 43 writeln "\t\$(TC
dbf0: 43 29 20 2f 46 6f 5c 24 40 20 2d 63 20 24 7b 73 C) /Fo\$@ -c ${s
dc00: 7d 5f 2e 63 5c 6e 22 0a 20 20 77 72 69 74 65 6c }_.c\n". writel
dc10: 6e 20 22 24 7b 73 7d 5f 2e 63 20 3a 20 5c 24 28 n "${s}_.c : \$(
dc20: 53 52 43 44 49 52 29 5c 5c 24 73 2e 63 22 0a 20 SRCDIR)\\$s.c".
dc30: 20 77 72 69 74 65 6c 6e 20 22 5c 74 74 72 61 6e writeln "\ttran
dc40: 73 6c 61 74 65 5c 24 45 20 5c 24 2a 2a 20 3e 20 slate\$E \$** >
dc50: 5c 24 40 5c 6e 22 0a 7d 0a 0a 77 72 69 74 65 6c \$@\n".}..writel
dc60: 6e 20 22 66 6f 73 73 69 6c 2e 72 65 73 20 3a 20 n "fossil.res :
dc70: 5c 24 42 5c 5c 77 69 6e 5c 5c 66 6f 73 73 69 6c \$B\\win\\fossil
dc80: 2e 72 63 22 0a 77 72 69 74 65 6c 6e 20 22 5c 74 .rc".writeln "\t
dc90: 5c 24 28 52 43 43 29 20 20 2f 66 6f 20 5c 24 40 \$(RCC) /fo \$@
dca0: 20 5c 24 2a 2a 5c 6e 22 0a 0a 77 72 69 74 65 6c \$**\n"..writel
dcb0: 6e 20 22 68 65 61 64 65 72 73 3a 20 6d 61 6b 65 n "headers: make
dcc0: 68 65 61 64 65 72 73 5c 24 45 20 70 61 67 65 5f headers\$E page_
dcd0: 69 6e 64 65 78 2e 68 20 62 75 69 6c 74 69 6e 5f index.h builtin_
dce0: 64 61 74 61 2e 68 20 64 65 66 61 75 6c 74 5f 63 data.h default_c
dcf0: 73 73 2e 68 20 56 45 52 53 49 4f 4e 2e 68 22 0a ss.h VERSION.h".
dd00: 77 72 69 74 65 6c 6e 20 2d 6e 6f 6e 65 77 6c 69 writeln -nonewli
dd10: 6e 65 20 22 5c 74 6d 61 6b 65 68 65 61 64 65 72 ne "\tmakeheader
dd20: 73 5c 24 45 20 22 0a 73 65 74 20 69 20 30 0a 66 s\$E ".set i 0.f
dd30: 6f 72 65 61 63 68 20 73 20 5b 6c 73 6f 72 74 20 oreach s [lsort
dd40: 24 73 72 63 5d 20 7b 0a 20 20 69 66 20 7b 24 69 $src] {. if {$i
dd50: 20 3e 20 30 7d 20 7b 0a 20 20 20 20 77 72 69 74 > 0} {. writ
dd60: 65 6c 6e 20 22 20 5c 5c 22 0a 20 20 20 20 77 72 eln " \\". wr
dd70: 69 74 65 6c 6e 20 2d 6e 6f 6e 65 77 6c 69 6e 65 iteln -nonewline
dd80: 20 22 5c 74 5c 74 5c 74 22 0a 20 20 7d 0a 20 20 "\t\t\t". }.
dd90: 77 72 69 74 65 6c 6e 20 2d 6e 6f 6e 65 77 6c 69 writeln -nonewli
dda0: 6e 65 20 22 24 7b 73 7d 5f 2e 63 3a 24 73 2e 68 ne "${s}_.c:$s.h
ddb0: 22 3b 20 69 6e 63 72 20 69 0a 7d 0a 77 72 69 74 "; incr i.}.writ
ddc0: 65 6c 6e 20 22 20 5c 5c 5c 6e 5c 74 5c 74 5c 74 eln " \\\n\t\t\t
ddd0: 5c 24 28 53 52 43 44 49 52 29 5c 5c 73 71 6c 69 \$(SRCDIR)\\sqli
dde0: 74 65 33 2e 68 20 5c 5c 22 0a 77 72 69 74 65 6c te3.h \\".writel
ddf0: 6e 20 22 5c 74 5c 74 5c 74 5c 24 28 53 52 43 44 n "\t\t\t\$(SRCD
de00: 49 52 29 5c 5c 74 68 2e 68 20 5c 5c 22 0a 77 72 IR)\\th.h \\".wr
de10: 69 74 65 6c 6e 20 22 5c 74 5c 74 5c 74 56 45 52 iteln "\t\t\tVER
de20: 53 49 4f 4e 2e 68 20 5c 5c 22 0a 77 72 69 74 65 SION.h \\".write
de30: 6c 6e 20 22 5c 74 5c 74 5c 74 5c 24 28 53 52 43 ln "\t\t\t\$(SRC
de40: 44 49 52 29 5c 5c 63 73 6f 6e 5f 61 6d 61 6c 67 DIR)\\cson_amalg
de50: 61 6d 61 74 69 6f 6e 2e 68 22 0a 77 72 69 74 65 amation.h".write
de60: 6c 6e 20 22 5c 74 40 63 6f 70 79 20 2f 59 20 6e ln "\t@copy /Y n
de70: 75 6c 3a 20 68 65 61 64 65 72 73 22 0a 0a 0a 63 ul: headers"...c
de80: 6c 6f 73 65 20 24 6f 75 74 70 75 74 5f 66 69 6c lose $output_fil
de90: 65 0a 23 0a 23 20 45 6e 64 20 6f 66 20 74 68 65 e.#.# End of the
dea0: 20 77 69 6e 2f 4d 61 6b 65 66 69 6c 65 2e 6d 73 win/Makefile.ms
deb0: 63 20 6f 75 74 70 75 74 0a 23 23 23 23 23 23 23 c output.#######
dec0: 23 23 23 23 23 23 23 23 23 23 23 23 23 23 23 23 ################
ded0: 23 23 23 23 23 23 23 23 23 23 23 23 23 23 23 23 ################
dee0: 23 23 23 23 23 23 23 23 23 23 23 23 23 23 23 23 ################
def0: 23 23 23 23 23 23 23 23 23 23 23 23 23 23 23 23 ################
df00: 23 23 23 23 23 23 23 0a 23 23 23 23 23 23 23 23 #######.########
df10: 23 23 23 23 23 23 23 23 23 23 23 23 23 23 23 23 ################
df20: 23 23 23 23 23 23 23 23 23 23 23 23 23 23 23 23 ################
df30: 23 23 23 23 23 23 23 23 23 23 23 23 23 23 23 23 ################
df40: 23 23 23 23 23 23 23 23 23 23 23 23 23 23 23 23 ################
df50: 23 23 23 23 23 23 0a 23 23 23 23 23 23 23 23 23 ######.#########
df60: 23 23 23 23 23 23 23 23 23 23 23 23 23 23 23 23 ################
df70: 23 23 23 23 23 23 23 23 23 23 23 23 23 23 23 23 ################
df80: 23 23 23 23 23 23 23 23 23 23 23 23 23 23 23 23 ################
df90: 23 23 23 23 23 23 23 23 23 23 23 23 23 23 23 23 ################
dfa0: 23 23 23 23 23 0a 23 20 42 65 67 69 6e 20 77 69 #####.# Begin wi
dfb0: 6e 2f 4d 61 6b 65 66 69 6c 65 2e 50 65 6c 6c 65 n/Makefile.Pelle
dfc0: 73 43 47 4d 61 6b 65 20 6f 75 74 70 75 74 0a 23 sCGMake output.#
dfd0: 0a 70 75 74 73 20 22 62 75 69 6c 64 69 6e 67 20 .puts "building
dfe0: 2e 2e 2f 77 69 6e 2f 4d 61 6b 65 66 69 6c 65 2e ../win/Makefile.
dff0: 50 65 6c 6c 65 73 43 47 4d 61 6b 65 22 0a 73 65 PellesCGMake".se
e000: 74 20 6f 75 74 70 75 74 5f 66 69 6c 65 20 5b 6f t output_file [o
e010: 70 65 6e 20 2e 2e 2f 77 69 6e 2f 4d 61 6b 65 66 pen ../win/Makef
e020: 69 6c 65 2e 50 65 6c 6c 65 73 43 47 4d 61 6b 65 ile.PellesCGMake
e030: 20 77 5d 0a 66 63 6f 6e 66 69 67 75 72 65 20 24 w].fconfigure $
e040: 6f 75 74 70 75 74 5f 66 69 6c 65 20 2d 74 72 61 output_file -tra
e050: 6e 73 6c 61 74 69 6f 6e 20 62 69 6e 61 72 79 0a nslation binary.
e060: 0a 77 72 69 74 65 6c 6e 20 5b 73 74 72 69 6e 67 .writeln [string
e070: 20 6d 61 70 20 5b 6c 69 73 74 20 5c 0a 20 20 20 map [list \.
e080: 20 3c 3c 3c 53 51 4c 49 54 45 5f 4f 50 54 49 4f <<<SQLITE_OPTIO
e090: 4e 53 3e 3e 3e 20 5b 6a 6f 69 6e 20 24 53 51 4c NS>>> [join $SQL
e0a0: 49 54 45 5f 57 49 4e 33 32 5f 4f 50 54 49 4f 4e ITE_WIN32_OPTION
e0b0: 53 20 7b 20 7d 5d 20 5c 0a 20 20 20 20 3c 3c 3c S { }] \. <<<
e0c0: 53 48 45 4c 4c 5f 4f 50 54 49 4f 4e 53 3e 3e 3e SHELL_OPTIONS>>>
e0d0: 20 5b 6a 6f 69 6e 20 24 53 48 45 4c 4c 5f 57 49 [join $SHELL_WI
e0e0: 4e 33 32 5f 4f 50 54 49 4f 4e 53 20 7b 20 7d 5d N32_OPTIONS { }]
e0f0: 5d 20 7b 23 0a 23 23 23 23 23 23 23 23 23 23 23 ] {#.###########
e100: 23 23 23 23 23 23 23 23 23 23 23 23 23 23 23 23 ################
e110: 23 23 23 23 23 23 23 23 23 23 23 23 23 23 23 23 ################
e120: 23 23 23 23 23 23 23 23 23 23 23 23 23 23 23 23 ################
e130: 23 23 23 23 23 23 23 23 23 23 23 23 23 23 23 23 ################
e140: 23 23 23 0a 23 20 57 41 52 4e 49 4e 47 3a 20 44 ###.# WARNING: D
e150: 4f 20 4e 4f 54 20 45 44 49 54 2c 20 41 55 54 4f O NOT EDIT, AUTO
e160: 4d 41 54 49 43 41 4c 4c 59 20 47 45 4e 45 52 41 MATICALLY GENERA
e170: 54 45 44 20 46 49 4c 45 20 28 53 45 45 20 22 73 TED FILE (SEE "s
e180: 72 63 2f 6d 61 6b 65 6d 61 6b 65 2e 74 63 6c 22 rc/makemake.tcl"
e190: 29 0a 23 23 23 23 23 23 23 23 23 23 23 23 23 23 ).##############
e1a0: 23 23 23 23 23 23 23 23 23 23 23 23 23 23 23 23 ################
e1b0: 23 23 23 23 23 23 23 23 23 23 23 23 23 23 23 23 ################
e1c0: 23 23 23 23 23 23 23 23 23 23 23 23 23 23 23 23 ################
e1d0: 23 23 23 23 23 23 23 23 23 23 23 23 23 23 23 23 ################
e1e0: 0a 23 0a 23 20 54 68 69 73 20 66 69 6c 65 20 69 .#.# This file i
e1f0: 73 20 61 75 74 6f 6d 61 74 69 63 61 6c 6c 79 20 s automatically
e200: 67 65 6e 65 72 61 74 65 64 2e 20 20 49 6e 73 74 generated. Inst
e210: 65 61 64 20 6f 66 20 65 64 69 74 69 6e 67 20 74 ead of editing t
e220: 68 69 73 0a 23 20 66 69 6c 65 2c 20 65 64 69 74 his.# file, edit
e230: 20 22 6d 61 6b 65 6d 61 6b 65 2e 74 63 6c 22 20 "makemake.tcl"
e240: 74 68 65 6e 20 72 75 6e 20 22 74 63 6c 73 68 20 then run "tclsh
e250: 6d 61 6b 65 6d 61 6b 65 2e 74 63 6c 22 0a 23 20 makemake.tcl".#
e260: 74 6f 20 72 65 67 65 6e 65 72 61 74 65 20 74 68 to regenerate th
e270: 69 73 20 66 69 6c 65 2e 0a 23 0a 23 20 48 6f 77 is file..#.# How
e280: 54 6f 0a 23 20 2d 2d 2d 2d 2d 0a 23 0a 23 20 54 To.# -----.#.# T
e290: 68 69 73 20 69 73 20 61 20 4d 61 6b 65 66 69 6c his is a Makefil
e2a0: 65 20 74 6f 20 63 6f 6d 70 69 6c 65 20 66 6f 73 e to compile fos
e2b0: 73 69 6c 20 77 69 74 68 20 50 65 6c 6c 65 73 43 sil with PellesC
e2c0: 20 66 72 6f 6d 0a 23 20 20 68 74 74 70 3a 2f 2f from.# http://
e2d0: 77 77 77 2e 73 6d 6f 72 67 61 73 62 6f 72 64 65 www.smorgasborde
e2e0: 74 2e 63 6f 6d 2f 70 65 6c 6c 65 73 63 2f 69 6e t.com/pellesc/in
e2f0: 64 65 78 2e 68 74 6d 0a 23 20 49 6e 20 61 64 64 dex.htm.# In add
e300: 69 74 69 6f 6e 20 74 6f 20 74 68 65 20 43 6f 6d ition to the Com
e310: 70 69 6c 65 72 20 65 6e 76 72 69 6f 6e 6d 65 6e piler envrionmen
e320: 74 2c 20 79 6f 75 20 6e 65 65 64 0a 23 20 20 67 t, you need.# g
e330: 6d 61 6b 65 20 66 72 6f 6d 20 68 74 74 70 3a 2f make from http:/
e340: 2f 73 6f 75 72 63 65 66 6f 72 67 65 2e 6e 65 74 /sourceforge.net
e350: 2f 70 72 6f 6a 65 63 74 73 2f 75 6e 78 75 74 69 /projects/unxuti
e360: 6c 73 2f 2c 20 50 65 6c 6c 65 73 20 6d 61 6b 65 ls/, Pelles make
e370: 20 76 65 72 73 69 6f 6e 0a 23 20 20 20 20 20 20 version.#
e380: 20 20 63 6f 75 6c 64 6e 27 74 20 68 61 6e 64 6c couldn't handl
e390: 65 20 74 68 65 20 63 6f 6d 70 6c 65 78 20 64 65 e the complex de
e3a0: 70 65 6e 64 65 6e 63 69 65 73 20 69 6e 20 74 68 pendencies in th
e3b0: 69 73 20 62 75 69 6c 64 0a 23 20 20 7a 6c 69 62 is build.# zlib
e3c0: 20 73 6f 75 72 63 65 73 0a 23 20 54 68 65 6e 20 sources.# Then
e3d0: 79 6f 75 20 64 6f 0a 23 20 31 2e 20 63 72 65 61 you do.# 1. crea
e3e0: 74 65 20 61 20 64 69 72 65 63 74 6f 72 79 20 50 te a directory P
e3f0: 65 6c 6c 65 73 43 20 69 6e 20 74 68 65 20 70 72 ellesC in the pr
e400: 6f 6a 65 63 74 20 72 6f 6f 74 20 64 69 72 65 63 oject root direc
e410: 74 6f 72 79 0a 23 20 32 2e 20 43 68 61 6e 67 65 tory.# 2. Change
e420: 20 74 68 65 20 76 61 72 69 61 62 6c 65 73 20 50 the variables P
e430: 65 6c 6c 65 73 43 44 69 72 2f 5a 4c 49 42 53 52 ellesCDir/ZLIBSR
e440: 43 44 49 52 20 74 6f 20 74 68 65 20 70 61 74 68 CDIR to the path
e450: 20 6f 66 20 79 6f 75 72 20 69 6e 73 74 61 6c 6c of your install
e460: 61 74 69 6f 6e 0a 23 20 33 2e 20 6f 70 65 6e 20 ation.# 3. open
e470: 61 20 64 6f 73 20 70 72 6f 6d 70 74 20 77 69 6e a dos prompt win
e480: 64 6f 77 20 61 6e 64 20 63 68 61 6e 67 65 20 77 dow and change w
e490: 6f 72 6b 69 6e 67 20 64 69 72 65 63 74 6f 72 79 orking directory
e4a0: 20 69 6e 74 6f 20 50 65 6c 6c 65 73 43 20 28 73 into PellesC (s
e4b0: 74 65 70 20 31 29 0a 23 20 34 2e 20 72 75 6e 20 tep 1).# 4. run
e4c0: 67 6d 61 6b 65 20 2d 66 20 2e 2e 5c 77 69 6e 5c gmake -f ..\win\
e4d0: 4d 61 6b 65 66 69 6c 65 2e 50 65 6c 6c 65 73 43 Makefile.PellesC
e4e0: 47 4d 61 6b 65 0a 23 0a 23 20 74 68 69 73 20 66 GMake.#.# this f
e4f0: 69 6c 65 20 69 73 20 74 65 73 74 65 64 20 77 69 ile is tested wi
e500: 74 68 0a 23 20 20 20 50 65 6c 6c 65 73 43 20 20 th.# PellesC
e510: 20 20 20 20 20 20 20 35 2e 30 30 2e 31 33 0a 23 5.00.13.#
e520: 20 20 20 67 6d 61 6b 65 20 20 20 20 20 20 20 20 gmake
e530: 20 20 20 33 2e 38 30 0a 23 20 20 20 7a 6c 69 62 3.80.# zlib
e540: 20 73 6f 75 72 63 65 73 20 20 20 20 31 2e 32 2e sources 1.2.
e550: 35 0a 23 20 20 20 57 69 6e 64 6f 77 73 20 58 50 5.# Windows XP
e560: 20 53 50 20 32 0a 23 20 61 6e 64 0a 23 20 20 20 SP 2.# and.#
e570: 50 65 6c 6c 65 73 43 20 20 20 20 20 20 20 20 20 PellesC
e580: 36 2e 30 30 2e 34 0a 23 20 20 20 67 6d 61 6b 65 6.00.4.# gmake
e590: 20 20 20 20 20 20 20 20 20 20 20 33 2e 38 30 0a 3.80.
e5a0: 23 20 20 20 7a 6c 69 62 20 73 6f 75 72 63 65 73 # zlib sources
e5b0: 20 20 20 20 31 2e 32 2e 35 0a 23 20 20 20 57 69 1.2.5.# Wi
e5c0: 6e 64 6f 77 73 20 37 20 48 6f 6d 65 20 50 72 65 ndows 7 Home Pre
e5d0: 6d 69 75 6d 0a 23 0a 0a 23 0a 50 65 6c 6c 65 73 mium.#..#.Pelles
e5e0: 43 44 69 72 3d 63 3a 5c 50 72 6f 67 72 61 6d 6d CDir=c:\Programm
e5f0: 65 5c 50 65 6c 6c 65 73 43 0a 0a 23 20 53 65 6c e\PellesC..# Sel
e600: 65 63 74 20 62 65 74 77 65 65 6e 20 33 32 2f 36 ect between 32/6
e610: 34 20 62 69 74 20 63 6f 64 65 2c 20 64 65 66 61 4 bit code, defa
e620: 75 6c 74 20 69 73 20 33 32 20 62 69 74 0a 23 54 ult is 32 bit.#T
e630: 41 52 47 45 54 56 45 52 53 49 4f 4e 3d 36 34 0a ARGETVERSION=64.
e640: 0a 69 66 65 71 20 28 24 28 54 41 52 47 45 54 56 .ifeq ($(TARGETV
e650: 45 52 53 49 4f 4e 29 2c 36 34 29 0a 23 20 36 34 ERSION),64).# 64
e660: 20 62 69 74 20 76 65 72 73 69 6f 6e 0a 54 41 52 bit version.TAR
e670: 47 45 54 4d 41 43 48 49 4e 45 5f 43 43 3d 61 6d GETMACHINE_CC=am
e680: 64 36 34 0a 54 41 52 47 45 54 4d 41 43 48 49 4e d64.TARGETMACHIN
e690: 45 5f 4c 4e 3d 61 6d 64 36 34 0a 54 41 52 47 45 E_LN=amd64.TARGE
e6a0: 54 45 58 54 45 4e 44 3d 36 34 0a 65 6c 73 65 0a TEXTEND=64.else.
e6b0: 23 20 33 32 20 62 69 74 20 76 65 72 73 69 6f 6e # 32 bit version
e6c0: 0a 54 41 52 47 45 54 4d 41 43 48 49 4e 45 5f 43 .TARGETMACHINE_C
e6d0: 43 3d 78 38 36 0a 54 41 52 47 45 54 4d 41 43 48 C=x86.TARGETMACH
e6e0: 49 4e 45 5f 4c 4e 3d 69 78 38 36 0a 54 41 52 47 INE_LN=ix86.TARG
e6f0: 45 54 45 58 54 45 4e 44 3d 0a 65 6e 64 69 66 0a ETEXTEND=.endif.
e700: 0a 23 20 64 65 66 69 6e 65 20 74 68 65 20 70 72 .# define the pr
e710: 6f 6a 65 63 74 20 64 69 72 65 63 74 6f 72 69 65 oject directorie
e720: 73 0a 42 3d 2e 2e 0a 53 52 43 44 49 52 3d 24 28 s.B=...SRCDIR=$(
e730: 42 29 2f 73 72 63 2f 0a 57 49 4e 44 49 52 3d 24 B)/src/.WINDIR=$
e740: 28 42 29 2f 77 69 6e 2f 0a 5a 4c 49 42 53 52 43 (B)/win/.ZLIBSRC
e750: 44 49 52 3d 2e 2e 2f 2e 2e 2f 7a 6c 69 62 2f 0a DIR=../../zlib/.
e760: 0a 23 20 64 65 66 69 6e 65 20 6c 69 6e 6b 65 72 .# define linker
e770: 20 63 6f 6d 6d 61 6e 64 20 61 6e 64 20 6f 70 74 command and opt
e780: 69 6f 6e 73 0a 4c 49 4e 4b 3d 24 28 50 65 6c 6c ions.LINK=$(Pell
e790: 65 73 43 44 69 72 29 2f 62 69 6e 2f 70 6f 6c 69 esCDir)/bin/poli
e7a0: 6e 6b 2e 65 78 65 0a 4c 49 4e 4b 46 4c 41 47 53 nk.exe.LINKFLAGS
e7b0: 3d 2d 73 75 62 73 79 73 74 65 6d 3a 63 6f 6e 73 =-subsystem:cons
e7c0: 6f 6c 65 20 2d 6d 61 63 68 69 6e 65 3a 24 28 54 ole -machine:$(T
e7d0: 41 52 47 45 54 4d 41 43 48 49 4e 45 5f 4c 4e 29 ARGETMACHINE_LN)
e7e0: 20 2f 4c 49 42 50 41 54 48 3a 24 28 50 65 6c 6c /LIBPATH:$(Pell
e7f0: 65 73 43 44 69 72 29 5c 6c 69 62 5c 77 69 6e 24 esCDir)\lib\win$
e800: 28 54 41 52 47 45 54 45 58 54 45 4e 44 29 20 2f (TARGETEXTEND) /
e810: 4c 49 42 50 41 54 48 3a 24 28 50 65 6c 6c 65 73 LIBPATH:$(Pelles
e820: 43 44 69 72 29 5c 6c 69 62 20 6b 65 72 6e 65 6c CDir)\lib kernel
e830: 33 32 2e 6c 69 62 20 61 64 76 61 70 69 33 32 2e 32.lib advapi32.
e840: 6c 69 62 20 64 65 6c 61 79 69 6d 70 24 28 54 41 lib delayimp$(TA
e850: 52 47 45 54 45 58 54 45 4e 44 29 2e 6c 69 62 20 RGETEXTEND).lib
e860: 57 73 6f 63 6b 33 32 2e 6c 69 62 20 43 72 74 6d Wsock32.lib Crtm
e870: 74 24 28 54 41 52 47 45 54 45 58 54 45 4e 44 29 t$(TARGETEXTEND)
e880: 2e 6c 69 62 0a 0a 23 20 64 65 66 69 6e 65 20 73 .lib..# define s
e890: 74 61 6e 64 61 72 64 20 43 2d 63 6f 6d 70 69 6c tandard C-compil
e8a0: 65 72 20 61 6e 64 20 66 6c 61 67 73 2c 20 75 73 er and flags, us
e8b0: 65 64 20 74 6f 20 63 6f 6d 70 69 6c 65 0a 23 20 ed to compile.#
e8c0: 74 68 65 20 66 6f 73 73 69 6c 20 62 69 6e 61 72 the fossil binar
e8d0: 79 2e 20 53 6f 6d 65 20 73 70 65 63 69 61 6c 20 y. Some special
e8e0: 64 65 66 69 6e 69 74 69 6f 6e 73 20 66 6f 6c 6c definitions foll
e8f0: 6f 77 20 66 6f 72 0a 23 20 73 70 65 63 69 61 6c ow for.# special
e900: 20 66 69 6c 65 73 20 66 6f 6c 6c 6f 77 0a 43 43 files follow.CC
e910: 3d 24 28 50 65 6c 6c 65 73 43 44 69 72 29 5c 62 =$(PellesCDir)\b
e920: 69 6e 5c 70 6f 63 63 2e 65 78 65 0a 44 45 46 49 in\pocc.exe.DEFI
e930: 4e 45 53 3d 2d 44 5f 70 67 6d 70 74 72 3d 67 2e NES=-D_pgmptr=g.
e940: 61 72 67 76 5b 30 5d 0a 43 43 46 4c 41 47 53 3d argv[0].CCFLAGS=
e950: 2d 54 24 28 54 41 52 47 45 54 4d 41 43 48 49 4e -T$(TARGETMACHIN
e960: 45 5f 43 43 29 2d 63 6f 66 66 20 2d 4f 74 20 2d E_CC)-coff -Ot -
e970: 57 32 20 2d 47 64 20 2d 47 6f 20 2d 5a 65 20 2d W2 -Gd -Go -Ze -
e980: 4d 54 20 24 28 44 45 46 49 4e 45 53 29 0a 49 4e MT $(DEFINES).IN
e990: 43 4c 55 44 45 3d 2f 49 20 24 28 50 65 6c 6c 65 CLUDE=/I $(Pelle
e9a0: 73 43 44 69 72 29 5c 49 6e 63 6c 75 64 65 5c 57 sCDir)\Include\W
e9b0: 69 6e 20 2f 49 20 24 28 50 65 6c 6c 65 73 43 44 in /I $(PellesCD
e9c0: 69 72 29 5c 49 6e 63 6c 75 64 65 20 2f 49 20 24 ir)\Include /I $
e9d0: 28 5a 4c 49 42 53 52 43 44 49 52 29 20 2f 49 20 (ZLIBSRCDIR) /I
e9e0: 24 28 53 52 43 44 49 52 29 0a 0a 23 20 64 65 66 $(SRCDIR)..# def
e9f0: 69 6e 65 20 63 6f 6d 6d 61 6e 64 73 20 66 6f 72 ine commands for
ea00: 20 62 75 69 6c 64 69 6e 67 20 74 68 65 20 77 69 building the wi
ea10: 6e 64 6f 77 73 20 72 65 73 6f 75 72 63 65 20 66 ndows resource f
ea20: 69 6c 65 73 0a 52 45 53 4f 55 52 43 45 3d 66 6f iles.RESOURCE=fo
ea30: 73 73 69 6c 2e 72 65 73 0a 52 43 3d 24 28 50 65 ssil.res.RC=$(Pe
ea40: 6c 6c 65 73 43 44 69 72 29 5c 62 69 6e 5c 70 6f llesCDir)\bin\po
ea50: 72 63 2e 65 78 65 0a 52 43 46 4c 41 47 53 3d 24 rc.exe.RCFLAGS=$
ea60: 28 49 4e 43 4c 55 44 45 29 20 2d 44 5f 5f 50 4f (INCLUDE) -D__PO
ea70: 43 43 5f 5f 3d 31 20 2d 44 5f 4d 5f 58 24 28 54 CC__=1 -D_M_X$(T
ea80: 41 52 47 45 54 56 45 52 53 49 4f 4e 29 0a 0a 23 ARGETVERSION)..#
ea90: 20 64 65 66 69 6e 65 20 74 68 65 20 73 70 65 63 define the spec
eaa0: 69 61 6c 20 75 74 69 6c 69 74 69 65 73 20 66 69 ial utilities fi
eab0: 6c 65 73 2c 20 6e 65 65 64 65 64 20 74 6f 20 67 les, needed to g
eac0: 65 6e 65 72 61 74 65 0a 23 20 74 68 65 20 61 75 enerate.# the au
ead0: 74 6f 6d 61 74 69 63 61 6c 6c 79 20 67 65 6e 65 tomatically gene
eae0: 72 61 74 65 64 20 73 6f 75 72 63 65 20 66 69 6c rated source fil
eaf0: 65 73 0a 55 54 49 4c 53 3d 74 72 61 6e 73 6c 61 es.UTILS=transla
eb00: 74 65 2e 65 78 65 20 6d 6b 69 6e 64 65 78 2e 65 te.exe mkindex.e
eb10: 78 65 20 6d 61 6b 65 68 65 61 64 65 72 73 2e 65 xe makeheaders.e
eb20: 78 65 20 6d 6b 62 75 69 6c 74 69 6e 2e 65 78 65 xe mkbuiltin.exe
eb30: 0a 55 54 49 4c 53 5f 4f 42 4a 3d 24 28 55 54 49 .UTILS_OBJ=$(UTI
eb40: 4c 53 3a 2e 65 78 65 3d 2e 6f 62 6a 29 0a 55 54 LS:.exe=.obj).UT
eb50: 49 4c 53 5f 53 52 43 3d 24 28 66 6f 72 65 61 63 ILS_SRC=$(foreac
eb60: 68 20 75 66 2c 24 28 55 54 49 4c 53 29 2c 24 28 h uf,$(UTILS),$(
eb70: 53 52 43 44 49 52 29 24 28 75 66 3a 2e 65 78 65 SRCDIR)$(uf:.exe
eb80: 3d 2e 63 29 29 0a 0a 23 20 64 65 66 69 6e 65 20 =.c))..# define
eb90: 74 68 65 20 53 51 4c 69 74 65 20 66 69 6c 65 73 the SQLite files
eba0: 2c 20 77 68 69 63 68 20 6e 65 65 64 20 73 70 65 , which need spe
ebb0: 63 69 61 6c 20 66 6c 61 67 73 20 6f 6e 20 63 6f cial flags on co
ebc0: 6d 70 69 6c 65 0a 53 51 4c 49 54 45 53 52 43 3d mpile.SQLITESRC=
ebd0: 73 71 6c 69 74 65 33 2e 63 0a 4f 52 49 47 53 51 sqlite3.c.ORIGSQ
ebe0: 4c 49 54 45 53 52 43 3d 24 28 66 6f 72 65 61 63 LITESRC=$(foreac
ebf0: 68 20 73 66 2c 24 28 53 51 4c 49 54 45 53 52 43 h sf,$(SQLITESRC
ec00: 29 2c 24 28 53 52 43 44 49 52 29 24 28 73 66 29 ),$(SRCDIR)$(sf)
ec10: 29 0a 53 51 4c 49 54 45 4f 42 4a 3d 24 28 66 6f ).SQLITEOBJ=$(fo
ec20: 72 65 61 63 68 20 73 66 2c 24 28 53 51 4c 49 54 reach sf,$(SQLIT
ec30: 45 53 52 43 29 2c 24 28 73 66 3a 2e 63 3d 2e 6f ESRC),$(sf:.c=.o
ec40: 62 6a 29 29 0a 53 51 4c 49 54 45 44 45 46 49 4e bj)).SQLITEDEFIN
ec50: 45 53 3d 3c 3c 3c 53 51 4c 49 54 45 5f 4f 50 54 ES=<<<SQLITE_OPT
ec60: 49 4f 4e 53 3e 3e 3e 0a 0a 23 20 64 65 66 69 6e IONS>>>..# defin
ec70: 65 20 74 68 65 20 53 51 4c 69 74 65 20 73 68 65 e the SQLite she
ec80: 6c 6c 20 66 69 6c 65 73 2c 20 77 68 69 63 68 20 ll files, which
ec90: 6e 65 65 64 20 73 70 65 63 69 61 6c 20 66 6c 61 need special fla
eca0: 67 73 20 6f 6e 20 63 6f 6d 70 69 6c 65 0a 53 51 gs on compile.SQ
ecb0: 4c 49 54 45 53 48 45 4c 4c 53 52 43 3d 73 68 65 LITESHELLSRC=she
ecc0: 6c 6c 2e 63 0a 4f 52 49 47 53 51 4c 49 54 45 53 ll.c.ORIGSQLITES
ecd0: 48 45 4c 4c 53 52 43 3d 24 28 66 6f 72 65 61 63 HELLSRC=$(foreac
ece0: 68 20 73 66 2c 24 28 53 51 4c 49 54 45 53 48 45 h sf,$(SQLITESHE
ecf0: 4c 4c 53 52 43 29 2c 24 28 53 52 43 44 49 52 29 LLSRC),$(SRCDIR)
ed00: 24 28 73 66 29 29 0a 53 51 4c 49 54 45 53 48 45 $(sf)).SQLITESHE
ed10: 4c 4c 4f 42 4a 3d 24 28 66 6f 72 65 61 63 68 20 LLOBJ=$(foreach
ed20: 73 66 2c 24 28 53 51 4c 49 54 45 53 48 45 4c 4c sf,$(SQLITESHELL
ed30: 53 52 43 29 2c 24 28 73 66 3a 2e 63 3d 2e 6f 62 SRC),$(sf:.c=.ob
ed40: 6a 29 29 0a 53 51 4c 49 54 45 53 48 45 4c 4c 44 j)).SQLITESHELLD
ed50: 45 46 49 4e 45 53 3d 3c 3c 3c 53 48 45 4c 4c 5f EFINES=<<<SHELL_
ed60: 4f 50 54 49 4f 4e 53 3e 3e 3e 0a 0a 23 20 64 65 OPTIONS>>>..# de
ed70: 66 69 6e 65 20 74 68 65 20 74 68 20 73 63 72 69 fine the th scri
ed80: 70 74 69 6e 67 20 66 69 6c 65 73 2c 20 77 68 69 pting files, whi
ed90: 63 68 20 6e 65 65 64 20 73 70 65 63 69 61 6c 20 ch need special
eda0: 66 6c 61 67 73 20 6f 6e 20 63 6f 6d 70 69 6c 65 flags on compile
edb0: 0a 54 48 53 52 43 3d 74 68 2e 63 20 74 68 5f 6c .THSRC=th.c th_l
edc0: 61 6e 67 2e 63 0a 4f 52 49 47 54 48 53 52 43 3d ang.c.ORIGTHSRC=
edd0: 24 28 66 6f 72 65 61 63 68 20 73 66 2c 24 28 54 $(foreach sf,$(T
ede0: 48 53 52 43 29 2c 24 28 53 52 43 44 49 52 29 24 HSRC),$(SRCDIR)$
edf0: 28 73 66 29 29 0a 54 48 4f 42 4a 3d 24 28 66 6f (sf)).THOBJ=$(fo
ee00: 72 65 61 63 68 20 73 66 2c 24 28 54 48 53 52 43 reach sf,$(THSRC
ee10: 29 2c 24 28 73 66 3a 2e 63 3d 2e 6f 62 6a 29 29 ),$(sf:.c=.obj))
ee20: 0a 0a 23 20 64 65 66 69 6e 65 20 74 68 65 20 7a ..# define the z
ee30: 6c 69 62 20 66 69 6c 65 73 2c 20 6e 65 65 64 65 lib files, neede
ee40: 64 20 62 79 20 74 68 69 73 20 63 6f 6d 70 69 6c d by this compil
ee50: 65 0a 5a 4c 49 42 53 52 43 3d 61 64 6c 65 72 33 e.ZLIBSRC=adler3
ee60: 32 2e 63 20 63 6f 6d 70 72 65 73 73 2e 63 20 63 2.c compress.c c
ee70: 72 63 33 32 2e 63 20 64 65 66 6c 61 74 65 2e 63 rc32.c deflate.c
ee80: 20 67 7a 63 6c 6f 73 65 2e 63 20 67 7a 6c 69 62 gzclose.c gzlib
ee90: 2e 63 20 67 7a 72 65 61 64 2e 63 20 67 7a 77 72 .c gzread.c gzwr
eea0: 69 74 65 2e 63 20 69 6e 66 62 61 63 6b 2e 63 20 ite.c infback.c
eeb0: 69 6e 66 66 61 73 74 2e 63 20 69 6e 66 6c 61 74 inffast.c inflat
eec0: 65 2e 63 20 69 6e 66 74 72 65 65 73 2e 63 20 74 e.c inftrees.c t
eed0: 72 65 65 73 2e 63 20 75 6e 63 6f 6d 70 72 2e 63 rees.c uncompr.c
eee0: 20 7a 75 74 69 6c 2e 63 0a 4f 52 49 47 5a 4c 49 zutil.c.ORIGZLI
eef0: 42 53 52 43 3d 24 28 66 6f 72 65 61 63 68 20 73 BSRC=$(foreach s
ef00: 66 2c 24 28 5a 4c 49 42 53 52 43 29 2c 24 28 5a f,$(ZLIBSRC),$(Z
ef10: 4c 49 42 53 52 43 44 49 52 29 24 28 73 66 29 29 LIBSRCDIR)$(sf))
ef20: 0a 5a 4c 49 42 4f 42 4a 3d 24 28 66 6f 72 65 61 .ZLIBOBJ=$(forea
ef30: 63 68 20 73 66 2c 24 28 5a 4c 49 42 53 52 43 29 ch sf,$(ZLIBSRC)
ef40: 2c 24 28 73 66 3a 2e 63 3d 2e 6f 62 6a 29 29 0a ,$(sf:.c=.obj)).
ef50: 0a 23 20 64 65 66 69 6e 65 20 61 6c 6c 20 66 6f .# define all fo
ef60: 73 73 69 6c 20 73 6f 75 72 63 65 73 2c 20 75 73 ssil sources, us
ef70: 69 6e 67 20 74 68 65 20 73 74 61 6e 64 61 72 64 ing the standard
ef80: 20 63 6f 6d 70 69 6c 65 20 61 6e 64 0a 23 20 73 compile and.# s
ef90: 6f 75 72 63 65 20 67 65 6e 65 72 61 74 69 6f 6e ource generation
efa0: 2e 20 54 68 65 73 65 20 61 72 65 20 61 6c 6c 20 . These are all
efb0: 66 69 6c 65 73 20 69 6e 20 53 52 43 44 49 52 2c files in SRCDIR,
efc0: 20 77 68 69 63 68 20 61 72 65 20 6e 6f 74 0a 23 which are not.#
efd0: 20 6d 65 6e 74 69 6f 6e 65 64 20 61 73 20 73 70 mentioned as sp
efe0: 65 63 69 61 6c 20 66 69 6c 65 73 20 61 62 6f 76 ecial files abov
eff0: 65 3a 0a 4f 52 49 47 53 52 43 3d 24 28 66 69 6c e:.ORIGSRC=$(fil
f000: 74 65 72 2d 6f 75 74 20 24 28 55 54 49 4c 53 5f ter-out $(UTILS_
f010: 53 52 43 29 20 24 28 4f 52 49 47 54 48 53 52 43 SRC) $(ORIGTHSRC
f020: 29 20 24 28 4f 52 49 47 53 51 4c 49 54 45 53 52 ) $(ORIGSQLITESR
f030: 43 29 20 24 28 4f 52 49 47 53 51 4c 49 54 45 53 C) $(ORIGSQLITES
f040: 48 45 4c 4c 53 52 43 29 2c 24 28 77 69 6c 64 63 HELLSRC),$(wildc
f050: 61 72 64 20 24 28 53 52 43 44 49 52 29 2a 2e 63 ard $(SRCDIR)*.c
f060: 29 29 0a 53 52 43 3d 24 28 73 75 62 73 74 20 24 )).SRC=$(subst $
f070: 28 53 52 43 44 49 52 29 2c 2c 24 28 4f 52 49 47 (SRCDIR),,$(ORIG
f080: 53 52 43 29 29 0a 54 52 41 4e 53 4c 41 54 45 44 SRC)).TRANSLATED
f090: 53 52 43 3d 24 28 53 52 43 3a 2e 63 3d 5f 2e 63 SRC=$(SRC:.c=_.c
f0a0: 29 0a 54 52 41 4e 53 4c 41 54 45 44 4f 42 4a 3d ).TRANSLATEDOBJ=
f0b0: 24 28 54 52 41 4e 53 4c 41 54 45 44 53 52 43 3a $(TRANSLATEDSRC:
f0c0: 2e 63 3d 2e 6f 62 6a 29 0a 0a 23 20 6d 61 69 6e .c=.obj)..# main
f0d0: 20 74 61 72 67 65 74 20 66 69 6c 65 20 69 73 20 target file is
f0e0: 74 68 65 20 61 70 70 6c 69 63 61 74 69 6f 6e 0a the application.
f0f0: 41 50 50 4c 49 43 41 54 49 4f 4e 3d 66 6f 73 73 APPLICATION=foss
f100: 69 6c 2e 65 78 65 0a 0a 23 20 64 65 66 69 6e 65 il.exe..# define
f110: 20 74 68 65 20 73 74 61 6e 64 61 72 64 20 6d 61 the standard ma
f120: 6b 65 20 74 61 72 67 65 74 0a 2e 50 48 4f 4e 59 ke target..PHONY
f130: 3a 09 64 65 66 61 75 6c 74 0a 64 65 66 61 75 6c :.default.defaul
f140: 74 3a 09 70 61 67 65 5f 69 6e 64 65 78 2e 68 20 t:.page_index.h
f150: 62 75 69 6c 74 69 6e 5f 64 61 74 61 2e 68 20 68 builtin_data.h h
f160: 65 61 64 65 72 73 20 24 28 41 50 50 4c 49 43 41 eaders $(APPLICA
f170: 54 49 4f 4e 29 0a 0a 23 20 73 79 6d 62 6f 6c 69 TION)..# symboli
f180: 63 20 74 61 72 67 65 74 20 74 6f 20 67 65 6e 65 c target to gene
f190: 72 61 74 65 20 74 68 65 20 73 6f 75 72 63 65 20 rate the source
f1a0: 67 65 6e 65 72 61 74 65 20 75 74 69 6c 73 0a 2e generate utils..
f1b0: 50 48 4f 4e 59 3a 09 75 74 69 6c 73 0a 75 74 69 PHONY:.utils.uti
f1c0: 6c 73 3a 09 24 28 55 54 49 4c 53 29 0a 0a 23 20 ls:.$(UTILS)..#
f1d0: 6c 69 6e 6b 20 75 74 69 6c 73 0a 24 28 55 54 49 link utils.$(UTI
f1e0: 4c 53 29 20 76 65 72 73 69 6f 6e 2e 65 78 65 3a LS) version.exe:
f1f0: 09 25 2e 65 78 65 3a 09 25 2e 6f 62 6a 0a 09 24 .%.exe:.%.obj..$
f200: 28 4c 49 4e 4b 29 20 24 28 4c 49 4e 4b 46 4c 41 (LINK) $(LINKFLA
f210: 47 53 29 20 2d 6f 75 74 3a 22 24 40 22 20 24 3c GS) -out:"$@" $<
f220: 0a 0a 23 20 63 6f 6d 70 69 6c 69 6e 67 20 73 74 ..# compiling st
f230: 61 6e 64 61 72 64 20 66 6f 73 73 69 6c 20 75 74 andard fossil ut
f240: 69 6c 73 0a 24 28 55 54 49 4c 53 5f 4f 42 4a 29 ils.$(UTILS_OBJ)
f250: 3a 09 25 2e 6f 62 6a 3a 09 24 28 53 52 43 44 49 :.%.obj:.$(SRCDI
f260: 52 29 25 2e 63 0a 09 24 28 43 43 29 20 24 28 43 R)%.c..$(CC) $(C
f270: 43 46 4c 41 47 53 29 20 24 28 49 4e 43 4c 55 44 CFLAGS) $(INCLUD
f280: 45 29 20 22 24 3c 22 20 2d 46 6f 22 24 40 22 0a E) "$<" -Fo"$@".
f290: 0a 23 20 63 6f 6d 70 69 6c 65 20 73 70 65 63 69 .# compile speci
f2a0: 61 6c 20 77 69 6e 64 6f 77 73 20 75 74 69 6c 73 al windows utils
f2b0: 0a 76 65 72 73 69 6f 6e 2e 6f 62 6a 3a 09 24 28 .version.obj:.$(
f2c0: 53 52 43 44 49 52 29 6d 6b 76 65 72 73 69 6f 6e SRCDIR)mkversion
f2d0: 2e 63 0a 09 24 28 43 43 29 20 24 28 43 43 46 4c .c..$(CC) $(CCFL
f2e0: 41 47 53 29 20 24 28 49 4e 43 4c 55 44 45 29 20 AGS) $(INCLUDE)
f2f0: 22 24 3c 22 20 2d 46 6f 22 24 40 22 0a 0a 23 20 "$<" -Fo"$@"..#
f300: 67 65 6e 65 72 61 74 65 20 74 68 65 20 74 72 61 generate the tra
f310: 6e 73 6c 61 74 65 64 20 63 2d 73 6f 75 72 63 65 nslated c-source
f320: 20 66 69 6c 65 73 0a 24 28 54 52 41 4e 53 4c 41 files.$(TRANSLA
f330: 54 45 44 53 52 43 29 3a 09 25 5f 2e 63 3a 09 24 TEDSRC):.%_.c:.$
f340: 28 53 52 43 44 49 52 29 25 2e 63 20 74 72 61 6e (SRCDIR)%.c tran
f350: 73 6c 61 74 65 2e 65 78 65 0a 09 74 72 61 6e 73 slate.exe..trans
f360: 6c 61 74 65 2e 65 78 65 20 24 3c 20 3e 24 40 0a late.exe $< >$@.
f370: 0a 23 20 67 65 6e 65 72 61 74 65 20 74 68 65 20 .# generate the
f380: 69 6e 64 65 78 20 73 6f 75 72 63 65 2c 20 63 6f index source, co
f390: 6e 74 61 69 6e 69 6e 67 20 61 6c 6c 20 77 65 62 ntaining all web
f3a0: 20 72 65 66 65 72 65 6e 63 65 73 2c 2e 2e 0a 70 references,...p
f3b0: 61 67 65 5f 69 6e 64 65 78 2e 68 3a 09 24 28 54 age_index.h:.$(T
f3c0: 52 41 4e 53 4c 41 54 45 44 53 52 43 29 20 6d 6b RANSLATEDSRC) mk
f3d0: 69 6e 64 65 78 2e 65 78 65 0a 09 6d 6b 69 6e 64 index.exe..mkind
f3e0: 65 78 2e 65 78 65 20 24 28 54 52 41 4e 53 4c 41 ex.exe $(TRANSLA
f3f0: 54 45 44 53 52 43 29 20 3e 24 40 0a 0a 62 75 69 TEDSRC) >$@..bui
f400: 6c 74 69 6e 5f 64 61 74 61 2e 68 3a 09 24 28 45 ltin_data.h:.$(E
f410: 58 54 52 41 5f 46 49 4c 45 53 29 20 6d 6b 62 75 XTRA_FILES) mkbu
f420: 69 6c 74 69 6e 2e 65 78 65 0a 09 6d 6b 62 75 69 iltin.exe..mkbui
f430: 6c 74 69 6e 2e 65 78 65 20 2d 2d 70 72 65 66 69 ltin.exe --prefi
f440: 78 20 24 28 53 52 43 44 49 52 29 2f 20 24 28 45 x $(SRCDIR)/ $(E
f450: 58 54 52 41 5f 46 49 4c 45 53 29 20 3e 24 40 0a XTRA_FILES) >$@.
f460: 0a 23 20 65 78 74 72 61 63 74 69 6e 67 20 76 65 .# extracting ve
f470: 72 73 69 6f 6e 20 69 6e 66 6f 20 66 72 6f 6d 20 rsion info from
f480: 6d 61 6e 69 66 65 73 74 0a 56 45 52 53 49 4f 4e manifest.VERSION
f490: 2e 68 3a 09 76 65 72 73 69 6f 6e 2e 65 78 65 20 .h:.version.exe
f4a0: 2e 2e 5c 6d 61 6e 69 66 65 73 74 2e 75 75 69 64 ..\manifest.uuid
f4b0: 20 2e 2e 5c 6d 61 6e 69 66 65 73 74 20 2e 2e 5c ..\manifest ..\
f4c0: 56 45 52 53 49 4f 4e 0a 09 76 65 72 73 69 6f 6e VERSION..version
f4d0: 2e 65 78 65 20 2e 2e 5c 6d 61 6e 69 66 65 73 74 .exe ..\manifest
f4e0: 2e 75 75 69 64 20 2e 2e 5c 6d 61 6e 69 66 65 73 .uuid ..\manifes
f4f0: 74 20 2e 2e 5c 56 45 52 53 49 4f 4e 20 20 3e 24 t ..\VERSION >$
f500: 40 0a 0a 64 65 66 61 75 6c 74 5f 63 73 73 2e 68 @..default_css.h
f510: 3a 09 6d 6b 63 73 73 2e 65 78 65 20 64 65 66 61 :.mkcss.exe defa
f520: 75 6c 74 5f 63 73 73 2e 74 78 74 0a 09 6d 6b 63 ult_css.txt..mkc
f530: 73 73 2e 65 78 65 20 64 65 66 61 75 6c 74 5f 63 ss.exe default_c
f540: 73 73 2e 74 78 74 20 24 40 0a 0a 23 20 67 65 6e ss.txt $@..# gen
f550: 65 72 61 74 65 20 74 68 65 20 73 69 6d 70 6c 69 erate the simpli
f560: 66 69 65 64 20 68 65 61 64 65 72 73 0a 68 65 61 fied headers.hea
f570: 64 65 72 73 3a 20 6d 61 6b 65 68 65 61 64 65 72 ders: makeheader
f580: 73 2e 65 78 65 20 70 61 67 65 5f 69 6e 64 65 78 s.exe page_index
f590: 2e 68 20 62 75 69 6c 74 69 6e 5f 64 61 74 61 2e .h builtin_data.
f5a0: 68 20 64 65 66 61 75 6c 74 5f 63 73 73 2e 68 20 h default_css.h
f5b0: 56 45 52 53 49 4f 4e 2e 68 20 2e 2e 2f 73 72 63 VERSION.h ../src
f5c0: 2f 73 71 6c 69 74 65 33 2e 68 20 2e 2e 2f 73 72 /sqlite3.h ../sr
f5d0: 63 2f 74 68 2e 68 0a 09 6d 61 6b 65 68 65 61 64 c/th.h..makehead
f5e0: 65 72 73 2e 65 78 65 20 24 28 66 6f 72 65 61 63 ers.exe $(foreac
f5f0: 68 20 74 73 2c 24 28 54 52 41 4e 53 4c 41 54 45 h ts,$(TRANSLATE
f600: 44 53 52 43 29 2c 24 28 74 73 29 3a 24 28 74 73 DSRC),$(ts):$(ts
f610: 3a 5f 2e 63 3d 2e 68 29 29 20 2e 2e 2f 73 72 63 :_.c=.h)) ../src
f620: 2f 73 71 6c 69 74 65 33 2e 68 20 2e 2e 2f 73 72 /sqlite3.h ../sr
f630: 63 2f 74 68 2e 68 20 56 45 52 53 49 4f 4e 2e 68 c/th.h VERSION.h
f640: 0a 09 65 63 68 6f 20 44 6f 6e 65 20 3e 24 40 0a ..echo Done >$@.
f650: 0a 23 20 63 6f 6d 70 69 6c 65 20 43 20 73 6f 75 .# compile C sou
f660: 72 63 65 73 20 77 69 74 68 20 72 65 6c 65 76 61 rces with releva
f670: 6e 74 20 6f 70 74 69 6f 6e 73 0a 0a 24 28 54 52 nt options..$(TR
f680: 41 4e 53 4c 41 54 45 44 4f 42 4a 29 3a 09 25 5f ANSLATEDOBJ):.%_
f690: 2e 6f 62 6a 3a 09 25 5f 2e 63 20 25 2e 68 0a 09 .obj:.%_.c %.h..
f6a0: 24 28 43 43 29 20 24 28 43 43 46 4c 41 47 53 29 $(CC) $(CCFLAGS)
f6b0: 20 24 28 49 4e 43 4c 55 44 45 29 20 22 24 3c 22 $(INCLUDE) "$<"
f6c0: 20 2d 46 6f 22 24 40 22 0a 0a 24 28 53 51 4c 49 -Fo"$@"..$(SQLI
f6d0: 54 45 4f 42 4a 29 3a 09 25 2e 6f 62 6a 3a 09 24 TEOBJ):.%.obj:.$
f6e0: 28 53 52 43 44 49 52 29 25 2e 63 20 24 28 53 52 (SRCDIR)%.c $(SR
f6f0: 43 44 49 52 29 25 2e 68 0a 09 24 28 43 43 29 20 CDIR)%.h..$(CC)
f700: 24 28 43 43 46 4c 41 47 53 29 20 24 28 53 51 4c $(CCFLAGS) $(SQL
f710: 49 54 45 44 45 46 49 4e 45 53 29 20 24 28 49 4e ITEDEFINES) $(IN
f720: 43 4c 55 44 45 29 20 22 24 3c 22 20 2d 46 6f 22 CLUDE) "$<" -Fo"
f730: 24 40 22 0a 0a 24 28 53 51 4c 49 54 45 53 48 45 $@"..$(SQLITESHE
f740: 4c 4c 4f 42 4a 29 3a 09 25 2e 6f 62 6a 3a 09 24 LLOBJ):.%.obj:.$
f750: 28 53 52 43 44 49 52 29 25 2e 63 0a 09 24 28 43 (SRCDIR)%.c..$(C
f760: 43 29 20 24 28 43 43 46 4c 41 47 53 29 20 24 28 C) $(CCFLAGS) $(
f770: 53 51 4c 49 54 45 53 48 45 4c 4c 44 45 46 49 4e SQLITESHELLDEFIN
f780: 45 53 29 20 24 28 49 4e 43 4c 55 44 45 29 20 22 ES) $(INCLUDE) "
f790: 24 3c 22 20 2d 46 6f 22 24 40 22 0a 0a 24 28 54 $<" -Fo"$@"..$(T
f7a0: 48 4f 42 4a 29 3a 09 25 2e 6f 62 6a 3a 09 24 28 HOBJ):.%.obj:.$(
f7b0: 53 52 43 44 49 52 29 25 2e 63 20 24 28 53 52 43 SRCDIR)%.c $(SRC
f7c0: 44 49 52 29 74 68 2e 68 0a 09 24 28 43 43 29 20 DIR)th.h..$(CC)
f7d0: 24 28 43 43 46 4c 41 47 53 29 20 24 28 49 4e 43 $(CCFLAGS) $(INC
f7e0: 4c 55 44 45 29 20 22 24 3c 22 20 2d 46 6f 22 24 LUDE) "$<" -Fo"$
f7f0: 40 22 0a 0a 24 28 5a 4c 49 42 4f 42 4a 29 3a 09 @"..$(ZLIBOBJ):.
f800: 25 2e 6f 62 6a 3a 09 24 28 5a 4c 49 42 53 52 43 %.obj:.$(ZLIBSRC
f810: 44 49 52 29 25 2e 63 0a 09 24 28 43 43 29 20 24 DIR)%.c..$(CC) $
f820: 28 43 43 46 4c 41 47 53 29 20 24 28 49 4e 43 4c (CCFLAGS) $(INCL
f830: 55 44 45 29 20 22 24 3c 22 20 2d 46 6f 22 24 40 UDE) "$<" -Fo"$@
f840: 22 0a 0a 23 20 63 72 65 61 74 65 20 74 68 65 20 "..# create the
f850: 77 69 6e 64 6f 77 73 20 72 65 73 6f 75 72 63 65 windows resource
f860: 20 77 69 74 68 20 69 63 6f 6e 20 61 6e 64 20 76 with icon and v
f870: 65 72 73 69 6f 6e 20 69 6e 66 6f 0a 24 28 52 45 ersion info.$(RE
f880: 53 4f 55 52 43 45 29 3a 09 25 2e 72 65 73 3a 09 SOURCE):.%.res:.
f890: 2e 2e 2f 77 69 6e 2f 25 2e 72 63 20 2e 2e 2f 77 ../win/%.rc ../w
f8a0: 69 6e 2f 2a 2e 69 63 6f 0a 09 24 28 52 43 29 20 in/*.ico..$(RC)
f8b0: 24 28 52 43 46 4c 41 47 53 29 20 24 3c 20 2d 46 $(RCFLAGS) $< -F
f8c0: 6f 22 24 40 22 0a 0a 23 20 6c 69 6e 6b 20 74 68 o"$@"..# link th
f8d0: 65 20 61 70 70 6c 69 63 61 74 69 6f 6e 0a 24 28 e application.$(
f8e0: 41 50 50 4c 49 43 41 54 49 4f 4e 29 3a 09 24 28 APPLICATION):.$(
f8f0: 54 52 41 4e 53 4c 41 54 45 44 4f 42 4a 29 20 24 TRANSLATEDOBJ) $
f900: 28 53 51 4c 49 54 45 4f 42 4a 29 20 24 28 53 51 (SQLITEOBJ) $(SQ
f910: 4c 49 54 45 53 48 45 4c 4c 4f 42 4a 29 20 24 28 LITESHELLOBJ) $(
f920: 54 48 4f 42 4a 29 20 24 28 5a 4c 49 42 4f 42 4a THOBJ) $(ZLIBOBJ
f930: 29 20 68 65 61 64 65 72 73 20 24 28 52 45 53 4f ) headers $(RESO
f940: 55 52 43 45 29 0a 09 24 28 4c 49 4e 4b 29 20 24 URCE)..$(LINK) $
f950: 28 4c 49 4e 4b 46 4c 41 47 53 29 20 2d 6f 75 74 (LINKFLAGS) -out
f960: 3a 22 24 40 22 20 24 28 54 52 41 4e 53 4c 41 54 :"$@" $(TRANSLAT
f970: 45 44 4f 42 4a 29 20 24 28 53 51 4c 49 54 45 4f EDOBJ) $(SQLITEO
f980: 42 4a 29 20 24 28 53 51 4c 49 54 45 53 48 45 4c BJ) $(SQLITESHEL
f990: 4c 4f 42 4a 29 20 24 28 54 48 4f 42 4a 29 20 24 LOBJ) $(THOBJ) $
f9a0: 28 5a 4c 49 42 4f 42 4a 29 20 24 28 52 45 53 4f (ZLIBOBJ) $(RESO
f9b0: 55 52 43 45 29 0a 0a 23 20 63 6c 65 61 6e 75 70 URCE)..# cleanup
f9c0: 0a 0a 2e 50 48 4f 4e 59 3a 20 63 6c 65 61 6e 0a ...PHONY: clean.
f9d0: 63 6c 65 61 6e 3a 0a 09 64 65 6c 20 2f 46 20 24 clean:..del /F $
f9e0: 28 54 52 41 4e 53 4c 41 54 45 44 4f 42 4a 29 20 (TRANSLATEDOBJ)
f9f0: 24 28 53 51 4c 49 54 45 4f 42 4a 29 20 24 28 54 $(SQLITEOBJ) $(T
fa00: 48 4f 42 4a 29 20 24 28 5a 4c 49 42 4f 42 4a 29 HOBJ) $(ZLIBOBJ)
fa10: 20 24 28 55 54 49 4c 53 5f 4f 42 4a 29 20 76 65 $(UTILS_OBJ) ve
fa20: 72 73 69 6f 6e 2e 6f 62 6a 0a 09 64 65 6c 20 2f rsion.obj..del /
fa30: 46 20 24 28 54 52 41 4e 53 4c 41 54 45 44 53 52 F $(TRANSLATEDSR
fa40: 43 29 0a 09 64 65 6c 20 2f 46 20 2a 2e 68 20 68 C)..del /F *.h h
fa50: 65 61 64 65 72 73 0a 09 64 65 6c 20 2f 46 20 24 eaders..del /F $
fa60: 28 52 45 53 4f 55 52 43 45 29 0a 0a 2e 50 48 4f (RESOURCE)...PHO
fa70: 4e 59 3a 20 63 6c 6f 62 62 65 72 0a 63 6c 6f 62 NY: clobber.clob
fa80: 62 65 72 3a 20 63 6c 65 61 6e 0a 09 64 65 6c 20 ber: clean..del
fa90: 2f 46 20 2a 2e 65 78 65 0a 7d 5d 0a /F *.exe.}].