посторонний конец, если в файле .dep.inc - PullRequest
0 голосов
/ 24 января 2019

Я даю Дженкинсу задание на создание бинарных файлов для моего кода через make file.Это показывает ошибку постороннего конца, если в файле .dep.inc я попытался изменить конфигурацию сетевых бинов.

Этот файл генерируется автоматически созданным файлом make в сетевых бинах.В сетевых бинах он компилируется, но в Jenkins он показывает ошибку. *

# dependency checking support
.depcheck-impl:
    @echo "# This code depends on make tool being used" >.dep.inc
    @if [ -n "${MAKE_VERSION}" ]; then \
        echo "DEPFILES=\$$(wildcard \$$(addsuffix .d, \$${OBJECTFILES}))" >>.dep.inc; \
        echo "ifneq (\$${DEPFILES},)" >>.dep.inc; \
        echo "include \$${DEPFILES}" >>.dep.inc; \
        echo "endif" >>.dep.inc; \
    else \
        echo ".KEEP_STATE:" >>.dep.inc; \
        echo ".KEEP_STATE_FILE:.make.state.\$${CONF}" >>.dep.inc; \
    fi

1 Ответ

0 голосов
/ 07 мая 2019

вы используете синтаксис BASH вместо Makefile. Одним из вариантов может быть использование условной структуры Makefile: Условные части make-файлов

Другой способ - определить всю инструкцию BASH в одной строке, например:

if [ <condition>]; then <action1>; else <action2>; fi

В Makefile каждая строка цели может быть ОБОЛОЧКОЙ, но вы не должны разбивать их.

Наконец, вы можете использовать среду «define» для вставки кода BASH:

define <name>=
<BASH code>
<...>
<name>: ; @$(value <name>)
.ONESHELL

Надеюсь, вы найдете это полезным!

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