LINUX.ORG.RU

История изменений

Исправление xaizek, (текущая версия) :

Не так чтобы простые проекты, но что-то получилось. Установка по крайней мере одной из этих переменных (в любое значение, даже пустое):

foo_CFLAGS =
foo_CPPFLAGS =

превращает

gcc -DHAVE_CONFIG_H -I.     -g -O2 -MT foo.o -MD -MP -MF .deps/foo.Tpo -c -o foo.o foo.c

в

gcc -DHAVE_CONFIG_H -I.     -g -O2 -MT foo-foo.o -MD -MP -MF .deps/foo-foo.Tpo -c -o foo-foo.o `test -f 'foo.c' || echo './'`foo.c

Как можно заметить у объектный файлов дополнительно появился префикс приложения (foo-).

В depend2.am кстати есть рядом с test -f:

## For non-suffix rules, we must emulate a VPATH search on %SOURCE%.

Ещё из automake.in (оно из секции о info-файлах, но это тот же флаг вроде):

  # We can output two kinds of rules: the "generic" rules use Make
  # suffix rules and are appropriate when $source and $dest do not lie
  # in a sub-directory; the "specific" rules are needed in the other
  # case.
  #
  # The former are output only once (this is not really apparent here,
  # but just remember that some logic deeper in Automake will not
  # output the same rule twice); while the later need to be output for
  # each Texinfo source.

Generic правила в выходном Makefile не перечисляют именя файлов явно, а non-generic выписывают для каждого файла свои правила (при этом generic правила в выходном файле тоже есть). Каким боком ко всему этому флаги, я не понял. Может быть это баг.

Исходная версия xaizek, :

Не так чтобы простые проекты, но что-то получилось. Установка по крайней мере одной из этих переменных:

foo_CFLAGS =
foo_CPPFLAGS =

превращает

gcc -DHAVE_CONFIG_H -I.     -g -O2 -MT foo.o -MD -MP -MF .deps/foo.Tpo -c -o foo.o foo.c

в

gcc -DHAVE_CONFIG_H -I.     -g -O2 -MT foo-foo.o -MD -MP -MF .deps/foo-foo.Tpo -c -o foo-foo.o `test -f 'foo.c' || echo './'`foo.c

Как можно заметить у объектный файлов дополнительно появился префикс приложения (foo-).

В depend2.am кстати есть рядом с test -f:

## For non-suffix rules, we must emulate a VPATH search on %SOURCE%.

Ещё из automake.in (оно из секции о info-файлах, но это тот же флаг вроде):

  # We can output two kinds of rules: the "generic" rules use Make
  # suffix rules and are appropriate when $source and $dest do not lie
  # in a sub-directory; the "specific" rules are needed in the other
  # case.
  #
  # The former are output only once (this is not really apparent here,
  # but just remember that some logic deeper in Automake will not
  # output the same rule twice); while the later need to be output for
  # each Texinfo source.

Generic правила в выходном Makefile не перечисляют именя файлов явно, а non-generic выписывают для каждого файла свои правила (при этом generic правила в выходном файле тоже есть). Каким боком ко всему этому флаги, я не понял. Может быть это баг.