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