diff options
Diffstat (limited to 'Documentation/lguest/Makefile')
-rw-r--r-- | Documentation/lguest/Makefile | 27 |
1 files changed, 27 insertions, 0 deletions
diff --git a/Documentation/lguest/Makefile b/Documentation/lguest/Makefile new file mode 100644 index 000000000000..b9b9427376e9 --- /dev/null +++ b/Documentation/lguest/Makefile | |||
@@ -0,0 +1,27 @@ | |||
1 | # This creates the demonstration utility "lguest" which runs a Linux guest. | ||
2 | |||
3 | # For those people that have a separate object dir, look there for .config | ||
4 | KBUILD_OUTPUT := ../.. | ||
5 | ifdef O | ||
6 | ifeq ("$(origin O)", "command line") | ||
7 | KBUILD_OUTPUT := $(O) | ||
8 | endif | ||
9 | endif | ||
10 | # We rely on CONFIG_PAGE_OFFSET to know where to put lguest binary. | ||
11 | include $(KBUILD_OUTPUT)/.config | ||
12 | LGUEST_GUEST_TOP := ($(CONFIG_PAGE_OFFSET) - 0x08000000) | ||
13 | |||
14 | CFLAGS:=-Wall -Wmissing-declarations -Wmissing-prototypes -O3 \ | ||
15 | -static -DLGUEST_GUEST_TOP="$(LGUEST_GUEST_TOP)" -Wl,-T,lguest.lds | ||
16 | LDLIBS:=-lz | ||
17 | |||
18 | all: lguest.lds lguest | ||
19 | |||
20 | # The linker script on x86 is so complex the only way of creating one | ||
21 | # which will link our binary in the right place is to mangle the | ||
22 | # default one. | ||
23 | lguest.lds: | ||
24 | $(LD) --verbose | awk '/^==========/ { PRINT=1; next; } /SIZEOF_HEADERS/ { gsub(/0x[0-9A-F]*/, "$(LGUEST_GUEST_TOP)") } { if (PRINT) print $$0; }' > $@ | ||
25 | |||
26 | clean: | ||
27 | rm -f lguest.lds lguest | ||