日期:2014-05-16  浏览次数:20658 次

(求助)Makefile 中如何获得系统命令结果
需求: 在编译的时候需要获得系统版本信息: 用uname -r 命令。
  然后编译完成后生成的可执行文件名字的后面带上版本信息。
  makefile代码如下,有各种语法错误。
ENCRYPT = aesEncryption
OBJS_ENCRYPT = aesEncryption.c

CC = /usr/sfw/bin/gcc
CP = /bin/cp
RM = /bin/rm
UNAME = /bin/uname
SED = /bin/sed
NAWK = /bin/nawk
OSVERSION1 := (`uname -a`) 
ENCRYPT = "aesEncryption$OSVERSION1 "
all :
  @$(echo) $(OSVERSION1)
  /usr/sfw/bin/gcc -o $ENCRYPT aesEncryption.c -lcrypto -Wall

clean:
  /bin/rm -rf aesEncryption

install:

小弟Makefile 基本不了解,求助于此。望大虾解答

------解决方案--------------------
探讨

没人自己顶一下
OSVERSION1 := (`uname -a`) 是不是应该改成:OSVERSION1=$(shell "uname -r")