Skip to content

Commit

Permalink
unignore some Makefiles
Browse files Browse the repository at this point in the history
  • Loading branch information
cooljeanius committed Sep 27, 2024
1 parent 8e0f727 commit 51ed675
Show file tree
Hide file tree
Showing 9 changed files with 371 additions and 1 deletion.
3 changes: 2 additions & 1 deletion .github/workflows/codeql.yml
Original file line number Diff line number Diff line change
Expand Up @@ -116,7 +116,8 @@ jobs:
done
sync && make -C test/automated/flymake/warnpred CHK_SOURCES=test.c
pushd test/lisp/progmodes/flymake-resources
make CHK_SOURCES=test.c || make check-syntax CHK_SOURCES=test.c
sync && pwd
make CHK_SOURCES=test.c || make check-syntax CHK_SOURCES=test.c || ls
popd
find . -name '*.o' -exec cp -v {} . ";" || \
echo "in $(pwd): failed copying an object file"
Expand Down
5 changes: 5 additions & 0 deletions doc/lispintro/.gitignore
Original file line number Diff line number Diff line change
Expand Up @@ -20,3 +20,8 @@
*.txt
Makefile
makefile

# Allow these:
!cons-*.pdf
!drawers.pdf
!lambda-*.pdf
2 changes: 2 additions & 0 deletions etc/.gitignore
Original file line number Diff line number Diff line change
Expand Up @@ -6,5 +6,7 @@ images/icons/*
*.log
refcards/emacsver.tex
refcards/*.pdf
!refcards/gnus-logo.pdf
!refcards/Makefile
*.pyc
__pycache__/*
4 changes: 4 additions & 0 deletions lib/.gitignore
Original file line number Diff line number Diff line change
Expand Up @@ -45,12 +45,14 @@ sched.h
search.h
signal.h
spawn.h
!std*.in.h
stdalign.h
stdckdint.h
stddef.h
stdint.h
stdbool.h
stdio.h
!stdio-impl.h
stdlib.h
stdnoreturn.h
string.h
Expand Down Expand Up @@ -88,6 +90,8 @@ stamp-headers
# copied snippet:
link-warning.h
# unused-parameter.h is no longer a copied snippet, so allow it.
# Also allow this:
!_Noreturn.h

# gcc -save-temps output for reporting compiler bugs:
sha256.i
Expand Down
4 changes: 4 additions & 0 deletions test/.gitignore
Original file line number Diff line number Diff line change
@@ -1,2 +1,6 @@
!*.gz
!*.zip
!lisp/progmodes/flymake-resources/Makefile
!manual/etags/Makefile
!manual/etags/make-src/Makefile
!manual/indent/Makefile
13 changes: 13 additions & 0 deletions test/lisp/progmodes/flymake-resources/Makefile
Original file line number Diff line number Diff line change
@@ -0,0 +1,13 @@
# Makefile for flymake tests

CC_OPTS = -Wall -Wextra

## Recent gcc (e.g. 4.8.2 on RHEL7) can automatically colorize their output,
## which can confuse flymake. Set GCC_COLORS to disable that.
## This only seems to be an issue in batch mode, where you would not
## normally use flymake, so it seems like just avoiding the issue
## in this test is fine. Set flymake-log-level to 3 to investigate.
check-syntax:
GCC_COLORS="" gcc $(CC_OPTS) -o /dev/null -S ${CHK_SOURCES} || true

# eof
99 changes: 99 additions & 0 deletions test/manual/etags/Makefile
Original file line number Diff line number Diff line change
@@ -0,0 +1,99 @@
ADASRC=$(addprefix ./ada-src/,etags-test-for.ada 2ataspri.adb 2ataspri.ads waroquiers.ada)
ASRC=$(addprefix ./a-src/,empty.zz empty.zz.gz)
CSRC=$(addprefix ./c-src/,abbrev.c .//c.c torture.c getopt.h etags.c\
exit.c exit.strange_suffix sysdep.h tab.c dostorture.c\
emacs/src/gmalloc.c emacs/src/regex.h emacs/src/keyboard.c emacs/src/lisp.h\
machsyscalls.c machsyscalls.h fail.c a/b/b.c) ../etags/c-src/h.h
CPSRC=$(addprefix ./cp-src/,c.C x.cc burton.cpp burton.cpp\
functions.cpp MDiagArray2.h Range.h\
screen.cpp screen.hpp conway.cpp conway.hpp clheir.cpp.gz clheir.hpp.gz fail.C)
ELSRC=$(addprefix ./el-src/,TAGTEST.EL emacs/lisp/progmodes/etags.el)
ERLSRC=$(addprefix ./erl-src/,gs_dialog.erl)
FORTHSRC=$(addprefix ./forth-src/,test-forth.fth)
FSRC=$(addprefix ./f-src/,entry.for entry.strange_suffix entry.strange)
GOSRC=$(addprefix ./go-src/,test.go test1.go)
HTMLSRC=$(addprefix ./html-src/,softwarelibero.html index.shtml algrthms.html software.html)
#JAVASRC=$(addprefix ./java-src/, )
LUASRC=$(addprefix ./lua-src/,allegro.lua test.lua)
MAKESRC=$(addprefix ./make-src/,Makefile)
MERCSRC=$(addprefix ./merc-src/,accumulator.m)
OBJCSRC=$(addprefix ./objc-src/,Subprocess.h Subprocess.m PackInsp.h PackInsp.m)
OBJCPPSRC=$(addprefix ./objcpp-src/,SimpleCalc.H SimpleCalc.M)
PASSRC=$(addprefix ./pas-src/,common.pas)
PERLSRC=$(addprefix ./perl-src/,htlmify-cystic yagrip.pl kai-test.pl)
PHPSRC=$(addprefix ./php-src/,lce_functions.php ptest.php sendmail.php)
PSSRC=$(addprefix ./ps-src/,rfc1245.ps)
PROLSRC=$(addprefix ./prol-src/,ordsets.prolog natded.prolog)
PYTSRC=$(addprefix ./pyt-src/,server.py)
RBSRC=$(addprefix ./ruby-src/,test.rb test1.ru)
RSSRC=$(addprefix ./rs-src/,test.rs)
SCMSRC=$(addprefix ./scm-src/,test.scm)
TEXSRC=$(addprefix ./tex-src/,testenv.tex gzip.texi texinfo.tex nonewline.tex)
YSRC=$(addprefix ./y-src/,parse.y parse.c atest.y cccp.c cccp.y)
SRCS=${ADASRC} ${ASRC} ${CSRC} ${CPSRC} ${ELSRC} ${ERLSRC} ${FSRC}\
${FORTHSRC} ${GOSRC} ${HTMLSRC} ${JAVASRC} ${LUASRC} ${MAKESRC}\
${OBJCSRC} ${OBJCPPSRC} ${PASSRC} ${PHPSRC} ${PERLSRC} ${PSSRC}\
${PROLSRC} ${PYTSRC} ${RBSRC} ${RSSRC} ${SCMSRC} ${TEXSRC} ${YSRC} ${MERCSRC}
NONSRCS=./f-src/entry.strange ./erl-src/lists.erl ./cp-src/clheir.hpp.gz

ETAGS_PROG=../../../lib-src/etags
CTAGS_PROG=../../../lib-src/ctags

REGEX=/[ \t]*DEFVAR_[A-Z_ \t\n(]+"\([^"]+\)"/
xx="this line is here because of a fontlock bug

RUN=

OPTIONS=--members --declarations --regex=@regexfile
ARGS=- < srclist

infiles = $(filter-out ${NONSRCS},${SRCS}) srclist regexfile

.PHONY: check cdiff ETAGS CTAGS
# Can't make ediff_1 through ediff_5 .PHONY, as they're implicit.

check:
@$(MAKE) OPTIONS='--no-members' ediff_1
@$(MAKE) OPTIONS='--declarations --no-members' ediff_2
@$(MAKE) OPTIONS='--members' ediff_3
@$(MAKE) OPTIONS='--regex=@regexfile --no-members' ediff_4
@$(MAKE) OPTIONS='nonexistent --members --declarations --regex=@regexfile' ediff_5
@$(MAKE) OPTIONS='--class-qualify --members --declarations --regex=@regexfile' ediff_6
@$(MAKE) cdiff
@$(MAKE) ctags_update

ediff%: ETAGS.good% ETAGS ${infiles}
diff -u --suppress-common-lines --width=80 ETAGS.good$* ETAGS

cdiff: CTAGS.good CTAGS ${infiles}
diff -u --suppress-common-lines --width=80 CTAGS.good CTAGS

ctags_update: CTAGS.good_update ${infiles}
head -n 100 CTAGS.good_update > CTAGS
tail -n 100 CTAGS.good_update >> CTAGS
${RUN} ${CTAGS_PROG} -o CTAGS -u ${ARGS}
sort CTAGS > CTAGS.sorted
sort CTAGS.good_update > CTAGS.good_update.sorted
diff -u --suppress-common-lines --width=80 CTAGS.good_update.sorted CTAGS.sorted

cp crlf CTAGS
${RUN} ${CTAGS_PROG} -o CTAGS -u ${ARGS}
sort CTAGS > CTAGS.sorted
sort CTAGS.good_crlf > CTAGS.good_crlf.sorted
diff -u --suppress-common-lines --width=80 CTAGS.good_crlf.sorted CTAGS.sorted

ETAGS: ${infiles}
${RUN} ${ETAGS_PROG} ${OPTIONS} -o $@ ${ARGS}

CTAGS: ${infiles}
${RUN} ${CTAGS_PROG} -o $@ --regex=@regexfile ${ARGS}

srclist: Makefile
@for i in $(SRCS); do echo $$i; done > srclist
@echo "srclist remade"

regexfile: Makefile
@echo ' -- This is for GNU Emacs source files' > regexfile
@printf '%s\n' '${REGEX}' >> regexfile
@printf '%s\n' '{c}${REGEX}\\1/m' >> regexfile
@echo "regexfile remade"
226 changes: 226 additions & 0 deletions test/manual/etags/make-src/Makefile
Original file line number Diff line number Diff line change
@@ -0,0 +1,226 @@
LATEST=17
RELEASELIST=pot@gnu.org xemacs-review@xemacs.org jcwren@jcwren.com sxemacs-devel@sxemacs.org

ADASRC=etags-test-for.ada 2ataspri.adb 2ataspri.ads waroquiers.ada
ASRC=empty.zz empty.zz.gz
CSRC=abbrev.c ../etags/h.h .//c.c torture.c getopt.h etags.c\
exit.c exit.strange_suffix sysdep.h tab.c\
emacs/src/gmalloc.c emacs/src/regex.h emacs/src/keyboard.c dostorture.c\
machsyscalls.c machsyscalls.h fail.c a/b/b.c
CPSRC=c.C abstract.C abstract.H cfront.H burton.cpp burton.cpp\
functions.cpp MDiagArray2.h Pctest.h Range.h\
screen.cpp screen.hpp conway.cpp conway.hpp clheir.cpp.gz clheir.hpp.gz fail.C
ELSRC=TAGTEST.EL emacs/lisp/progmodes/etags.el
ERLSRC=gs_dialog.erl lines.erl lists.erl
FORTHSRC=test-forth.fth
FSRC=entry.for entry.strange_suffix entry.strange
HTMLSRC=softwarelibero.html index.shtml algrthms.html software.html
JAVASRC=AWTEMul.java KeyEve.java SMan.java SysCol.java TG.java
LUASRC=allegro.lua
MAKESRC=Makefile
OBJCSRC=Subprocess.h Subprocess.m PackInsp.h PackInsp.m
OBJCPPSRC=SimpleCalc.H SimpleCalc.M
PASSRC=common.pas
PERLSRC=htlmify-cystic yagrip.pl kai-test.pl mirror.pl
PHPSRC=lce_functions.php ptest.php sendmail.php
PSSRC=rfc1245.ps
PROLSRC=ordsets.prolog natded.prolog
PYTSRC=server.py
TEXSRC=testenv.tex gzip.texi texinfo.tex nonewline.tex
YSRC=parse.y parse.c atest.y cccp.c cccp.y
SRCS=Makefile ${ADASRC} ${ASRC} ${CSRC} ${CPSRC} ${ELSRC} ${ERLSRC} ${FSRC}\
${FORTHSRC} ${HTMLSRC} ${JAVASRC} ${LUASRC} ${MAKESRC} ${OBJCSRC}\
${OBJCPPSRC} ${PASSRC} ${PHPSRC} ${PERLSRC} ${PSSRC} ${PROLSRC} ${PYTSRC}\
${TEXSRC} ${YSRC}
NONSRCS=entry.strange lists.erl clheir.hpp.gz

VHDLFLAGS=--language=none --regex='/[ \t]*\(ARCHITECTURE\|CONFIGURATION\) +[^ ]* +OF/' --regex='/[ \t]*\(ATTRIBUTE\|ENTITY\|FUNCTION\|PACKAGE\( BODY\)?\|PROCEDURE\|PROCESS\|TYPE\)[ \t]+\([^ \t(]+\)/\3/'
COBOLFLAGS=--language=none --regex='/.......[a-zA-Z0-9-]+\./'
POSTSCRIPTFLAGS=--language=none --regex='#/[^ \t{]+#'
TCLFLAGS=--lang=none --regex='/proc[ \t]+\([^ \t]+\)/\1/'

GETOPTOBJS= #getopt.o getopt1.o
RXINCLUDE=-Iemacs/src
REGEXOBJS=regex.o

CHECKOBJS=chkmalloc.o chkxm.o
CHECKFLAGS=-DDEBUG -Wno-unused-function
OBJS=${GETOPTOBJS} ${REGEXOBJS} ${CHECKOBJS}
CPPFLAGS=${CHECKFLAGS} -DSTDC_HEADERS -DHAVE_GETCWD ${RXINCLUDE} -I.
LDFLAGS=#-static -lc_p
WARNINGS=-pedantic -Wall -Wpointer-arith -Winline -Wmissing-prototypes -Wmissing-declarations -Wunused -Wformat -Wno-switch -Wsign-compare -Wpointer-arith -Wshadow -Wstrict-prototypes
CFLAGS=${WARNINGS} -ansi -g3 # -pg -O
#CC=gcc-3.0
#TARGET_ARCH=
FASTCFLAGS=-O3 -finline-functions -ffast-math -funroll-loops
FASTCFLAGSWARN=${WARNINGS} -Werror ${FASTCFLAGS}

FILTER=grep -v '\.[Cchefy][lor]*,[1-9][0-9]*' || true
REGEX=/[ \t]*DEFVAR_[A-Z_ \t\n(]+"\([^"]+\)"/
xx="this line is here because of a fontlock bug

MAKE:=$(MAKE) --no-print-directory
RUN=time --quiet --format '%U + %S: %E'
RUN=
OPTIONS=--members --declarations --regex=@regexfile
ARGS=- < srclist

infiles = $(filter-out ${NONSRCS},${SRCS}) srclist regexfile

quiettest:
@rm -f /tmp/[0-9][0-9][0-9][0-9][0-9][0-9]malloc
@-$(MAKE) OPTIONS='--no-members' ${LATEST}ediff
@-$(MAKE) OPTIONS='--declarations --no-members' ${LATEST}ediff
@-$(MAKE) OPTIONS='--members' ${LATEST}ediff
@-$(MAKE) OPTIONS='--regex=@regexfile --no-members' ${LATEST}ediff
@-$(MAKE) OPTIONS='nonexistent --members --declarations --regex=@regexfile' ${LATEST}ediff
@-$(MAKE) ${LATEST}cdiff

test:
@rm -f /tmp/[0-9][0-9][0-9][0-9][0-9][0-9]malloc
@$(MAKE) OPTIONS='--no-members' ${LATEST}ediff
@$(MAKE) OPTIONS='--declarations --no-members' ${LATEST}ediff
@$(MAKE) OPTIONS='--members' ${LATEST}ediff
@$(MAKE) OPTIONS='--regex=@regexfile --no-members' ${LATEST}ediff
@$(MAKE) OPTIONS='nonexistent --members --declarations --regex=@regexfile' ${LATEST}ediff
@$(MAKE) ${LATEST}cdiff

${CHECKOBJS}: CFLAGS=-g3 -DNULLFREECHECK=0

checker:
@rm -f /tmp/[0-9][0-9][0-9][0-9][0-9][0-9]malloc ${REGEXOBJS}
@env CHECKEROPTS="--trace --profile --Wfree-null" \
$(MAKE) CFLAGS= CHECKOBJS= CHECKFLAGS= CC=checkergcc ${LATEST}ediff
rm -f $REGEXOBJS

standalone:
rm -f etags ctags
@$(MAKE) etags "CPPFLAGS=-UVERSION"
@$(MAKE) ctags "CPPFLAGS=-UVERSION"

prof: ETAGS
prof -xgs etags

fastetags:
rm -f etags ${GETOPTOBJS} ${REGEXOBJS}
@$(MAKE) CHECKOBJS= CHECKFLAGS= etags "CFLAGS=-ansi ${FASTCFLAGSWARN}"

fastctags:
rm -f ctags ${GETOPTOBJS} ${REGEXOBJS}
@$(MAKE) CHECKOBJS= CHECKFLAGS= ctags "CFLAGS=-ansi ${FASTCFLAGSWARN}"

staticetags:
rm -f etags ${GETOPTOBJS} ${REGEXOBJS}
@$(MAKE) etags CHECKOBJS= CHECKFLAGS= REGEXOBJS= GETOPTOBJS= RXINCLUDE= "CFLAGS=${FASTCFLAGSWARN} -static"

rsynctofly:
rsync --exclude "*~" --exclude core --exclude etags -zauRv . fly:gnu/etags/

rsyncfromfly:
rsync --exclude "*~" --exclude core --exclude etags -zauRv fly:gnu/etags/ ../..

web ftp publish:
@-printf '\ttesting with debugging enabled...\n'; $(MAKE) quiettest
@-printf '\ttesting standalone...\n'; $(MAKE) standalone quiettest
@-printf '\ttesting fast versions...\n'; $(MAKE) fastetags fastctags quiettest
@$(MAKE) /home/www/pub/etags.c.gz
@$(MAKE) /home/www/pub/software/unix/etags.tar.gz

release distrib: web
cat xemacs-mail | /usr/sbin/sendmail -f pot@gnu.org ${RELEASELIST}
mv etags etags${LATEST}
mv ctags ctags${LATEST}

tags: TAGS

clean:
rm -f ${OBJS} etags ETAGS

srclist: Makefile
@for i in $(SRCS); do echo $$i; done > srclist
@echo srclist remade

regexfile: Makefile
@echo ' -- This is for GNU Emacs source files' > regexfile
@echo '${REGEX}' >> regexfile
@echo '{c}${REGEX}\\1/m' >> regexfile
@echo regexfile remade

/home/www/pub/etags.c.gz: etags.c
co -kv etags.c
gzip --best -c etags.c > $@

#/home/www/pub/software/unix/etags.tar.gz: Makefile staticetags etags.1.man ETAGS.EBNF ETAGS.README
# tar -hzcf $@ COPYING ChangeLog ETAGS.EBNF etags.c etags.1 etags.1.man etags

/home/www/pub/software/unix/etags.tar.gz: Makefile etags.1.man ETAGS.EBNF ETAGS.README maintaining.texi
tar -hzcf $@ COPYING ChangeLog ETAGS.EBNF ETAGS.README etags.c etags.1 etags.1.man maintaining.texi

regex.o: emacs/src/regex.c
$(CC) ${FASTCFLAGS} -c $?

getopt.o: emacs/lib-src/getopt.c
$(CC) ${FASTCFLAGS} -c $?

getopt1.o: emacs/lib-src/getopt1.c
$(CC) ${FASTCFLAGS} -c $?

etags: etags.c ${OBJS}
$(CC) $(CFLAGS) $(CPPFLAGS) $(LDFLAGS) -o etags etags.c ${OBJS}

ctags: etags.c ${OBJS}
$(CC) $(CFLAGS) $(CPPFLAGS) -DCTAGS $(LDFLAGS) -o ctags etags.c ${OBJS}

man manpage: etags.1.man

etags.1.man: etags.1
nroff -man -Tman etags.1 > $@

maintaining.info: maintaining.texi
makeinfo --force --no-split maintaining.texi

TAGS: etags.c
etags etags.c

%ediff: ETAGS% ETAGS ${infiles}
sdiff --suppress-common-lines --width=103 ETAGS$* ETAGS

oediff: OTAGS ETAGS ${infiles}
sdiff --suppress-common-lines --width=103 OTAGS ETAGS

%cdiff: CTAGS% CTAGS ${infiles}
sdiff --suppress-common-lines --width=103 CTAGS$* CTAGS

xdiff: ETAGS EXTAGS ${infiles}
sdiff --suppress-common-lines --width=103 ETAGS EXTAGS

ETAGS: FRC etags ${infiles}
${RUN} ./etags ${OPTIONS} -o $@ ${ARGS}

ETAGS%: FRC etags% ${infiles}
${RUN} etags$* ${OPTIONS} -o $@ ${ARGS}

ETAGS13 ETAGS14 ETAGS15: etags% ${infiles}
TEXTAGS=def:newcommand:newenvironment ${RUN} etags$* --regex=@regexfile} -o $@ ${ARGS}

ETAGS12: etags12 ${infiles}
${RUN} etags12 --members -o $@ --regex='${REGEX}' ${ARGS}

OTAGS: oetags ${SRCS} srclist
${RUN} ./oetags -o $@ -t ${ARGS}

CTAGS: ctags ${infiles}
${RUN} ./ctags -o $@ --regex=@regexfile ${ARGS}

CTAGS%: ctags% ${infiles}
${RUN} ctags$* -wtTd --globals --members -o $@ --regex=@regexfile ${ARGS}

CTAGS13 CTAGS14 CTAGS15: ctags% ${infiles}
TEXTAGS=def:newcommand:newenvironment ${RUN} ctags$* -wt -o $@ --regex='${REGEX}' ${ARGS}

EXTAGS: extags ${infiles} Makefile
${RUN} ./extags -e --regex-c='${REGEX}' --c++-types=+x --c-types=+x --if0=yes --line-directives=yes -o $@ -L - < srclist

.PRECIOUS: ETAGS CTAGS ETAGS16 CTAGS16 ETAGS17 CTAGS17

FRC:;
Loading

0 comments on commit 51ed675

Please sign in to comment.