Artifact Content
Not logged in

Artifact e7fed9d5b647337f8e7abf45981d10cdcc1555e2

File BUILD.txt part of check-in [0e265b0184] - Documentation updates. Added Makefile. by drh on 2007-08-01 20:05:49.

All of the source code for fossil is contained in the src/ subdirectory.
But there is a lot of generated code, so you will probably want to
use the Makefile.  To do a complete build, just type:

   make

That should work out-of-the-box on Macs and Linux systems.  If
you have trouble, or you want to do something fancy, just edit
the Makefile in the top-level folder.  There are 5 things you
might want to change in the Makefile.  All 5 things are well
commented.  The complete Makefile is only a few dozen lines long.
Do not be intimidated.

--------------------------------------------------------------------------

Here are some notes on what is happening behind the scenes:

* The Makefile just set up a few macros and then invokes the
  real makefile in src/main.mk.  The src/main.mk makefile is
  automatically generated by a TCL script found at src/makemake.tcl.
  Do not edit src/main.mk directly.  Update src/makemake.tcl and
  then rerun it.

* The *.h header files are automatically generated using a program
  called "makeheaders".  Source code to the makeheaders program is
  found in src/makeheaders.c.  Documentation is found in 
  src/makeheaders.html.

* Most *.c source files are preprocessed using a program called
  "translate".  The sources to translate are found in src/translate.c.
  A header comment in src/translate.c explains in detail what it does.

* The src/mkindex.c program generates some C code that implements
  static lookup tables.  See the header comment in the source code
  for details on what it does.