Для чего используются многоточия () в Makefile.am?

Я сделал библиотеку, используя libtool некоторое время назад. В моем примере кода Makefile.am содержит многоточие (...). Я не помню, для какой цели они служат, и погуглив, я не нашел ответа. Для чего они?

ignitech_example_SOURCES = ignitech.cpp …
ignitech_example_dyn_SOURCES = ignitech.cpp …
ignitech_example_LDADD = ../libignitech.la
ignitech_example_dyn_LDADD = -lignitech
example:
        $(MAKE) $(AM_MAKEFLAGS) -C .. all
        $(MAKE) $(AM_MAKEFLAGS) ignitech_example
        $(MAKE) $(AM_MAKEFLAGS) ignitech_example_dyn

person Jacob Geigle    schedule 23.02.2020    source источник


Ответы (1)


Эллипсы не имеют особого значения для Automake. Если поставить многоточие в списке имен файлов, как в примере, то оно будет интерпретировано как имя файла. Automake особенно не придает особого значения односимвольному многоточию Unicode, например, как в вашем примере.

В целом, я склонен предположить, что фрагмент Makefile.am, представленный в вопросе, на самом деле вообще не взят из рабочего входного файла Automake, а вместо этого дословно скопирован из примера в книге или учебнике, где многоточия не предназначены для восприниматься как буквальное содержимое файла.

person John Bollinger    schedule 23.02.2020
comment
Я могу засвидетельствовать, что Makefile.am на самом деле является рабочим входным файлом. Удаление эллипсов юникода, похоже, не дает никакого эффекта. - person Jacob Geigle; 23.02.2020
comment
Не влияет на что, @JacobGeigle? Существует множество причин, по которым вы можете не увидеть разницы в своей сборке, начиная с того факта, что Makefile.am вполне может вообще не принимать непосредственного участия в сборке. Но это действительно не по делу. Вопрос был о значении эллипсов для Automake, и ответ был таким же, как и дан: никакого особого значения вообще. - person John Bollinger; 23.02.2020
comment
Спасибо за разъяснение. Я просто пытался уточнить, что приведенный выше фрагмент кода представляет собой весь файл для определенного исходного каталога, который может быть создан необязательно, и autoreconf / configure / make не выдает ошибок при их наличии. Их удаление и перезапуск процесса сборки из autoreconf проходит без видимых изменений. Я был удивлен, что, поскольку они не имеют особого значения, они не вызывают ошибки. - person Jacob Geigle; 24.02.2020