# Specify automake version. AUTOMAKE_OPTIONS = 1.11.3 ACLOCAL_AMFLAGS = -I subprojects/libgwater ${ACLOCAL_FLAGS} AM_YFLAGS = -d noinst_LIBRARIES = include $(top_srcdir)/libgwater-xcb-nolibtool.mk ## # PKG CONFIG file ## pkgconfigdir = $(libdir)/pkgconfig pkgconfig_DATA = pkgconfig/rofi.pc BUILT_SOURCES=\ lexer/theme-parser.h\ lexer/theme-parser.c\ lexer/theme-lexer.c $(top_builddir)/lexer/theme-lexer.c: $(top_srcdir)/lexer/theme-lexer.l $(top_builddir)/lexer/theme-parser.c $(top_builddir)/lexer/theme-parser.h: $(top_srcdir)/lexer/theme-parser.y rofiincludedir=${includedir}/rofi rofiinclude_HEADERS=\ include/mode.h\ include/mode-private.h\ include/helper.h ## # Rofi the program ## bin_PROGRAMS=rofi dist_bin_SCRIPTS=\ script/rofi-sensible-terminal\ script/rofi-theme-selector nodist_rofi_SOURCES=\ $(top_builddir)/gitconfig.h SOURCES=\ source/rofi.c\ source/view.c\ source/mode.c\ source/keyb.c\ config/config.c\ source/helper.c\ source/timings.c\ source/history.c\ source/theme.c\ source/widgets/box.c\ source/widgets/container.c\ source/widgets/widget.c\ source/widgets/textbox.c\ source/widgets/listview.c\ source/widgets/scrollbar.c\ source/xrmoptions.c\ source/x11-helper.c\ source/dialogs/run.c\ source/dialogs/ssh.c\ source/dialogs/drun.c\ source/dialogs/dmenu.c\ source/dialogs/combi.c\ source/dialogs/window.c\ source/dialogs/script.c\ source/dialogs/help-keys.c\ include/xcb.h\ include/xcb-internal.h\ include/rofi.h\ include/mode.h\ include/mode-private.h\ include/settings.h\ include/keyb.h\ include/view.h\ include/view-internal.h\ include/helper.h\ include/helper-theme.h\ include/timings.h\ include/history.h\ include/theme.h\ include/default-theme.h\ include/widgets/box.h\ include/widgets/container.h\ include/widgets/widget.h\ include/widgets/widget-internal.h\ include/widgets/textbox.h\ include/widgets/listview.h\ include/widgets/scrollbar.h\ include/xrmoptions.h\ include/x11-helper.h\ include/dialogs/ssh.h\ include/dialogs/run.h\ include/dialogs/drun.h\ include/dialogs/dmenu.h\ include/dialogs/combi.h\ include/dialogs/script.h\ include/dialogs/window.h\ include/dialogs/dialogs.h\ include/dialogs/help-keys.h\ include/xkb.h\ include/xkb-internal.h rofi_SOURCES=\ lexer/theme-parser.y\ lexer/theme-lexer.l\ $(SOURCES) rofi_CFLAGS=\ $(AM_CFLAGS)\ $(glib_CFLAGS)\ $(GW_XCB_CFLAGS)\ $(pango_CFLAGS)\ $(libsn_CFLAGS)\ $(cairo_CFLAGS)\ -DMANPAGE_PATH="\"$(mandir)/\""\ -I$(top_srcdir)/include/\ -I$(top_builddir)/lexer/\ -I$(top_srcdir)/lexer/\ -I$(top_srcdir)/config/\ -I$(top_builddir)/\ -Werror=missing-prototypes\ -DSYSCONFDIR=\"$(sysconfdir)\"\ -DTHEME_CONVERTER\ -DPLUGIN_PATH=\"${libdir}/rofi\"\ -DTHEME_DIR=\"$(themedir)\" rofi_LDADD=\ $(glib_LIBS)\ $(GW_XCB_LIBS)\ $(libsn_LIBS)\ $(pango_LIBS)\ $(cairo_LIBS)\ $(LIBS) ## # Manpage ## dist_man1_MANS=\ doc/rofi.1\ doc/rofi-sensible-terminal.1 dist_man5_MANS=\ doc/rofi-theme.5 ## # Readme.md ## markdown_SC_FILES=\ README.md # want the html to show up in release. md_verbose = $(md_verbose_@AM_V@) md_verbose_ = $(md_verbose_@AM_DEFAULT_V@) md_verbose_0 = @echo " MD" $@; markdown_FILES=\ README.html README.html: README.md $(md_verbose) markdown $< > $@ ### # Themes ### themedir=$(pkgdatadir)/themes/ theme_DATA=\ themes/Adapta-Nokto.rasi\ themes/Arc.rasi\ themes/DarkBlue.rasi\ themes/Indego.rasi\ themes/Monokai.rasi\ themes/Paper.rasi\ themes/android_notification.rasi\ themes/arthur.rasi\ themes/blue.rasi\ themes/c64.rasi\ themes/glue_pro_blue.rasi\ themes/gruvbox-dark-hard.rasi\ themes/gruvbox-dark-soft.rasi\ themes/gruvbox-dark.rasi\ themes/gruvbox-light-hard.rasi\ themes/gruvbox-light-soft.rasi\ themes/gruvbox-light.rasi\ themes/lb.rasi\ themes/paper-float.rasi\ themes/purple.rasi\ themes/sidebar.rasi\ themes/solarized.rasi\ themes/solarized_alternate.rasi ## # Extra DIST ## EXTRA_DIST=\ $(markdown_FILES)\ $(markdown_SC_FILES)\ Examples/i3_switch_workspaces.sh\ INSTALL.md\ AUTHORS\ doc/rofi.doxy.in\ script/get_git_rev.sh\ $(theme_DATA)\ Changelog ## # Indent ## update-manpage: $(top_srcdir)/doc/rofi-manpage.markdown $(top_srcdir)/doc/rofi-theme-manpage.markdown ronn --roff --pipe $(top_srcdir)/doc/rofi-manpage.markdown > $(top_srcdir)/doc/rofi.1 ronn --roff --pipe $(top_srcdir)/doc/rofi-theme-manpage.markdown > $(top_srcdir)/doc/rofi-theme.5 ## # Rofi test program ## check_PROGRAMS=\ history_test\ textbox_test\ helper_test\ helper_expand\ helper_pidfile\ helper_tokenize\ helper_config_cmdline_parser\ widget_test\ box_test\ scrollbar_test if USE_CHECK check_PROGRAMS+=mode_test theme_parser_test endif history_test_CFLAGS=\ $(AM_CFLAGS)\ $(glib_CFLAGS)\ $(libsn_CFLAGS)\ -DTHEME_DIR=\"$(themedir)\"\ -DPLUGIN_PATH=\"${libdir}/rofi\"\ -I$(top_srcdir)/include/\ -I$(top_srcdir)/config/\ -I$(top_builddir)/ history_test_LDADD=\ $(glib_LIBS) history_test_SOURCES=\ source/history.c\ config/config.c\ include/rofi.h\ include/mode.h\ include/mode-private.h\ include/settings.h\ include/history.h\ test/history-test.c textbox_test_CFLAGS=\ $(AM_CFLAGS)\ $(glib_CFLAGS)\ $(pango_CFLAGS)\ $(GW_XCB_CFLAGS)\ $(cairo_CFLAGS)\ $(libsn_CFLAGS)\ -DPLUGIN_PATH=\"${libdir}/rofi\"\ -DTHEME_DIR=\"$(themedir)\"\ -I$(top_srcdir)/include/\ -I$(top_builddir)/lexer/\ -I$(top_srcdir)/lexer/\ -I$(top_srcdir)/config/\ -I$(top_builddir)/ textbox_test_LDADD=\ $(glib_LIBS)\ $(pango_LIBS)\ $(GW_XCB_LIBS)\ $(cairo_LIBS)\ $(libsn_LIBS) helper_pidfile_CFLAGS=$(textbox_test_CFLAGS) helper_pidfile_LDADD=$(textbox_test_LDADD) helper_pidfile_SOURCES=\ config/config.c\ include/rofi.h\ include/mode.h\ include/mode-private.h\ source/helper.c\ include/helper.h\ include/helper-theme.h\ include/xrmoptions.h\ source/xrmoptions.c\ source/x11-helper.c\ include/x11-helper.h\ test/helper-pidfile.c helper_tokenize_CFLAGS=$(textbox_test_CFLAGS) helper_tokenize_LDADD=$(textbox_test_LDADD) helper_tokenize_SOURCES=\ config/config.c\ include/rofi.h\ include/mode.h\ include/mode-private.h\ source/helper.c\ include/helper.h\ include/helper-theme.h\ include/xrmoptions.h\ source/xrmoptions.c\ source/x11-helper.c\ include/x11-helper.h\ test/helper-tokenize.c widget_test_LDADD=$(textbox_test_LDADD) widget_test_CFLAGS=$(textbox_test_CFLAGS) widget_test_SOURCES=\ source/widgets/widget.c\ source/widgets/textbox.c\ source/theme.c\ source/helper.c\ source/x11-helper.c\ config/config.c\ lexer/theme-parser.y\ lexer/theme-lexer.l\ test/widget-test.c box_test_LDADD=$(textbox_test_LDADD) box_test_CFLAGS=$(textbox_test_CFLAGS) box_test_SOURCES=\ source/widgets/widget.c\ source/widgets/box.c\ lexer/theme-parser.y\ lexer/theme-lexer.l\ source/theme.c\ include/theme.h\ test/box-test.c scrollbar_test_LDADD=$(textbox_test_LDADD) scrollbar_test_CFLAGS=$(textbox_test_CFLAGS) scrollbar_test_SOURCES=\ source/widgets/widget.c\ source/widgets/scrollbar.c\ lexer/theme-parser.y\ lexer/theme-lexer.l\ source/theme.c\ include/theme.h\ test/scrollbar-test.c textbox_test_SOURCES=\ source/widgets/widget.c\ source/widgets/textbox.c\ lexer/theme-parser.y\ lexer/theme-lexer.l\ source/theme.c\ source/helper.c\ source/x11-helper.c\ config/config.c\ include/keyb.h\ include/rofi.h\ include/mode.h\ include/mode-private.h\ include/settings.h\ include/widgets/widget.h\ include/widgets/widget-internal.h\ include/widgets/textbox.h\ include/xrmoptions.h\ include/helper.h\ include/helper-theme.h\ test/textbox-test.c if USE_CHECK theme_parser_test_CFLAGS=${helper_test_CFLAGS} $(check_CFLAGS) theme_parser_test_LDADD=${helper_test_LDADD} $(check_LIBS) theme_parser_test_SOURCES=\ config/config.c\ include/rofi.h\ include/mode.h\ include/mode-private.h\ source/helper.c\ include/helper.h\ include/helper-theme.h\ include/theme.h\ include/xrmoptions.h\ source/xrmoptions.c\ source/x11-helper.c\ lexer/theme-lexer.c\ lexer/theme-parser.c\ lexer/theme-parser.h\ source/theme.c\ test/theme-parser-test.c endif helper_test_SOURCES=\ config/config.c\ include/rofi.h\ include/mode.h\ include/mode-private.h\ source/helper.c\ include/helper.h\ include/helper-theme.h\ include/xrmoptions.h\ source/xrmoptions.c\ source/x11-helper.c\ test/helper-test.c helper_test_CFLAGS=\ $(AM_CFLAGS)\ $(glib_CFLAGS)\ $(pango_CFLAGS)\ $(GW_XCB_CFLAGS)\ $(cairo_CFLAGS)\ $(libsn_CFLAGS)\ -DPLUGIN_PATH=\"${libdir}/rofi\"\ -DTHEME_DIR=\"$(themedir)\"\ -I$(top_srcdir)/include/\ -I$(top_builddir)/lexer/\ -I$(top_srcdir)/lexer/\ -I$(top_srcdir)/config/\ -I$(top_builddir)/ helper_test_LDADD=\ $(glib_LIBS)\ $(pango_LIBS)\ $(GW_XCB_LIBS)\ $(libsn_LIBS)\ $(cairo_LIBS) helper_expand_SOURCES=\ config/config.c\ include/rofi.h\ include/mode.h\ include/mode-private.h\ source/helper.c\ include/helper.h\ include/helper-theme.h\ include/xrmoptions.h\ source/xrmoptions.c\ source/x11-helper.c\ test/helper-expand.c helper_expand_CFLAGS=${helper_test_CFLAGS} helper_expand_LDADD=${helper_test_LDADD} helper_config_cmdline_parser_CFLAGS=${helper_test_CFLAGS} helper_config_cmdline_parser_LDADD=${helper_test_LDADD} helper_config_cmdline_parser_SOURCES=\ config/config.c\ include/rofi.h\ include/mode.h\ include/mode-private.h\ source/helper.c\ include/helper.h\ include/helper-theme.h\ include/xrmoptions.h\ source/xrmoptions.c\ source/x11-helper.c\ test/helper-config-cmdline-parser.c if USE_CHECK mode_test_CFLAGS=$(textbox_test_CFLAGS) $(check_CFLAGS) mode_test_LDADD=$(textbox_test_LDADD) $(check_LIBS) mode_test_SOURCES=\ config/config.c\ test/mode-test.c\ source/dialogs/help-keys.c\ source/helper.c\ source/mode.c\ source/xrmoptions.c\ source/keyb.c\ include/mode.h\ include/mode-private.h endif TESTS=\ history_test\ helper_test\ helper_expand\ helper_pidfile\ helper_tokenize\ helper_config_cmdline_parser\ textbox_test\ widget_test\ box_test\ scrollbar_test if USE_CHECK TESTS+=theme_parser_test\ mode_test endif .PHONY: test-x test-x: $(bin_PROGRAMS) echo "Test 2" $(top_srcdir)/test/run_test.sh 200 $(top_srcdir)/test/run_errormsg_test.sh $(top_builddir) echo "Test 3" $(top_srcdir)/test/run_test.sh 201 $(top_srcdir)/test/run_switchdialog_test.sh $(top_builddir) echo "Test 4" $(top_srcdir)/test/run_test.sh 202 $(top_srcdir)/test/run_dmenu_test.sh $(top_builddir) echo "Test 5" $(top_srcdir)/test/run_test.sh 203 $(top_srcdir)/test/run_dmenu_custom_test.sh $(top_builddir) echo "Test 6" $(top_srcdir)/test/run_test.sh 204 $(top_srcdir)/test/run_run_test.sh $(top_builddir) echo "Test 7" $(top_srcdir)/test/run_test.sh 205 $(top_srcdir)/test/run_script_test.sh $(top_builddir) echo "Issue 256" $(top_srcdir)/test/run_test.sh 206 $(top_srcdir)/test/run_issue_256.sh $(top_builddir) echo "Issue 275" $(top_srcdir)/test/run_test.sh 207 $(top_srcdir)/test/run_issue_275.sh $(top_builddir) echo "Crash empty list" $(top_srcdir)/test/run_test.sh 208 $(top_srcdir)/test/run_dmenu_empty.sh $(top_builddir) echo "Test multiple select" $(top_srcdir)/test/run_test.sh 209 $(top_srcdir)/test/run_dmenu_issue_292.sh $(top_builddir) echo "Test screenshot" $(top_srcdir)/test/run_test.sh 210 $(top_srcdir)/test/run_screenshot_test.sh $(top_builddir) echo "Test xr dump" $(top_srcdir)/test/run_test.sh 212 $(top_srcdir)/test/xr_dump_test.sh $(top_builddir) $(top_srcdir) echo "Test drun" $(top_srcdir)/test/run_test.sh 213 $(top_srcdir)/test/run_drun_test.sh $(top_builddir) echo "Test combi" $(top_srcdir)/test/run_test.sh 214 $(top_srcdir)/test/run_combi_test.sh $(top_builddir) echo "Test dmenu regex" $(top_srcdir)/test/run_test.sh 215 $(top_srcdir)/test/run_regex_test.sh $(top_builddir) echo "Test dmenu glob" $(top_srcdir)/test/run_test.sh 216 $(top_srcdir)/test/run_glob_test.sh $(top_builddir) echo "Test issue 333" $(top_srcdir)/test/run_test.sh 221 $(top_srcdir)/test/run_issue333_test.sh $(top_builddir) echo "Test help output" $(top_srcdir)/test/run_test.sh 212 $(top_srcdir)/test/help_output_test.sh $(top_builddir) $(top_srcdir) test-x1: $(bin_PROGRAMS) echo "Test dmenu-normal-window" $(top_srcdir)/test/run_test.sh 219 $(top_srcdir)/test/run_dmenu_normal_window_test.sh $(top_builddir) echo "Test window" $(top_srcdir)/test/run_test.sh 220 $(top_srcdir)/test/run_window_test.sh $(top_builddir) $(top_srcdir) echo "End tests" .PHONY: indent indent: $(SOURCES) uncrustify -c $(top_srcdir)/data/uncrustify.cfg --replace $^ .PHONY: cppcheck cppcheck: $(rofi_SOURCES) cppcheck --std=c99 --platform=unix64 --enable=all -Uerror_dialog --inconclusive -I $(top_srcdir)/include/ $^ .PHONY: ohcount ohcount: $(rofi_SOURCES) ohcount -i $(top_srcdir)/source/ $(top_srcdir)/include/ doxy: doc/rofi.doxy $(rofi_SOURCES) doxygen $(top_builddir)/doc/rofi.doxy clean-local: -rm $(top_builddir)/gitconfig.h $(top_builddir)/gitconfig.h: .FORCE $(top_srcdir)/script/get_git_rev.sh $(top_srcdir) $(top_builddir)/gitconfig.h $(rofi_SOURCES): $(top_builddir)/gitconfig.h .PHONY: coverage coverage: coverage/index.html .PHONY: coverage-cli coverage-cli: coverage.info lcov -l $^ coverage.info: $(top_builddir)/test/*.gcda $(top_builddir)/source/*.gcda $(top_builddir)/source/**/*.gcda lcov --capture --directory $(top_builddir) --output-file coverage.info lcov -r $@ /usr/include/\* -o $@ coverage/index.html: coverage.info genhtml $^ --output-directory coverage/ .PHONY: coverage-clean coverage-clean: -rm -r coverage.info coverage/ -find $(top_builddir) -name '*.gcda' | xargs rm .PHONY: .FORCE .FORCE: