1313379eb6b9da55f7371adef39a92153a0707d4aLorenzo Colitti#
2313379eb6b9da55f7371adef39a92153a0707d4aLorenzo Colitti# Configuration
3313379eb6b9da55f7371adef39a92153a0707d4aLorenzo Colitti#
4313379eb6b9da55f7371adef39a92153a0707d4aLorenzo Colitti
5313379eb6b9da55f7371adef39a92153a0707d4aLorenzo Colitti# CC
6313379eb6b9da55f7371adef39a92153a0707d4aLorenzo ColittiCC=gcc
7313379eb6b9da55f7371adef39a92153a0707d4aLorenzo Colitti# Path to parent kernel include files directory
8313379eb6b9da55f7371adef39a92153a0707d4aLorenzo ColittiLIBC_INCLUDE=/usr/include
9313379eb6b9da55f7371adef39a92153a0707d4aLorenzo Colitti# Libraries
10313379eb6b9da55f7371adef39a92153a0707d4aLorenzo ColittiADDLIB=
11313379eb6b9da55f7371adef39a92153a0707d4aLorenzo Colitti# Linker flags
12313379eb6b9da55f7371adef39a92153a0707d4aLorenzo ColittiLDFLAG_STATIC=-Wl,-Bstatic
13313379eb6b9da55f7371adef39a92153a0707d4aLorenzo ColittiLDFLAG_DYNAMIC=-Wl,-Bdynamic
14313379eb6b9da55f7371adef39a92153a0707d4aLorenzo ColittiLDFLAG_CAP=-lcap
15313379eb6b9da55f7371adef39a92153a0707d4aLorenzo ColittiLDFLAG_GNUTLS=-lgnutls-openssl
16313379eb6b9da55f7371adef39a92153a0707d4aLorenzo ColittiLDFLAG_CRYPTO=-lcrypto
17313379eb6b9da55f7371adef39a92153a0707d4aLorenzo ColittiLDFLAG_IDN=-lidn
18313379eb6b9da55f7371adef39a92153a0707d4aLorenzo ColittiLDFLAG_RESOLV=-lresolv
19313379eb6b9da55f7371adef39a92153a0707d4aLorenzo ColittiLDFLAG_SYSFS=-lsysfs
20313379eb6b9da55f7371adef39a92153a0707d4aLorenzo Colitti
21313379eb6b9da55f7371adef39a92153a0707d4aLorenzo Colitti#
22313379eb6b9da55f7371adef39a92153a0707d4aLorenzo Colitti# Options
23313379eb6b9da55f7371adef39a92153a0707d4aLorenzo Colitti#
24313379eb6b9da55f7371adef39a92153a0707d4aLorenzo Colitti
25313379eb6b9da55f7371adef39a92153a0707d4aLorenzo Colitti# Capability support (with libcap) [yes|static|no]
26313379eb6b9da55f7371adef39a92153a0707d4aLorenzo ColittiUSE_CAP=yes
27313379eb6b9da55f7371adef39a92153a0707d4aLorenzo Colitti# sysfs support (with libsysfs - deprecated) [no|yes|static]
28313379eb6b9da55f7371adef39a92153a0707d4aLorenzo ColittiUSE_SYSFS=no
29313379eb6b9da55f7371adef39a92153a0707d4aLorenzo Colitti# IDN support (experimental) [no|yes|static]
30313379eb6b9da55f7371adef39a92153a0707d4aLorenzo ColittiUSE_IDN=no
31313379eb6b9da55f7371adef39a92153a0707d4aLorenzo Colitti
32313379eb6b9da55f7371adef39a92153a0707d4aLorenzo Colitti# Do not use getifaddrs [no|yes|static]
33313379eb6b9da55f7371adef39a92153a0707d4aLorenzo ColittiWITHOUT_IFADDRS=no
34313379eb6b9da55f7371adef39a92153a0707d4aLorenzo Colitti# arping default device (e.g. eth0) []
35313379eb6b9da55f7371adef39a92153a0707d4aLorenzo ColittiARPING_DEFAULT_DEVICE=
36313379eb6b9da55f7371adef39a92153a0707d4aLorenzo Colitti
37313379eb6b9da55f7371adef39a92153a0707d4aLorenzo Colitti# GNU TLS library for ping6 [yes|no|static]
38313379eb6b9da55f7371adef39a92153a0707d4aLorenzo ColittiUSE_GNUTLS=yes
39313379eb6b9da55f7371adef39a92153a0707d4aLorenzo Colitti# Crypto library for ping6 [shared|static]
40313379eb6b9da55f7371adef39a92153a0707d4aLorenzo ColittiUSE_CRYPTO=shared
41313379eb6b9da55f7371adef39a92153a0707d4aLorenzo Colitti# Resolv library for ping6 [yes|static]
42313379eb6b9da55f7371adef39a92153a0707d4aLorenzo ColittiUSE_RESOLV=yes
43313379eb6b9da55f7371adef39a92153a0707d4aLorenzo Colitti# ping6 source routing (deprecated by RFC5095) [no|yes|RFC3542]
44313379eb6b9da55f7371adef39a92153a0707d4aLorenzo ColittiENABLE_PING6_RTHDR=no
45313379eb6b9da55f7371adef39a92153a0707d4aLorenzo Colitti
46313379eb6b9da55f7371adef39a92153a0707d4aLorenzo Colitti# rdisc server (-r option) support [no|yes]
47313379eb6b9da55f7371adef39a92153a0707d4aLorenzo ColittiENABLE_RDISC_SERVER=no
48313379eb6b9da55f7371adef39a92153a0707d4aLorenzo Colitti
49313379eb6b9da55f7371adef39a92153a0707d4aLorenzo Colitti# -------------------------------------
50313379eb6b9da55f7371adef39a92153a0707d4aLorenzo Colitti# What a pity, all new gccs are buggy and -Werror does not work. Sigh.
51313379eb6b9da55f7371adef39a92153a0707d4aLorenzo Colitti# CCOPT=-fno-strict-aliasing -Wstrict-prototypes -Wall -Werror -g
52313379eb6b9da55f7371adef39a92153a0707d4aLorenzo ColittiCCOPT=-fno-strict-aliasing -Wstrict-prototypes -Wall -g
53313379eb6b9da55f7371adef39a92153a0707d4aLorenzo ColittiCCOPTOPT=-O3
54313379eb6b9da55f7371adef39a92153a0707d4aLorenzo ColittiGLIBCFIX=-D_GNU_SOURCE
55313379eb6b9da55f7371adef39a92153a0707d4aLorenzo ColittiDEFINES=
56313379eb6b9da55f7371adef39a92153a0707d4aLorenzo ColittiLDLIB=
57313379eb6b9da55f7371adef39a92153a0707d4aLorenzo Colitti
58313379eb6b9da55f7371adef39a92153a0707d4aLorenzo ColittiFUNC_LIB = $(if $(filter static,$(1)),$(LDFLAG_STATIC) $(2) $(LDFLAG_DYNAMIC),$(2))
59313379eb6b9da55f7371adef39a92153a0707d4aLorenzo Colitti
60313379eb6b9da55f7371adef39a92153a0707d4aLorenzo Colitti# USE_GNUTLS: DEF_GNUTLS, LIB_GNUTLS
61313379eb6b9da55f7371adef39a92153a0707d4aLorenzo Colitti# USE_CRYPTO: LIB_CRYPTO
62313379eb6b9da55f7371adef39a92153a0707d4aLorenzo Colittiifneq ($(USE_GNUTLS),no)
63313379eb6b9da55f7371adef39a92153a0707d4aLorenzo Colitti	LIB_CRYPTO = $(call FUNC_LIB,$(USE_GNUTLS),$(LDFLAG_GNUTLS))
64313379eb6b9da55f7371adef39a92153a0707d4aLorenzo Colitti	DEF_CRYPTO = -DUSE_GNUTLS
65313379eb6b9da55f7371adef39a92153a0707d4aLorenzo Colittielse
66313379eb6b9da55f7371adef39a92153a0707d4aLorenzo Colitti	LIB_CRYPTO = $(call FUNC_LIB,$(USE_CRYPTO),$(LDFLAG_CRYPTO))
67313379eb6b9da55f7371adef39a92153a0707d4aLorenzo Colittiendif
68313379eb6b9da55f7371adef39a92153a0707d4aLorenzo Colitti
69313379eb6b9da55f7371adef39a92153a0707d4aLorenzo Colitti# USE_RESOLV: LIB_RESOLV
70313379eb6b9da55f7371adef39a92153a0707d4aLorenzo ColittiLIB_RESOLV = $(call FUNC_LIB,$(USE_RESOLV),$(LDFLAG_RESOLV))
71313379eb6b9da55f7371adef39a92153a0707d4aLorenzo Colitti
72313379eb6b9da55f7371adef39a92153a0707d4aLorenzo Colitti# USE_CAP:  DEF_CAP, LIB_CAP
73313379eb6b9da55f7371adef39a92153a0707d4aLorenzo Colittiifneq ($(USE_CAP),no)
74313379eb6b9da55f7371adef39a92153a0707d4aLorenzo Colitti	DEF_CAP = -DCAPABILITIES
75313379eb6b9da55f7371adef39a92153a0707d4aLorenzo Colitti	LIB_CAP = $(call FUNC_LIB,$(USE_CAP),$(LDFLAG_CAP))
76313379eb6b9da55f7371adef39a92153a0707d4aLorenzo Colittiendif
77313379eb6b9da55f7371adef39a92153a0707d4aLorenzo Colitti
78313379eb6b9da55f7371adef39a92153a0707d4aLorenzo Colitti# USE_SYSFS: DEF_SYSFS, LIB_SYSFS
79313379eb6b9da55f7371adef39a92153a0707d4aLorenzo Colittiifneq ($(USE_SYSFS),no)
80313379eb6b9da55f7371adef39a92153a0707d4aLorenzo Colitti	DEF_SYSFS = -DUSE_SYSFS
81313379eb6b9da55f7371adef39a92153a0707d4aLorenzo Colitti	LIB_SYSFS = $(call FUNC_LIB,$(USE_SYSFS),$(LDFLAG_SYSFS))
82313379eb6b9da55f7371adef39a92153a0707d4aLorenzo Colittiendif
83313379eb6b9da55f7371adef39a92153a0707d4aLorenzo Colitti
84313379eb6b9da55f7371adef39a92153a0707d4aLorenzo Colitti# USE_IDN: DEF_IDN, LIB_IDN
85313379eb6b9da55f7371adef39a92153a0707d4aLorenzo Colittiifneq ($(USE_IDN),no)
86313379eb6b9da55f7371adef39a92153a0707d4aLorenzo Colitti	DEF_IDN = -DUSE_IDN
87313379eb6b9da55f7371adef39a92153a0707d4aLorenzo Colitti	LIB_IDN = $(call FUNC_LIB,$(USE_IDN),$(LDFLAG_IDN))
88313379eb6b9da55f7371adef39a92153a0707d4aLorenzo Colittiendif
89313379eb6b9da55f7371adef39a92153a0707d4aLorenzo Colitti
90313379eb6b9da55f7371adef39a92153a0707d4aLorenzo Colitti# WITHOUT_IFADDRS: DEF_WITHOUT_IFADDRS
91313379eb6b9da55f7371adef39a92153a0707d4aLorenzo Colittiifneq ($(WITHOUT_IFADDRS),no)
92313379eb6b9da55f7371adef39a92153a0707d4aLorenzo Colitti	DEF_WITHOUT_IFADDRS = -DWITHOUT_IFADDRS
93313379eb6b9da55f7371adef39a92153a0707d4aLorenzo Colittiendif
94313379eb6b9da55f7371adef39a92153a0707d4aLorenzo Colitti
95313379eb6b9da55f7371adef39a92153a0707d4aLorenzo Colitti# ENABLE_RDISC_SERVER: DEF_ENABLE_RDISC_SERVER
96313379eb6b9da55f7371adef39a92153a0707d4aLorenzo Colittiifneq ($(ENABLE_RDISC_SERVER),no)
97313379eb6b9da55f7371adef39a92153a0707d4aLorenzo Colitti	DEF_ENABLE_RDISC_SERVER = -DRDISC_SERVER
98313379eb6b9da55f7371adef39a92153a0707d4aLorenzo Colittiendif
99313379eb6b9da55f7371adef39a92153a0707d4aLorenzo Colitti
100313379eb6b9da55f7371adef39a92153a0707d4aLorenzo Colitti# ENABLE_PING6_RTHDR: DEF_ENABLE_PING6_RTHDR
101313379eb6b9da55f7371adef39a92153a0707d4aLorenzo Colittiifneq ($(ENABLE_PING6_RTHDR),no)
102313379eb6b9da55f7371adef39a92153a0707d4aLorenzo Colitti	DEF_ENABLE_PING6_RTHDR = -DPING6_ENABLE_RTHDR
103313379eb6b9da55f7371adef39a92153a0707d4aLorenzo Colittiifeq ($(ENABLE_PING6_RTHDR),RFC3542)
104313379eb6b9da55f7371adef39a92153a0707d4aLorenzo Colitti	DEF_ENABLE_PING6_RTHDR += -DPINR6_ENABLE_RTHDR_RFC3542
105313379eb6b9da55f7371adef39a92153a0707d4aLorenzo Colittiendif
106313379eb6b9da55f7371adef39a92153a0707d4aLorenzo Colittiendif
107313379eb6b9da55f7371adef39a92153a0707d4aLorenzo Colitti
108313379eb6b9da55f7371adef39a92153a0707d4aLorenzo Colitti# -------------------------------------
109313379eb6b9da55f7371adef39a92153a0707d4aLorenzo ColittiIPV4_TARGETS=tracepath ping clockdiff rdisc arping tftpd rarpd
110313379eb6b9da55f7371adef39a92153a0707d4aLorenzo ColittiIPV6_TARGETS=tracepath6 traceroute6 ping6
111313379eb6b9da55f7371adef39a92153a0707d4aLorenzo ColittiTARGETS=$(IPV4_TARGETS) $(IPV6_TARGETS)
112313379eb6b9da55f7371adef39a92153a0707d4aLorenzo Colitti
113313379eb6b9da55f7371adef39a92153a0707d4aLorenzo ColittiCFLAGS=$(CCOPTOPT) $(CCOPT) $(GLIBCFIX) $(DEFINES)
114313379eb6b9da55f7371adef39a92153a0707d4aLorenzo ColittiLDLIBS=$(LDLIB) $(ADDLIB)
115313379eb6b9da55f7371adef39a92153a0707d4aLorenzo Colitti
116313379eb6b9da55f7371adef39a92153a0707d4aLorenzo ColittiUNAME_N:=$(shell uname -n)
117313379eb6b9da55f7371adef39a92153a0707d4aLorenzo ColittiLASTTAG:=$(shell git describe HEAD | sed -e 's/-.*//')
118313379eb6b9da55f7371adef39a92153a0707d4aLorenzo ColittiTODAY=$(shell date +%Y/%m/%d)
119313379eb6b9da55f7371adef39a92153a0707d4aLorenzo ColittiDATE=$(shell date --date $(TODAY) +%Y%m%d)
120313379eb6b9da55f7371adef39a92153a0707d4aLorenzo ColittiTAG:=$(shell date --date=$(TODAY) +s%Y%m%d)
121313379eb6b9da55f7371adef39a92153a0707d4aLorenzo Colitti
122313379eb6b9da55f7371adef39a92153a0707d4aLorenzo Colitti
123313379eb6b9da55f7371adef39a92153a0707d4aLorenzo Colitti# -------------------------------------
124313379eb6b9da55f7371adef39a92153a0707d4aLorenzo Colitti.PHONY: all ninfod clean distclean man html check-kernel modules snapshot
125313379eb6b9da55f7371adef39a92153a0707d4aLorenzo Colitti
126313379eb6b9da55f7371adef39a92153a0707d4aLorenzo Colittiall: $(TARGETS)
127313379eb6b9da55f7371adef39a92153a0707d4aLorenzo Colitti
128313379eb6b9da55f7371adef39a92153a0707d4aLorenzo Colitti%.s: %.c
129313379eb6b9da55f7371adef39a92153a0707d4aLorenzo Colitti	$(COMPILE.c) $< $(DEF_$(patsubst %.o,%,$@)) -S -o $@
130313379eb6b9da55f7371adef39a92153a0707d4aLorenzo Colitti%.o: %.c
131313379eb6b9da55f7371adef39a92153a0707d4aLorenzo Colitti	$(COMPILE.c) $< $(DEF_$(patsubst %.o,%,$@)) -o $@
132313379eb6b9da55f7371adef39a92153a0707d4aLorenzo Colitti$(TARGETS): %: %.o
133313379eb6b9da55f7371adef39a92153a0707d4aLorenzo Colitti	$(LINK.o) $^ $(LIB_$@) $(LDLIBS) -o $@
134313379eb6b9da55f7371adef39a92153a0707d4aLorenzo Colitti
135313379eb6b9da55f7371adef39a92153a0707d4aLorenzo Colitti# -------------------------------------
136313379eb6b9da55f7371adef39a92153a0707d4aLorenzo Colitti# arping
137313379eb6b9da55f7371adef39a92153a0707d4aLorenzo ColittiDEF_arping = $(DEF_SYSFS) $(DEF_CAP) $(DEF_IDN) $(DEF_WITHOUT_IFADDRS)
138313379eb6b9da55f7371adef39a92153a0707d4aLorenzo ColittiLIB_arping = $(LIB_SYSFS) $(LIB_CAP) $(LIB_IDN)
139313379eb6b9da55f7371adef39a92153a0707d4aLorenzo Colitti
140313379eb6b9da55f7371adef39a92153a0707d4aLorenzo Colittiifneq ($(ARPING_DEFAULT_DEVICE),)
141313379eb6b9da55f7371adef39a92153a0707d4aLorenzo ColittiDEF_arping += -DDEFAULT_DEVICE=\"$(ARPING_DEFAULT_DEVICE)\"
142313379eb6b9da55f7371adef39a92153a0707d4aLorenzo Colittiendif
143313379eb6b9da55f7371adef39a92153a0707d4aLorenzo Colitti
144313379eb6b9da55f7371adef39a92153a0707d4aLorenzo Colitti# clockdiff
145313379eb6b9da55f7371adef39a92153a0707d4aLorenzo ColittiDEF_clockdiff = $(DEF_CAP)
146313379eb6b9da55f7371adef39a92153a0707d4aLorenzo ColittiLIB_clockdiff = $(LIB_CAP)
147313379eb6b9da55f7371adef39a92153a0707d4aLorenzo Colitti
148313379eb6b9da55f7371adef39a92153a0707d4aLorenzo Colitti# ping / ping6
149313379eb6b9da55f7371adef39a92153a0707d4aLorenzo ColittiDEF_ping_common = $(DEF_CAP) $(DEF_IDN)
150313379eb6b9da55f7371adef39a92153a0707d4aLorenzo ColittiDEF_ping  = $(DEF_CAP) $(DEF_IDN) $(DEF_WITHOUT_IFADDRS)
151313379eb6b9da55f7371adef39a92153a0707d4aLorenzo ColittiLIB_ping  = $(LIB_CAP) $(LIB_IDN)
152313379eb6b9da55f7371adef39a92153a0707d4aLorenzo ColittiDEF_ping6 = $(DEF_CAP) $(DEF_IDN) $(DEF_WITHOUT_IFADDRS) $(DEF_ENABLE_PING6_RTHDR) $(DEF_CRYPTO)
153313379eb6b9da55f7371adef39a92153a0707d4aLorenzo ColittiLIB_ping6 = $(LIB_CAP) $(LIB_IDN) $(LIB_RESOLV) $(LIB_CRYPTO)
154313379eb6b9da55f7371adef39a92153a0707d4aLorenzo Colitti
155313379eb6b9da55f7371adef39a92153a0707d4aLorenzo Colittiping: ping_common.o
156313379eb6b9da55f7371adef39a92153a0707d4aLorenzo Colittiping6: ping_common.o
157313379eb6b9da55f7371adef39a92153a0707d4aLorenzo Colittiping.o ping_common.o: ping_common.h
158313379eb6b9da55f7371adef39a92153a0707d4aLorenzo Colittiping6.o: ping_common.h in6_flowlabel.h
159313379eb6b9da55f7371adef39a92153a0707d4aLorenzo Colitti
160313379eb6b9da55f7371adef39a92153a0707d4aLorenzo Colitti# rarpd
161313379eb6b9da55f7371adef39a92153a0707d4aLorenzo ColittiDEF_rarpd =
162313379eb6b9da55f7371adef39a92153a0707d4aLorenzo ColittiLIB_rarpd =
163313379eb6b9da55f7371adef39a92153a0707d4aLorenzo Colitti
164313379eb6b9da55f7371adef39a92153a0707d4aLorenzo Colitti# rdisc
165313379eb6b9da55f7371adef39a92153a0707d4aLorenzo ColittiDEF_rdisc = $(DEF_ENABLE_RDISC_SERVER)
166313379eb6b9da55f7371adef39a92153a0707d4aLorenzo ColittiLIB_rdisc =
167313379eb6b9da55f7371adef39a92153a0707d4aLorenzo Colitti
168313379eb6b9da55f7371adef39a92153a0707d4aLorenzo Colitti# tracepath
169313379eb6b9da55f7371adef39a92153a0707d4aLorenzo ColittiDEF_tracepath = $(DEF_IDN)
170313379eb6b9da55f7371adef39a92153a0707d4aLorenzo ColittiLIB_tracepath = $(LIB_IDN)
171313379eb6b9da55f7371adef39a92153a0707d4aLorenzo Colitti
172313379eb6b9da55f7371adef39a92153a0707d4aLorenzo Colitti# tracepath6
173313379eb6b9da55f7371adef39a92153a0707d4aLorenzo ColittiDEF_tracepath6 = $(DEF_IDN)
174313379eb6b9da55f7371adef39a92153a0707d4aLorenzo ColittiLIB_tracepath6 =
175313379eb6b9da55f7371adef39a92153a0707d4aLorenzo Colitti
176313379eb6b9da55f7371adef39a92153a0707d4aLorenzo Colitti# traceroute6
177313379eb6b9da55f7371adef39a92153a0707d4aLorenzo ColittiDEF_traceroute6 = $(DEF_CAP) $(DEF_IDN)
178313379eb6b9da55f7371adef39a92153a0707d4aLorenzo ColittiLIB_traceroute6 = $(LIB_CAP) $(LIB_IDN)
179313379eb6b9da55f7371adef39a92153a0707d4aLorenzo Colitti
180313379eb6b9da55f7371adef39a92153a0707d4aLorenzo Colitti# tftpd
181313379eb6b9da55f7371adef39a92153a0707d4aLorenzo ColittiDEF_tftpd =
182313379eb6b9da55f7371adef39a92153a0707d4aLorenzo ColittiDEF_tftpsubs =
183313379eb6b9da55f7371adef39a92153a0707d4aLorenzo ColittiLIB_tftpd =
184313379eb6b9da55f7371adef39a92153a0707d4aLorenzo Colitti
185313379eb6b9da55f7371adef39a92153a0707d4aLorenzo Colittitftpd: tftpsubs.o
186313379eb6b9da55f7371adef39a92153a0707d4aLorenzo Colittitftpd.o tftpsubs.o: tftp.h
187313379eb6b9da55f7371adef39a92153a0707d4aLorenzo Colitti
188313379eb6b9da55f7371adef39a92153a0707d4aLorenzo Colitti# -------------------------------------
189313379eb6b9da55f7371adef39a92153a0707d4aLorenzo Colitti# ninfod
190313379eb6b9da55f7371adef39a92153a0707d4aLorenzo Colittininfod:
191313379eb6b9da55f7371adef39a92153a0707d4aLorenzo Colitti	@set -e; \
192313379eb6b9da55f7371adef39a92153a0707d4aLorenzo Colitti		if [ ! -f ninfod/Makefile ]; then \
193313379eb6b9da55f7371adef39a92153a0707d4aLorenzo Colitti			cd ninfod; \
194313379eb6b9da55f7371adef39a92153a0707d4aLorenzo Colitti			./configure; \
195313379eb6b9da55f7371adef39a92153a0707d4aLorenzo Colitti			cd ..; \
196313379eb6b9da55f7371adef39a92153a0707d4aLorenzo Colitti		fi; \
197313379eb6b9da55f7371adef39a92153a0707d4aLorenzo Colitti		$(MAKE) -C ninfod
198313379eb6b9da55f7371adef39a92153a0707d4aLorenzo Colitti
199313379eb6b9da55f7371adef39a92153a0707d4aLorenzo Colitti# -------------------------------------
200313379eb6b9da55f7371adef39a92153a0707d4aLorenzo Colitti# modules / check-kernel are only for ancient kernels; obsolete
201313379eb6b9da55f7371adef39a92153a0707d4aLorenzo Colitticheck-kernel:
202313379eb6b9da55f7371adef39a92153a0707d4aLorenzo Colittiifeq ($(KERNEL_INCLUDE),)
203313379eb6b9da55f7371adef39a92153a0707d4aLorenzo Colitti	@echo "Please, set correct KERNEL_INCLUDE"; false
204313379eb6b9da55f7371adef39a92153a0707d4aLorenzo Colittielse
205313379eb6b9da55f7371adef39a92153a0707d4aLorenzo Colitti	@set -e; \
206313379eb6b9da55f7371adef39a92153a0707d4aLorenzo Colitti	if [ ! -r $(KERNEL_INCLUDE)/linux/autoconf.h ]; then \
207313379eb6b9da55f7371adef39a92153a0707d4aLorenzo Colitti		echo "Please, set correct KERNEL_INCLUDE"; false; fi
208313379eb6b9da55f7371adef39a92153a0707d4aLorenzo Colittiendif
209313379eb6b9da55f7371adef39a92153a0707d4aLorenzo Colitti
210313379eb6b9da55f7371adef39a92153a0707d4aLorenzo Colittimodules: check-kernel
211313379eb6b9da55f7371adef39a92153a0707d4aLorenzo Colitti	$(MAKE) KERNEL_INCLUDE=$(KERNEL_INCLUDE) -C Modules
212313379eb6b9da55f7371adef39a92153a0707d4aLorenzo Colitti
213313379eb6b9da55f7371adef39a92153a0707d4aLorenzo Colitti# -------------------------------------
214313379eb6b9da55f7371adef39a92153a0707d4aLorenzo Colittiman:
215313379eb6b9da55f7371adef39a92153a0707d4aLorenzo Colitti	$(MAKE) -C doc man
216313379eb6b9da55f7371adef39a92153a0707d4aLorenzo Colitti
217313379eb6b9da55f7371adef39a92153a0707d4aLorenzo Colittihtml:
218313379eb6b9da55f7371adef39a92153a0707d4aLorenzo Colitti	$(MAKE) -C doc html
219313379eb6b9da55f7371adef39a92153a0707d4aLorenzo Colitti
220313379eb6b9da55f7371adef39a92153a0707d4aLorenzo Colitticlean:
221313379eb6b9da55f7371adef39a92153a0707d4aLorenzo Colitti	@rm -f *.o $(TARGETS)
222313379eb6b9da55f7371adef39a92153a0707d4aLorenzo Colitti	@$(MAKE) -C Modules clean
223313379eb6b9da55f7371adef39a92153a0707d4aLorenzo Colitti	@$(MAKE) -C doc clean
224313379eb6b9da55f7371adef39a92153a0707d4aLorenzo Colitti	@set -e; \
225313379eb6b9da55f7371adef39a92153a0707d4aLorenzo Colitti		if [ -f ninfod/Makefile ]; then \
226313379eb6b9da55f7371adef39a92153a0707d4aLorenzo Colitti			$(MAKE) -C ninfod clean; \
227313379eb6b9da55f7371adef39a92153a0707d4aLorenzo Colitti		fi
228313379eb6b9da55f7371adef39a92153a0707d4aLorenzo Colitti
229313379eb6b9da55f7371adef39a92153a0707d4aLorenzo Colittidistclean: clean
230313379eb6b9da55f7371adef39a92153a0707d4aLorenzo Colitti	@set -e; \
231313379eb6b9da55f7371adef39a92153a0707d4aLorenzo Colitti		if [ -f ninfod/Makefile ]; then \
232313379eb6b9da55f7371adef39a92153a0707d4aLorenzo Colitti			$(MAKE) -C ninfod distclean; \
233313379eb6b9da55f7371adef39a92153a0707d4aLorenzo Colitti		fi
234313379eb6b9da55f7371adef39a92153a0707d4aLorenzo Colitti
235313379eb6b9da55f7371adef39a92153a0707d4aLorenzo Colitti# -------------------------------------
236313379eb6b9da55f7371adef39a92153a0707d4aLorenzo Colittisnapshot:
237313379eb6b9da55f7371adef39a92153a0707d4aLorenzo Colitti	@if [ x"$(UNAME_N)" != x"pleiades" ]; then echo "Not authorized to advance snapshot"; exit 1; fi
238313379eb6b9da55f7371adef39a92153a0707d4aLorenzo Colitti	@echo "[$(TAG)]" > RELNOTES.NEW
239313379eb6b9da55f7371adef39a92153a0707d4aLorenzo Colitti	@echo >>RELNOTES.NEW
240313379eb6b9da55f7371adef39a92153a0707d4aLorenzo Colitti	@git log --no-merges $(LASTTAG).. | git shortlog >> RELNOTES.NEW
241313379eb6b9da55f7371adef39a92153a0707d4aLorenzo Colitti	@echo >> RELNOTES.NEW
242313379eb6b9da55f7371adef39a92153a0707d4aLorenzo Colitti	@cat RELNOTES >> RELNOTES.NEW
243313379eb6b9da55f7371adef39a92153a0707d4aLorenzo Colitti	@mv RELNOTES.NEW RELNOTES
244313379eb6b9da55f7371adef39a92153a0707d4aLorenzo Colitti	@sed -e "s/^%define ssdate .*/%define ssdate $(DATE)/" iputils.spec > iputils.spec.tmp
245313379eb6b9da55f7371adef39a92153a0707d4aLorenzo Colitti	@mv iputils.spec.tmp iputils.spec
246313379eb6b9da55f7371adef39a92153a0707d4aLorenzo Colitti	@echo "static char SNAPSHOT[] = \"$(TAG)\";" > SNAPSHOT.h
247313379eb6b9da55f7371adef39a92153a0707d4aLorenzo Colitti	@$(MAKE) -C doc snapshot
248313379eb6b9da55f7371adef39a92153a0707d4aLorenzo Colitti	@$(MAKE) man
249313379eb6b9da55f7371adef39a92153a0707d4aLorenzo Colitti	@git commit -a -m "iputils-$(TAG)"
250313379eb6b9da55f7371adef39a92153a0707d4aLorenzo Colitti	@git tag -s -m "iputils-$(TAG)" $(TAG)
251313379eb6b9da55f7371adef39a92153a0707d4aLorenzo Colitti	@git archive --format=tar --prefix=iputils-$(TAG)/ $(TAG) | bzip2 -9 > ../iputils-$(TAG).tar.bz2
252313379eb6b9da55f7371adef39a92153a0707d4aLorenzo Colitti
253