2019-01-25 12:51:30 +00:00
|
|
|
.POSIX:
|
|
|
|
|
2012-08-03 10:03:17 +00:00
|
|
|
NAME = sfeed
|
2022-08-17 14:47:52 +00:00
|
|
|
VERSION = 1.6
|
2019-02-08 15:27:26 +00:00
|
|
|
|
2021-11-26 11:27:30 +00:00
|
|
|
# curses theme, see themes/ directory.
|
|
|
|
SFEED_THEME = mono
|
|
|
|
|
2019-10-05 21:04:09 +00:00
|
|
|
# paths
|
|
|
|
PREFIX = /usr/local
|
|
|
|
MANPREFIX = ${PREFIX}/man
|
|
|
|
DOCPREFIX = ${PREFIX}/share/doc/${NAME}
|
|
|
|
|
|
|
|
RANLIB = ranlib
|
|
|
|
|
|
|
|
# use system flags.
|
|
|
|
SFEED_CFLAGS = ${CFLAGS}
|
|
|
|
SFEED_LDFLAGS = ${LDFLAGS}
|
2021-06-05 12:45:16 +00:00
|
|
|
SFEED_CPPFLAGS = -D_DEFAULT_SOURCE -D_XOPEN_SOURCE=700 -D_BSD_SOURCE
|
2019-10-05 21:04:09 +00:00
|
|
|
|
2021-04-28 17:01:04 +00:00
|
|
|
# uncomment for conservative locked I/O.
|
2021-06-05 12:45:16 +00:00
|
|
|
#SFEED_CPPFLAGS = -D_DEFAULT_SOURCE -D_XOPEN_SOURCE=700 -D_BSD_SOURCE \
|
2021-04-27 16:30:02 +00:00
|
|
|
# -DGETNEXT=getchar
|
|
|
|
|
2021-11-26 11:27:30 +00:00
|
|
|
# set $SFEED_CURSES to empty to not build sfeed_curses.
|
|
|
|
SFEED_CURSES = sfeed_curses
|
|
|
|
SFEED_CURSES_CFLAGS = ${CFLAGS}
|
2022-01-03 15:36:50 +00:00
|
|
|
SFEED_CURSES_CPPFLAGS = -D_DEFAULT_SOURCE -D_XOPEN_SOURCE=700 -D_BSD_SOURCE \
|
2021-11-26 11:27:30 +00:00
|
|
|
-DSFEED_THEME=\"themes/${SFEED_THEME}.h\" ${SFEED_CPPFLAGS}
|
|
|
|
SFEED_CURSES_LDFLAGS = ${LDFLAGS} -lcurses
|
|
|
|
|
|
|
|
# Linux: some distros use ncurses and require -lncurses.
|
|
|
|
#SFEED_CURSES_LDFLAGS = ${LDFLAGS} -lncurses
|
|
|
|
|
|
|
|
# Gentoo Linux: some distros might also require -ltinfo and -D_DEFAULT_SOURCE
|
2022-01-03 15:43:53 +00:00
|
|
|
# to prevent warnings about feature test macros.
|
2021-11-26 11:27:30 +00:00
|
|
|
#SFEED_CURSES_LDFLAGS = ${LDFLAGS} -lcurses -ltinfo
|
|
|
|
|
2022-01-03 15:43:53 +00:00
|
|
|
# FreeBSD: unset feature test macros for SIGWINCH etc.
|
|
|
|
#SFEED_CURSES_CPPFLAGS =
|
|
|
|
|
2021-11-26 11:27:30 +00:00
|
|
|
# use minicurses with hardcoded escape sequences (not the system curses).
|
|
|
|
#SFEED_CURSES_CPPFLAGS = -D_DEFAULT_SOURCE -D_XOPEN_SOURCE=700 -D_BSD_SOURCE \
|
|
|
|
# -DSFEED_THEME=\"themes/${SFEED_THEME}.h\" -DSFEED_MINICURSES
|
|
|
|
#SFEED_CURSES_LDFLAGS = ${LDFLAGS}
|
|
|
|
|
2015-01-02 13:26:03 +00:00
|
|
|
BIN = \
|
|
|
|
sfeed\
|
2019-04-20 14:21:44 +00:00
|
|
|
sfeed_atom\
|
2021-11-26 11:27:30 +00:00
|
|
|
${SFEED_CURSES}\
|
2015-01-02 13:26:03 +00:00
|
|
|
sfeed_frames\
|
2021-11-26 11:27:30 +00:00
|
|
|
sfeed_gopher\
|
2015-01-02 13:36:15 +00:00
|
|
|
sfeed_html\
|
2015-07-30 14:14:04 +00:00
|
|
|
sfeed_mbox\
|
2015-01-02 13:26:03 +00:00
|
|
|
sfeed_opml_import\
|
2015-01-02 13:36:15 +00:00
|
|
|
sfeed_plain\
|
2018-08-22 14:23:52 +00:00
|
|
|
sfeed_twtxt\
|
2015-01-02 13:26:03 +00:00
|
|
|
sfeed_web\
|
|
|
|
sfeed_xmlenc
|
|
|
|
SCRIPTS = \
|
2021-11-26 11:27:30 +00:00
|
|
|
sfeed_content\
|
|
|
|
sfeed_markread\
|
2015-01-02 13:26:03 +00:00
|
|
|
sfeed_opml_export\
|
|
|
|
sfeed_update
|
2016-02-27 16:19:45 +00:00
|
|
|
|
|
|
|
SRC = ${BIN:=.c}
|
2017-12-09 11:42:25 +00:00
|
|
|
HDR = \
|
2021-11-26 11:27:30 +00:00
|
|
|
minicurses.h\
|
2017-12-09 11:42:25 +00:00
|
|
|
util.h\
|
|
|
|
xml.h
|
2016-02-27 16:19:45 +00:00
|
|
|
|
|
|
|
LIBUTIL = libutil.a
|
|
|
|
LIBUTILSRC = \
|
|
|
|
util.c
|
|
|
|
LIBUTILOBJ = ${LIBUTILSRC:.c=.o}
|
|
|
|
|
|
|
|
LIBXML = libxml.a
|
|
|
|
LIBXMLSRC = \
|
|
|
|
xml.c
|
|
|
|
LIBXMLOBJ = ${LIBXMLSRC:.c=.o}
|
|
|
|
|
2019-04-06 11:39:51 +00:00
|
|
|
COMPATSRC = \
|
|
|
|
strlcat.c\
|
|
|
|
strlcpy.c
|
|
|
|
COMPATOBJ =\
|
|
|
|
strlcat.o\
|
|
|
|
strlcpy.o
|
|
|
|
|
|
|
|
LIB = ${LIBUTIL} ${LIBXML} ${COMPATOBJ}
|
2016-02-27 16:19:45 +00:00
|
|
|
|
|
|
|
MAN1 = ${BIN:=.1}\
|
|
|
|
${SCRIPTS:=.1}
|
2016-01-31 14:25:42 +00:00
|
|
|
MAN5 = \
|
2016-04-10 17:51:18 +00:00
|
|
|
sfeed.5\
|
2016-01-31 14:25:42 +00:00
|
|
|
sfeedrc.5
|
2015-01-02 13:26:03 +00:00
|
|
|
DOC = \
|
|
|
|
LICENSE\
|
|
|
|
README\
|
2019-05-08 17:26:34 +00:00
|
|
|
README.xml
|
2015-01-02 13:26:03 +00:00
|
|
|
|
2018-09-29 11:18:38 +00:00
|
|
|
all: ${BIN}
|
2016-02-27 16:19:45 +00:00
|
|
|
|
|
|
|
${BIN}: ${LIB} ${@:=.o}
|
|
|
|
|
2019-04-06 11:39:51 +00:00
|
|
|
OBJ = ${SRC:.c=.o} ${LIBXMLOBJ} ${LIBUTILOBJ} ${COMPATOBJ}
|
2015-01-02 13:26:03 +00:00
|
|
|
|
2019-10-05 21:04:09 +00:00
|
|
|
${OBJ}: ${HDR}
|
2016-02-27 16:19:45 +00:00
|
|
|
|
|
|
|
.o:
|
2021-11-26 11:27:30 +00:00
|
|
|
${CC} -o $@ $< ${LIB} ${SFEED_LDFLAGS}
|
2012-08-03 10:03:17 +00:00
|
|
|
|
|
|
|
.c.o:
|
2021-11-26 11:27:30 +00:00
|
|
|
${CC} -o $@ -c $< ${SFEED_CFLAGS} ${SFEED_CPPFLAGS}
|
|
|
|
|
2022-03-19 10:45:02 +00:00
|
|
|
sfeed_curses.o: sfeed_curses.c themes/${SFEED_THEME}.h
|
2021-11-26 11:27:30 +00:00
|
|
|
${CC} -o $@ -c sfeed_curses.c ${SFEED_CURSES_CFLAGS} ${SFEED_CURSES_CPPFLAGS}
|
|
|
|
|
|
|
|
sfeed_curses: ${LIB} sfeed_curses.o
|
|
|
|
${CC} -o $@ sfeed_curses.o ${LIB} ${SFEED_CURSES_LDFLAGS}
|
2016-02-27 16:19:45 +00:00
|
|
|
|
|
|
|
${LIBUTIL}: ${LIBUTILOBJ}
|
2020-06-10 12:40:06 +00:00
|
|
|
${AR} -rc $@ $?
|
2016-02-27 16:19:45 +00:00
|
|
|
${RANLIB} $@
|
|
|
|
|
|
|
|
${LIBXML}: ${LIBXMLOBJ}
|
2021-10-05 10:07:00 +00:00
|
|
|
${AR} -rc $@ $?
|
2016-02-27 16:19:45 +00:00
|
|
|
${RANLIB} $@
|
2015-01-02 13:26:03 +00:00
|
|
|
|
2016-03-20 16:49:27 +00:00
|
|
|
dist:
|
2016-04-10 11:53:38 +00:00
|
|
|
rm -rf "${NAME}-${VERSION}"
|
|
|
|
mkdir -p "${NAME}-${VERSION}"
|
2021-11-26 11:27:30 +00:00
|
|
|
cp -fR ${MAN1} ${MAN5} ${DOC} ${HDR} \
|
2019-04-07 11:43:58 +00:00
|
|
|
${SRC} ${LIBXMLSRC} ${LIBUTILSRC} ${COMPATSRC} ${SCRIPTS} \
|
2021-11-26 11:27:30 +00:00
|
|
|
themes Makefile \
|
2015-01-02 13:26:03 +00:00
|
|
|
sfeedrc.example style.css \
|
2016-04-10 11:53:38 +00:00
|
|
|
"${NAME}-${VERSION}"
|
2015-01-02 14:59:58 +00:00
|
|
|
# make tarball
|
2020-06-21 16:01:52 +00:00
|
|
|
tar cf - "${NAME}-${VERSION}" | \
|
2016-04-10 11:53:38 +00:00
|
|
|
gzip -c > "${NAME}-${VERSION}.tar.gz"
|
|
|
|
rm -rf "${NAME}-${VERSION}"
|
2015-01-02 13:26:03 +00:00
|
|
|
|
2012-08-03 10:03:17 +00:00
|
|
|
clean:
|
2016-02-27 16:19:45 +00:00
|
|
|
rm -f ${BIN} ${OBJ} ${LIB}
|
2012-08-03 10:03:17 +00:00
|
|
|
|
|
|
|
install: all
|
2015-01-02 15:17:43 +00:00
|
|
|
# installing executable files and scripts.
|
2016-04-10 11:53:38 +00:00
|
|
|
mkdir -p "${DESTDIR}${PREFIX}/bin"
|
|
|
|
cp -f ${BIN} ${SCRIPTS} "${DESTDIR}${PREFIX}/bin"
|
2018-09-29 11:18:38 +00:00
|
|
|
for f in ${BIN} ${SCRIPTS}; do chmod 755 "${DESTDIR}${PREFIX}/bin/$$f"; done
|
2015-01-02 15:17:43 +00:00
|
|
|
# installing example files.
|
2019-02-08 15:27:26 +00:00
|
|
|
mkdir -p "${DESTDIR}${DOCPREFIX}"
|
2015-08-14 15:10:10 +00:00
|
|
|
cp -f sfeedrc.example\
|
|
|
|
style.css\
|
|
|
|
README\
|
|
|
|
README.xml\
|
2019-02-08 15:27:26 +00:00
|
|
|
"${DESTDIR}${DOCPREFIX}"
|
2018-09-29 11:18:38 +00:00
|
|
|
# installing manual pages for general commands: section 1.
|
2016-04-10 11:53:38 +00:00
|
|
|
mkdir -p "${DESTDIR}${MANPREFIX}/man1"
|
|
|
|
cp -f ${MAN1} "${DESTDIR}${MANPREFIX}/man1"
|
2018-09-29 11:18:38 +00:00
|
|
|
for m in ${MAN1}; do chmod 644 "${DESTDIR}${MANPREFIX}/man1/$$m"; done
|
|
|
|
# installing manual pages for file formats: section 5.
|
2016-04-10 11:53:38 +00:00
|
|
|
mkdir -p "${DESTDIR}${MANPREFIX}/man5"
|
|
|
|
cp -f ${MAN5} "${DESTDIR}${MANPREFIX}/man5"
|
2018-09-29 11:18:38 +00:00
|
|
|
for m in ${MAN5}; do chmod 644 "${DESTDIR}${MANPREFIX}/man5/$$m"; done
|
2012-08-03 10:03:17 +00:00
|
|
|
|
|
|
|
uninstall:
|
2015-01-02 15:17:43 +00:00
|
|
|
# removing executable files and scripts.
|
2018-09-29 11:18:38 +00:00
|
|
|
for f in ${BIN} ${SCRIPTS}; do rm -f "${DESTDIR}${PREFIX}/bin/$$f"; done
|
2015-01-02 15:17:43 +00:00
|
|
|
# removing example files.
|
|
|
|
rm -f \
|
2019-02-08 15:27:26 +00:00
|
|
|
"${DESTDIR}${DOCPREFIX}/sfeedrc.example"\
|
|
|
|
"${DESTDIR}${DOCPREFIX}/style.css"\
|
|
|
|
"${DESTDIR}${DOCPREFIX}/README"\
|
|
|
|
"${DESTDIR}${DOCPREFIX}/README.xml"
|
|
|
|
-rmdir "${DESTDIR}${DOCPREFIX}"
|
2015-01-02 15:17:43 +00:00
|
|
|
# removing manual pages.
|
2018-09-29 11:18:38 +00:00
|
|
|
for m in ${MAN1}; do rm -f "${DESTDIR}${MANPREFIX}/man1/$$m"; done
|
|
|
|
for m in ${MAN5}; do rm -f "${DESTDIR}${MANPREFIX}/man5/$$m"; done
|
2012-08-03 10:03:17 +00:00
|
|
|
|
2015-08-05 16:43:49 +00:00
|
|
|
.PHONY: all clean dist install uninstall
|