X-Git-Url: https://git.sur5r.net/?a=blobdiff_plain;f=Makefile.am;h=1bde1e36c5f7ec2b0fc62772921fd00c8226cddc;hb=c5e2919f40a83e52322e689e9e7791d57b569cc7;hp=6ce76a0f13f05fcaea93c858b4b9782fd8822ee1;hpb=29af783d1148e5e3b8df46b33422d85d2afc7bb5;p=kconfig-frontends diff --git a/Makefile.am b/Makefile.am index 6ce76a0..1bde1e3 100644 --- a/Makefile.am +++ b/Makefile.am @@ -1,7 +1,339 @@ ACLOCAL_AMFLAGS = -I scripts/.autostuff/m4 MAKEFLAGS = $(SILENT_MAKEFLAGS) + +EXTRA_DIST = .version + +bin_PROGRAMS = +bin_SCRIPTS = +dist_bin_SCRIPTS = + +lib_LTLIBRARIES = +noinst_LIBRARIES = + +CLEANFILES = +BUILT_SOURCES = + +#=============================================================================== +# Docs +dist_doc_DATA = \ + docs/kconfig-language.txt \ + docs/kconfig.txt + +#=============================================================================== +# Libraries + +SUFFIXES = .gperf + +lib_LTLIBRARIES += libs/parser/libkconfig-parser.la +libs_parser_libkconfig_parser_la_SOURCES = libs/parser/yconf.y +dist_EXTRA_libs_parser_libkconfig_parser_la_SOURCES = \ + libs/parser/hconf.gperf \ + libs/parser/lconf.l \ + libs/parser/confdata.c \ + libs/parser/menu.c \ + libs/parser/symbol.c \ + libs/parser/util.c \ + libs/parser/expr.c \ + libs/parser/expr.h \ + libs/parser/lkc.h \ + libs/parser/lkc_proto.h +libs_parser_libkconfig_parser_la_CPPFLAGS = \ + -DROOTMENU="\"$(root_menu)\"" \ + -DCONFIG_=\"$(config_prefix)\" \ + $(intl_CPPFLAGS) +libs_parser_libkconfig_parser_la_CFLAGS = \ + $(AM_CFLAGS) \ + $(kf_CFLAGS) +libs_parser_libkconfig_parser_la_LDFLAGS = \ + -release $(KCONFIGPARSER_LIB_VERSION) \ + -no-undefined +libs_parser_libkconfig_parser_la_LIBADD = $(intl_LIBS) + +libs_parser_kconfig_includedir = $(includedir)/kconfig +libs_parser_kconfig_include_HEADERS = \ + libs/parser/list.h \ + libs/parser/lkc.h \ + libs/parser/expr.h \ + libs/parser/lkc_proto.h + +AM_V_GPERF = $(AM_V_GPERF_$(V)) +AM_V_GPERF_ = $(AM_V_GPERF_$(AM_DEFAULT_VERBOSITY)) +AM_V_GPERF_0 = @echo " GPERF " $@; + +.gperf.c: + $(AM_V_GPERF)$(GPERF) -t --output-file $@ -a -C -E -g -k 1,3,$$ -p -t $< + +# The following rule produces a warning: +# libs/parser/Makefile.am:41: user target `.l.c' defined here... +# /usr/share/automake-1.11/am/lex.am: ... overrides Automake target +# `.l.c' defined here +# +# This is expected, and can't be avoided (for now). +# That's because, when working with lex+yacc sources, the default is to +# build each files searately, and then link them together into the final +# output. But the Linux kernel's parser simply #include-s the lexer, +# so we can't put lconf.l into the _SOURCES (it's in EXTRA_SOURCES), +# and thus automake does not catch the need to call lex. +# Secondly, when flex is told to change the symbols' prefix (kconfig +# uses zconf in lieue of the original yy), then the output file is +# also renamed, but automake does not now that, and make would fail +# because it would think no file was generated. +.l.c: + $(AM_V_LEX)$(LEXCOMPILE) -o$@ $< + +BUILT_SOURCES += libs/parser/hconf.c libs/parser/lconf.c +CLEANFILES += libs/parser/hconf.c libs/parser/lconf.c libs/parser/yconf.c +EXTRA_DIST += libs/parser/yconf.y.patch + +# libs/parser/kconfig-parser.pc generated by AC_CONFIG_FILES in configure.ac +pkgconfigdir = $(libdir)/pkg-config +pkgconfig_DATA = libs/parser/kconfig-parser.pc +CLEANFILES += libs/parser/kconfig-parser.pc +EXTRA_DIST += libs/parser/kconfig-parser.pc.in + +#-------------------------- +# lxdialog lib (for mconf) +if COND_lxdialog + +noinst_LIBRARIES += libs/lxdialog/libkconfig-lxdialog.a + +libs_lxdialog_libkconfig_lxdialog_a_SOURCES = \ + libs/lxdialog/checklist.c \ + libs/lxdialog/dialog.h \ + libs/lxdialog/inputbox.c \ + libs/lxdialog/menubox.c \ + libs/lxdialog/textbox.c \ + libs/lxdialog/util.c \ + libs/lxdialog/yesno.c +libs_lxdialog_libkconfig_lxdialog_a_CPPFLAGS = \ + $(AM_CPPFLAGS) \ + $(ncurses_mconf_CPPFLAGS) \ + $(intl_CPPFLAGS) +libs_lxdialog_liblxdialog_a_CFLAGS = \ + $(AM_CFLAGS) \ + $(kf_CFLAGS) + +endif # COND_lxdialog + +#-------------------------- +# kconfig meta frontend +if COND_images + +noinst_LIBRARIES += libs/images/libkconfig-images.a + +libs_images_libkconfig_images_a_SOURCES = libs/images/images.c_orig +nodist_libs_images_libkconfig_images_a_SOURCES = libs/images/images.c + +libs/images/images.c: libs/images/images.c_orig + $(AM_V_GEN)$(SED) -e 's/^static //' $< >$@ + +libs/images/images.h: libs/images/images.c_orig + $(AM_V_GEN)$(SED) -e '/^static \(const char \*xpm_\(.\{1,\}\)\[\]\) = {/!d; s//extern \1;/' \ + $< >$@ + +BUILT_SOURCES += \ + libs/images/images.c \ + libs/images/images.h +CLEANFILES += \ + libs/images/images.c \ + libs/images/images.h + +endif # COND_images + +#=============================================================================== +# Frontends + +#-------------------------- +# kconfig meta frontend +if COND_kconfig + +bin_SCRIPTS += frontends/kconfig + +frontends/kconfig: frontends/kconfig.in + $(AM_V_GEN)$(SED) -e 's/@KCFG_LIST@/$(kcfg_list)/g' \ + $< >$@ + @chmod +x $@ + +EXTRA_DIST += frontends/kconfig.in + +endif # COND_kconfig + +#-------------------------- +# conf frontend +if COND_conf + +bin_PROGRAMS += frontends/conf/kconfig-conf + +frontends_conf_kconfig_conf_SOURCES = frontends/conf/conf.c +frontends_conf_kconfig_conf_CPPFLAGS = \ + $(AM_CPPFLAGS) \ + $(intl_CPPFLAGS) \ + -I$(top_srcdir)/libs/parser +frontends_conf_kconfig_conf_CFLAGS = \ + $(AM_CFLAGS) \ + $(kf_CFLAGS) +frontends_conf_kconfig_conf_LDADD = \ + $(top_builddir)/libs/parser/libkconfig-parser.la \ + $(intl_LIBS) \ + $(conf_EXTRA_LIBS) + +endif # COND_conf + +#-------------------------- +# mconf frontend +if COND_mconf + +bin_PROGRAMS += frontends/mconf/kconfig-mconf + +frontends_mconf_kconfig_mconf_SOURCES = frontends/mconf/mconf.c +frontends_mconf_kconfig_mconf_CPPFLAGS = \ + $(AM_CPPFLAGS) \ + $(ncurses_mconf_CPPFLAGS) \ + $(intl_CPPFLAGS) \ + -I$(top_srcdir)/libs \ + -I$(top_srcdir)/libs/parser +frontends_mconf_kconfig_mconf_CFLAGS = \ + $(AM_CFLAGS) \ + $(kf_CFLAGS) +frontends_mconf_kconfig_mconf_LDADD = \ + $(top_builddir)/libs/parser/libkconfig-parser.la \ + $(top_builddir)/libs/lxdialog/libkconfig-lxdialog.a \ + $(intl_LIBS) $(ncurses_LIBS) $(mconf_EXTRA_LIBS) + +endif # COND_mconf + +#-------------------------- +# nconf frontend +if COND_nconf + +bin_PROGRAMS += frontends/nconf/kconfig-nconf + +frontends_nconf_kconfig_nconf_SOURCES = \ + frontends/nconf/nconf.c \ + frontends/nconf/nconf.gui.c \ + frontends/nconf/nconf.h +frontends_nconf_kconfig_nconf_CPPFLAGS = \ + $(AM_CPPFLAGS) \ + $(intl_CPPFLAGS) \ + $(ncurses_nconf_CPPFLAGS) \ + -I$(top_srcdir)/libs/parser +frontends_nconf_kconfig_nconf_CFLAGS = \ + $(AM_CFLAGS) \ + $(kf_CFLAGS) +frontends_nconf_kconfig_nconf_LDADD = \ + $(top_builddir)/libs/parser/libkconfig-parser.la \ + $(intl_LIBS) $(ncurses_panel_menu_LIBS) $(ncurses_LIBS) \ + $(nconf_EXTRA_LIBS) + +endif # COND_nconf + +#-------------------------- +# gconf frontend +if COND_gconf + +bin_PROGRAMS += frontends/gconf/kconfig-gconf + +frontends_gconf_kconfig_gconf_SOURCES = \ + frontends/gconf/gconf.c \ + frontends/gconf/gconf.glade +frontends_gconf_kconfig_gconf_CPPFLAGS = \ + $(AM_CPPFLAGS) \ + $(intl_CPPFLAGS) \ + -I$(top_srcdir)/libs/parser \ + -I$(top_builddir)/libs/images \ + -DGUI_PATH='"$(pkgdatadir)/gconf.glade"' +frontends_gconf_kconfig_gconf_CFLAGS = \ + $(AM_CFLAGS) \ + $(kf_CFLAGS) \ + $(gtk_CFLAGS) +frontends_gconf_kconfig_gconf_LDADD = \ + $(top_builddir)/libs/parser/libkconfig-parser.la \ + $(top_builddir)/libs/images/libkconfig-images.a \ + $(intl_LIBS) \ + $(gtk_LIBS) \ + $(gconf_EXTRA_LIBS) +frontends_gconf_kconfig_gconfdir = $(pkgdatadir) +frontends_gconf_kconfig_gconf_DATA = frontends/gconf/gconf.glade + +EXTRA_DIST += frontends/gconf/gconf.c.patch + +endif # COND_gconf + +#-------------------------- +# gconf frontend +if COND_qconf + +bin_PROGRAMS += frontends/qconf/kconfig-qconf + +frontends_qconf_kconfig_qconf_SOURCES = \ + frontends/qconf/qconf.cc \ + frontends/qconf/qconf.h +BUILT_SOURCES += frontends/qconf/qconf.moc +frontends_qconf_kconfig_qconf_CPPFLAGS = \ + $(AM_CPPFLAGS) \ + $(intl_CPPFLAGS) \ + -I$(top_srcdir)/libs/parser \ + -I$(top_builddir)/libs/images +frontends_qconf_kconfig_qconf_CXXFLAGS = \ + $(AM_CXXFLAGS) \ + $(kf_CFLAGS) \ + $(Qt5_CFLAGS) \ + -fPIC +frontends_qconf_kconfig_qconf_LDADD = \ + $(top_builddir)/libs/parser/libkconfig-parser.la \ + $(top_builddir)/libs/images/libkconfig-images.a \ + $(intl_LIBS) $(Qt5_LIBS) $(qconf_EXTRA_LIBS) + +AM_V_MOC = $(AM_V_MOC_$(V)) +AM_V_MOC_ = $(AM_V_MOC_$(AM_DEFAULT_VERBOSITY)) +AM_V_MOC_0 = @echo " MOC " $@; + +.h.moc: + $(AM_V_MOC)$(MOC) -i $< -o $@ + +CLEANFILES += frontends/qconf/qconf.moc +EXTRA_DIST += frontends/qconf/qconf.cc.patch + +endif # COND_qconf + +#=============================================================================== +# Utilities if COND_utils - MAYBE_utils = utils + +bin_SCRIPTS += utils/kconfig-tweak +dist_bin_SCRIPTS += utils/kconfig-diff utils/kconfig-merge + +if COND_utils_gettext +MAYBE_utils_gettext = utils/kconfig-gettext endif -SUBDIRS = docs libs frontends scripts $(MAYBE_utils) -EXTRA_DIST = .version +bin_PROGRAMS += $(MAYBE_utils_gettext) + +utils_kconfig_gettext_SOURCES = utils/gettext.c +utils_kconfig_gettext_CPPFLAGS = \ + $(AM_CPPFLAGS) \ + -I$(top_srcdir)/libs/parser +utils_kconfig_gettext_CFLAGS = \ + $(AM_CFLAGS) \ + $(kf_CFLAGS) +utils_kconfig_gettext_LDADD = \ + $(top_builddir)/libs/parser/libkconfig-parser.la \ + $(intl_LIBS) + +CLEANFILES += utils/kconfig-tweak +EXTRA_DIST += \ + utils/kconfig-tweak.in \ + utils/kconfig-tweak.in.patch + +utils/kconfig-tweak: utils/kconfig-tweak.in + $(AM_V_GEN)$(SED) -e "s/@CONFIG_@/$(config_prefix)/g" \ + $< >$@ + @chmod +x $@ + +endif # COND_utils + +#=============================================================================== +# Misc. scripts +EXTRA_DIST += \ + scripts/ksync.sh \ + scripts/ksync.list \ + scripts/version.sh