ia64/xen-unstable

view xen/Makefile @ 11058:9d5d7d8b7125

[POWERPC] finddevice must return a phandle of -1
Signed-off-by: Jimi Xenidis <jimix@watson.ibm.com>
Signed-off-by: Hollis Blanchard <hollisb@us.ibm.com>
author Jimi Xenidis <jimix@watson.ibm.com>
date Tue Aug 01 16:42:48 2006 -0400 (2006-08-01)
parents 08415dfc5918
children 6160da08a238
line source
1 # This is the correct place to edit the build version.
2 # All other places this is stored (eg. compile.h) should be autogenerated.
3 export XEN_VERSION = 3
4 export XEN_SUBVERSION = 0
5 export XEN_EXTRAVERSION ?= -unstable
6 export XEN_FULLVERSION = $(XEN_VERSION).$(XEN_SUBVERSION)$(XEN_EXTRAVERSION)
7 -include xen-version
9 export BASEDIR := $(CURDIR)
11 .PHONY: default
12 default: build
14 .PHONY: dist
15 dist: install
17 .PHONY: build install clean distclean cscope TAGS tags
18 build install debug clean distclean cscope TAGS tags::
19 $(MAKE) -f Rules.mk _$@
21 .PHONY: _build
22 _build: $(TARGET).gz
24 .PHONY: _install
25 _install: $(TARGET).gz
26 [ -d $(DESTDIR)/boot ] || $(INSTALL_DIR) $(DESTDIR)/boot
27 $(INSTALL_DATA) $(TARGET).gz $(DESTDIR)/boot/$(notdir $(TARGET))-$(XEN_FULLVERSION).gz
28 ln -f -s $(notdir $(TARGET))-$(XEN_FULLVERSION).gz $(DESTDIR)/boot/$(notdir $(TARGET))-$(XEN_VERSION).$(XEN_SUBVERSION).gz
29 ln -f -s $(notdir $(TARGET))-$(XEN_FULLVERSION).gz $(DESTDIR)/boot/$(notdir $(TARGET))-$(XEN_VERSION).gz
30 ln -f -s $(notdir $(TARGET))-$(XEN_FULLVERSION).gz $(DESTDIR)/boot/$(notdir $(TARGET)).gz
31 $(INSTALL_DATA) $(TARGET)-syms $(DESTDIR)/boot/$(notdir $(TARGET))-syms-$(XEN_FULLVERSION)
32 [ -d $(DESTDIR)/usr/include/xen/io ] || \
33 $(INSTALL_DIR) $(DESTDIR)/usr/include/xen/io
34 $(INSTALL_DATA) include/public/*.h $(DESTDIR)/usr/include/xen
35 $(INSTALL_DATA) include/public/io/*.h $(DESTDIR)/usr/include/xen/io
36 $(INSTALL_DATA) include/public/COPYING $(DESTDIR)/usr/include/xen
38 .PHONY: _debug
39 _debug:
40 objdump -D -S $(TARGET)-syms > $(TARGET).s
42 .PHONY: _clean
43 _clean: delete-unfresh-files
44 $(MAKE) -C tools clean
45 $(MAKE) -f $(BASEDIR)/Rules.mk -C common clean
46 $(MAKE) -f $(BASEDIR)/Rules.mk -C drivers clean
47 $(MAKE) -f $(BASEDIR)/Rules.mk -C acm clean
48 $(MAKE) -f $(BASEDIR)/Rules.mk -C arch/$(TARGET_ARCH) clean
49 rm -f include/asm *.o $(TARGET)* *~ core
50 rm -f include/asm-*/asm-offsets.h
51 rm -f include/xen/acm_policy.h
53 .PHONY: _distclean
54 _distclean: clean
55 rm -f tags TAGS cscope.files cscope.in.out cscope.out cscope.po.out
57 $(TARGET).gz: $(TARGET)
58 gzip -f -9 < $< > $@.new
59 mv $@.new $@
61 $(TARGET): delete-unfresh-files
62 $(MAKE) -C tools
63 $(MAKE) -f $(BASEDIR)/Rules.mk include/xen/compile.h
64 $(MAKE) -f $(BASEDIR)/Rules.mk include/xen/acm_policy.h
65 [ -e include/asm ] || ln -sf asm-$(TARGET_ARCH) include/asm
66 $(MAKE) -f $(BASEDIR)/Rules.mk -C arch/$(TARGET_ARCH) asm-offsets.s
67 $(MAKE) -f $(BASEDIR)/Rules.mk include/asm-$(TARGET_ARCH)/asm-offsets.h
68 $(MAKE) -f $(BASEDIR)/Rules.mk -C arch/$(TARGET_ARCH) $(TARGET)
70 # drivers/char/console.o contains static banner/compile info. Blow it away.
71 # Don't refresh these files during e.g., 'sudo make install'
72 .PHONY: delete-unfresh-files
73 delete-unfresh-files:
74 @if [ ! -r include/xen/compile.h -o -O include/xen/compile.h ]; then \
75 rm -f include/xen/compile.h; \
76 fi
78 # acm_policy.h contains security policy for Xen
79 include/xen/acm_policy.h:
80 @(set -e; \
81 echo "/*"; \
82 echo " * DO NOT MODIFY."; \
83 echo " *"; \
84 echo " * This file was auto-generated by xen/Makefile $<"; \
85 echo " *"; \
86 echo " */"; \
87 echo ""; \
88 echo "#ifndef ACM_DEFAULT_SECURITY_POLICY"; \
89 echo "#define ACM_DEFAULT_SECURITY_POLICY $(ACM_DEFAULT_SECURITY_POLICY)"; \
90 echo "#endif") >$@
92 # compile.h contains dynamic build info. Rebuilt on every 'make' invocation.
93 include/xen/compile.h: LANG=C
94 include/xen/compile.h: include/xen/compile.h.in
95 @sed -e 's/@@date@@/$(shell date)/g' \
96 -e 's/@@time@@/$(shell date +%T)/g' \
97 -e 's/@@whoami@@/$(shell whoami)/g' \
98 -e 's/@@domain@@/$(shell ([ -x /bin/dnsdomainname ] && /bin/dnsdomainname) || ([ -x /bin/domainname ] && /bin/domainname || echo [unknown]))/g' \
99 -e 's/@@hostname@@/$(shell hostname)/g' \
100 -e 's|@@compiler@@|$(shell $(CC) $(CFLAGS) -v 2>&1 | tail -n 1 | sed -e "s;|;/;")|g' \
101 -e 's/@@version@@/$(XEN_VERSION)/g' \
102 -e 's/@@subversion@@/$(XEN_SUBVERSION)/g' \
103 -e 's/@@extraversion@@/$(XEN_EXTRAVERSION)/g' \
104 -e 's!@@changeset@@!$(shell ((hg parents || head -n 7 ../ChangeLog || echo date: unavailable) | awk '{FS="changeset:[ ]+"}/^changeset/{CS=$$2};{FS="date:[ ]+"}/^date/{D=$$2}; END {print D, CS}') 2>/dev/null)!g' \
105 < include/xen/compile.h.in > $@.new
106 tools/figlet/figlet -d tools/figlet Xen $(XEN_FULLVERSION) >> $@.new
107 @mv -f $@.new $@
109 include/asm-$(TARGET_ARCH)/asm-offsets.h: arch/$(TARGET_ARCH)/asm-offsets.s
110 @(set -e; \
111 echo "/*"; \
112 echo " * DO NOT MODIFY."; \
113 echo " *"; \
114 echo " * This file was auto-generated from $<"; \
115 echo " *"; \
116 echo " */"; \
117 echo ""; \
118 echo "#ifndef __ASM_OFFSETS_H__"; \
119 echo "#define __ASM_OFFSETS_H__"; \
120 echo ""; \
121 sed -ne "/^->/{s:^->\([^ ]*\) [\$$#]*\([^ ]*\) \(.*\):#define \1 \2 /* \3 */:; s:->::; p;}"; \
122 echo ""; \
123 echo "#endif") <$< >$@
125 SUBDIRS = acm arch/$(TARGET_ARCH) common drivers
126 define all_sources
127 ( find include/asm-$(TARGET_ARCH) -name SCCS -prune -o -name '*.h' -print; \
128 find include -type d -name SCCS -prune -o \( -name "asm-*" -o \
129 -name config \) -prune -o -name '*.h' -print; \
130 find $(SUBDIRS) -name SCCS -prune -o -name '*.[chS]' -print )
131 endef
133 .PHONY: _TAGS
134 _TAGS:
135 rm -f TAGS && $(all_sources) | xargs etags -a
137 .PHONY: _tags
138 _tags:
139 rm -f TAGS && $(all_sources) | xargs ctags -a
141 .PHONY: _cscope
142 _cscope:
143 $(all_sources) > cscope.files
144 cscope -k -b -q
146 .PHONY: MAP
147 MAP:
148 $(NM) $(TARGET) | grep -v '\(compiled\)\|\(\.o$$\)\|\( [aUw] \)\|\(\.\.ng$$\)\|\(LASH[RL]DI\)' | sort > System.map
150 .PHONY: FORCE
151 FORCE:
153 %.o %.i: %.c FORCE
154 $(MAKE) -f $(BASEDIR)/Rules.mk -C $(*D) $(@F)
156 %.o %.s: %.S FORCE
157 $(MAKE) -f $(BASEDIR)/Rules.mk -C $(*D) $(@F)
159 %/: FORCE
160 $(MAKE) -f $(BASEDIR)/Rules.mk -C $* built_in.o