[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index] Re: [Xen-devel] [PATCH ARM v8 3/4] mini-os: arm: build system
On Fri, 2014-10-03 at 10:20 +0100, Thomas Leonard wrote: > diff --git a/extras/mini-os/Makefile b/extras/mini-os/Makefile > index 6d6537e..77dc9aa 100644 > --- a/extras/mini-os/Makefile > +++ b/extras/mini-os/Makefile WRT the freeze some of the changes here would appear to also affect x86 builds, which means they need more careful consideration. Konrad CCd. > @@ -51,7 +51,7 @@ flags-$(CONFIG_XENBUS) += -DCONFIG_XENBUS > DEF_CFLAGS += $(flags-y) > > # Symlinks and headers that must be created before building the C files > -GENERATED_HEADERS := include/list.h $(ARCH_LINKS) include/mini-os > include/xen include/$(TARGET_ARCH_FAM)/mini-os > +GENERATED_HEADERS := include/list.h $(ARCH_LINKS) include/mini-os > include/xen include/$(TARGET_ARCH_FAM)/mini-os include/fdt.h include/libfdt.h > > EXTRA_DEPS += $(GENERATED_HEADERS) > > @@ -75,7 +75,18 @@ EXTRA_OBJS = > TARGET := mini-os > > # Subdirectories common to mini-os > -SUBDIRS := lib xenbus console > +SUBDIRS := lib xenbus console libfdt > + > +FDT_SRC := > +ifeq ($(XEN_TARGET_ARCH),arm32) > +# Need libgcc.a for division helpers Is this the __aeabi_* stuff? Samuel, is this sort of thing OK in mini-os? Usually on the Xen/kernel side we avoid libgcc.a and instead have our own copies of such helpers. I don't recall why, I don't think it is licensing (libgcc has an exception). Possibly just to give some control over what gets included? > +LDLIBS += `$(CC) -print-libgcc-file-name` > + > +# Device tree support > +FDT_SRC := libfdt/fdt.c libfdt/fdt_ro.c libfdt/fdt_strerror.c > + > +src-y += ${FDT_SRC} We would normally use $(FDT_SRC) (TBH I'm not sure what the difference is). > +endif > > src-$(CONFIG_BLKFRONT) += blkfront.c > src-$(CONFIG_TPMFRONT) += tpmfront.c > @@ -97,10 +108,13 @@ src-y += sched.c > src-$(CONFIG_TEST) += test.c > > src-y += lib/ctype.c > +ifneq ($(XEN_TARGET_ARCH),arm32) > src-y += lib/math.c > +endif > src-y += lib/printf.c > src-y += lib/stack_chk_fail.c > src-y += lib/string.c > +src-y += lib/memmove.c > src-y += lib/sys.c > src-y += lib/xmalloc.c > src-$(CONFIG_XENBUS) += lib/xs.c > @@ -125,6 +139,21 @@ $(ARCH_LINKS): > $(arch_links) > endif > > +include/fdt.h: > + cp $(XEN_ROOT)/xen/include/xen/libfdt/fdt.h $@ > + > +include/libfdt.h: > + sed 's!xen/libfdt/!!' $(XEN_ROOT)/xen/include/xen/libfdt/libfdt.h > $@ Should both of these not depend on their input? > + > +libfdt: > + mkdir $@ > + > +libfdt/libfdt_internal.h: libfdt > + cp $(XEN_ROOT)/xen/common/libfdt/libfdt_internal.h $@ > + > +libfdt/%.c: libfdt libfdt/libfdt_internal.h > + cp $(XEN_ROOT)/xen/common/libfdt/$*.c $@ And these too. Would ln -s be better than cp? Or even VPATH tricks? > @@ -202,6 +235,7 @@ clean: arch_clean > rm -f $$dir/*.o; \ > done > rm -f include/list.h > + rm -f ${FDT_SRC} libfdt/libfdt_internal.h $(FDT_SRC) again. Ian. _______________________________________________ Xen-devel mailing list Xen-devel@xxxxxxxxxxxxx http://lists.xen.org/xen-devel
|
Lists.xenproject.org is hosted with RackSpace, monitoring our |