view Makefile.am @ 327:b5d6c27c308f

anime: refactor Anime::SeriesSeason to Season class ToLocalString has also been altered to take in both season and year because lots of locales actually treat formatting seasons differently! most notably is Russian which adds a suffix at the end to notate seasons(??)
author Paper <paper@paper.us.eu.org>
date Thu, 13 Jun 2024 01:49:18 -0400
parents 10096c5489e3
children 4aeffed717ef
line wrap: on
line source

bin_PROGRAMS = minori

# Localization

minori_locale_ts = \
	rc/locale/en_GB.ts

minori_locale_qm = $(minori_locale_ts:.ts=.qm)

rc/locale/translations.qrc: $(minori_locale_qm)
	$(MKDIR_P) $$(dirname $@); \
	printf "<!DOCTYPE rcc><RCC version=\"1.0\">\n\t<qresource prefix=\"locale/\">\n" > $@; \
	for q in $(minori_locale_qm); do \
		printf "\t\t<file>%s</file>\n" "$$(basename $$q)" >> $@; \
	done;
	printf "\t</qresource>\n</RCC>\n" >> $@;

# Qt resources



minori_qtrc = \
	$(top_srcdir)/rc/icons/icons.qrc	\
	$(top_srcdir)/rc/animone.qrc	\
	rc/locale/translations.qrc

# various things we want to distribute

minori_icons_png = \
	$(top_srcdir)/rc/icons/16x16/arrow-circle-315.png \
	$(top_srcdir)/rc/icons/16x16/calendar.png \
	$(top_srcdir)/rc/icons/16x16/calendar-previous.png	\
	$(top_srcdir)/rc/icons/16x16/calendar-next.png	\
	$(top_srcdir)/rc/icons/16x16/category.png \
	$(top_srcdir)/rc/icons/16x16/chart.png \
	$(top_srcdir)/rc/icons/16x16/clock-history-frame.png \
	$(top_srcdir)/rc/icons/16x16/cross-button.png \
	$(top_srcdir)/rc/icons/16x16/document-list.png \
	$(top_srcdir)/rc/icons/16x16/feed.png \
	$(top_srcdir)/rc/icons/16x16/film.png \
	$(top_srcdir)/rc/icons/16x16/gear.png \
	$(top_srcdir)/rc/icons/16x16/magnifier.png \
	$(top_srcdir)/rc/icons/16x16/navigation-270-button.png \
	$(top_srcdir)/rc/icons/16x16/plus-button.png \
	$(top_srcdir)/rc/icons/16x16/sort-quantity-descending.png \
	$(top_srcdir)/rc/icons/16x16/ui-scroll-pane-detail.png \
	$(top_srcdir)/rc/icons/24x24/application-export.png \
	$(top_srcdir)/rc/icons/24x24/application-sidebar-list.png \
	$(top_srcdir)/rc/icons/24x24/arrow-circle-double-135.png \
	$(top_srcdir)/rc/icons/24x24/feed.png \
	$(top_srcdir)/rc/icons/24x24/folder-open.png \
	$(top_srcdir)/rc/icons/24x24/gear.png \
	$(top_srcdir)/rc/icons/24x24/globe.png \
	$(top_srcdir)/rc/icons/24x24/inbox-film.png \
	$(top_srcdir)/rc/icons/24x24/megaphone.png \
	$(top_srcdir)/rc/icons/24x24/question.png

minori_linux_rc = \
	$(top_srcdir)/rc/sys/linux/Minori.desktop \
	$(top_srcdir)/rc/sys/linux/Minori.png

minori_osx_rc = \
	$(top_srcdir)/rc/sys/osx/Minori.app/Contents/Resources/Minori.icns \
	$(top_srcdir)/rc/sys/osx/Minori.app/Contents/Info.plist \
	$(top_srcdir)/rc/sys/osx/Minori.app/Contents/PkgInfo

minori_win32_rc = \
	$(top_srcdir)/rc/sys/win32/dark/dark.qrc \
	$(top_srcdir)/rc/sys/win32/dark/dark.qss \
	$(top_srcdir)/rc/sys/win32/favicon.ico \
	$(top_srcdir)/rc/sys/win32/version.rc

minori_scripts = \
	$(top_srcdir)/scripts/osx/deploy_build.sh \
	$(top_srcdir)/scripts/win32/deploy_build.sh

EXTRA_DIST = \
	$(minori_icons_png) \
	$(top_srcdir)/rc/icons/README.md \
	$(minori_linux_rc) \
	$(minori_osx_rc) \
	$(minori_win32_rc) \
	$(minori_scripts)

# OS-specific

if BUILD_GLIB

files_glib = src/sys/glib/dark_theme.cc
cflags_glib = $(GLIB_CFLAGS)
libs_glib = $(GLIB_LIBS)

endif

if BUILD_WIN

files_win = src/sys/win32/dark_theme.cc
libs_win = -lole32 -luuid
ldflags_win = -mwindows

# Add dark stylesheet to resources
minori_qtrc_win = $(top_srcdir)/rc/sys/win32/dark/dark.qrc
minori_qtrc_win_dep = $(top_srcdir)/rc/sys/win32/dark/dark.qss

if BUILD_WINDRES

wrcflags_version = -DWRC_VERSION=0,`echo $(PACKAGE_VERSION) | @SED@ 's/\([0-9]\{1,\}\)\.\([0-9]\{1,\}\)\.\([0-9]\{1,\}\).*/\1,\2,\3/'`

WRCFLAGS = --use-temp-file -I. -I$(srcdir) $(wrcflags_version) $(CPPFLAGS)
.rc.$(OBJEXT):
	$(WINDRES) $(WRCFLAGS) -i $< -o $@
files_windres=rc/sys/win32/version.rc

endif # BUILD_WINDRES

endif # BUILD_WIN

if BUILD_OSX

files_osx = src/sys/osx/dark_theme.cc src/sys/osx/permissions.cc
cflags_osx = -mmacosx-version-min=10.15
libs_osx = -lobjc
ldflags_osx = -framework Foundation -framework AppKit

endif

minori_qtheaders = \
	include/core/http.h			\
	include/core/session.h      \
	include/gui/dialog/about.h		\
	include/gui/dialog/information.h		\
	include/gui/dialog/settings.h			\
	include/gui/pages/anime_list.h			\
	include/gui/pages/history.h			\
	include/gui/pages/now_playing.h		\
	include/gui/pages/search.h			\
	include/gui/pages/seasons.h		\
	include/gui/pages/statistics.h		\
	include/gui/pages/torrents.h		\
	include/gui/translate/anilist.h		\
	include/gui/translate/anime.h			\
	include/gui/translate/config.h		\
	include/gui/widgets/anime_button.h	\
	include/gui/widgets/anime_info.h		\
	include/gui/widgets/clickable_label.h		\
	include/gui/widgets/drop_list_widget.h      \
	include/gui/widgets/graph.h			\
	include/gui/widgets/optional_date.h		\
	include/gui/widgets/poster.h			\
	include/gui/widgets/sidebar.h			\
	include/gui/widgets/text.h		\
	include/gui/widgets/elided_label.h	\
	include/gui/locale.h	\
	include/gui/theme.h			\
	include/gui/window.h

noinst_HEADERS = \
	include/core/anime_db.h		\
	include/core/anime.h		\
	include/core/anime_season.h	\
	include/core/config.h		\
	include/core/date.h		\
	include/core/filesystem.h			\
	include/core/json.h			\
	include/core/strings.h			\
	include/core/time.h			\
	include/core/torrent.h		\
	include/library/library.h		\
	include/services/anilist.h		\
	include/services/kitsu.h        \
	include/services/services.h		\
	include/sys/glib/dark_theme.h	\
	include/sys/osx/dark_theme.h	\
	include/sys/osx/permissions.h   \
	include/sys/win32/dark_theme.h	\
	include/track/media.h			\
	dep/json/json.hpp	\
	dep/json/json_fwd.hpp	\
	dep/toml11/toml.hpp \
	dep/toml11/toml/color.hpp \
	dep/toml11/toml/combinator.hpp \
	dep/toml11/toml/comments.hpp \
	dep/toml11/toml/datetime.hpp \
	dep/toml11/toml/exception.hpp \
	dep/toml11/toml/from.hpp \
	dep/toml11/toml/get.hpp \
	dep/toml11/toml/into.hpp \
	dep/toml11/toml/lexer.hpp \
	dep/toml11/toml/literal.hpp \
	dep/toml11/toml/macros.hpp \
	dep/toml11/toml/parser.hpp \
	dep/toml11/toml/region.hpp \
	dep/toml11/toml/result.hpp \
	dep/toml11/toml/serializer.hpp \
	dep/toml11/toml/source_location.hpp \
	dep/toml11/toml/storage.hpp \
	dep/toml11/toml/string.hpp \
	dep/toml11/toml/traits.hpp \
	dep/toml11/toml/types.hpp \
	dep/toml11/toml/utility.hpp \
	dep/toml11/toml/value.hpp \
	dep/toml11/toml/version.hpp \
	dep/semver/semver.hpp	\
	$(minori_qtheaders)

minori_utf8proc_sources = \
	dep/utf8proc/utf8proc.c

minori_moc_sources = $(minori_qtheaders:.h=_moc.cc)

minori_SOURCES = \
	src/core/anime_db.cc		\
	src/core/anime.cc		\
	src/core/anime_season.cc	\
	src/core/config.cc		\
	src/core/date.cc		\
	src/core/filesystem.cc		\
	src/core/http.cc		\
	src/core/json.cc		\
	src/core/session.cc     \
	src/core/strings.cc		\
	src/core/time.cc		\
	src/gui/dialog/settings/application.cc		\
	src/gui/dialog/settings/library.cc		\
	src/gui/dialog/settings/recognition.cc		\
	src/gui/dialog/settings/services.cc		\
	src/gui/dialog/settings/torrents.cc		\
	src/gui/dialog/about.cc		\
	src/gui/dialog/information.cc		\
	src/gui/dialog/settings.cc		\
	src/gui/pages/anime_list.cc		\
	src/gui/pages/history.cc		\
	src/gui/pages/now_playing.cc		\
	src/gui/pages/search.cc		\
	src/gui/pages/seasons.cc		\
	src/gui/pages/statistics.cc		\
	src/gui/pages/torrents.cc		\
	src/gui/translate/anilist.cc		\
	src/gui/translate/anime.cc		\
	src/gui/translate/config.cc		\
	src/gui/widgets/anime_button.cc	\
	src/gui/widgets/anime_info.cc		\
	src/gui/widgets/clickable_label.cc		\
	src/gui/widgets/drop_list_widget.cc     \
	src/gui/widgets/elided_label.cc			\
	src/gui/widgets/optional_date.cc		\
	src/gui/widgets/poster.cc		\
	src/gui/widgets/sidebar.cc		\
	src/gui/widgets/text.cc		\
	src/gui/locale.cc		\
	src/gui/theme.cc		\
	src/gui/window.cc		\
	src/library/library.cc		\
	src/services/anilist.cc		\
	src/services/kitsu.cc       \
	src/services/services.cc		\
	src/track/media.cc		\
	src/main.cc		\
	$(files_osx)			\
	$(files_glib)			\
	$(files_win)			\
	$(files_windres)	\
	$(minori_locale_ts)	\
	$(minori_qtrc)	\
	$(minori_qtrc_win)	\
	$(minori_locale_qm)	\
	$(minori_moc_sources)	\
	$(minori_utf8proc_sources)	\
	rc/final_qrc.cc

minori_includes = \
	-I$(top_srcdir)/include \
	-I$(top_srcdir)/dep/animone/include \
	-I$(top_srcdir)/dep/pugixml/src \
	-I$(top_srcdir)/dep/anitomy \
	-I$(top_srcdir)/dep/utf8proc \
	-I$(top_srcdir)/dep

minori_CPPFLAGS = $(LIBCURL_CPPFLAGS) $(minori_includes)
minori_CXXFLAGS = $(QT_CFLAGS) $(cflags_osx) $(cflags_glib) $(cflags_win)
minori_LDFLAGS = $(QT_LDFLAGS) $(ldflags_osx) $(ldflags_win)

minori_DEPENDENCIES = dep/pugixml/libpugixml.la dep/animone/libanimone.la dep/anitomy/libanitomy.la
minori_LDADD = $(minori_DEPENDENCIES) $(libs_glib) $(LIBCURL) $(QT_LIBS) $(libs_osx) $(libs_win)

# Build only one qrc, otherwise we get a ton of
# weird linking errors
rc/final_qrc.cc: $(minori_qtrc) $(minori_qtrc_win) $(minori_icons_png) $(minori_qtrc_win_dep)
	$(QT_RCC) -o $@ $(minori_qtrc) $(minori_qtrc_win)

.h_moc.cc:
	$(MKDIR_P) -- $$(dirname $@)
	$(QT_MOC) -o $@ $(minori_includes) $<

.ts.qm:
	$(MKDIR_P) $$(dirname $@); \
	$(QT_LRELEASE) $< -qm $@

SUFFIXES = .h _moc.cc .ts .qm
SUBDIRS = $(subdirs)
ACLOCAL_AMFLAGS = -I m4