aboutgitcodebugslistschat
diff options
context:
space:
mode:
authorDavid Gibson <david@gibson.dropbear.id.au>2022-06-14 15:12:22 +1000
committerStefano Brivio <sbrivio@redhat.com>2022-06-18 09:06:00 +0200
commit25f515831cef1faf6f2e73c8a6b58a0db803786f (patch)
treec3710d32f7795934e705f71af5b5cd9910ea7292
parent08007d0b25a8175bf6f663fd12b25e4e4eea4d17 (diff)
downloadpasst-25f515831cef1faf6f2e73c8a6b58a0db803786f.tar
passt-25f515831cef1faf6f2e73c8a6b58a0db803786f.tar.gz
passt-25f515831cef1faf6f2e73c8a6b58a0db803786f.tar.bz2
passt-25f515831cef1faf6f2e73c8a6b58a0db803786f.tar.lz
passt-25f515831cef1faf6f2e73c8a6b58a0db803786f.tar.xz
passt-25f515831cef1faf6f2e73c8a6b58a0db803786f.tar.zst
passt-25f515831cef1faf6f2e73c8a6b58a0db803786f.zip
Makefile: Use $(BIN) and $(MANPAGES) variable to simplify several targets
There are several places which explicitly list the various generated binaries, even though a $(BIN) variable already lists them. There are several more places that list all the manpage files, introduce a $(MANPAGES) variable to remove that repetition as well. Tweak the generation of pasta.1 as a link to passt.1 so it's not just made as a side effect of the pasta target. Signed-off-by: David Gibson <david@gibson.dropbear.id.au> [sbrivio: add passt.1 and qrap.1 to guest files for distro tests] Signed-off-by: Stefano Brivio <sbrivio@redhat.com>
-rw-r--r--Makefile26
-rw-r--r--test/distro/debian2
-rw-r--r--test/distro/fedora2
-rw-r--r--test/distro/opensuse2
-rw-r--r--test/distro/ubuntu2
5 files changed, 16 insertions, 18 deletions
diff --git a/Makefile b/Makefile
index e8ed7a9..dad6b53 100644
--- a/Makefile
+++ b/Makefile
@@ -37,6 +37,8 @@ PASST_SRCS = arch.c arp.c checksum.c conf.c dhcp.c dhcpv6.c icmp.c igmp.c \
QRAP_SRCS = qrap.c
SRCS = $(PASST_SRCS) $(QRAP_SRCS)
+MANPAGES = passt.1 pasta.1 qrap.1
+
PASST_HEADERS = arch.h arp.h checksum.h conf.h dhcp.h dhcpv6.h icmp.h \
ndp.h netlink.h packet.h passt.h pasta.h pcap.h siphash.h \
tap.h tcp.h tcp_splice.h udp.h util.h
@@ -83,13 +85,13 @@ endif
prefix ?= /usr/local
ifeq ($(TARGET_ARCH),X86_64)
-all: passt passt.avx2 pasta pasta.avx2 qrap
BIN := passt passt.avx2 pasta pasta.avx2 qrap
else
-all: passt pasta qrap
BIN := passt pasta qrap
endif
+all: $(BIN) $(MANPAGES)
+
static: CFLAGS += -static -DGLIBC_NO_STATIC_NSS
static: clean all
@@ -110,6 +112,8 @@ pasta.avx2: passt.avx2
pasta: passt
ln -s passt pasta
+
+pasta.1: passt.1
ln -s passt.1 pasta.1
qrap: $(QRAP_SRCS) passt.h
@@ -123,28 +127,22 @@ valgrind: all
.PHONY: clean
clean:
- -${RM} passt passt.avx2 *.o seccomp.h qrap pasta pasta.avx2 pasta.1 \
+ -${RM} $(BIN) *.o seccomp.h pasta.1 \
passt.tar passt.tar.gz *.deb *.rpm
-install: $(BIN)
+install: $(BIN) $(MANPAGES)
mkdir -p $(DESTDIR)$(prefix)/bin $(DESTDIR)$(prefix)/share/man/man1
cp -d $(BIN) $(DESTDIR)$(prefix)/bin
- cp -d passt.1 pasta.1 qrap.1 $(DESTDIR)$(prefix)/share/man/man1
+ cp -d $(MANPAGES) $(DESTDIR)$(prefix)/share/man/man1
uninstall:
- -${RM} $(DESTDIR)$(prefix)/bin/passt
- -${RM} $(DESTDIR)$(prefix)/bin/passt.avx2
- -${RM} $(DESTDIR)$(prefix)/bin/pasta
- -${RM} $(DESTDIR)$(prefix)/bin/pasta.avx2
- -${RM} $(DESTDIR)$(prefix)/bin/qrap
- -${RM} $(DESTDIR)$(prefix)/share/man/man1/passt.1
- -${RM} $(DESTDIR)$(prefix)/share/man/man1/pasta.1
- -${RM} $(DESTDIR)$(prefix)/share/man/man1/qrap.1
+ -${RM} $(BIN:%=$(DESTDIR)$(prefix)/bin/%)
+ -${RM} $(MANPAGES:%=$(DESTDIR)$(prefix)/share/man/man1/%)
pkgs: static
tar cf passt.tar -P --xform 's//\/usr\/bin\//' $(BIN)
tar rf passt.tar -P --xform 's//\/usr\/share\/man\/man1\//' \
- passt.1 pasta.1 qrap.1
+ $(MANPAGES)
gzip passt.tar
EMAIL="sbrivio@redhat.com" fakeroot alien --to-deb \
--description="User-mode networking for VMs and namespaces" \
diff --git a/test/distro/debian b/test/distro/debian
index f748dea..efbd057 100644
--- a/test/distro/debian
+++ b/test/distro/debian
@@ -39,7 +39,7 @@ endef
hostb ./passt -P __PIDFILE__ &
sleep 1
host echo
-hout GUEST_FILES ls -1 *.c *.h *.sh Makefile | tr '\n' ' '; echo
+hout GUEST_FILES ls -1 *.c *.h *.sh passt.1 qrap.1 Makefile | tr '\n' ' '; echo
test Debian GNU/Linux 8 (jessie), amd64
diff --git a/test/distro/fedora b/test/distro/fedora
index 7a5eaef..c82d973 100644
--- a/test/distro/fedora
+++ b/test/distro/fedora
@@ -60,7 +60,7 @@ hostb ./passt -P __PIDFILE__ &
sleep 1
host echo
hout DNS6 sed -n 's/^nameserver \([^:]*:\)\([^%]*\).*/\1\2/p' /etc/resolv.conf | head -1
-hout GUEST_FILES ls -1 *.c *.h *.sh Makefile | tr '\n' ' '; echo
+hout GUEST_FILES ls -1 *.c *.h *.sh passt.1 qrap.1 Makefile | tr '\n' ' '; echo
test Fedora 26, x86_64
diff --git a/test/distro/opensuse b/test/distro/opensuse
index 39f059a..2b49a5b 100644
--- a/test/distro/opensuse
+++ b/test/distro/opensuse
@@ -39,7 +39,7 @@ hostb ./passt -P __PIDFILE__ &
sleep 1
host echo
hout DNS6 sed -n 's/^nameserver \([^:]*:\)\([^%]*\).*/\1\2/p' /etc/resolv.conf | head -1
-hout GUEST_FILES ls -1 *.c *.h *.sh Makefile | tr '\n' ' '; echo
+hout GUEST_FILES ls -1 *.c *.h *.sh passt.1 qrap.1 Makefile | tr '\n' ' '; echo
test OpenSUSE Leap 15.1
diff --git a/test/distro/ubuntu b/test/distro/ubuntu
index c9a2b4d..448409a 100644
--- a/test/distro/ubuntu
+++ b/test/distro/ubuntu
@@ -38,7 +38,7 @@ endef
hostb ./passt -P __PIDFILE__ &
sleep 1
host echo
-hout GUEST_FILES ls -1 *.c *.h *.sh Makefile | tr '\n' ' '; echo
+hout GUEST_FILES ls -1 *.c *.h *.sh passt.1 qrap.1 Makefile | tr '\n' ' '; echo
test Ubuntu 14.04.5 LTS (Trusty Tahr), amd64