aboutsummaryrefslogtreecommitdiffstats
path: root/xen/arch/x86/Makefile
blob: aebee65e9c40c0330a8fcd53526dd688149ba727 (plain)
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
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
subdir-y += acpi
subdir-y += cpu
subdir-y += genapic
subdir-y += hvm
subdir-y += oprofile

subdir-$(x86_32) += x86_32
subdir-$(x86_64) += x86_64

obj-y += apic.o
obj-y += audit.o
obj-y += bitops.o
obj-y += compat.o
obj-y += delay.o
obj-y += dmi_scan.o
obj-y += dom0_ops.o
obj-y += domain.o
obj-y += domain_build.o
obj-y += e820.o
obj-y += extable.o
obj-y += flushtlb.o
obj-y += i387.o
obj-y += i8259.o
obj-y += io_apic.o
obj-y += irq.o
obj-y += microcode.o
obj-y += mm.o
obj-y += mpparse.o
obj-y += nmi.o
obj-y += physdev.o
obj-y += rwlock.o
obj-y += setup.o
obj-y += shutdown.o
obj-y += smp.o
obj-y += smpboot.o
obj-y += string.o
obj-y += time.o
obj-y += trampoline.o
obj-y += traps.o
obj-y += usercopy.o
obj-y += x86_emulate.o

ifneq ($(pae),n)
obj-$(x86_32) += shadow.o shadow_public.o shadow_guest32.o shadow_guest32pae.o
else
obj-$(x86_32) += shadow32.o
endif

obj-$(x86_64) += shadow.o shadow_public.o shadow_guest32.o shadow_guest32pae.o

obj-$(crash_debug) += gdbstub.o

$(TARGET): $(TARGET)-syms boot/mkelf32
	./boot/mkelf32 $(TARGET)-syms $(TARGET) 0x100000 \
	`$(NM) $(TARGET)-syms | sort | tail -n 1 | sed -e 's/^\([^ ]*\).*/0x\1/'`

$(TARGET)-syms: boot/$(TARGET_SUBARCH).o $(ALL_OBJS) xen.lds
	$(LD) $(LDFLAGS) -T xen.lds -N \
	    boot/$(TARGET_SUBARCH).o $(ALL_OBJS) -o $@
	$(NM) -n $@ | $(BASEDIR)/tools/symbols >$(BASEDIR)/xen-syms.S
	$(MAKE) -f $(BASEDIR)/Rules.mk $(BASEDIR)/xen-syms.o
	$(LD) $(LDFLAGS) -T xen.lds -N \
	    boot/$(TARGET_SUBARCH).o $(ALL_OBJS) $(BASEDIR)/xen-syms.o -o $@
	$(NM) -n $@ | $(BASEDIR)/tools/symbols >$(BASEDIR)/xen-syms.S
	$(MAKE) -f $(BASEDIR)/Rules.mk $(BASEDIR)/xen-syms.o
	$(LD) $(LDFLAGS) -T xen.lds -N \
	    boot/$(TARGET_SUBARCH).o $(ALL_OBJS) $(BASEDIR)/xen-syms.o -o $@
	rm -f $(BASEDIR)/xen-syms.S $(BASEDIR)/xen-syms.o

asm-offsets.s: $(TARGET_SUBARCH)/asm-offsets.c $(HDRS)
	$(CC) $(CFLAGS) -S -o $@ $<

xen.lds: $(TARGET_SUBARCH)/xen.lds.S $(HDRS)
	$(CC) $(CFLAGS) -P -E -Ui386 $(AFLAGS) -o $@ $<

boot/mkelf32: boot/mkelf32.c
	$(HOSTCC) $(HOSTCFLAGS) -o $@ $<

shadow_guest32.o: shadow.c
shadow_guest32pae.o: shadow.c

.PHONY: clean
clean::
	rm -f asm-offsets.s xen.lds boot/*.o boot/*~ boot/core boot/mkelf32