Я пытаюсь скомпилировать библиотеку с autotools. Библиотека отлично компилируется со следующим Makefile.am в его библиотеке исходный каталог/ЦСИinclude_HEADERS и нет правила для цели, необходимой для 'all-am'
lib_LTLIBRARIES = libgtkchart.la
libgtkchart_la_CFLAGS = $(CFLAGS) -fPIC -Wall $(gtk_CFLAGS)
libgtkchart_la_LIBADD = $(gtk_LIBS) $(glib_LIBS)
libgtkchart_la_LDFLAGS = -fPIC -shared -version-info 1:0:0
libgtkchart_la_SOURCES = gtkchart.c gtkaxis.c gtkbarchart.c gtkchartdata.c gtkchart.h gtkaxis.h gtkbarchart.h gtkbarchartdata.h
, но если добавить следующую строку в этом файле:
include_HEADERS = gtkaxis.h gtkbarchart.h gtkbarchartdata.h gtkchart.h
Я получаю следующее сообщение об ошибке:
make[2]: *** No rule to make target 'gtkbarchartdata.h', needed by 'all-am'. Stop.
Мой главный MAkefile.am в библиотеке/является
SUBDIRS = src
ACLOCAL_AMFLAGS= -I m4
и мой configure.ac является
AC_CONFIG_MACRO_DIRS([m4])
AC_INIT([library], [1.0], [me])
AM_PROG_AR
AM_INIT_AUTOMAKE([-Wall -Werror foreign])
AC_PROG_CC
AC_DISABLE_STATIC
AC_PROG_LIBTOOL
AC_CONFIG_HEADERS([config.h])
AC_CONFIG_FILES([
Makefile
src/Makefile
])
LT_INIT
AC_OUTPUT
Я не могу понять, почему потребность в мишени для этого файла заголовка.
Моя структура каталогов очень проста и все исходные файлы и файлы заголовков находятся в том же каталоге, Makefile.am Это не должно быть виновником –