default: all
python: all
- @$(MAKE) -C src python
+ @$(MAKE) -C pynvme python
all: $(NAME).pc
@$(MAKE) -C src
--- /dev/null
+build/
+nvme.py
+nvme_wrap.c
--- /dev/null
+.DEFAULT_GOAL := python
+
+SWIG ?= swig
+PYTHON ?= python3
+
+nvme_swig := nvme.i
+
+nvme_wrap.c: $(nvme_swig)
+ $(SWIG) -python -py3 -outdir . $<
+
+python: nvme_wrap.c setup.py
+ $(PYTHON) setup.py build
+
+#install:
+#
+
+clean:
+ rm -rf nvme_wrap.c nvme.py build
%{
#include <assert.h>
#include <ccan/list/list.h>
-#include "tree.h"
-#include "fabrics.h"
-#include "private.h"
-#include "log.h"
+#include "nvme/tree.h"
+#include "nvme/fabrics.h"
+#include "nvme/private.h"
+#include "nvme/log.h"
static int host_iter_err = 0;
static int subsys_iter_err = 0;
void disconnect() {
nvme_disconnect_ctrl($self);
}
+
%newobject discover;
struct nvmf_discovery_log *discover(int max_retries = 6) {
struct nvmf_discovery_log *logp = NULL;
return nvme_ns_get_name(n);
}
%};
+
--- /dev/null
+from distutils.core import setup, Extension
+
+libnvme_module = Extension(
+ '_nvme',
+ sources = ['nvme_wrap.c'],
+ libraries = ['nvme', 'json-c', 'uuid', 'systemd'],
+ library_dirs = ['../src'],
+ include_dirs = ['../ccan', '../src', '../src/nvme'],
+)
+
+setup(
+ name='libnvme',
+ author="Hannes Reinecke",
+ author_email='hare@suse.de',
+ description='python bindings for libnvme',
+ ext_modules=[libnvme_module],
+ py_modules=["nvme"],
+)
libnvme_priv := nvme/private.h
libnvme_api := libnvme.h nvme/types.h nvme/ioctl.h nvme/filters.h nvme/tree.h nvme/util.h nvme/fabrics.h
libnvme_srcs := nvme/ioctl.c nvme/filters.c nvme/fabrics.c nvme/util.c nvme/tree.c nvme/log.c nvme/cleanup.c
-libnvme_swig := nvme/libnvme.i
ifneq ($(CONFIG_JSONC),0)
override libnvme_srcs += nvme/json.c
endif
AR ?= ar
RANLIB ?= ranlib
-SWIG ?= swig
-PYTHON ?= python3
libnvme.a: $(libnvme_objs) $(libccan_objs)
@rm -f libnvme.a
$(libname): $(libnvme_sobjs) $(libccan_sobjs) libnvme.map
$(QUIET_CC)$(CC) $(SO_CFLAGS) -Wl,--version-script=libnvme.map -Wl,-soname=$(soname) -o $@ $(libnvme_sobjs) $(libccan_sobjs) $(LINK_FLAGS)
-nvme/libnvme_wrap.c: $(libnvme_swig)
- $(SWIG) -python -py3 -outdir . $<
-
-python: nvme/libnvme_wrap.c setup.py
- $(PYTHON) setup.py build
-
install: $(all_targets)
$(INSTALL) -D -m 644 libnvme.a $(libdir)/libnvme.a
for i in $(libnvme_api); do $(INSTALL) -D -m 644 $$i $(includedir)/$$i; done
rm -f $(all_targets) $(libnvme_objs) $(libnvme_sobjs) $(libccan_objs) $(libccan_sobjs) $(soname).new
rm -f $(CCANDIR)config.h
rm -f $(CCANDIR)tools/configurator/configurator
- rm -f nvme/libnvme_wrap.c
rm -f *.so* *.a *.o
+++ /dev/null
-from distutils.core import setup, Extension
-
-libnvme_module = Extension('_nvme',
- sources=['nvme/libnvme_wrap.c'],
- libraries=['nvme', 'json-c', 'uuid', 'systemd'], library_dirs=['./'],
- include_dirs = ['../ccan','nvme'])
-
-setup(name='libnvme',
- author="Hannes Reinecke",
- author_email='hare@suse.de',
- description='python bindings for libnvme',
- ext_modules=[libnvme_module],
- py_modules=["nvme"],
-)