1181624SkmacyXEN_ROOT=../../../..
2181624Skmacyinclude $(XEN_ROOT)/Config.mk
3181624Skmacy
4181624Skmacyarchitectures := x86_32 x86_64 ia64
5181624Skmacyheaders := $(patsubst %, %.h, $(architectures))
6181624Skmacyscripts := $(wildcard *.py)
7181624Skmacy
8181624Skmacy.PHONY: all clean check-headers
9181624Skmacyall: $(headers) check-headers
10181624Skmacy
11181624Skmacyclean:
12181624Skmacy	rm -f $(headers)
13181624Skmacy	rm -f checker checker.c $(XEN_TARGET_ARCH).size
14181624Skmacy	rm -f *.pyc *.o *~
15181624Skmacy
16181624Skmacyifeq ($(CROSS_COMPILE)$(XEN_TARGET_ARCH),$(XEN_COMPILE_ARCH))
17181624Skmacycheck-headers: checker
18181624Skmacy	./checker > $(XEN_TARGET_ARCH).size
19181624Skmacy	diff -u reference.size $(XEN_TARGET_ARCH).size
20181624Skmacychecker: checker.c $(headers)
21181624Skmacy	$(HOSTCC) $(HOSTCFLAGS) -o $@ $<
22181624Skmacyelse
23181624Skmacycheck-headers:
24181624Skmacy	@echo "cross build: skipping check"
25181624Skmacyendif
26181624Skmacy
27181624Skmacyx86_32.h: ../arch-x86/xen-x86_32.h ../arch-x86/xen.h ../xen.h $(scripts)
28181624Skmacy	python mkheader.py $* $@ $(filter %.h,$^)
29181624Skmacy
30181624Skmacyx86_64.h: ../arch-x86/xen-x86_64.h ../arch-x86/xen.h ../xen.h $(scripts)
31181624Skmacy	python mkheader.py $* $@ $(filter %.h,$^)
32181624Skmacy
33181624Skmacyia64.h: ../arch-ia64.h ../xen.h $(scripts)
34181624Skmacy	python mkheader.py $* $@ $(filter %.h,$^)
35181624Skmacy
36181624Skmacychecker.c: $(scripts)
37181624Skmacy	python mkchecker.py $(XEN_TARGET_ARCH) $@ $(architectures)
38