d2d6d8d537
contains a sigdec[] vector of structures, but the generated output is missing braces around the initializer of each struct, which triggers warnings in WARNS=3: src/usr.bin/top/sigdesc.h:10: warning: missing braces around initializer src/usr.bin/top/sigdesc.h:10: warning: (near initialization for `sigdesc[0]') * Fix the sigconv.awk script to generate a header with initializers which look better. * Add rules to usr.bin/top/Makefile that rebuilds a new sigconv.h header which matches the correct signal set from the build-time version of `${DESTDIR}/usr/include/signal.h' (so sigconv.h doesn't get stale once changes are made to the header). * Remove the old sigconv.h header, now that it is autoupdated at build time. * Various Makefile style fixes (the committed Makefile was kindly submitted by Ruslan): - Reorder .PATH, PROG, SRCS and CFLAGS to match style.Makefile(5) - Split off the generated sources (sigdesc.h top.local.h) in an SRCS+= line of their own. - Add entries to CLEANFILES near the rules that generate the respective files. - Move the explicit rule which builds top.1 after the implicit rules which generate its dependencies. Reviewed by: ru, bde Submitted by: ru (Makefile) MFC after: 2 weeks
48 lines
1.2 KiB
Makefile
48 lines
1.2 KiB
Makefile
# $FreeBSD$
|
|
|
|
TOPDIR= ${.CURDIR}/../../contrib/top
|
|
.PATH: ${TOPDIR}
|
|
|
|
PROG= top
|
|
SRCS= commands.c display.c machine.c screen.c top.c \
|
|
username.c utils.c version.c
|
|
SRCS+= sigdesc.h top.local.h
|
|
CFLAGS+= -DHAVE_GETOPT -DHAVE_STRERROR -DORDER
|
|
CFLAGS+= -I${.CURDIR} -I${TOPDIR} -I.
|
|
|
|
#
|
|
# The table size should be a prime number approximately twice as
|
|
# large as the number of lines in /etc/passwd. The default number
|
|
# is 20011; use /etc/make.conf to override this.
|
|
#
|
|
.if defined(TOP_TABLE_SIZE)
|
|
CFLAGS+= -D"Table_size=${TOP_TABLE_SIZE}"
|
|
.endif
|
|
|
|
DPADD= ${LIBTERMCAP} ${LIBM} ${LIBKVM}
|
|
LDADD= -ltermcap -lm -lkvm
|
|
|
|
CLEANFILES= sigdesc.h
|
|
SIGCONV_AWK= ${.CURDIR}/../../contrib/top/sigconv.awk
|
|
SIGNAL_H= ${DESTDIR}/usr/include/sys/signal.h
|
|
sigdesc.h: ${SIGCONV_AWK} ${SIGNAL_H}
|
|
awk -f ${SIGCONV_AWK} < ${SIGNAL_H} > ${.TARGET}
|
|
|
|
CLEANFILES+= top.local.h top.x
|
|
.SUFFIXES: .X .x .H .h
|
|
.X.x .H.h:
|
|
@${ECHO} Making ${.TARGET} from ${.IMPSRC}
|
|
@sed -e's,%LoadMax%,5.0,g' \
|
|
-e's,%TableSize%,20011,g' \
|
|
-e's,%NominalTopn%,18,g' \
|
|
-e's,%topn%,-1,g' \
|
|
-e's,%delay%,2,g' \
|
|
-e's,%random%,1,g' \
|
|
${.IMPSRC} > ${.TARGET}
|
|
|
|
CLEANFILES+= top.1
|
|
top.1: top.x top.local.1
|
|
cat ${.ALLSRC} > ${.TARGET}
|
|
|
|
.include <bsd.prog.mk>
|