]> git.llucax.com Git - software/makeit.git/blob - example/README
e3b8addaf5d5cdac6eb1dc954a5708be79bcca7e
[software/makeit.git] / example / README
1
2 This is a test/example for a nice Make based build system.
3
4 The Config.mak should not be saved to the repositories usually, but in this
5 case it is because part of this demonstration is to show how to customize the
6 build system through Config.mak, and specially to show how a project can be
7 "embedded" into another tweaking the Config.mak.
8
9 lib1 is a standalone C library compiled into a shared object.  lib2 is another
10 shared library which uses lib1 and otherproj, which is a standalone project
11 (living in the "subproj" subdirectory) "embedded" into this one. otherproj
12 produces another standalone shared object.  Finally, prog is a program which
13 uses lib1 and lib2.
14
15 Every project have it's copy of Makeit.mak and it's own Toplevel.mak. Both
16 files shouldn't be modified ever (unless you're hacking the build system).
17
18 Then each directory containing some library or program to build (or directories
19 to include) has a Build.mak, which has only the logic to build the
20 programs/libraries. A well-known Makefile is added to each directory where you
21 want to be able to do "make", just for convenience. This Makefile should be
22 created once, with the default target to build and path to the top-level
23 directory and never touched again. Build.mak should be changes only to add new
24 programs or libraries to build.
25