Masahiro Yamada | 15b97f5 | 2017-10-17 13:42:43 +0900 | [diff] [blame^] | 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 CC; unset CROSS_COMPILE; unset CFLAGS;\ |
| 18 | LDFLAGS="$(HOSTLDFLAGS)" \ |
| 19 | VERSION="u-boot-$(UBOOTVERSION)" \ |
| 20 | CPPFLAGS="$(HOSTCFLAGS) -I$(LIBFDT_srcdir)" OBJDIR=$(obj) \ |
| 21 | SOURCES="$(PYLIBFDT_srcs)" \ |
| 22 | SWIG_OPTS="-I$(LIBFDT_srcdir) -I$(LIBFDT_srcdir)/.." \ |
| 23 | $(PYTHON) $< --quiet build_ext --inplace |
| 24 | |
| 25 | $(obj)/_libfdt.so: $(src)/setup.py $(PYLIBFDT_srcs) FORCE |
| 26 | $(call if_changed,pymod) |
| 27 | |
| 28 | always += _libfdt.so |
| 29 | |
| 30 | clean-files += libfdt.i _libfdt.so libfdt.py libfdt_wrap.c |