执行shell命令的Makefile挂起
我的makefile遇到了一个问题,因为当我发出执行shell命令的Makefile挂起,shell,awk,sed,makefile,grep,Shell,Awk,Sed,Makefile,Grep,我的makefile遇到了一个问题,因为当我发出makedebug时它会挂起 以下是目录树: ├── makefile └── src └── config ├── config_192_168_3_226.h └── config.h 以下是三个文件的内容: 生成文件: BOARD := $(shell awk '/BOARD_VERS/{print $NF}' $(echo "src/config/$(grep -oP "(?
makedebug
时它会挂起
以下是目录树:
├── makefile
└── src
└── config
├── config_192_168_3_226.h
└── config.h
以下是三个文件的内容:
生成文件:
BOARD := $(shell awk '/BOARD_VERS/{print $NF}' $(echo "src/config/$(grep -oP "(?<=\")(.*?)(?=\")" src/config/config.h)"))
.PHONY: debug
# Debug rule
debug:
@echo 'BOARD :' $(BOARD)
config_192_168_3_226.h:
#define BOARD_VERS V1
我用来设置BOARD变量的命令工作正常,但在我的makefile中发出时却不能正常工作
awk'/BOARD\u VERS/{print$NF}'$(echo“src/config/$(grep-oP)”(?这个$
是专门制作的。如果你想把它传递给shell,在配方和$(shell…
函数中,你必须以$
的形式转义它
因此,这里:
BOARD := $(shell awk '/BOARD_VERS/{print $NF}' $(echo "src/config/$(grep -oP "(?<=\")(.*?)(?=\")" src/config/config.h)"))
BOARD := $(shell awk '/BOARD_VERS/{print $NF}' $(echo "src/config/$(grep -oP "(?<=\")(.*?)(?=\")" src/config/config.h)"))
BOARD := $(shell awk '/BOARD_VERS/{print $$NF}' $$(echo "src/config/$$(grep -oP "(?<=\")(.*?)(?=\")" src/config/config.h)"))