Я использую Linux, Ubuntu 10.04.
Это не первый раз пытаюсь использовать автоинструменты. Я провел много исследований и слежу за множеством руководств: вот что я хочу делать, что пробовал и с какой проблемой сталкиваюсь.
Цель :
Что я пробовал и где я нахожусь : включают include / fxplib.h (основной заголовок) включить / FXPLib include / FXPLib / header1.h (это общедоступные заголовки) включить / FXPLib / header2.h включить / FXPLib / ... src SRC / sub1 / file1.c SRC / sub2 / file1.c src / sub3 ...
Я запустил автосканирование, получил configure.ac, отредактировал его следующим образом:
# - * - Autoconf - * -
# Обработать этот файл с помощью autoconf, чтобы создать сценарий настройки.
AC_PREREQ ([2.65])
AC_INIT ([libfxplib-0.1], [0.1], [<>])
AC_CONFIG_SRCDIR ([src / object_system / FXP_image_s.h])
AC_CONFIG_HEADERS (config.h)
AC_CONFIG_MACRO_DIR ([m4])
AM_INIT_AUTOMAKE
AM_PROG_LIBTOOL
LT_PREREQ ([2.2])
LT_INIT
# Проверяет наличие программ.
AC_PROG_CC
AC_PROG_MAKE_SET
# Проверяет наличие библиотек.
# Проверяет файлы заголовков.
AC_CHECK_HEADERS ([stdlib.h])
# Проверяет определения типов, структуры и характеристики компилятора.
AC_HEADER_STDBOOL
# Проверяет библиотечные функции.
AC_FUNC_MALLOC
AC_FUNC_REALLOC
AC_CHECK_FUNCS ([набор памяти])
AC_CONFIG_FILES ([Makefile])
AC_OUTPUT
Я написал Makefile.am так:
lib_LTLIBRARIES = libfxplib-0.1.la
libfxplib_0_1_la_CFLAGS = -I $ (srcdir) / include -I $ (srcdir) / include / FXPLib `sdl-config --cflags --libs` -lSDL_image
libfxplib_0_1_la_SOURCES = src / sub1 / file1.c \
SRC / sub1 / file2.c \
SRC / sub2 / file1.h \
...
nobase_include_HEADERS = включить / fxplib.h \
включить / FXPLib / header1.h \
включить / FXPLib / header2.h \
...
ACLOCAL_AMFLAGS = -I m4
Дальше все в порядке. Но затем я пытаюсь скомпилировать:
$ ./configure
Все тоже в порядке ...
$ make
и получаю:
...
src/graphics_engine/FXP_rendering.c:35:25: error: FXP_image_s.h: File not found
...
где:
Это означает: automake может компилировать файлы .c в подкаталоге, но не может включать в эти файлы частный файл .h, который находится в другом подкаталоге.
Моя проблема : Как указать automake компилировать все файлы в каждом подкаталоге, как если бы они все были в одном месте?
Надеюсь, меня можно понять (и извиняюсь за некоторые проблемы, которые вы могли найти в моих словах, потому что я француз)
Заранее благодарю.