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