|
Packit Service |
6f2e62 |
#
|
|
Packit Service |
6f2e62 |
# Configuration
|
|
Packit Service |
6f2e62 |
#
|
|
Packit Service |
6f2e62 |
|
|
Packit Service |
6f2e62 |
# Path to parent kernel include files directory
|
|
Packit Service |
6f2e62 |
LIBC_INCLUDE=/usr/include
|
|
Packit Service |
6f2e62 |
# Libraries
|
|
Packit Service |
6f2e62 |
ADDLIB=
|
|
Packit Service |
6f2e62 |
# Linker flags
|
|
Packit Service |
6f2e62 |
LDFLAG_STATIC=-Wl,-Bstatic
|
|
Packit Service |
6f2e62 |
LDFLAG_DYNAMIC=-Wl,-Bdynamic
|
|
Packit Service |
6f2e62 |
LDFLAG_CAP=-lcap
|
|
Packit Service |
6f2e62 |
LDFLAG_GCRYPT=-lgcrypt -lgpg-error
|
|
Packit Service |
6f2e62 |
LDFLAG_NETTLE=-lnettle
|
|
Packit Service |
6f2e62 |
LDFLAG_CRYPTO=-lcrypto
|
|
Packit Service |
6f2e62 |
LDFLAG_IDN=-lidn2
|
|
Packit Service |
6f2e62 |
LDFLAG_RESOLV=-lresolv
|
|
Packit Service |
6f2e62 |
LDFLAG_RT=-lrt
|
|
Packit Service |
6f2e62 |
LDFLAG_M=-lm
|
|
Packit Service |
6f2e62 |
|
|
Packit Service |
6f2e62 |
#
|
|
Packit Service |
6f2e62 |
# Options
|
|
Packit Service |
6f2e62 |
#
|
|
Packit Service |
6f2e62 |
|
|
Packit Service |
6f2e62 |
# Capability support (with libcap) [yes|static|no]
|
|
Packit Service |
6f2e62 |
USE_CAP=yes
|
|
Packit Service |
6f2e62 |
# sysfs support
|
|
Packit Service |
6f2e62 |
USE_SYSFS=yes
|
|
Packit Service |
6f2e62 |
# IDN support [yes|no|static]
|
|
Packit Service |
6f2e62 |
USE_IDN=yes
|
|
Packit Service |
6f2e62 |
|
|
Packit Service |
6f2e62 |
# Do not use getifaddrs [no|yes|static]
|
|
Packit Service |
6f2e62 |
WITHOUT_IFADDRS=no
|
|
Packit Service |
6f2e62 |
# arping default device (e.g. eth0) []
|
|
Packit Service |
6f2e62 |
ARPING_DEFAULT_DEVICE=
|
|
Packit Service |
6f2e62 |
|
|
Packit Service |
6f2e62 |
# nettle library for ipv6 ping [yes|no|static]
|
|
Packit Service |
914d8f |
USE_NETTLE=yes
|
|
Packit Service |
6f2e62 |
# libgcrypt library for ipv6 ping [no|yes|static]
|
|
Packit Service |
6f2e62 |
USE_GCRYPT=no
|
|
Packit Service |
6f2e62 |
# Crypto library for ping6 [shared|static|no]
|
|
Packit Service |
6f2e62 |
USE_CRYPTO=shared
|
|
Packit Service |
6f2e62 |
# Resolv library for ping6 [yes|static]
|
|
Packit Service |
6f2e62 |
USE_RESOLV=yes
|
|
Packit Service |
6f2e62 |
# ping6 source routing (deprecated by RFC5095) [no|yes|RFC3542]
|
|
Packit Service |
6f2e62 |
ENABLE_PING6_RTHDR=no
|
|
Packit Service |
6f2e62 |
|
|
Packit Service |
6f2e62 |
# rdisc server (-r option) support [no|yes]
|
|
Packit Service |
6f2e62 |
ENABLE_RDISC_SERVER=no
|
|
Packit Service |
6f2e62 |
|
|
Packit Service |
6f2e62 |
# -------------------------------------
|
|
Packit Service |
6f2e62 |
# What a pity, all new gccs are buggy and -Werror does not work. Sigh.
|
|
Packit Service |
6f2e62 |
# CFLAGS+=-fno-strict-aliasing -Wstrict-prototypes -Wall -Werror -g
|
|
Packit Service |
6f2e62 |
CFLAGS?=-O3 -g
|
|
Packit Service |
914d8f |
CFLAGS+=-fno-strict-aliasing -Wstrict-prototypes -Wall
|
|
Packit Service |
6f2e62 |
CPPFLAGS+=-D_GNU_SOURCE
|
|
Packit Service |
6f2e62 |
LDLIB=
|
|
Packit Service |
6f2e62 |
|
|
Packit Service |
6f2e62 |
FUNC_LIB = $(if $(filter static,$(1)),$(LDFLAG_STATIC) $(2) $(LDFLAG_DYNAMIC),$(2))
|
|
Packit Service |
6f2e62 |
|
|
Packit Service |
6f2e62 |
# USE_GCRYPT: DEF_GCRYPT, LIB_GCRYPT
|
|
Packit Service |
6f2e62 |
# USE_CRYPTO: LIB_CRYPTO
|
|
Packit Service |
6f2e62 |
ifneq ($(USE_GCRYPT),no)
|
|
Packit Service |
6f2e62 |
LIB_CRYPTO = $(call FUNC_LIB,$(USE_GCRYPT),$(LDFLAG_GCRYPT))
|
|
Packit Service |
6f2e62 |
DEF_CRYPTO = -DUSE_GCRYPT
|
|
Packit Service |
6f2e62 |
else
|
|
Packit Service |
6f2e62 |
ifneq ($(USE_NETTLE),no)
|
|
Packit Service |
6f2e62 |
LIB_CRYPTO = $(call FUNC_LIB,$(USE_NETTLE),$(LDFLAG_NETTLE))
|
|
Packit Service |
6f2e62 |
DEF_CRYPTO = -DUSE_NETTLE
|
|
Packit Service |
6f2e62 |
else
|
|
Packit Service |
6f2e62 |
ifneq ($(USE_CRYPTO),no)
|
|
Packit Service |
6f2e62 |
LIB_CRYPTO = $(call FUNC_LIB,$(USE_CRYPTO),$(LDFLAG_CRYPTO))
|
|
Packit Service |
6f2e62 |
DEF_CRYPTO = -DUSE_OPENSSL
|
|
Packit Service |
6f2e62 |
endif
|
|
Packit Service |
6f2e62 |
endif
|
|
Packit Service |
6f2e62 |
endif
|
|
Packit Service |
6f2e62 |
|
|
Packit Service |
6f2e62 |
# USE_RESOLV: LIB_RESOLV
|
|
Packit Service |
6f2e62 |
LIB_RESOLV = $(call FUNC_LIB,$(USE_RESOLV),$(LDFLAG_RESOLV))
|
|
Packit Service |
6f2e62 |
|
|
Packit Service |
6f2e62 |
# USE_CAP: DEF_CAP, LIB_CAP
|
|
Packit Service |
6f2e62 |
ifneq ($(USE_CAP),no)
|
|
Packit Service |
6f2e62 |
DEF_CAP = -DCAPABILITIES
|
|
Packit Service |
6f2e62 |
LIB_CAP = $(call FUNC_LIB,$(USE_CAP),$(LDFLAG_CAP))
|
|
Packit Service |
6f2e62 |
endif
|
|
Packit Service |
6f2e62 |
|
|
Packit Service |
6f2e62 |
# USE_SYSFS: DEF_SYSFS, LIB_SYSFS
|
|
Packit Service |
6f2e62 |
ifneq ($(USE_SYSFS),no)
|
|
Packit Service |
6f2e62 |
DEF_SYSFS = -DUSE_SYSFS
|
|
Packit Service |
6f2e62 |
endif
|
|
Packit Service |
6f2e62 |
|
|
Packit Service |
6f2e62 |
# USE_IDN: DEF_IDN, LIB_IDN
|
|
Packit Service |
6f2e62 |
ifneq ($(USE_IDN),no)
|
|
Packit Service |
6f2e62 |
DEF_IDN = -DUSE_IDN
|
|
Packit Service |
6f2e62 |
LIB_IDN = $(call FUNC_LIB,$(USE_IDN),$(LDFLAG_IDN))
|
|
Packit Service |
6f2e62 |
endif
|
|
Packit Service |
6f2e62 |
|
|
Packit Service |
6f2e62 |
# WITHOUT_IFADDRS: DEF_WITHOUT_IFADDRS
|
|
Packit Service |
6f2e62 |
ifneq ($(WITHOUT_IFADDRS),no)
|
|
Packit Service |
6f2e62 |
DEF_WITHOUT_IFADDRS = -DWITHOUT_IFADDRS
|
|
Packit Service |
6f2e62 |
endif
|
|
Packit Service |
6f2e62 |
|
|
Packit Service |
6f2e62 |
# ENABLE_RDISC_SERVER: DEF_ENABLE_RDISC_SERVER
|
|
Packit Service |
6f2e62 |
ifneq ($(ENABLE_RDISC_SERVER),no)
|
|
Packit Service |
6f2e62 |
DEF_ENABLE_RDISC_SERVER = -DRDISC_SERVER
|
|
Packit Service |
6f2e62 |
endif
|
|
Packit Service |
6f2e62 |
|
|
Packit Service |
6f2e62 |
# ENABLE_PING6_RTHDR: DEF_ENABLE_PING6_RTHDR
|
|
Packit Service |
6f2e62 |
ifneq ($(ENABLE_PING6_RTHDR),no)
|
|
Packit Service |
6f2e62 |
DEF_ENABLE_PING6_RTHDR = -DPING6_ENABLE_RTHDR
|
|
Packit Service |
6f2e62 |
ifeq ($(ENABLE_PING6_RTHDR),RFC3542)
|
|
Packit Service |
6f2e62 |
DEF_ENABLE_PING6_RTHDR += -DPINR6_ENABLE_RTHDR_RFC3542
|
|
Packit Service |
6f2e62 |
endif
|
|
Packit Service |
6f2e62 |
endif
|
|
Packit Service |
6f2e62 |
|
|
Packit Service |
6f2e62 |
# -------------------------------------
|
|
Packit Service |
6f2e62 |
TARGETS=ping tracepath traceroute6 clockdiff rdisc arping tftpd rarpd
|
|
Packit Service |
6f2e62 |
|
|
Packit Service |
6f2e62 |
LDLIBS=$(LDLIB) $(ADDLIB)
|
|
Packit Service |
6f2e62 |
|
|
Packit Service |
6f2e62 |
TODAY=$(shell date +%Y-%m-%d)
|
|
Packit Service |
6f2e62 |
DATE=$(shell date -d $(TODAY) +%Y%m%d)
|
|
Packit Service |
6f2e62 |
TAG:=$(shell date -d $(TODAY) +s%Y%m%d)
|
|
Packit Service |
6f2e62 |
|
|
Packit Service |
6f2e62 |
|
|
Packit Service |
6f2e62 |
# -------------------------------------
|
|
Packit Service |
6f2e62 |
.PHONY: all ninfod clean distclean man html snapshot
|
|
Packit Service |
6f2e62 |
|
|
Packit Service |
6f2e62 |
all: $(TARGETS)
|
|
Packit Service |
6f2e62 |
|
|
Packit Service |
6f2e62 |
%.s: %.c
|
|
Packit Service |
6f2e62 |
$(COMPILE.c) $< $(DEF_$(patsubst %.o,%,$@)) -S -o $@
|
|
Packit Service |
6f2e62 |
%.o: %.c
|
|
Packit Service |
6f2e62 |
$(COMPILE.c) $< $(DEF_$(patsubst %.o,%,$@)) -o $@
|
|
Packit Service |
6f2e62 |
LINK.o += $(CFLAGS)
|
|
Packit Service |
6f2e62 |
$(TARGETS): %: %.o
|
|
Packit Service |
6f2e62 |
$(LINK.o) $^ $(LIB_$@) $(LDLIBS) -o $@
|
|
Packit Service |
6f2e62 |
|
|
Packit Service |
6f2e62 |
# -------------------------------------
|
|
Packit Service |
6f2e62 |
# arping
|
|
Packit Service |
6f2e62 |
DEF_arping = $(DEF_SYSFS) $(DEF_CAP) $(DEF_IDN) $(DEF_WITHOUT_IFADDRS)
|
|
Packit Service |
6f2e62 |
LIB_arping = $(LIB_CAP) $(LIB_IDN) $(LDFLAG_RT)
|
|
Packit Service |
6f2e62 |
|
|
Packit Service |
6f2e62 |
ifneq ($(ARPING_DEFAULT_DEVICE),)
|
|
Packit Service |
6f2e62 |
DEF_arping += -DDEFAULT_DEVICE=\"$(ARPING_DEFAULT_DEVICE)\"
|
|
Packit Service |
6f2e62 |
endif
|
|
Packit Service |
6f2e62 |
|
|
Packit Service |
6f2e62 |
# clockdiff
|
|
Packit Service |
6f2e62 |
DEF_clockdiff = $(DEF_CAP)
|
|
Packit Service |
6f2e62 |
LIB_clockdiff = $(LIB_CAP)
|
|
Packit Service |
6f2e62 |
|
|
Packit Service |
6f2e62 |
# ping / ping6
|
|
Packit Service |
6f2e62 |
DEF_ping = $(DEF_CAP) $(DEF_IDN) $(DEF_CRYPTO) $(DEF_WITHOUT_IFADDRS)
|
|
Packit Service |
6f2e62 |
DEF_ping_common = $(DEF_ping)
|
|
Packit Service |
6f2e62 |
DEF_ping6_common = $(DEF_ping)
|
|
Packit Service |
6f2e62 |
LIB_ping = $(LIB_CAP) $(LIB_IDN) $(LIB_CRYPTO) $(LIB_RESOLV) $(LDFLAG_M)
|
|
Packit Service |
6f2e62 |
|
|
Packit Service |
6f2e62 |
ping: ping_common.o ping6_common.o
|
|
Packit Service |
6f2e62 |
ping.o ping_common.o ping6_common.o: ping.h in6_flowlabel.h
|
|
Packit Service |
6f2e62 |
ping6.o ping6_common.o: ping.h in6_flowlabel.h
|
|
Packit Service |
6f2e62 |
|
|
Packit Service |
6f2e62 |
# rarpd
|
|
Packit Service |
6f2e62 |
DEF_rarpd =
|
|
Packit Service |
6f2e62 |
LIB_rarpd =
|
|
Packit Service |
6f2e62 |
|
|
Packit Service |
6f2e62 |
# rdisc
|
|
Packit Service |
6f2e62 |
DEF_rdisc = $(DEF_ENABLE_RDISC_SERVER)
|
|
Packit Service |
6f2e62 |
LIB_rdisc =
|
|
Packit Service |
6f2e62 |
|
|
Packit Service |
6f2e62 |
# tracepath
|
|
Packit Service |
6f2e62 |
DEF_tracepath = $(DEF_IDN)
|
|
Packit Service |
6f2e62 |
LIB_tracepath = $(LIB_IDN)
|
|
Packit Service |
6f2e62 |
|
|
Packit Service |
6f2e62 |
# traceroute6
|
|
Packit Service |
6f2e62 |
DEF_traceroute6 = $(DEF_CAP) $(DEF_IDN)
|
|
Packit Service |
6f2e62 |
LIB_traceroute6 = $(LIB_CAP) $(LIB_IDN)
|
|
Packit Service |
6f2e62 |
|
|
Packit Service |
6f2e62 |
# tftpd
|
|
Packit Service |
6f2e62 |
DEF_tftpd =
|
|
Packit Service |
6f2e62 |
DEF_tftpsubs =
|
|
Packit Service |
6f2e62 |
LIB_tftpd =
|
|
Packit Service |
6f2e62 |
|
|
Packit Service |
6f2e62 |
tftpd: tftpsubs.o
|
|
Packit Service |
6f2e62 |
tftpd.o tftpsubs.o: tftp.h
|
|
Packit Service |
6f2e62 |
|
|
Packit Service |
6f2e62 |
# -------------------------------------
|
|
Packit Service |
6f2e62 |
# ninfod
|
|
Packit Service |
6f2e62 |
ninfod:
|
|
Packit Service |
6f2e62 |
@set -e; \
|
|
Packit Service |
6f2e62 |
if [ ! -f ninfod/Makefile ]; then \
|
|
Packit Service |
6f2e62 |
cd ninfod; \
|
|
Packit Service |
6f2e62 |
./configure; \
|
|
Packit Service |
6f2e62 |
cd ..; \
|
|
Packit Service |
6f2e62 |
fi; \
|
|
Packit Service |
6f2e62 |
$(MAKE) -C ninfod
|
|
Packit Service |
6f2e62 |
|
|
Packit Service |
6f2e62 |
# -------------------------------------
|
|
Packit Service |
6f2e62 |
man:
|
|
Packit Service |
6f2e62 |
$(MAKE) -C doc man
|
|
Packit Service |
6f2e62 |
|
|
Packit Service |
6f2e62 |
html:
|
|
Packit Service |
6f2e62 |
$(MAKE) -C doc html
|
|
Packit Service |
6f2e62 |
|
|
Packit Service |
6f2e62 |
clean:
|
|
Packit Service |
6f2e62 |
@rm -f *.o $(TARGETS)
|
|
Packit Service |
6f2e62 |
@$(MAKE) -C Modules clean
|
|
Packit Service |
6f2e62 |
@$(MAKE) -C doc clean
|
|
Packit Service |
6f2e62 |
@set -e; \
|
|
Packit Service |
6f2e62 |
if [ -f ninfod/Makefile ]; then \
|
|
Packit Service |
6f2e62 |
$(MAKE) -C ninfod clean; \
|
|
Packit Service |
6f2e62 |
fi
|
|
Packit Service |
6f2e62 |
|
|
Packit Service |
6f2e62 |
distclean: clean
|
|
Packit Service |
6f2e62 |
@set -e; \
|
|
Packit Service |
6f2e62 |
if [ -f ninfod/Makefile ]; then \
|
|
Packit Service |
6f2e62 |
$(MAKE) -C ninfod distclean; \
|
|
Packit Service |
6f2e62 |
fi
|
|
Packit Service |
6f2e62 |
|
|
Packit Service |
6f2e62 |
# -------------------------------------
|
|
Packit Service |
6f2e62 |
RPMBUILD=rpmbuild
|
|
Packit Service |
6f2e62 |
RPMTMP=.rpmtmp
|
|
Packit Service |
6f2e62 |
snapshot:
|
|
Packit Service |
6f2e62 |
@echo "#define SNAPSHOT \"$(TAG)\"" > SNAPSHOT.h
|
|
Packit Service |
6f2e62 |
@$(MAKE) man
|
|
Packit Service |
6f2e62 |
@git commit -a -m "iputils-$(TAG)"
|
|
Packit Service |
6f2e62 |
@git tag -s -m "iputils-$(TAG)" $(TAG)
|
|
Packit Service |
6f2e62 |
@git archive --format=tar --prefix=iputils-$(TAG)/ $(TAG) | bzip2 -9 > ../iputils-$(TAG).tar.bz2
|
|
Packit Service |
6f2e62 |
|
|
Packit Service |
6f2e62 |
rpm:
|
|
Packit Service |
6f2e62 |
@git archive --format=tar --prefix=iputils/ HEAD | bzip2 -9 > $(RPMTMP)/iputils.tar.bz2
|
|
Packit Service |
6f2e62 |
@$(RPMBUILD) -ta --define 'current yes' $(RPMTMP)/iputils.tar.bz2
|
|
Packit Service |
6f2e62 |
@rm -f $(RPMTMP)/iputils.tar.bz2
|
|
Packit Service |
6f2e62 |
|