@@ -1,54 +1,60 @@
1 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- To do a complete build on most unix systems, just type:
2 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
-
3 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- make
4 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
-
5 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- If you have an unusual unix system for which the standard Makefile
6 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- will not work, or if you want to do some non-standard options, you can
7 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- also run:
1 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+ To do a complete build, just type:
8 2 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
9 3 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
./configure; make
10 4 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
11 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- The ./configure script builds GNUmakefile which will be used in place
12 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- of Makefile. Run "./configure --help" for a listing of the available
13 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- options.
5 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+ The ./configure script builds Makefile from Makefile.in based on
6 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+ your system and any options you select (run "./configure --help"
7 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+ for a listing of the available options.)
8 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+
9 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+ If you wish to use the original Makefile with no configuration, you can
10 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+ instead use:
11 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+
12 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+ make -f Makefile.classic
14 13 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
15 14 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
On a windows box, use one of the Makefiles in the win/ subdirectory,
16 15 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
according to your compiler and environment. If you have GCC and MSYS
17 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- installed on your system, the consider:
16 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+ installed on your system, then consider:
18 17 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
19 18 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
make -f win/Makefile.mingw
20 19 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
21 20 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
If you have VC++ installed on your system, then consider:
22 21 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
23 22 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
cd win; nmake /f Makefile.msc
24 23 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
25 24 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
If you have trouble, or you want to do something fancy, just look at
26 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- top level makefile. There are 6 configuration options that are all well
27 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- commented. Instead of editing the Makefile, consider copying the Makefile
28 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- to an alternative name such as "GNUMakefile", "BSDMakefile", or "makefile"
29 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- and editing the copy.
25 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+ Makefile.classic. There are 6 configuration options that are all well
26 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+ commented. Instead of editing the Makefile.classic, consider copying
27 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+ Makefile.classic to an alternative name such as "GNUMakefile",
28 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+ "BSDMakefile", or "makefile" and editing the copy.
30 29 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
31 30 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
32 31 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
BUILDING OUTSIDE THE SOURCE TREE
33 32 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
34 33 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
An out of source build is pretty easy:
35 34 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
36 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- 1. Make a new directory to do the builds in.
37 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- 2. Copy "Makefile" from the source into the build directory and
38 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- modify the SRCDIR macro along the lines of:
35 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+ 1. Make and change to a new directory to do the builds in.
36 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+ 2. Run the "configure" script from this directory.
37 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+ 3. Type: "make"
38 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+
39 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+ For example:
39 40 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
40 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- SRCDIR=../src
41 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
-
42 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- 3. type: "make"
41 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+ mkdir build
42 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+ cd build
43 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+ ../configure
44 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+ make
43 45 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
44 46 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
This will now keep all generates files seperate from the maintained
45 47 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
source code.
46 48 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
47 49 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
--------------------------------------------------------------------------
48 50 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
49 51 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
Here are some notes on what is happening behind the scenes:
52 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+
53 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+ * The configure script (if used) examines the options given
54 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+ and runs various tests with the C compiler to create Makefile
55 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+ from the Makefile.in template as well as autoconfig.h
50 56 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
51 57 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
* The Makefile just sets up a few macros and then invokes the
52 58 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
real makefile in src/main.mk. The src/main.mk makefile is
53 59 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
automatically generated by a TCL script found at src/makemake.tcl.
54 60 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
Do not edit src/main.mk directly. Update src/makemake.tcl and
@@ -64,5 +70,8 @@
64 70 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
A header comment in src/translate.c explains in detail what it does.
65 71 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
66 72 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
* The src/mkindex.c program generates some C code that implements
67 73 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
static lookup tables. See the header comment in the source code
68 74 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
for details on what it does.
75 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+
76 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+ Additional information on the build process is available from
77 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+ http://www.fossil-scm.org/fossil/doc/trunk/www/makefile.wiki
69 78 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
70 79 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
D ELETED GNUmakefile.in
71 80 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
D ELETED Makefile
72 81 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
A DDED Makefile.classic
73 82 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
A DDED Makefile.in