高分请教:下面的makefile是什么意思?
下面是nessus扫描器中nessus-core的一个makefile中的开始一部分内容,以前在windows下编程,对linux编程不熟悉,所以请教各位,麻烦解析一下,谢谢!
--------------------------------------------
include nessus.tmpl
ALLDEPS = nessus.tmpl
all: $(ALLDEPS) $(CLIENT) server sslstuff doc fetchtool
nessus.tmpl: nessus.tmpl.in configure VERSION
$(SHELL) configure $(CONFIGURE_ARGS)
touch $@
install: all $(CLIENT_INSTALL) install-bin install-man
@echo
@echo ' --------------------------------------------------------------'
@echo ' nessus-core has been sucessfully installed. '
@echo " Make sure that $(bindir) and $(sbindir) are in your PATH before"
@echo " you continue."
@echo " nessusd has been installed into $(sbindir)"
@echo ' --------------------------------------------------------------'
@echo
问题点数:50、回复次数:4Top
1 楼nipcdll()回复于 2006-03-01 10:00:03 得分 0
client-install : client
test -d $(DESTDIR)${bindir} || $(INSTALL_DIR) -m 755 $(DESTDIR)${bindir}
$(INSTALL) -m $(CLIENTMODE) ${make_bindir}/nessus $(DESTDIR)${bindir}
client :
cd nessus && $(MAKE)
server :
cd nessusd && $(MAKE)
sslstuff :
cd ssl && $(MAKE)
fetchtool:
cd nessus-fetch && $(MAKE)
doc : $(MAN_NESSUS_1) $(MAN_NESSUSD_8)
$(MAN_NESSUS_1) : $(MAN_NESSUS_1).in
@sed -e 's?@NESSUSD_CONFDIR@?${NESSUSD_CONFDIR}?g;s?@NESSUSD_DATADIR@?${NESSUSD_DATADIR}?g;s?@NESSUSD_PLUGINS@?${NESSUSD_PLUGINS}?g;' $(MAN_NESSUS_1).in >$(MAN_NESSUS_1)
$(MAN_NESSUSD_8) : $(MAN_NESSUSD_8).in
@sed -e 's?@NESSUSD_CONFDIR@?${NESSUSD_CONFDIR}?g;s?@NESSUSD_DATADIR@?${NESSUSD_DATADIR}?g;s?@NESSUSD_PLUGINS@?${NESSUSD_PLUGINS}?g;' $(MAN_NESSUSD_8).in >$(MAN_NESSUSD_8)
Top
2 楼YanDong_8212(谢科)回复于 2006-03-01 10:05:36 得分 20
就是些依赖关系和需要执行的命令,去看下makefile的介绍吧Top
3 楼nipcdll()回复于 2006-03-01 10:08:15 得分 0
问题
1、nessus.tmpl是作什么的?
2、make时,先执行all:、然后nessus.tmpl、接着是install吗?如果是这个顺序的话,那install里面怎么又要执行一次all?
我是菜菜鸟,见笑了,呵呵Top
4 楼fierygnu(va_list)回复于 2006-03-01 12:28:20 得分 30
1、nessus.tmpl类似C里的include文件。
2、man mak。搞清楚目标、依赖和action,就明白了。Top




