X-Git-Url: https://git.tcpdump.org/tcpdump/blobdiff_plain/a10ab62bf4f611c63b479df48ab8c9192fa0b281..refs/pull/1036/head:/Makefile.in diff --git a/Makefile.in b/Makefile.in index 2e3194e8..9d03c21b 100644 --- a/Makefile.in +++ b/Makefile.in @@ -1,5 +1,5 @@ # Copyright (c) 1988, 1989, 1990, 1991, 1992, 1993, 1994, 1995, 1996, 1997 -# The Regents of the University of California. All rights reserved. +# The Regents of the University of California. All rights reserved. # # Redistribution and use in source and binary forms, with or without # modification, are permitted provided that: (1) source code distributions @@ -193,6 +193,7 @@ LIBNETDISSECT_SRC=\ print-ospf.c \ print-ospf6.c \ print-otv.c \ + print-pflog.c \ print-pgm.c \ print-pim.c \ print-pktap.c \ @@ -263,8 +264,6 @@ LIBNETDISSECT=libnetdissect.a SRC = $(CSRC) $(LOCALSRC) -# We would like to say "OBJ = $(SRC:.c=.o)" but Ultrix's make cannot -# hack the extra indirection OBJ = $(CSRC:.c=.o) HDR = \ addrtoname.h \ @@ -307,6 +306,7 @@ HDR = \ ospf.h \ oui.h \ pcap-missing.h \ + pflog.h \ ppp.h \ print.h \ rpc_auth.h \ @@ -326,14 +326,14 @@ TAGHDR = \ /usr/include/netinet/in.h TAGFILES = $(SRC) $(HDR) $(TAGHDR) $(LIBNETDISSECT_SRC) \ - print-pflog.c print-smb.c smbutil.c + print-smb.c smbutil.c CLEANFILES = $(PROG) $(OBJ) $(LIBNETDISSECT_OBJ) EXTRA_DIST = \ CHANGES \ CMakeLists.txt \ - CONTRIBUTING \ + CONTRIBUTING.md \ CREDITS \ INSTALL.md \ LICENSE \ @@ -342,6 +342,7 @@ EXTRA_DIST = \ README.md \ VERSION \ aclocal.m4 \ + autogen.sh \ atime.awk \ bpf_dump.c \ cmake/Modules/FindCRYPTO.cmake \ @@ -350,17 +351,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 \ install-sh \ instrument-functions.c \ - lbl/os-osf4.h \ - lbl/os-solaris2.h \ - lbl/os-sunos4.h \ - lbl/os-ultrix4.h \ makemib \ missing/datalinks.c \ missing/dlnames.c \ @@ -368,34 +367,38 @@ EXTRA_DIST = \ missing/getopt_long.h \ missing/getservent.c \ missing/pcap_dump_ftell.c \ - missing/snprintf.c \ - missing/strdup.c \ missing/strlcat.c \ missing/strlcpy.c \ missing/strsep.c \ mkdep \ packetdat.awk \ - print-pflog.c \ print-smb.c \ send-ack.awk \ smbutil.c \ 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) all: $(PROG) $(PROG): $(OBJ) @V_PCAPDEP@ $(LIBNETDISSECT) @rm -f $@ $(CC) $(FULL_CFLAGS) $(LDFLAGS) -o $@ $(OBJ) $(LIBNETDISSECT) $(LIBS) - nm $(PROG) | grep ' [tT] ' > $(PROG)_instrument_functions.nm || : instrument_all: $(PROG) - nm $(PROG) | grep ' [tT] ' > $(PROG)_instrument_functions.nm || : + @rm -f instrument_functions_global.devel + @rm -f instrument_functions_off.devel instrument_global: $(PROG) - nm $(PROG) | grep ' [T] ' > $(PROG)_instrument_functions.nm || : + @touch instrument_functions_global.devel + @rm -f instrument_functions_off.devel + +instrument_off: $(PROG) + @touch instrument_functions_off.devel + @rm -f instrument_functions_global.devel $(LIBNETDISSECT): $(LIBNETDISSECT_OBJ) @rm -f $@ @@ -410,10 +413,6 @@ getservent.o: $(srcdir)/missing/getservent.c $(CC) $(FULL_CFLAGS) -o $@ -c $(srcdir)/missing/getservent.c getopt_long.o: $(srcdir)/missing/getopt_long.c $(CC) $(FULL_CFLAGS) -o $@ -c $(srcdir)/missing/getopt_long.c -snprintf.o: $(srcdir)/missing/snprintf.c - $(CC) $(FULL_CFLAGS) -o $@ -c $(srcdir)/missing/snprintf.c -strdup.o: $(srcdir)/missing/strdup.c - $(CC) $(FULL_CFLAGS) -o $@ -c $(srcdir)/missing/strdup.c strlcat.o: $(srcdir)/missing/strlcat.c $(CC) $(FULL_CFLAGS) -o $@ -c $(srcdir)/missing/strlcat.c strlcpy.o: $(srcdir)/missing/strlcpy.c @@ -443,11 +442,12 @@ 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 \ - config.h gnuc.h os-proto.h stamp-h stamp-h.in $(PROG).1 \ +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 rm -rf autom4te.cache tests/DIFF tests/NEW @@ -464,19 +464,108 @@ 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: - @autoreconf -f && \ - name=$(PROG)-`cat VERSION` && \ - mkdir $$name && \ - tar cf - $(CSRC) $(HDR) $(LIBNETDISSECT_SRC) $(EXTRA_DIST) $(TEST_DIST) | (cd $$name; tar xf -) && \ - tar cf - $$name | gzip >$$name.tar.gz && \ - rm -rf $$name - -rc1 rc2 rc3 rc4 rc5: - @VER=`cat $(srcdir)/VERSION`; \ - sed -i "s/$$VER/$${VER}$@/" VERSION ; \ - make releasetar; \ - git checkout VERSION configure + @TAG=$(PROG)-`cat VERSION` && \ + 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 -C "$$DIR" archive --format=tar --prefix="$$TAG"/ "HEAD^{tree}" $(RELEASE_FILES) | \ + tar xf -) && \ + echo "No $$TAG tag. Archive build from HEAD."; \ + 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` && \ + INSTALL_DIR=/tmp/install_"$$TAG"_$$$$ && \ + DIR=`pwd` && \ + cd /tmp && \ + rm -rf "$$TAG" && \ + 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 && \ + cd .. && \ + rm -rf "$$TAG" && \ + rm -rf "$$INSTALL_DIR" && \ + tar xf "$$DIR"/"$$TAG".tar.gz && \ + cd "$$TAG" && \ + mkdir build && \ + cd build && \ + echo '[$@] $$ cmake -DENABLE_SMB=yes [...] ..' && \ + cmake -DENABLE_SMB=yes \ + -DCMAKE_INSTALL_PREFIX="$$INSTALL_DIR" \ + -DCMAKE_MESSAGE_LOG_LEVEL=NOTICE \ + -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 && \ + cd ../.. && \ + rm -rf "$$TAG" && \ + rm -rf "$$INSTALL_DIR" && \ + echo '[$@] Done.' + +whitespacecheck: + @# trailing space(s)? + @if git grep -I -n ' $$' $$(git ls-files|grep -v '^tests/'); then \ + echo 'Error: Trailing space(s).'; \ + 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 \ + echo 'Error: Trailing tabs(s).'; \ + exit 1; \ + fi + @# space(s) before tab(s)? + @if git grep -I -n '[ ][ ]' $$(git ls-files|grep -v '^tests/'); then \ + echo 'Error: space(s) before tab(s).'; \ + exit 1; \ + fi testlist: echo $(TEST_DIST)