andy851899 发表于 2009-11-29 16:21

楼主很强,最近正在读lightppd-1.4.25源码,对我来说帮助应该很大,谢谢

zhanglistar 发表于 2010-01-04 09:57

回复 #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

zhyclt 发表于 2010-01-04 10:22

恩 ,很不错的东西哦

wachmc 发表于 2010-01-13 00:08

回复 #1 lenky0401 的帖子

学习, 等基础好了认真学习下

sky-鹏 发表于 2010-04-12 10:28

谢谢楼主·~~

Dead_Dance 发表于 2010-04-27 16:49

不错~ 学习了

lenky0401 发表于 2010-04-29 14:04

:lol:被挖了

cqm 发表于 2010-06-01 10:06

好东西,收下了慢慢研读

riccy 发表于 2010-06-01 18:46

收藏了,的确是好东西

jpai2289 发表于 2010-07-15 16:17

好贴,肯定要支持的。。。
页: 1 2 3 4 5 6 7 8 [9] 10 11 12 13 14 15 16 17 18
查看完整版本: lighttpd-1.4.20源码分析[更新于2009-05-20 在第66楼]