Home | History | Annotate | Download | only in pylibfdt
      1 # Unfortunately setup.py below cannot handle srctree being ".." which it often
      2 # is. It fails with an error like:
      3 # Fatal error: can't create build/temp.linux-x86_64-2.7/../lib/libfdt/fdt.o:
      4 #    No such file or directory
      5 # To fix this, use an absolute path.
      6 LIBFDT_srcdir = $(abspath $(srctree)/$(src)/../libfdt)
      7 
      8 include $(LIBFDT_srcdir)/Makefile.libfdt
      9 
     10 # Unfortunately setup.py (or actually the Python distutil implementation) puts
     11 # files into the same directory as the .i file. We cannot touch the source
     12 # directory, so we "ship" .i file into the objtree.
     13 PYLIBFDT_srcs = $(addprefix $(LIBFDT_srcdir)/,$(LIBFDT_SRCS)) \
     14 		$(obj)/libfdt.i
     15 
     16 quiet_cmd_pymod = PYMOD   $@
     17       cmd_pymod = unset CROSS_COMPILE; unset CFLAGS; \
     18 		CC="$(HOSTCC)" LDSHARED="$(HOSTCC) -shared " \
     19 		LDFLAGS="$(HOSTLDFLAGS)" \
     20 		VERSION="u-boot-$(UBOOTVERSION)" \
     21 		CPPFLAGS="$(HOSTCFLAGS) -I$(LIBFDT_srcdir)" OBJDIR=$(obj) \
     22 		SOURCES="$(PYLIBFDT_srcs)" \
     23 		SWIG_OPTS="-I$(LIBFDT_srcdir) -I$(LIBFDT_srcdir)/.." \
     24 		$(PYTHON) $< --quiet build_ext --inplace
     25 
     26 $(obj)/_libfdt.so: $(src)/setup.py $(PYLIBFDT_srcs) FORCE
     27 	$(call if_changed,pymod)
     28 
     29 always += _libfdt.so
     30 
     31 clean-files += libfdt.i _libfdt.so libfdt.py libfdt_wrap.c
     32