Hex Artifact Content
Not logged in

Artifact 7035415b04a450e40789aa5be1e5dfecc9520892:

File Makefile part of check-in [8372cc0b81] - Socket operations now functional in Win32 port. Added quotes around the filename portion of the command to edit thus working of windows in paths where the temp directory contains spaces. Added -all flag to clean command. If not specified each file is prompted for before removing. by jnc on 2007-09-22 18:34:49. Also file Makefile.w32 part of check-in [3c5482959c] - Merge in the w32 changes. by drh on 2007-09-22 19:43:55.

0000: 23 21 2f 75 73 72 2f 62 69 6e 2f 6d 61 6b 65 0a  #!/usr/bin/make.
0010: 23 0a 23 23 23 23 20 54 68 65 20 74 6f 70 6c 65  #.#### The tople
0020: 76 65 6c 20 64 69 72 65 63 74 6f 72 79 20 6f 66  vel directory of
0030: 20 74 68 65 20 73 6f 75 72 63 65 20 74 72 65 65   the source tree
0040: 2e 20 20 46 6f 73 73 69 6c 20 63 61 6e 20 62 65  .  Fossil can be
0050: 20 62 75 69 6c 74 0a 23 20 20 20 20 69 6e 20 61   built.#    in a
0060: 20 64 69 72 65 63 74 6f 72 79 20 74 68 61 74 20   directory that 
0070: 69 73 20 73 65 70 61 72 61 74 65 20 66 72 6f 6d  is separate from
0080: 20 74 68 65 20 73 6f 75 72 63 65 20 74 72 65 65   the source tree
0090: 2e 20 20 4a 75 73 74 20 63 68 61 6e 67 65 0a 23  .  Just change.#
00a0: 20 20 20 20 74 68 65 20 66 6f 6c 6c 6f 77 69 6e      the followin
00b0: 67 20 74 6f 20 70 6f 69 6e 74 20 66 72 6f 6d 20  g to point from 
00c0: 74 68 65 20 62 75 69 6c 64 20 64 69 72 65 63 74  the build direct
00d0: 6f 72 79 20 74 6f 20 74 68 65 20 73 72 63 2f 20  ory to the src/ 
00e0: 66 6f 6c 64 65 72 2e 0a 23 0a 53 52 43 44 49 52  folder..#.SRCDIR
00f0: 20 3d 20 2e 2f 73 72 63 0a 0a 23 23 23 23 20 43   = ./src..#### C
0100: 20 43 6f 6d 70 69 6c 65 72 20 61 6e 64 20 6f 70   Compiler and op
0110: 74 69 6f 6e 73 20 66 6f 72 20 75 73 65 20 69 6e  tions for use in
0120: 20 62 75 69 6c 64 69 6e 67 20 65 78 65 63 75 74   building execut
0130: 61 62 6c 65 73 20 74 68 61 74 0a 23 20 20 20 20  ables that.#    
0140: 77 69 6c 6c 20 72 75 6e 20 6f 6e 20 74 68 65 20  will run on the 
0150: 70 6c 61 74 66 6f 72 6d 20 74 68 61 74 20 69 73  platform that is
0160: 20 64 6f 69 6e 67 20 74 68 65 20 62 75 69 6c 64   doing the build
0170: 2e 20 20 54 68 69 73 20 69 73 20 75 73 65 64 0a  .  This is used.
0180: 23 20 20 20 20 74 6f 20 63 6f 6d 70 69 6c 65 20  #    to compile 
0190: 63 6f 64 65 2d 67 65 6e 65 72 61 74 6f 72 20 70  code-generator p
01a0: 72 6f 67 72 61 6d 73 20 61 73 20 70 61 72 74 20  rograms as part 
01b0: 6f 66 20 74 68 65 20 62 75 69 6c 64 20 70 72 6f  of the build pro
01c0: 63 65 73 73 2e 0a 23 20 20 20 20 53 65 65 20 54  cess..#    See T
01d0: 43 43 20 62 65 6c 6f 77 20 66 6f 72 20 74 68 65  CC below for the
01e0: 20 43 20 63 6f 6d 70 69 6c 65 72 20 66 6f 72 20   C compiler for 
01f0: 62 75 69 6c 64 69 6e 67 20 74 68 65 20 66 69 6e  building the fin
0200: 69 73 68 65 64 20 62 69 6e 61 72 79 2e 0a 23 0a  ished binary..#.
0210: 42 43 43 20 3d 20 67 63 63 20 2d 67 20 2d 4f 32  BCC = gcc -g -O2
0220: 0a 0a 23 23 23 23 20 54 68 65 20 73 75 66 66 69  ..#### The suffi
0230: 78 20 74 6f 20 61 64 64 20 74 6f 20 65 78 65 63  x to add to exec
0240: 75 74 61 62 6c 65 20 66 69 6c 65 73 2e 20 20 22  utable files.  "
0250: 2e 65 78 65 22 20 66 6f 72 20 77 69 6e 64 6f 77  .exe" for window
0260: 73 2e 0a 23 20 20 20 20 4e 6f 74 68 69 6e 67 20  s..#    Nothing 
0270: 66 6f 72 20 75 6e 69 78 2e 0a 23 0a 45 20 3d 0a  for unix..#.E =.
0280: 0a 23 23 23 23 20 43 20 43 6f 6d 70 69 6c 65 20  .#### C Compile 
0290: 61 6e 64 20 6f 70 74 69 6f 6e 73 20 66 6f 72 20  and options for 
02a0: 75 73 65 20 69 6e 20 62 75 69 6c 64 69 6e 67 20  use in building 
02b0: 65 78 65 63 75 74 61 62 6c 65 73 20 74 68 61 74  executables that
02c0: 20 0a 23 20 20 20 20 77 69 6c 6c 20 72 75 6e 20   .#    will run 
02d0: 6f 6e 20 74 68 65 20 74 61 72 67 65 74 20 70 6c  on the target pl
02e0: 61 74 66 6f 72 6d 2e 20 20 54 68 69 73 20 69 73  atform.  This is
02f0: 20 75 73 75 61 6c 6c 79 20 74 68 65 20 73 61 6d   usually the sam
0300: 65 0a 23 20 20 20 20 61 73 20 42 43 43 2c 20 75  e.#    as BCC, u
0310: 6e 6c 65 73 73 20 79 6f 75 20 61 72 65 20 63 72  nless you are cr
0320: 6f 73 73 2d 63 6f 6d 70 69 6c 69 6e 67 2e 20 20  oss-compiling.  
0330: 54 68 69 73 20 43 20 63 6f 6d 70 69 6c 65 72 20  This C compiler 
0340: 62 75 69 6c 64 73 0a 23 20 20 20 20 74 68 65 20  builds.#    the 
0350: 66 69 6e 69 73 68 65 64 20 62 69 6e 61 72 79 20  finished binary 
0360: 66 6f 72 20 66 6f 73 73 69 6c 2e 20 20 54 68 65  for fossil.  The
0370: 20 42 43 43 20 63 6f 6d 70 69 6c 65 72 20 61 62   BCC compiler ab
0380: 6f 76 65 20 69 73 20 75 73 65 64 0a 23 20 20 20  ove is used.#   
0390: 20 66 6f 72 20 62 75 69 6c 64 69 6e 67 20 69 6e   for building in
03a0: 74 65 72 6d 65 64 69 61 74 65 20 63 6f 64 65 2d  termediate code-
03b0: 67 65 6e 65 72 61 74 6f 72 20 74 6f 6f 6c 73 2e  generator tools.
03c0: 0a 23 0a 23 54 43 43 20 3d 20 67 63 63 20 2d 4f  .#.#TCC = gcc -O
03d0: 36 0a 23 54 43 43 20 3d 20 67 63 63 20 2d 67 20  6.#TCC = gcc -g 
03e0: 2d 4f 30 20 2d 57 61 6c 6c 20 2d 66 70 72 6f 66  -O0 -Wall -fprof
03f0: 69 6c 65 2d 61 72 63 73 20 2d 66 74 65 73 74 2d  ile-arcs -ftest-
0400: 63 6f 76 65 72 61 67 65 0a 23 54 43 43 20 3d 20  coverage.#TCC = 
0410: 67 63 63 20 2d 67 20 2d 4f 73 20 2d 57 61 6c 6c  gcc -g -Os -Wall
0420: 0a 54 43 43 20 3d 20 67 63 63 20 2d 67 20 2d 4f  .TCC = gcc -g -O
0430: 73 20 2d 57 61 6c 6c 20 2d 44 46 4f 53 53 49 4c  s -Wall -DFOSSIL
0440: 5f 49 31 38 4e 3d 30 0a 0a 23 23 23 23 20 45 78  _I18N=0..#### Ex
0450: 74 72 61 20 61 72 67 75 6d 65 6e 74 73 20 66 6f  tra arguments fo
0460: 72 20 6c 69 6e 6b 69 6e 67 20 74 68 65 20 66 69  r linking the fi
0470: 6e 69 73 68 65 64 20 62 69 6e 61 72 79 2e 20 20  nished binary.  
0480: 46 6f 73 73 69 6c 20 6e 65 65 64 73 0a 23 20 20  Fossil needs.#  
0490: 20 20 74 6f 20 6c 69 6e 6b 20 61 67 61 69 6e 73    to link agains
04a0: 74 20 74 68 65 20 5a 2d 4c 69 62 20 63 6f 6d 70  t the Z-Lib comp
04b0: 72 65 73 73 69 6f 6e 20 6c 69 62 72 61 72 79 2e  ression library.
04c0: 20 20 54 68 65 72 65 20 61 72 65 20 6e 6f 0a 23    There are no.#
04d0: 20 20 20 20 6f 74 68 65 72 20 64 65 70 65 6e 64      other depend
04e0: 65 6e 63 69 65 73 2e 20 20 57 65 20 73 6f 6d 65  encies.  We some
04f0: 74 69 6d 65 73 20 61 64 64 20 74 68 65 20 2d 73  times add the -s
0500: 74 61 74 69 63 20 6f 70 74 69 6f 6e 20 68 65 72  tatic option her
0510: 65 0a 23 20 20 20 20 73 6f 20 74 68 61 74 20 77  e.#    so that w
0520: 65 20 63 61 6e 20 62 75 69 6c 64 20 61 20 73 74  e can build a st
0530: 61 74 69 63 20 65 78 65 63 75 74 61 62 6c 65 20  atic executable 
0540: 74 68 61 74 20 77 69 6c 6c 20 72 75 6e 20 69 6e  that will run in
0550: 20 61 0a 23 20 20 20 20 63 68 72 6f 6f 74 20 6a   a.#    chroot j
0560: 61 69 6c 2e 0a 23 0a 23 4c 49 42 20 3d 20 2d 6c  ail..#.#LIB = -l
0570: 7a 0a 4c 49 42 20 3d 20 2d 6c 7a 20 2d 6c 77 73  z.LIB = -lz -lws
0580: 32 5f 33 32 0a 0a 0a 23 23 23 23 20 54 63 6c 20  2_32...#### Tcl 
0590: 73 68 65 6c 6c 20 66 6f 72 20 75 73 65 20 69 6e  shell for use in
05a0: 20 72 75 6e 6e 69 6e 67 20 74 68 65 20 66 6f 73   running the fos
05b0: 73 69 6c 20 74 65 73 74 73 75 69 74 65 2e 0a 23  sil testsuite..#
05c0: 0a 54 43 4c 53 48 20 3d 20 74 63 6c 73 68 0a 0a  .TCLSH = tclsh..
05d0: 23 20 59 6f 75 20 73 68 6f 75 6c 64 20 6e 6f 74  # You should not
05e0: 20 6e 65 65 64 20 74 6f 20 63 68 61 6e 67 65 20   need to change 
05f0: 61 6e 79 74 68 69 6e 67 20 62 65 6c 6f 77 20 74  anything below t
0600: 68 69 73 20 6c 69 6e 65 0a 23 23 23 23 23 23 23  his line.#######
0610: 23 23 23 23 23 23 23 23 23 23 23 23 23 23 23 23  ################
0620: 23 23 23 23 23 23 23 23 23 23 23 23 23 23 23 23  ################
0630: 23 23 23 23 23 23 23 23 23 23 23 23 23 23 23 23  ################
0640: 23 23 23 23 23 23 23 23 23 23 23 23 23 23 23 23  ################
0650: 23 23 23 23 23 23 23 23 0a 69 6e 63 6c 75 64 65  ########.include
0660: 20 24 28 53 52 43 44 49 52 29 2f 6d 61 69 6e 2e   $(SRCDIR)/main.
0670: 6d 6b 0a                                         mk.