aboutsummaryrefslogtreecommitdiff
path: root/pylibfdt/Makefile.pylibfdt
blob: 0e8ac5f1389786d0f29a7b3f00070139323277d9 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
# Makefile.pylibfdt
#

PYLIBFDT_srcs = $(addprefix $(LIBFDT_srcdir)/,$(LIBFDT_SRCS))
WRAP = $(PYLIBFDT_objdir)/libfdt_wrap.c
PYMODULE = $(PYLIBFDT_objdir)/_libfdt.so

define run_setup
	SOURCES="$(1)" CPPFLAGS="$(CPPFLAGS)" OBJDIR="$(PYLIBFDT_objdir)"
	VERSION="$(dtc_version)"
	$(PYLIBFDT_objdir)/setup.py --quiet $(2)
endef

$(PYMODULE): $(PYLIBFDT_srcs) $(WRAP)
	@$(VECHO) PYMOD $@
	$(call run_setup, $^, build_ext --inplace)
	mv _libfdt.so $@

$(WRAP): $(PYLIBFDT_srcdir)/libfdt.i
	@$(VECHO) SWIG $@
	$(SWIG) -python -o $@ $<

install_pylibfdt: $(WRAP) $(PYMODULE)
	$(VECHO) INSTALL-PYLIB; \
	$(call run_setup, $(PYLIBFDT_srcs) $(WRAP), \
		install $(if $(SETUP_PREFIX),--prefix=$(SETUP_PREFIX)))

maybe_install_pylibfdt:
	if [ -e $(PYMODULE) ]; then \
		if [ -z "$(NO_PYTHON)" ]; then \
			$(MAKE) install_pylibfdt; \
		fi; \
	fi

PYLIBFDT_cleanfiles = libfdt_wrap.c libfdt.py libfdt.pyc _libfdt.so