4.6 Closing remarks

With the current version of the makefile in the examples/ directory, our example is only built upon explicit make request in examples/client/. You should modify it to propagate a make in the package directory, as it is done for all the other directories automatically. Thus it becomes:

hiworld/examples/Makefile
...
TARGET = client
...

Now, you could do a make in hiworld/ to rebuild your whole package (probably nothing actually gets built, as everything should be up to date). Or, you could do a make clean in hiworld/ to delete all generated intermediate files in your package and only keep the generated library and the binaries. A make cleanall removes these too.

Note, that BID takes care of build dependencies very carefully. If a source-file is changed, a make in this directory rebuilds everything in this directory that depends on this file. BID also notices modified makefiles and client libraries being linked to binaries.

If you trigger a make at the root of a directory tree, BID generally brings the tree up to date, but never builds anything outside this tree. For example, you build a package by doing a make in its package directory. However, if it requires include files of libraries from other packages, you must either build them before, or go into the $(L4DIR)/pkg directory and trigger the make there.

In this section we

L4 Checker 2012-04-11