📄 makefile
字号:
# You probably want to take -DREDEBUG out of CFLAGS, and put something like# -O in, *after* testing (-DREDEBUG strengthens testing by enabling a lot of# internal assertion checking and some debugging facilities).# Put -Dconst= in for a pre-ANSI compiler.# Do not take -DPOSIX_MISTAKE out.# REGCFLAGS isn't important to you (it's for my use in some special contexts).CFLAGS=-I. -DPOSIX_MISTAKE -DREDEBUG $(REGCFLAGS)# If you have a pre-ANSI compiler, put -o into MKHFLAGS. If you want# the Berkeley __P macro, put -b in.MKHFLAGS=# Flags for linking but not compiling, if any.LDFLAGS=# Extra libraries for linking, if any.LIBS=# Internal stuff, should not need changing.OBJPRODN=regcomp.o regexec.o regerror.o regfree.oOBJS=$(OBJPRODN) split.o debug.o main.oH=cclass.h cname.h regex2.h utils.hREGSRC=regcomp.c regerror.c regexec.c regfree.cALLSRC=$(REGSRC) engine.c debug.c main.c split.c# Stuff that matters only if you're trying to lint the package.LINTFLAGS=-I. -Dstatic= -Dconst= -DREDEBUGLINTC=regcomp.c regexec.c regerror.c regfree.c debug.c main.cJUNKLINT=possible pointer alignment|null effect# arrangements to build forward-reference header files.SUFFIXES: .ih .h.c.ih: sh ./mkh $(MKHFLAGS) -p $< >$@default: rlib: purge $(OBJPRODN) rm -f libregex.a ar crv libregex.a $(OBJPRODN)purge: rm -f *.o# stuff to build regex.hREGEXH=regex.hREGEXHSRC=regex2.h $(REGSRC)$(REGEXH): $(REGEXHSRC) mkh sh ./mkh $(MKHFLAGS) -i _REGEX_H_ $(REGEXHSRC) >regex.tmp cmp -s regex.tmp regex.h 2>/dev/null || cp regex.tmp regex.h rm -f regex.tmp# dependencies$(OBJPRODN) debug.o: utils.h regex.h regex2.hregcomp.o: cclass.h cname.h regcomp.ihregexec.o: engine.c engine.ihregerror.o: regerror.ihdebug.o: debug.ihmain.o: main.ih# testerre: $(OBJS) $(CC) $(CFLAGS) $(LDFLAGS) $(OBJS) $(LIBS) -o $@# regression testr: re tests ./re <tests ./re -el <tests ./re -er <tests# 57 variants, and other stuff, for development use -- not useful to youra: ./re tests -./re <tests -./re -el <tests -./re -er <testsrx: ./re tests ./re -x <tests ./re -x -el <tests ./re -x -er <testst: ./re tests -time ./re <tests -time ./re -cs <tests -time ./re -el <tests -time ./re -cs -el <testsl: $(LINTC) lint $(LINTFLAGS) -h $(LINTC) 2>&1 | egrep -v '$(JUNKLINT)' | tee lintfullprint: ti README WHATSNEW notes todo | list ti *.h | list list *.c list regex.3 regex.7print: ti README WHATSNEW notes todo | list ti *.h | list list reg*.c engine.cmf.tmp: Makefile sed '/^REGEXH=/s/=.*/=regex.h/' Makefile | sed '/#DEL$$/d' >$@DTRH=cclass.h cname.h regex2.h utils.hPRE=COPYRIGHT README WHATSNEWPOST=mkh regex.3 regex.7 tests $(DTRH) $(ALLSRC) fake/*.[ch]FILES=$(PRE) Makefile $(POST)DTR=$(PRE) Makefile=mf.tmp $(POST)dtr: $(FILES) mf.tmp makedtr $(DTR) >$@ rm mf.tmpcio: $(FILES) cio $(FILES)rdf: $(FILES) rcsdiff -c $(FILES) 2>&1 | p# various forms of cleanuptidy: rm -f junk* core core.* *.core dtr *.tmp lintclean: tidy rm -f *.o *.s *.ih re libregex.a# don't do this one unless you know what you're doingspotless: clean rm -f mkh regex.h
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -