1ACLOCAL_AMFLAGS = -I scripts/.autostuff/m4 2MAKEFLAGS = $(SILENT_MAKEFLAGS_$(V)) 3SILENT_MAKEFLAGS_ = $(SILENT_MAKEFLAGS_$(AM_DEFAULT_VERBOSITY)) 4SILENT_MAKEFLAGS_0 = --no-print-directory -s 5SILENT_MAKEFLAGS_1 = 6 7EXTRA_DIST = .version 8 9bin_PROGRAMS = 10bin_SCRIPTS = 11dist_bin_SCRIPTS = 12 13lib_LTLIBRARIES = 14noinst_LIBRARIES = 15 16CLEANFILES = 17DISTCLEANFILES = 18MAINTAINERCLEANFILES = 19BUILT_SOURCES = 20 21#=============================================================================== 22# Docs 23dist_doc_DATA = \ 24 docs/kconfig-language.txt \ 25 docs/kconfig.txt 26 27#=============================================================================== 28# Libraries 29 30SUFFIXES = .gperf 31 32lib_LTLIBRARIES += libs/parser/libkconfig-parser.la 33libs_parser_libkconfig_parser_la_SOURCES = libs/parser/yconf.y 34dist_EXTRA_libs_parser_libkconfig_parser_la_SOURCES = \ 35 libs/parser/hconf.gperf \ 36 libs/parser/lconf.l \ 37 libs/parser/confdata.c \ 38 libs/parser/menu.c \ 39 libs/parser/symbol.c \ 40 libs/parser/util.c \ 41 libs/parser/expr.c \ 42 libs/parser/expr.h \ 43 libs/parser/lkc.h \ 44 libs/parser/lkc_proto.h 45libs_parser_libkconfig_parser_la_CPPFLAGS = \ 46 -DROOTMENU="\"$(root_menu)\"" \ 47 -DCONFIG_=\"$(config_prefix)\" \ 48 -DGPERF_LEN_TYPE="$(GPERF_LEN_TYPE)" \ 49 $(intl_CPPFLAGS) \ 50 -I$(top_srcdir)/libs/parser \ 51 -I$(top_builddir)/libs/parser 52libs_parser_libkconfig_parser_la_CFLAGS = \ 53 $(AM_CFLAGS) \ 54 $(kf_CFLAGS) 55libs_parser_libkconfig_parser_la_LDFLAGS = \ 56 -release $(KCONFIGPARSER_LIB_VERSION) \ 57 -no-undefined 58libs_parser_libkconfig_parser_la_LIBADD = $(intl_LIBS) 59 60libs_parser_kconfig_includedir = $(includedir)/kconfig 61libs_parser_kconfig_include_HEADERS = \ 62 libs/parser/list.h \ 63 libs/parser/lkc.h \ 64 libs/parser/expr.h \ 65 libs/parser/lkc_proto.h 66 67AM_V_GPERF = $(AM_V_GPERF_$(V)) 68AM_V_GPERF_ = $(AM_V_GPERF_$(AM_DEFAULT_VERBOSITY)) 69AM_V_GPERF_0 = @echo " GPERF " $@; 70AM_V_GPERF_1 = 71 72.gperf.c: 73 $(AM_V_GPERF)$(GPERF) -t --output-file $@ -a -C -E -g -k 1,3,$$ -p -t $< 74 75# The following rule may produce a warning with some versions of automake: 76# Makefile.am:85: user target `.l.c' defined here... 77# /usr/share/automake-1.11/am/lex.am: ... overrides Automake target 78# `.l.c' defined here 79# 80# This is expected, and can't be avoided (for now). 81# That's because, when working with lex+yacc sources, the default is to 82# build each files searately, and then link them together into the final 83# output. But the Linux kernel's parser simply #include-s the lexer, 84# so we can't put lconf.l into the _SOURCES (it's in EXTRA_SOURCES), 85# and thus automake does not catch the need to call lex. 86# Secondly, when flex is told to change the symbols' prefix (kconfig 87# uses zconf in lieue of the original yy), then the output file is 88# also renamed, but automake does not now that, and make would fail 89# because it would think no file was generated. 90.l.c: 91 $(AM_V_LEX)$(LEXCOMPILE) -o$@ $< 92 93# yconf.c not listed, because it is the real _SOURCES, but others are 94# in _EXTRA_SOURCES (above), so must be listed: 95BUILT_SOURCES += \ 96 libs/parser/hconf.c \ 97 libs/parser/lconf.c 98# Still, .c files generated from .y files are not cleaned by default, 99# so yconf.c must be explicitly listed: 100MAINTAINERCLEANFILES += \ 101 libs/parser/hconf.c \ 102 libs/parser/lconf.c \ 103 libs/parser/yconf.c 104EXTRA_DIST += \ 105 libs/parser/hconf.c \ 106 libs/parser/hconf.gperf.patch \ 107 libs/parser/yconf.y.patch 108 109# libs/parser/kconfig-parser.pc generated by AC_CONFIG_FILES in configure.ac 110pkgconfigdir = $(libdir)/pkgconfig 111pkgconfig_DATA = libs/parser/kconfig-parser.pc 112DISTCLEANFILES += libs/parser/kconfig-parser.pc 113EXTRA_DIST += libs/parser/kconfig-parser.pc.in 114 115#-------------------------- 116# lxdialog lib (for mconf) 117if COND_lxdialog 118 119noinst_LIBRARIES += libs/lxdialog/libkconfig-lxdialog.a 120 121libs_lxdialog_libkconfig_lxdialog_a_SOURCES = \ 122 libs/lxdialog/checklist.c \ 123 libs/lxdialog/dialog.h \ 124 libs/lxdialog/inputbox.c \ 125 libs/lxdialog/menubox.c \ 126 libs/lxdialog/textbox.c \ 127 libs/lxdialog/util.c \ 128 libs/lxdialog/yesno.c 129libs_lxdialog_libkconfig_lxdialog_a_CPPFLAGS = \ 130 $(AM_CPPFLAGS) \ 131 $(ncurses_mconf_CPPFLAGS) \ 132 $(intl_CPPFLAGS) 133libs_lxdialog_liblxdialog_a_CFLAGS = \ 134 $(AM_CFLAGS) \ 135 $(kf_CFLAGS) 136 137endif # COND_lxdialog 138 139#-------------------------- 140# kconfig meta frontend 141if COND_images 142 143noinst_LIBRARIES += libs/images/libkconfig-images.a 144 145libs_images_libkconfig_images_a_SOURCES = libs/images/images.c_orig 146nodist_libs_images_libkconfig_images_a_SOURCES = libs/images/images.c 147 148libs/images/images.c: libs/images/images.c_orig 149 $(AM_V_GEN)$(SED) -e 's/^static //' $< >$@ 150 151libs/images/images.h: libs/images/images.c_orig 152 $(AM_V_GEN)$(SED) -e '/^static \(const char \*xpm_\(.\{1,\}\)\[\]\) = {/!d; s//extern \1;/' \ 153 $< >$@ 154 155BUILT_SOURCES += \ 156 libs/images/images.c \ 157 libs/images/images.h 158CLEANFILES += \ 159 libs/images/images.c \ 160 libs/images/images.h 161 162endif # COND_images 163 164#=============================================================================== 165# Frontends 166 167#-------------------------- 168# kconfig meta frontend 169if COND_kconfig 170 171bin_SCRIPTS += frontends/kconfig 172 173frontends/kconfig: frontends/kconfig.in 174 $(AM_V_GEN)$(SED) -e 's/@KCFG_LIST@/$(kcfg_list)/g' \ 175 $< >$@ 176 @chmod +x $@ 177 178EXTRA_DIST += frontends/kconfig.in 179 180endif # COND_kconfig 181 182#-------------------------- 183# conf frontend 184if COND_conf 185 186bin_PROGRAMS += frontends/conf/kconfig-conf 187 188frontends_conf_kconfig_conf_SOURCES = frontends/conf/conf.c 189frontends_conf_kconfig_conf_CPPFLAGS = \ 190 $(AM_CPPFLAGS) \ 191 $(intl_CPPFLAGS) \ 192 -I$(top_srcdir)/libs/parser 193frontends_conf_kconfig_conf_CFLAGS = \ 194 $(AM_CFLAGS) \ 195 $(kf_CFLAGS) 196frontends_conf_kconfig_conf_LDADD = \ 197 $(top_builddir)/libs/parser/libkconfig-parser.la \ 198 $(intl_LIBS) \ 199 $(conf_EXTRA_LIBS) 200 201endif # COND_conf 202 203#-------------------------- 204# mconf frontend 205if COND_mconf 206 207bin_PROGRAMS += frontends/mconf/kconfig-mconf 208 209frontends_mconf_kconfig_mconf_SOURCES = frontends/mconf/mconf.c 210frontends_mconf_kconfig_mconf_CPPFLAGS = \ 211 $(AM_CPPFLAGS) \ 212 $(ncurses_mconf_CPPFLAGS) \ 213 $(intl_CPPFLAGS) \ 214 -I$(top_srcdir)/libs \ 215 -I$(top_srcdir)/libs/parser 216frontends_mconf_kconfig_mconf_CFLAGS = \ 217 $(AM_CFLAGS) \ 218 $(kf_CFLAGS) 219frontends_mconf_kconfig_mconf_LDADD = \ 220 $(top_builddir)/libs/parser/libkconfig-parser.la \ 221 $(top_builddir)/libs/lxdialog/libkconfig-lxdialog.a \ 222 $(intl_LIBS) $(ncurses_LIBS) $(mconf_EXTRA_LIBS) 223 224endif # COND_mconf 225 226#-------------------------- 227# nconf frontend 228if COND_nconf 229 230bin_PROGRAMS += frontends/nconf/kconfig-nconf 231 232frontends_nconf_kconfig_nconf_SOURCES = \ 233 frontends/nconf/nconf.c \ 234 frontends/nconf/nconf.gui.c \ 235 frontends/nconf/nconf.h 236frontends_nconf_kconfig_nconf_CPPFLAGS = \ 237 $(AM_CPPFLAGS) \ 238 $(intl_CPPFLAGS) \ 239 $(ncurses_nconf_CPPFLAGS) \ 240 -I$(top_srcdir)/libs/parser 241frontends_nconf_kconfig_nconf_CFLAGS = \ 242 $(AM_CFLAGS) \ 243 $(kf_CFLAGS) 244frontends_nconf_kconfig_nconf_LDADD = \ 245 $(top_builddir)/libs/parser/libkconfig-parser.la \ 246 $(intl_LIBS) $(ncurses_panel_menu_LIBS) $(ncurses_LIBS) \ 247 $(nconf_EXTRA_LIBS) 248 249endif # COND_nconf 250 251#-------------------------- 252# gconf frontend 253if COND_gconf 254 255bin_PROGRAMS += frontends/gconf/kconfig-gconf 256 257frontends_gconf_kconfig_gconf_SOURCES = \ 258 frontends/gconf/gconf.c \ 259 frontends/gconf/gconf.glade 260frontends_gconf_kconfig_gconf_CPPFLAGS = \ 261 $(AM_CPPFLAGS) \ 262 $(intl_CPPFLAGS) \ 263 -I$(top_srcdir)/libs/parser \ 264 -I$(top_builddir)/libs/images \ 265 -DGUI_PATH='"$(pkgdatadir)/gconf.glade"' 266frontends_gconf_kconfig_gconf_CFLAGS = \ 267 $(AM_CFLAGS) \ 268 $(kf_CFLAGS) \ 269 $(gtk_CFLAGS) 270frontends_gconf_kconfig_gconf_LDADD = \ 271 $(top_builddir)/libs/parser/libkconfig-parser.la \ 272 $(top_builddir)/libs/images/libkconfig-images.a \ 273 $(intl_LIBS) \ 274 $(gtk_LIBS) \ 275 $(gconf_EXTRA_LIBS) 276frontends_gconf_kconfig_gconfdir = $(pkgdatadir) 277frontends_gconf_kconfig_gconf_DATA = frontends/gconf/gconf.glade 278 279EXTRA_DIST += frontends/gconf/gconf.c.patch 280 281endif # COND_gconf 282 283#-------------------------- 284# gconf frontend 285if COND_qconf 286 287bin_PROGRAMS += frontends/qconf/kconfig-qconf 288 289frontends_qconf_kconfig_qconf_SOURCES = \ 290 frontends/qconf/qconf.cc \ 291 frontends/qconf/qconf.h 292BUILT_SOURCES += frontends/qconf/qconf.moc 293frontends_qconf_kconfig_qconf_CPPFLAGS = \ 294 $(AM_CPPFLAGS) \ 295 $(intl_CPPFLAGS) \ 296 -I$(top_srcdir)/libs/parser \ 297 -I$(top_builddir)/libs/images \ 298 -I$(top_builddir)/frontends/qconf 299frontends_qconf_kconfig_qconf_CXXFLAGS = \ 300 $(AM_CXXFLAGS) \ 301 $(kf_CFLAGS) \ 302 $(Qt5_CFLAGS) \ 303 -fPIC -std=c++11 304frontends_qconf_kconfig_qconf_LDADD = \ 305 $(top_builddir)/libs/parser/libkconfig-parser.la \ 306 $(top_builddir)/libs/images/libkconfig-images.a \ 307 $(intl_LIBS) $(Qt5_LIBS) $(qconf_EXTRA_LIBS) 308 309AM_V_MOC = $(AM_V_MOC_$(V)) 310AM_V_MOC_ = $(AM_V_MOC_$(AM_DEFAULT_VERBOSITY)) 311AM_V_MOC_0 = @echo " MOC " $@; 312AM_V_MOC_1 = 313 314.h.moc: 315 $(AM_V_MOC)$(MOC) -i $< -o $@ 316 317CLEANFILES += frontends/qconf/qconf.moc 318EXTRA_DIST += frontends/qconf/qconf.cc.patch 319 320endif # COND_qconf 321 322#=============================================================================== 323# Utilities 324if COND_utils 325 326bin_SCRIPTS += utils/kconfig-tweak 327dist_bin_SCRIPTS += utils/kconfig-diff utils/kconfig-merge 328 329if COND_utils_gettext 330MAYBE_utils_gettext = utils/kconfig-gettext 331endif 332bin_PROGRAMS += $(MAYBE_utils_gettext) 333 334utils_kconfig_gettext_SOURCES = utils/gettext.c 335utils_kconfig_gettext_CPPFLAGS = \ 336 $(AM_CPPFLAGS) \ 337 -I$(top_srcdir)/libs/parser 338utils_kconfig_gettext_CFLAGS = \ 339 $(AM_CFLAGS) \ 340 $(kf_CFLAGS) 341utils_kconfig_gettext_LDADD = \ 342 $(top_builddir)/libs/parser/libkconfig-parser.la \ 343 $(intl_LIBS) 344 345CLEANFILES += utils/kconfig-tweak 346EXTRA_DIST += \ 347 utils/kconfig-tweak.in \ 348 utils/kconfig-tweak.in.patch 349 350utils/kconfig-tweak: utils/kconfig-tweak.in 351 $(MKDIR_P) $(@D) 352 $(AM_V_GEN)$(SED) -e "s/@CONFIG_@/$(config_prefix)/g" \ 353 $< >$@ 354 @chmod +x $@ 355 356endif # COND_utils 357 358#=============================================================================== 359# Misc. scripts 360EXTRA_DIST += \ 361 scripts/ksync.sh \ 362 scripts/ksync.list \ 363 scripts/version.sh 364