File: Makefile

package info (click to toggle)
ethstats 1.2.1-6
  • links: PTS, VCS
  • area: main
  • in suites: trixie
  • size: 92 kB
  • sloc: perl: 449; makefile: 78
file content (91 lines) | stat: -rw-r--r-- 2,204 bytes parent folder | download | duplicates (3)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
#!/usr/bin/make -f

SCRIPT=		ethstats
SRC=		ethstats.pl
MAN1=		${SCRIPT}.1
MAN1GZ=		${MAN1}.gz
TEST_SCRIPT?=	./${SCRIPT}

GZIP?=		gzip -cn
INSTALL?=	install
COPY?=		-c
MKDIR?=		mkdir -p
PERL?=		perl
RM?=		rm -f

LOCALBASE?=	/usr/local
PREFIX?=	${LOCALBASE}
BINDIR?=	${PREFIX}/bin
MANDIR?=	${PREFIX}/share/man/man

BINOWN?=	root
BINGRP?=	root
BINMODE?=	755

SHAREOWN?=	root
SHAREGRP?=	root
SHAREMODE?=	644

INSTALL_DATA?=		${INSTALL} ${COPY} -o ${SHAREOWN} -g ${SHAREGRP} -m ${SHAREMODE}
INSTALL_EXEC?=		${INSTALL} ${COPY} -m ${BINMODE}
INSTALL_SCRIPT?=	${INSTALL} ${COPY} -o ${BINOWN} -g ${BINGRP} -m ${BINMODE}

all:		${SCRIPT} ${MAN1GZ}

clean:
		${RM} -- '${SCRIPT}' '${MAN1GZ}'

install:	all
		${MKDIR} -- '${DESTDIR}${BINDIR}'
		${INSTALL_SCRIPT} -- '${SCRIPT}' '${DESTDIR}${BINDIR}/'
		${MKDIR} -- '${DESTDIR}${MANDIR}1'
		${INSTALL_SCRIPT} -- '${MAN1GZ}' '${DESTDIR}${MANDIR}1/'

test:		all
		@echo '=== Perl syntax check'
		'${PERL}' -c '${TEST_SCRIPT}'

		@echo '=== Basic version/usage functionality'
		'${TEST_SCRIPT}' -V -h
		@echo

		@echo '=== Long options for version and usage'
		'${TEST_SCRIPT}' --version
		'${TEST_SCRIPT}' --help

		@echo '=== The features long option'
		'${TEST_SCRIPT}' --features
		'${TEST_SCRIPT}' --features | fgrep -qe ' ethstats='
		if feature-check feature-check feature-check 2>/dev/null; then \
			echo '=== Feature checks'; \
			feature-check -l -- '${TEST_SCRIPT}'; \
			feature-check -- '${TEST_SCRIPT}' ethstats; \
			feature-check -- '${TEST_SCRIPT}' ethstats ge 1; \
			feature-check -- '${TEST_SCRIPT}' 'ethstats lt 1000'; \
		else \
			echo '=== Skipping the feature checks - the feature-check tool does not seem to be installed'; \
		fi

		@echo '=== Error out on invalid options'
		! '${TEST_SCRIPT}' -X
		! '${TEST_SCRIPT}' --whee
		@echo

		@if [ -r '/proc/net/dev' ]; then \
			echo '=== A single run'; \
			'${TEST_SCRIPT}' -n3 -c2; \
		else \
			echo '=== Skipping the single run'; \
		fi
		@echo

test-p6:
		${MAKE} TEST_SCRIPT=./ethstats.p6 PERL=perl6 test

${SCRIPT}:	${SRC}
		${INSTALL_EXEC} -- '${SRC}' '${SCRIPT}'

${MAN1GZ}:	${MAN1}
		${GZIP} -- '${MAN1}' > '${MAN1GZ}' || (${RM} -- '${MAN1GZ}'; false)

.PHONY:		all clean install test