以下是我的Makefile的一部分(有错误)。我只想要时代和最大纪元之间的差异并打印出来。但我不确定错误是什么。有人可以帮我这个吗? 谢谢
EPOCH_MAX = 1400000000
identifier:
epoch = $(shell date +%s)
echo $(epoch)
residue = $(epoch)-$(EPOCH_MAX)
echo $(residue)
我收到以下错误
epoch = 1400767572
make: epoch: Command not found
make: *** [identifier] Error 127
答案 0 :(得分:0)
您正在混合Makefile变量和shell变量。 您可能需要以下代码:
EPOCH_MAX = 1400000000
epoch = $(shell date +%s )
identifier:
echo $(epoch)
(( residue = $(epoch) - $(EPOCH_MAX) )) || true ;\
echo $${residue}
编辑:正如MadScientist强调的那样,这根本不可移植。更好的是例如:
EPOCH_MAX = 1400000000
identifier:
epoch=$(shell date +%s ); \
echo $$epoch; \
residue=`expr $$epoch - $(EPOCH_MAX)`; \
echo $$residue
答案 1 :(得分:0)
以下似乎也可以正常工作。但是使用shell。
EPOCH_MAX = 1400000000
epoch = $(shell date +%s )
residue =$(shell echo $(epoch)\-$(EPOCH_MAX) | bc)
identifier:
echo $(epoch)
echo $(residue)