在Makefile中将纪元时间从十进制转换为十六进制

时间:2014-05-21 16:00:11

标签: c makefile type-conversion

我想将二进制的纪元时间转换为十六进制。我可以通过以下命令在命令行中执行此操作

# epoxy time in decimal
me@bof:/auto/homes$ date +%s
1400687648

# epoxy time in hex
me@bof:/auto/homes$ printf "%x\n" $(date +%s)
537ccc3b

现在我想在Makefile中执行上述操作,我正在尝试使用$(shell)命令,但我遗漏了一些东西。

identifier:
        $(shell date +%s) 
        $(shell printf "%x\n" $(date +%s))

sombody可以帮我解决上述问题。 谢谢

2 个答案:

答案 0 :(得分:0)

您忘了将shell用于date

的通话
identifier:
    printf "%x\n" $(shell date +%s)

答案 1 :(得分:0)

为什么要在配方中使用$(shell ...)函数?每个食谱已经在shell中运行...为什么要两次?我一直都看到这一点,我不知道它来自哪里。

尝试:

identifier:
        date +%s
        printf "%x\n" $$(date +%s)