summaryrefslogtreecommitdiff
path: root/bindings/python/Makefile.in
blob: 34a8d3a9ddec1e284087dd5d1ef3049197d9675a (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
36
37
38
39
40
41
42
43
44
45
46
47
48
49
top_srcdir = @top_srcdir@
prefix = @prefix@

CFLAGS = $(subst -Werror,,@CFLAGS@)
CFLAGS += $(shell python -c 'from distutils import sysconfig; print "-I" + sysconfig.get_python_inc()')
CFLAGS += -I$(top_srcdir)/lib/libalpm
CFLAGS += -fno-strict-aliasing # see the swig docs
ifeq ($(shell arch),x86_64)
CFLAGS += -fPIC
endif
LDFLAGS += -L$(top_srcdir)/lib/libalpm/.libs -lalpm
LIBDIR += $(shell python -c 'from distutils import sysconfig; print sysconfig.get_python_lib()'|sed 's|/usr|$(prefix)|')

all: _alpm.so alpm.pyc

_alpm.so: alpm_wrap.o
	$(CC) -shared -Wl,-soname,$@ -o $@ $^ $(LDFLAGS)

alpm_wrap.o: alpm_wrap.c
	$(CC) $(CFLAGS) -c -o $@ -include alpm.h $^

alpm_wrap.c:
	cp $(top_srcdir)/lib/libalpm/alpm.h ./
	cp $(top_srcdir)/bindings/alpm.i ./
	swig -python alpm.i
	# strip the unnecessary prefixes
	sed -i 's/^alpm_//;s/^PM_//' alpm.py

alpm.pyc: alpm.py
	python -c "import compileall; compileall.compile_dir('.',1,'.')"

alpm.py: alpm_wrap.c

install: install-so install-py

install-so: _alpm.so
	mkdir -p $(DESTDIR)$(LIBDIR)
	install $^ $(DESTDIR)$(LIBDIR)

install-py: alpm.py alpm.pyc
	install -m644 $^ $(DESTDIR)$(LIBDIR)

clean:
	rm -f _alpm* alpm{.h,.i,.py*,_wrap*}

distclean: clean
	rm -f Makefile

check: