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