#
##############################################################################
# WARNING: DO NOT EDIT, AUTOMATICALLY GENERATED FILE (SEE "tools/makemake.tcl")
##############################################################################
#
#
# This file is automatically generated.  Instead of editing this
# file, edit "makemake.tcl" then run "tclsh makemake.tcl"
# to regenerate this file.
#
B       = ..
SRCDIR  = $(B)\src
SRCDIR_extsrc = $(B)\extsrc
SRCDIR_tools = $(B)\tools
T       = .
OBJDIR  = $(T)
OX      = $(OBJDIR)
O       = .obj
E       = .exe
P       = .pdb
DBGOPTS = /Od

INSTALLDIR = .
!ifdef DESTDIR
INSTALLDIR = $(DESTDIR)\$(INSTALLDIR)
!endif

# When building out of source, this Makefile needs to know the path to the base
# top-level directory for this project. Pass it on NMAKE command line via make
# variable B:
#   NMAKE /f "path\to\this\Makefile" B="path/to/fossil/root"
#
# NOTE: Make sure B path has no trailing backslash, UNIX-style path is OK too.
#
!if !exist("$(B)\.fossil-settings")
!error Please specify path to project base directory: B="path/to/fossil"
!endif

# Perl is only necessary if OpenSSL support is enabled and it is built from
# source code.  The PERLDIR environment variable, if it exists, should point
# to the directory containing the main Perl executable specified here (i.e.
# "perl.exe").
PERL    = perl.exe

# Enable use of available compiler optimizations?
!ifndef OPTIMIZATIONS
OPTIMIZATIONS = 2
!endif

# Enable debugging symbols?
!ifndef DEBUG
DEBUG = 0
!endif
!ifdef FOSSIL_DEBUG
DEBUG = 1
!endif

# Build the OpenSSL libraries?
!ifndef FOSSIL_BUILD_SSL
FOSSIL_BUILD_SSL = 0
!endif

# Build the included zlib library?
!ifndef FOSSIL_BUILD_ZLIB
FOSSIL_BUILD_ZLIB = 1
!endif

# Link everything except SQLite dynamically?
!ifndef FOSSIL_DYNAMIC_BUILD
FOSSIL_DYNAMIC_BUILD = 0
!endif

# Enable relative paths in external diff/gdiff?
!ifndef FOSSIL_ENABLE_EXEC_REL_PATHS
FOSSIL_ENABLE_EXEC_REL_PATHS = 0
!endif

# Enable the JSON API?
!ifndef FOSSIL_ENABLE_JSON
FOSSIL_ENABLE_JSON = 0
!endif

# Enable OpenSSL support?
!ifndef FOSSIL_ENABLE_SSL
FOSSIL_ENABLE_SSL = 0
!endif

# Enable the Tcl integration subsystem?
!ifndef FOSSIL_ENABLE_TCL
FOSSIL_ENABLE_TCL = 0
!endif

# Enable TH1 scripts in embedded documentation files?
!ifndef FOSSIL_ENABLE_TH1_DOCS
FOSSIL_ENABLE_TH1_DOCS = 0
!endif

# Enable TH1 hooks for commands and web pages?
!ifndef FOSSIL_ENABLE_TH1_HOOKS
FOSSIL_ENABLE_TH1_HOOKS = 0
!endif

# Enable support for Windows XP with Visual Studio 201x?
!ifndef FOSSIL_ENABLE_WINXP
FOSSIL_ENABLE_WINXP = 0
!endif

# Enable support for the SQLite Encryption Extension?
!ifndef USE_SEE
USE_SEE = 0
!endif

!if $(FOSSIL_ENABLE_SSL)!=0
SSLDIR    = $(B)\compat\openssl
SSLINCDIR = $(SSLDIR)\include
!if $(FOSSIL_DYNAMIC_BUILD)!=0
SSLLIBDIR = $(SSLDIR)
!else
SSLLIBDIR = $(SSLDIR)
!endif
SSLLIB    = libssl.lib libcrypto.lib user32.lib gdi32.lib crypt32.lib
!if "$(PLATFORM)"=="amd64" || "$(PLATFORM)"=="x64"
!message Using 'x64' platform for OpenSSL...
SSLCONFIG = VC-WIN64A no-asm no-ssl3 no-weak-ssl-ciphers
!if $(FOSSIL_DYNAMIC_BUILD)!=0
SSLCONFIG = $(SSLCONFIG) shared
!else
SSLCONFIG = $(SSLCONFIG) no-shared
!endif
!elseif "$(PLATFORM)"=="ia64"
!message Using 'ia64' platform for OpenSSL...
SSLCONFIG = VC-WIN64I no-asm no-ssl3 no-weak-ssl-ciphers
!if $(FOSSIL_DYNAMIC_BUILD)!=0
SSLCONFIG = $(SSLCONFIG) shared
!else
SSLCONFIG = $(SSLCONFIG) no-shared
!endif
!else
!message Assuming 'x86' platform for OpenSSL...
SSLCONFIG = VC-WIN32 no-asm no-ssl3 no-weak-ssl-ciphers
!if $(FOSSIL_DYNAMIC_BUILD)!=0
SSLCONFIG = $(SSLCONFIG) shared
!else
SSLCONFIG = $(SSLCONFIG) no-shared
!endif
!endif
!endif

!if $(FOSSIL_ENABLE_TCL)!=0
TCLDIR    = $(B)\compat\tcl-8.6
TCLSRCDIR = $(TCLDIR)
TCLINCDIR = $(TCLSRCDIR)\generic
!endif

# zlib options
ZINCDIR   = $(B)\compat\zlib
ZLIBDIR   = $(B)\compat\zlib

!if $(FOSSIL_DYNAMIC_BUILD)!=0
ZLIB      = zdll.lib
!else
ZLIB      = zlib.lib
!endif

INCL      = /I. /I"$(OX)" /I"$(SRCDIR)" /I"$(SRCDIR_extsrc)" /I"$(B)\win\include"

INCL      = $(INCL) /I"$(ZINCDIR)"

!if $(FOSSIL_ENABLE_SSL)!=0
INCL      = $(INCL) /I"$(SSLINCDIR)"
!endif

!if $(FOSSIL_ENABLE_TCL)!=0
INCL      = $(INCL) /I"$(TCLINCDIR)"
!endif

CFLAGS    = /nologo /W2 /WX /utf-8
LDFLAGS   =

CFLAGS    = $(CFLAGS) /D_CRT_SECURE_NO_DEPRECATE /D_CRT_SECURE_NO_WARNINGS
CFLAGS    = $(CFLAGS) /D_CRT_NONSTDC_NO_DEPRECATE /D_CRT_NONSTDC_NO_WARNINGS

!if $(FOSSIL_DYNAMIC_BUILD)!=0
LDFLAGS   = $(LDFLAGS) /MANIFEST
!else
LDFLAGS   = $(LDFLAGS) /NODEFAULTLIB:msvcrt /MANIFEST:NO
!endif

!if $(FOSSIL_ENABLE_WINXP)!=0
XPCFLAGS  = $(XPCFLAGS) /D_WIN32_WINNT=0x0501 /D_USING_V110_SDK71_=1
CFLAGS    = $(CFLAGS) $(XPCFLAGS)
#
# NOTE: For regular builds, /OSVERSION defaults to the /SUBSYSTEM version and
# explicit initialization is redundant, but is required for post-built edits.
#
!if "$(PLATFORM)"=="amd64" || "$(PLATFORM)"=="x64"
XPLDFLAGS = $(XPLDFLAGS) /OSVERSION:5.02 /SUBSYSTEM:CONSOLE,5.02
!else
XPLDFLAGS = $(XPLDFLAGS) /OSVERSION:5.01 /SUBSYSTEM:CONSOLE,5.01
!endif
LDFLAGS   = $(LDFLAGS) $(XPLDFLAGS)
#
# NOTE: Only XPCFLAGS is forwarded to the OpenSSL configuration, and XPLDFLAGS
# is applied in a separate post-build step, see below for more information.
#
!if $(FOSSIL_ENABLE_SSL)!=0
SSLCONFIG = $(SSLCONFIG) $(XPCFLAGS)
!endif
!endif

!if $(FOSSIL_DYNAMIC_BUILD)!=0
!if $(DEBUG)!=0
CRTFLAGS = /MDd
!else
CRTFLAGS = /MD
!endif
!else
!if $(DEBUG)!=0
CRTFLAGS = /MTd
!else
CRTFLAGS = /MT
!endif
!endif

!if $(OPTIMIZATIONS)>3
RELOPTS = /Os
!elseif $(OPTIMIZATIONS)>2
RELOPTS = /Ox
!elseif $(OPTIMIZATIONS)>1
RELOPTS = /O2
!elseif $(OPTIMIZATIONS)>0
RELOPTS = /O1
!else
RELOPTS =
!endif

!if $(DEBUG)!=0
CFLAGS    = $(CFLAGS) /Zi $(CRTFLAGS) $(DBGOPTS) /DFOSSIL_DEBUG /DTH_MEMDEBUG
LDFLAGS   = $(LDFLAGS) /DEBUG
!else
CFLAGS    = $(CFLAGS) $(CRTFLAGS) $(RELOPTS)
!endif

BCC       = $(CC) $(CFLAGS)
TCC       = $(CC) /c $(CFLAGS) $(MSCDEF) $(INCL)
RCC       = $(RC) /D_WIN32 /D_MSC_VER $(MSCDEF) $(INCL)
MTC       = mt
LIBS      = ws2_32.lib advapi32.lib dnsapi.lib
LIBDIR    =

!if $(FOSSIL_DYNAMIC_BUILD)!=0
TCC       = $(TCC) /DFOSSIL_DYNAMIC_BUILD=1
RCC       = $(RCC) /DFOSSIL_DYNAMIC_BUILD=1
!endif

LIBS      = $(LIBS) $(ZLIB)
LIBDIR    = $(LIBDIR) /LIBPATH:"$(ZLIBDIR)"

!if $(FOSSIL_ENABLE_JSON)!=0
TCC       = $(TCC) /DFOSSIL_ENABLE_JSON=1
RCC       = $(RCC) /DFOSSIL_ENABLE_JSON=1
!endif

!if $(FOSSIL_ENABLE_SSL)!=0
TCC       = $(TCC) /DFOSSIL_ENABLE_SSL=1
RCC       = $(RCC) /DFOSSIL_ENABLE_SSL=1
LIBS      = $(LIBS) $(SSLLIB)
LIBDIR    = $(LIBDIR) /LIBPATH:"$(SSLLIBDIR)"
!endif

!if $(FOSSIL_ENABLE_EXEC_REL_PATHS)!=0
TCC       = $(TCC) /DFOSSIL_ENABLE_EXEC_REL_PATHS=1
RCC       = $(RCC) /DFOSSIL_ENABLE_EXEC_REL_PATHS=1
!endif

!if $(FOSSIL_ENABLE_TH1_DOCS)!=0
TCC       = $(TCC) /DFOSSIL_ENABLE_TH1_DOCS=1
RCC       = $(RCC) /DFOSSIL_ENABLE_TH1_DOCS=1
!endif

!if $(FOSSIL_ENABLE_TH1_HOOKS)!=0
TCC       = $(TCC) /DFOSSIL_ENABLE_TH1_HOOKS=1
RCC       = $(RCC) /DFOSSIL_ENABLE_TH1_HOOKS=1
!endif

!if $(FOSSIL_ENABLE_TCL)!=0
TCC       = $(TCC) /DFOSSIL_ENABLE_TCL=1
RCC       = $(RCC) /DFOSSIL_ENABLE_TCL=1
TCC       = $(TCC) /DFOSSIL_ENABLE_TCL_STUBS=1
RCC       = $(RCC) /DFOSSIL_ENABLE_TCL_STUBS=1
TCC       = $(TCC) /DFOSSIL_ENABLE_TCL_PRIVATE_STUBS=1
RCC       = $(RCC) /DFOSSIL_ENABLE_TCL_PRIVATE_STUBS=1
TCC       = $(TCC) /DUSE_TCL_STUBS=1
RCC       = $(RCC) /DUSE_TCL_STUBS=1
!endif

!if $(USE_SEE)!=0
TCC       = $(TCC) /DUSE_SEE=1
RCC       = $(RCC) /DUSE_SEE=1
!endif

SQLITE_OPTIONS = /DNDEBUG=1 \
                 /DSQLITE_DQS=0 \
                 /DSQLITE_THREADSAFE=0 \
                 /DSQLITE_DEFAULT_MEMSTATUS=0 \
                 /DSQLITE_DEFAULT_WAL_SYNCHRONOUS=1 \
                 /DSQLITE_LIKE_DOESNT_MATCH_BLOBS \
                 /DSQLITE_OMIT_DECLTYPE \
                 /DSQLITE_OMIT_DEPRECATED \
                 /DSQLITE_OMIT_PROGRESS_CALLBACK \
                 /DSQLITE_OMIT_SHARED_CACHE \
                 /DSQLITE_OMIT_LOAD_EXTENSION \
                 /DSQLITE_MAX_EXPR_DEPTH=0 \
                 /DSQLITE_ENABLE_LOCKING_STYLE=0 \
                 /DSQLITE_DEFAULT_FILE_FORMAT=4 \
                 /DSQLITE_ENABLE_EXPLAIN_COMMENTS \
                 /DSQLITE_ENABLE_FTS4 \
                 /DSQLITE_ENABLE_DBSTAT_VTAB \
                 /DSQLITE_ENABLE_FTS5 \
                 /DSQLITE_ENABLE_STMTVTAB \
                 /DSQLITE_HAVE_ZLIB \
                 /DSQLITE_ENABLE_DBPAGE_VTAB \
                 /DSQLITE_TRUSTED_SCHEMA=0 \
                 /DHAVE_USLEEP \
                 /DSQLITE_WIN32_NO_ANSI

SHELL_OPTIONS = /DNDEBUG=1 \
                /DSQLITE_DQS=0 \
                /DSQLITE_THREADSAFE=0 \
                /DSQLITE_DEFAULT_MEMSTATUS=0 \
                /DSQLITE_DEFAULT_WAL_SYNCHRONOUS=1 \
                /DSQLITE_LIKE_DOESNT_MATCH_BLOBS \
                /DSQLITE_OMIT_DECLTYPE \
                /DSQLITE_OMIT_DEPRECATED \
                /DSQLITE_OMIT_PROGRESS_CALLBACK \
                /DSQLITE_OMIT_SHARED_CACHE \
                /DSQLITE_OMIT_LOAD_EXTENSION \
                /DSQLITE_MAX_EXPR_DEPTH=0 \
                /DSQLITE_ENABLE_LOCKING_STYLE=0 \
                /DSQLITE_DEFAULT_FILE_FORMAT=4 \
                /DSQLITE_ENABLE_EXPLAIN_COMMENTS \
                /DSQLITE_ENABLE_FTS4 \
                /DSQLITE_ENABLE_DBSTAT_VTAB \
                /DSQLITE_ENABLE_FTS5 \
                /DSQLITE_ENABLE_STMTVTAB \
                /DSQLITE_HAVE_ZLIB \
                /DSQLITE_ENABLE_DBPAGE_VTAB \
                /DSQLITE_TRUSTED_SCHEMA=0 \
                /DHAVE_USLEEP \
                /Dmain=sqlite3_shell \
                /DSQLITE_SHELL_IS_UTF8=1 \
                /DSQLITE_OMIT_LOAD_EXTENSION=1 \
                /DUSE_SYSTEM_SQLITE=$(USE_SYSTEM_SQLITE) \
                /DSQLITE_SHELL_DBNAME_PROC=sqlcmd_get_dbname \
                /DSQLITE_SHELL_INIT_PROC=sqlcmd_init_proc \
                /Daccess=file_access \
                /Dsystem=fossil_system \
                /Dgetenv=fossil_getenv \
                /Dfopen=fossil_fopen

PIKCHR_OPTIONS = /DPIKCHR_TOKEN_LIMIT=10000

SRC   = "$(OX)\add_.c" \
        "$(OX)\ajax_.c" \
        "$(OX)\alerts_.c" \
        "$(OX)\allrepo_.c" \
        "$(OX)\attach_.c" \
        "$(OX)\backlink_.c" \
        "$(OX)\backoffice_.c" \
        "$(OX)\bag_.c" \
        "$(OX)\bisect_.c" \
        "$(OX)\blob_.c" \
        "$(OX)\branch_.c" \
        "$(OX)\browse_.c" \
        "$(OX)\builtin_.c" \
        "$(OX)\bundle_.c" \
        "$(OX)\cache_.c" \
        "$(OX)\capabilities_.c" \
        "$(OX)\captcha_.c" \
        "$(OX)\cgi_.c" \
        "$(OX)\chat_.c" \
        "$(OX)\checkin_.c" \
        "$(OX)\checkout_.c" \
        "$(OX)\clearsign_.c" \
        "$(OX)\clone_.c" \
        "$(OX)\color_.c" \
        "$(OX)\comformat_.c" \
        "$(OX)\configure_.c" \
        "$(OX)\content_.c" \
        "$(OX)\cookies_.c" \
        "$(OX)\db_.c" \
        "$(OX)\delta_.c" \
        "$(OX)\deltacmd_.c" \
        "$(OX)\deltafunc_.c" \
        "$(OX)\descendants_.c" \
        "$(OX)\diff_.c" \
        "$(OX)\diffcmd_.c" \
        "$(OX)\dispatch_.c" \
        "$(OX)\doc_.c" \
        "$(OX)\encode_.c" \
        "$(OX)\etag_.c" \
        "$(OX)\event_.c" \
        "$(OX)\export_.c" \
        "$(OX)\extcgi_.c" \
        "$(OX)\file_.c" \
        "$(OX)\fileedit_.c" \
        "$(OX)\finfo_.c" \
        "$(OX)\foci_.c" \
        "$(OX)\forum_.c" \
        "$(OX)\fshell_.c" \
        "$(OX)\fusefs_.c" \
        "$(OX)\fuzz_.c" \
        "$(OX)\glob_.c" \
        "$(OX)\graph_.c" \
        "$(OX)\gzip_.c" \
        "$(OX)\hname_.c" \
        "$(OX)\hook_.c" \
        "$(OX)\http_.c" \
        "$(OX)\http_socket_.c" \
        "$(OX)\http_ssl_.c" \
        "$(OX)\http_transport_.c" \
        "$(OX)\import_.c" \
        "$(OX)\info_.c" \
        "$(OX)\interwiki_.c" \
        "$(OX)\json_.c" \
        "$(OX)\json_artifact_.c" \
        "$(OX)\json_branch_.c" \
        "$(OX)\json_config_.c" \
        "$(OX)\json_diff_.c" \
        "$(OX)\json_dir_.c" \
        "$(OX)\json_finfo_.c" \
        "$(OX)\json_login_.c" \
        "$(OX)\json_query_.c" \
        "$(OX)\json_report_.c" \
        "$(OX)\json_status_.c" \
        "$(OX)\json_tag_.c" \
        "$(OX)\json_timeline_.c" \
        "$(OX)\json_user_.c" \
        "$(OX)\json_wiki_.c" \
        "$(OX)\leaf_.c" \
        "$(OX)\loadctrl_.c" \
        "$(OX)\login_.c" \
        "$(OX)\lookslike_.c" \
        "$(OX)\main_.c" \
        "$(OX)\manifest_.c" \
        "$(OX)\markdown_.c" \
        "$(OX)\markdown_html_.c" \
        "$(OX)\md5_.c" \
        "$(OX)\merge_.c" \
        "$(OX)\merge3_.c" \
        "$(OX)\moderate_.c" \
        "$(OX)\name_.c" \
        "$(OX)\patch_.c" \
        "$(OX)\path_.c" \
        "$(OX)\piechart_.c" \
        "$(OX)\pikchrshow_.c" \
        "$(OX)\pivot_.c" \
        "$(OX)\popen_.c" \
        "$(OX)\pqueue_.c" \
        "$(OX)\printf_.c" \
        "$(OX)\publish_.c" \
        "$(OX)\purge_.c" \
        "$(OX)\rebuild_.c" \
        "$(OX)\regexp_.c" \
        "$(OX)\repolist_.c" \
        "$(OX)\report_.c" \
        "$(OX)\rss_.c" \
        "$(OX)\schema_.c" \
        "$(OX)\search_.c" \
        "$(OX)\security_audit_.c" \
        "$(OX)\setup_.c" \
        "$(OX)\setupuser_.c" \
        "$(OX)\sha1_.c" \
        "$(OX)\sha1hard_.c" \
        "$(OX)\sha3_.c" \
        "$(OX)\shun_.c" \
        "$(OX)\sitemap_.c" \
        "$(OX)\skins_.c" \
        "$(OX)\smtp_.c" \
        "$(OX)\sqlcmd_.c" \
        "$(OX)\stash_.c" \
        "$(OX)\stat_.c" \
        "$(OX)\statrep_.c" \
        "$(OX)\style_.c" \
        "$(OX)\sync_.c" \
        "$(OX)\tag_.c" \
        "$(OX)\tar_.c" \
        "$(OX)\terminal_.c" \
        "$(OX)\th_main_.c" \
        "$(OX)\timeline_.c" \
        "$(OX)\tkt_.c" \
        "$(OX)\tktsetup_.c" \
        "$(OX)\undo_.c" \
        "$(OX)\unicode_.c" \
        "$(OX)\unversioned_.c" \
        "$(OX)\update_.c" \
        "$(OX)\url_.c" \
        "$(OX)\user_.c" \
        "$(OX)\utf8_.c" \
        "$(OX)\util_.c" \
        "$(OX)\verify_.c" \
        "$(OX)\vfile_.c" \
        "$(OX)\wiki_.c" \
        "$(OX)\wikiformat_.c" \
        "$(OX)\winfile_.c" \
        "$(OX)\winhttp_.c" \
        "$(OX)\xfer_.c" \
        "$(OX)\xfersetup_.c" \
        "$(OX)\zip_.c" \
        "$(SRCDIR_extsrc)\pikchr.c"

EXTRA_FILES   = "$(SRCDIR)\..\extsrc\pikchr-worker.js" \
        "$(SRCDIR)\..\extsrc\pikchr.js" \
        "$(SRCDIR)\..\extsrc\pikchr.wasm" \
        "$(SRCDIR)\..\skins\ardoise\css.txt" \
        "$(SRCDIR)\..\skins\ardoise\details.txt" \
        "$(SRCDIR)\..\skins\ardoise\footer.txt" \
        "$(SRCDIR)\..\skins\ardoise\header.txt" \
        "$(SRCDIR)\..\skins\black_and_white\css.txt" \
        "$(SRCDIR)\..\skins\black_and_white\details.txt" \
        "$(SRCDIR)\..\skins\black_and_white\footer.txt" \
        "$(SRCDIR)\..\skins\black_and_white\header.txt" \
        "$(SRCDIR)\..\skins\blitz\css.txt" \
        "$(SRCDIR)\..\skins\blitz\details.txt" \
        "$(SRCDIR)\..\skins\blitz\footer.txt" \
        "$(SRCDIR)\..\skins\blitz\header.txt" \
        "$(SRCDIR)\..\skins\blitz\ticket.txt" \
        "$(SRCDIR)\..\skins\darkmode\css.txt" \
        "$(SRCDIR)\..\skins\darkmode\details.txt" \
        "$(SRCDIR)\..\skins\darkmode\footer.txt" \
        "$(SRCDIR)\..\skins\darkmode\header.txt" \
        "$(SRCDIR)\..\skins\default\css.txt" \
        "$(SRCDIR)\..\skins\default\details.txt" \
        "$(SRCDIR)\..\skins\default\footer.txt" \
        "$(SRCDIR)\..\skins\default\header.txt" \
        "$(SRCDIR)\..\skins\eagle\css.txt" \
        "$(SRCDIR)\..\skins\eagle\details.txt" \
        "$(SRCDIR)\..\skins\eagle\footer.txt" \
        "$(SRCDIR)\..\skins\eagle\header.txt" \
        "$(SRCDIR)\..\skins\khaki\css.txt" \
        "$(SRCDIR)\..\skins\khaki\details.txt" \
        "$(SRCDIR)\..\skins\khaki\footer.txt" \
        "$(SRCDIR)\..\skins\khaki\header.txt" \
        "$(SRCDIR)\..\skins\original\css.txt" \
        "$(SRCDIR)\..\skins\original\details.txt" \
        "$(SRCDIR)\..\skins\original\footer.txt" \
        "$(SRCDIR)\..\skins\original\header.txt" \
        "$(SRCDIR)\..\skins\plain_gray\css.txt" \
        "$(SRCDIR)\..\skins\plain_gray\details.txt" \
        "$(SRCDIR)\..\skins\plain_gray\footer.txt" \
        "$(SRCDIR)\..\skins\plain_gray\header.txt" \
        "$(SRCDIR)\..\skins\xekri\css.txt" \
        "$(SRCDIR)\..\skins\xekri\details.txt" \
        "$(SRCDIR)\..\skins\xekri\footer.txt" \
        "$(SRCDIR)\..\skins\xekri\header.txt" \
        "$(SRCDIR)\accordion.js" \
        "$(SRCDIR)\alerts\bflat2.wav" \
        "$(SRCDIR)\alerts\bflat3.wav" \
        "$(SRCDIR)\alerts\bloop.wav" \
        "$(SRCDIR)\alerts\plunk.wav" \
        "$(SRCDIR)\ci_edit.js" \
        "$(SRCDIR)\copybtn.js" \
        "$(SRCDIR)\default.css" \
        "$(SRCDIR)\diff.js" \
        "$(SRCDIR)\diff.tcl" \
        "$(SRCDIR)\forum.js" \
        "$(SRCDIR)\fossil.bootstrap.js" \
        "$(SRCDIR)\fossil.confirmer.js" \
        "$(SRCDIR)\fossil.copybutton.js" \
        "$(SRCDIR)\fossil.diff.js" \
        "$(SRCDIR)\fossil.dom.js" \
        "$(SRCDIR)\fossil.fetch.js" \
        "$(SRCDIR)\fossil.numbered-lines.js" \
        "$(SRCDIR)\fossil.page.brlist.js" \
        "$(SRCDIR)\fossil.page.chat.js" \
        "$(SRCDIR)\fossil.page.fileedit.js" \
        "$(SRCDIR)\fossil.page.forumpost.js" \
        "$(SRCDIR)\fossil.page.pikchrshow.js" \
        "$(SRCDIR)\fossil.page.pikchrshowasm.js" \
        "$(SRCDIR)\fossil.page.whistory.js" \
        "$(SRCDIR)\fossil.page.wikiedit.js" \
        "$(SRCDIR)\fossil.pikchr.js" \
        "$(SRCDIR)\fossil.popupwidget.js" \
        "$(SRCDIR)\fossil.storage.js" \
        "$(SRCDIR)\fossil.tabs.js" \
        "$(SRCDIR)\fossil.wikiedit-wysiwyg.js" \
        "$(SRCDIR)\graph.js" \
        "$(SRCDIR)\hbmenu.js" \
        "$(SRCDIR)\href.js" \
        "$(SRCDIR)\login.js" \
        "$(SRCDIR)\markdown.md" \
        "$(SRCDIR)\menu.js" \
        "$(SRCDIR)\scroll.js" \
        "$(SRCDIR)\skin.js" \
        "$(SRCDIR)\sorttable.js" \
        "$(SRCDIR)\sounds\0.wav" \
        "$(SRCDIR)\sounds\1.wav" \
        "$(SRCDIR)\sounds\2.wav" \
        "$(SRCDIR)\sounds\3.wav" \
        "$(SRCDIR)\sounds\4.wav" \
        "$(SRCDIR)\sounds\5.wav" \
        "$(SRCDIR)\sounds\6.wav" \
        "$(SRCDIR)\sounds\7.wav" \
        "$(SRCDIR)\sounds\8.wav" \
        "$(SRCDIR)\sounds\9.wav" \
        "$(SRCDIR)\sounds\a.wav" \
        "$(SRCDIR)\sounds\b.wav" \
        "$(SRCDIR)\sounds\c.wav" \
        "$(SRCDIR)\sounds\d.wav" \
        "$(SRCDIR)\sounds\e.wav" \
        "$(SRCDIR)\sounds\f.wav" \
        "$(SRCDIR)\style.admin_log.css" \
        "$(SRCDIR)\style.chat.css" \
        "$(SRCDIR)\style.fileedit.css" \
        "$(SRCDIR)\style.pikchrshow.css" \
        "$(SRCDIR)\style.wikiedit.css" \
        "$(SRCDIR)\tree.js" \
        "$(SRCDIR)\useredit.js" \
        "$(SRCDIR)\wiki.wiki"

OBJ   = "$(OX)\add$O" \
        "$(OX)\ajax$O" \
        "$(OX)\alerts$O" \
        "$(OX)\allrepo$O" \
        "$(OX)\attach$O" \
        "$(OX)\backlink$O" \
        "$(OX)\backoffice$O" \
        "$(OX)\bag$O" \
        "$(OX)\bisect$O" \
        "$(OX)\blob$O" \
        "$(OX)\branch$O" \
        "$(OX)\browse$O" \
        "$(OX)\builtin$O" \
        "$(OX)\bundle$O" \
        "$(OX)\cache$O" \
        "$(OX)\capabilities$O" \
        "$(OX)\captcha$O" \
        "$(OX)\cgi$O" \
        "$(OX)\chat$O" \
        "$(OX)\checkin$O" \
        "$(OX)\checkout$O" \
        "$(OX)\clearsign$O" \
        "$(OX)\clone$O" \
        "$(OX)\color$O" \
        "$(OX)\comformat$O" \
        "$(OX)\configure$O" \
        "$(OX)\content$O" \
        "$(OX)\cookies$O" \
        "$(OX)\cson_amalgamation$O" \
        "$(OX)\db$O" \
        "$(OX)\delta$O" \
        "$(OX)\deltacmd$O" \
        "$(OX)\deltafunc$O" \
        "$(OX)\descendants$O" \
        "$(OX)\diff$O" \
        "$(OX)\diffcmd$O" \
        "$(OX)\dispatch$O" \
        "$(OX)\doc$O" \
        "$(OX)\encode$O" \
        "$(OX)\etag$O" \
        "$(OX)\event$O" \
        "$(OX)\export$O" \
        "$(OX)\extcgi$O" \
        "$(OX)\file$O" \
        "$(OX)\fileedit$O" \
        "$(OX)\finfo$O" \
        "$(OX)\foci$O" \
        "$(OX)\forum$O" \
        "$(OX)\fshell$O" \
        "$(OX)\fusefs$O" \
        "$(OX)\fuzz$O" \
        "$(OX)\glob$O" \
        "$(OX)\graph$O" \
        "$(OX)\gzip$O" \
        "$(OX)\hname$O" \
        "$(OX)\hook$O" \
        "$(OX)\http$O" \
        "$(OX)\http_socket$O" \
        "$(OX)\http_ssl$O" \
        "$(OX)\http_transport$O" \
        "$(OX)\import$O" \
        "$(OX)\info$O" \
        "$(OX)\interwiki$O" \
        "$(OX)\json$O" \
        "$(OX)\json_artifact$O" \
        "$(OX)\json_branch$O" \
        "$(OX)\json_config$O" \
        "$(OX)\json_diff$O" \
        "$(OX)\json_dir$O" \
        "$(OX)\json_finfo$O" \
        "$(OX)\json_login$O" \
        "$(OX)\json_query$O" \
        "$(OX)\json_report$O" \
        "$(OX)\json_status$O" \
        "$(OX)\json_tag$O" \
        "$(OX)\json_timeline$O" \
        "$(OX)\json_user$O" \
        "$(OX)\json_wiki$O" \
        "$(OX)\leaf$O" \
        "$(OX)\loadctrl$O" \
        "$(OX)\login$O" \
        "$(OX)\lookslike$O" \
        "$(OX)\main$O" \
        "$(OX)\manifest$O" \
        "$(OX)\markdown$O" \
        "$(OX)\markdown_html$O" \
        "$(OX)\md5$O" \
        "$(OX)\merge$O" \
        "$(OX)\merge3$O" \
        "$(OX)\moderate$O" \
        "$(OX)\name$O" \
        "$(OX)\patch$O" \
        "$(OX)\path$O" \
        "$(OX)\piechart$O" \
        "$(OX)\pikchr$O" \
        "$(OX)\pikchrshow$O" \
        "$(OX)\pivot$O" \
        "$(OX)\popen$O" \
        "$(OX)\pqueue$O" \
        "$(OX)\printf$O" \
        "$(OX)\publish$O" \
        "$(OX)\purge$O" \
        "$(OX)\rebuild$O" \
        "$(OX)\regexp$O" \
        "$(OX)\repolist$O" \
        "$(OX)\report$O" \
        "$(OX)\rss$O" \
        "$(OX)\schema$O" \
        "$(OX)\search$O" \
        "$(OX)\security_audit$O" \
        "$(OX)\setup$O" \
        "$(OX)\setupuser$O" \
        "$(OX)\sha1$O" \
        "$(OX)\sha1hard$O" \
        "$(OX)\sha3$O" \
        "$(OX)\shell$O" \
        "$(OX)\shun$O" \
        "$(OX)\sitemap$O" \
        "$(OX)\skins$O" \
        "$(OX)\smtp$O" \
        "$(OX)\sqlcmd$O" \
        "$(OX)\sqlite3$O" \
        "$(OX)\stash$O" \
        "$(OX)\stat$O" \
        "$(OX)\statrep$O" \
        "$(OX)\style$O" \
        "$(OX)\sync$O" \
        "$(OX)\tag$O" \
        "$(OX)\tar$O" \
        "$(OX)\terminal$O" \
        "$(OX)\th$O" \
        "$(OX)\th_lang$O" \
        "$(OX)\th_main$O" \
        "$(OX)\th_tcl$O" \
        "$(OX)\timeline$O" \
        "$(OX)\tkt$O" \
        "$(OX)\tktsetup$O" \
        "$(OX)\undo$O" \
        "$(OX)\unicode$O" \
        "$(OX)\unversioned$O" \
        "$(OX)\update$O" \
        "$(OX)\url$O" \
        "$(OX)\user$O" \
        "$(OX)\utf8$O" \
        "$(OX)\util$O" \
        "$(OX)\verify$O" \
        "$(OX)\vfile$O" \
        "$(OX)\wiki$O" \
        "$(OX)\wikiformat$O" \
        "$(OX)\winfile$O" \
        "$(OX)\winhttp$O" \
        "$(OX)\xfer$O" \
        "$(OX)\xfersetup$O" \
        "$(OX)\zip$O" \
        "$(OX)\fossil.res"


!ifndef BASEAPPNAME
BASEAPPNAME = fossil
!endif

APPNAME     = $(OX)\$(BASEAPPNAME)$(E)
PDBNAME     = $(OX)\$(BASEAPPNAME)$(P)
APPTARGETS  =

all: "$(OX)" "$(APPNAME)"

$(BASEAPPNAME): "$(APPNAME)"

$(BASEAPPNAME)$(E): "$(APPNAME)"

install: "$(APPNAME)"
	echo F | xcopy /Y "$(APPNAME)" "$(INSTALLDIR)"\*
!if $(DEBUG)!=0
	echo F | xcopy /Y "$(PDBNAME)" "$(INSTALLDIR)"\*
!endif

$(OX):
	@-mkdir $@

zlib:
	@echo Building zlib from "$(ZLIBDIR)"...
!if $(FOSSIL_ENABLE_WINXP)!=0
	@pushd "$(ZLIBDIR)" && $(MAKE) /f win32\Makefile.msc $(ZLIB) "CC=cl $(XPCFLAGS)" "LD=link $(XPLDFLAGS)" && popd
!else
	@pushd "$(ZLIBDIR)" && $(MAKE) /f win32\Makefile.msc $(ZLIB) && popd
!endif

clean-zlib:
	@pushd "$(ZLIBDIR)" && $(MAKE) /f win32\Makefile.msc clean && popd

!if $(FOSSIL_ENABLE_SSL)!=0
openssl:
	@echo Building OpenSSL from "$(SSLDIR)"...
!if $(FOSSIL_ENABLE_WINXP)!=0
	@echo Passing XPCFLAGS = [ $(XPCFLAGS) ] to the OpenSSL configuration...
!endif
!ifdef PERLDIR
	@pushd "$(SSLDIR)" && "$(PERLDIR)\$(PERL)" Configure $(SSLCONFIG) && popd
!else
	@pushd "$(SSLDIR)" && "$(PERL)" Configure $(SSLCONFIG) && popd
!endif
	@pushd "$(SSLDIR)" && $(MAKE) && popd
!if $(FOSSIL_ENABLE_WINXP)!=0 && $(FOSSIL_DYNAMIC_BUILD)!=0
#
# NOTE: Appending custom linker flags to the OpenSSL default linker flags is
# somewhat difficult, as summarized in this Fossil Forum post:
#
#   https://fossil-scm.org/forum/forumpost/a9a2d6af28b
#
# Therefore the custom linker flags required for Windows XP dynamic builds are
# applied in a separate post-build step.
#
# If the build stops here, or if the custom linker flags are outside the scope
# of `editbin` or `link /EDIT` (i.e. additional libraries), consider tweaking
# the OpenSSL makefile by hand.
#
# Also note that this step changes the subsystem for the OpenSSL DLLs from
# WINDOWS to CONSOLE, but which has no effect on DLLs.
#
	@echo Applying XPLDFLAGS = [ $(XPLDFLAGS) ] to the OpenSSL DLLs...
	@for /F "usebackq delims=" %F in (`dir /A:-D/B "$(SSLDIR)\*.dll" 2^>nul`) \
		do @( \
			echo %F & \
			link /EDIT /NOLOGO $(XPLDFLAGS) "$(SSLDIR)\%F" || exit 1 \
		)
!endif

clean-openssl:
	@pushd "$(SSLDIR)" && $(MAKE) clean && popd
!endif

!if $(FOSSIL_BUILD_ZLIB)!=0
APPTARGETS = $(APPTARGETS) zlib
!endif

!if $(FOSSIL_ENABLE_SSL)!=0
!if $(FOSSIL_BUILD_SSL)!=0
APPTARGETS = $(APPTARGETS) openssl
!endif
!endif

"$(APPNAME)" : $(APPTARGETS) "$(OBJDIR)\translate$E" "$(OBJDIR)\mkindex$E" "$(OBJDIR)\codecheck1$E" "$(OX)\headers" $(OBJ) "$(OX)\linkopts"
	"$(OBJDIR)\codecheck1$E" $(SRC)
	link $(LDFLAGS) /OUT:$@ /PDB:$(@D)\ $(LIBDIR) Wsetargv.obj "$(OX)\fossil.res" @"$(OX)\linkopts"
	if exist "$(B)\win\fossil.exe.manifest" \
		$(MTC) -nologo -manifest "$(B)\win\fossil.exe.manifest" -outputresource:$@;1

"$(OX)\linkopts": "$(B)\win\Makefile.msc"
	echo "$(OX)\add.obj" > $@
	echo "$(OX)\ajax.obj" >> $@
	echo "$(OX)\alerts.obj" >> $@
	echo "$(OX)\allrepo.obj" >> $@
	echo "$(OX)\attach.obj" >> $@
	echo "$(OX)\backlink.obj" >> $@
	echo "$(OX)\backoffice.obj" >> $@
	echo "$(OX)\bag.obj" >> $@
	echo "$(OX)\bisect.obj" >> $@
	echo "$(OX)\blob.obj" >> $@
	echo "$(OX)\branch.obj" >> $@
	echo "$(OX)\browse.obj" >> $@
	echo "$(OX)\builtin.obj" >> $@
	echo "$(OX)\bundle.obj" >> $@
	echo "$(OX)\cache.obj" >> $@
	echo "$(OX)\capabilities.obj" >> $@
	echo "$(OX)\captcha.obj" >> $@
	echo "$(OX)\cgi.obj" >> $@
	echo "$(OX)\chat.obj" >> $@
	echo "$(OX)\checkin.obj" >> $@
	echo "$(OX)\checkout.obj" >> $@
	echo "$(OX)\clearsign.obj" >> $@
	echo "$(OX)\clone.obj" >> $@
	echo "$(OX)\color.obj" >> $@
	echo "$(OX)\comformat.obj" >> $@
	echo "$(OX)\configure.obj" >> $@
	echo "$(OX)\content.obj" >> $@
	echo "$(OX)\cookies.obj" >> $@
	echo "$(OX)\cson_amalgamation.obj" >> $@
	echo "$(OX)\db.obj" >> $@
	echo "$(OX)\delta.obj" >> $@
	echo "$(OX)\deltacmd.obj" >> $@
	echo "$(OX)\deltafunc.obj" >> $@
	echo "$(OX)\descendants.obj" >> $@
	echo "$(OX)\diff.obj" >> $@
	echo "$(OX)\diffcmd.obj" >> $@
	echo "$(OX)\dispatch.obj" >> $@
	echo "$(OX)\doc.obj" >> $@
	echo "$(OX)\encode.obj" >> $@
	echo "$(OX)\etag.obj" >> $@
	echo "$(OX)\event.obj" >> $@
	echo "$(OX)\export.obj" >> $@
	echo "$(OX)\extcgi.obj" >> $@
	echo "$(OX)\file.obj" >> $@
	echo "$(OX)\fileedit.obj" >> $@
	echo "$(OX)\finfo.obj" >> $@
	echo "$(OX)\foci.obj" >> $@
	echo "$(OX)\forum.obj" >> $@
	echo "$(OX)\fshell.obj" >> $@
	echo "$(OX)\fusefs.obj" >> $@
	echo "$(OX)\fuzz.obj" >> $@
	echo "$(OX)\glob.obj" >> $@
	echo "$(OX)\graph.obj" >> $@
	echo "$(OX)\gzip.obj" >> $@
	echo "$(OX)\hname.obj" >> $@
	echo "$(OX)\hook.obj" >> $@
	echo "$(OX)\http.obj" >> $@
	echo "$(OX)\http_socket.obj" >> $@
	echo "$(OX)\http_ssl.obj" >> $@
	echo "$(OX)\http_transport.obj" >> $@
	echo "$(OX)\import.obj" >> $@
	echo "$(OX)\info.obj" >> $@
	echo "$(OX)\interwiki.obj" >> $@
	echo "$(OX)\json.obj" >> $@
	echo "$(OX)\json_artifact.obj" >> $@
	echo "$(OX)\json_branch.obj" >> $@
	echo "$(OX)\json_config.obj" >> $@
	echo "$(OX)\json_diff.obj" >> $@
	echo "$(OX)\json_dir.obj" >> $@
	echo "$(OX)\json_finfo.obj" >> $@
	echo "$(OX)\json_login.obj" >> $@
	echo "$(OX)\json_query.obj" >> $@
	echo "$(OX)\json_report.obj" >> $@
	echo "$(OX)\json_status.obj" >> $@
	echo "$(OX)\json_tag.obj" >> $@
	echo "$(OX)\json_timeline.obj" >> $@
	echo "$(OX)\json_user.obj" >> $@
	echo "$(OX)\json_wiki.obj" >> $@
	echo "$(OX)\leaf.obj" >> $@
	echo "$(OX)\loadctrl.obj" >> $@
	echo "$(OX)\login.obj" >> $@
	echo "$(OX)\lookslike.obj" >> $@
	echo "$(OX)\main.obj" >> $@
	echo "$(OX)\manifest.obj" >> $@
	echo "$(OX)\markdown.obj" >> $@
	echo "$(OX)\markdown_html.obj" >> $@
	echo "$(OX)\md5.obj" >> $@
	echo "$(OX)\merge.obj" >> $@
	echo "$(OX)\merge3.obj" >> $@
	echo "$(OX)\moderate.obj" >> $@
	echo "$(OX)\name.obj" >> $@
	echo "$(OX)\patch.obj" >> $@
	echo "$(OX)\path.obj" >> $@
	echo "$(OX)\piechart.obj" >> $@
	echo "$(OX)\pikchr.obj" >> $@
	echo "$(OX)\pikchrshow.obj" >> $@
	echo "$(OX)\pivot.obj" >> $@
	echo "$(OX)\popen.obj" >> $@
	echo "$(OX)\pqueue.obj" >> $@
	echo "$(OX)\printf.obj" >> $@
	echo "$(OX)\publish.obj" >> $@
	echo "$(OX)\purge.obj" >> $@
	echo "$(OX)\rebuild.obj" >> $@
	echo "$(OX)\regexp.obj" >> $@
	echo "$(OX)\repolist.obj" >> $@
	echo "$(OX)\report.obj" >> $@
	echo "$(OX)\rss.obj" >> $@
	echo "$(OX)\schema.obj" >> $@
	echo "$(OX)\search.obj" >> $@
	echo "$(OX)\security_audit.obj" >> $@
	echo "$(OX)\setup.obj" >> $@
	echo "$(OX)\setupuser.obj" >> $@
	echo "$(OX)\sha1.obj" >> $@
	echo "$(OX)\sha1hard.obj" >> $@
	echo "$(OX)\sha3.obj" >> $@
	echo "$(OX)\shell.obj" >> $@
	echo "$(OX)\shun.obj" >> $@
	echo "$(OX)\sitemap.obj" >> $@
	echo "$(OX)\skins.obj" >> $@
	echo "$(OX)\smtp.obj" >> $@
	echo "$(OX)\sqlcmd.obj" >> $@
	echo "$(OX)\sqlite3.obj" >> $@
	echo "$(OX)\stash.obj" >> $@
	echo "$(OX)\stat.obj" >> $@
	echo "$(OX)\statrep.obj" >> $@
	echo "$(OX)\style.obj" >> $@
	echo "$(OX)\sync.obj" >> $@
	echo "$(OX)\tag.obj" >> $@
	echo "$(OX)\tar.obj" >> $@
	echo "$(OX)\terminal.obj" >> $@
	echo "$(OX)\th.obj" >> $@
	echo "$(OX)\th_lang.obj" >> $@
	echo "$(OX)\th_main.obj" >> $@
	echo "$(OX)\th_tcl.obj" >> $@
	echo "$(OX)\timeline.obj" >> $@
	echo "$(OX)\tkt.obj" >> $@
	echo "$(OX)\tktsetup.obj" >> $@
	echo "$(OX)\undo.obj" >> $@
	echo "$(OX)\unicode.obj" >> $@
	echo "$(OX)\unversioned.obj" >> $@
	echo "$(OX)\update.obj" >> $@
	echo "$(OX)\url.obj" >> $@
	echo "$(OX)\user.obj" >> $@
	echo "$(OX)\utf8.obj" >> $@
	echo "$(OX)\util.obj" >> $@
	echo "$(OX)\verify.obj" >> $@
	echo "$(OX)\vfile.obj" >> $@
	echo "$(OX)\wiki.obj" >> $@
	echo "$(OX)\wikiformat.obj" >> $@
	echo "$(OX)\winfile.obj" >> $@
	echo "$(OX)\winhttp.obj" >> $@
	echo "$(OX)\xfer.obj" >> $@
	echo "$(OX)\xfersetup.obj" >> $@
	echo "$(OX)\zip.obj" >> $@
	echo $(LIBS) >> $@

"$(OBJDIR)\translate$E": "$(SRCDIR_tools)\translate.c"
	$(BCC) /Fe$@ /Fo$(@D)\ /Fd$(@D)\ $**

"$(OBJDIR)\makeheaders$E": "$(SRCDIR_tools)\makeheaders.c"
	$(BCC) /Fe$@ /Fo$(@D)\ /Fd$(@D)\ $**

"$(OBJDIR)\mkindex$E": "$(SRCDIR_tools)\mkindex.c"
	$(BCC) /Fe$@ /Fo$(@D)\ /Fd$(@D)\ $**

"$(OBJDIR)\mkbuiltin$E": "$(SRCDIR_tools)\mkbuiltin.c"
	$(BCC) /Fe$@ /Fo$(@D)\ /Fd$(@D)\ $**

"$(OBJDIR)\mkversion$E": "$(SRCDIR_tools)\mkversion.c"
	$(BCC) /Fe$@ /Fo$(@D)\ /Fd$(@D)\ $**

"$(OBJDIR)\codecheck1$E": "$(SRCDIR_tools)\codecheck1.c"
	$(BCC) /Fe$@ /Fo$(@D)\ /Fd$(@D)\ $**

!if $(USE_SEE)!=0
SEE_FLAGS = /DSQLITE_HAS_CODEC=1 /DSQLITE_SHELL_DBKEY_PROC=fossil_key
SQLITE3_SHELL_SRC = $(SRCDIR)\shell-see.c
SQLITE3_SRC = $(SRCDIR_extsrc)\sqlite3-see.c
!else
SEE_FLAGS =
SQLITE3_SHELL_SRC = $(SRCDIR_extsrc)\shell.c
SQLITE3_SRC = $(SRCDIR_extsrc)\sqlite3.c
!endif

"$(OX)\shell$O" : "$(SQLITE3_SHELL_SRC)" "$(B)\win\Makefile.msc"
	$(TCC) /Fo$@ /Fd$(@D)\ $(SHELL_OPTIONS) $(SQLITE_OPTIONS) $(SHELL_CFLAGS) $(SEE_FLAGS) -c "$(SQLITE3_SHELL_SRC)"

"$(OX)\sqlite3$O" : "$(SQLITE3_SRC)" "$(B)\win\Makefile.msc"
	$(TCC) /Fo$@ /Fd$(@D)\ -c $(SQLITE_OPTIONS) $(SQLITE_CFLAGS) $(SEE_FLAGS) "$(SQLITE3_SRC)"

"$(OX)\th$O" : "$(SRCDIR)\th.c"
	$(TCC) /Fo$@ /Fd$(@D)\ -c $**

"$(OX)\th_lang$O" : "$(SRCDIR)\th_lang.c"
	$(TCC) /Fo$@ /Fd$(@D)\ -c $**

"$(OX)\th_tcl$O" : "$(SRCDIR)\th_tcl.c"
	$(TCC) /Fo$@ /Fd$(@D)\ -c $**

"$(OX)\pikchr$O" : "$(SRCDIR_extsrc)\pikchr.c"
	$(TCC) $(PIKCHR_OPTIONS) /Fo$@ /Fd$(@D)\ -c $**

"$(OX)\VERSION.h" : "$(OBJDIR)\mkversion$E" "$(B)\manifest.uuid" "$(B)\manifest" "$(B)\VERSION" "$(B)\phony.h"
	"$(OBJDIR)\mkversion$E" "$(B)\manifest.uuid" "$(B)\manifest" "$(B)\VERSION" > $@

"$(B)\phony.h" :
	rem Force rebuild of VERSION.h whenever nmake is run

"$(OX)\cson_amalgamation$O" : "$(SRCDIR_extsrc)\cson_amalgamation.c"
	$(TCC) /Fo$@ /Fd$(@D)\ -c $**

"$(OX)\page_index.h": "$(OBJDIR)\mkindex$E" $(SRC)
	$** > $@

"$(OX)\builtin_data.h":	"$(OBJDIR)\mkbuiltin$E" "$(OX)\builtin_data.reslist"
	"$(OBJDIR)\mkbuiltin$E" --prefix "$(SRCDIR)/" --reslist "$(OX)\builtin_data.reslist" > $@

cleanx:
	-del "$(OX)\*.obj" 2>NUL
	-del "$(OBJDIR)\*.obj" 2>NUL
	-del "$(OX)\*_.c" 2>NUL
	-del "$(OX)\*.h" 2>NUL
	-del "$(OX)\*.ilk" 2>NUL
	-del "$(OX)\*.map" 2>NUL
	-del "$(OX)\*.res" 2>NUL
	-del "$(OX)\*.reslist" 2>NUL
	-del "$(OX)\headers" 2>NUL
	-del "$(OX)\linkopts" 2>NUL
	-del "$(OX)\vc*.pdb" 2>NUL

clean: cleanx
	-del "$(APPNAME)" 2>NUL
	-del "$(PDBNAME)" 2>NUL
	-del "$(OBJDIR)\translate$E" 2>NUL
	-del "$(OBJDIR)\translate$P" 2>NUL
	-del "$(OBJDIR)\mkindex$E" 2>NUL
	-del "$(OBJDIR)\mkindex$P" 2>NUL
	-del "$(OBJDIR)\makeheaders$E" 2>NUL
	-del "$(OBJDIR)\makeheaders$P" 2>NUL
	-del "$(OBJDIR)\mkversion$E" 2>NUL
	-del "$(OBJDIR)\mkversion$P" 2>NUL
	-del "$(OBJDIR)\mkcss$E" 2>NUL
	-del "$(OBJDIR)\mkcss$P" 2>NUL
	-del "$(OBJDIR)\codecheck1$E" 2>NUL
	-del "$(OBJDIR)\codecheck1$P" 2>NUL
	-del "$(OBJDIR)\mkbuiltin$E" 2>NUL
	-del "$(OBJDIR)\mkbuiltin$P" 2>NUL

realclean: clean

"$(OBJDIR)\json$O" : "$(SRCDIR)\json_detail.h"
"$(OBJDIR)\json_artifact$O" : "$(SRCDIR)\json_detail.h"
"$(OBJDIR)\json_branch$O" : "$(SRCDIR)\json_detail.h"
"$(OBJDIR)\json_config$O" : "$(SRCDIR)\json_detail.h"
"$(OBJDIR)\json_diff$O" : "$(SRCDIR)\json_detail.h"
"$(OBJDIR)\json_dir$O" : "$(SRCDIR)\json_detail.h"
"$(OBJDIR)\json_finfo$O" : "$(SRCDIR)\json_detail.h"
"$(OBJDIR)\json_login$O" : "$(SRCDIR)\json_detail.h"
"$(OBJDIR)\json_query$O" : "$(SRCDIR)\json_detail.h"
"$(OBJDIR)\json_report$O" : "$(SRCDIR)\json_detail.h"
"$(OBJDIR)\json_status$O" : "$(SRCDIR)\json_detail.h"
"$(OBJDIR)\json_tag$O" : "$(SRCDIR)\json_detail.h"
"$(OBJDIR)\json_timeline$O" : "$(SRCDIR)\json_detail.h"
"$(OBJDIR)\json_user$O" : "$(SRCDIR)\json_detail.h"
"$(OBJDIR)\json_wiki$O" : "$(SRCDIR)\json_detail.h"

"$(OX)\builtin_data.reslist": $(EXTRA_FILES) "$(B)\win\Makefile.msc"
	echo "$(SRCDIR)\../extsrc/pikchr-worker.js" > $@
	echo "$(SRCDIR)\../extsrc/pikchr.js" >> $@
	echo "$(SRCDIR)\../extsrc/pikchr.wasm" >> $@
	echo "$(SRCDIR)\../skins/ardoise/css.txt" >> $@
	echo "$(SRCDIR)\../skins/ardoise/details.txt" >> $@
	echo "$(SRCDIR)\../skins/ardoise/footer.txt" >> $@
	echo "$(SRCDIR)\../skins/ardoise/header.txt" >> $@
	echo "$(SRCDIR)\../skins/black_and_white/css.txt" >> $@
	echo "$(SRCDIR)\../skins/black_and_white/details.txt" >> $@
	echo "$(SRCDIR)\../skins/black_and_white/footer.txt" >> $@
	echo "$(SRCDIR)\../skins/black_and_white/header.txt" >> $@
	echo "$(SRCDIR)\../skins/blitz/css.txt" >> $@
	echo "$(SRCDIR)\../skins/blitz/details.txt" >> $@
	echo "$(SRCDIR)\../skins/blitz/footer.txt" >> $@
	echo "$(SRCDIR)\../skins/blitz/header.txt" >> $@
	echo "$(SRCDIR)\../skins/blitz/ticket.txt" >> $@
	echo "$(SRCDIR)\../skins/darkmode/css.txt" >> $@
	echo "$(SRCDIR)\../skins/darkmode/details.txt" >> $@
	echo "$(SRCDIR)\../skins/darkmode/footer.txt" >> $@
	echo "$(SRCDIR)\../skins/darkmode/header.txt" >> $@
	echo "$(SRCDIR)\../skins/default/css.txt" >> $@
	echo "$(SRCDIR)\../skins/default/details.txt" >> $@
	echo "$(SRCDIR)\../skins/default/footer.txt" >> $@
	echo "$(SRCDIR)\../skins/default/header.txt" >> $@
	echo "$(SRCDIR)\../skins/eagle/css.txt" >> $@
	echo "$(SRCDIR)\../skins/eagle/details.txt" >> $@
	echo "$(SRCDIR)\../skins/eagle/footer.txt" >> $@
	echo "$(SRCDIR)\../skins/eagle/header.txt" >> $@
	echo "$(SRCDIR)\../skins/khaki/css.txt" >> $@
	echo "$(SRCDIR)\../skins/khaki/details.txt" >> $@
	echo "$(SRCDIR)\../skins/khaki/footer.txt" >> $@
	echo "$(SRCDIR)\../skins/khaki/header.txt" >> $@
	echo "$(SRCDIR)\../skins/original/css.txt" >> $@
	echo "$(SRCDIR)\../skins/original/details.txt" >> $@
	echo "$(SRCDIR)\../skins/original/footer.txt" >> $@
	echo "$(SRCDIR)\../skins/original/header.txt" >> $@
	echo "$(SRCDIR)\../skins/plain_gray/css.txt" >> $@
	echo "$(SRCDIR)\../skins/plain_gray/details.txt" >> $@
	echo "$(SRCDIR)\../skins/plain_gray/footer.txt" >> $@
	echo "$(SRCDIR)\../skins/plain_gray/header.txt" >> $@
	echo "$(SRCDIR)\../skins/xekri/css.txt" >> $@
	echo "$(SRCDIR)\../skins/xekri/details.txt" >> $@
	echo "$(SRCDIR)\../skins/xekri/footer.txt" >> $@
	echo "$(SRCDIR)\../skins/xekri/header.txt" >> $@
	echo "$(SRCDIR)\accordion.js" >> $@
	echo "$(SRCDIR)\alerts/bflat2.wav" >> $@
	echo "$(SRCDIR)\alerts/bflat3.wav" >> $@
	echo "$(SRCDIR)\alerts/bloop.wav" >> $@
	echo "$(SRCDIR)\alerts/plunk.wav" >> $@
	echo "$(SRCDIR)\ci_edit.js" >> $@
	echo "$(SRCDIR)\copybtn.js" >> $@
	echo "$(SRCDIR)\default.css" >> $@
	echo "$(SRCDIR)\diff.js" >> $@
	echo "$(SRCDIR)\diff.tcl" >> $@
	echo "$(SRCDIR)\forum.js" >> $@
	echo "$(SRCDIR)\fossil.bootstrap.js" >> $@
	echo "$(SRCDIR)\fossil.confirmer.js" >> $@
	echo "$(SRCDIR)\fossil.copybutton.js" >> $@
	echo "$(SRCDIR)\fossil.diff.js" >> $@
	echo "$(SRCDIR)\fossil.dom.js" >> $@
	echo "$(SRCDIR)\fossil.fetch.js" >> $@
	echo "$(SRCDIR)\fossil.numbered-lines.js" >> $@
	echo "$(SRCDIR)\fossil.page.brlist.js" >> $@
	echo "$(SRCDIR)\fossil.page.chat.js" >> $@
	echo "$(SRCDIR)\fossil.page.fileedit.js" >> $@
	echo "$(SRCDIR)\fossil.page.forumpost.js" >> $@
	echo "$(SRCDIR)\fossil.page.pikchrshow.js" >> $@
	echo "$(SRCDIR)\fossil.page.pikchrshowasm.js" >> $@
	echo "$(SRCDIR)\fossil.page.whistory.js" >> $@
	echo "$(SRCDIR)\fossil.page.wikiedit.js" >> $@
	echo "$(SRCDIR)\fossil.pikchr.js" >> $@
	echo "$(SRCDIR)\fossil.popupwidget.js" >> $@
	echo "$(SRCDIR)\fossil.storage.js" >> $@
	echo "$(SRCDIR)\fossil.tabs.js" >> $@
	echo "$(SRCDIR)\fossil.wikiedit-wysiwyg.js" >> $@
	echo "$(SRCDIR)\graph.js" >> $@
	echo "$(SRCDIR)\hbmenu.js" >> $@
	echo "$(SRCDIR)\href.js" >> $@
	echo "$(SRCDIR)\login.js" >> $@
	echo "$(SRCDIR)\markdown.md" >> $@
	echo "$(SRCDIR)\menu.js" >> $@
	echo "$(SRCDIR)\scroll.js" >> $@
	echo "$(SRCDIR)\skin.js" >> $@
	echo "$(SRCDIR)\sorttable.js" >> $@
	echo "$(SRCDIR)\sounds/0.wav" >> $@
	echo "$(SRCDIR)\sounds/1.wav" >> $@
	echo "$(SRCDIR)\sounds/2.wav" >> $@
	echo "$(SRCDIR)\sounds/3.wav" >> $@
	echo "$(SRCDIR)\sounds/4.wav" >> $@
	echo "$(SRCDIR)\sounds/5.wav" >> $@
	echo "$(SRCDIR)\sounds/6.wav" >> $@
	echo "$(SRCDIR)\sounds/7.wav" >> $@
	echo "$(SRCDIR)\sounds/8.wav" >> $@
	echo "$(SRCDIR)\sounds/9.wav" >> $@
	echo "$(SRCDIR)\sounds/a.wav" >> $@
	echo "$(SRCDIR)\sounds/b.wav" >> $@
	echo "$(SRCDIR)\sounds/c.wav" >> $@
	echo "$(SRCDIR)\sounds/d.wav" >> $@
	echo "$(SRCDIR)\sounds/e.wav" >> $@
	echo "$(SRCDIR)\sounds/f.wav" >> $@
	echo "$(SRCDIR)\style.admin_log.css" >> $@
	echo "$(SRCDIR)\style.chat.css" >> $@
	echo "$(SRCDIR)\style.fileedit.css" >> $@
	echo "$(SRCDIR)\style.pikchrshow.css" >> $@
	echo "$(SRCDIR)\style.wikiedit.css" >> $@
	echo "$(SRCDIR)\tree.js" >> $@
	echo "$(SRCDIR)\useredit.js" >> $@
	echo "$(SRCDIR)\wiki.wiki" >> $@

"$(OX)\add$O" : "$(OX)\add_.c" "$(OX)\add.h"
	$(TCC) /Fo$@ /Fd$(@D)\ -c "$(OX)\add_.c"

"$(OX)\add_.c" : "$(SRCDIR)\add.c"
	"$(OBJDIR)\translate$E" $** > $@

"$(OX)\ajax$O" : "$(OX)\ajax_.c" "$(OX)\ajax.h"
	$(TCC) /Fo$@ /Fd$(@D)\ -c "$(OX)\ajax_.c"

"$(OX)\ajax_.c" : "$(SRCDIR)\ajax.c"
	"$(OBJDIR)\translate$E" $** > $@

"$(OX)\alerts$O" : "$(OX)\alerts_.c" "$(OX)\alerts.h"
	$(TCC) /Fo$@ /Fd$(@D)\ -c "$(OX)\alerts_.c"

"$(OX)\alerts_.c" : "$(SRCDIR)\alerts.c"
	"$(OBJDIR)\translate$E" $** > $@

"$(OX)\allrepo$O" : "$(OX)\allrepo_.c" "$(OX)\allrepo.h"
	$(TCC) /Fo$@ /Fd$(@D)\ -c "$(OX)\allrepo_.c"

"$(OX)\allrepo_.c" : "$(SRCDIR)\allrepo.c"
	"$(OBJDIR)\translate$E" $** > $@

"$(OX)\attach$O" : "$(OX)\attach_.c" "$(OX)\attach.h"
	$(TCC) /Fo$@ /Fd$(@D)\ -c "$(OX)\attach_.c"

"$(OX)\attach_.c" : "$(SRCDIR)\attach.c"
	"$(OBJDIR)\translate$E" $** > $@

"$(OX)\backlink$O" : "$(OX)\backlink_.c" "$(OX)\backlink.h"
	$(TCC) /Fo$@ /Fd$(@D)\ -c "$(OX)\backlink_.c"

"$(OX)\backlink_.c" : "$(SRCDIR)\backlink.c"
	"$(OBJDIR)\translate$E" $** > $@

"$(OX)\backoffice$O" : "$(OX)\backoffice_.c" "$(OX)\backoffice.h"
	$(TCC) /Fo$@ /Fd$(@D)\ -c "$(OX)\backoffice_.c"

"$(OX)\backoffice_.c" : "$(SRCDIR)\backoffice.c"
	"$(OBJDIR)\translate$E" $** > $@

"$(OX)\bag$O" : "$(OX)\bag_.c" "$(OX)\bag.h"
	$(TCC) /Fo$@ /Fd$(@D)\ -c "$(OX)\bag_.c"

"$(OX)\bag_.c" : "$(SRCDIR)\bag.c"
	"$(OBJDIR)\translate$E" $** > $@

"$(OX)\bisect$O" : "$(OX)\bisect_.c" "$(OX)\bisect.h"
	$(TCC) /Fo$@ /Fd$(@D)\ -c "$(OX)\bisect_.c"

"$(OX)\bisect_.c" : "$(SRCDIR)\bisect.c"
	"$(OBJDIR)\translate$E" $** > $@

"$(OX)\blob$O" : "$(OX)\blob_.c" "$(OX)\blob.h"
	$(TCC) /Fo$@ /Fd$(@D)\ -c "$(OX)\blob_.c"

"$(OX)\blob_.c" : "$(SRCDIR)\blob.c"
	"$(OBJDIR)\translate$E" $** > $@

"$(OX)\branch$O" : "$(OX)\branch_.c" "$(OX)\branch.h"
	$(TCC) /Fo$@ /Fd$(@D)\ -c "$(OX)\branch_.c"

"$(OX)\branch_.c" : "$(SRCDIR)\branch.c"
	"$(OBJDIR)\translate$E" $** > $@

"$(OX)\browse$O" : "$(OX)\browse_.c" "$(OX)\browse.h"
	$(TCC) /Fo$@ /Fd$(@D)\ -c "$(OX)\browse_.c"

"$(OX)\browse_.c" : "$(SRCDIR)\browse.c"
	"$(OBJDIR)\translate$E" $** > $@

"$(OX)\builtin$O" : "$(OX)\builtin_.c" "$(OX)\builtin.h" "$(OX)\builtin_data.h"
	$(TCC) /Fo$@ /Fd$(@D)\ -c "$(OX)\builtin_.c"

"$(OX)\builtin_.c" : "$(SRCDIR)\builtin.c"
	"$(OBJDIR)\translate$E" $** > $@

"$(OX)\bundle$O" : "$(OX)\bundle_.c" "$(OX)\bundle.h"
	$(TCC) /Fo$@ /Fd$(@D)\ -c "$(OX)\bundle_.c"

"$(OX)\bundle_.c" : "$(SRCDIR)\bundle.c"
	"$(OBJDIR)\translate$E" $** > $@

"$(OX)\cache$O" : "$(OX)\cache_.c" "$(OX)\cache.h"
	$(TCC) /Fo$@ /Fd$(@D)\ -c "$(OX)\cache_.c"

"$(OX)\cache_.c" : "$(SRCDIR)\cache.c"
	"$(OBJDIR)\translate$E" $** > $@

"$(OX)\capabilities$O" : "$(OX)\capabilities_.c" "$(OX)\capabilities.h"
	$(TCC) /Fo$@ /Fd$(@D)\ -c "$(OX)\capabilities_.c"

"$(OX)\capabilities_.c" : "$(SRCDIR)\capabilities.c"
	"$(OBJDIR)\translate$E" $** > $@

"$(OX)\captcha$O" : "$(OX)\captcha_.c" "$(OX)\captcha.h"
	$(TCC) /Fo$@ /Fd$(@D)\ -c "$(OX)\captcha_.c"

"$(OX)\captcha_.c" : "$(SRCDIR)\captcha.c"
	"$(OBJDIR)\translate$E" $** > $@

"$(OX)\cgi$O" : "$(OX)\cgi_.c" "$(OX)\cgi.h"
	$(TCC) /Fo$@ /Fd$(@D)\ -c "$(OX)\cgi_.c"

"$(OX)\cgi_.c" : "$(SRCDIR)\cgi.c"
	"$(OBJDIR)\translate$E" $** > $@

"$(OX)\chat$O" : "$(OX)\chat_.c" "$(OX)\chat.h"
	$(TCC) /Fo$@ /Fd$(@D)\ -c "$(OX)\chat_.c"

"$(OX)\chat_.c" : "$(SRCDIR)\chat.c"
	"$(OBJDIR)\translate$E" $** > $@

"$(OX)\checkin$O" : "$(OX)\checkin_.c" "$(OX)\checkin.h"
	$(TCC) /Fo$@ /Fd$(@D)\ -c "$(OX)\checkin_.c"

"$(OX)\checkin_.c" : "$(SRCDIR)\checkin.c"
	"$(OBJDIR)\translate$E" $** > $@

"$(OX)\checkout$O" : "$(OX)\checkout_.c" "$(OX)\checkout.h"
	$(TCC) /Fo$@ /Fd$(@D)\ -c "$(OX)\checkout_.c"

"$(OX)\checkout_.c" : "$(SRCDIR)\checkout.c"
	"$(OBJDIR)\translate$E" $** > $@

"$(OX)\clearsign$O" : "$(OX)\clearsign_.c" "$(OX)\clearsign.h"
	$(TCC) /Fo$@ /Fd$(@D)\ -c "$(OX)\clearsign_.c"

"$(OX)\clearsign_.c" : "$(SRCDIR)\clearsign.c"
	"$(OBJDIR)\translate$E" $** > $@

"$(OX)\clone$O" : "$(OX)\clone_.c" "$(OX)\clone.h"
	$(TCC) /Fo$@ /Fd$(@D)\ -c "$(OX)\clone_.c"

"$(OX)\clone_.c" : "$(SRCDIR)\clone.c"
	"$(OBJDIR)\translate$E" $** > $@

"$(OX)\color$O" : "$(OX)\color_.c" "$(OX)\color.h"
	$(TCC) /Fo$@ /Fd$(@D)\ -c "$(OX)\color_.c"

"$(OX)\color_.c" : "$(SRCDIR)\color.c"
	"$(OBJDIR)\translate$E" $** > $@

"$(OX)\comformat$O" : "$(OX)\comformat_.c" "$(OX)\comformat.h"
	$(TCC) /Fo$@ /Fd$(@D)\ -c "$(OX)\comformat_.c"

"$(OX)\comformat_.c" : "$(SRCDIR)\comformat.c"
	"$(OBJDIR)\translate$E" $** > $@

"$(OX)\configure$O" : "$(OX)\configure_.c" "$(OX)\configure.h"
	$(TCC) /Fo$@ /Fd$(@D)\ -c "$(OX)\configure_.c"

"$(OX)\configure_.c" : "$(SRCDIR)\configure.c"
	"$(OBJDIR)\translate$E" $** > $@

"$(OX)\content$O" : "$(OX)\content_.c" "$(OX)\content.h"
	$(TCC) /Fo$@ /Fd$(@D)\ -c "$(OX)\content_.c"

"$(OX)\content_.c" : "$(SRCDIR)\content.c"
	"$(OBJDIR)\translate$E" $** > $@

"$(OX)\cookies$O" : "$(OX)\cookies_.c" "$(OX)\cookies.h"
	$(TCC) /Fo$@ /Fd$(@D)\ -c "$(OX)\cookies_.c"

"$(OX)\cookies_.c" : "$(SRCDIR)\cookies.c"
	"$(OBJDIR)\translate$E" $** > $@

"$(OX)\db$O" : "$(OX)\db_.c" "$(OX)\db.h"
	$(TCC) /Fo$@ /Fd$(@D)\ -c "$(OX)\db_.c"

"$(OX)\db_.c" : "$(SRCDIR)\db.c"
	"$(OBJDIR)\translate$E" $** > $@

"$(OX)\delta$O" : "$(OX)\delta_.c" "$(OX)\delta.h"
	$(TCC) /Fo$@ /Fd$(@D)\ -c "$(OX)\delta_.c"

"$(OX)\delta_.c" : "$(SRCDIR)\delta.c"
	"$(OBJDIR)\translate$E" $** > $@

"$(OX)\deltacmd$O" : "$(OX)\deltacmd_.c" "$(OX)\deltacmd.h"
	$(TCC) /Fo$@ /Fd$(@D)\ -c "$(OX)\deltacmd_.c"

"$(OX)\deltacmd_.c" : "$(SRCDIR)\deltacmd.c"
	"$(OBJDIR)\translate$E" $** > $@

"$(OX)\deltafunc$O" : "$(OX)\deltafunc_.c" "$(OX)\deltafunc.h"
	$(TCC) /Fo$@ /Fd$(@D)\ -c "$(OX)\deltafunc_.c"

"$(OX)\deltafunc_.c" : "$(SRCDIR)\deltafunc.c"
	"$(OBJDIR)\translate$E" $** > $@

"$(OX)\descendants$O" : "$(OX)\descendants_.c" "$(OX)\descendants.h"
	$(TCC) /Fo$@ /Fd$(@D)\ -c "$(OX)\descendants_.c"

"$(OX)\descendants_.c" : "$(SRCDIR)\descendants.c"
	"$(OBJDIR)\translate$E" $** > $@

"$(OX)\diff$O" : "$(OX)\diff_.c" "$(OX)\diff.h"
	$(TCC) /Fo$@ /Fd$(@D)\ -c "$(OX)\diff_.c"

"$(OX)\diff_.c" : "$(SRCDIR)\diff.c"
	"$(OBJDIR)\translate$E" $** > $@

"$(OX)\diffcmd$O" : "$(OX)\diffcmd_.c" "$(OX)\diffcmd.h"
	$(TCC) /Fo$@ /Fd$(@D)\ -c "$(OX)\diffcmd_.c"

"$(OX)\diffcmd_.c" : "$(SRCDIR)\diffcmd.c"
	"$(OBJDIR)\translate$E" $** > $@

"$(OX)\dispatch$O" : "$(OX)\dispatch_.c" "$(OX)\dispatch.h" "$(OX)\page_index.h"
	$(TCC) /Fo$@ /Fd$(@D)\ -c "$(OX)\dispatch_.c"

"$(OX)\dispatch_.c" : "$(SRCDIR)\dispatch.c"
	"$(OBJDIR)\translate$E" $** > $@

"$(OX)\doc$O" : "$(OX)\doc_.c" "$(OX)\doc.h"
	$(TCC) /Fo$@ /Fd$(@D)\ -c "$(OX)\doc_.c"

"$(OX)\doc_.c" : "$(SRCDIR)\doc.c"
	"$(OBJDIR)\translate$E" $** > $@

"$(OX)\encode$O" : "$(OX)\encode_.c" "$(OX)\encode.h"
	$(TCC) /Fo$@ /Fd$(@D)\ -c "$(OX)\encode_.c"

"$(OX)\encode_.c" : "$(SRCDIR)\encode.c"
	"$(OBJDIR)\translate$E" $** > $@

"$(OX)\etag$O" : "$(OX)\etag_.c" "$(OX)\etag.h"
	$(TCC) /Fo$@ /Fd$(@D)\ -c "$(OX)\etag_.c"

"$(OX)\etag_.c" : "$(SRCDIR)\etag.c"
	"$(OBJDIR)\translate$E" $** > $@

"$(OX)\event$O" : "$(OX)\event_.c" "$(OX)\event.h"
	$(TCC) /Fo$@ /Fd$(@D)\ -c "$(OX)\event_.c"

"$(OX)\event_.c" : "$(SRCDIR)\event.c"
	"$(OBJDIR)\translate$E" $** > $@

"$(OX)\export$O" : "$(OX)\export_.c" "$(OX)\export.h"
	$(TCC) /Fo$@ /Fd$(@D)\ -c "$(OX)\export_.c"

"$(OX)\export_.c" : "$(SRCDIR)\export.c"
	"$(OBJDIR)\translate$E" $** > $@

"$(OX)\extcgi$O" : "$(OX)\extcgi_.c" "$(OX)\extcgi.h"
	$(TCC) /Fo$@ /Fd$(@D)\ -c "$(OX)\extcgi_.c"

"$(OX)\extcgi_.c" : "$(SRCDIR)\extcgi.c"
	"$(OBJDIR)\translate$E" $** > $@

"$(OX)\file$O" : "$(OX)\file_.c" "$(OX)\file.h"
	$(TCC) /Fo$@ /Fd$(@D)\ -c "$(OX)\file_.c"

"$(OX)\file_.c" : "$(SRCDIR)\file.c"
	"$(OBJDIR)\translate$E" $** > $@

"$(OX)\fileedit$O" : "$(OX)\fileedit_.c" "$(OX)\fileedit.h"
	$(TCC) /Fo$@ /Fd$(@D)\ -c "$(OX)\fileedit_.c"

"$(OX)\fileedit_.c" : "$(SRCDIR)\fileedit.c"
	"$(OBJDIR)\translate$E" $** > $@

"$(OX)\finfo$O" : "$(OX)\finfo_.c" "$(OX)\finfo.h"
	$(TCC) /Fo$@ /Fd$(@D)\ -c "$(OX)\finfo_.c"

"$(OX)\finfo_.c" : "$(SRCDIR)\finfo.c"
	"$(OBJDIR)\translate$E" $** > $@

"$(OX)\foci$O" : "$(OX)\foci_.c" "$(OX)\foci.h"
	$(TCC) /Fo$@ /Fd$(@D)\ -c "$(OX)\foci_.c"

"$(OX)\foci_.c" : "$(SRCDIR)\foci.c"
	"$(OBJDIR)\translate$E" $** > $@

"$(OX)\forum$O" : "$(OX)\forum_.c" "$(OX)\forum.h"
	$(TCC) /Fo$@ /Fd$(@D)\ -c "$(OX)\forum_.c"

"$(OX)\forum_.c" : "$(SRCDIR)\forum.c"
	"$(OBJDIR)\translate$E" $** > $@

"$(OX)\fshell$O" : "$(OX)\fshell_.c" "$(OX)\fshell.h"
	$(TCC) /Fo$@ /Fd$(@D)\ -c "$(OX)\fshell_.c"

"$(OX)\fshell_.c" : "$(SRCDIR)\fshell.c"
	"$(OBJDIR)\translate$E" $** > $@

"$(OX)\fusefs$O" : "$(OX)\fusefs_.c" "$(OX)\fusefs.h"
	$(TCC) /Fo$@ /Fd$(@D)\ -c "$(OX)\fusefs_.c"

"$(OX)\fusefs_.c" : "$(SRCDIR)\fusefs.c"
	"$(OBJDIR)\translate$E" $** > $@

"$(OX)\fuzz$O" : "$(OX)\fuzz_.c" "$(OX)\fuzz.h"
	$(TCC) /Fo$@ /Fd$(@D)\ -c "$(OX)\fuzz_.c"

"$(OX)\fuzz_.c" : "$(SRCDIR)\fuzz.c"
	"$(OBJDIR)\translate$E" $** > $@

"$(OX)\glob$O" : "$(OX)\glob_.c" "$(OX)\glob.h"
	$(TCC) /Fo$@ /Fd$(@D)\ -c "$(OX)\glob_.c"

"$(OX)\glob_.c" : "$(SRCDIR)\glob.c"
	"$(OBJDIR)\translate$E" $** > $@

"$(OX)\graph$O" : "$(OX)\graph_.c" "$(OX)\graph.h"
	$(TCC) /Fo$@ /Fd$(@D)\ -c "$(OX)\graph_.c"

"$(OX)\graph_.c" : "$(SRCDIR)\graph.c"
	"$(OBJDIR)\translate$E" $** > $@

"$(OX)\gzip$O" : "$(OX)\gzip_.c" "$(OX)\gzip.h"
	$(TCC) /Fo$@ /Fd$(@D)\ -c "$(OX)\gzip_.c"

"$(OX)\gzip_.c" : "$(SRCDIR)\gzip.c"
	"$(OBJDIR)\translate$E" $** > $@

"$(OX)\hname$O" : "$(OX)\hname_.c" "$(OX)\hname.h"
	$(TCC) /Fo$@ /Fd$(@D)\ -c "$(OX)\hname_.c"

"$(OX)\hname_.c" : "$(SRCDIR)\hname.c"
	"$(OBJDIR)\translate$E" $** > $@

"$(OX)\hook$O" : "$(OX)\hook_.c" "$(OX)\hook.h"
	$(TCC) /Fo$@ /Fd$(@D)\ -c "$(OX)\hook_.c"

"$(OX)\hook_.c" : "$(SRCDIR)\hook.c"
	"$(OBJDIR)\translate$E" $** > $@

"$(OX)\http$O" : "$(OX)\http_.c" "$(OX)\http.h"
	$(TCC) /Fo$@ /Fd$(@D)\ -c "$(OX)\http_.c"

"$(OX)\http_.c" : "$(SRCDIR)\http.c"
	"$(OBJDIR)\translate$E" $** > $@

"$(OX)\http_socket$O" : "$(OX)\http_socket_.c" "$(OX)\http_socket.h"
	$(TCC) /Fo$@ /Fd$(@D)\ -c "$(OX)\http_socket_.c"

"$(OX)\http_socket_.c" : "$(SRCDIR)\http_socket.c"
	"$(OBJDIR)\translate$E" $** > $@

"$(OX)\http_ssl$O" : "$(OX)\http_ssl_.c" "$(OX)\http_ssl.h"
	$(TCC) /Fo$@ /Fd$(@D)\ -c "$(OX)\http_ssl_.c"

"$(OX)\http_ssl_.c" : "$(SRCDIR)\http_ssl.c"
	"$(OBJDIR)\translate$E" $** > $@

"$(OX)\http_transport$O" : "$(OX)\http_transport_.c" "$(OX)\http_transport.h"
	$(TCC) /Fo$@ /Fd$(@D)\ -c "$(OX)\http_transport_.c"

"$(OX)\http_transport_.c" : "$(SRCDIR)\http_transport.c"
	"$(OBJDIR)\translate$E" $** > $@

"$(OX)\import$O" : "$(OX)\import_.c" "$(OX)\import.h"
	$(TCC) /Fo$@ /Fd$(@D)\ -c "$(OX)\import_.c"

"$(OX)\import_.c" : "$(SRCDIR)\import.c"
	"$(OBJDIR)\translate$E" $** > $@

"$(OX)\info$O" : "$(OX)\info_.c" "$(OX)\info.h"
	$(TCC) /Fo$@ /Fd$(@D)\ -c "$(OX)\info_.c"

"$(OX)\info_.c" : "$(SRCDIR)\info.c"
	"$(OBJDIR)\translate$E" $** > $@

"$(OX)\interwiki$O" : "$(OX)\interwiki_.c" "$(OX)\interwiki.h"
	$(TCC) /Fo$@ /Fd$(@D)\ -c "$(OX)\interwiki_.c"

"$(OX)\interwiki_.c" : "$(SRCDIR)\interwiki.c"
	"$(OBJDIR)\translate$E" $** > $@

"$(OX)\json$O" : "$(OX)\json_.c" "$(OX)\json.h"
	$(TCC) /Fo$@ /Fd$(@D)\ -c "$(OX)\json_.c"

"$(OX)\json_.c" : "$(SRCDIR)\json.c"
	"$(OBJDIR)\translate$E" $** > $@

"$(OX)\json_artifact$O" : "$(OX)\json_artifact_.c" "$(OX)\json_artifact.h"
	$(TCC) /Fo$@ /Fd$(@D)\ -c "$(OX)\json_artifact_.c"

"$(OX)\json_artifact_.c" : "$(SRCDIR)\json_artifact.c"
	"$(OBJDIR)\translate$E" $** > $@

"$(OX)\json_branch$O" : "$(OX)\json_branch_.c" "$(OX)\json_branch.h"
	$(TCC) /Fo$@ /Fd$(@D)\ -c "$(OX)\json_branch_.c"

"$(OX)\json_branch_.c" : "$(SRCDIR)\json_branch.c"
	"$(OBJDIR)\translate$E" $** > $@

"$(OX)\json_config$O" : "$(OX)\json_config_.c" "$(OX)\json_config.h"
	$(TCC) /Fo$@ /Fd$(@D)\ -c "$(OX)\json_config_.c"

"$(OX)\json_config_.c" : "$(SRCDIR)\json_config.c"
	"$(OBJDIR)\translate$E" $** > $@

"$(OX)\json_diff$O" : "$(OX)\json_diff_.c" "$(OX)\json_diff.h"
	$(TCC) /Fo$@ /Fd$(@D)\ -c "$(OX)\json_diff_.c"

"$(OX)\json_diff_.c" : "$(SRCDIR)\json_diff.c"
	"$(OBJDIR)\translate$E" $** > $@

"$(OX)\json_dir$O" : "$(OX)\json_dir_.c" "$(OX)\json_dir.h"
	$(TCC) /Fo$@ /Fd$(@D)\ -c "$(OX)\json_dir_.c"

"$(OX)\json_dir_.c" : "$(SRCDIR)\json_dir.c"
	"$(OBJDIR)\translate$E" $** > $@

"$(OX)\json_finfo$O" : "$(OX)\json_finfo_.c" "$(OX)\json_finfo.h"
	$(TCC) /Fo$@ /Fd$(@D)\ -c "$(OX)\json_finfo_.c"

"$(OX)\json_finfo_.c" : "$(SRCDIR)\json_finfo.c"
	"$(OBJDIR)\translate$E" $** > $@

"$(OX)\json_login$O" : "$(OX)\json_login_.c" "$(OX)\json_login.h"
	$(TCC) /Fo$@ /Fd$(@D)\ -c "$(OX)\json_login_.c"

"$(OX)\json_login_.c" : "$(SRCDIR)\json_login.c"
	"$(OBJDIR)\translate$E" $** > $@

"$(OX)\json_query$O" : "$(OX)\json_query_.c" "$(OX)\json_query.h"
	$(TCC) /Fo$@ /Fd$(@D)\ -c "$(OX)\json_query_.c"

"$(OX)\json_query_.c" : "$(SRCDIR)\json_query.c"
	"$(OBJDIR)\translate$E" $** > $@

"$(OX)\json_report$O" : "$(OX)\json_report_.c" "$(OX)\json_report.h"
	$(TCC) /Fo$@ /Fd$(@D)\ -c "$(OX)\json_report_.c"

"$(OX)\json_report_.c" : "$(SRCDIR)\json_report.c"
	"$(OBJDIR)\translate$E" $** > $@

"$(OX)\json_status$O" : "$(OX)\json_status_.c" "$(OX)\json_status.h"
	$(TCC) /Fo$@ /Fd$(@D)\ -c "$(OX)\json_status_.c"

"$(OX)\json_status_.c" : "$(SRCDIR)\json_status.c"
	"$(OBJDIR)\translate$E" $** > $@

"$(OX)\json_tag$O" : "$(OX)\json_tag_.c" "$(OX)\json_tag.h"
	$(TCC) /Fo$@ /Fd$(@D)\ -c "$(OX)\json_tag_.c"

"$(OX)\json_tag_.c" : "$(SRCDIR)\json_tag.c"
	"$(OBJDIR)\translate$E" $** > $@

"$(OX)\json_timeline$O" : "$(OX)\json_timeline_.c" "$(OX)\json_timeline.h"
	$(TCC) /Fo$@ /Fd$(@D)\ -c "$(OX)\json_timeline_.c"

"$(OX)\json_timeline_.c" : "$(SRCDIR)\json_timeline.c"
	"$(OBJDIR)\translate$E" $** > $@

"$(OX)\json_user$O" : "$(OX)\json_user_.c" "$(OX)\json_user.h"
	$(TCC) /Fo$@ /Fd$(@D)\ -c "$(OX)\json_user_.c"

"$(OX)\json_user_.c" : "$(SRCDIR)\json_user.c"
	"$(OBJDIR)\translate$E" $** > $@

"$(OX)\json_wiki$O" : "$(OX)\json_wiki_.c" "$(OX)\json_wiki.h"
	$(TCC) /Fo$@ /Fd$(@D)\ -c "$(OX)\json_wiki_.c"

"$(OX)\json_wiki_.c" : "$(SRCDIR)\json_wiki.c"
	"$(OBJDIR)\translate$E" $** > $@

"$(OX)\leaf$O" : "$(OX)\leaf_.c" "$(OX)\leaf.h"
	$(TCC) /Fo$@ /Fd$(@D)\ -c "$(OX)\leaf_.c"

"$(OX)\leaf_.c" : "$(SRCDIR)\leaf.c"
	"$(OBJDIR)\translate$E" $** > $@

"$(OX)\loadctrl$O" : "$(OX)\loadctrl_.c" "$(OX)\loadctrl.h"
	$(TCC) /Fo$@ /Fd$(@D)\ -c "$(OX)\loadctrl_.c"

"$(OX)\loadctrl_.c" : "$(SRCDIR)\loadctrl.c"
	"$(OBJDIR)\translate$E" $** > $@

"$(OX)\login$O" : "$(OX)\login_.c" "$(OX)\login.h"
	$(TCC) /Fo$@ /Fd$(@D)\ -c "$(OX)\login_.c"

"$(OX)\login_.c" : "$(SRCDIR)\login.c"
	"$(OBJDIR)\translate$E" $** > $@

"$(OX)\lookslike$O" : "$(OX)\lookslike_.c" "$(OX)\lookslike.h"
	$(TCC) /Fo$@ /Fd$(@D)\ -c "$(OX)\lookslike_.c"

"$(OX)\lookslike_.c" : "$(SRCDIR)\lookslike.c"
	"$(OBJDIR)\translate$E" $** > $@

"$(OX)\main$O" : "$(OX)\main_.c" "$(OX)\main.h"
	$(TCC) /Fo$@ /Fd$(@D)\ -c "$(OX)\main_.c"

"$(OX)\main_.c" : "$(SRCDIR)\main.c"
	"$(OBJDIR)\translate$E" $** > $@

"$(OX)\manifest$O" : "$(OX)\manifest_.c" "$(OX)\manifest.h"
	$(TCC) /Fo$@ /Fd$(@D)\ -c "$(OX)\manifest_.c"

"$(OX)\manifest_.c" : "$(SRCDIR)\manifest.c"
	"$(OBJDIR)\translate$E" $** > $@

"$(OX)\markdown$O" : "$(OX)\markdown_.c" "$(OX)\markdown.h"
	$(TCC) /Fo$@ /Fd$(@D)\ -c "$(OX)\markdown_.c"

"$(OX)\markdown_.c" : "$(SRCDIR)\markdown.c"
	"$(OBJDIR)\translate$E" $** > $@

"$(OX)\markdown_html$O" : "$(OX)\markdown_html_.c" "$(OX)\markdown_html.h"
	$(TCC) /Fo$@ /Fd$(@D)\ -c "$(OX)\markdown_html_.c"

"$(OX)\markdown_html_.c" : "$(SRCDIR)\markdown_html.c"
	"$(OBJDIR)\translate$E" $** > $@

"$(OX)\md5$O" : "$(OX)\md5_.c" "$(OX)\md5.h"
	$(TCC) /Fo$@ /Fd$(@D)\ -c "$(OX)\md5_.c"

"$(OX)\md5_.c" : "$(SRCDIR)\md5.c"
	"$(OBJDIR)\translate$E" $** > $@

"$(OX)\merge$O" : "$(OX)\merge_.c" "$(OX)\merge.h"
	$(TCC) /Fo$@ /Fd$(@D)\ -c "$(OX)\merge_.c"

"$(OX)\merge_.c" : "$(SRCDIR)\merge.c"
	"$(OBJDIR)\translate$E" $** > $@

"$(OX)\merge3$O" : "$(OX)\merge3_.c" "$(OX)\merge3.h"
	$(TCC) /Fo$@ /Fd$(@D)\ -c "$(OX)\merge3_.c"

"$(OX)\merge3_.c" : "$(SRCDIR)\merge3.c"
	"$(OBJDIR)\translate$E" $** > $@

"$(OX)\moderate$O" : "$(OX)\moderate_.c" "$(OX)\moderate.h"
	$(TCC) /Fo$@ /Fd$(@D)\ -c "$(OX)\moderate_.c"

"$(OX)\moderate_.c" : "$(SRCDIR)\moderate.c"
	"$(OBJDIR)\translate$E" $** > $@

"$(OX)\name$O" : "$(OX)\name_.c" "$(OX)\name.h"
	$(TCC) /Fo$@ /Fd$(@D)\ -c "$(OX)\name_.c"

"$(OX)\name_.c" : "$(SRCDIR)\name.c"
	"$(OBJDIR)\translate$E" $** > $@

"$(OX)\patch$O" : "$(OX)\patch_.c" "$(OX)\patch.h"
	$(TCC) /Fo$@ /Fd$(@D)\ -c "$(OX)\patch_.c"

"$(OX)\patch_.c" : "$(SRCDIR)\patch.c"
	"$(OBJDIR)\translate$E" $** > $@

"$(OX)\path$O" : "$(OX)\path_.c" "$(OX)\path.h"
	$(TCC) /Fo$@ /Fd$(@D)\ -c "$(OX)\path_.c"

"$(OX)\path_.c" : "$(SRCDIR)\path.c"
	"$(OBJDIR)\translate$E" $** > $@

"$(OX)\piechart$O" : "$(OX)\piechart_.c" "$(OX)\piechart.h"
	$(TCC) /Fo$@ /Fd$(@D)\ -c "$(OX)\piechart_.c"

"$(OX)\piechart_.c" : "$(SRCDIR)\piechart.c"
	"$(OBJDIR)\translate$E" $** > $@

"$(OX)\pikchrshow$O" : "$(OX)\pikchrshow_.c" "$(OX)\pikchrshow.h"
	$(TCC) /Fo$@ /Fd$(@D)\ -c "$(OX)\pikchrshow_.c"

"$(OX)\pikchrshow_.c" : "$(SRCDIR)\pikchrshow.c"
	"$(OBJDIR)\translate$E" $** > $@

"$(OX)\pivot$O" : "$(OX)\pivot_.c" "$(OX)\pivot.h"
	$(TCC) /Fo$@ /Fd$(@D)\ -c "$(OX)\pivot_.c"

"$(OX)\pivot_.c" : "$(SRCDIR)\pivot.c"
	"$(OBJDIR)\translate$E" $** > $@

"$(OX)\popen$O" : "$(OX)\popen_.c" "$(OX)\popen.h"
	$(TCC) /Fo$@ /Fd$(@D)\ -c "$(OX)\popen_.c"

"$(OX)\popen_.c" : "$(SRCDIR)\popen.c"
	"$(OBJDIR)\translate$E" $** > $@

"$(OX)\pqueue$O" : "$(OX)\pqueue_.c" "$(OX)\pqueue.h"
	$(TCC) /Fo$@ /Fd$(@D)\ -c "$(OX)\pqueue_.c"

"$(OX)\pqueue_.c" : "$(SRCDIR)\pqueue.c"
	"$(OBJDIR)\translate$E" $** > $@

"$(OX)\printf$O" : "$(OX)\printf_.c" "$(OX)\printf.h"
	$(TCC) /Fo$@ /Fd$(@D)\ -c "$(OX)\printf_.c"

"$(OX)\printf_.c" : "$(SRCDIR)\printf.c"
	"$(OBJDIR)\translate$E" $** > $@

"$(OX)\publish$O" : "$(OX)\publish_.c" "$(OX)\publish.h"
	$(TCC) /Fo$@ /Fd$(@D)\ -c "$(OX)\publish_.c"

"$(OX)\publish_.c" : "$(SRCDIR)\publish.c"
	"$(OBJDIR)\translate$E" $** > $@

"$(OX)\purge$O" : "$(OX)\purge_.c" "$(OX)\purge.h"
	$(TCC) /Fo$@ /Fd$(@D)\ -c "$(OX)\purge_.c"

"$(OX)\purge_.c" : "$(SRCDIR)\purge.c"
	"$(OBJDIR)\translate$E" $** > $@

"$(OX)\rebuild$O" : "$(OX)\rebuild_.c" "$(OX)\rebuild.h"
	$(TCC) /Fo$@ /Fd$(@D)\ -c "$(OX)\rebuild_.c"

"$(OX)\rebuild_.c" : "$(SRCDIR)\rebuild.c"
	"$(OBJDIR)\translate$E" $** > $@

"$(OX)\regexp$O" : "$(OX)\regexp_.c" "$(OX)\regexp.h"
	$(TCC) /Fo$@ /Fd$(@D)\ -c "$(OX)\regexp_.c"

"$(OX)\regexp_.c" : "$(SRCDIR)\regexp.c"
	"$(OBJDIR)\translate$E" $** > $@

"$(OX)\repolist$O" : "$(OX)\repolist_.c" "$(OX)\repolist.h"
	$(TCC) /Fo$@ /Fd$(@D)\ -c "$(OX)\repolist_.c"

"$(OX)\repolist_.c" : "$(SRCDIR)\repolist.c"
	"$(OBJDIR)\translate$E" $** > $@

"$(OX)\report$O" : "$(OX)\report_.c" "$(OX)\report.h"
	$(TCC) /Fo$@ /Fd$(@D)\ -c "$(OX)\report_.c"

"$(OX)\report_.c" : "$(SRCDIR)\report.c"
	"$(OBJDIR)\translate$E" $** > $@

"$(OX)\rss$O" : "$(OX)\rss_.c" "$(OX)\rss.h"
	$(TCC) /Fo$@ /Fd$(@D)\ -c "$(OX)\rss_.c"

"$(OX)\rss_.c" : "$(SRCDIR)\rss.c"
	"$(OBJDIR)\translate$E" $** > $@

"$(OX)\schema$O" : "$(OX)\schema_.c" "$(OX)\schema.h"
	$(TCC) /Fo$@ /Fd$(@D)\ -c "$(OX)\schema_.c"

"$(OX)\schema_.c" : "$(SRCDIR)\schema.c"
	"$(OBJDIR)\translate$E" $** > $@

"$(OX)\search$O" : "$(OX)\search_.c" "$(OX)\search.h"
	$(TCC) /Fo$@ /Fd$(@D)\ -c "$(OX)\search_.c"

"$(OX)\search_.c" : "$(SRCDIR)\search.c"
	"$(OBJDIR)\translate$E" $** > $@

"$(OX)\security_audit$O" : "$(OX)\security_audit_.c" "$(OX)\security_audit.h"
	$(TCC) /Fo$@ /Fd$(@D)\ -c "$(OX)\security_audit_.c"

"$(OX)\security_audit_.c" : "$(SRCDIR)\security_audit.c"
	"$(OBJDIR)\translate$E" $** > $@

"$(OX)\setup$O" : "$(OX)\setup_.c" "$(OX)\setup.h"
	$(TCC) /Fo$@ /Fd$(@D)\ -c "$(OX)\setup_.c"

"$(OX)\setup_.c" : "$(SRCDIR)\setup.c"
	"$(OBJDIR)\translate$E" $** > $@

"$(OX)\setupuser$O" : "$(OX)\setupuser_.c" "$(OX)\setupuser.h"
	$(TCC) /Fo$@ /Fd$(@D)\ -c "$(OX)\setupuser_.c"

"$(OX)\setupuser_.c" : "$(SRCDIR)\setupuser.c"
	"$(OBJDIR)\translate$E" $** > $@

"$(OX)\sha1$O" : "$(OX)\sha1_.c" "$(OX)\sha1.h"
	$(TCC) /Fo$@ /Fd$(@D)\ -c "$(OX)\sha1_.c"

"$(OX)\sha1_.c" : "$(SRCDIR)\sha1.c"
	"$(OBJDIR)\translate$E" $** > $@

"$(OX)\sha1hard$O" : "$(OX)\sha1hard_.c" "$(OX)\sha1hard.h"
	$(TCC) /Fo$@ /Fd$(@D)\ -c "$(OX)\sha1hard_.c"

"$(OX)\sha1hard_.c" : "$(SRCDIR)\sha1hard.c"
	"$(OBJDIR)\translate$E" $** > $@

"$(OX)\sha3$O" : "$(OX)\sha3_.c" "$(OX)\sha3.h"
	$(TCC) /Fo$@ /Fd$(@D)\ -c "$(OX)\sha3_.c"

"$(OX)\sha3_.c" : "$(SRCDIR)\sha3.c"
	"$(OBJDIR)\translate$E" $** > $@

"$(OX)\shun$O" : "$(OX)\shun_.c" "$(OX)\shun.h"
	$(TCC) /Fo$@ /Fd$(@D)\ -c "$(OX)\shun_.c"

"$(OX)\shun_.c" : "$(SRCDIR)\shun.c"
	"$(OBJDIR)\translate$E" $** > $@

"$(OX)\sitemap$O" : "$(OX)\sitemap_.c" "$(OX)\sitemap.h"
	$(TCC) /Fo$@ /Fd$(@D)\ -c "$(OX)\sitemap_.c"

"$(OX)\sitemap_.c" : "$(SRCDIR)\sitemap.c"
	"$(OBJDIR)\translate$E" $** > $@

"$(OX)\skins$O" : "$(OX)\skins_.c" "$(OX)\skins.h"
	$(TCC) /Fo$@ /Fd$(@D)\ -c "$(OX)\skins_.c"

"$(OX)\skins_.c" : "$(SRCDIR)\skins.c"
	"$(OBJDIR)\translate$E" $** > $@

"$(OX)\smtp$O" : "$(OX)\smtp_.c" "$(OX)\smtp.h"
	$(TCC) /Fo$@ /Fd$(@D)\ -c "$(OX)\smtp_.c"

"$(OX)\smtp_.c" : "$(SRCDIR)\smtp.c"
	"$(OBJDIR)\translate$E" $** > $@

"$(OX)\sqlcmd$O" : "$(OX)\sqlcmd_.c" "$(OX)\sqlcmd.h"
	$(TCC) /Fo$@ /Fd$(@D)\ -c "$(OX)\sqlcmd_.c"

"$(OX)\sqlcmd_.c" : "$(SRCDIR)\sqlcmd.c"
	"$(OBJDIR)\translate$E" $** > $@

"$(OX)\stash$O" : "$(OX)\stash_.c" "$(OX)\stash.h"
	$(TCC) /Fo$@ /Fd$(@D)\ -c "$(OX)\stash_.c"

"$(OX)\stash_.c" : "$(SRCDIR)\stash.c"
	"$(OBJDIR)\translate$E" $** > $@

"$(OX)\stat$O" : "$(OX)\stat_.c" "$(OX)\stat.h"
	$(TCC) /Fo$@ /Fd$(@D)\ -c "$(OX)\stat_.c"

"$(OX)\stat_.c" : "$(SRCDIR)\stat.c"
	"$(OBJDIR)\translate$E" $** > $@

"$(OX)\statrep$O" : "$(OX)\statrep_.c" "$(OX)\statrep.h"
	$(TCC) /Fo$@ /Fd$(@D)\ -c "$(OX)\statrep_.c"

"$(OX)\statrep_.c" : "$(SRCDIR)\statrep.c"
	"$(OBJDIR)\translate$E" $** > $@

"$(OX)\style$O" : "$(OX)\style_.c" "$(OX)\style.h"
	$(TCC) /Fo$@ /Fd$(@D)\ -c "$(OX)\style_.c"

"$(OX)\style_.c" : "$(SRCDIR)\style.c"
	"$(OBJDIR)\translate$E" $** > $@

"$(OX)\sync$O" : "$(OX)\sync_.c" "$(OX)\sync.h"
	$(TCC) /Fo$@ /Fd$(@D)\ -c "$(OX)\sync_.c"

"$(OX)\sync_.c" : "$(SRCDIR)\sync.c"
	"$(OBJDIR)\translate$E" $** > $@

"$(OX)\tag$O" : "$(OX)\tag_.c" "$(OX)\tag.h"
	$(TCC) /Fo$@ /Fd$(@D)\ -c "$(OX)\tag_.c"

"$(OX)\tag_.c" : "$(SRCDIR)\tag.c"
	"$(OBJDIR)\translate$E" $** > $@

"$(OX)\tar$O" : "$(OX)\tar_.c" "$(OX)\tar.h"
	$(TCC) /Fo$@ /Fd$(@D)\ -c "$(OX)\tar_.c"

"$(OX)\tar_.c" : "$(SRCDIR)\tar.c"
	"$(OBJDIR)\translate$E" $** > $@

"$(OX)\terminal$O" : "$(OX)\terminal_.c" "$(OX)\terminal.h"
	$(TCC) /Fo$@ /Fd$(@D)\ -c "$(OX)\terminal_.c"

"$(OX)\terminal_.c" : "$(SRCDIR)\terminal.c"
	"$(OBJDIR)\translate$E" $** > $@

"$(OX)\th_main$O" : "$(OX)\th_main_.c" "$(OX)\th_main.h"
	$(TCC) /Fo$@ /Fd$(@D)\ -c "$(OX)\th_main_.c"

"$(OX)\th_main_.c" : "$(SRCDIR)\th_main.c"
	"$(OBJDIR)\translate$E" $** > $@

"$(OX)\timeline$O" : "$(OX)\timeline_.c" "$(OX)\timeline.h"
	$(TCC) /Fo$@ /Fd$(@D)\ -c "$(OX)\timeline_.c"

"$(OX)\timeline_.c" : "$(SRCDIR)\timeline.c"
	"$(OBJDIR)\translate$E" $** > $@

"$(OX)\tkt$O" : "$(OX)\tkt_.c" "$(OX)\tkt.h"
	$(TCC) /Fo$@ /Fd$(@D)\ -c "$(OX)\tkt_.c"

"$(OX)\tkt_.c" : "$(SRCDIR)\tkt.c"
	"$(OBJDIR)\translate$E" $** > $@

"$(OX)\tktsetup$O" : "$(OX)\tktsetup_.c" "$(OX)\tktsetup.h"
	$(TCC) /Fo$@ /Fd$(@D)\ -c "$(OX)\tktsetup_.c"

"$(OX)\tktsetup_.c" : "$(SRCDIR)\tktsetup.c"
	"$(OBJDIR)\translate$E" $** > $@

"$(OX)\undo$O" : "$(OX)\undo_.c" "$(OX)\undo.h"
	$(TCC) /Fo$@ /Fd$(@D)\ -c "$(OX)\undo_.c"

"$(OX)\undo_.c" : "$(SRCDIR)\undo.c"
	"$(OBJDIR)\translate$E" $** > $@

"$(OX)\unicode$O" : "$(OX)\unicode_.c" "$(OX)\unicode.h"
	$(TCC) /Fo$@ /Fd$(@D)\ -c "$(OX)\unicode_.c"

"$(OX)\unicode_.c" : "$(SRCDIR)\unicode.c"
	"$(OBJDIR)\translate$E" $** > $@

"$(OX)\unversioned$O" : "$(OX)\unversioned_.c" "$(OX)\unversioned.h"
	$(TCC) /Fo$@ /Fd$(@D)\ -c "$(OX)\unversioned_.c"

"$(OX)\unversioned_.c" : "$(SRCDIR)\unversioned.c"
	"$(OBJDIR)\translate$E" $** > $@

"$(OX)\update$O" : "$(OX)\update_.c" "$(OX)\update.h"
	$(TCC) /Fo$@ /Fd$(@D)\ -c "$(OX)\update_.c"

"$(OX)\update_.c" : "$(SRCDIR)\update.c"
	"$(OBJDIR)\translate$E" $** > $@

"$(OX)\url$O" : "$(OX)\url_.c" "$(OX)\url.h"
	$(TCC) /Fo$@ /Fd$(@D)\ -c "$(OX)\url_.c"

"$(OX)\url_.c" : "$(SRCDIR)\url.c"
	"$(OBJDIR)\translate$E" $** > $@

"$(OX)\user$O" : "$(OX)\user_.c" "$(OX)\user.h"
	$(TCC) /Fo$@ /Fd$(@D)\ -c "$(OX)\user_.c"

"$(OX)\user_.c" : "$(SRCDIR)\user.c"
	"$(OBJDIR)\translate$E" $** > $@

"$(OX)\utf8$O" : "$(OX)\utf8_.c" "$(OX)\utf8.h"
	$(TCC) /Fo$@ /Fd$(@D)\ -c "$(OX)\utf8_.c"

"$(OX)\utf8_.c" : "$(SRCDIR)\utf8.c"
	"$(OBJDIR)\translate$E" $** > $@

"$(OX)\util$O" : "$(OX)\util_.c" "$(OX)\util.h"
	$(TCC) /Fo$@ /Fd$(@D)\ -c "$(OX)\util_.c"

"$(OX)\util_.c" : "$(SRCDIR)\util.c"
	"$(OBJDIR)\translate$E" $** > $@

"$(OX)\verify$O" : "$(OX)\verify_.c" "$(OX)\verify.h"
	$(TCC) /Fo$@ /Fd$(@D)\ -c "$(OX)\verify_.c"

"$(OX)\verify_.c" : "$(SRCDIR)\verify.c"
	"$(OBJDIR)\translate$E" $** > $@

"$(OX)\vfile$O" : "$(OX)\vfile_.c" "$(OX)\vfile.h"
	$(TCC) /Fo$@ /Fd$(@D)\ -c "$(OX)\vfile_.c"

"$(OX)\vfile_.c" : "$(SRCDIR)\vfile.c"
	"$(OBJDIR)\translate$E" $** > $@

"$(OX)\wiki$O" : "$(OX)\wiki_.c" "$(OX)\wiki.h"
	$(TCC) /Fo$@ /Fd$(@D)\ -c "$(OX)\wiki_.c"

"$(OX)\wiki_.c" : "$(SRCDIR)\wiki.c"
	"$(OBJDIR)\translate$E" $** > $@

"$(OX)\wikiformat$O" : "$(OX)\wikiformat_.c" "$(OX)\wikiformat.h"
	$(TCC) /Fo$@ /Fd$(@D)\ -c "$(OX)\wikiformat_.c"

"$(OX)\wikiformat_.c" : "$(SRCDIR)\wikiformat.c"
	"$(OBJDIR)\translate$E" $** > $@

"$(OX)\winfile$O" : "$(OX)\winfile_.c" "$(OX)\winfile.h"
	$(TCC) /Fo$@ /Fd$(@D)\ -c "$(OX)\winfile_.c"

"$(OX)\winfile_.c" : "$(SRCDIR)\winfile.c"
	"$(OBJDIR)\translate$E" $** > $@

"$(OX)\winhttp$O" : "$(OX)\winhttp_.c" "$(OX)\winhttp.h"
	$(TCC) /Fo$@ /Fd$(@D)\ -c "$(OX)\winhttp_.c"

"$(OX)\winhttp_.c" : "$(SRCDIR)\winhttp.c"
	"$(OBJDIR)\translate$E" $** > $@

"$(OX)\xfer$O" : "$(OX)\xfer_.c" "$(OX)\xfer.h"
	$(TCC) /Fo$@ /Fd$(@D)\ -c "$(OX)\xfer_.c"

"$(OX)\xfer_.c" : "$(SRCDIR)\xfer.c"
	"$(OBJDIR)\translate$E" $** > $@

"$(OX)\xfersetup$O" : "$(OX)\xfersetup_.c" "$(OX)\xfersetup.h"
	$(TCC) /Fo$@ /Fd$(@D)\ -c "$(OX)\xfersetup_.c"

"$(OX)\xfersetup_.c" : "$(SRCDIR)\xfersetup.c"
	"$(OBJDIR)\translate$E" $** > $@

"$(OX)\zip$O" : "$(OX)\zip_.c" "$(OX)\zip.h"
	$(TCC) /Fo$@ /Fd$(@D)\ -c "$(OX)\zip_.c"

"$(OX)\zip_.c" : "$(SRCDIR)\zip.c"
	"$(OBJDIR)\translate$E" $** > $@

"$(OX)\fossil.res" : "$(B)\win\fossil.rc"
	$(RCC) /fo $@ $**

"$(OX)\headers": "$(OBJDIR)\makeheaders$E" "$(OX)\page_index.h" "$(OX)\builtin_data.h" "$(OX)\VERSION.h"
	"$(OBJDIR)\makeheaders$E" "$(OX)\add_.c":"$(OX)\add.h" \
			"$(OX)\ajax_.c":"$(OX)\ajax.h" \
			"$(OX)\alerts_.c":"$(OX)\alerts.h" \
			"$(OX)\allrepo_.c":"$(OX)\allrepo.h" \
			"$(OX)\attach_.c":"$(OX)\attach.h" \
			"$(OX)\backlink_.c":"$(OX)\backlink.h" \
			"$(OX)\backoffice_.c":"$(OX)\backoffice.h" \
			"$(OX)\bag_.c":"$(OX)\bag.h" \
			"$(OX)\bisect_.c":"$(OX)\bisect.h" \
			"$(OX)\blob_.c":"$(OX)\blob.h" \
			"$(OX)\branch_.c":"$(OX)\branch.h" \
			"$(OX)\browse_.c":"$(OX)\browse.h" \
			"$(OX)\builtin_.c":"$(OX)\builtin.h" \
			"$(OX)\bundle_.c":"$(OX)\bundle.h" \
			"$(OX)\cache_.c":"$(OX)\cache.h" \
			"$(OX)\capabilities_.c":"$(OX)\capabilities.h" \
			"$(OX)\captcha_.c":"$(OX)\captcha.h" \
			"$(OX)\cgi_.c":"$(OX)\cgi.h" \
			"$(OX)\chat_.c":"$(OX)\chat.h" \
			"$(OX)\checkin_.c":"$(OX)\checkin.h" \
			"$(OX)\checkout_.c":"$(OX)\checkout.h" \
			"$(OX)\clearsign_.c":"$(OX)\clearsign.h" \
			"$(OX)\clone_.c":"$(OX)\clone.h" \
			"$(OX)\color_.c":"$(OX)\color.h" \
			"$(OX)\comformat_.c":"$(OX)\comformat.h" \
			"$(OX)\configure_.c":"$(OX)\configure.h" \
			"$(OX)\content_.c":"$(OX)\content.h" \
			"$(OX)\cookies_.c":"$(OX)\cookies.h" \
			"$(OX)\db_.c":"$(OX)\db.h" \
			"$(OX)\delta_.c":"$(OX)\delta.h" \
			"$(OX)\deltacmd_.c":"$(OX)\deltacmd.h" \
			"$(OX)\deltafunc_.c":"$(OX)\deltafunc.h" \
			"$(OX)\descendants_.c":"$(OX)\descendants.h" \
			"$(OX)\diff_.c":"$(OX)\diff.h" \
			"$(OX)\diffcmd_.c":"$(OX)\diffcmd.h" \
			"$(OX)\dispatch_.c":"$(OX)\dispatch.h" \
			"$(OX)\doc_.c":"$(OX)\doc.h" \
			"$(OX)\encode_.c":"$(OX)\encode.h" \
			"$(OX)\etag_.c":"$(OX)\etag.h" \
			"$(OX)\event_.c":"$(OX)\event.h" \
			"$(OX)\export_.c":"$(OX)\export.h" \
			"$(OX)\extcgi_.c":"$(OX)\extcgi.h" \
			"$(OX)\file_.c":"$(OX)\file.h" \
			"$(OX)\fileedit_.c":"$(OX)\fileedit.h" \
			"$(OX)\finfo_.c":"$(OX)\finfo.h" \
			"$(OX)\foci_.c":"$(OX)\foci.h" \
			"$(OX)\forum_.c":"$(OX)\forum.h" \
			"$(OX)\fshell_.c":"$(OX)\fshell.h" \
			"$(OX)\fusefs_.c":"$(OX)\fusefs.h" \
			"$(OX)\fuzz_.c":"$(OX)\fuzz.h" \
			"$(OX)\glob_.c":"$(OX)\glob.h" \
			"$(OX)\graph_.c":"$(OX)\graph.h" \
			"$(OX)\gzip_.c":"$(OX)\gzip.h" \
			"$(OX)\hname_.c":"$(OX)\hname.h" \
			"$(OX)\hook_.c":"$(OX)\hook.h" \
			"$(OX)\http_.c":"$(OX)\http.h" \
			"$(OX)\http_socket_.c":"$(OX)\http_socket.h" \
			"$(OX)\http_ssl_.c":"$(OX)\http_ssl.h" \
			"$(OX)\http_transport_.c":"$(OX)\http_transport.h" \
			"$(OX)\import_.c":"$(OX)\import.h" \
			"$(OX)\info_.c":"$(OX)\info.h" \
			"$(OX)\interwiki_.c":"$(OX)\interwiki.h" \
			"$(OX)\json_.c":"$(OX)\json.h" \
			"$(OX)\json_artifact_.c":"$(OX)\json_artifact.h" \
			"$(OX)\json_branch_.c":"$(OX)\json_branch.h" \
			"$(OX)\json_config_.c":"$(OX)\json_config.h" \
			"$(OX)\json_diff_.c":"$(OX)\json_diff.h" \
			"$(OX)\json_dir_.c":"$(OX)\json_dir.h" \
			"$(OX)\json_finfo_.c":"$(OX)\json_finfo.h" \
			"$(OX)\json_login_.c":"$(OX)\json_login.h" \
			"$(OX)\json_query_.c":"$(OX)\json_query.h" \
			"$(OX)\json_report_.c":"$(OX)\json_report.h" \
			"$(OX)\json_status_.c":"$(OX)\json_status.h" \
			"$(OX)\json_tag_.c":"$(OX)\json_tag.h" \
			"$(OX)\json_timeline_.c":"$(OX)\json_timeline.h" \
			"$(OX)\json_user_.c":"$(OX)\json_user.h" \
			"$(OX)\json_wiki_.c":"$(OX)\json_wiki.h" \
			"$(OX)\leaf_.c":"$(OX)\leaf.h" \
			"$(OX)\loadctrl_.c":"$(OX)\loadctrl.h" \
			"$(OX)\login_.c":"$(OX)\login.h" \
			"$(OX)\lookslike_.c":"$(OX)\lookslike.h" \
			"$(OX)\main_.c":"$(OX)\main.h" \
			"$(OX)\manifest_.c":"$(OX)\manifest.h" \
			"$(OX)\markdown_.c":"$(OX)\markdown.h" \
			"$(OX)\markdown_html_.c":"$(OX)\markdown_html.h" \
			"$(OX)\md5_.c":"$(OX)\md5.h" \
			"$(OX)\merge_.c":"$(OX)\merge.h" \
			"$(OX)\merge3_.c":"$(OX)\merge3.h" \
			"$(OX)\moderate_.c":"$(OX)\moderate.h" \
			"$(OX)\name_.c":"$(OX)\name.h" \
			"$(OX)\patch_.c":"$(OX)\patch.h" \
			"$(OX)\path_.c":"$(OX)\path.h" \
			"$(OX)\piechart_.c":"$(OX)\piechart.h" \
			"$(OX)\pikchrshow_.c":"$(OX)\pikchrshow.h" \
			"$(OX)\pivot_.c":"$(OX)\pivot.h" \
			"$(OX)\popen_.c":"$(OX)\popen.h" \
			"$(OX)\pqueue_.c":"$(OX)\pqueue.h" \
			"$(OX)\printf_.c":"$(OX)\printf.h" \
			"$(OX)\publish_.c":"$(OX)\publish.h" \
			"$(OX)\purge_.c":"$(OX)\purge.h" \
			"$(OX)\rebuild_.c":"$(OX)\rebuild.h" \
			"$(OX)\regexp_.c":"$(OX)\regexp.h" \
			"$(OX)\repolist_.c":"$(OX)\repolist.h" \
			"$(OX)\report_.c":"$(OX)\report.h" \
			"$(OX)\rss_.c":"$(OX)\rss.h" \
			"$(OX)\schema_.c":"$(OX)\schema.h" \
			"$(OX)\search_.c":"$(OX)\search.h" \
			"$(OX)\security_audit_.c":"$(OX)\security_audit.h" \
			"$(OX)\setup_.c":"$(OX)\setup.h" \
			"$(OX)\setupuser_.c":"$(OX)\setupuser.h" \
			"$(OX)\sha1_.c":"$(OX)\sha1.h" \
			"$(OX)\sha1hard_.c":"$(OX)\sha1hard.h" \
			"$(OX)\sha3_.c":"$(OX)\sha3.h" \
			"$(OX)\shun_.c":"$(OX)\shun.h" \
			"$(OX)\sitemap_.c":"$(OX)\sitemap.h" \
			"$(OX)\skins_.c":"$(OX)\skins.h" \
			"$(OX)\smtp_.c":"$(OX)\smtp.h" \
			"$(OX)\sqlcmd_.c":"$(OX)\sqlcmd.h" \
			"$(OX)\stash_.c":"$(OX)\stash.h" \
			"$(OX)\stat_.c":"$(OX)\stat.h" \
			"$(OX)\statrep_.c":"$(OX)\statrep.h" \
			"$(OX)\style_.c":"$(OX)\style.h" \
			"$(OX)\sync_.c":"$(OX)\sync.h" \
			"$(OX)\tag_.c":"$(OX)\tag.h" \
			"$(OX)\tar_.c":"$(OX)\tar.h" \
			"$(OX)\terminal_.c":"$(OX)\terminal.h" \
			"$(OX)\th_main_.c":"$(OX)\th_main.h" \
			"$(OX)\timeline_.c":"$(OX)\timeline.h" \
			"$(OX)\tkt_.c":"$(OX)\tkt.h" \
			"$(OX)\tktsetup_.c":"$(OX)\tktsetup.h" \
			"$(OX)\undo_.c":"$(OX)\undo.h" \
			"$(OX)\unicode_.c":"$(OX)\unicode.h" \
			"$(OX)\unversioned_.c":"$(OX)\unversioned.h" \
			"$(OX)\update_.c":"$(OX)\update.h" \
			"$(OX)\url_.c":"$(OX)\url.h" \
			"$(OX)\user_.c":"$(OX)\user.h" \
			"$(OX)\utf8_.c":"$(OX)\utf8.h" \
			"$(OX)\util_.c":"$(OX)\util.h" \
			"$(OX)\verify_.c":"$(OX)\verify.h" \
			"$(OX)\vfile_.c":"$(OX)\vfile.h" \
			"$(OX)\wiki_.c":"$(OX)\wiki.h" \
			"$(OX)\wikiformat_.c":"$(OX)\wikiformat.h" \
			"$(OX)\winfile_.c":"$(OX)\winfile.h" \
			"$(OX)\winhttp_.c":"$(OX)\winhttp.h" \
			"$(OX)\xfer_.c":"$(OX)\xfer.h" \
			"$(OX)\xfersetup_.c":"$(OX)\xfersetup.h" \
			"$(OX)\zip_.c":"$(OX)\zip.h" \
			"$(SRCDIR_extsrc)\pikchr.c":"$(OX)\pikchr.h" \
			"$(SRCDIR_extsrc)\sqlite3.h" \
			"$(SRCDIR)\th.h" \
			"$(OX)\VERSION.h" \
			"$(SRCDIR_extsrc)\cson_amalgamation.h"
	@copy /Y nul: $@
