libpvz/Makefile.am

108 lines
3.0 KiB
Makefile

AM_CFLAGS = -std=c99 -Wall -Wpedantic
utils = $(srcdir)/utils
MY_SRC = src/memtree.txt src/memstruct.h src/memstruct_int.h
MY_BUILT = \
src/memtree_gen.h src/memtree_gen.c src/memtree_test.c \
src/memstruct_gen.h src/memstruct_gen.c src/memstruct_test.c \
src/libpvz_base.h src/libpvz_mem.h
if DO_PYVZ
MY_PYTMP = \
_cffi/kinds.c _cffi/kinds _cffi/build.py pyvz/_cfg.py \
examples/pyvz_testlib.py examples/pyvz_test.py
endif
BUILT_SOURCES = $(MY_BUILT)
EXTRA_DIST = \
bootstrap examples \
utils/buildlib.py utils/testlib.py utils/memtree.py utils/memstruct.py \
utils/header.py utils/cffi_kinds.py utils/cffi_prep.py \
$(MY_SRC) $(MY_BUILT)
if DO_PYVZ
BUILT_SOURCES += $(MY_PYTMP)
endif
CLEANFILES = utils/*.pyc
DISTCLEANFILES =
MAINTAINERCLEANFILES = \
Makefile.in configure config.h.in config.guess config.sub \
aclocal.m4 install-sh ltmain.sh missing depcomp compile py-compile \
$(MY_BUILT)
if DO_PYVZ
CLEANFILES += examples/*.pyc
DISTCLEANFILES += $(MY_PYTMP)
endif
include_HEADERS = src/libpvz_base.h src/libpvz_mem.h
lib_LTLIBRARIES = src/libpvz.la
check_PROGRAMS = src/libpvz_test
src_libpvz_la_SOURCES = \
src/basemem.h src/basemem.c src/basex11.h src/basex11.c \
src/memtree.h src/memtree.c src/memtree_gen.h src/memtree_gen.c \
src/memstruct.h src/memstruct_int.h src/memstruct_gen.h src/memstruct_gen.c
src_libpvz_la_LDFLAGS = -version-info 4:0:0 -lxcb
src_libpvz_test_SOURCES = src/libpvz_base.h src/libpvz_mem.h src/libpvz_test.c
src_libpvz_test_LDFLAGS = -no-install
src_libpvz_test_LDADD = src/libpvz.la
src/memtree_gen.h src/memtree_gen.c src/memtree_test.c: \
$(utils)/memtree.py $(utils)/buildlib.py src/memtree.txt
python $< $(srcdir)/src src
src/memstruct_gen.h src/memstruct_gen.c src/memstruct_test.c: \
$(utils)/memstruct.py $(utils)/buildlib.py $(utils)/testlib.py \
src/memstruct.h src/memstruct_int.h
python $< $(srcdir)/src src
src/libpvz_base.h: \
$(utils)/header.py $(utils)/buildlib.py src/basemem.h src/basex11.h
python $< $(srcdir)/src $@
src/libpvz_mem.h: \
$(utils)/header.py $(utils)/buildlib.py \
src/memtree.h src/memtree_gen.h src/memstruct.h src/memstruct_gen.h
python $< $(srcdir)/src $@
if DO_PYVZ
_cffi/kinds.c: $(utils)/cffi_kinds.py
$(MKDIR_P) _cffi
python $< > $@
_cffi/kinds: _cffi/kinds.c
$(CC) $(AM_CFLAGS) $(CFLAGS) -o $@ $^
examples/pyvz_testlib.py: $(utils)/testlib.py
cp $(utils)/testlib.py examples/pyvz_testlib.py
_cffi/build.py pyvz/_cfg.py examples/pyvz_test.py: \
$(utils)/cffi_prep.py $(utils)/buildlib.py _cffi/kinds
$(MKDIR_P) pyvz examples
python $< $(srcdir)/src .
all-local: \
_cffi/build.py pyvz/_cfg.py examples/pyvz_testlib.py examples/pyvz_test.py
install-data-local:
$(MKDIR_P) $(DESTDIR)$(docdir)/examples
$(INSTALL_DATA) examples/pyvz_testlib.py examples/pyvz_test.py \
$(srcdir)/examples/pyvz_utils.py $(srcdir)/examples/fire_cobs.py \
$(DESTDIR)$(docdir)/examples
uninstall-local:
rm -rf $(DESTDIR)$(docdir)/examples
endif
clean-local:
rm -rf utils/__pycache__
if DO_PYVZ
rm -rf examples/__pycache__
distclean-local:
rm -rf _cffi
endif
.NOTPARALLEL: $(BUILT_SOURCES)