----------------------\r
----------------------\r
\r
+The build system basically has two main parts: the autoconf-generated \r
+shell scripts which check for availability of functions and libraries \r
+which is stored in the .m4 files and the information about the various \r
+subsystems which is stored in the .mk files.\r
+\r
Object Types\r
------------\r
the build system knows about the following object types\r
a LIBRARY typicly has only glue code in it and depends on\r
SUBSYSTEM's (required_subsystems/REQUIRED_SUBSYSTEMS).\r
\r
-\r
-Macrodescriptions\r
-----------------\r
-On top of build/smb_build/public.m4 is a list of all public macros of the build system.\r
-\r
+File summary:\r
+-------------\r
+public.m4 - public M4 macros of the build system\r
+config_mk.pm - Support for reading .mk files \r
+dot.pm - Support for generating .dot files for analysis of dependencies\r
+input.pm - Input validation\r
+main.pm - Main\r
+makefile.pm - Makefile generation\r
+output.pm - Dependency calculation\r
+smb_build_h.pm - smb_build.h generation\r
\r
Layout\r
-------\r
(mostly compiler and basic C type and function\r
checks)\r
\r
-- subsystem specific stuff should be included by 'SMB_INLUDE_M4()'\r
+- subsystem specific stuff should be included by 'SMB_INCLUDE_M4()'\r
\r
\r
-Generating of 'configure'\r
+Generating the configure file\r
-------------------------\r
you need to rerun ./autogen.sh when 'configure.in' or any\r
'.m4' file was modified, then you need to rerun configure.\r
\r
\r
-Generating of 'config.status'\r
+Generating config.status\r
-----------------------------\r
you need to run ./config.status (or 'configure') after a '.mk'\r
file was changed.\r
--------\r
for now please take a look at the .m4 and .mk files\r
you find in the source tree, they should be a good reference to start.\r
-\r
-\r
-README-TODO\r
-------------\r
-SMB_XYZ() vs. SMB_XYZ_MK()\r
-meaning of the macros parameters and the .mk file handling\r
-examples\r