- 论坛徽章:
- 0
|
操作系统环境:FreeBSD 7
采用操作系统自带的make命令,不是GNU make
Makefile中定义变量DATE=$(shell date '+%Y/%m/%d %H:%M:%S') #目的是想要获得日期信息存入变量DATE中,再将DATE
......... (省略N行)
all: touch $(TARGET)
$(TARGET): $(OBJECTS)
$(CC) $(LFLGS) -o $@ $(OBJECTS)
.cc.o:
$(CC) $(CFLGS) $(ADDFLGS) -DDATE=\""$(DATE)"\" $<
make命令过后提示如下:
g++ -c -O -Wall -W -D_REENTRANT -DFREEBSD -DIPV6_ENABLE -DDATE=\""arning NOTAGS is deprecated in favour of NO_TAGS
NO_TAGS=
.endif
"\" common.cc
<command-line>: warning: missing terminating " character
common.cc:11: error: missing terminating " character
common.cc:11: error: expected primary-expression before ';' token
*** Error code 1
其中-DDATE中并没有实际想要的日期信息.但是如果用gmake的话.却可以正常获得信息,如下:
[ipat@FreeBSD ~/src]$ gmake
touch common.cc
g++ -c -O -Wall -W -D_REENTRANT -DFREEBSD -DIPV6_ENABLE -DDATE=\""2008/12/16 14:40:43"\" common.cc
请问:如果要用FreeBSD自带的默认的make的话..makefile应该如何改写才能正确使得变量DATE中获得日期信息并传入程序中.. |
|