# Generated automatically from Makefile.in by configure.# $Id: Makefile.in,v 1.59 2002/03/24 22:20:19 jnelson Exp $//本makefile 由autotools產生.SUFFIXES:.SUFFIXES: .o .c //去掉原尾碼,添加新尾碼.PHONY: clean mrclean distclean depend all dist //偽目標GCC_FLAGS = -Wstrict-prototypes -Wpointer-arith -Wcast-align -Wcast-qual\ -Wtraditional\ -Wshadow\ -Wconversion\ -Waggregate-return\ -Wmissing-prototypes\ -Wnested-externs\ -Wall \ -Wundef -Wwrite-strings -Wredundant-decls -Winlinesrcdir = .VPATH = .:./../extras//如果依賴檔案或目標檔案在目前的目錄下沒找到的話,就到這兩個目錄來找(這兩個目錄由冒號分隔)#LDFLAGS = -gLIBS = CFLAGS += -pipe -Wall -I.# Change these if necessaryYACC = bison -y //yacc是個文法分析器產生的檔案尾碼為.YLEX = flex //詞法分析器,產生的檔案尾碼為.L#CC = arm-linux-gcc #CPP = arm-linux-gcc -ESOURCES = alias.c boa.c buffer.c cgi.c cgi_header.c config.c escape.c \get.c hash.c ip.c log.c mmap_cache.c pipe.c queue.c read.c \request.c response.c select.c signals.c util.c sublog.cOBJS = y.tab.o lex.yy.o $(SOURCES:.c=.o) timestamp.o //$(SOURCES:.c=.o)用了替換,將SOURCES中的.c替換成了.o //all是偽目標,預設目標 all:boa boa_indexerrm -rf $(OBJS)chmod +x boa@echo "build boa finish."boa:$(OBJS)$(CC) -o $@ $^ $(LDFLAGS) $(LIBS) //$@ $^$?$<$*都是自動化變數boa_indexer:index_dir.o escape.o $(CC) -o $@ $^ $(LDFLAGS) $(LIBS)clean:rm -f $(OBJS) boa core lex.yy.c y.tab.c y.tab.h *~ boa_indexer index_dir.o *.d distclean:mrcleanmrclean:cleanrm -f config.status config.cache config.h Makefile config.log# parser dependenciesy.tab.c y.tab.h:boa_grammar.y$(YACC) -d $^lex.yy.c:boa_lexer.l$(LEX) $^# timestamptimestamp.o:$(SOURCES) boa_grammar.y boa_lexer.l// 用gcc -MM可以產生源檔案的依賴關係,.depend檔案原來都有了,可以make depend重新製作 # depend stuff.depend:$(CPP) -MM $(SOURCES) > .depend// ">"重新導向 depend:-rm -f .depend$(MAKE) .depend include .depend# tagstags:$(SOURCES)//更新所有的目標,以備完整地重編譯使用。ctags -o tags $^ *.h# distdist:$(MAKE) clean./makedist.sh # object dumpboa.objdump: boaobjdump --disassemble-all --source boa > $@