summaryrefslogtreecommitdiffstats
path: root/src/Makefile.am
diff options
context:
space:
mode:
Diffstat (limited to 'src/Makefile.am')
-rw-r--r--src/Makefile.am548
1 files changed, 548 insertions, 0 deletions
diff --git a/src/Makefile.am b/src/Makefile.am
new file mode 100644
index 0000000..24eaaf1
--- /dev/null
+++ b/src/Makefile.am
@@ -0,0 +1,548 @@
+
+include $(top_srcdir)/aminclude_static.am
+
+CXXFLAGS =
+
+SUBDIRS = \
+ fmtlib \
+ third-party/base64/lib \
+ third-party/scnlib/src \
+ pcrepp \
+ base \
+ tailer \
+ pugixml \
+ yajl \
+ yajlpp \
+ formats/logfmt \
+ .
+
+bin_PROGRAMS = lnav
+
+noinst_PROGRAMS = lnav-test
+
+noinst_LIBRARIES = libdiag.a libdatascanner.a
+
+PTIME_V = $(PTIME_V_@AM_V@)
+PTIME_V_ = $(PTIME_V_@AM_DEFAULT_V@)
+PTIME_V_0 = @echo " TIMEFMT " $@;
+
+BIN2C_V = $(BIN2C_V_@AM_V@)
+BIN2C_V_ = $(BIN2C_V_@AM_DEFAULT_V@)
+BIN2C_V_0 = @echo " BIN2C " $@;
+
+RE2C_V = $(RE2C_V_@AM_V@)
+RE2C_V_ = $(RE2C_V_@AM_DEFAULT_V@)
+RE2C_V_0 = @echo " RE2C " $@;
+
+BIN2C_PATH = ../tools/bin2c$(BUILD_EXEEXT)
+
+include formats/formats.am
+
+default-formats.cc: $(BIN2C_PATH) $(FORMAT_FILES)
+ $(BIN2C_V)$(BIN2C_PATH) -n lnav_format_json default-formats $(FORMAT_FILES)
+
+include keymaps/keymaps.am
+include themes/themes.am
+
+CONFIG_FILES = \
+ $(srcdir)/root-config.json \
+ $(KEYMAP_FILES) \
+ $(THEME_FILES) \
+ $()
+
+default-config.cc: $(BIN2C_PATH) $(CONFIG_FILES)
+ $(BIN2C_V)$(BIN2C_PATH) -n lnav_config_json default-config $(CONFIG_FILES)
+
+include scripts/scripts.am
+
+builtin-scripts.cc: $(BIN2C_PATH) $(BUILTIN_LNAVSCRIPTS)
+ $(BIN2C_V)$(BIN2C_PATH) -n lnav_scripts builtin-scripts $(BUILTIN_LNAVSCRIPTS)
+
+builtin-sh-scripts.cc: $(BIN2C_PATH) $(BUILTIN_SHSCRIPTS)
+ $(BIN2C_V)$(BIN2C_PATH) -n lnav_sh_scripts builtin-sh-scripts $(BUILTIN_SHSCRIPTS)
+
+%-sh.cc: $(srcdir)/%.sh $(BIN2C_PATH)
+ $(BIN2C_V)$(BIN2C_PATH) $(*)-sh $<
+
+%-txt.cc: $(srcdir)/%.txt $(BIN2C_PATH)
+ $(BIN2C_V)$(BIN2C_PATH) $(*)-txt $<
+
+%-md.cc: $(srcdir)/%.md $(BIN2C_PATH)
+ $(BIN2C_V)$(BIN2C_PATH) $(*)-md $<
+
+%-sql.cc: $(srcdir)/%.sql $(BIN2C_PATH)
+ $(BIN2C_V)$(BIN2C_PATH) $(*)-sql $<
+
+%-lnav.cc: $(srcdir)/%.lnav $(BIN2C_PATH)
+ $(BIN2C_V)$(BIN2C_PATH) $(*)-lnav $<
+
+%-json.cc: $(srcdir)/%.json $(BIN2C_PATH)
+ $(BIN2C_V)$(BIN2C_PATH) $(*)-json $<
+
+include time_formats.am
+
+time_fmts.cc: ptimec$(BUILD_EXEEXT)
+ $(PTIME_V)./ptimec$(BUILD_EXEEXT) $(TIME_FORMATS) > $@
+
+if HAVE_RE2C
+%.cc: %.re
+ $(RE2C_V)$(RE2C_CMD) --bit-vectors -W --tags -8 -o $@ $<
+ $(REC2_V)test $@ -ef $(srcdir)/$*.cc || cp $@ $(srcdir)/$*.cc
+endif
+
+LNAV_BUILT_FILES = \
+ animals-json.cc \
+ ansi-palette-json.cc \
+ builtin-scripts.cc \
+ builtin-sh-scripts.cc \
+ default-config.cc \
+ default-formats.cc \
+ diseases-json.cc \
+ emojis-json.cc \
+ words-json.cc \
+ help-md.cc \
+ init-sql.cc \
+ time_fmts.cc \
+ xml-entities-json.cc \
+ xterm-palette-json.cc
+
+BUILT_SOURCES = $(LNAV_BUILT_FILES)
+
+AM_LIBS = $(CODE_COVERAGE_LIBS)
+AM_CFLAGS = $(CODE_COVERAGE_CFLAGS)
+AM_CXXFLAGS = $(CODE_COVERAGE_CXXFLAGS) $(USER_CXXFLAGS)
+
+AM_LDFLAGS = \
+ $(STATIC_LDFLAGS) \
+ $(LIBARCHIVE_LDFLAGS) \
+ $(READLINE_LDFLAGS) \
+ $(SQLITE3_LDFLAGS) \
+ $(PCRE_LDFLAGS)
+
+AM_CPPFLAGS = \
+ -DSYSCONFDIR='"$(sysconfdir)"' \
+ -DSQLITE_OMIT_LOAD_EXTENSION \
+ -I$(srcdir)/fmtlib \
+ -I$(srcdir)/third-party \
+ -I$(srcdir)/third-party/base64/include \
+ -I$(srcdir)/third-party/rapidyaml \
+ -I$(top_srcdir)/src/third-party/scnlib/include \
+ -Wall \
+ $(CODE_COVERAGE_CPPFLAGS) \
+ $(LIBARCHIVE_CFLAGS) \
+ $(READLINE_CFLAGS) \
+ $(SQLITE3_CFLAGS) \
+ $(PCRE_CFLAGS) \
+ $(LIBCURL_CPPFLAGS)
+
+LDADD = \
+ libdiag.a \
+ libdatascanner.a \
+ base/libbase.a \
+ formats/logfmt/liblogfmt.a \
+ fmtlib/libcppfmt.a \
+ third-party/scnlib/src/libscnlib.a \
+ pcrepp/libpcrepp.a \
+ pugixml/libpugixml.a \
+ tailer/libtailerservice.a \
+ tailer/libtailercommon.a \
+ tailer/libtailerpp.a \
+ yajl/libyajl.a \
+ yajlpp/libyajlpp.a \
+ third-party/base64/lib/libbase64.a \
+ $(READLINE_LIBS) \
+ $(CURSES_LIB) \
+ $(SQLITE3_LIBS) \
+ $(LIBARCHIVE_LIBS) \
+ $(LIBCURL)
+
+# emojis.json is from https://gist.github.com/oliveratgithub/0bf11a9aff0d6da7b46f1490f86a71eb/
+# xml-entities.json is from https://html.spec.whatwg.org/entities.json
+
+dist_noinst_DATA = \
+ alpha-release.sh \
+ animals.json \
+ ansi-palette.json \
+ diseases.json \
+ emojis.json \
+ $(BUILTIN_LNAVSCRIPTS) \
+ $(BUILTIN_SHSCRIPTS) \
+ $(CONFIG_FILES) \
+ $(FORMAT_FILES) \
+ words.json \
+ xml-entities.json \
+ xterm-palette.json
+
+noinst_HEADERS = \
+ third-party/md4c/md4c.h \
+ third-party/rapidyaml/ryml_all.hpp \
+ all_logs_vtab.hh \
+ archive_manager.hh \
+ archive_manager.cfg.hh \
+ big_array.hh \
+ bin2c.hh \
+ bookmarks.hh \
+ bottom_status_source.hh \
+ bound_tags.hh \
+ breadcrumb.hh \
+ breadcrumb_curses.hh \
+ byte_array.hh \
+ column_namer.hh \
+ command_executor.hh \
+ curl_looper.hh \
+ data_scanner.hh \
+ data_scanner_re.re \
+ data_parser.hh \
+ db_sub_source.hh \
+ doc_status_source.hh \
+ document.sections.hh \
+ dump_internals.hh \
+ elem_to_json.hh \
+ environ_vtab.hh \
+ field_overlay_source.hh \
+ file_collection.hh \
+ file_format.hh \
+ file_vtab.cfg.hh \
+ files_sub_source.hh \
+ filter_observer.hh \
+ filter_status_source.hh \
+ filter_sub_source.hh \
+ fstat_vtab.hh \
+ fts_fuzzy_match.hh \
+ grep_highlighter.hh \
+ grep_proc.hh \
+ help.md \
+ help.txt \
+ help_text.hh \
+ help_text_formatter.hh \
+ highlighter.hh \
+ hist_source.hh \
+ hotkeys.hh \
+ init.sql \
+ input_dispatcher.hh \
+ itertools.similar.hh \
+ k_merge_tree.h \
+ line_buffer.hh \
+ listview_curses.hh \
+ lnav.hh \
+ lnav.events.hh \
+ lnav.indexing.hh \
+ lnav.management_cli.hh \
+ lnav_commands.hh \
+ lnav_config.hh \
+ lnav_config_fwd.hh \
+ lnav_util.hh \
+ log.watch.hh \
+ log_accel.hh \
+ log_actions.hh \
+ log_data_helper.hh \
+ log_data_table.hh \
+ log_format.hh \
+ log_format_ext.hh \
+ log_format_fwd.hh \
+ log_format_loader.hh \
+ log_gutter_source.hh \
+ log_level.hh \
+ log_level_re.re \
+ log_search_table.hh \
+ log_search_table_fwd.hh \
+ logfile.hh \
+ logfile.cfg.hh \
+ logfile_fwd.hh \
+ logfile_sub_source.hh \
+ logfile_sub_source.cfg.hh \
+ mapbox/recursive_wrapper.hpp \
+ mapbox/variant.hpp \
+ mapbox/variant_io.hpp \
+ mapbox/variant_visitor.hpp \
+ md2attr_line.hh \
+ md4cpp.hh \
+ optional.hpp \
+ pcap_manager.hh \
+ piper_proc.hh \
+ plain_text_source.hh \
+ pollable.hh \
+ pretty_printer.hh \
+ preview_status_source.hh \
+ ptimec.hh \
+ readline_callbacks.hh \
+ readline_context.hh \
+ readline_curses.hh \
+ readline_highlighters.hh \
+ readline_possibilities.hh \
+ regex101.client.hh \
+ regex101.import.hh \
+ regexp_vtab.hh \
+ relative_time.hh \
+ ring_span.hh \
+ safe/accessmode.h \
+ safe/defaulttypes.h \
+ safe/mutableref.h \
+ safe/safe.h \
+ service_tags.hh \
+ session.export.hh \
+ session_data.hh \
+ shared_buffer.hh \
+ shlex.hh \
+ shlex.resolver.hh \
+ simdutf8check.h \
+ spectro_impls.hh \
+ spectro_source.hh \
+ sqlitepp.hh \
+ sqlitepp.client.hh \
+ sql_help.hh \
+ sql_util.hh \
+ sqlite-extension-func.hh \
+ static_file_vtab.hh \
+ styling.hh \
+ statusview_curses.hh \
+ strong_int.hh \
+ sysclip.hh \
+ sysclip.cfg.hh \
+ termios_guard.hh \
+ term_extra.hh \
+ text_anonymizer.hh \
+ text_format.hh \
+ textfile_highlighters.hh \
+ textfile_sub_source.hh \
+ textview_curses.hh \
+ textview_curses_fwd.hh \
+ time_T.hh \
+ timer.hh \
+ top_status_source.hh \
+ top_status_source.cfg.hh \
+ unique_path.hh \
+ url_loader.hh \
+ view_curses.hh \
+ view_helpers.hh \
+ view_helpers.crumbs.hh \
+ view_helpers.examples.hh \
+ view_helpers.hist.hh \
+ views_vtab.hh \
+ vis_line.hh \
+ vt52_curses.hh \
+ vtab_module.hh \
+ vtab_module_json.hh \
+ log_vtab_impl.hh \
+ log_format_impls.cc \
+ xml_util.hh \
+ xpath_vtab.hh \
+ xterm_mouse.hh \
+ spookyhash/SpookyV2.h \
+ ghc/filesystem.hpp \
+ ghc/fs_fwd.hpp \
+ ghc/fs_impl.hpp \
+ ghc/fs_std.hpp \
+ ghc/fs_std_fwd.hpp \
+ ghc/fs_std_impl.hpp \
+ ww898/cp_utf8.hpp
+
+nodist_libdiag_a_SOURCES = \
+ $(LNAV_BUILT_FILES)
+
+THIRD_PARTY_SRCS = \
+ third-party/ArenaAlloc/arenaalloc.h \
+ third-party/ArenaAlloc/arenaallocimpl.h \
+ third-party/ArenaAlloc/recyclealloc.h \
+ third-party/backward-cpp/backward.hpp \
+ third-party/CLI/StringTools.hpp \
+ third-party/CLI/App.hpp \
+ third-party/CLI/Macros.hpp \
+ third-party/CLI/Option.hpp \
+ third-party/CLI/Config.hpp \
+ third-party/CLI/CLI.hpp \
+ third-party/CLI/Formatter.hpp \
+ third-party/CLI/Error.hpp \
+ third-party/CLI/Version.hpp \
+ third-party/CLI/Timer.hpp \
+ third-party/CLI/FormatterFwd.hpp \
+ third-party/CLI/Validators.hpp \
+ third-party/CLI/Split.hpp \
+ third-party/CLI/TypeTools.hpp \
+ third-party/CLI/ConfigFwd.hpp \
+ third-party/doctest-root/doctest/doctest.h \
+ third-party/intervaltree/IntervalTree.h \
+ third-party/md4c/md4c.c \
+ third-party/robin_hood/robin_hood.h \
+ third-party/sqlite/ext/dbdump.c \
+ third-party/sqlite/ext/series.c
+
+libdatascanner_a_SOURCES = \
+ data_scanner.cc \
+ data_scanner_re.cc
+
+libdiag_a_SOURCES = \
+ $(THIRD_PARTY_SRCS) \
+ all_logs_vtab.cc \
+ archive_manager.cc \
+ bookmarks.cc \
+ bottom_status_source.cc \
+ breadcrumb_curses.cc \
+ collation-functions.cc \
+ column_namer.cc \
+ command_executor.cc \
+ curl_looper.cc \
+ db_sub_source.cc \
+ document.sections.cc \
+ dump_internals.cc \
+ elem_to_json.cc \
+ environ_vtab.cc \
+ extension-functions.cc \
+ field_overlay_source.cc \
+ file_collection.cc \
+ file_format.cc \
+ files_sub_source.cc \
+ filter_observer.cc \
+ filter_status_source.cc \
+ filter_sub_source.cc \
+ fstat_vtab.cc \
+ fs-extension-functions.cc \
+ fts_fuzzy_match.cc \
+ grep_proc.cc \
+ help_text.cc \
+ help_text_formatter.cc \
+ highlighter.cc \
+ hist_source.cc \
+ hotkeys.cc \
+ input_dispatcher.cc \
+ json-extension-functions.cc \
+ line_buffer.cc \
+ listview_curses.cc \
+ lnav_commands.cc \
+ lnav_config.cc \
+ lnav_util.cc \
+ log.watch.cc \
+ log_accel.cc \
+ log_actions.cc \
+ log_data_helper.cc \
+ log_data_table.cc \
+ log_format.cc \
+ log_format_loader.cc \
+ log_level.cc \
+ log_level_re.cc \
+ log_search_table.cc \
+ logfile.cc \
+ logfile_sub_source.cc \
+ md2attr_line.cc \
+ md4cpp.cc \
+ network-extension-functions.cc \
+ data_parser.cc \
+ pcap_manager.cc \
+ plain_text_source.cc \
+ pollable.cc \
+ pretty_printer.cc \
+ ptimec_rt.cc \
+ readline_callbacks.cc \
+ readline_curses.cc \
+ readline_highlighters.cc \
+ readline_possibilities.cc \
+ regex101.client.cc \
+ regex101.import.cc \
+ regexp_vtab.cc \
+ relative_time.cc \
+ session.export.cc \
+ session_data.cc \
+ shared_buffer.cc \
+ shlex.cc \
+ spectro_impls.cc \
+ spectro_source.cc \
+ sqlitepp.cc \
+ sqlite-extension-func.cc \
+ static_file_vtab.cc \
+ statusview_curses.cc \
+ string-extension-functions.cc \
+ styling.cc \
+ text_anonymizer.cc \
+ text_format.cc \
+ textfile_sub_source.cc \
+ timer.cc \
+ piper_proc.cc \
+ sql_commands.cc \
+ sql_util.cc \
+ state-extension-functions.cc \
+ sysclip.cc \
+ textfile_highlighters.cc \
+ textview_curses.cc \
+ time-extension-functions.cc \
+ top_status_source.cc \
+ unique_path.cc \
+ view_curses.cc \
+ view_helpers.cc \
+ views_vtab.cc \
+ vt52_curses.cc \
+ vtab_module.cc \
+ log_vtab_impl.cc \
+ xml_util.cc \
+ xpath_vtab.cc \
+ xterm_mouse.cc \
+ yaml-extension-functions.cc \
+ spookyhash/SpookyV2.cpp
+
+PLUGIN_SRCS = \
+ file_vtab.cc
+
+lnav_SOURCES = \
+ lnav.cc \
+ lnav.events.cc \
+ lnav.indexing.cc \
+ lnav.management_cli.cc \
+ $(PLUGIN_SRCS)
+
+lnav_test_SOURCES = \
+ lnav.cc \
+ lnav.events.cc \
+ lnav.indexing.cc \
+ lnav.management_cli.cc \
+ test_override.c \
+ $(PLUGIN_SRCS)
+
+ptimec$(BUILD_EXEEXT): ptimec.c
+ $(AM_V_CC) $(CC_FOR_BUILD) $(CPPFLAGS_FOR_BUILD) $(LDFLAGS_FOR_BUILD) -g3 -o $@ $?
+
+if HAVE_RE2C
+RE2C_FILES = data_scanner_re.cc log_level_re.cc
+endif
+
+EXTRA_DIST = \
+ ptimec.c
+
+CLEANFILES = \
+ ptimec$(BUILD_EXEEXT)
+
+DISTCLEANFILES = \
+ $(LNAV_BUILT_FILES) \
+ animals-json.h \
+ ansi-palette-json.h \
+ builtin-scripts.h \
+ builtin-sh-scripts.h \
+ default-config.h \
+ default-formats.h \
+ diseases-json.h \
+ emojis-json.h \
+ words-json.h \
+ help-md.h \
+ init-sql.h \
+ time_fmts.h \
+ xml-entities-json.h \
+ xterm-palette-json.h \
+ $(RE2C_FILES)
+
+distclean-local:
+ $(RM_V)rm -rf *.dSYM
+
+uncrusty:
+ (cd $(srcdir) && uncrustify -c ../lnav.cfg --replace $(SOURCES) \
+ $(HEADERS))
+
+if !DISABLE_DOCUMENTATION
+all-local: $(LNAV_BUILT_FILES) lnav
+ if test -w $(srcdir)/internals; then \
+ env DUMP_INTERNALS_DIR=$(srcdir)/internals DUMP_CRASH=1 ./lnav Makefile; \
+ mv $(srcdir)/internals/*.schema.json $(top_srcdir)/docs/schemas; \
+ fi
+else
+all-local: $(LNAV_BUILT_FILES)
+endif
+
+install-exec-hook:
+ bash $(srcdir)/alpha-release.sh