我的Makefile中有以下目标:
~/.zshrc: zsh/*
DESTDIR ?= $(shell echo '~/.')
SUDO ?= $(shell echo '')
sed -e "s_DESTDIR_$(DESTDIR)_" \
-e "s_SUDO_$(SUDO)_" \
-e "s_LIBDIR_$(LIBDIR)_" \
-e '/^#/ d' $+ > $@
但每当我运行make ~.zshrc
时,我都会收到以下错误:
DESTDIR ?= ~/.
/bin/sh: DESTDIR: command not found
make: *** [/Users/henrikgiesel/.zshrc] Error 127
我不知道是什么原因引起的。我必须逃避什么吗?我在文件的另一个点PWD ?= $(shell pwd)
,它工作得很好。
答案 0 :(得分:0)
target: respondencies
- block的内部与Makefile的文件级别不同。
DESTDIR ?= $(shell echo '~/.')
之类的命令只能在文件级别执行。
target
- 块内的所有内容基本上都是shell命令,由/ bin / sh执行。