-
Notifications
You must be signed in to change notification settings - Fork 4
/
README
52 lines (41 loc) · 1.56 KB
/
README
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
This is a skeleton of an "ON" (illumos) build.
You can use it to build drivers, libraries, and commands,
that you might plan to later integrate into illumos, but
don't want to wait for full illumos builds while you're
developing your code.
As provided, this skeleton builds one driver, one library,
and one command, all named "foo". These are intentionally
trivial objects, just to demonstrate how it builds.
The Makefile here is a wrappter to build the whole gate
in a few separate steps. All steps use the command:
bldenv myenv.sh "cd ...; make"
to setup the environment expected by the gate and
run make in the necessary places to build it all.
The rapper makefile supports three targets:
make install
make package
make clean
Here is a list of all the places you might want to copy
to add another driver, library, or command:
uts/common/sys/foo.h
uts/common/io/foo/*
uts/common/Makefile.files (FOO_OBJS += foo.o)
uts/common/Makefile.rules (common/io/foo, two places)
uts/intel/Makefile.intel.shared (DRV_KMODS += foo)
uts/intel/foo/Makefile
uts/sparc/Makefile.sparc.shared (DRV_KMODS += foo)
uts/sparc/foo/Makefile
lib/libfoo/Makefile
lib/libfoo/Makefile.com
lib/libfoo/*/Makefile
lib/libfoo/common/*
cmd/foo
When doing incremental work in the gate, i.e. fixing
compilation errors, it's handy to run an editor in a
"bldenv" environment, as follows:
ksh93 tools/bldenv -d myenv.sh
man/man1/foo.1
man/man3x/libfoo.3x
man/man7/foo.7
For more information about developing device drivers for illumos, please read this document:
https://illumos.org/books/wdd/eqbqn.html