Files
xen/tools/include/xen-foreign/Makefile
T
Ian Campbell f07cb646ff xen: arm: include public/xen.h in foreign interface checking
mkheader.py doesn't cope with
	struct foo { };
so add a newline.

Define unsigned long and long to a non-existent type on ARM so as to catch
their use.

Teach mkheader.py to cope with structs which are ifdef'd. This cannot cope
with #defines between the #ifdef and the struct definitions, so move
MAX_GUEST_CMDLINE to be next to its only usage.

Signed-off-by: Ian Campbell <ian.campbell@citrix.com>
Acked-by: Keir Fraser <keir@xen.org>
Acked-by: Ian Jackson <ian.jackson@eu.citrix.com>
2013-08-20 15:41:01 +01:00

39 lines
1.0 KiB
Makefile

XEN_ROOT=$(CURDIR)/../../..
include $(XEN_ROOT)/tools/Rules.mk
ROOT = $(XEN_ROOT)/xen/include/public
architectures := arm32 arm64 x86_32 x86_64
headers := $(patsubst %, %.h, $(architectures))
.PHONY: all clean check-headers
all: $(headers) check-headers
clean:
rm -f $(headers)
rm -f checker checker.c
rm -f *.pyc *.o *~
checker: checker.c $(headers)
$(HOSTCC) $(HOSTCFLAGS) -o $@ $<
check-headers: checker
./checker > tmp.size
diff -u reference.size tmp.size
rm tmp.size
arm32.h: mkheader.py structs.py $(ROOT)/arch-arm.h $(ROOT)/xen.h
$(PYTHON) $< $* $@ $(filter %.h,$^)
arm64.h: mkheader.py structs.py $(ROOT)/arch-arm.h $(ROOT)/xen.h
$(PYTHON) $< $* $@ $(filter %.h,$^)
x86_32.h: mkheader.py structs.py $(ROOT)/arch-x86/xen-x86_32.h $(ROOT)/arch-x86/xen.h $(ROOT)/xen.h
$(PYTHON) $< $* $@ $(filter %.h,$^)
x86_64.h: mkheader.py structs.py $(ROOT)/arch-x86/xen-x86_64.h $(ROOT)/arch-x86/xen.h $(ROOT)/xen.h
$(PYTHON) $< $* $@ $(filter %.h,$^)
checker.c: mkchecker.py structs.py
$(PYTHON) $< $@ $(architectures)