Я пытаюсь написать make-файл, и я застрял.
В этом проекте предполагается, что make создает/обновляет файл .zip, названный в честь каталога, содержащего make-файл.
МойРабочийКаталог/ -> МойРабочийКаталог.zip
Кто-то дал мне какой-то код здесь, но он не работает с /bin/sh: -c: ligne 0: синтаксическая ошибка рядом с неожиданным токеном "("
CIBLE:= $(shell basename "`pwd`".zip)
SRC=blabla
OBJ=blabla
all: $(CIBLE)
$(CIBLE): $(OBJ)
rm $@ 2>/dev/null;zip -j $@ $^
У меня GNU make 4.2.1
Спасибо !
Прости. Make завершается с ошибкой: /bin/sh: -c: ligne 0: синтаксическая ошибка рядом с неожиданным токеном "("
В вашей среде должно быть что-то большее, чем вы здесь упомянули, иначе приведенный выше make-файл каким-то важным образом отличается от того, который вы на самом деле используете. Этот makefile отлично работает для меня. Какую операционную систему ты используешь?
Я собираюсь предположить, что ваша оболочка по умолчанию не bash.
Это баш! Но я это исправил. Первая линия не была проблемой. Объясню в первом посте. Спасибо !





Вы также можете получить имя текущего каталога с помощью:
CIBLE := $(notdir $(abspath .))
Это позволяет обойти оболочку, которая может быть проблемой в вашем случае.
С первой строкой проблем не было...
В makefile я процитировал все $@
rm "$@" 2>/dev/null;zip -j "$@" $^
И я слежу, чтобы в имени моего CIBLE не было скобок. Скобки были проблемой, я думаю.
Спасибо вам всем.
«это не удается» — это не сообщение о проблеме, с которым мы можем что-то сделать.