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