diff options
Diffstat (limited to 'tools/include')
-rw-r--r-- | tools/include/Makefile | 40 | ||||
-rw-r--r-- | tools/include/xen-foreign/Makefile | 45 |
2 files changed, 85 insertions, 0 deletions
diff --git a/tools/include/Makefile b/tools/include/Makefile new file mode 100644 index 0000000000..47a72a8aa7 --- /dev/null +++ b/tools/include/Makefile @@ -0,0 +1,40 @@ +XEN_ROOT = ../.. +include $(XEN_ROOT)/tools/Rules.mk + +.PHONY: all +all: + $(MAKE) .dir + +.dir: + @rm -rf xen + mkdir xen + ln -sf ../$(XEN_ROOT)/xen/include/public/COPYING xen + ln -sf $(addprefix ../,$(wildcard $(XEN_ROOT)/xen/include/public/*.h)) xen + ln -sf $(addprefix ../$(XEN_ROOT)/xen/include/public/,arch-ia64 arch-x86 hvm io xsm) xen + ln -sf ../$(XEN_OS) xen/sys + $(MAKE) -C xen-foreign + ln -s ../xen-foreign xen/foreign + touch $@ + +.PHONY: install +install: all + $(INSTALL_DIR) $(DESTDIR)$(INCLUDEDIR)/xen/arch-ia64 + $(INSTALL_DIR) $(DESTDIR)$(INCLUDEDIR)/xen/arch-x86 + $(INSTALL_DIR) $(DESTDIR)$(INCLUDEDIR)/xen/foreign + $(INSTALL_DIR) $(DESTDIR)$(INCLUDEDIR)/xen/hvm + $(INSTALL_DIR) $(DESTDIR)$(INCLUDEDIR)/xen/io + $(INSTALL_DIR) $(DESTDIR)$(INCLUDEDIR)/xen/xsm + $(INSTALL_DATA) xen/COPYING $(DESTDIR)$(INCLUDEDIR)/xen + $(INSTALL_DATA) xen/*.h $(DESTDIR)$(INCLUDEDIR)/xen + $(INSTALL_DATA) xen/arch-ia64/*.h $(DESTDIR)$(INCLUDEDIR)/xen/arch-x86 + $(INSTALL_DATA) xen/arch-x86/*.h $(DESTDIR)$(INCLUDEDIR)/xen/arch-x86 + $(INSTALL_DATA) xen/foreign/*.h $(DESTDIR)$(INCLUDEDIR)/xen/foreign + $(INSTALL_DATA) xen/hvm/*.h $(DESTDIR)$(INCLUDEDIR)/xen/hvm + $(INSTALL_DATA) xen/io/*.h $(DESTDIR)$(INCLUDEDIR)/xen/io + $(INSTALL_DATA) xen/xsm/*.h $(DESTDIR)$(INCLUDEDIR)/xen/xsm + +.PHONY: clean +clean: + rm -rf xen .dir + $(MAKE) -C xen-foreign clean + diff --git a/tools/include/xen-foreign/Makefile b/tools/include/xen-foreign/Makefile new file mode 100644 index 0000000000..394edb602e --- /dev/null +++ b/tools/include/xen-foreign/Makefile @@ -0,0 +1,45 @@ +XEN_ROOT=../../.. +include $(XEN_ROOT)/Config.mk + +ROOT = $(XEN_ROOT)/xen/include/public/foreign +#VPATH = $(ROOT) +HOSTCFLAGS += -I$(ROOT) + +MKHEADER_PY = $(ROOT)/mkheader.py + +architectures := x86_32 x86_64 ia64 +headers := $(patsubst %, %.h, $(architectures)) +scripts := $(wildcard *.py) + +.PHONY: all clean check-headers +all: $(headers) check-headers + +clean: + rm -f $(headers) + rm -f checker checker.c + rm -f *.pyc *.o *~ + +ifeq ($(CROSS_COMPILE)$(XEN_TARGET_ARCH),$(XEN_COMPILE_ARCH)) +checker: checker.c $(headers) + $(HOSTCC) $(HOSTCFLAGS) -o $@ $< + +check-headers: checker + ./checker > tmp.size + diff -u $(ROOT)/reference.size tmp.size + rm tmp.size +else +check-headers: + @echo "cross build: skipping check" +endif + +x86_32.h: $(ROOT)/mkheader.py ../xen/arch-x86/xen-x86_32.h ../xen/arch-x86/xen.h ../xen/xen.h + python $< $* $@ $(filter %.h,$^) + +x86_64.h: $(ROOT)/mkheader.py ../xen/arch-x86/xen-x86_64.h ../xen/arch-x86/xen.h ../xen/xen.h + python $< $* $@ $(filter %.h,$^) + +ia64.h: $(ROOT)/mkheader.py ../xen/arch-ia64.h ../xen/xen.h + python $< $* $@ $(filter %.h,$^) + +checker.c: $(ROOT)/mkchecker.py + python $< $(XEN_TARGET_ARCH) $@ $(architectures) |