core_sources = \ src/xmpp/contact.c src/xmpp/contact.h \ src/log.c src/common.c \ src/database.h src/database.c \ src/log.h src/profanity.c src/common.h \ src/profanity.h src/xmpp/chat_session.c \ src/xmpp/chat_session.h src/xmpp/muc.c src/xmpp/muc.h src/xmpp/jid.h src/xmpp/jid.c \ src/xmpp/chat_state.h src/xmpp/chat_state.c \ src/xmpp/resource.c src/xmpp/resource.h \ src/xmpp/roster_list.c src/xmpp/roster_list.h \ src/xmpp/xmpp.h src/xmpp/capabilities.c src/xmpp/session.c \ src/xmpp/connection.h src/xmpp/connection.c \ src/xmpp/iq.c src/xmpp/message.c src/xmpp/presence.c src/xmpp/stanza.c \ src/xmpp/stanza.h src/xmpp/message.h src/xmpp/iq.h src/xmpp/presence.h \ src/xmpp/capabilities.h src/xmpp/session.h \ src/xmpp/roster.c src/xmpp/roster.h \ src/xmpp/bookmark.c src/xmpp/bookmark.h \ src/xmpp/blocking.c src/xmpp/blocking.h \ src/xmpp/form.c src/xmpp/form.h \ src/xmpp/avatar.c src/xmpp/avatar.h \ src/xmpp/ox.c src/xmpp/ox.h \ src/event/common.c src/event/common.h \ src/event/server_events.c src/event/server_events.h \ src/event/client_events.c src/event/client_events.h \ src/ui/ui.h src/ui/window.c src/ui/window.h src/ui/core.c \ src/ui/titlebar.c src/ui/statusbar.c src/ui/inputwin.c \ src/ui/titlebar.h src/ui/statusbar.h src/ui/inputwin.h \ src/ui/screen.h src/ui/screen.c \ src/ui/console.c src/ui/notifier.c \ src/ui/win_types.h \ src/ui/window_list.c src/ui/window_list.h \ src/ui/rosterwin.c src/ui/occupantswin.c \ src/ui/buffer.c src/ui/buffer.h \ src/ui/chatwin.c \ src/ui/mucwin.c \ src/ui/privwin.c \ src/ui/confwin.c \ src/ui/xmlwin.c \ src/command/cmd_defs.h src/command/cmd_defs.c \ src/command/cmd_funcs.h src/command/cmd_funcs.c \ src/command/cmd_ac.h src/command/cmd_ac.c \ src/tools/parser.c \ src/tools/parser.h \ src/tools/http_common.c \ src/tools/http_common.h \ src/tools/http_upload.c \ src/tools/http_upload.h \ src/tools/http_download.c \ src/tools/http_download.h \ src/tools/bookmark_ignore.c \ src/tools/bookmark_ignore.h \ src/tools/autocomplete.c src/tools/autocomplete.h \ src/tools/clipboard.c src/tools/clipboard.h \ src/config/files.c src/config/files.h \ src/config/conflists.c src/config/conflists.h \ src/config/accounts.c src/config/accounts.h \ src/config/tlscerts.c src/config/tlscerts.h \ src/config/account.c src/config/account.h \ src/config/preferences.c src/config/preferences.h \ src/config/theme.c src/config/theme.h \ src/config/color.c src/config/color.h \ src/config/scripts.c src/config/scripts.h \ src/plugins/plugins.h src/plugins/plugins.c \ src/plugins/api.h src/plugins/api.c \ src/plugins/callbacks.h src/plugins/callbacks.c \ src/plugins/autocompleters.c src/plugins/autocompleters.h \ src/plugins/themes.c src/plugins/themes.h \ src/plugins/settings.c src/plugins/settings.h \ src/plugins/disco.c src/plugins/disco.h \ src/ui/tray.h src/ui/tray.c unittest_sources = \ src/xmpp/contact.c src/xmpp/contact.h src/common.c \ src/log.h src/profanity.c src/common.h \ src/profanity.h src/xmpp/chat_session.c \ src/xmpp/chat_session.h src/xmpp/muc.c src/xmpp/muc.h src/xmpp/jid.h src/xmpp/jid.c \ src/xmpp/resource.c src/xmpp/resource.h \ src/xmpp/chat_state.h src/xmpp/chat_state.c \ src/xmpp/roster_list.c src/xmpp/roster_list.h \ src/xmpp/xmpp.h src/xmpp/form.c \ src/ui/ui.h \ src/otr/otr.h \ src/pgp/gpg.h \ src/omemo/omemo.h \ src/omemo/crypto.h \ src/omemo/store.h \ src/command/cmd_defs.h src/command/cmd_defs.c \ src/command/cmd_funcs.h src/command/cmd_funcs.c \ src/command/cmd_ac.h src/command/cmd_ac.c \ src/tools/parser.c \ src/tools/parser.h \ src/tools/autocomplete.c src/tools/autocomplete.h \ src/tools/clipboard.c src/tools/clipboard.h \ src/tools/bookmark_ignore.c \ src/tools/bookmark_ignore.h \ src/config/accounts.h \ src/config/account.c src/config/account.h \ src/config/files.c src/config/files.h \ src/config/tlscerts.c src/config/tlscerts.h \ src/config/preferences.c src/config/preferences.h \ src/config/theme.c src/config/theme.h \ src/config/color.c src/config/color.h \ src/config/scripts.c src/config/scripts.h \ src/config/conflists.c src/config/conflists.h \ src/plugins/plugins.h src/plugins/plugins.c \ src/plugins/api.h src/plugins/api.c \ src/plugins/callbacks.h src/plugins/callbacks.c \ src/plugins/autocompleters.c src/plugins/autocompleters.h \ src/plugins/themes.c src/plugins/themes.h \ src/plugins/settings.c src/plugins/settings.h \ src/plugins/disco.c src/plugins/disco.h \ src/ui/window_list.c src/ui/window_list.h \ src/event/common.c src/event/common.h \ src/event/server_events.c src/event/server_events.h \ src/event/client_events.c src/event/client_events.h \ src/ui/tray.h src/ui/tray.c \ tests/unittests/xmpp/stub_avatar.c \ tests/unittests/xmpp/stub_ox.c \ tests/unittests/xmpp/stub_xmpp.c \ tests/unittests/xmpp/stub_message.c \ tests/unittests/ui/stub_ui.c tests/unittests/ui/stub_ui.h \ tests/unittests/log/stub_log.c \ tests/unittests/database/stub_database.c \ tests/unittests/config/stub_accounts.c \ tests/unittests/tools/stub_http_upload.c \ tests/unittests/tools/stub_http_download.c \ tests/unittests/tools/stub_aesgcm_download.c \ tests/unittests/helpers.c tests/unittests/helpers.h \ tests/unittests/test_form.c tests/unittests/test_form.h \ tests/unittests/test_common.c tests/unittests/test_common.h \ tests/unittests/test_autocomplete.c tests/unittests/test_autocomplete.h \ tests/unittests/test_jid.c tests/unittests/test_jid.h \ tests/unittests/test_parser.c tests/unittests/test_parser.h \ tests/unittests/test_roster_list.c tests/unittests/test_roster_list.h \ tests/unittests/test_chat_session.c tests/unittests/test_chat_session.h \ tests/unittests/test_contact.c tests/unittests/test_contact.h \ tests/unittests/test_preferences.c tests/unittests/test_preferences.h \ tests/unittests/test_server_events.c tests/unittests/test_server_events.h \ tests/unittests/test_muc.c tests/unittests/test_muc.h \ tests/unittests/test_cmd_presence.c tests/unittests/test_cmd_presence.h \ tests/unittests/test_cmd_alias.c tests/unittests/test_cmd_alias.h \ tests/unittests/test_cmd_connect.c tests/unittests/test_cmd_connect.h \ tests/unittests/test_cmd_rooms.c tests/unittests/test_cmd_rooms.h \ tests/unittests/test_cmd_account.c tests/unittests/test_cmd_account.h \ tests/unittests/test_cmd_sub.c tests/unittests/test_cmd_sub.h \ tests/unittests/test_cmd_bookmark.c tests/unittests/test_cmd_bookmark.h \ tests/unittests/test_cmd_otr.c tests/unittests/test_cmd_otr.h \ tests/unittests/test_cmd_pgp.c tests/unittests/test_cmd_pgp.h \ tests/unittests/test_cmd_join.c tests/unittests/test_cmd_join.h \ tests/unittests/test_cmd_roster.c tests/unittests/test_cmd_roster.h \ tests/unittests/test_cmd_disconnect.c tests/unittests/test_cmd_disconnect.h \ tests/unittests/test_callbacks.c tests/unittests/test_callbacks.h \ tests/unittests/test_plugins_disco.c tests/unittests/test_plugins_disco.h \ tests/unittests/unittests.c functionaltest_sources = \ tests/functionaltests/proftest.c tests/functionaltests/proftest.h \ tests/functionaltests/test_connect.c tests/functionaltests/test_connect.h \ tests/functionaltests/test_ping.c tests/functionaltests/test_ping.h \ tests/functionaltests/test_rooms.c tests/functionaltests/test_rooms.h \ tests/functionaltests/test_presence.c tests/functionaltests/test_presence.h \ tests/functionaltests/test_message.c tests/functionaltests/test_message.h \ tests/functionaltests/test_chat_session.c tests/functionaltests/test_chat_session.h \ tests/functionaltests/test_carbons.c tests/functionaltests/test_carbons.h \ tests/functionaltests/test_receipts.c tests/functionaltests/test_receipts.h \ tests/functionaltests/test_roster.c tests/functionaltests/test_roster.h \ tests/functionaltests/test_software.c tests/functionaltests/test_software.h \ tests/functionaltests/test_muc.c tests/functionaltests/test_muc.h \ tests/functionaltests/test_disconnect.c tests/functionaltests/test_disconnect.h \ tests/functionaltests/functionaltests.c main_source = src/main.c python_sources = \ src/plugins/python_plugins.h src/plugins/python_plugins.c \ src/plugins/python_api.h src/plugins/python_api.c c_sources = \ src/plugins/c_plugins.h src/plugins/c_plugins.c \ src/plugins/c_api.h src/plugins/c_api.c git_include = src/gitversion.h pgp_sources = \ src/pgp/gpg.h src/pgp/gpg.c pgp_unittest_sources = \ tests/unittests/pgp/stub_gpg.c otr3_sources = \ src/otr/otrlib.h src/otr/otrlibv3.c src/otr/otr.h src/otr/otr.c otr4_sources = \ src/otr/otrlib.h src/otr/otrlibv4.c src/otr/otr.h src/otr/otr.c omemo_sources = \ src/omemo/omemo.h src/omemo/omemo.c src/omemo/crypto.h src/omemo/crypto.c \ src/omemo/store.h src/omemo/store.c src/xmpp/omemo.h src/xmpp/omemo.c \ src/tools/aesgcm_download.h src/tools/aesgcm_download.c omemo_unittest_sources = \ tests/unittests/omemo/stub_omemo.c if BUILD_PYTHON_API core_sources += $(python_sources) unittest_sources += $(python_sources) endif if BUILD_C_API core_sources += $(c_sources) unittest_sources += $(c_sources) endif otr_unittest_sources = \ tests/unittests/otr/stub_otr.c themes_sources = $(top_srcdir)/themes/* icons_sources = $(top_srcdir)/icons/* script_sources = bootstrap.sh man_sources = docs/profanity*.1 if BUILD_PGP core_sources += $(pgp_sources) unittest_sources += $(pgp_unittest_sources) endif if BUILD_OTR unittest_sources += $(otr_unittest_sources) if BUILD_OTR3 core_sources += $(otr3_sources) endif if BUILD_OTR4 core_sources += $(otr4_sources) endif endif if BUILD_OMEMO core_sources += $(omemo_sources) unittest_sources += $(omemo_unittest_sources) endif all_c_sources = $(core_sources) $(unittest_sources) \ $(pgp_sources) $(pgp_unittest_sources) \ $(otr3_sources) $(otr4_sources) $(otr_unittest_sources) \ $(omemo_sources) $(omemo_unittest_sources) \ $(c_sources) $(python_sources) \ $(main_source) AM_CFLAGS = @AM_CFLAGS@ -I$(srcdir)/src bin_PROGRAMS = profanity profanity_SOURCES = $(core_sources) $(main_source) if THEMES_INSTALL profanity_themesdir = @THEMES_PATH@ profanity_themes_DATA = $(themes_sources) endif if INCLUDE_GIT_VERSION BUILT_SOURCES = $(git_include) endif profanity_iconsdir = @ICONS_PATH@ profanity_icons_DATA = $(icons_sources) if BUILD_C_API lib_LTLIBRARIES = libprofanity.la libprofanity_la_LDFLAGS = -version-info 0:0:0 -shared -no-undefined libprofanity_la_SOURCES = src/plugins/profapi.c library_includedir=$(includedir) library_include_HEADERS = src/plugins/profapi.h endif TESTS = tests/unittests/unittests check_PROGRAMS = tests/unittests/unittests tests_unittests_unittests_SOURCES = $(unittest_sources) tests_unittests_unittests_LDADD = -lcmocka # Functional test were commented out because of: # https://github.com/profanity-im/profanity/pull/1010 # An issue was raised for stabber: # https://github.com/profanity-im/stabber/issues/5 # Once this issue is resolved functional tests should be enabled again # #if HAVE_STABBER #if HAVE_EXPECT #TESTS += tests/functionaltests/functionaltests #check_PROGRAMS += tests/functionaltests/functionaltests #tests_functionaltests_functionaltests_SOURCES = $(functionaltest_sources) #tests_functionaltests_functionaltests_CFLAGS = $(AM_CFLAGS) -I/usr/include/tcl8.6 -I/usr/include/tcl8.5 #tests_functionaltests_functionaltests_LDADD = -lcmocka -lstabber -lexpect #endif #endif man_MANS = $(man_sources) EXTRA_DIST = $(man_sources) $(icons_sources) $(themes_sources) $(script_sources) profrc.example theme_template LICENSE.txt README.md CHANGELOG # Ship API documentation with `make dist` EXTRA_DIST += \ apidocs/c/c-prof.conf \ apidocs/c/gen.sh \ apidocs/c/profapi.h \ apidocs/c/profhooks.h \ apidocs/python/conf.py \ apidocs/python/gen.sh \ apidocs/python/index.rst \ apidocs/python/Makefile \ apidocs/python/src/plugin.py \ apidocs/python/src/prof.py if INCLUDE_GIT_VERSION EXTRA_DIST += .git/HEAD .git/index $(git_include).in: .git/HEAD .git/index rm -f $@ echo "#ifndef PROF_GIT_BRANCH" >> $@ echo "#define PROF_GIT_BRANCH \"$(shell git rev-parse --symbolic-full-name --abbrev-ref HEAD)\"" >> $@ echo "#endif" >> $@ echo "#ifndef PROF_GIT_REVISION" >> $@ echo "#define PROF_GIT_REVISION \"$(shell git log --pretty=format:'%h' -n 1)\"" >> $@ echo "#endif" >> $@ # # Create $(git_include) atomically to catch possible race. The race can occur # when $(git_include) is generated in parallel with building of src/profanity.c. # So this hack allows to find and fix the problem earlier. # $(git_include): $(git_include).in cp $< $@ clean-local: rm -f $(git_include) $(git_include).in endif check-unit: tests/unittests/unittests tests/unittests/unittests format: $(all_c_sources) clang-format -i $(all_c_sources) spell: codespell doublecheck: format check spell