1LATEST=17 2RELEASELIST=pot@gnu.org xemacs-review@xemacs.org jcwren@jcwren.com sxemacs-devel@sxemacs.org 3 4ADASRC=etags-test-for.ada 2ataspri.adb 2ataspri.ads waroquiers.ada 5ASRC=empty.zz empty.zz.gz 6CSRC=abbrev.c ../etags/h.h .//c.c torture.c getopt.h etags.c\ 7 exit.c exit.strange_suffix sysdep.h tab.c\ 8 emacs/src/gmalloc.c emacs/src/regex.h emacs/src/keyboard.c dostorture.c\ 9 machsyscalls.c machsyscalls.h fail.c a/b/b.c 10CPSRC=c.C abstract.C abstract.H cfront.H burton.cpp burton.cpp\ 11 functions.cpp MDiagArray2.h Pctest.h Range.h\ 12 screen.cpp screen.hpp conway.cpp conway.hpp clheir.cpp.gz clheir.hpp.gz fail.C 13ELSRC=TAGTEST.EL emacs/lisp/progmodes/etags.el 14ERLSRC=gs_dialog.erl lines.erl lists.erl 15FORTHSRC=test-forth.fth 16FSRC=entry.for entry.strange_suffix entry.strange 17HTMLSRC=softwarelibero.html index.shtml algrthms.html software.html 18JAVASRC=AWTEMul.java KeyEve.java SMan.java SysCol.java TG.java 19LUASRC=allegro.lua 20MAKESRC=Makefile 21OBJCSRC=Subprocess.h Subprocess.m PackInsp.h PackInsp.m 22OBJCPPSRC=SimpleCalc.H SimpleCalc.M 23PASSRC=common.pas 24PERLSRC=htlmify-cystic yagrip.pl kai-test.pl mirror.pl 25PHPSRC=lce_functions.php ptest.php sendmail.php 26PSSRC=rfc1245.ps 27PROLSRC=ordsets.prolog natded.prolog 28PYTSRC=server.py 29TEXSRC=testenv.tex gzip.texi texinfo.tex nonewline.tex 30YSRC=parse.y parse.c atest.y cccp.c cccp.y 31SRCS=Makefile ${ADASRC} ${ASRC} ${CSRC} ${CPSRC} ${ELSRC} ${ERLSRC} ${FSRC}\ 32 ${FORTHSRC} ${HTMLSRC} ${JAVASRC} ${LUASRC} ${MAKESRC} ${OBJCSRC}\ 33 ${OBJCPPSRC} ${PASSRC} ${PHPSRC} ${PERLSRC} ${PSSRC} ${PROLSRC} ${PYTSRC}\ 34 ${TEXSRC} ${YSRC} 35NONSRCS=entry.strange lists.erl clheir.hpp.gz 36 37VHDLFLAGS=--language=none --regex='/[ \t]*\(ARCHITECTURE\|CONFIGURATION\) +[^ ]* +OF/' --regex='/[ \t]*\(ATTRIBUTE\|ENTITY\|FUNCTION\|PACKAGE\( BODY\)?\|PROCEDURE\|PROCESS\|TYPE\)[ \t]+\([^ \t(]+\)/\3/' 38COBOLFLAGS=--language=none --regex='/.......[a-zA-Z0-9-]+\./' 39POSTSCRIPTFLAGS=--language=none --regex='#/[^ \t{]+#' 40TCLFLAGS=--lang=none --regex='/proc[ \t]+\([^ \t]+\)/\1/' 41 42GETOPTOBJS= #getopt.o getopt1.o 43RXINCLUDE=-Iemacs/src 44REGEXOBJS=regex.o 45 46CHECKOBJS=chkmalloc.o chkxm.o 47CHECKFLAGS=-DDEBUG -Wno-unused-function 48OBJS=${GETOPTOBJS} ${REGEXOBJS} ${CHECKOBJS} 49CPPFLAGS=${CHECKFLAGS} -DSTDC_HEADERS -DHAVE_GETCWD ${RXINCLUDE} -I. 50LDFLAGS=#-static -lc_p 51WARNINGS=-pedantic -Wall -Wpointer-arith -Winline -Wmissing-prototypes -Wmissing-declarations -Wunused -Wformat -Wno-switch -Wsign-compare -Wpointer-arith -Wshadow -Wstrict-prototypes 52CFLAGS=${WARNINGS} -ansi -g3 # -pg -O 53#CC=gcc-3.0 54#TARGET_ARCH= 55FASTCFLAGS=-O3 -finline-functions -ffast-math -funroll-loops 56FASTCFLAGSWARN=${WARNINGS} -Werror ${FASTCFLAGS} 57 58FILTER=grep -v '\.[Cchefy][lor]*,[1-9][0-9]*' || true 59REGEX=/[ \t]*DEFVAR_[A-Z_ \t\n(]+"\([^"]+\)"/ 60xx="this line is here because of a fontlock bug 61 62MAKE:=$(MAKE) --no-print-directory 63RUN=time --quiet --format '%U + %S: %E' 64RUN= 65OPTIONS=--members --declarations --regex=@regexfile 66ARGS=- < srclist 67 68infiles = $(filter-out ${NONSRCS},${SRCS}) srclist regexfile 69 70quiettest: 71 @rm -f /tmp/[0-9][0-9][0-9][0-9][0-9][0-9]malloc 72 @-$(MAKE) OPTIONS='--no-members' ${LATEST}ediff 73 @-$(MAKE) OPTIONS='--declarations --no-members' ${LATEST}ediff 74 @-$(MAKE) OPTIONS='--members' ${LATEST}ediff 75 @-$(MAKE) OPTIONS='--regex=@regexfile --no-members' ${LATEST}ediff 76 @-$(MAKE) OPTIONS='nonexistent --members --declarations --regex=@regexfile' ${LATEST}ediff 77 @-$(MAKE) ${LATEST}cdiff 78 79test: 80 @rm -f /tmp/[0-9][0-9][0-9][0-9][0-9][0-9]malloc 81 @$(MAKE) OPTIONS='--no-members' ${LATEST}ediff 82 @$(MAKE) OPTIONS='--declarations --no-members' ${LATEST}ediff 83 @$(MAKE) OPTIONS='--members' ${LATEST}ediff 84 @$(MAKE) OPTIONS='--regex=@regexfile --no-members' ${LATEST}ediff 85 @$(MAKE) OPTIONS='nonexistent --members --declarations --regex=@regexfile' ${LATEST}ediff 86 @$(MAKE) ${LATEST}cdiff 87 88${CHECKOBJS}: CFLAGS=-g3 -DNULLFREECHECK=0 89 90checker: 91 @rm -f /tmp/[0-9][0-9][0-9][0-9][0-9][0-9]malloc ${REGEXOBJS} 92 @env CHECKEROPTS="--trace --profile --Wfree-null" \ 93 $(MAKE) CFLAGS= CHECKOBJS= CHECKFLAGS= CC=checkergcc ${LATEST}ediff 94 rm -f $REGEXOBJS 95 96standalone: 97 rm -f etags ctags 98 @$(MAKE) etags "CPPFLAGS=-UVERSION" 99 @$(MAKE) ctags "CPPFLAGS=-UVERSION" 100 101prof: ETAGS 102 prof -xgs etags 103 104fastetags: 105 rm -f etags ${GETOPTOBJS} ${REGEXOBJS} 106 @$(MAKE) CHECKOBJS= CHECKFLAGS= etags "CFLAGS=-ansi ${FASTCFLAGSWARN}" 107 108fastctags: 109 rm -f ctags ${GETOPTOBJS} ${REGEXOBJS} 110 @$(MAKE) CHECKOBJS= CHECKFLAGS= ctags "CFLAGS=-ansi ${FASTCFLAGSWARN}" 111 112staticetags: 113 rm -f etags ${GETOPTOBJS} ${REGEXOBJS} 114 @$(MAKE) etags CHECKOBJS= CHECKFLAGS= REGEXOBJS= GETOPTOBJS= RXINCLUDE= "CFLAGS=${FASTCFLAGSWARN} -static" 115 116rsynctofly: 117 rsync --exclude "*~" --exclude core --exclude etags -zauRv . fly:gnu/etags/ 118 119rsyncfromfly: 120 rsync --exclude "*~" --exclude core --exclude etags -zauRv fly:gnu/etags/ ../.. 121 122web ftp publish: 123 @-printf '\ttesting with debugging enabled...\n'; $(MAKE) quiettest 124 @-printf '\ttesting standalone...\n'; $(MAKE) standalone quiettest 125 @-printf '\ttesting fast versions...\n'; $(MAKE) fastetags fastctags quiettest 126 @$(MAKE) /home/www/pub/etags.c.gz 127 @$(MAKE) /home/www/pub/software/unix/etags.tar.gz 128 129release distrib: web 130 cat xemacs-mail | /usr/sbin/sendmail -f pot@gnu.org ${RELEASELIST} 131 mv etags etags${LATEST} 132 mv ctags ctags${LATEST} 133 134tags: TAGS 135 136clean: 137 rm -f ${OBJS} etags ETAGS 138 139srclist: Makefile 140 @for i in $(SRCS); do echo $$i; done > srclist 141 @echo srclist remade 142 143regexfile: Makefile 144 @echo ' -- This is for GNU Emacs source files' > regexfile 145 @echo '${REGEX}' >> regexfile 146 @echo '{c}${REGEX}\\1/m' >> regexfile 147 @echo regexfile remade 148 149/home/www/pub/etags.c.gz: etags.c 150 co -kv etags.c 151 gzip --best -c etags.c > $@ 152 153#/home/www/pub/software/unix/etags.tar.gz: Makefile staticetags etags.1.man ETAGS.EBNF ETAGS.README 154# tar -hzcf $@ COPYING ChangeLog ETAGS.EBNF etags.c etags.1 etags.1.man etags 155 156/home/www/pub/software/unix/etags.tar.gz: Makefile etags.1.man ETAGS.EBNF ETAGS.README maintaining.texi 157 tar -hzcf $@ COPYING ChangeLog ETAGS.EBNF ETAGS.README etags.c etags.1 etags.1.man maintaining.texi 158 159regex.o: emacs/src/regex.c 160 $(CC) ${FASTCFLAGS} -c $? 161 162getopt.o: emacs/lib-src/getopt.c 163 $(CC) ${FASTCFLAGS} -c $? 164 165getopt1.o: emacs/lib-src/getopt1.c 166 $(CC) ${FASTCFLAGS} -c $? 167 168etags: etags.c ${OBJS} 169 $(CC) $(CFLAGS) $(CPPFLAGS) $(LDFLAGS) -o etags etags.c ${OBJS} 170 171ctags: etags.c ${OBJS} 172 $(CC) $(CFLAGS) $(CPPFLAGS) -DCTAGS $(LDFLAGS) -o ctags etags.c ${OBJS} 173 174man manpage: etags.1.man 175 176etags.1.man: etags.1 177 nroff -man -Tman etags.1 > $@ 178 179maintaining.info: maintaining.texi 180 makeinfo --force --no-split maintaining.texi 181 182TAGS: etags.c 183 etags etags.c 184 185%ediff: ETAGS% ETAGS ${infiles} 186 sdiff --suppress-common-lines --width=103 ETAGS$* ETAGS 187 188oediff: OTAGS ETAGS ${infiles} 189 sdiff --suppress-common-lines --width=103 OTAGS ETAGS 190 191%cdiff: CTAGS% CTAGS ${infiles} 192 sdiff --suppress-common-lines --width=103 CTAGS$* CTAGS 193 194xdiff: ETAGS EXTAGS ${infiles} 195 sdiff --suppress-common-lines --width=103 ETAGS EXTAGS 196 197ETAGS: FRC etags ${infiles} 198 ${RUN} ./etags ${OPTIONS} -o $@ ${ARGS} 199 200ETAGS%: FRC etags% ${infiles} 201 ${RUN} etags$* ${OPTIONS} -o $@ ${ARGS} 202 203ETAGS13 ETAGS14 ETAGS15: etags% ${infiles} 204 TEXTAGS=def:newcommand:newenvironment ${RUN} etags$* --regex=@regexfile} -o $@ ${ARGS} 205 206ETAGS12: etags12 ${infiles} 207 ${RUN} etags12 --members -o $@ --regex='${REGEX}' ${ARGS} 208 209OTAGS: oetags ${SRCS} srclist 210 ${RUN} ./oetags -o $@ -t ${ARGS} 211 212CTAGS: ctags ${infiles} 213 ${RUN} ./ctags -o $@ --regex=@regexfile ${ARGS} 214 215CTAGS%: ctags% ${infiles} 216 ${RUN} ctags$* -wtTd --globals --members -o $@ --regex=@regexfile ${ARGS} 217 218CTAGS13 CTAGS14 CTAGS15: ctags% ${infiles} 219 TEXTAGS=def:newcommand:newenvironment ${RUN} ctags$* -wt -o $@ --regex='${REGEX}' ${ARGS} 220 221EXTAGS: extags ${infiles} Makefile 222 ${RUN} ./extags -e --regex-c='${REGEX}' --c++-types=+x --c-types=+x --if0=yes --line-directives=yes -o $@ -L - < srclist 223 224.PRECIOUS: ETAGS CTAGS ETAGS16 CTAGS16 ETAGS17 CTAGS17 225 226FRC:; 227