# SPDX-License-Identifier: GPL-3.0-or-later
#
# $Id: Makefile.am,v 1.6 2026/05/17 20:11:29 asm Exp $
#
# Makefile.am for GNUtrition
#
# Copyright (C) 2026 Free Software Foundation, Inc.
#
# Author: Jason Self <jself@gnu.org>
# Anton McClure <asm@gnu.org>
bin_PROGRAMS = gnutrition
bin_SCRIPTS = gnutrition-updatedb
gnutrition_datadir = $(datadir)/gnutrition
info_TEXINFOS = gnutrition.texi
doc_DATA = \
AUTHORS \
ChangeLog \
ChangeLog.OLD \
COPYING \
INSTALL \
NEWS \
README \
gnutrition.html \
gnutrition.pdf
AM_CPPFLAGS = -DPKGDATADIR=\"$(pkgdatadir)\"
# -----------------------------------------------------------------------------
# CLI binary (ncurses)
# -----------------------------------------------------------------------------
gnutrition_SOURCES = \
main.c \
ui.c \
db.c \
budget.c \
log.c
gnutrition_CFLAGS = -Wall -Wextra -pedantic $(SQLITE3_CFLAGS) $(NCURSES_CFLAGS)
gnutrition_CPPFLAGS = -I$(srcdir) -DLOCALEDIR=\"$(localedir)\" -DGNUTRITION_DATADIR=\"$(gnutrition_datadir)\"
gnutrition_LDADD = $(SQLITE3_LIBS) $(NCURSES_LIBS) -lm
# -----------------------------------------------------------------------------
# GTK GUI binary (optional, built when GTK 3 and GIO are available)
# -----------------------------------------------------------------------------
if BUILD_GTK
bin_PROGRAMS += gnutrition-gui
gnutrition_gui_SOURCES = \
gui_main.c \
gui.c \
dbus.c \
db.c \
budget.c \
log.c
gnutrition_gui_CFLAGS = -Wall -Wextra -pedantic $(SQLITE3_CFLAGS) $(GTK_CFLAGS) $(GIO_CFLAGS)
gnutrition_gui_CPPFLAGS = -I$(srcdir) -DLOCALEDIR=\"$(localedir)\" -DGNUTRITION_DATADIR=\"$(gnutrition_datadir)\"
gnutrition_gui_LDADD = $(SQLITE3_LIBS) $(GTK_LIBS) $(GIO_LIBS) -lm
endif
# -----------------------------------------------------------------------------
# Database update script
# -----------------------------------------------------------------------------
gnutrition-updatedb: gnutrition-updatedb.in
sed -e 's|@datadir[@]|$(datadir)|g' \
-e 's|@prefix[@]|$(prefix)|g' \
< $(srcdir)/gnutrition-updatedb.in > $@
chmod +x $@
# Include header files and support scripts in the distribution.
EXTRA_DIST = \
budget.h \
db.h \
dbus.h \
gui.h \
i18n.h \
log.h \
ui.h \
version.sh \
.ver \
gnutrition-updatedb.in \
ChangeLog.OLD \
gnutrition.html \
gnutrition.pdf \
gnutrition.texi \
gfdl.texi
# -----------------------------------------------------------------------------
# Documentation
# -----------------------------------------------------------------------------
if HAVE_TEXINFO
all-local: gnutrition.html gnutrition.pdf
version.texi: .ver
echo "@set VERSION $$(cat .ver)" > $@
gnutrition.html: gnutrition.texi
texi2html --html --no-split $(srcdir)/gnutrition.texi -o $@
gnutrition.pdf: gnutrition.texi
texi2pdf --clean $(srcdir)/gnutrition.texi -o $@
else
all-local:
endif
# Man page.
dist_man_MANS = gnutrition.1
CLEANFILES = gnutrition-updatedb
MAINTAINERCLEANFILES = gnutrition.html gnutrition.pdf
FreeBSD-CVSweb <freebsd-cvsweb@FreeBSD.org>