回复 #1 lenky0401 的帖子
在阅读lighttpd到makefile过程中,有几处不太懂1.am__tar = ${AMTAR} chof - "$$tardir"
am__untar = ${AMTAR} xf -
$$tardir这个是什么用法?后面有几处tardir的赋值语句
dist-gzip: distdir
tardir=$(distdir) && $(am__tar) | GZIP=$(GZIP_ENV) gzip -c >$(distdir).tar.gz
$(am__remove_distdir)
其他类似
整个makefile中没有看到tardir的定义了, 请问$$tardir是什么用法呢?
在其他地方也看到好多$$var的用法的,
$(AMTAR)是tar命令
2.am__cd = CDPATH="$${ZSH_VERSION+.}$(PATH_SEPARATOR)" && cd
该语句中有几个地方不懂,
makefile中也可以这样连续赋值?
CDPATH和
ZSH_VERSION+.都没有看到定义 这句话表示什么意思呢?
3.NORMAL_INSTALL = :
PRE_INSTALL = :
POST_INSTALL = :
NORMAL_UNINSTALL = :
PRE_UNINSTALL = :
POST_UNINSTALL = :
作者写了这几个变量,但是没有看到引用,只定义了 ,为什么要这么作?
4.install-am: all-am
@$(MAKE) $(AM_MAKEFLAGS) install-exec-am install-data-am
$(AM_MAKEFLAGS) 是个变量 但是没有看到定义 ,难道在makefile之外定义的? 不解
$(MAKE) 应该是个变量但是 makefile中有这么一行
.MAKE: $(RECURSIVE_CLEAN_TARGETS) $(RECURSIVE_TARGETS) install-am \
install-strip
这个是什么用法呢?
只看见过.PHONY 难道是自己定义到隐含规则?
小弟刚入门学makefile希望各位能够指点一下
3ks in advance 恩 ,很不错的东西哦