@ -63,6 +63,16 @@ FIT_SIG_OBJS-$(CONFIG_FIT_SIGNATURE) := common/image-sig.o
LIBFDT_CSRCS := fdt.c fdt_ro.c fdt_wip.c fdt_sw.c fdt_rw.c fdt_strerror.c \
fdt_empty_tree.c fdt_addresses.c fdt_overlay.c \
fdt_region.c
# Unfortunately setup.py below cannot handle srctree being ".." which it often
# is. It fails with an error like:
# Fatal error: can't create build/temp.linux-x86_64-2.7/../lib/libfdt/fdt.o:
# No such file or directory
# To fix this, use an absolute path.
libfdt_tree := $( shell readlink -f $( srctree) /lib/libfdt)
LIBFDT_SRCS := $( addprefix $( libfdt_tree) /, $( LIBFDT_CSRCS) )
LIBFDT_SWIG := $( addprefix $( libfdt_tree) /, pylibfdt/libfdt.i)
LIBFDT_OBJS := $( addprefix lib/libfdt/, $( patsubst %.c, %.o, $( LIBFDT_CSRCS) ) )
RSA_OBJS-$(CONFIG_FIT_SIGNATURE) := $( addprefix lib/rsa/, \
@ -114,6 +124,23 @@ mkimage-objs := $(dumpimage-mkimage-objs) mkimage.o
fit_info-objs := $( dumpimage-mkimage-objs) fit_info.o
fit_check_sign-objs := $( dumpimage-mkimage-objs) fit_check_sign.o
# Unfortunately setup.py (or actually the Python distutil implementation)
# puts files into the same directory as the .i file. We cannot touch the source
# directory, so we copy the .i file into the tools/ build subdirectory before
# calling setup. This directory is safe to write to. This ensures that we get
# all three files in $(obj)/tools: _libfdt.so, libfdt.py and libfdt_wrap.c
# The latter is a temporary file which we could actually remove.
tools/_libfdt.so : $( LIBFDT_SRCS ) $( LIBFDT_SWIG )
cp $( LIBFDT_SWIG) tools/.
unset CC; \
unset CROSS_COMPILE; \
LDFLAGS = " $( HOSTLDFLAGS) " CFLAGS = VERSION = " u-boot- $( UBOOTVERSION) " \
CPPFLAGS = " $( _hostc_flags) " OBJDIR = tools \
SOURCES = " $( LIBFDT_SRCS) tools/libfdt.i " \
SWIG_OPTS = " -I $( srctree) /lib/libfdt -I $( srctree) /lib " \
$( libfdt_tree) /pylibfdt/setup.py --quiet build_ext \
--build-lib tools
# Build a libfdt Python module if swig is available
# Use 'sudo apt-get install swig libpython-dev' to enable this
hostprogs-y += \
@ -219,6 +246,10 @@ clean-dirs := lib common
always := $( hostprogs-y)
# Build a libfdt Python module if swig is available
# Use 'sudo apt-get install swig libpython-dev' to enable this
always += $( if $( shell which swig 2> /dev/null) ,_libfdt.so)
# Generated LCD/video logo
LOGO_H = $( objtree) /include/bmp_logo.h
LOGO_DATA_H = $( objtree) /include/bmp_logo_data.h