source: trunk/packages/xen-3.1/xen-3.1/xen/arch/ia64/Makefile @ 34

Last change on this file since 34 was 34, checked in by hartmans, 18 years ago

Add xen and xen-common

File size: 2.6 KB
Line 
1subdir-y += xen
2subdir-y += vmx
3subdir-y += linux
4subdir-y += linux-xen
5
6$(TARGET)-syms: linux-xen/head.o $(ALL_OBJS) xen.lds.s
7        $(MAKE) -f $(BASEDIR)/Rules.mk $(BASEDIR)/common/symbols-dummy.o
8        $(LD) $(LDFLAGS) -T xen.lds.s -N \
9                -Map map.out linux-xen/head.o $(ALL_OBJS) \
10                $(BASEDIR)/common/symbols-dummy.o -o $@
11        $(NM) -n $@ | $(BASEDIR)/tools/symbols > $(BASEDIR)/xen-syms.S
12        $(MAKE) -f $(BASEDIR)/Rules.mk $(BASEDIR)/xen-syms.o
13        $(LD) $(LDFLAGS) -T xen.lds.s -N \
14                -Map map.out linux-xen/head.o $(ALL_OBJS) \
15                $(BASEDIR)/xen-syms.o -o $@
16        $(NM) -n $@ | $(BASEDIR)/tools/symbols >$(BASEDIR)/xen-syms.S
17        $(MAKE) -f $(BASEDIR)/Rules.mk $(BASEDIR)/xen-syms.o
18        $(LD) $(LDFLAGS) -T xen.lds.s -N \
19                -Map map.out linux-xen/head.o $(ALL_OBJS) \
20                $(BASEDIR)/xen-syms.o -o $@
21        rm -f $(BASEDIR)/xen-syms.S $(BASEDIR)/xen-syms.o
22
23$(TARGET): $(TARGET)-syms
24        $(OBJCOPY) -R .note -R .comment -S $(TARGET)-syms $@
25        $(NM) -n $(TARGET)-syms | \
26                grep -v '\( [aUw] \)\|\(__crc_\)\|\( \$[adt]\)' \
27                > $(BASEDIR)/System.map
28
29# Headers do not depend on auto-generated header, but object files do.
30HDRS    := $(subst $(BASEDIR)/include/asm-ia64/asm-xsi-offsets.h,,$(HDRS))
31$(ALL_OBJS): $(BASEDIR)/include/asm-ia64/asm-xsi-offsets.h
32
33asm-offsets.s: asm-offsets.c $(BASEDIR)/include/asm-ia64/.offsets.h.stamp
34        $(CC) $(CFLAGS) -DGENERATE_ASM_OFFSETS -DIA64_TASK_SIZE=0 -S -o $@ $<
35
36asm-xsi-offsets.s: asm-xsi-offsets.c $(HDRS)
37        $(CC) $(CFLAGS) -S -o $@ $<
38
39$(BASEDIR)/include/asm-ia64/asm-xsi-offsets.h: asm-xsi-offsets.s
40        @(set -e; \
41          echo "/*"; \
42          echo " * DO NOT MODIFY."; \
43          echo " *"; \
44          echo " * This file was auto-generated from $<"; \
45          echo " *"; \
46          echo " */"; \
47          echo ""; \
48          echo "#ifndef __ASM_XSI_OFFSETS_H__"; \
49          echo "#define __ASM_XSI_OFFSETS_H__"; \
50          echo ""; \
51          sed -ne "/^->/{s:^->\([^ ]*\) [\$$#]*\([^ ]*\) \(.*\):#define \1 \2 /* \3 */:; s:->::; p;}"; \
52          echo ""; \
53          echo "#endif") <$< >$@
54
55$(BASEDIR)/include/asm-ia64/.offsets.h.stamp:
56# Need such symbol link to make linux headers available
57        [ -e $(BASEDIR)/include/linux ] \
58         || ln -sf $(BASEDIR)/include/xen $(BASEDIR)/include/linux
59        [ -e $(BASEDIR)/include/asm-ia64/xen ] \
60         || ln -sf $(BASEDIR)/include/asm-ia64/linux $(BASEDIR)/include/asm-ia64/xen
61
62# I'm sure a Makefile wizard would know a better way to do this
63xen.lds.s: xen/xen.lds.S
64        $(CC) -E $(CPPFLAGS) -P -DXEN $(AFLAGS) \
65                -o xen.lds.s xen/xen.lds.S
66
67.PHONY: clean
68clean::
69        rm -f *.o *~ core  xen.lds.s $(BASEDIR)/include/asm-ia64/.offsets.h.stamp asm-offsets.s map.out
70        rm -f asm-xsi-offsets.s $(BASEDIR)/include/asm-ia64/asm-xsi-offsets.h
71        rm -f $(BASEDIR)/System.map
Note: See TracBrowser for help on using the repository browser.