Использование Autotools для компиляции и установки модуля python по пути к библиотеке python - PullRequest
1 голос
/ 17 февраля 2020

Я начал использовать Autotool в своем проекте, и у меня есть модуль python, который я хотел бы скомпилировать в py c и скопировать в путь по умолчанию для библиотек python, чтобы после установки его можно было импортируется без необходимости определения дополнительных переменных среды. Я мог бы найти много примеров конфигураций Makefile.am для библиотек python, но все они используют SWIG, что не в моем случае. До сих пор мой файл Makefile.am в подпапке pythonlib содержал только одну строку

python_PYTHON = mymodule.py

В файле configure.a c у меня есть:

AM_PATH_PYTHON([2.4])

и в файле Makefile topdir .am:

ACLOCAL_AMFLAGS = -I m4
SUBDIRS=src pythonlib
CCLD = $(CC)
LINK = $(CCLD) $(AM_CFLAGS) $(CFLAGS) $(AM_LDFLAGS) $(LDFLAGS) -o $@

но когда после настройки я запускаю команду make, я получаю:

Making all in pythonlib
make[2]: Entering directory '/home/golosio/myproject/pythonlib'
make[2]: *** No rule to make target 'all'.  Stop.
make[2]: Leaving directory '/home/golosio/myproject/pythonlib'
make[1]: *** [Makefile:426: all-recursive] Error 1
make[1]: Leaving directory '/home/golosio/myproject'
make: *** [Makefile:358: all] Error 2

Я также пытался определить pyexec_LTLIBRARIES, но безуспешно. Что я должен написать в файле Makefile.am для компиляции и установки модуля?

1 Ответ

0 голосов
/ 17 февраля 2020

Извините, это была тривиальная ошибка с моей стороны, проблема была не в файлах Makefile.am, а в файле configure.a c, мне просто нужно было добавить путь "pythonlib" в AC_CONFIG_FILES:

AC_CONFIG_FILES([Makefile
src/Makefile
pythonlib/Makefile])

с этим все отлично работает.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...