mtr/Makefile.am
2021-09-05 13:56:32 +00:00

175 lines
4.0 KiB
Makefile

EXTRA_DIST = \
BSDCOPYING \
SECURITY \
build-aux/mtr.bat \
img/mtr_icon.xpm
$(TEST_FILES)
sbin_PROGRAMS = mtr mtr-packet
TESTS = \
test/cmdparse.py \
test/param.py \
test/probe.py
TEST_FILES = \
test/cmdparse.py \
test/mtrpacket.py \
test/param.py \
test/probe.py \
test/lint.sh
EXTRA_DIST += $(TEST_FILES)
PATHFILES =
CLEANFILES = $(PATHFILES)
EXTRA_DIST += $(PATHFILES:=.in)
#
# We would use % pattern matching here, but that is a GNU make
# extension and doesn't work on FreeBSD.
#
mtr-packet.8: $(srcdir)/man/mtr-packet.8.in
$(AM_V_GEN) $(srcdir)/build-aux/mangen.sh "$(VERSION)" \
$(srcdir)/man/mtr-packet.8.in $@
mtr.8: $(srcdir)/man/mtr.8.in
$(AM_V_GEN) $(srcdir)/build-aux/mangen.sh "$(VERSION)" \
$(srcdir)/man/mtr.8.in $@
$(PATHFILES): Makefile
dist_man_MANS = mtr.8 mtr-packet.8
PATHFILES += man/mtr.8 man/mtr-packet.8
install-exec-hook:
`setcap cap_net_raw+ep $(DESTDIR)$(sbindir)/mtr-packet` \
|| chmod u+s $(DESTDIR)$(sbindir)/mtr-packet
mtr_SOURCES = ui/mtr.c ui/mtr.h \
ui/net.c ui/net.h \
ui/cmdpipe.c ui/cmdpipe.h \
ui/dns.c ui/dns.h \
ui/raw.c ui/raw.h \
ui/split.c ui/split.h \
ui/display.c ui/display.h \
ui/report.c ui/report.h \
ui/select.c ui/select.h \
ui/utils.c ui/utils.h \
packet/cmdparse.c packet/cmdparse.h \
packet/sockaddr.c packet/sockaddr.h \
ui/mtr-curses.h \
img/mtr_icon.xpm \
ui/mtr-gtk.h
if WITH_ERROR
mtr_SOURCES += \
portability/error.h \
portability/error.c
endif
if WITH_GETOPT
mtr_SOURCES += \
portability/getopt.h \
portability/getopt.c \
portability/getopt1.c
endif
if WITH_IPINFO
mtr_SOURCES += ui/asn.c ui/asn.h
endif
if WITH_CURSES
mtr_SOURCES += ui/curses.c
endif
if WITH_GTK
mtr_SOURCES += ui/gtk.c
endif
if WITH_LIBASAN
ASAN_CFLAGS = -fno-omit-frame-pointer
ASAN_CFLAGS += -fsanitize=undefined
ASAN_CFLAGS += -fsanitize=address
endif
mtr_INCLUDES = $(GLIB_CFLAGS) -I$(top_builddir) -I$(top_srcdir)
mtr_CFLAGS = $(GTK_CFLAGS) $(NCURSES_CFLAGS) $(ASAN_CFLAGS) $(JANSSON_CFLAGS)
mtr_LDADD = $(GTK_LIBS) $(NCURSES_LIBS) $(RESOLV_LIBS) $(JANSSON_LIBS)
mtr_packet_SOURCES = \
portability/queue.h \
packet/packet.c \
packet/cmdparse.c packet/cmdparse.h \
packet/command.c packet/command.h \
packet/platform.h \
packet/probe.c packet/probe.h \
packet/protocols.h \
packet/timeval.c packet/timeval.h \
packet/wait.h \
packet/sockaddr.c packet/sockaddr.h
mtr_packet_LDADD = $(CAP_LIBS)
if WITH_ERROR
mtr_packet_SOURCES += \
portability/error.h \
portability/error.c
endif
if CYGWIN
mtr_packet_SOURCES += \
packet/probe_cygwin.c packet/probe_cygwin.h \
packet/wait_cygwin.c
mtr_packet_LDADD += -lcygwin -liphlpapi -lws2_32
dist_windows_aux = \
$(srcdir)/build-aux/mtr.bat \
$(srcdir)/AUTHORS \
$(srcdir)/BSDCOPYING \
$(srcdir)/COPYING \
$(srcdir)/README \
$(srcdir)/NEWS
distwindir = $(distdir)-win-$(host_cpu)
# Bundle necessary files for a Windows binary distribution
distdir-win: $(dist_windows_aux) mtr.exe mtr-packet.exe
rm -fr $(distwindir)
mkdir -p $(distwindir) $(distwindir)/bin $(distwindir)/terminfo
cp $(dist_windows_aux) -t $(distwindir)
cp mtr.exe mtr-packet.exe -t $(distwindir)/bin
ldd mtr.exe | grep -v cygdrive | awk '{ print $$3 }' | xargs cp -t $(distwindir)/bin
cp `find /usr/share/terminfo -name cygwin | xargs dirname` -r $(distwindir)/terminfo
# Zip up a Windows binary distribution
dist-windows-bin: distdir-win
rm -f $(distwindir).zip
zip -rq $(distwindir).zip $(distwindir)
rm -fr $(distwindir)
else # if CYGWIN
check_PROGRAMS = mtr-packet-listen
mtr_packet_SOURCES += \
packet/construct_unix.c packet/construct_unix.h \
packet/deconstruct_unix.c packet/deconstruct_unix.h \
packet/probe_unix.c packet/probe_unix.h \
packet/wait_unix.c
mtr_packet_listen_SOURCES = \
test/packet_listen.c
endif # if CYGWIN
if BUILD_BASH_COMPLETION
dist_bashcompletion_DATA = bash-completion/mtr
endif
dist-hook:
$(AM_V_GEN)echo $(VERSION) > $(distdir)/.tarball-version