aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorBjoern B. Brandenburg <bbb@cs.unc.edu>2010-11-24 19:34:15 -0500
committerBjoern B. Brandenburg <bbb@cs.unc.edu>2010-11-24 19:48:44 -0500
commit6bad2f0bdfcea7da7559bcee08ccc9d41f1aadc4 (patch)
tree3025bc032099e42b3af098455882c28eca87c418
parent7fbc7d3055458b7b3633d4a95ee344490dc3473e (diff)
add installation instructions to liblitmus (and 'make help')
Some initial documentation to aid new users get started with compiling the library.
-rw-r--r--INSTALL56
-rw-r--r--Makefile5
-rw-r--r--README17
3 files changed, 62 insertions, 16 deletions
diff --git a/INSTALL b/INSTALL
new file mode 100644
index 0000000..4891f0a
--- /dev/null
+++ b/INSTALL
@@ -0,0 +1,56 @@
1
2Liblitmus Installation Instructions
3===================================
4
5Dependencies
6------------
7
8Liblitmus has no dependencies besides the kernel. During compilation, the
9Makefile will attempt to copy required headers from the kernel source tree into
10the library source tree.
11
12
13Configuration
14-------------
15
16The build system reads a local configuration file named '.config' (just like the
17kernel, but much simpler). There are three variables that affect the
18compilation process:
19
20 LITMUS_KERNEL --- Path (relative or absolute) to the LITMUS^RT kernel
21 source tree. The default value is
22 '../litmus2010'. Set this variable if you extracted
23 the kernel somewhere else.
24
25 ARCH --- The target architecture. Currently, liblitmus can be
26 build for i386, x86_64, sparc64, and arm. The default
27 value is the host architecture.
28
29 CROSS_COMPILE --- A prefix for the compiler and linker to use. Works
30 exactly like cross-compiling the kernel. By default,
31 this variable is not set.
32
33Makefile Targets
34----------------
35
36 all --- Build the library, all tools, and all tests. This is
37 the default.
38
39 lib --- Build only the library.
40
41 help --- Display this help.
42
43 dump-config --- Report the build configuration. Use this to debug
44 build problems.
45
46 clean --- Remove all build files and binaries.
47
48 TAGS --- Create a TAGS file for emacs. (Requires etags to be
49 installed.)
50
51 tags --- Create a tags file for vim. (Requires ctags to be
52 installed.)
53
54 cscope --- Create a symbol database for cscope. (Requires cscope
55 to be installed.)
56
diff --git a/Makefile b/Makefile
index d427e1b..ef2be1f 100644
--- a/Makefile
+++ b/Makefile
@@ -73,7 +73,7 @@ all = lib ${rt-apps}
73rt-apps = cycles base_task rt_launch rtspin release_ts measure_syscall \ 73rt-apps = cycles base_task rt_launch rtspin release_ts measure_syscall \
74 base_mt_task runtests 74 base_mt_task runtests
75 75
76.PHONY: all lib clean dump-config TAGS tags cscope 76.PHONY: all lib clean dump-config TAGS tags cscope help
77 77
78all: ${all} inc/config.makefile 78all: ${all} inc/config.makefile
79 79
@@ -111,6 +111,9 @@ dump-config:
111 AR "${AR}" \ 111 AR "${AR}" \
112 obj-all "${obj-all}" 112 obj-all "${obj-all}"
113 113
114help:
115 @cat INSTALL
116
114clean: 117clean:
115 rm -f ${rt-apps} 118 rm -f ${rt-apps}
116 rm -f *.o *.d *.a test_catalog.inc 119 rm -f *.o *.d *.a test_catalog.inc
diff --git a/README b/README
index 656dc14..accdf72 100644
--- a/README
+++ b/README
@@ -54,18 +54,5 @@ Tools and Programs
54 of single-threaded real-time tasks. 54 of single-threaded real-time tasks.
55 55
56* base_mt_task 56* base_mt_task
57 Example multi-threaded real-time task. Use as a basis for development. 57 Example multi-threaded real-time task. Use as a basis for the development of
58 58 multithreaded real-time tasks.
59
60Install
61=======
62The library and the included tools must be compiled from source.
63Liblitmus uses SCons as the build system. For details see:
64
65 http://www.scons.org/
66
67To compile the library just execute the command 'scons' without
68arguments.
69
70x86_64->ia32 cross compilation is possible by specifying ARCH=i386 on the
71command line or in the environment.