Fossil SCM

Modify the makemake.tcl script to generate cleaned up makefiles and then regenerate them.

mistachkin 2012-01-18 12:41 trunk
Commit 3d258e515298fc516baf50bd9cb51d3443b32e57
+10 -4
--- src/main.mk
+++ src/main.mk
@@ -1,6 +1,9 @@
1
-# DO NOT EDIT
1
+#
2
+##############################################################################
3
+# WARNING: DO NOT EDIT, AUTOMATICALLY GENERATED FILE (SEE "src/makemake.tcl")
4
+##############################################################################
25
#
36
# This file is automatically generated. Instead of editing this
47
# file, edit "makemake.tcl" then run "tclsh makemake.tcl"
58
# to regenerate this file.
69
#
@@ -317,11 +320,11 @@
317320
$(BCC) -o $(OBJDIR)/mkindex $(SRCDIR)/mkindex.c
318321
319322
$(OBJDIR)/mkversion: $(SRCDIR)/mkversion.c
320323
$(BCC) -o $(OBJDIR)/mkversion $(SRCDIR)/mkversion.c
321324
322
-# WARNING. DANGER. Running the testsuite modifies the repository the
325
+# WARNING. DANGER. Running the test suite modifies the repository the
323326
# build is done from, i.e. the checkout belongs to. Do not sync/push
324327
# the repository after running the tests.
325328
test: $(OBJDIR) $(APPNAME)
326329
$(TCLSH) $(SRCDIR)/../test/tester.tcl $(APPNAME)
327330
@@ -334,12 +337,15 @@
334337
# using -lsqlite3.
335338
SQLITE3_OBJ.1 =
336339
SQLITE3_OBJ.0 = $(OBJDIR)/sqlite3.o
337340
SQLITE3_OBJ. = $(SQLITE3_OBJ.0)
338341
339
-TCL_OBJ.1 =
340
-TCL_OBJ.0 = $(OBJDIR)/th_tcl.o
342
+# The FOSSIL_ENABLE_TCL variable may be undefined, set to 0, or set to 1.
343
+# If it is set to 1, then we need to build the Tcl integration code and
344
+# link to the Tcl library.
345
+TCL_OBJ.0 =
346
+TCL_OBJ.1 = $(OBJDIR)/th_tcl.o
341347
TCL_OBJ. = $(TCL_OBJ.0)
342348
343349
EXTRAOBJ = $(SQLITE3_OBJ.$(USE_SYSTEM_SQLITE)) $(OBJDIR)/shell.o $(OBJDIR)/th.o $(OBJDIR)/th_lang.o $(TCL_OBJ.$(FOSSIL_ENABLE_TCL)) $(OBJDIR)/cson_amalgamation.o
344350
345351
$(APPNAME): $(OBJDIR)/headers $(OBJ) $(EXTRAOBJ)
346352
--- src/main.mk
+++ src/main.mk
@@ -1,6 +1,9 @@
1 # DO NOT EDIT
 
 
 
2 #
3 # This file is automatically generated. Instead of editing this
4 # file, edit "makemake.tcl" then run "tclsh makemake.tcl"
5 # to regenerate this file.
6 #
@@ -317,11 +320,11 @@
317 $(BCC) -o $(OBJDIR)/mkindex $(SRCDIR)/mkindex.c
318
319 $(OBJDIR)/mkversion: $(SRCDIR)/mkversion.c
320 $(BCC) -o $(OBJDIR)/mkversion $(SRCDIR)/mkversion.c
321
322 # WARNING. DANGER. Running the testsuite modifies the repository the
323 # build is done from, i.e. the checkout belongs to. Do not sync/push
324 # the repository after running the tests.
325 test: $(OBJDIR) $(APPNAME)
326 $(TCLSH) $(SRCDIR)/../test/tester.tcl $(APPNAME)
327
@@ -334,12 +337,15 @@
334 # using -lsqlite3.
335 SQLITE3_OBJ.1 =
336 SQLITE3_OBJ.0 = $(OBJDIR)/sqlite3.o
337 SQLITE3_OBJ. = $(SQLITE3_OBJ.0)
338
339 TCL_OBJ.1 =
340 TCL_OBJ.0 = $(OBJDIR)/th_tcl.o
 
 
 
341 TCL_OBJ. = $(TCL_OBJ.0)
342
343 EXTRAOBJ = $(SQLITE3_OBJ.$(USE_SYSTEM_SQLITE)) $(OBJDIR)/shell.o $(OBJDIR)/th.o $(OBJDIR)/th_lang.o $(TCL_OBJ.$(FOSSIL_ENABLE_TCL)) $(OBJDIR)/cson_amalgamation.o
344
345 $(APPNAME): $(OBJDIR)/headers $(OBJ) $(EXTRAOBJ)
346
--- src/main.mk
+++ src/main.mk
@@ -1,6 +1,9 @@
1 #
2 ##############################################################################
3 # WARNING: DO NOT EDIT, AUTOMATICALLY GENERATED FILE (SEE "src/makemake.tcl")
4 ##############################################################################
5 #
6 # This file is automatically generated. Instead of editing this
7 # file, edit "makemake.tcl" then run "tclsh makemake.tcl"
8 # to regenerate this file.
9 #
@@ -317,11 +320,11 @@
320 $(BCC) -o $(OBJDIR)/mkindex $(SRCDIR)/mkindex.c
321
322 $(OBJDIR)/mkversion: $(SRCDIR)/mkversion.c
323 $(BCC) -o $(OBJDIR)/mkversion $(SRCDIR)/mkversion.c
324
325 # WARNING. DANGER. Running the test suite modifies the repository the
326 # build is done from, i.e. the checkout belongs to. Do not sync/push
327 # the repository after running the tests.
328 test: $(OBJDIR) $(APPNAME)
329 $(TCLSH) $(SRCDIR)/../test/tester.tcl $(APPNAME)
330
@@ -334,12 +337,15 @@
337 # using -lsqlite3.
338 SQLITE3_OBJ.1 =
339 SQLITE3_OBJ.0 = $(OBJDIR)/sqlite3.o
340 SQLITE3_OBJ. = $(SQLITE3_OBJ.0)
341
342 # The FOSSIL_ENABLE_TCL variable may be undefined, set to 0, or set to 1.
343 # If it is set to 1, then we need to build the Tcl integration code and
344 # link to the Tcl library.
345 TCL_OBJ.0 =
346 TCL_OBJ.1 = $(OBJDIR)/th_tcl.o
347 TCL_OBJ. = $(TCL_OBJ.0)
348
349 EXTRAOBJ = $(SQLITE3_OBJ.$(USE_SYSTEM_SQLITE)) $(OBJDIR)/shell.o $(OBJDIR)/th.o $(OBJDIR)/th_lang.o $(TCL_OBJ.$(FOSSIL_ENABLE_TCL)) $(OBJDIR)/cson_amalgamation.o
350
351 $(APPNAME): $(OBJDIR)/headers $(OBJ) $(EXTRAOBJ)
352
+152 -36
--- src/makemake.tcl
+++ src/makemake.tcl
@@ -139,11 +139,14 @@
139139
#
140140
puts "building main.mk"
141141
set output_file [open main.mk w]
142142
fconfigure $output_file -translation binary
143143
144
-writeln {# DO NOT EDIT
144
+writeln {#
145
+##############################################################################
146
+# WARNING: DO NOT EDIT, AUTOMATICALLY GENERATED FILE (SEE "src/makemake.tcl")
147
+##############################################################################
145148
#
146149
# This file is automatically generated. Instead of editing this
147150
# file, edit "makemake.tcl" then run "tclsh makemake.tcl"
148151
# to regenerate this file.
149152
#
@@ -190,11 +193,11 @@
190193
$(BCC) -o $(OBJDIR)/mkindex $(SRCDIR)/mkindex.c
191194
192195
$(OBJDIR)/mkversion: $(SRCDIR)/mkversion.c
193196
$(BCC) -o $(OBJDIR)/mkversion $(SRCDIR)/mkversion.c
194197
195
-# WARNING. DANGER. Running the testsuite modifies the repository the
198
+# WARNING. DANGER. Running the test suite modifies the repository the
196199
# build is done from, i.e. the checkout belongs to. Do not sync/push
197200
# the repository after running the tests.
198201
test: $(OBJDIR) $(APPNAME)
199202
$(TCLSH) $(SRCDIR)/../test/tester.tcl $(APPNAME)
200203
@@ -209,12 +212,15 @@
209212
# using -lsqlite3.
210213
SQLITE3_OBJ.1 =
211214
SQLITE3_OBJ.0 = $(OBJDIR)/sqlite3.o
212215
SQLITE3_OBJ. = $(SQLITE3_OBJ.0)
213216
214
-TCL_OBJ.1 =
215
-TCL_OBJ.0 = $(OBJDIR)/th_tcl.o
217
+# The FOSSIL_ENABLE_TCL variable may be undefined, set to 0, or set to 1.
218
+# If it is set to 1, then we need to build the Tcl integration code and
219
+# link to the Tcl library.
220
+TCL_OBJ.0 =
221
+TCL_OBJ.1 = $(OBJDIR)/th_tcl.o
216222
TCL_OBJ. = $(TCL_OBJ.0)
217223
218224
EXTRAOBJ = \
219225
$(SQLITE3_OBJ.$(USE_SYSTEM_SQLITE)) \
220226
$(OBJDIR)/shell.o \
@@ -307,20 +313,27 @@
307313
set output_file [open ../win/Makefile.mingw w]
308314
fconfigure $output_file -translation binary
309315
310316
writeln {#!/usr/bin/make
311317
#
312
-# This is a makefile for us on windows using mingw.
318
+##############################################################################
319
+# WARNING: DO NOT EDIT, AUTOMATICALLY GENERATED FILE (SEE "src/makemake.tcl")
320
+##############################################################################
321
+#
322
+# This file is automatically generated. Instead of editing this
323
+# file, edit "makemake.tcl" then run "tclsh makemake.tcl"
324
+# to regenerate this file.
325
+#
326
+# This is a makefile for us on windows using MinGW.
313327
#
314328
#### The toplevel directory of the source tree. Fossil can be built
315329
# in a directory that is separate from the source tree. Just change
316330
# the following to point from the build directory to the src/ folder.
317331
#
318332
SRCDIR = src
319333
320334
#### The directory into which object code files should be written.
321
-#
322335
#
323336
OBJDIR = wbld
324337
325338
#### C Compiler and options for use in building executables that
326339
# will run on the platform that is doing the build. This is used
@@ -329,51 +342,134 @@
329342
#
330343
BCC = gcc
331344
332345
#### Enable HTTPS support via OpenSSL (links to libssl and libcrypto)
333346
#
334
-# FOSSIL_ENABLE_SSL=1
335
-
336
-#### The directory in which the zlib compression library is installed.
337
-#
338
-#
339
-ZLIBDIR = /programs/gnuwin32
340
-
341
-#### C Compile and options for use in building executables that
347
+# FOSSIL_ENABLE_SSL = 1
348
+
349
+#### Enable scripting support via Tcl/Tk
350
+#
351
+# FOSSIL_ENABLE_TCL = 1
352
+
353
+#### Use the Tcl source directory instead of the install directory?
354
+# This is useful when Tcl has been compiled statically with MinGW.
355
+#
356
+FOSSIL_TCL_SOURCE = 1
357
+
358
+#### The directories where the zlib include and library files are located.
359
+# The recommended usage here is to use the Sysinternals junction tool
360
+# to create a hard link between an "zlib-1.x.y" sub-directory of the
361
+# Fossil source code directory and the target zlib source directory.
362
+#
363
+ZINCDIR = $(SRCDIR)/../zlib-1.2.5
364
+ZLIBDIR = $(SRCDIR)/../zlib-1.2.5
365
+
366
+#### The directories where the OpenSSL include and library files are located.
367
+# The recommended usage here is to use the Sysinternals junction tool
368
+# to create a hard link between an "openssl-1.x" sub-directory of the
369
+# Fossil source code directory and the target OpenSSL source directory.
370
+#
371
+OPENSSLINCDIR = $(SRCDIR)/../openssl-1.0.0e/include
372
+OPENSSLLIBDIR = $(SRCDIR)/../openssl-1.0.0e
373
+
374
+#### Either the directory where the Tcl library is installed or the Tcl
375
+# source code directory resides (depending on the value of the macro
376
+# FOSSIL_TCL_SOURCE). If this points to the Tcl install directory,
377
+# this directory must have "include" and "lib" sub-directories. If
378
+# this points to the Tcl source code directory, this directory must
379
+# have "generic" and "win" sub-directories. The recommended usage
380
+# here is to use the Sysinternals junction tool to create a hard
381
+# link between a "tcl-8.x" sub-directory of the Fossil source code
382
+# directory and the target Tcl directory. This removes the need to
383
+# hard-code the necessary paths in this Makefile.
384
+#
385
+TCLDIR = $(SRCDIR)/../tcl-8.6
386
+
387
+#### The Tcl source code directory. This defaults to the same value as
388
+# TCLDIR macro (above), which may not be correct. This value will
389
+# only be used if the FOSSIL_TCL_SOURCE macro is defined.
390
+#
391
+TCLSRCDIR = $(TCLDIR)
392
+
393
+#### The Tcl include and library directories. These values will only be
394
+# used if the FOSSIL_TCL_SOURCE macro is not defined.
395
+#
396
+TCLINCDIR = $(TCLDIR)/include
397
+TCLLIBDIR = $(TCLDIR)/lib
398
+
399
+#### Tcl: Which Tcl library do we want to use (8.4, 8.5, 8.6, etc)?
400
+#
401
+LIBTCL = -ltcl86
402
+
403
+#### C Compile and options for use in building executables that
342404
# will run on the target platform. This is usually the same
343405
# as BCC, unless you are cross-compiling. This C compiler builds
344406
# the finished binary for fossil. The BCC compiler above is used
345407
# for building intermediate code-generator tools.
346408
#
347
-TCC = gcc -Os -Wall -L$(ZLIBDIR)/lib -I$(ZLIBDIR)/include
409
+TCC = gcc -Os -Wall -L$(ZLIBDIR) -I$(ZINCDIR)
410
+
411
+# With HTTPS support
412
+ifdef FOSSIL_ENABLE_SSL
413
+TCC += -L$(OPENSSLLIBDIR) -I$(OPENSSLINCDIR)
414
+endif
415
+
416
+# With Tcl support
417
+ifdef FOSSIL_ENABLE_TCL
418
+ifdef FOSSIL_TCL_SOURCE
419
+TCC += -L$(TCLSRCDIR)/win -I$(TCLSRCDIR)/generic -I$(TCLSRCDIR)/win
420
+else
421
+TCC += -L$(TCLLIBDIR) -I$(TCLINCDIR)
422
+endif
423
+endif
348424
349425
# With HTTPS support
350426
ifdef FOSSIL_ENABLE_SSL
351
-TCC += -static -DFOSSIL_ENABLE_SSL=1
427
+TCC += -DFOSSIL_ENABLE_SSL=1
428
+endif
429
+
430
+# With Tcl support (statically linked)
431
+ifdef FOSSIL_ENABLE_TCL
432
+TCC += -DFOSSIL_ENABLE_TCL=1 -DSTATIC_BUILD
352433
endif
353434
354435
#### Extra arguments for linking the finished binary. Fossil needs
355436
# to link against the Z-Lib compression library. There are no
356
-# other dependencies. We sometimes add the -static option here
437
+# other mandatory dependencies. We add the -static option here
357438
# so that we can build a static executable that will run in a
358439
# chroot jail.
359440
#
360
-#LIB = -lz -lws2_32
361
-# OpenSSL:
441
+LIB = -static
442
+LIB += -lmingwex -lz
443
+
444
+# OpenSSL: Add the necessary libaries required, if enabled.
362445
ifdef FOSSIL_ENABLE_SSL
363446
LIB += -lssl -lcrypto -lgdi32
364447
endif
365
-LIB += -lmingwex -lz -lws2_32
366448
367
-#### Tcl shell for use in running the fossil testsuite. This is only
368
-# used for testing. If you do not run
449
+# Tcl: Add the necessary libaries required, if enabled.
450
+ifdef FOSSIL_ENABLE_TCL
451
+LIB += $(LIBTCL)
452
+endif
453
+
454
+#### These libraries MUST appear in the same order as they do for Tcl
455
+# or linking with it will not work (exact reason unknown).
456
+#
457
+ifdef FOSSIL_ENABLE_TCL
458
+LIB += -lnetapi32 -lkernel32 -luser32 -ladvapi32 -lws2_32
459
+else
460
+LIB += -lws2_32
461
+endif
462
+
463
+#### Tcl shell for use in running the fossil test suite. This is only
464
+# used for testing.
369465
#
370466
TCLSH = tclsh
371467
372468
#### Nullsoft installer makensis location
373469
#
374
-MAKENSIS = "c:\Program Files\NSIS\makensis.exe"
470
+MAKENSIS = "$(ProgramFiles)\NSIS\makensis.exe"
375471
376472
#### Include a configuration file that can override any one of these settings.
377473
#
378474
-include config.w32
379475
@@ -427,15 +523,15 @@
427523
$(BCC) -o $(OBJDIR)/mkindex $(SRCDIR)/mkindex.c
428524
429525
$(VERSION): $(SRCDIR)/mkversion.c
430526
$(BCC) -o $(OBJDIR)/version $(SRCDIR)/mkversion.c
431527
432
-# WARNING. DANGER. Running the testsuite modifies the repository the
528
+# WARNING. DANGER. Running the test suite modifies the repository the
433529
# build is done from, i.e. the checkout belongs to. Do not sync/push
434530
# the repository after running the tests.
435
-test: $(APPNAME)
436
- $(TCLSH) test/tester.tcl $(APPNAME)
531
+test: $(OBJDIR) $(APPNAME)
532
+ $(TCLSH) $(SRCDIR)/../test/tester.tcl $(APPNAME)
437533
438534
$(OBJDIR)/VERSION.h: $(SRCDIR)/../manifest.uuid $(SRCDIR)/../manifest $(VERSION)
439535
$(VERSION) $(SRCDIR)/../manifest.uuid $(SRCDIR)/../manifest $(SRCDIR)/../VERSION >$(OBJDIR)/VERSION.h
440536
441537
EXTRAOBJ = \
@@ -442,25 +538,29 @@
442538
$(OBJDIR)/sqlite3.o \
443539
$(OBJDIR)/shell.o \
444540
$(OBJDIR)/th.o \
445541
$(OBJDIR)/th_lang.o \
446542
$(OBJDIR)/cson_amalgamation.o
543
+
544
+ifdef FOSSIL_ENABLE_TCL
545
+EXTRAOBJ += $(OBJDIR)/th_tcl.o
546
+endif
447547
448548
$(APPNAME): $(OBJDIR)/headers $(OBJ) $(EXTRAOBJ) $(OBJDIR)/icon.o
449549
$(TCC) -o $(APPNAME) $(OBJ) $(EXTRAOBJ) $(LIB) $(OBJDIR)/icon.o
450550
451551
# This rule prevents make from using its default rules to try build
452552
# an executable named "manifest" out of the file named "manifest.c"
453553
#
454
-$(SRCDIR)/../manifest:
554
+$(SRCDIR)/../manifest:
455555
# noop
456556
457
-# Requires msys to be installed in addition to the mingw, for the "rm"
557
+# Requires msys to be installed in addition to the MinGW, for the "rm"
458558
# command. "del" will not work here because it is not a separate command
459559
# but a MSDOS-shell builtin.
460560
#
461
-clean:
561
+clean:
462562
rm -rf $(OBJDIR) $(APPNAME)
463563
464564
setup: $(OBJDIR) $(APPNAME)
465565
$(MAKENSIS) ./fossil.nsi
466566
@@ -498,11 +598,11 @@
498598
writeln "\t\$(XTCC) $opt -c \$(SRCDIR)/sqlite3.c -o \$(OBJDIR)/sqlite3.o\n"
499599
500600
set opt {}
501601
writeln "\$(OBJDIR)/cson_amalgamation.o:\t\$(SRCDIR)/cson_amalgamation.c"
502602
writeln "\t\$(XTCC) $opt -c \$(SRCDIR)/cson_amalgamation.c -o \$(OBJDIR)/cson_amalgamation.o -DCSON_FOSSIL_MODE\n"
503
-writeln "\$(OBJDIR)/json.o \$(OBJDIR)/json_artifact.o \$(OBJDIR)/json_branch.o \$(OBJDIR)/json_diff.o \$(OBJDIR)/json_login.o \$(OBJDIR)/json_query.o \$(OBJDIR)/json_report.o \$(OBJDIR)/json_tag.o \$(OBJDIR)/json_timeline.o \$(OBJDIR)/json_user.o \$(OBJDIR)/json_wiki.o : \$(SRCDIR)/json_detail.h"
603
+writeln "\$(OBJDIR)/json.o \$(OBJDIR)/json_artifact.o \$(OBJDIR)/json_branch.o \$(OBJDIR)/json_diff.o \$(OBJDIR)/json_login.o \$(OBJDIR)/json_query.o \$(OBJDIR)/json_report.o \$(OBJDIR)/json_tag.o \$(OBJDIR)/json_timeline.o \$(OBJDIR)/json_user.o \$(OBJDIR)/json_wiki.o : \$(SRCDIR)/json_detail.h\n"
504604
505605
writeln "\$(OBJDIR)/shell.o:\t\$(SRCDIR)/shell.c \$(SRCDIR)/sqlite3.h"
506606
set opt {-Dmain=sqlite3_shell}
507607
append opt " -DSQLITE_OMIT_LOAD_EXTENSION=1"
508608
writeln "\t\$(XTCC) $opt -c \$(SRCDIR)/shell.c -o \$(OBJDIR)/shell.o\n"
@@ -511,10 +611,15 @@
511611
writeln "\t\$(XTCC) -I\$(SRCDIR) -c \$(SRCDIR)/th.c -o \$(OBJDIR)/th.o\n"
512612
513613
writeln "\$(OBJDIR)/th_lang.o:\t\$(SRCDIR)/th_lang.c"
514614
writeln "\t\$(XTCC) -I\$(SRCDIR) -c \$(SRCDIR)/th_lang.c -o \$(OBJDIR)/th_lang.o\n"
515615
616
+writeln {ifdef FOSSIL_ENABLE_TCL
617
+$(OBJDIR)/th_tcl.o: $(SRCDIR)/th_tcl.c
618
+ $(XTCC) -I$(SRCDIR) -c $(SRCDIR)/th_tcl.c -o $(OBJDIR)/th_tcl.o
619
+endif
620
+}
516621
517622
close $output_file
518623
#
519624
# End of the main.mk output
520625
##############################################################################
@@ -524,15 +629,19 @@
524629
#
525630
puts "building ../win/Makefile.dmc"
526631
set output_file [open ../win/Makefile.dmc w]
527632
fconfigure $output_file -translation binary
528633
529
-writeln {# DO NOT EDIT
634
+writeln {#
635
+##############################################################################
636
+# WARNING: DO NOT EDIT, AUTOMATICALLY GENERATED FILE (SEE "src/makemake.tcl")
637
+##############################################################################
530638
#
531639
# This file is automatically generated. Instead of editing this
532
-# file, edit "makemake.tcl" then run "tclsh src/makemake.tcl"
640
+# file, edit "makemake.tcl" then run "tclsh makemake.tcl"
533641
# to regenerate this file.
642
+#
534643
B = ..
535644
SRCDIR = $B\src
536645
OBJDIR = .
537646
O = .obj
538647
E = .exe
@@ -668,15 +777,19 @@
668777
#
669778
puts "building ../win/Makefile.msc"
670779
set output_file [open ../win/Makefile.msc w]
671780
fconfigure $output_file -translation binary
672781
673
-writeln {# DO NOT EDIT
782
+writeln {#
783
+##############################################################################
784
+# WARNING: DO NOT EDIT, AUTOMATICALLY GENERATED FILE (SEE "src/makemake.tcl")
785
+##############################################################################
674786
#
675787
# This file is automatically generated. Instead of editing this
676
-# file, edit "makemake.tcl" then run "tclsh src/makemake.tcl"
788
+# file, edit "makemake.tcl" then run "tclsh makemake.tcl"
677789
# to regenerate this file.
790
+#
678791
B = ..
679792
SRCDIR = $B\src
680793
OBJDIR = .
681794
OX = .
682795
O = .obj
@@ -821,14 +934,17 @@
821934
#
822935
puts "building ../win/Makefile.PellesCGMake"
823936
set output_file [open ../win/Makefile.PellesCGMake w]
824937
fconfigure $output_file -translation binary
825938
826
-writeln {# DO NOT EDIT
939
+writeln {#
940
+##############################################################################
941
+# WARNING: DO NOT EDIT, AUTOMATICALLY GENERATED FILE (SEE "src/makemake.tcl")
942
+##############################################################################
827943
#
828944
# This file is automatically generated. Instead of editing this
829
-# file, edit "makemake.tcl" then run "tclsh src/makemake.tcl"
945
+# file, edit "makemake.tcl" then run "tclsh makemake.tcl"
830946
# to regenerate this file.
831947
#
832948
# HowTo
833949
# -----
834950
#
835951
--- src/makemake.tcl
+++ src/makemake.tcl
@@ -139,11 +139,14 @@
139 #
140 puts "building main.mk"
141 set output_file [open main.mk w]
142 fconfigure $output_file -translation binary
143
144 writeln {# DO NOT EDIT
 
 
 
145 #
146 # This file is automatically generated. Instead of editing this
147 # file, edit "makemake.tcl" then run "tclsh makemake.tcl"
148 # to regenerate this file.
149 #
@@ -190,11 +193,11 @@
190 $(BCC) -o $(OBJDIR)/mkindex $(SRCDIR)/mkindex.c
191
192 $(OBJDIR)/mkversion: $(SRCDIR)/mkversion.c
193 $(BCC) -o $(OBJDIR)/mkversion $(SRCDIR)/mkversion.c
194
195 # WARNING. DANGER. Running the testsuite modifies the repository the
196 # build is done from, i.e. the checkout belongs to. Do not sync/push
197 # the repository after running the tests.
198 test: $(OBJDIR) $(APPNAME)
199 $(TCLSH) $(SRCDIR)/../test/tester.tcl $(APPNAME)
200
@@ -209,12 +212,15 @@
209 # using -lsqlite3.
210 SQLITE3_OBJ.1 =
211 SQLITE3_OBJ.0 = $(OBJDIR)/sqlite3.o
212 SQLITE3_OBJ. = $(SQLITE3_OBJ.0)
213
214 TCL_OBJ.1 =
215 TCL_OBJ.0 = $(OBJDIR)/th_tcl.o
 
 
 
216 TCL_OBJ. = $(TCL_OBJ.0)
217
218 EXTRAOBJ = \
219 $(SQLITE3_OBJ.$(USE_SYSTEM_SQLITE)) \
220 $(OBJDIR)/shell.o \
@@ -307,20 +313,27 @@
307 set output_file [open ../win/Makefile.mingw w]
308 fconfigure $output_file -translation binary
309
310 writeln {#!/usr/bin/make
311 #
312 # This is a makefile for us on windows using mingw.
 
 
 
 
 
 
 
 
313 #
314 #### The toplevel directory of the source tree. Fossil can be built
315 # in a directory that is separate from the source tree. Just change
316 # the following to point from the build directory to the src/ folder.
317 #
318 SRCDIR = src
319
320 #### The directory into which object code files should be written.
321 #
322 #
323 OBJDIR = wbld
324
325 #### C Compiler and options for use in building executables that
326 # will run on the platform that is doing the build. This is used
@@ -329,51 +342,134 @@
329 #
330 BCC = gcc
331
332 #### Enable HTTPS support via OpenSSL (links to libssl and libcrypto)
333 #
334 # FOSSIL_ENABLE_SSL=1
335
336 #### The directory in which the zlib compression library is installed.
337 #
338 #
339 ZLIBDIR = /programs/gnuwin32
340
341 #### C Compile and options for use in building executables that
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
342 # will run on the target platform. This is usually the same
343 # as BCC, unless you are cross-compiling. This C compiler builds
344 # the finished binary for fossil. The BCC compiler above is used
345 # for building intermediate code-generator tools.
346 #
347 TCC = gcc -Os -Wall -L$(ZLIBDIR)/lib -I$(ZLIBDIR)/include
 
 
 
 
 
 
 
 
 
 
 
 
 
 
348
349 # With HTTPS support
350 ifdef FOSSIL_ENABLE_SSL
351 TCC += -static -DFOSSIL_ENABLE_SSL=1
 
 
 
 
 
352 endif
353
354 #### Extra arguments for linking the finished binary. Fossil needs
355 # to link against the Z-Lib compression library. There are no
356 # other dependencies. We sometimes add the -static option here
357 # so that we can build a static executable that will run in a
358 # chroot jail.
359 #
360 #LIB = -lz -lws2_32
361 # OpenSSL:
 
 
362 ifdef FOSSIL_ENABLE_SSL
363 LIB += -lssl -lcrypto -lgdi32
364 endif
365 LIB += -lmingwex -lz -lws2_32
366
367 #### Tcl shell for use in running the fossil testsuite. This is only
368 # used for testing. If you do not run
 
 
 
 
 
 
 
 
 
 
 
 
 
 
369 #
370 TCLSH = tclsh
371
372 #### Nullsoft installer makensis location
373 #
374 MAKENSIS = "c:\Program Files\NSIS\makensis.exe"
375
376 #### Include a configuration file that can override any one of these settings.
377 #
378 -include config.w32
379
@@ -427,15 +523,15 @@
427 $(BCC) -o $(OBJDIR)/mkindex $(SRCDIR)/mkindex.c
428
429 $(VERSION): $(SRCDIR)/mkversion.c
430 $(BCC) -o $(OBJDIR)/version $(SRCDIR)/mkversion.c
431
432 # WARNING. DANGER. Running the testsuite modifies the repository the
433 # build is done from, i.e. the checkout belongs to. Do not sync/push
434 # the repository after running the tests.
435 test: $(APPNAME)
436 $(TCLSH) test/tester.tcl $(APPNAME)
437
438 $(OBJDIR)/VERSION.h: $(SRCDIR)/../manifest.uuid $(SRCDIR)/../manifest $(VERSION)
439 $(VERSION) $(SRCDIR)/../manifest.uuid $(SRCDIR)/../manifest $(SRCDIR)/../VERSION >$(OBJDIR)/VERSION.h
440
441 EXTRAOBJ = \
@@ -442,25 +538,29 @@
442 $(OBJDIR)/sqlite3.o \
443 $(OBJDIR)/shell.o \
444 $(OBJDIR)/th.o \
445 $(OBJDIR)/th_lang.o \
446 $(OBJDIR)/cson_amalgamation.o
 
 
 
 
447
448 $(APPNAME): $(OBJDIR)/headers $(OBJ) $(EXTRAOBJ) $(OBJDIR)/icon.o
449 $(TCC) -o $(APPNAME) $(OBJ) $(EXTRAOBJ) $(LIB) $(OBJDIR)/icon.o
450
451 # This rule prevents make from using its default rules to try build
452 # an executable named "manifest" out of the file named "manifest.c"
453 #
454 $(SRCDIR)/../manifest:
455 # noop
456
457 # Requires msys to be installed in addition to the mingw, for the "rm"
458 # command. "del" will not work here because it is not a separate command
459 # but a MSDOS-shell builtin.
460 #
461 clean:
462 rm -rf $(OBJDIR) $(APPNAME)
463
464 setup: $(OBJDIR) $(APPNAME)
465 $(MAKENSIS) ./fossil.nsi
466
@@ -498,11 +598,11 @@
498 writeln "\t\$(XTCC) $opt -c \$(SRCDIR)/sqlite3.c -o \$(OBJDIR)/sqlite3.o\n"
499
500 set opt {}
501 writeln "\$(OBJDIR)/cson_amalgamation.o:\t\$(SRCDIR)/cson_amalgamation.c"
502 writeln "\t\$(XTCC) $opt -c \$(SRCDIR)/cson_amalgamation.c -o \$(OBJDIR)/cson_amalgamation.o -DCSON_FOSSIL_MODE\n"
503 writeln "\$(OBJDIR)/json.o \$(OBJDIR)/json_artifact.o \$(OBJDIR)/json_branch.o \$(OBJDIR)/json_diff.o \$(OBJDIR)/json_login.o \$(OBJDIR)/json_query.o \$(OBJDIR)/json_report.o \$(OBJDIR)/json_tag.o \$(OBJDIR)/json_timeline.o \$(OBJDIR)/json_user.o \$(OBJDIR)/json_wiki.o : \$(SRCDIR)/json_detail.h"
504
505 writeln "\$(OBJDIR)/shell.o:\t\$(SRCDIR)/shell.c \$(SRCDIR)/sqlite3.h"
506 set opt {-Dmain=sqlite3_shell}
507 append opt " -DSQLITE_OMIT_LOAD_EXTENSION=1"
508 writeln "\t\$(XTCC) $opt -c \$(SRCDIR)/shell.c -o \$(OBJDIR)/shell.o\n"
@@ -511,10 +611,15 @@
511 writeln "\t\$(XTCC) -I\$(SRCDIR) -c \$(SRCDIR)/th.c -o \$(OBJDIR)/th.o\n"
512
513 writeln "\$(OBJDIR)/th_lang.o:\t\$(SRCDIR)/th_lang.c"
514 writeln "\t\$(XTCC) -I\$(SRCDIR) -c \$(SRCDIR)/th_lang.c -o \$(OBJDIR)/th_lang.o\n"
515
 
 
 
 
 
516
517 close $output_file
518 #
519 # End of the main.mk output
520 ##############################################################################
@@ -524,15 +629,19 @@
524 #
525 puts "building ../win/Makefile.dmc"
526 set output_file [open ../win/Makefile.dmc w]
527 fconfigure $output_file -translation binary
528
529 writeln {# DO NOT EDIT
 
 
 
530 #
531 # This file is automatically generated. Instead of editing this
532 # file, edit "makemake.tcl" then run "tclsh src/makemake.tcl"
533 # to regenerate this file.
 
534 B = ..
535 SRCDIR = $B\src
536 OBJDIR = .
537 O = .obj
538 E = .exe
@@ -668,15 +777,19 @@
668 #
669 puts "building ../win/Makefile.msc"
670 set output_file [open ../win/Makefile.msc w]
671 fconfigure $output_file -translation binary
672
673 writeln {# DO NOT EDIT
 
 
 
674 #
675 # This file is automatically generated. Instead of editing this
676 # file, edit "makemake.tcl" then run "tclsh src/makemake.tcl"
677 # to regenerate this file.
 
678 B = ..
679 SRCDIR = $B\src
680 OBJDIR = .
681 OX = .
682 O = .obj
@@ -821,14 +934,17 @@
821 #
822 puts "building ../win/Makefile.PellesCGMake"
823 set output_file [open ../win/Makefile.PellesCGMake w]
824 fconfigure $output_file -translation binary
825
826 writeln {# DO NOT EDIT
 
 
 
827 #
828 # This file is automatically generated. Instead of editing this
829 # file, edit "makemake.tcl" then run "tclsh src/makemake.tcl"
830 # to regenerate this file.
831 #
832 # HowTo
833 # -----
834 #
835
--- src/makemake.tcl
+++ src/makemake.tcl
@@ -139,11 +139,14 @@
139 #
140 puts "building main.mk"
141 set output_file [open main.mk w]
142 fconfigure $output_file -translation binary
143
144 writeln {#
145 ##############################################################################
146 # WARNING: DO NOT EDIT, AUTOMATICALLY GENERATED FILE (SEE "src/makemake.tcl")
147 ##############################################################################
148 #
149 # This file is automatically generated. Instead of editing this
150 # file, edit "makemake.tcl" then run "tclsh makemake.tcl"
151 # to regenerate this file.
152 #
@@ -190,11 +193,11 @@
193 $(BCC) -o $(OBJDIR)/mkindex $(SRCDIR)/mkindex.c
194
195 $(OBJDIR)/mkversion: $(SRCDIR)/mkversion.c
196 $(BCC) -o $(OBJDIR)/mkversion $(SRCDIR)/mkversion.c
197
198 # WARNING. DANGER. Running the test suite modifies the repository the
199 # build is done from, i.e. the checkout belongs to. Do not sync/push
200 # the repository after running the tests.
201 test: $(OBJDIR) $(APPNAME)
202 $(TCLSH) $(SRCDIR)/../test/tester.tcl $(APPNAME)
203
@@ -209,12 +212,15 @@
212 # using -lsqlite3.
213 SQLITE3_OBJ.1 =
214 SQLITE3_OBJ.0 = $(OBJDIR)/sqlite3.o
215 SQLITE3_OBJ. = $(SQLITE3_OBJ.0)
216
217 # The FOSSIL_ENABLE_TCL variable may be undefined, set to 0, or set to 1.
218 # If it is set to 1, then we need to build the Tcl integration code and
219 # link to the Tcl library.
220 TCL_OBJ.0 =
221 TCL_OBJ.1 = $(OBJDIR)/th_tcl.o
222 TCL_OBJ. = $(TCL_OBJ.0)
223
224 EXTRAOBJ = \
225 $(SQLITE3_OBJ.$(USE_SYSTEM_SQLITE)) \
226 $(OBJDIR)/shell.o \
@@ -307,20 +313,27 @@
313 set output_file [open ../win/Makefile.mingw w]
314 fconfigure $output_file -translation binary
315
316 writeln {#!/usr/bin/make
317 #
318 ##############################################################################
319 # WARNING: DO NOT EDIT, AUTOMATICALLY GENERATED FILE (SEE "src/makemake.tcl")
320 ##############################################################################
321 #
322 # This file is automatically generated. Instead of editing this
323 # file, edit "makemake.tcl" then run "tclsh makemake.tcl"
324 # to regenerate this file.
325 #
326 # This is a makefile for us on windows using MinGW.
327 #
328 #### The toplevel directory of the source tree. Fossil can be built
329 # in a directory that is separate from the source tree. Just change
330 # the following to point from the build directory to the src/ folder.
331 #
332 SRCDIR = src
333
334 #### The directory into which object code files should be written.
 
335 #
336 OBJDIR = wbld
337
338 #### C Compiler and options for use in building executables that
339 # will run on the platform that is doing the build. This is used
@@ -329,51 +342,134 @@
342 #
343 BCC = gcc
344
345 #### Enable HTTPS support via OpenSSL (links to libssl and libcrypto)
346 #
347 # FOSSIL_ENABLE_SSL = 1
348
349 #### Enable scripting support via Tcl/Tk
350 #
351 # FOSSIL_ENABLE_TCL = 1
352
353 #### Use the Tcl source directory instead of the install directory?
354 # This is useful when Tcl has been compiled statically with MinGW.
355 #
356 FOSSIL_TCL_SOURCE = 1
357
358 #### The directories where the zlib include and library files are located.
359 # The recommended usage here is to use the Sysinternals junction tool
360 # to create a hard link between an "zlib-1.x.y" sub-directory of the
361 # Fossil source code directory and the target zlib source directory.
362 #
363 ZINCDIR = $(SRCDIR)/../zlib-1.2.5
364 ZLIBDIR = $(SRCDIR)/../zlib-1.2.5
365
366 #### The directories where the OpenSSL include and library files are located.
367 # The recommended usage here is to use the Sysinternals junction tool
368 # to create a hard link between an "openssl-1.x" sub-directory of the
369 # Fossil source code directory and the target OpenSSL source directory.
370 #
371 OPENSSLINCDIR = $(SRCDIR)/../openssl-1.0.0e/include
372 OPENSSLLIBDIR = $(SRCDIR)/../openssl-1.0.0e
373
374 #### Either the directory where the Tcl library is installed or the Tcl
375 # source code directory resides (depending on the value of the macro
376 # FOSSIL_TCL_SOURCE). If this points to the Tcl install directory,
377 # this directory must have "include" and "lib" sub-directories. If
378 # this points to the Tcl source code directory, this directory must
379 # have "generic" and "win" sub-directories. The recommended usage
380 # here is to use the Sysinternals junction tool to create a hard
381 # link between a "tcl-8.x" sub-directory of the Fossil source code
382 # directory and the target Tcl directory. This removes the need to
383 # hard-code the necessary paths in this Makefile.
384 #
385 TCLDIR = $(SRCDIR)/../tcl-8.6
386
387 #### The Tcl source code directory. This defaults to the same value as
388 # TCLDIR macro (above), which may not be correct. This value will
389 # only be used if the FOSSIL_TCL_SOURCE macro is defined.
390 #
391 TCLSRCDIR = $(TCLDIR)
392
393 #### The Tcl include and library directories. These values will only be
394 # used if the FOSSIL_TCL_SOURCE macro is not defined.
395 #
396 TCLINCDIR = $(TCLDIR)/include
397 TCLLIBDIR = $(TCLDIR)/lib
398
399 #### Tcl: Which Tcl library do we want to use (8.4, 8.5, 8.6, etc)?
400 #
401 LIBTCL = -ltcl86
402
403 #### C Compile and options for use in building executables that
404 # will run on the target platform. This is usually the same
405 # as BCC, unless you are cross-compiling. This C compiler builds
406 # the finished binary for fossil. The BCC compiler above is used
407 # for building intermediate code-generator tools.
408 #
409 TCC = gcc -Os -Wall -L$(ZLIBDIR) -I$(ZINCDIR)
410
411 # With HTTPS support
412 ifdef FOSSIL_ENABLE_SSL
413 TCC += -L$(OPENSSLLIBDIR) -I$(OPENSSLINCDIR)
414 endif
415
416 # With Tcl support
417 ifdef FOSSIL_ENABLE_TCL
418 ifdef FOSSIL_TCL_SOURCE
419 TCC += -L$(TCLSRCDIR)/win -I$(TCLSRCDIR)/generic -I$(TCLSRCDIR)/win
420 else
421 TCC += -L$(TCLLIBDIR) -I$(TCLINCDIR)
422 endif
423 endif
424
425 # With HTTPS support
426 ifdef FOSSIL_ENABLE_SSL
427 TCC += -DFOSSIL_ENABLE_SSL=1
428 endif
429
430 # With Tcl support (statically linked)
431 ifdef FOSSIL_ENABLE_TCL
432 TCC += -DFOSSIL_ENABLE_TCL=1 -DSTATIC_BUILD
433 endif
434
435 #### Extra arguments for linking the finished binary. Fossil needs
436 # to link against the Z-Lib compression library. There are no
437 # other mandatory dependencies. We add the -static option here
438 # so that we can build a static executable that will run in a
439 # chroot jail.
440 #
441 LIB = -static
442 LIB += -lmingwex -lz
443
444 # OpenSSL: Add the necessary libaries required, if enabled.
445 ifdef FOSSIL_ENABLE_SSL
446 LIB += -lssl -lcrypto -lgdi32
447 endif
 
448
449 # Tcl: Add the necessary libaries required, if enabled.
450 ifdef FOSSIL_ENABLE_TCL
451 LIB += $(LIBTCL)
452 endif
453
454 #### These libraries MUST appear in the same order as they do for Tcl
455 # or linking with it will not work (exact reason unknown).
456 #
457 ifdef FOSSIL_ENABLE_TCL
458 LIB += -lnetapi32 -lkernel32 -luser32 -ladvapi32 -lws2_32
459 else
460 LIB += -lws2_32
461 endif
462
463 #### Tcl shell for use in running the fossil test suite. This is only
464 # used for testing.
465 #
466 TCLSH = tclsh
467
468 #### Nullsoft installer makensis location
469 #
470 MAKENSIS = "$(ProgramFiles)\NSIS\makensis.exe"
471
472 #### Include a configuration file that can override any one of these settings.
473 #
474 -include config.w32
475
@@ -427,15 +523,15 @@
523 $(BCC) -o $(OBJDIR)/mkindex $(SRCDIR)/mkindex.c
524
525 $(VERSION): $(SRCDIR)/mkversion.c
526 $(BCC) -o $(OBJDIR)/version $(SRCDIR)/mkversion.c
527
528 # WARNING. DANGER. Running the test suite modifies the repository the
529 # build is done from, i.e. the checkout belongs to. Do not sync/push
530 # the repository after running the tests.
531 test: $(OBJDIR) $(APPNAME)
532 $(TCLSH) $(SRCDIR)/../test/tester.tcl $(APPNAME)
533
534 $(OBJDIR)/VERSION.h: $(SRCDIR)/../manifest.uuid $(SRCDIR)/../manifest $(VERSION)
535 $(VERSION) $(SRCDIR)/../manifest.uuid $(SRCDIR)/../manifest $(SRCDIR)/../VERSION >$(OBJDIR)/VERSION.h
536
537 EXTRAOBJ = \
@@ -442,25 +538,29 @@
538 $(OBJDIR)/sqlite3.o \
539 $(OBJDIR)/shell.o \
540 $(OBJDIR)/th.o \
541 $(OBJDIR)/th_lang.o \
542 $(OBJDIR)/cson_amalgamation.o
543
544 ifdef FOSSIL_ENABLE_TCL
545 EXTRAOBJ += $(OBJDIR)/th_tcl.o
546 endif
547
548 $(APPNAME): $(OBJDIR)/headers $(OBJ) $(EXTRAOBJ) $(OBJDIR)/icon.o
549 $(TCC) -o $(APPNAME) $(OBJ) $(EXTRAOBJ) $(LIB) $(OBJDIR)/icon.o
550
551 # This rule prevents make from using its default rules to try build
552 # an executable named "manifest" out of the file named "manifest.c"
553 #
554 $(SRCDIR)/../manifest:
555 # noop
556
557 # Requires msys to be installed in addition to the MinGW, for the "rm"
558 # command. "del" will not work here because it is not a separate command
559 # but a MSDOS-shell builtin.
560 #
561 clean:
562 rm -rf $(OBJDIR) $(APPNAME)
563
564 setup: $(OBJDIR) $(APPNAME)
565 $(MAKENSIS) ./fossil.nsi
566
@@ -498,11 +598,11 @@
598 writeln "\t\$(XTCC) $opt -c \$(SRCDIR)/sqlite3.c -o \$(OBJDIR)/sqlite3.o\n"
599
600 set opt {}
601 writeln "\$(OBJDIR)/cson_amalgamation.o:\t\$(SRCDIR)/cson_amalgamation.c"
602 writeln "\t\$(XTCC) $opt -c \$(SRCDIR)/cson_amalgamation.c -o \$(OBJDIR)/cson_amalgamation.o -DCSON_FOSSIL_MODE\n"
603 writeln "\$(OBJDIR)/json.o \$(OBJDIR)/json_artifact.o \$(OBJDIR)/json_branch.o \$(OBJDIR)/json_diff.o \$(OBJDIR)/json_login.o \$(OBJDIR)/json_query.o \$(OBJDIR)/json_report.o \$(OBJDIR)/json_tag.o \$(OBJDIR)/json_timeline.o \$(OBJDIR)/json_user.o \$(OBJDIR)/json_wiki.o : \$(SRCDIR)/json_detail.h\n"
604
605 writeln "\$(OBJDIR)/shell.o:\t\$(SRCDIR)/shell.c \$(SRCDIR)/sqlite3.h"
606 set opt {-Dmain=sqlite3_shell}
607 append opt " -DSQLITE_OMIT_LOAD_EXTENSION=1"
608 writeln "\t\$(XTCC) $opt -c \$(SRCDIR)/shell.c -o \$(OBJDIR)/shell.o\n"
@@ -511,10 +611,15 @@
611 writeln "\t\$(XTCC) -I\$(SRCDIR) -c \$(SRCDIR)/th.c -o \$(OBJDIR)/th.o\n"
612
613 writeln "\$(OBJDIR)/th_lang.o:\t\$(SRCDIR)/th_lang.c"
614 writeln "\t\$(XTCC) -I\$(SRCDIR) -c \$(SRCDIR)/th_lang.c -o \$(OBJDIR)/th_lang.o\n"
615
616 writeln {ifdef FOSSIL_ENABLE_TCL
617 $(OBJDIR)/th_tcl.o: $(SRCDIR)/th_tcl.c
618 $(XTCC) -I$(SRCDIR) -c $(SRCDIR)/th_tcl.c -o $(OBJDIR)/th_tcl.o
619 endif
620 }
621
622 close $output_file
623 #
624 # End of the main.mk output
625 ##############################################################################
@@ -524,15 +629,19 @@
629 #
630 puts "building ../win/Makefile.dmc"
631 set output_file [open ../win/Makefile.dmc w]
632 fconfigure $output_file -translation binary
633
634 writeln {#
635 ##############################################################################
636 # WARNING: DO NOT EDIT, AUTOMATICALLY GENERATED FILE (SEE "src/makemake.tcl")
637 ##############################################################################
638 #
639 # This file is automatically generated. Instead of editing this
640 # file, edit "makemake.tcl" then run "tclsh makemake.tcl"
641 # to regenerate this file.
642 #
643 B = ..
644 SRCDIR = $B\src
645 OBJDIR = .
646 O = .obj
647 E = .exe
@@ -668,15 +777,19 @@
777 #
778 puts "building ../win/Makefile.msc"
779 set output_file [open ../win/Makefile.msc w]
780 fconfigure $output_file -translation binary
781
782 writeln {#
783 ##############################################################################
784 # WARNING: DO NOT EDIT, AUTOMATICALLY GENERATED FILE (SEE "src/makemake.tcl")
785 ##############################################################################
786 #
787 # This file is automatically generated. Instead of editing this
788 # file, edit "makemake.tcl" then run "tclsh makemake.tcl"
789 # to regenerate this file.
790 #
791 B = ..
792 SRCDIR = $B\src
793 OBJDIR = .
794 OX = .
795 O = .obj
@@ -821,14 +934,17 @@
934 #
935 puts "building ../win/Makefile.PellesCGMake"
936 set output_file [open ../win/Makefile.PellesCGMake w]
937 fconfigure $output_file -translation binary
938
939 writeln {#
940 ##############################################################################
941 # WARNING: DO NOT EDIT, AUTOMATICALLY GENERATED FILE (SEE "src/makemake.tcl")
942 ##############################################################################
943 #
944 # This file is automatically generated. Instead of editing this
945 # file, edit "makemake.tcl" then run "tclsh makemake.tcl"
946 # to regenerate this file.
947 #
948 # HowTo
949 # -----
950 #
951
--- win/Makefile.PellesCGMake
+++ win/Makefile.PellesCGMake
@@ -1,9 +1,12 @@
1
-# DO NOT EDIT
1
+#
2
+##############################################################################
3
+# WARNING: DO NOT EDIT, AUTOMATICALLY GENERATED FILE (SEE "src/makemake.tcl")
4
+##############################################################################
25
#
36
# This file is automatically generated. Instead of editing this
4
-# file, edit "makemake.tcl" then run "tclsh src/makemake.tcl"
7
+# file, edit "makemake.tcl" then run "tclsh makemake.tcl"
58
# to regenerate this file.
69
#
710
# HowTo
811
# -----
912
#
1013
--- win/Makefile.PellesCGMake
+++ win/Makefile.PellesCGMake
@@ -1,9 +1,12 @@
1 # DO NOT EDIT
 
 
 
2 #
3 # This file is automatically generated. Instead of editing this
4 # file, edit "makemake.tcl" then run "tclsh src/makemake.tcl"
5 # to regenerate this file.
6 #
7 # HowTo
8 # -----
9 #
10
--- win/Makefile.PellesCGMake
+++ win/Makefile.PellesCGMake
@@ -1,9 +1,12 @@
1 #
2 ##############################################################################
3 # WARNING: DO NOT EDIT, AUTOMATICALLY GENERATED FILE (SEE "src/makemake.tcl")
4 ##############################################################################
5 #
6 # This file is automatically generated. Instead of editing this
7 # file, edit "makemake.tcl" then run "tclsh makemake.tcl"
8 # to regenerate this file.
9 #
10 # HowTo
11 # -----
12 #
13
--- win/Makefile.dmc
+++ win/Makefile.dmc
@@ -1,10 +1,14 @@
1
-# DO NOT EDIT
1
+#
2
+##############################################################################
3
+# WARNING: DO NOT EDIT, AUTOMATICALLY GENERATED FILE (SEE "src/makemake.tcl")
4
+##############################################################################
25
#
36
# This file is automatically generated. Instead of editing this
4
-# file, edit "makemake.tcl" then run "tclsh src/makemake.tcl"
7
+# file, edit "makemake.tcl" then run "tclsh makemake.tcl"
58
# to regenerate this file.
9
+#
610
B = ..
711
SRCDIR = $B\src
812
OBJDIR = .
913
O = .obj
1014
E = .exe
1115
--- win/Makefile.dmc
+++ win/Makefile.dmc
@@ -1,10 +1,14 @@
1 # DO NOT EDIT
 
 
 
2 #
3 # This file is automatically generated. Instead of editing this
4 # file, edit "makemake.tcl" then run "tclsh src/makemake.tcl"
5 # to regenerate this file.
 
6 B = ..
7 SRCDIR = $B\src
8 OBJDIR = .
9 O = .obj
10 E = .exe
11
--- win/Makefile.dmc
+++ win/Makefile.dmc
@@ -1,10 +1,14 @@
1 #
2 ##############################################################################
3 # WARNING: DO NOT EDIT, AUTOMATICALLY GENERATED FILE (SEE "src/makemake.tcl")
4 ##############################################################################
5 #
6 # This file is automatically generated. Instead of editing this
7 # file, edit "makemake.tcl" then run "tclsh makemake.tcl"
8 # to regenerate this file.
9 #
10 B = ..
11 SRCDIR = $B\src
12 OBJDIR = .
13 O = .obj
14 E = .exe
15
+104 -10
--- win/Makefile.mingw
+++ win/Makefile.mingw
@@ -1,8 +1,16 @@
11
#!/usr/bin/make
22
#
3
-# This is a makefile for us on windows using mingw.
3
+##############################################################################
4
+# WARNING: DO NOT EDIT, AUTOMATICALLY GENERATED FILE (SEE "src/makemake.tcl")
5
+##############################################################################
6
+#
7
+# This file is automatically generated. Instead of editing this
8
+# file, edit "makemake.tcl" then run "tclsh makemake.tcl"
9
+# to regenerate this file.
10
+#
11
+# This is a makefile for us on windows using MinGW.
412
#
513
#### The toplevel directory of the source tree. Fossil can be built
614
# in a directory that is separate from the source tree. Just change
715
# the following to point from the build directory to the src/ folder.
816
#
@@ -20,28 +28,96 @@
2028
BCC = gcc
2129
2230
#### Enable HTTPS support via OpenSSL (links to libssl and libcrypto)
2331
#
2432
# FOSSIL_ENABLE_SSL = 1
33
+
34
+#### Enable scripting support via Tcl/Tk
35
+#
36
+# FOSSIL_ENABLE_TCL = 1
37
+
38
+#### Use the Tcl source directory instead of the install directory?
39
+# This is useful when Tcl has been compiled statically with MinGW.
40
+#
41
+FOSSIL_TCL_SOURCE = 1
2542
2643
#### The directories where the zlib include and library files are located.
44
+# The recommended usage here is to use the Sysinternals junction tool
45
+# to create a hard link between an "zlib-1.x.y" sub-directory of the
46
+# Fossil source code directory and the target zlib source directory.
47
+#
48
+ZINCDIR = $(SRCDIR)/../zlib-1.2.5
49
+ZLIBDIR = $(SRCDIR)/../zlib-1.2.5
50
+
51
+#### The directories where the OpenSSL include and library files are located.
52
+# The recommended usage here is to use the Sysinternals junction tool
53
+# to create a hard link between an "openssl-1.x" sub-directory of the
54
+# Fossil source code directory and the target OpenSSL source directory.
55
+#
56
+OPENSSLINCDIR = $(SRCDIR)/../openssl-1.0.0e/include
57
+OPENSSLLIBDIR = $(SRCDIR)/../openssl-1.0.0e
58
+
59
+#### Either the directory where the Tcl library is installed or the Tcl
60
+# source code directory resides (depending on the value of the macro
61
+# FOSSIL_TCL_SOURCE). If this points to the Tcl install directory,
62
+# this directory must have "include" and "lib" sub-directories. If
63
+# this points to the Tcl source code directory, this directory must
64
+# have "generic" and "win" sub-directories. The recommended usage
65
+# here is to use the Sysinternals junction tool to create a hard
66
+# link between a "tcl-8.x" sub-directory of the Fossil source code
67
+# directory and the target Tcl directory. This removes the need to
68
+# hard-code the necessary paths in this Makefile.
69
+#
70
+TCLDIR = $(SRCDIR)/../tcl-8.6
71
+
72
+#### The Tcl source code directory. This defaults to the same value as
73
+# TCLDIR macro (above), which may not be correct. This value will
74
+# only be used if the FOSSIL_TCL_SOURCE macro is defined.
75
+#
76
+TCLSRCDIR = $(TCLDIR)
77
+
78
+#### The Tcl include and library directories. These values will only be
79
+# used if the FOSSIL_TCL_SOURCE macro is not defined.
80
+#
81
+TCLINCDIR = $(TCLDIR)/include
82
+TCLLIBDIR = $(TCLDIR)/lib
83
+
84
+#### Tcl: Which Tcl library do we want to use (8.4, 8.5, 8.6, etc)?
2785
#
28
-ZINCDIR = /programs/gnuwin32/include
29
-ZLIBDIR = /programs/gnuwin32/lib
86
+LIBTCL = -ltcl86
3087
3188
#### C Compile and options for use in building executables that
3289
# will run on the target platform. This is usually the same
3390
# as BCC, unless you are cross-compiling. This C compiler builds
3491
# the finished binary for fossil. The BCC compiler above is used
3592
# for building intermediate code-generator tools.
3693
#
3794
TCC = gcc -Os -Wall -L$(ZLIBDIR) -I$(ZINCDIR)
95
+
96
+# With HTTPS support
97
+ifdef FOSSIL_ENABLE_SSL
98
+TCC += -L$(OPENSSLLIBDIR) -I$(OPENSSLINCDIR)
99
+endif
100
+
101
+# With Tcl support
102
+ifdef FOSSIL_ENABLE_TCL
103
+ifdef FOSSIL_TCL_SOURCE
104
+TCC += -L$(TCLSRCDIR)/win -I$(TCLSRCDIR)/generic -I$(TCLSRCDIR)/win
105
+else
106
+TCC += -L$(TCLLIBDIR) -I$(TCLINCDIR)
107
+endif
108
+endif
38109
39110
# With HTTPS support
40111
ifdef FOSSIL_ENABLE_SSL
41112
TCC += -DFOSSIL_ENABLE_SSL=1
42113
endif
114
+
115
+# With Tcl support (statically linked)
116
+ifdef FOSSIL_ENABLE_TCL
117
+TCC += -DFOSSIL_ENABLE_TCL=1 -DSTATIC_BUILD
118
+endif
43119
44120
#### Extra arguments for linking the finished binary. Fossil needs
45121
# to link against the Z-Lib compression library. There are no
46122
# other mandatory dependencies. We add the -static option here
47123
# so that we can build a static executable that will run in a
@@ -48,28 +124,37 @@
48124
# chroot jail.
49125
#
50126
LIB = -static
51127
LIB += -lmingwex -lz
52128
53
-# OpenSSL: Add the necessary libaries required.
129
+# OpenSSL: Add the necessary libaries required, if enabled.
54130
ifdef FOSSIL_ENABLE_SSL
55131
LIB += -lssl -lcrypto -lgdi32
56132
endif
133
+
134
+# Tcl: Add the necessary libaries required, if enabled.
135
+ifdef FOSSIL_ENABLE_TCL
136
+LIB += $(LIBTCL)
137
+endif
57138
58139
#### These libraries MUST appear in the same order as they do for Tcl
59140
# or linking with it will not work (exact reason unknown).
60141
#
142
+ifdef FOSSIL_ENABLE_TCL
143
+LIB += -lnetapi32 -lkernel32 -luser32 -ladvapi32 -lws2_32
144
+else
61145
LIB += -lws2_32
146
+endif
62147
63
-#### Tcl shell for use in running the fossil testsuite. This is only
64
-# used for testing. If you do not run
148
+#### Tcl shell for use in running the fossil test suite. This is only
149
+# used for testing.
65150
#
66151
TCLSH = tclsh
67152
68153
#### Nullsoft installer makensis location
69154
#
70
-MAKENSIS = "c:\Program Files\NSIS\makensis.exe"
155
+MAKENSIS = "$(ProgramFiles)\NSIS\makensis.exe"
71156
72157
#### Include a configuration file that can override any one of these settings.
73158
#
74159
-include config.w32
75160
@@ -392,20 +477,24 @@
392477
$(BCC) -o $(OBJDIR)/mkindex $(SRCDIR)/mkindex.c
393478
394479
$(VERSION): $(SRCDIR)/mkversion.c
395480
$(BCC) -o $(OBJDIR)/version $(SRCDIR)/mkversion.c
396481
397
-# WARNING. DANGER. Running the testsuite modifies the repository the
482
+# WARNING. DANGER. Running the test suite modifies the repository the
398483
# build is done from, i.e. the checkout belongs to. Do not sync/push
399484
# the repository after running the tests.
400485
test: $(OBJDIR) $(APPNAME)
401486
$(TCLSH) $(SRCDIR)/../test/tester.tcl $(APPNAME)
402487
403488
$(OBJDIR)/VERSION.h: $(SRCDIR)/../manifest.uuid $(SRCDIR)/../manifest $(VERSION)
404489
$(VERSION) $(SRCDIR)/../manifest.uuid $(SRCDIR)/../manifest $(SRCDIR)/../VERSION >$(OBJDIR)/VERSION.h
405490
406491
EXTRAOBJ = $(OBJDIR)/sqlite3.o $(OBJDIR)/shell.o $(OBJDIR)/th.o $(OBJDIR)/th_lang.o $(OBJDIR)/cson_amalgamation.o
492
+
493
+ifdef FOSSIL_ENABLE_TCL
494
+EXTRAOBJ += $(OBJDIR)/th_tcl.o
495
+endif
407496
408497
$(APPNAME): $(OBJDIR)/headers $(OBJ) $(EXTRAOBJ) $(OBJDIR)/icon.o
409498
$(TCC) -o $(APPNAME) $(OBJ) $(EXTRAOBJ) $(LIB) $(OBJDIR)/icon.o
410499
411500
# This rule prevents make from using its default rules to try build
@@ -412,11 +501,11 @@
412501
# an executable named "manifest" out of the file named "manifest.c"
413502
#
414503
$(SRCDIR)/../manifest:
415504
# noop
416505
417
-# Requires msys to be installed in addition to the mingw, for the "rm"
506
+# Requires msys to be installed in addition to the MinGW, for the "rm"
418507
# command. "del" will not work here because it is not a separate command
419508
# but a MSDOS-shell builtin.
420509
#
421510
clean:
422511
rm -rf $(OBJDIR) $(APPNAME)
@@ -1088,16 +1177,21 @@
10881177
$(XTCC) -DSQLITE_OMIT_LOAD_EXTENSION=1 -DSQLITE_THREADSAFE=0 -DSQLITE_DEFAULT_FILE_FORMAT=4 -DSQLITE_ENABLE_STAT3 -Dlocaltime=fossil_localtime -DSQLITE_ENABLE_LOCKING_STYLE=0 -c $(SRCDIR)/sqlite3.c -o $(OBJDIR)/sqlite3.o
10891178
10901179
$(OBJDIR)/cson_amalgamation.o: $(SRCDIR)/cson_amalgamation.c
10911180
$(XTCC) -c $(SRCDIR)/cson_amalgamation.c -o $(OBJDIR)/cson_amalgamation.o -DCSON_FOSSIL_MODE
10921181
1093
-$(OBJDIR)/json.o $(OBJDIR)/json_artifact.o $(OBJDIR)/json_branch.o $(OBJDIR)/json_diff.o $(OBJDIR)/json_login.o $(OBJDIR)/json_query.o $(OBJDIR)/json_report.o $(OBJDIR)/json_tag.o $(OBJDIR)/json_timeline.o $(OBJDIR)/json_user.o $(OBJDIR)/json_wiki.o: $(SRCDIR)/json_detail.h
1182
+$(OBJDIR)/json.o $(OBJDIR)/json_artifact.o $(OBJDIR)/json_branch.o $(OBJDIR)/json_diff.o $(OBJDIR)/json_login.o $(OBJDIR)/json_query.o $(OBJDIR)/json_report.o $(OBJDIR)/json_tag.o $(OBJDIR)/json_timeline.o $(OBJDIR)/json_user.o $(OBJDIR)/json_wiki.o : $(SRCDIR)/json_detail.h
10941183
10951184
$(OBJDIR)/shell.o: $(SRCDIR)/shell.c $(SRCDIR)/sqlite3.h
10961185
$(XTCC) -Dmain=sqlite3_shell -DSQLITE_OMIT_LOAD_EXTENSION=1 -c $(SRCDIR)/shell.c -o $(OBJDIR)/shell.o
10971186
10981187
$(OBJDIR)/th.o: $(SRCDIR)/th.c
10991188
$(XTCC) -I$(SRCDIR) -c $(SRCDIR)/th.c -o $(OBJDIR)/th.o
11001189
11011190
$(OBJDIR)/th_lang.o: $(SRCDIR)/th_lang.c
11021191
$(XTCC) -I$(SRCDIR) -c $(SRCDIR)/th_lang.c -o $(OBJDIR)/th_lang.o
1192
+
1193
+ifdef FOSSIL_ENABLE_TCL
1194
+$(OBJDIR)/th_tcl.o: $(SRCDIR)/th_tcl.c
1195
+ $(XTCC) -I$(SRCDIR) -c $(SRCDIR)/th_tcl.c -o $(OBJDIR)/th_tcl.o
1196
+endif
11031197
11041198
--- win/Makefile.mingw
+++ win/Makefile.mingw
@@ -1,8 +1,16 @@
1 #!/usr/bin/make
2 #
3 # This is a makefile for us on windows using mingw.
 
 
 
 
 
 
 
 
4 #
5 #### The toplevel directory of the source tree. Fossil can be built
6 # in a directory that is separate from the source tree. Just change
7 # the following to point from the build directory to the src/ folder.
8 #
@@ -20,28 +28,96 @@
20 BCC = gcc
21
22 #### Enable HTTPS support via OpenSSL (links to libssl and libcrypto)
23 #
24 # FOSSIL_ENABLE_SSL = 1
 
 
 
 
 
 
 
 
 
25
26 #### The directories where the zlib include and library files are located.
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
27 #
28 ZINCDIR = /programs/gnuwin32/include
29 ZLIBDIR = /programs/gnuwin32/lib
30
31 #### C Compile and options for use in building executables that
32 # will run on the target platform. This is usually the same
33 # as BCC, unless you are cross-compiling. This C compiler builds
34 # the finished binary for fossil. The BCC compiler above is used
35 # for building intermediate code-generator tools.
36 #
37 TCC = gcc -Os -Wall -L$(ZLIBDIR) -I$(ZINCDIR)
 
 
 
 
 
 
 
 
 
 
 
 
 
 
38
39 # With HTTPS support
40 ifdef FOSSIL_ENABLE_SSL
41 TCC += -DFOSSIL_ENABLE_SSL=1
42 endif
 
 
 
 
 
43
44 #### Extra arguments for linking the finished binary. Fossil needs
45 # to link against the Z-Lib compression library. There are no
46 # other mandatory dependencies. We add the -static option here
47 # so that we can build a static executable that will run in a
@@ -48,28 +124,37 @@
48 # chroot jail.
49 #
50 LIB = -static
51 LIB += -lmingwex -lz
52
53 # OpenSSL: Add the necessary libaries required.
54 ifdef FOSSIL_ENABLE_SSL
55 LIB += -lssl -lcrypto -lgdi32
56 endif
 
 
 
 
 
57
58 #### These libraries MUST appear in the same order as they do for Tcl
59 # or linking with it will not work (exact reason unknown).
60 #
 
 
 
61 LIB += -lws2_32
 
62
63 #### Tcl shell for use in running the fossil testsuite. This is only
64 # used for testing. If you do not run
65 #
66 TCLSH = tclsh
67
68 #### Nullsoft installer makensis location
69 #
70 MAKENSIS = "c:\Program Files\NSIS\makensis.exe"
71
72 #### Include a configuration file that can override any one of these settings.
73 #
74 -include config.w32
75
@@ -392,20 +477,24 @@
392 $(BCC) -o $(OBJDIR)/mkindex $(SRCDIR)/mkindex.c
393
394 $(VERSION): $(SRCDIR)/mkversion.c
395 $(BCC) -o $(OBJDIR)/version $(SRCDIR)/mkversion.c
396
397 # WARNING. DANGER. Running the testsuite modifies the repository the
398 # build is done from, i.e. the checkout belongs to. Do not sync/push
399 # the repository after running the tests.
400 test: $(OBJDIR) $(APPNAME)
401 $(TCLSH) $(SRCDIR)/../test/tester.tcl $(APPNAME)
402
403 $(OBJDIR)/VERSION.h: $(SRCDIR)/../manifest.uuid $(SRCDIR)/../manifest $(VERSION)
404 $(VERSION) $(SRCDIR)/../manifest.uuid $(SRCDIR)/../manifest $(SRCDIR)/../VERSION >$(OBJDIR)/VERSION.h
405
406 EXTRAOBJ = $(OBJDIR)/sqlite3.o $(OBJDIR)/shell.o $(OBJDIR)/th.o $(OBJDIR)/th_lang.o $(OBJDIR)/cson_amalgamation.o
 
 
 
 
407
408 $(APPNAME): $(OBJDIR)/headers $(OBJ) $(EXTRAOBJ) $(OBJDIR)/icon.o
409 $(TCC) -o $(APPNAME) $(OBJ) $(EXTRAOBJ) $(LIB) $(OBJDIR)/icon.o
410
411 # This rule prevents make from using its default rules to try build
@@ -412,11 +501,11 @@
412 # an executable named "manifest" out of the file named "manifest.c"
413 #
414 $(SRCDIR)/../manifest:
415 # noop
416
417 # Requires msys to be installed in addition to the mingw, for the "rm"
418 # command. "del" will not work here because it is not a separate command
419 # but a MSDOS-shell builtin.
420 #
421 clean:
422 rm -rf $(OBJDIR) $(APPNAME)
@@ -1088,16 +1177,21 @@
1088 $(XTCC) -DSQLITE_OMIT_LOAD_EXTENSION=1 -DSQLITE_THREADSAFE=0 -DSQLITE_DEFAULT_FILE_FORMAT=4 -DSQLITE_ENABLE_STAT3 -Dlocaltime=fossil_localtime -DSQLITE_ENABLE_LOCKING_STYLE=0 -c $(SRCDIR)/sqlite3.c -o $(OBJDIR)/sqlite3.o
1089
1090 $(OBJDIR)/cson_amalgamation.o: $(SRCDIR)/cson_amalgamation.c
1091 $(XTCC) -c $(SRCDIR)/cson_amalgamation.c -o $(OBJDIR)/cson_amalgamation.o -DCSON_FOSSIL_MODE
1092
1093 $(OBJDIR)/json.o $(OBJDIR)/json_artifact.o $(OBJDIR)/json_branch.o $(OBJDIR)/json_diff.o $(OBJDIR)/json_login.o $(OBJDIR)/json_query.o $(OBJDIR)/json_report.o $(OBJDIR)/json_tag.o $(OBJDIR)/json_timeline.o $(OBJDIR)/json_user.o $(OBJDIR)/json_wiki.o: $(SRCDIR)/json_detail.h
1094
1095 $(OBJDIR)/shell.o: $(SRCDIR)/shell.c $(SRCDIR)/sqlite3.h
1096 $(XTCC) -Dmain=sqlite3_shell -DSQLITE_OMIT_LOAD_EXTENSION=1 -c $(SRCDIR)/shell.c -o $(OBJDIR)/shell.o
1097
1098 $(OBJDIR)/th.o: $(SRCDIR)/th.c
1099 $(XTCC) -I$(SRCDIR) -c $(SRCDIR)/th.c -o $(OBJDIR)/th.o
1100
1101 $(OBJDIR)/th_lang.o: $(SRCDIR)/th_lang.c
1102 $(XTCC) -I$(SRCDIR) -c $(SRCDIR)/th_lang.c -o $(OBJDIR)/th_lang.o
 
 
 
 
 
1103
1104
--- win/Makefile.mingw
+++ win/Makefile.mingw
@@ -1,8 +1,16 @@
1 #!/usr/bin/make
2 #
3 ##############################################################################
4 # WARNING: DO NOT EDIT, AUTOMATICALLY GENERATED FILE (SEE "src/makemake.tcl")
5 ##############################################################################
6 #
7 # This file is automatically generated. Instead of editing this
8 # file, edit "makemake.tcl" then run "tclsh makemake.tcl"
9 # to regenerate this file.
10 #
11 # This is a makefile for us on windows using MinGW.
12 #
13 #### The toplevel directory of the source tree. Fossil can be built
14 # in a directory that is separate from the source tree. Just change
15 # the following to point from the build directory to the src/ folder.
16 #
@@ -20,28 +28,96 @@
28 BCC = gcc
29
30 #### Enable HTTPS support via OpenSSL (links to libssl and libcrypto)
31 #
32 # FOSSIL_ENABLE_SSL = 1
33
34 #### Enable scripting support via Tcl/Tk
35 #
36 # FOSSIL_ENABLE_TCL = 1
37
38 #### Use the Tcl source directory instead of the install directory?
39 # This is useful when Tcl has been compiled statically with MinGW.
40 #
41 FOSSIL_TCL_SOURCE = 1
42
43 #### The directories where the zlib include and library files are located.
44 # The recommended usage here is to use the Sysinternals junction tool
45 # to create a hard link between an "zlib-1.x.y" sub-directory of the
46 # Fossil source code directory and the target zlib source directory.
47 #
48 ZINCDIR = $(SRCDIR)/../zlib-1.2.5
49 ZLIBDIR = $(SRCDIR)/../zlib-1.2.5
50
51 #### The directories where the OpenSSL include and library files are located.
52 # The recommended usage here is to use the Sysinternals junction tool
53 # to create a hard link between an "openssl-1.x" sub-directory of the
54 # Fossil source code directory and the target OpenSSL source directory.
55 #
56 OPENSSLINCDIR = $(SRCDIR)/../openssl-1.0.0e/include
57 OPENSSLLIBDIR = $(SRCDIR)/../openssl-1.0.0e
58
59 #### Either the directory where the Tcl library is installed or the Tcl
60 # source code directory resides (depending on the value of the macro
61 # FOSSIL_TCL_SOURCE). If this points to the Tcl install directory,
62 # this directory must have "include" and "lib" sub-directories. If
63 # this points to the Tcl source code directory, this directory must
64 # have "generic" and "win" sub-directories. The recommended usage
65 # here is to use the Sysinternals junction tool to create a hard
66 # link between a "tcl-8.x" sub-directory of the Fossil source code
67 # directory and the target Tcl directory. This removes the need to
68 # hard-code the necessary paths in this Makefile.
69 #
70 TCLDIR = $(SRCDIR)/../tcl-8.6
71
72 #### The Tcl source code directory. This defaults to the same value as
73 # TCLDIR macro (above), which may not be correct. This value will
74 # only be used if the FOSSIL_TCL_SOURCE macro is defined.
75 #
76 TCLSRCDIR = $(TCLDIR)
77
78 #### The Tcl include and library directories. These values will only be
79 # used if the FOSSIL_TCL_SOURCE macro is not defined.
80 #
81 TCLINCDIR = $(TCLDIR)/include
82 TCLLIBDIR = $(TCLDIR)/lib
83
84 #### Tcl: Which Tcl library do we want to use (8.4, 8.5, 8.6, etc)?
85 #
86 LIBTCL = -ltcl86
 
87
88 #### C Compile and options for use in building executables that
89 # will run on the target platform. This is usually the same
90 # as BCC, unless you are cross-compiling. This C compiler builds
91 # the finished binary for fossil. The BCC compiler above is used
92 # for building intermediate code-generator tools.
93 #
94 TCC = gcc -Os -Wall -L$(ZLIBDIR) -I$(ZINCDIR)
95
96 # With HTTPS support
97 ifdef FOSSIL_ENABLE_SSL
98 TCC += -L$(OPENSSLLIBDIR) -I$(OPENSSLINCDIR)
99 endif
100
101 # With Tcl support
102 ifdef FOSSIL_ENABLE_TCL
103 ifdef FOSSIL_TCL_SOURCE
104 TCC += -L$(TCLSRCDIR)/win -I$(TCLSRCDIR)/generic -I$(TCLSRCDIR)/win
105 else
106 TCC += -L$(TCLLIBDIR) -I$(TCLINCDIR)
107 endif
108 endif
109
110 # With HTTPS support
111 ifdef FOSSIL_ENABLE_SSL
112 TCC += -DFOSSIL_ENABLE_SSL=1
113 endif
114
115 # With Tcl support (statically linked)
116 ifdef FOSSIL_ENABLE_TCL
117 TCC += -DFOSSIL_ENABLE_TCL=1 -DSTATIC_BUILD
118 endif
119
120 #### Extra arguments for linking the finished binary. Fossil needs
121 # to link against the Z-Lib compression library. There are no
122 # other mandatory dependencies. We add the -static option here
123 # so that we can build a static executable that will run in a
@@ -48,28 +124,37 @@
124 # chroot jail.
125 #
126 LIB = -static
127 LIB += -lmingwex -lz
128
129 # OpenSSL: Add the necessary libaries required, if enabled.
130 ifdef FOSSIL_ENABLE_SSL
131 LIB += -lssl -lcrypto -lgdi32
132 endif
133
134 # Tcl: Add the necessary libaries required, if enabled.
135 ifdef FOSSIL_ENABLE_TCL
136 LIB += $(LIBTCL)
137 endif
138
139 #### These libraries MUST appear in the same order as they do for Tcl
140 # or linking with it will not work (exact reason unknown).
141 #
142 ifdef FOSSIL_ENABLE_TCL
143 LIB += -lnetapi32 -lkernel32 -luser32 -ladvapi32 -lws2_32
144 else
145 LIB += -lws2_32
146 endif
147
148 #### Tcl shell for use in running the fossil test suite. This is only
149 # used for testing.
150 #
151 TCLSH = tclsh
152
153 #### Nullsoft installer makensis location
154 #
155 MAKENSIS = "$(ProgramFiles)\NSIS\makensis.exe"
156
157 #### Include a configuration file that can override any one of these settings.
158 #
159 -include config.w32
160
@@ -392,20 +477,24 @@
477 $(BCC) -o $(OBJDIR)/mkindex $(SRCDIR)/mkindex.c
478
479 $(VERSION): $(SRCDIR)/mkversion.c
480 $(BCC) -o $(OBJDIR)/version $(SRCDIR)/mkversion.c
481
482 # WARNING. DANGER. Running the test suite modifies the repository the
483 # build is done from, i.e. the checkout belongs to. Do not sync/push
484 # the repository after running the tests.
485 test: $(OBJDIR) $(APPNAME)
486 $(TCLSH) $(SRCDIR)/../test/tester.tcl $(APPNAME)
487
488 $(OBJDIR)/VERSION.h: $(SRCDIR)/../manifest.uuid $(SRCDIR)/../manifest $(VERSION)
489 $(VERSION) $(SRCDIR)/../manifest.uuid $(SRCDIR)/../manifest $(SRCDIR)/../VERSION >$(OBJDIR)/VERSION.h
490
491 EXTRAOBJ = $(OBJDIR)/sqlite3.o $(OBJDIR)/shell.o $(OBJDIR)/th.o $(OBJDIR)/th_lang.o $(OBJDIR)/cson_amalgamation.o
492
493 ifdef FOSSIL_ENABLE_TCL
494 EXTRAOBJ += $(OBJDIR)/th_tcl.o
495 endif
496
497 $(APPNAME): $(OBJDIR)/headers $(OBJ) $(EXTRAOBJ) $(OBJDIR)/icon.o
498 $(TCC) -o $(APPNAME) $(OBJ) $(EXTRAOBJ) $(LIB) $(OBJDIR)/icon.o
499
500 # This rule prevents make from using its default rules to try build
@@ -412,11 +501,11 @@
501 # an executable named "manifest" out of the file named "manifest.c"
502 #
503 $(SRCDIR)/../manifest:
504 # noop
505
506 # Requires msys to be installed in addition to the MinGW, for the "rm"
507 # command. "del" will not work here because it is not a separate command
508 # but a MSDOS-shell builtin.
509 #
510 clean:
511 rm -rf $(OBJDIR) $(APPNAME)
@@ -1088,16 +1177,21 @@
1177 $(XTCC) -DSQLITE_OMIT_LOAD_EXTENSION=1 -DSQLITE_THREADSAFE=0 -DSQLITE_DEFAULT_FILE_FORMAT=4 -DSQLITE_ENABLE_STAT3 -Dlocaltime=fossil_localtime -DSQLITE_ENABLE_LOCKING_STYLE=0 -c $(SRCDIR)/sqlite3.c -o $(OBJDIR)/sqlite3.o
1178
1179 $(OBJDIR)/cson_amalgamation.o: $(SRCDIR)/cson_amalgamation.c
1180 $(XTCC) -c $(SRCDIR)/cson_amalgamation.c -o $(OBJDIR)/cson_amalgamation.o -DCSON_FOSSIL_MODE
1181
1182 $(OBJDIR)/json.o $(OBJDIR)/json_artifact.o $(OBJDIR)/json_branch.o $(OBJDIR)/json_diff.o $(OBJDIR)/json_login.o $(OBJDIR)/json_query.o $(OBJDIR)/json_report.o $(OBJDIR)/json_tag.o $(OBJDIR)/json_timeline.o $(OBJDIR)/json_user.o $(OBJDIR)/json_wiki.o : $(SRCDIR)/json_detail.h
1183
1184 $(OBJDIR)/shell.o: $(SRCDIR)/shell.c $(SRCDIR)/sqlite3.h
1185 $(XTCC) -Dmain=sqlite3_shell -DSQLITE_OMIT_LOAD_EXTENSION=1 -c $(SRCDIR)/shell.c -o $(OBJDIR)/shell.o
1186
1187 $(OBJDIR)/th.o: $(SRCDIR)/th.c
1188 $(XTCC) -I$(SRCDIR) -c $(SRCDIR)/th.c -o $(OBJDIR)/th.o
1189
1190 $(OBJDIR)/th_lang.o: $(SRCDIR)/th_lang.c
1191 $(XTCC) -I$(SRCDIR) -c $(SRCDIR)/th_lang.c -o $(OBJDIR)/th_lang.o
1192
1193 ifdef FOSSIL_ENABLE_TCL
1194 $(OBJDIR)/th_tcl.o: $(SRCDIR)/th_tcl.c
1195 $(XTCC) -I$(SRCDIR) -c $(SRCDIR)/th_tcl.c -o $(OBJDIR)/th_tcl.o
1196 endif
1197
1198
--- win/Makefile.mingw.mistachkin
+++ win/Makefile.mingw.mistachkin
@@ -1,8 +1,16 @@
11
#!/usr/bin/make
22
#
3
-# This is a makefile for us on windows using mingw.
3
+##############################################################################
4
+# WARNING: DO NOT EDIT, AUTOMATICALLY GENERATED FILE (SEE src/makemake.tcl)
5
+##############################################################################
6
+#
7
+# This file is automatically generated. Instead of editing this
8
+# file, edit "makemake.tcl" then run "tclsh makemake.tcl"
9
+# to regenerate this file.
10
+#
11
+# This is a makefile for us on windows using MinGW.
412
#
513
#### The toplevel directory of the source tree. Fossil can be built
614
# in a directory that is separate from the source tree. Just change
715
# the following to point from the build directory to the src/ folder.
816
#
@@ -65,11 +73,12 @@
6573
# TCLDIR macro (above), which may not be correct. This value will
6674
# only be used if the FOSSIL_TCL_SOURCE macro is defined.
6775
#
6876
TCLSRCDIR = $(TCLDIR)
6977
70
-#### The Tcl include and library directories.
78
+#### The Tcl include and library directories. These values will only be
79
+# used if the FOSSIL_TCL_SOURCE macro is not defined.
7180
#
7281
TCLINCDIR = $(TCLDIR)/include
7382
TCLLIBDIR = $(TCLDIR)/lib
7483
7584
#### Tcl: Which Tcl library do we want to use (8.4, 8.5, 8.6, etc)?
@@ -134,18 +143,18 @@
134143
LIB += -lnetapi32 -lkernel32 -luser32 -ladvapi32 -lws2_32
135144
else
136145
LIB += -lws2_32
137146
endif
138147
139
-#### Tcl shell for use in running the fossil testsuite. This is only
148
+#### Tcl shell for use in running the fossil test suite. This is only
140149
# used for testing. If you do not run
141150
#
142151
TCLSH = tclsh
143152
144153
#### Nullsoft installer makensis location
145154
#
146
-MAKENSIS = "c:\Program Files\NSIS\makensis.exe"
155
+MAKENSIS = "$(ProgramFiles)\NSIS\makensis.exe"
147156
148157
#### Include a configuration file that can override any one of these settings.
149158
#
150159
-include config.w32
151160
@@ -468,11 +477,11 @@
468477
$(BCC) -o $(OBJDIR)/mkindex $(SRCDIR)/mkindex.c
469478
470479
$(VERSION): $(SRCDIR)/mkversion.c
471480
$(BCC) -o $(OBJDIR)/version $(SRCDIR)/mkversion.c
472481
473
-# WARNING. DANGER. Running the testsuite modifies the repository the
482
+# WARNING. DANGER. Running the test suite modifies the repository the
474483
# build is done from, i.e. the checkout belongs to. Do not sync/push
475484
# the repository after running the tests.
476485
test: $(OBJDIR) $(APPNAME)
477486
$(TCLSH) $(SRCDIR)/../test/tester.tcl $(APPNAME)
478487
@@ -492,11 +501,11 @@
492501
# an executable named "manifest" out of the file named "manifest.c"
493502
#
494503
$(SRCDIR)/../manifest:
495504
# noop
496505
497
-# Requires msys to be installed in addition to the mingw, for the "rm"
506
+# Requires msys to be installed in addition to the MinGW, for the "rm"
498507
# command. "del" will not work here because it is not a separate command
499508
# but a MSDOS-shell builtin.
500509
#
501510
clean:
502511
rm -rf $(OBJDIR) $(APPNAME)
@@ -1168,11 +1177,11 @@
11681177
$(XTCC) -DSQLITE_OMIT_LOAD_EXTENSION=1 -DSQLITE_THREADSAFE=0 -DSQLITE_DEFAULT_FILE_FORMAT=4 -DSQLITE_ENABLE_STAT3 -Dlocaltime=fossil_localtime -DSQLITE_ENABLE_LOCKING_STYLE=0 -c $(SRCDIR)/sqlite3.c -o $(OBJDIR)/sqlite3.o
11691178
11701179
$(OBJDIR)/cson_amalgamation.o: $(SRCDIR)/cson_amalgamation.c
11711180
$(XTCC) -c $(SRCDIR)/cson_amalgamation.c -o $(OBJDIR)/cson_amalgamation.o -DCSON_FOSSIL_MODE
11721181
1173
-$(OBJDIR)/json.o $(OBJDIR)/json_artifact.o $(OBJDIR)/json_branch.o $(OBJDIR)/json_diff.o $(OBJDIR)/json_login.o $(OBJDIR)/json_query.o $(OBJDIR)/json_report.o $(OBJDIR)/json_tag.o $(OBJDIR)/json_timeline.o $(OBJDIR)/json_user.o $(OBJDIR)/json_wiki.o: $(SRCDIR)/json_detail.h
1182
+$(OBJDIR)/json.o $(OBJDIR)/json_artifact.o $(OBJDIR)/json_branch.o $(OBJDIR)/json_diff.o $(OBJDIR)/json_login.o $(OBJDIR)/json_query.o $(OBJDIR)/json_report.o $(OBJDIR)/json_tag.o $(OBJDIR)/json_timeline.o $(OBJDIR)/json_user.o $(OBJDIR)/json_wiki.o : $(SRCDIR)/json_detail.h
11741183
11751184
$(OBJDIR)/shell.o: $(SRCDIR)/shell.c $(SRCDIR)/sqlite3.h
11761185
$(XTCC) -Dmain=sqlite3_shell -DSQLITE_OMIT_LOAD_EXTENSION=1 -c $(SRCDIR)/shell.c -o $(OBJDIR)/shell.o
11771186
11781187
$(OBJDIR)/th.o: $(SRCDIR)/th.c
11791188
--- win/Makefile.mingw.mistachkin
+++ win/Makefile.mingw.mistachkin
@@ -1,8 +1,16 @@
1 #!/usr/bin/make
2 #
3 # This is a makefile for us on windows using mingw.
 
 
 
 
 
 
 
 
4 #
5 #### The toplevel directory of the source tree. Fossil can be built
6 # in a directory that is separate from the source tree. Just change
7 # the following to point from the build directory to the src/ folder.
8 #
@@ -65,11 +73,12 @@
65 # TCLDIR macro (above), which may not be correct. This value will
66 # only be used if the FOSSIL_TCL_SOURCE macro is defined.
67 #
68 TCLSRCDIR = $(TCLDIR)
69
70 #### The Tcl include and library directories.
 
71 #
72 TCLINCDIR = $(TCLDIR)/include
73 TCLLIBDIR = $(TCLDIR)/lib
74
75 #### Tcl: Which Tcl library do we want to use (8.4, 8.5, 8.6, etc)?
@@ -134,18 +143,18 @@
134 LIB += -lnetapi32 -lkernel32 -luser32 -ladvapi32 -lws2_32
135 else
136 LIB += -lws2_32
137 endif
138
139 #### Tcl shell for use in running the fossil testsuite. This is only
140 # used for testing. If you do not run
141 #
142 TCLSH = tclsh
143
144 #### Nullsoft installer makensis location
145 #
146 MAKENSIS = "c:\Program Files\NSIS\makensis.exe"
147
148 #### Include a configuration file that can override any one of these settings.
149 #
150 -include config.w32
151
@@ -468,11 +477,11 @@
468 $(BCC) -o $(OBJDIR)/mkindex $(SRCDIR)/mkindex.c
469
470 $(VERSION): $(SRCDIR)/mkversion.c
471 $(BCC) -o $(OBJDIR)/version $(SRCDIR)/mkversion.c
472
473 # WARNING. DANGER. Running the testsuite modifies the repository the
474 # build is done from, i.e. the checkout belongs to. Do not sync/push
475 # the repository after running the tests.
476 test: $(OBJDIR) $(APPNAME)
477 $(TCLSH) $(SRCDIR)/../test/tester.tcl $(APPNAME)
478
@@ -492,11 +501,11 @@
492 # an executable named "manifest" out of the file named "manifest.c"
493 #
494 $(SRCDIR)/../manifest:
495 # noop
496
497 # Requires msys to be installed in addition to the mingw, for the "rm"
498 # command. "del" will not work here because it is not a separate command
499 # but a MSDOS-shell builtin.
500 #
501 clean:
502 rm -rf $(OBJDIR) $(APPNAME)
@@ -1168,11 +1177,11 @@
1168 $(XTCC) -DSQLITE_OMIT_LOAD_EXTENSION=1 -DSQLITE_THREADSAFE=0 -DSQLITE_DEFAULT_FILE_FORMAT=4 -DSQLITE_ENABLE_STAT3 -Dlocaltime=fossil_localtime -DSQLITE_ENABLE_LOCKING_STYLE=0 -c $(SRCDIR)/sqlite3.c -o $(OBJDIR)/sqlite3.o
1169
1170 $(OBJDIR)/cson_amalgamation.o: $(SRCDIR)/cson_amalgamation.c
1171 $(XTCC) -c $(SRCDIR)/cson_amalgamation.c -o $(OBJDIR)/cson_amalgamation.o -DCSON_FOSSIL_MODE
1172
1173 $(OBJDIR)/json.o $(OBJDIR)/json_artifact.o $(OBJDIR)/json_branch.o $(OBJDIR)/json_diff.o $(OBJDIR)/json_login.o $(OBJDIR)/json_query.o $(OBJDIR)/json_report.o $(OBJDIR)/json_tag.o $(OBJDIR)/json_timeline.o $(OBJDIR)/json_user.o $(OBJDIR)/json_wiki.o: $(SRCDIR)/json_detail.h
1174
1175 $(OBJDIR)/shell.o: $(SRCDIR)/shell.c $(SRCDIR)/sqlite3.h
1176 $(XTCC) -Dmain=sqlite3_shell -DSQLITE_OMIT_LOAD_EXTENSION=1 -c $(SRCDIR)/shell.c -o $(OBJDIR)/shell.o
1177
1178 $(OBJDIR)/th.o: $(SRCDIR)/th.c
1179
--- win/Makefile.mingw.mistachkin
+++ win/Makefile.mingw.mistachkin
@@ -1,8 +1,16 @@
1 #!/usr/bin/make
2 #
3 ##############################################################################
4 # WARNING: DO NOT EDIT, AUTOMATICALLY GENERATED FILE (SEE src/makemake.tcl)
5 ##############################################################################
6 #
7 # This file is automatically generated. Instead of editing this
8 # file, edit "makemake.tcl" then run "tclsh makemake.tcl"
9 # to regenerate this file.
10 #
11 # This is a makefile for us on windows using MinGW.
12 #
13 #### The toplevel directory of the source tree. Fossil can be built
14 # in a directory that is separate from the source tree. Just change
15 # the following to point from the build directory to the src/ folder.
16 #
@@ -65,11 +73,12 @@
73 # TCLDIR macro (above), which may not be correct. This value will
74 # only be used if the FOSSIL_TCL_SOURCE macro is defined.
75 #
76 TCLSRCDIR = $(TCLDIR)
77
78 #### The Tcl include and library directories. These values will only be
79 # used if the FOSSIL_TCL_SOURCE macro is not defined.
80 #
81 TCLINCDIR = $(TCLDIR)/include
82 TCLLIBDIR = $(TCLDIR)/lib
83
84 #### Tcl: Which Tcl library do we want to use (8.4, 8.5, 8.6, etc)?
@@ -134,18 +143,18 @@
143 LIB += -lnetapi32 -lkernel32 -luser32 -ladvapi32 -lws2_32
144 else
145 LIB += -lws2_32
146 endif
147
148 #### Tcl shell for use in running the fossil test suite. This is only
149 # used for testing. If you do not run
150 #
151 TCLSH = tclsh
152
153 #### Nullsoft installer makensis location
154 #
155 MAKENSIS = "$(ProgramFiles)\NSIS\makensis.exe"
156
157 #### Include a configuration file that can override any one of these settings.
158 #
159 -include config.w32
160
@@ -468,11 +477,11 @@
477 $(BCC) -o $(OBJDIR)/mkindex $(SRCDIR)/mkindex.c
478
479 $(VERSION): $(SRCDIR)/mkversion.c
480 $(BCC) -o $(OBJDIR)/version $(SRCDIR)/mkversion.c
481
482 # WARNING. DANGER. Running the test suite modifies the repository the
483 # build is done from, i.e. the checkout belongs to. Do not sync/push
484 # the repository after running the tests.
485 test: $(OBJDIR) $(APPNAME)
486 $(TCLSH) $(SRCDIR)/../test/tester.tcl $(APPNAME)
487
@@ -492,11 +501,11 @@
501 # an executable named "manifest" out of the file named "manifest.c"
502 #
503 $(SRCDIR)/../manifest:
504 # noop
505
506 # Requires msys to be installed in addition to the MinGW, for the "rm"
507 # command. "del" will not work here because it is not a separate command
508 # but a MSDOS-shell builtin.
509 #
510 clean:
511 rm -rf $(OBJDIR) $(APPNAME)
@@ -1168,11 +1177,11 @@
1177 $(XTCC) -DSQLITE_OMIT_LOAD_EXTENSION=1 -DSQLITE_THREADSAFE=0 -DSQLITE_DEFAULT_FILE_FORMAT=4 -DSQLITE_ENABLE_STAT3 -Dlocaltime=fossil_localtime -DSQLITE_ENABLE_LOCKING_STYLE=0 -c $(SRCDIR)/sqlite3.c -o $(OBJDIR)/sqlite3.o
1178
1179 $(OBJDIR)/cson_amalgamation.o: $(SRCDIR)/cson_amalgamation.c
1180 $(XTCC) -c $(SRCDIR)/cson_amalgamation.c -o $(OBJDIR)/cson_amalgamation.o -DCSON_FOSSIL_MODE
1181
1182 $(OBJDIR)/json.o $(OBJDIR)/json_artifact.o $(OBJDIR)/json_branch.o $(OBJDIR)/json_diff.o $(OBJDIR)/json_login.o $(OBJDIR)/json_query.o $(OBJDIR)/json_report.o $(OBJDIR)/json_tag.o $(OBJDIR)/json_timeline.o $(OBJDIR)/json_user.o $(OBJDIR)/json_wiki.o : $(SRCDIR)/json_detail.h
1183
1184 $(OBJDIR)/shell.o: $(SRCDIR)/shell.c $(SRCDIR)/sqlite3.h
1185 $(XTCC) -Dmain=sqlite3_shell -DSQLITE_OMIT_LOAD_EXTENSION=1 -c $(SRCDIR)/shell.c -o $(OBJDIR)/shell.o
1186
1187 $(OBJDIR)/th.o: $(SRCDIR)/th.c
1188
--- win/Makefile.msc
+++ win/Makefile.msc
@@ -1,10 +1,14 @@
1
-# DO NOT EDIT
1
+#
2
+##############################################################################
3
+# WARNING: DO NOT EDIT, AUTOMATICALLY GENERATED FILE (SEE "src/makemake.tcl")
4
+##############################################################################
25
#
36
# This file is automatically generated. Instead of editing this
4
-# file, edit "makemake.tcl" then run "tclsh src/makemake.tcl"
7
+# file, edit "makemake.tcl" then run "tclsh makemake.tcl"
58
# to regenerate this file.
9
+#
610
B = ..
711
SRCDIR = $B\src
812
OBJDIR = .
913
OX = .
1014
O = .obj
1115
--- win/Makefile.msc
+++ win/Makefile.msc
@@ -1,10 +1,14 @@
1 # DO NOT EDIT
 
 
 
2 #
3 # This file is automatically generated. Instead of editing this
4 # file, edit "makemake.tcl" then run "tclsh src/makemake.tcl"
5 # to regenerate this file.
 
6 B = ..
7 SRCDIR = $B\src
8 OBJDIR = .
9 OX = .
10 O = .obj
11
--- win/Makefile.msc
+++ win/Makefile.msc
@@ -1,10 +1,14 @@
1 #
2 ##############################################################################
3 # WARNING: DO NOT EDIT, AUTOMATICALLY GENERATED FILE (SEE "src/makemake.tcl")
4 ##############################################################################
5 #
6 # This file is automatically generated. Instead of editing this
7 # file, edit "makemake.tcl" then run "tclsh makemake.tcl"
8 # to regenerate this file.
9 #
10 B = ..
11 SRCDIR = $B\src
12 OBJDIR = .
13 OX = .
14 O = .obj
15

Keyboard Shortcuts

Open search /
Next entry (timeline) j
Previous entry (timeline) k
Open focused entry Enter
Show this help ?
Toggle theme Top nav button