mirror of
https://salsa.debian.org/dskoll/remind.git
synced 2026-04-16 06:18:47 +02:00
134 lines
4.5 KiB
Makefile
134 lines
4.5 KiB
Makefile
# Makefile.in for REMIND
|
|
#
|
|
|
|
SHELL= /bin/sh
|
|
BETA = 1
|
|
srcdir=@srcdir@
|
|
prefix=@prefix@
|
|
exec_prefix=@exec_prefix@
|
|
mandir=@mandir@
|
|
bindir=@bindir@
|
|
datadir=@datadir@
|
|
datarootdir=@datarootdir@
|
|
VPATH=$(srcdir)
|
|
VERSION=@VERSION@
|
|
|
|
INSTALL=@INSTALL@
|
|
INSTALL_PROGRAM=@INSTALL_PROGRAM@
|
|
INSTALL_DATA=@INSTALL_DATA@
|
|
|
|
PROGS= remind rem2ps
|
|
SCRIPTS= $(srcdir)/../scripts/tkremind
|
|
|
|
MANS= $(srcdir)/../man/rem2ps.1 $(srcdir)/../man/remind.1 \
|
|
$(srcdir)/../man/tkremind.1 $(srcdir)/../man/rem.1
|
|
|
|
.SUFFIXES:
|
|
.SUFFIXES: .c .o
|
|
|
|
REMINDSRCS= calendar.c dedupe.c dynbuf.c dorem.c dosubst.c expr.c \
|
|
files.c funcs.c globals.c hashtab.c hashtab_stats.c \
|
|
hbcal.c ifelse.c init.c main.c md5.c moon.c omit.c \
|
|
queue.c sort.c token.c trans.c trigger.c userfns.c \
|
|
utils.c var.c
|
|
|
|
XLATSRC= xlat.c
|
|
|
|
REMINDHDRS=config.h custom.h dynbuf.h err.h globals.h hashtab.h \
|
|
md5.h protos.h rem2ps.h types.h version.h
|
|
REMINDOBJS= $(REMINDSRCS:.c=.o) $(XLATSRC:.c=.o)
|
|
|
|
all: remind rem2ps
|
|
|
|
test-basic: all
|
|
@sh ../tests/test-rem
|
|
|
|
test-tz: all
|
|
@sh ../tests/test-timezone-support
|
|
|
|
test: test-basic test-tz
|
|
|
|
.c.o:
|
|
@CC@ -c @CPPFLAGS@ @CFLAGS@ @DEFS@ $(CEXTRA) -DSYSDIR=$(datarootdir)/remind -I. -I$(srcdir) $<
|
|
|
|
# Extract all tr() strings into a file. NOTE: SOURCE CODE MUST NOT HAVE
|
|
# MORE THAN ONE tr() PER LINE!!!
|
|
xlat.c: $(REMINDSRCS)
|
|
@echo "#include <stddef.h>" > xlat.c
|
|
@echo "char const *translatables[] = {" >> xlat.c
|
|
@cat $(REMINDSRCS) | grep 'tr(".*")' | sed -e 's/.*tr."/"/' -e 's/").*/"/' | LANG=C LC_ALL=C sort | uniq | grep -E -v '^"(ago|am|and|at|from now|is|hour|minute|now|on|pm|today|tomorrow|was)"$$' | sed -e 's/^/ /' -e 's/$$/,/' >> xlat.c
|
|
@echo " NULL" >> xlat.c
|
|
@echo "};" >> xlat.c
|
|
|
|
$(REMINDOBJS): $(REMINDHDRS)
|
|
|
|
rem2ps: rem2ps.o dynbuf.o json.o
|
|
@CC@ @CFLAGS@ @LDFLAGS@ $(LDEXTRA) -o rem2ps rem2ps.o dynbuf.o json.o -lm
|
|
|
|
remind: $(REMINDOBJS)
|
|
@CC@ @CFLAGS@ @LDFLAGS@ $(LDEXTRA) -o remind $(REMINDOBJS) @LIBS@
|
|
|
|
install: all
|
|
-mkdir -p $(DESTDIR)$(bindir) || true
|
|
for prog in $(PROGS) $(SCRIPTS) ; do \
|
|
$(INSTALL_PROGRAM) $$prog $(DESTDIR)$(bindir) || exit 1; \
|
|
done
|
|
rm -f $(DESTDIR)$(bindir)/rem > /dev/null 2>&1 || true
|
|
ln -s remind $(DESTDIR)$(bindir)/rem
|
|
-mkdir -p $(DESTDIR)$(mandir)/man1 || true
|
|
for man in $(MANS) ; do \
|
|
$(INSTALL_DATA) $$man $(DESTDIR)$(mandir)/man1 || exit 1; \
|
|
done
|
|
-mkdir -p $(DESTDIR)$(datarootdir)/remind || true
|
|
# Avoid problems with symlinks under holidays/
|
|
-rm -rf $(DESTDIR)$(datarootdir)/remind/holidays > /dev/null 2>&1 || true
|
|
cp -R ../include/* $(DESTDIR)$(datarootdir)/remind
|
|
chmod -R a+rX $(DESTDIR)$(datarootdir)/remind
|
|
-mkdir -p $(DESTDIR)$(prefix)/share/pixmaps
|
|
-mkdir -p $(DESTDIR)$(prefix)/share/applications
|
|
$(INSTALL_DATA) $(srcdir)/../resources/tkremind.png $(DESTDIR)$(prefix)/share/pixmaps
|
|
$(INSTALL_PROGRAM) $(srcdir)/../resources/tkremind.desktop $(DESTDIR)$(prefix)/share/applications
|
|
-if test "$(DESTDIR)" = ""; then \
|
|
update-desktop-database < /dev/null > /dev/null 2>&1 ; \
|
|
xdg-icon-resource install --novendor --size 64 $(DESTDIR)$(prefix)/share/pixmaps/tkremind.png < /dev/null > /dev/null 2>&1 || true; \
|
|
xdg-desktop-menu install --novendor $(DESTDIR)$(prefix)/share/applications/tkremind.desktop < /dev/null > /dev/null 2>&1 || true; \
|
|
fi
|
|
|
|
install-stripped: install
|
|
strip $(DESTDIR)$(bindir)/remind || true
|
|
strip $(DESTDIR)$(bindir)/rem2ps || true
|
|
|
|
clean:
|
|
rm -f *.o *~ core *.bak $(PROGS) $(XLATSRC)
|
|
|
|
clobber:
|
|
rm -f *.o *~ remind rem2ps test.out core *.bak
|
|
|
|
depend:
|
|
gccmakedep @DEFS@ $(REMINDSRCS) rem2ps.c json.c
|
|
|
|
# The next targets are not very useful to you. I use them to build
|
|
# distributions, etc.
|
|
|
|
cppcheck:
|
|
mkdir -p ../_cppcheck
|
|
cppcheck -j`nproc` -v --force --enable=all --suppress=missingIncludeSystem --suppress=ConfigurationNotChecked --suppress=unmatchedSuppression --suppress=variableScope --inline-suppr --check-level=exhaustive --cppcheck-build-dir=../_cppcheck .
|
|
-rm -rf ../_cppcheck
|
|
|
|
# Build a tar file based on all files checked into git.
|
|
distro:
|
|
cd .. && git archive --worktree-attributes --format=tar --prefix=remind-$(VERSION)/ HEAD > src/remind-$(VERSION).tar
|
|
gzip -f -v -9 remind-$(VERSION).tar
|
|
gpg --detach-sign -u dianne@skoll.ca remind-$(VERSION).tar.gz
|
|
|
|
beta-tgz:
|
|
cd .. && git archive --worktree-attributes --format=tar --prefix=remind-$(VERSION)-BETA-$(BETA)/ HEAD > src/remind-$(VERSION)-BETA-$(BETA).tar
|
|
gzip -f -v -9 remind-$(VERSION)-BETA-$(BETA).tar
|
|
gpg --detach-sign -u dianne@skoll.ca remind-$(VERSION)-BETA-$(BETA).tar.gz
|
|
|
|
distro-beta: beta-tgz
|
|
|
|
#---------------- Stuff after this added by "make depend" -----------------
|
|
|
|
|