Make-файл: Поток не входит если петля

я пытаюсь собрать огромное количество файлов (.pc pro*c код, c код и.h файлы в exe) в один exe.

Пример кода.

Обратите внимание на то, что символы табуляции помещаются соответственно. Однако, удаленный здесь, отправляя.

Извините, попробованный, чтобы зафиксировать углубление.. однако, сделает это лучше теперь.

Please note that, T at the beginning of the line would represent a Tab character.

build :$(OBJS)

T @if [ "$(EXE)" = "abc" ]; then \

T echodo  `command`\

T elif [ "$(ORA_CLIENT_LIB)" = "shared" ]; then \

T echodo $(CC) $(LDFLAGSSHRD) $(LIBPATHS)  -m64 -o $(EXE) $(OBJS) `cat $(ORACLE_HOME)/rdbms/lib/sysliblist ` $(LIBHOME)/libclntsh.so; \

T else \

T echodo $(CC) $(LIBPATH) -m64 -o $(EXE) $(OBJS) -L$(LIBPATH) $(PROLDLIB) $(AMOLIB) $(LIBHOME)/libclntsh. a ;\

T fi

Переменный Lib Клиента РТОВ установлен в общий. и тем не менее, код не входит в блок elif. Я пропускаю что-нибудь?

Когда я управляю делать, я получаю ошибку...

------/bin/sh: -c: line 4: syntax error: unexpected end of file
------make: *** [build] Error 2

Все.o файлы были созданы, однако, exe не. Я не понимаю то, что отсутствует. echodo - файл мусорного ведра Oracle. Поскольку я собираю код ProC, таким образом, у него должна быть некоторая уместность.

1
nl ja de
Что echodo ?
добавлено автор Some programmer dude, источник
Это - часть Make-файла? действительно необходимо зафиксировать заявку/форматирование, it' s нечитабельный как есть.
добавлено автор unwind, источник
Зафиксированный углубление сэр.
добавлено автор kris123456, источник

2 ответы

Я буду идти вперед и рисковать предположением...

Я предполагаю, что echodo повторяет все свои аргументы и выполняет первый аргумент как команду с остающимися аргументами как аргументы команде, которую это выполняет.

Однако, в линии

echodo  --------

Это отзывается эхом --------, и тогда пытается выполнить его . И поскольку маловероятно, что у вас есть названная команда ,-------- вы получите ошибку.

Если вы хотите повторить последовательность --------, то используйте нормальную равнину эхо команда.

0
добавлено
Я должен был раздеть некоторый код от регистрации здесь из-за соображений безопасности. ' \' используется в конце линий. Даже я не получил, каков Echodo, однако он используется в существующих файлах. Я вижу, что это - файл, существующий в папке мусорного ведра оракула. Таким образом, это должен быть файл, связанный с Pro*C
добавлено автор kris123456, источник

Я ожидал видеть \ s на всех линиях кроме последнего как это:

build: $(OBJS)
        @if [ "$(EXE)" = "abc" ]; then \
        echo --------; \
        elif [ "$(ORA_CLIENT_LIB)" = "shared" ]; then \
        echodo $(CC) $(LDFLAGSSHRD) $(LIBPATHS)  -m64 -o $(EXE) $(OBJS) `cat $(ORACLE_HOME)/rdbms/lib/sysliblist ` $(LIBHOME)/libclntsh.so; \
        else \
        echodo $(CC) $(LIBPATH) -m64 -o $(EXE) $(OBJS) -L$(LIBPATH) $(PROLDLIB) $(AMOLIB) $(LIBHOME)/libclntsh.a; \
        fi
0
добавлено
Linux Help
Linux Help
2 686 участник(ов)

Правила: https://telegra.ph/Pravila-Linux-Help-10-15

Linux Security
Linux Security
652 участник(ов)

Данная группа принципиально про безопасность и в частности про безопасность Linux. Прочие темы просим обсуждать в профильных чатах.

Linux Gaming RUS
Linux Gaming RUS
28 участник(ов)

Русскоязычный чатик, посвящённый играм на различных дистрибутивах Linux, а также wine, proton Arch Linux RU @ArchLinuxChatRU Gnome RU @gnome_ru