From b3653ee2aa32ed5e9ca6f89dd384231fbcd3ccd3 Mon Sep 17 00:00:00 2001 From: Michal Sojka Date: Fri, 25 Feb 2011 09:14:19 +0100 Subject: [PATCH] Update the main README --- README | 96 ++++++++++++++++++++++++++-------------------------------- 1 file changed, 43 insertions(+), 53 deletions(-) diff --git a/README b/README index e2a0ee82..986058f0 100644 --- a/README +++ b/README @@ -49,10 +49,7 @@ 4) Test it: - ./_compiled/bin/fcb & - ./_compiled/bin/frm_dummy & - ./_compiled/bin/frm_gui & - ./_compiled/bin-tests/dummy_renegotiation + make test * DIRECTORY STRUCTURE @@ -83,65 +80,54 @@ * src/fwp - Communication protocol and resource management for WiFi (also works with Ethernet). -* OLD HOWTO - may be out of date +* MISCELLANEOUS + +** Advantages of OMK make system + + * It is not easy to test FRSH/FORB simultaneously on multiple + platforms. With OMK, you can have the same sources compiled for + multiple platforms/targets at the same time because it uses out + of source directory compilation. + * Automatic handling of dependencies. When a file is changed, + only the files dependent on it are rebuilt. Developers don't + have to care about this. + * With OMK it is easy to combine multiple components/libraries (from + different developers) together and compile them with the same + configuration (e.g. PLATFORM variable). The structure of leaf + makefiles (Makefile for every component) is very simple and *well + specified*. Because of this it is easy to combine components from + multiple developers. + * OMK already supports compilation for user-space + programs/libraries, Linux and RTLinux modules, RTEMS and + several other platforms. Now we have also added support for + Marte. OMK works under MinGW and Cygwin, so it can be used to + compile for OSE. In Pisa, they already use OMK for Aquosa. ** Further remarks -- If we are not interested in compilation of some component (because - it is currently in uncompilable state), we can simply delete the - link to it. +- If you are not interested in compilation of some component (e.g . + because it is currently in uncompilable state), you can simply + delete the link to it. - It might be possible that you will need to change some configuration value from config.target. You can override any variable declared - there in config.omk. For example, if you have MARTE installed in a - different directory that the one specified in config.target, you can - put the following in config.omk: + there in config.omk - just create it and put variable definitions to + it. For example, if you have MARTE installed in a different + directory that the one specified in config.target, you can put the + following in config.omk: MARTE_PATH=/path/to/marte/ -- To compile the FRESCOR for Marte, it is not necessary to set PATH - variable to GNAT compiler since OMK uses full paths to call the - compiler. - -- Since there are many things in uncompilable state, you may want to - use `make -k' to ignore compilation errors. - -- Since we don't want to modify the original Makefiles, in order to - compile only a part of the tree, you cannot simply run make in the - desired directory, but you have to specify -f flag with the path to - Makefile.rules. For this reason, we recommend defining the following - alias: +- FRSH/FORB support for Marte OS is not maintained. However, if you + want to try it, it is not necessary to set PATH variable to GNAT + compiler since OMK uses full paths to call the compiler. - alias omk="make -f $HOME/frescor/src/omk-build/marte/Makefile.rules" - -** Why is OMK good for FRESCOR - - * It is not easy to test FRESCOR simultaneously on multiple platforms. - With OMK, you can have the same sources compiled for multiple - platforms/targets at the same time because it uses out of source - directory compilation. - * Dependencies are not handled correctly in current Makefiles. For - example headers (in most tests) and some libraries (fosa_xxx) are not - specified as dependencies. OMK handles dependencies automatically, so - developers don't have to care about them. - * With OMK it is easy to combine multiple components/libraries (from - different developers) together and compile them with the same - configuration (e.g. PLATFORM variable). The structure of leaf - makefiles (Makefile for every component) is very simple and *well - specified*. Because of this it is easy to combine components from - multiple developers. - * Directory structure for compilation with current makefiles must be - fixed. In makefiles there is many "..". This prevents the use of - symbolic links to create desired directory structure because make - always treats ".." physically (i.e. it don't respect the directory - structure created by symbolic links). In OMK, the position of - directories in the source tree is not important. This is another - reason, why integration is simpler with OMK. - * OMK already supports compilation for user-space programs/libraries, - Linux and RTLinux modules, RTEMS and several other platforms. Now we - have also added support for Marte. It works under MinGW and Cygwin, so - it can be used to compile for OSE. In Pisa, they already use OMK for - Aquosa. +- Since we don't want to modify the Makefiles developed for Marte OS, + in order to compile only a part of the tree, you cannot simply run + make in the desired directory, but you have to specify -f flag with + the path to Makefile.rules. For this reason, we recommend using omk + script instead of make. The script can be obtained from + http://rtime.felk.cvut.cz/gitweb/omk.git/blob_plain/HEAD:/omk. ** FAQ @@ -149,6 +135,10 @@ Just activate verbose compilation (V=1 or V=2): + make V=1 + + or + make -f /path/to/Makefile.rules binary-pass V=1 - How do I get back syntax highlighting in Emacs while editing .omk files ? -- 2.39.2