link lguest example launcher non-static
[safe/jmp/linux-2.6] / Documentation / lguest / Makefile
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 -Wl,-T,lguest.lds
15 LDLIBS:=-lz
16
17 all: lguest.lds lguest
18
19 # The linker script on x86 is so complex the only way of creating one
20 # which will link our binary in the right place is to mangle the
21 # default one.
22 lguest.lds:
23         $(LD) --verbose | awk '/^==========/ { PRINT=1; next; } /SIZEOF_HEADERS/ { gsub(/0x[0-9A-F]*/, "$(LGUEST_GUEST_TOP)") } { if (PRINT) print $$0; }' > $@
24
25 clean:
26         rm -f lguest.lds lguest