2 This is a test/example for the Makeit build system.
4 The Config.local.mak should not be saved to the repositories usually, it's
5 supposed to be user configuration not visible to other users, but in
6 this case it is because is part of this demonstration. Also, subproj's
7 Config.local.mak shows how to make another project using Makeit behave as it was
8 part of this project, as an "embedded" sub-project.
10 This means you could copy subproj directory elsewhere, remove Config.local.mak
11 and that should be a standalone project using Makeit. Tweaking ours
12 Config.local.mak here, we integrate it into the build system, so doing make in
13 our parent project will make subproj too.
15 lib1 is a standalone C library compiled into a shared object. lib2 is another
16 shared library which uses lib1 and otherproj, which is a standalone project
17 (living in the "subproj" subdirectory) "embedded" into this one. otherproj
18 produces another standalone shared object. Finally, prog is a program which
21 Every standalone project have it's copy of Makeit.mak and it's own Toplevel.mak.
22 Both files shouldn't be modified ever (unless you're hacking the build system).
24 Then each directory containing some library or program to build (or directories
25 to include) has a Build.mak, which has only the logic to build the
26 programs/libraries. A well-known Makefile is added to each directory where you
27 want to be able to do "make", just for convenience. This Makefile should be
28 created once, with the default target to build and path to the top-level
29 directory and never touched again. Build.mak should be changes only to add new
30 programs or libraries to build.