diff options
Diffstat (limited to '')
-rw-r--r-- | Makefile.in | 98 |
1 files changed, 70 insertions, 28 deletions
diff --git a/Makefile.in b/Makefile.in index 1bdeb51..e991cce 100644 --- a/Makefile.in +++ b/Makefile.in @@ -329,7 +329,8 @@ TAGHDR = \ TAGFILES = $(SRC) $(HDR) $(TAGHDR) $(LIBNETDISSECT_SRC) \ print-smb.c smbutil.c -CLEANFILES = $(PROG) $(OBJ) $(LIBNETDISSECT_OBJ) print-smb.o smbutil.o +CLEANFILES = $(PROG) $(OBJ) $(LIBNETDISSECT_OBJ) \ + print-smb.o smbutil.o instrument-functions.o EXTRA_DIST = \ CHANGES \ @@ -343,6 +344,7 @@ EXTRA_DIST = \ README.md \ VERSION \ aclocal.m4 \ + autogen.sh \ atime.awk \ bpf_dump.c \ cmake/Modules/FindCRYPTO.cmake \ @@ -351,15 +353,15 @@ EXTRA_DIST = \ cmake_uninstall.cmake.in \ cmakeconfig.h.in \ config.guess \ - config.h.in \ config.sub \ - configure \ configure.ac \ doc/README.aix.md \ + doc/README.haiku.md \ doc/README.NetBSD.md \ doc/README.solaris.md \ - doc/README.Win32.md \ + doc/README.windows.md \ install-sh \ + instrument-functions.c \ lbl/os-osf4.h \ lbl/os-solaris2.h \ lbl/os-sunos4.h \ @@ -384,7 +386,7 @@ EXTRA_DIST = \ stime.awk \ tcpdump.1.in -TEST_DIST= `git ls-files tests | grep -v 'tests/\..*'` +TEST_DIST= `git -C "$$DIR" ls-files tests | grep -v 'tests/\..*'` RELEASE_FILES = $(CSRC) $(HDR) $(LIBNETDISSECT_SRC) $(EXTRA_DIST) $(TEST_DIST) @@ -440,10 +442,11 @@ lint: grep -v 'possible pointer alignment problem' clean: - rm -f $(CLEANFILES) $(PROG)-`cat ${srcdir}/VERSION`.tar.gz + rm -f $(CLEANFILES) $(PROG)-`cat ${srcdir}/VERSION`.tar.gz \ + config.h.in~ configure~ configure.ac~ -distclean: - rm -f $(CLEANFILES) Makefile config.cache config.log config.status \ +distclean: clean + rm -f Makefile config.cache config.log config.status \ config.h os-proto.h stamp-h stamp-h.in $(PROG).1 \ libnetdissect.a tests/.failed tests/.passed \ tests/failure-outputs.txt @@ -461,17 +464,52 @@ tags: $(TAGFILES) TAGS: $(TAGFILES) etags $(TAGFILES) +# +# Use git archive piped to tar to construct a subdirectory whose name +# is tcpdump-{release}, containing all the checked-in source files, +# and then run autoreconf in that directory to generate the configure +# script and other files from that source. Then remove autom4te.cache, +# construct the release tarball from that subdirectory, and remove +# the subdirectory. +# +# The --format=tar is to force git archive to write a non-compressed +# archive, in case the platform's tar command doesn't have built-in +# decompression. +# +# The ^{tree} is there to force git archive not to write out the +# "helpful" global extended pax header with a commit ID, as not all +# versions of tar can handle that (Solaris tar can't, for example). +# (It turns HEAD, or a tag, both of which are apparently "tree-ish"es, +# into a tree; apparently, unlike HEAD, or a tag, which have a commit +# ID associated with them, the tree associated with them doesn't have +# a commit ID, so no commit ID is available to write, and thus +# git archive doesn't write one.) +# releasetar: @TAG=$(PROG)-`cat VERSION` && \ - if git show-ref --tags --quiet --verify -- "refs/tags/$$TAG"; then \ - git archive --prefix="$$TAG"/ -o "$$TAG".tar.gz "$$TAG" \ - $(RELEASE_FILES) && \ + if [ ! -d .git ]; then echo 'Not in a git clone, stop.'; exit 1; fi && \ + TMPTESTFILE=`mktemp -t tmptestfile_XXXXXXXX` && \ + rm -f "$$TMPTESTFILE" && \ + AUTORECONF_DIR=`dirname "$$TMPTESTFILE"`/"$(PROG)"_build_autoreconf_$$$$ && \ + DIR=`pwd` && \ + rm -rf "$$AUTORECONF_DIR" && \ + mkdir "$$AUTORECONF_DIR" && \ + cd "$$AUTORECONF_DIR" && \ + if git -C "$$DIR" show-ref --tags --quiet --verify -- "refs/tags/$$TAG"; then \ + (git -C "$$DIR" archive --format=tar --prefix="$$TAG"/ "$$TAG^{tree}" $(RELEASE_FILES) | \ + tar xf -) && \ echo "Archive build from tag $$TAG."; \ else \ - git archive --prefix="$$TAG"/ -o "$$TAG".tar.gz HEAD \ - $(RELEASE_FILES) && \ + (git -C "$$DIR" archive --format=tar --prefix="$$TAG"/ "HEAD^{tree}" $(RELEASE_FILES) | \ + tar xf -) && \ echo "No $$TAG tag. Archive build from HEAD."; \ - fi + fi && \ + (cd "$$TAG" && "$${AUTORECONF:-autoreconf}" && rm -rf autom4te.cache) && \ + tar cf "$$DIR/$$TAG".tar "$$TAG" && \ + rm -f "$$DIR/$$TAG".tar.gz && \ + gzip --best "$$DIR/$$TAG".tar && \ + cd "$$DIR" && \ + rm -rf "$$AUTORECONF_DIR" releasecheck: releasetar @TAG=$(PROG)-`cat VERSION` && \ @@ -482,17 +520,21 @@ releasecheck: releasetar rm -rf "$$INSTALL_DIR" && \ tar xf "$$DIR"/"$$TAG".tar.gz && \ cd "$$TAG" && \ - echo "[$@] $$ ./configure --enable-smb --quiet --prefix=$$INSTALL_DIR" && \ - ./configure --enable-smb --quiet --prefix="$$INSTALL_DIR" && \ - echo '[$@] $$ make -s all check' && \ - make -s all check >/dev/null && \ - echo '[$@] $$ make -s install' && \ - make -s install && \ + echo "[$@] $$ touch .devel" && \ + touch .devel && \ + echo "[$@] $$ ./configure --enable-instrument-functions --enable-smb --quiet --prefix=$$INSTALL_DIR" && \ + ./configure --enable-instrument-functions --enable-smb --quiet --prefix="$$INSTALL_DIR" && \ + echo '[$@] $$ $(MAKE) -s all check' && \ + $(MAKE) -s all check >/dev/null && \ + echo '[$@] $$ $(MAKE) -s install' && \ + $(MAKE) -s install && \ cd .. && \ rm -rf "$$TAG" && \ rm -rf "$$INSTALL_DIR" && \ tar xf "$$DIR"/"$$TAG".tar.gz && \ cd "$$TAG" && \ + echo "[$@] $$ touch .devel" && \ + touch .devel && \ mkdir build && \ cd build && \ echo '[$@] $$ cmake -DENABLE_SMB=yes [...] ..' && \ @@ -502,10 +544,10 @@ releasecheck: releasetar -DCMAKE_RULE_MESSAGES=OFF \ -DCMAKE_INSTALL_MESSAGE=NEVER \ .. && \ - echo '[$@] $$ make -s all check' && \ - make -s all check >/dev/null && \ - echo '[$@] $$ make -s install' && \ - make -s install && \ + echo '[$@] $$ $(MAKE) -s all check' && \ + $(MAKE) -s all check >/dev/null && \ + echo '[$@] $$ $(MAKE) -s install' && \ + $(MAKE) -s install && \ cd ../.. && \ rm -rf "$$TAG" && \ rm -rf "$$INSTALL_DIR" && \ @@ -518,8 +560,7 @@ whitespacecheck: exit 1; \ fi @# trailing tab(s)? - @# install-sh has a tab at the end of one line - @if git grep -I -n ' $$' $$(git ls-files|grep -vE '^(tests/|install-sh$$)'); then \ + @if git grep -I -n ' $$' $$(git ls-files|grep -v '^tests/'); then \ echo 'Error: Trailing tabs(s).'; \ exit 1; \ fi @@ -533,7 +574,8 @@ testlist: echo $(TEST_DIST) depend: - $(MKDEP) -c "$(CC)" -m "$(DEPENDENCY_CFLAG)" -s "$(srcdir)" $(DEFS) $(INCLS) $(SRC) $(LIBNETDISSECT_SRC) + @echo $(MKDEP) -c $(CC) -m "$(DEPENDENCY_CFLAG)" -s "$(srcdir)" $(DEFS) $(INCLS) $(SRC) '<libnetdissect src list>' + @$(MKDEP) -c $(CC) -m "$(DEPENDENCY_CFLAG)" -s "$(srcdir)" $(DEFS) $(INCLS) $(SRC) $(LIBNETDISSECT_SRC) shellcheck: - shellcheck -f gcc -e SC2006 build.sh build_matrix.sh build_common.sh + shellcheck -f gcc -e SC2006 autogen.sh build.sh build_matrix.sh build_common.sh mkdep .ci-coverity-scan-build.sh |