blob: f80d53106786de300b4ceb83e05861bd177cb681 [file] [log] [blame]
Patrick Georgi0588d192009-08-12 15:00:51 +00001# ===========================================================================
2# Kernel configuration targets
3# These targets are used from top-level makefile
4
Patrick Georgi4647bb12015-06-11 09:45:00 +02005export LC_ALL=C
6export LANG=C
7
Patrick Georgid5208402014-04-11 20:24:06 +02008PHONY += oldconfig xconfig gconfig menuconfig config silentoldconfig update-po-config \
9 localmodconfig localyesconfig
Patrick Georgi0588d192009-08-12 15:00:51 +000010
Patrick Georgi26774f22009-11-21 19:54:02 +000011_OS=$(shell uname -s |cut -c-7)
12regex-objs=
13ifeq ($(_OS),MINGW32)
14 regex-objs=regex.o
15endif
16
Patrick Georgi0588d192009-08-12 15:00:51 +000017Kconfig := src/Kconfig
18
Patrick Georgi9ebd65d2010-04-27 09:23:33 +000019xconfig: $(objk)/qconf
Patrick Georgid5208402014-04-11 20:24:06 +020020 $< $(Kconfig)
Patrick Georgi0588d192009-08-12 15:00:51 +000021
Patrick Georgi9ebd65d2010-04-27 09:23:33 +000022gconfig: $(objk)/gconf
Uwe Hermann6113c1c2012-04-12 21:39:27 +020023 cp -f $(srck)/gconf.glade $(objk)/gconf.glade
Patrick Georgid5208402014-04-11 20:24:06 +020024 $< $(Kconfig)
Patrick Georgi0588d192009-08-12 15:00:51 +000025
Patrick Georgi9ebd65d2010-04-27 09:23:33 +000026menuconfig: $(objk)/mconf
Patrick Georgid5208402014-04-11 20:24:06 +020027 $< $(Kconfig)
Patrick Georgi0588d192009-08-12 15:00:51 +000028
Patrick Georgi9ebd65d2010-04-27 09:23:33 +000029config: $(objk)/conf
Patrick Georgid5208402014-04-11 20:24:06 +020030 $< --oldaskconfig $(Kconfig)
31
32nconfig: $(objk)/nconf
33 $< $(Kconfig)
Patrick Georgi0588d192009-08-12 15:00:51 +000034
Patrick Georgi9ebd65d2010-04-27 09:23:33 +000035oldconfig: $(objk)/conf
Patrick Georgid5208402014-04-11 20:24:06 +020036 $< --$@ $(Kconfig)
37 $< --silentoldconfig $(Kconfig)
Patrick Georgi0588d192009-08-12 15:00:51 +000038
Patrick Georgi9ebd65d2010-04-27 09:23:33 +000039silentoldconfig: $(objk)/conf
Patrick Georgid5208402014-04-11 20:24:06 +020040 $< --$@ $(Kconfig)
Patrick Georgi0588d192009-08-12 15:00:51 +000041
42# --- UNUSED, ignore ----------------------------------------------------------
Patrick Georgid5208402014-04-11 20:24:06 +020043localyesconfig localmodconfig: $(obj)/streamline_config.pl $(obj)/conf
44 $(Q)mkdir -p include/generated
45 $(Q)perl $< --$@ $(srctree) $(Kconfig) > .tmp.config
46 $(Q)if [ -f .config ]; then \
47 cmp -s .tmp.config .config || \
48 (mv -f .config .config.old.1; \
49 mv -f .tmp.config .config; \
50 $(obj)/conf --silentoldconfig $(Kconfig); \
51 mv -f .config.old.1 .config.old) \
52 else \
53 mv -f .tmp.config .config; \
54 $(obj)/conf --silentoldconfig $(Kconfig); \
55 fi
56 $(Q)rm -f .tmp.config
57
Patrick Georgi0588d192009-08-12 15:00:51 +000058# Create new linux.pot file
59# Adjust charset to UTF-8 in .po file to accept UTF-8 in Kconfig files
Patrick Georgi0588d192009-08-12 15:00:51 +000060update-po-config: $(obj)/kxgettext $(obj)/gconf.glade.h
Patrick Georgid5208402014-04-11 20:24:06 +020061 $(Q)echo " GEN config.pot"
62 $(Q)xgettext --default-domain=linux \
63 --add-comments --keyword=_ --keyword=N_ \
64 --from-code=UTF-8 \
65 --files-from=$(srctree)/scripts/kconfig/POTFILES.in \
66 --directory=$(srctree) --directory=$(objtree) \
Patrick Georgi0588d192009-08-12 15:00:51 +000067 --output $(obj)/config.pot
Patrick Georgid5208402014-04-11 20:24:06 +020068 $(Q)sed -i s/CHARSET/UTF-8/ $(obj)/config.pot
69 $(Q)(for i in `ls $(srctree)/arch/*/Kconfig \
70 $(srctree)/arch/*/um/Kconfig`; \
Patrick Georgi0588d192009-08-12 15:00:51 +000071 do \
Patrick Georgid5208402014-04-11 20:24:06 +020072 echo " GEN $$i"; \
73 $(obj)/kxgettext $$i \
Patrick Georgi0588d192009-08-12 15:00:51 +000074 >> $(obj)/config.pot; \
75 done )
Patrick Georgid5208402014-04-11 20:24:06 +020076 $(Q)echo " GEN linux.pot"
77 $(Q)msguniq --sort-by-file --to-code=UTF-8 $(obj)/config.pot \
Patrick Georgi0588d192009-08-12 15:00:51 +000078 --output $(obj)/linux.pot
Patrick Georgid5208402014-04-11 20:24:06 +020079 $(Q)rm -f $(obj)/config.pot
Patrick Georgi0588d192009-08-12 15:00:51 +000080# --- UNUSED, ignore ----------------------------------------------------------
81
Martin Rothf099e1b2015-06-07 20:30:28 -060082PHONY += allnoconfig allyesconfig allmodconfig alldefconfig randconfig savedefconfig
Patrick Georgi0588d192009-08-12 15:00:51 +000083
Patrick Georgid5208402014-04-11 20:24:06 +020084allnoconfig allyesconfig allmodconfig alldefconfig randconfig: $(objk)/conf
85 $< --$@ $(Kconfig)
Patrick Georgi0588d192009-08-12 15:00:51 +000086
Martin Rothf099e1b2015-06-07 20:30:28 -060087savedefconfig: $(objk)/conf
88 $< --$@=defconfig $(Kconfig)
89
Patrick Georgi9ebd65d2010-04-27 09:23:33 +000090defconfig: $(objk)/conf
Patrick Georgi0588d192009-08-12 15:00:51 +000091ifeq ($(KBUILD_DEFCONFIG),)
Patrick Georgid5208402014-04-11 20:24:06 +020092 $< -d $(Kconfig)
Patrick Georgi0588d192009-08-12 15:00:51 +000093else
94 @echo "*** Default configuration is based on '$(KBUILD_DEFCONFIG)'"
Patrick Georgid5208402014-04-11 20:24:06 +020095 $< -D $(KBUILD_DEFCONFIG) $(Kconfig)
Patrick Georgi0588d192009-08-12 15:00:51 +000096endif
97
Patrick Georgi9ebd65d2010-04-27 09:23:33 +000098%_defconfig: $(objk)/conf
Patrick Georgid5208402014-04-11 20:24:06 +020099 $< -D configs/$@ $(Kconfig)
Patrick Georgi0588d192009-08-12 15:00:51 +0000100
101# Help text used by make help
102help:
103 @echo ' config - Update current config utilising a line-oriented program'
Patrick Georgid5208402014-04-11 20:24:06 +0200104 @echo ' nconfig - Update current config utilising a ncurses menu based program'
Patrick Georgi0588d192009-08-12 15:00:51 +0000105 @echo ' menuconfig - Update current config utilising a menu based program'
106 @echo ' xconfig - Update current config utilising a QT based front-end'
107 @echo ' gconfig - Update current config utilising a GTK based front-end'
108 @echo ' oldconfig - Update current config utilising a provided .config as base'
Patrick Georgid5208402014-04-11 20:24:06 +0200109 @echo ' localmodconfig - Update current config disabling modules not loaded'
110 @echo ' localyesconfig - Update current config converting local mods to core'
111 @echo ' silentoldconfig - Same as oldconfig, but quietly, additionally update deps'
Patrick Georgi0588d192009-08-12 15:00:51 +0000112 @echo ' defconfig - New config with default answer to all options'
Martin Rothf099e1b2015-06-07 20:30:28 -0600113 @echo ' savedefconfig - Save current config as ./defconfig (minimal config)'
Patrick Georgi0588d192009-08-12 15:00:51 +0000114 @echo ' allnoconfig - New config where all options are answered with no'
Patrick Georgid5208402014-04-11 20:24:06 +0200115 @echo ' allyesconfig - New config where all options are accepted with yes'
116 @echo ' allmodconfig - New config selecting modules when possible'
117 @echo ' randconfig - New config with random answer to all options'
Patrick Georgi0588d192009-08-12 15:00:51 +0000118
119# lxdialog stuff
120check-lxdialog := $(srck)/lxdialog/check-lxdialog.sh
121
122# Use recursively expanded variables so we do not call gcc unless
123# we really need to do so. (Do not call gcc as part of make mrproper)
Patrick Georgid5208402014-04-11 20:24:06 +0200124HOST_EXTRACFLAGS += $(shell $(CONFIG_SHELL) $(check-lxdialog) -ccflags) \
125 -DLOCALE
Patrick Georgi0588d192009-08-12 15:00:51 +0000126HOST_LOADLIBES = $(shell $(CONFIG_SHELL) $(check-lxdialog) -ldflags $(HOSTCC))
127
Patrick Georgi0588d192009-08-12 15:00:51 +0000128
129# ===========================================================================
130# Shared Makefile for the various kconfig executables:
131# conf: Used for defconfig, oldconfig and related targets
Patrick Georgid5208402014-04-11 20:24:06 +0200132# nconf: Used for the nconfig target.
133# Utilizes ncurses
134# mconf: Used for the menuconfig target
Patrick Georgi0588d192009-08-12 15:00:51 +0000135# Utilizes the lxdialog package
136# qconf: Used for the xconfig target
137# Based on QT which needs to be installed to compile it
138# gconf: Used for the gconfig target
139# Based on GTK which needs to be installed to compile it
140# object files used by all kconfig flavours
141
142lxdialog := lxdialog/checklist.o lxdialog/util.o lxdialog/inputbox.o
143lxdialog += lxdialog/textbox.o lxdialog/yesno.o lxdialog/menubox.o
144
Patrick Georgi26774f22009-11-21 19:54:02 +0000145conf-objs := conf.o zconf.tab.o $(regex-objs)
Patrick Georgid5208402014-04-11 20:24:06 +0200146mconf-objs := mconf.o zconf.tab.o $(lxdialog) $(regex-objs)
147nconf-objs := nconf.o zconf.tab.o nconf.gui.o
Patrick Georgi0588d192009-08-12 15:00:51 +0000148kxgettext-objs := kxgettext.o zconf.tab.o
Patrick Georgid5208402014-04-11 20:24:06 +0200149qconf-cxxobjs := qconf.o
150qconf-objs := zconf.tab.o
151gconf-objs := gconf.o zconf.tab.o
Patrick Georgi0588d192009-08-12 15:00:51 +0000152
Patrick Georgid5208402014-04-11 20:24:06 +0200153hostprogs-y := conf
154
155ifeq ($(MAKECMDGOALS),nconfig)
156 hostprogs-y += nconf
157endif
Patrick Georgi0588d192009-08-12 15:00:51 +0000158
159ifeq ($(MAKECMDGOALS),menuconfig)
160 hostprogs-y += mconf
161endif
162
Patrick Georgid5208402014-04-11 20:24:06 +0200163ifeq ($(MAKECMDGOALS),update-po-config)
164 hostprogs-y += kxgettext
165endif
166
Patrick Georgi0588d192009-08-12 15:00:51 +0000167ifeq ($(MAKECMDGOALS),xconfig)
168 qconf-target := 1
169endif
170ifeq ($(MAKECMDGOALS),gconfig)
171 gconf-target := 1
172endif
173
174
175ifeq ($(qconf-target),1)
Patrick Georgid5208402014-04-11 20:24:06 +0200176 hostprogs-y += qconf
Patrick Georgi0588d192009-08-12 15:00:51 +0000177endif
178
179ifeq ($(gconf-target),1)
Patrick Georgid5208402014-04-11 20:24:06 +0200180 hostprogs-y += gconf
Patrick Georgi0588d192009-08-12 15:00:51 +0000181endif
182
Patrick Georgid5208402014-04-11 20:24:06 +0200183clean-files := qconf.moc .tmp_qtcheck .tmp_gtkcheck
184clean-files += zconf.tab.c zconf.lex.c zconf.hash.c gconf.glade.h
185clean-files += mconf qconf gconf nconf
186clean-files += config.pot linux.pot
Patrick Georgi0588d192009-08-12 15:00:51 +0000187
188# Check that we have the required ncurses stuff installed for lxdialog (menuconfig)
189PHONY += $(objk)/dochecklxdialog
190$(addprefix $(obj)/,$(lxdialog)): $(objk)/dochecklxdialog
191$(objk)/dochecklxdialog:
Patrick Georgi2b7418e2009-08-25 19:38:46 +0000192 $(CONFIG_SHELL) $(check-lxdialog) -check $(HOSTCC) $(HOST_EXTRACFLAGS) $(HOST_LOADLIBES)
Patrick Georgi0588d192009-08-12 15:00:51 +0000193
194always := dochecklxdialog
195
196# Add environment specific flags
197HOST_EXTRACFLAGS += $(shell $(CONFIG_SHELL) $(srck)/check.sh $(HOSTCC) $(HOSTCFLAGS))
198
199# generated files seem to need this to find local include files
Patrick Georgid5208402014-04-11 20:24:06 +0200200HOSTCFLAGS_zconf.lex.o := -I$(src)
Patrick Georgi0588d192009-08-12 15:00:51 +0000201HOSTCFLAGS_zconf.tab.o := -I$(src)
202
Patrick Georgid5208402014-04-11 20:24:06 +0200203LEX_PREFIX_zconf := zconf
204YACC_PREFIX_zconf := zconf
205
Patrick Georgi0588d192009-08-12 15:00:51 +0000206HOSTLOADLIBES_qconf = $(KC_QT_LIBS) -ldl
Patrick Georgid5208402014-04-11 20:24:06 +0200207HOSTCXXFLAGS_qconf.o = $(KC_QT_CFLAGS)
Patrick Georgi0588d192009-08-12 15:00:51 +0000208
209HOSTLOADLIBES_gconf = `pkg-config --libs gtk+-2.0 gmodule-2.0 libglade-2.0`
210HOSTCFLAGS_gconf.o = `pkg-config --cflags gtk+-2.0 gmodule-2.0 libglade-2.0` \
Patrick Georgid5208402014-04-11 20:24:06 +0200211 -Wno-missing-prototypes
212
213HOSTLOADLIBES_mconf = $(shell $(CONFIG_SHELL) $(check-lxdialog) -ldflags $(HOSTCC))
214
215HOSTLOADLIBES_nconf = $(shell \
216 pkg-config --libs menu panel ncurses 2>/dev/null \
217 || echo "-lmenu -lpanel -lncurses" )
Patrick Georgi0588d192009-08-12 15:00:51 +0000218
219$(objk)/qconf.o: $(objk)/.tmp_qtcheck
220
221ifeq ($(qconf-target),1)
222$(objk)/.tmp_qtcheck: $(srck)/Makefile
223-include $(objk)/.tmp_qtcheck
224
225# QT needs some extra effort...
Patrick Georgi9ebd65d2010-04-27 09:23:33 +0000226$(objk)/.tmp_qtcheck:
Patrick Georgid5208402014-04-11 20:24:06 +0200227 @set -e; echo " CHECK qt"; dir=""; pkg=""; \
228 if ! pkg-config --exists QtCore 2> /dev/null; then \
229 echo "* Unable to find the QT4 tool qmake. Trying to use QT3"; \
230 pkg-config --exists qt 2> /dev/null && pkg=qt; \
231 pkg-config --exists qt-mt 2> /dev/null && pkg=qt-mt; \
232 if [ -n "$$pkg" ]; then \
233 cflags="\$$(shell pkg-config $$pkg --cflags)"; \
234 libs="\$$(shell pkg-config $$pkg --libs)"; \
235 moc="\$$(shell pkg-config $$pkg --variable=prefix)/bin/moc"; \
236 dir="$$(pkg-config $$pkg --variable=prefix)"; \
237 else \
238 for d in $$QTDIR /usr/share/qt* /usr/lib/qt*; do \
239 if [ -f $$d/include/qconfig.h ]; then dir=$$d; break; fi; \
240 done; \
241 if [ -z "$$dir" ]; then \
242 echo >&2 "*"; \
243 echo >&2 "* Unable to find any QT installation. Please make sure that"; \
244 echo >&2 "* the QT4 or QT3 development package is correctly installed and"; \
245 echo >&2 "* either qmake can be found or install pkg-config or set"; \
246 echo >&2 "* the QTDIR environment variable to the correct location."; \
247 echo >&2 "*"; \
248 false; \
249 fi; \
250 libpath=$$dir/lib; lib=qt; osdir=""; \
251 $(HOSTCXX) -print-multi-os-directory > /dev/null 2>&1 && \
252 osdir=x$$($(HOSTCXX) -print-multi-os-directory); \
253 test -d $$libpath/$$osdir && libpath=$$libpath/$$osdir; \
254 test -f $$libpath/libqt-mt.so && lib=qt-mt; \
255 cflags="-I$$dir/include"; \
256 libs="-L$$libpath -Wl,-rpath,$$libpath -l$$lib"; \
257 moc="$$dir/bin/moc"; \
258 fi; \
259 if [ ! -x $$dir/bin/moc -a -x /usr/bin/moc ]; then \
260 echo "*"; \
261 echo "* Unable to find $$dir/bin/moc, using /usr/bin/moc instead."; \
262 echo "*"; \
263 moc="/usr/bin/moc"; \
264 fi; \
Patrick Georgi0588d192009-08-12 15:00:51 +0000265 else \
Patrick Georgid5208402014-04-11 20:24:06 +0200266 cflags="\$$(shell pkg-config QtCore QtGui Qt3Support --cflags)"; \
267 libs="\$$(shell pkg-config QtCore QtGui Qt3Support --libs)"; \
268 moc="\$$(shell pkg-config QtCore --variable=moc_location)"; \
269 [ -n "$$moc" ] || moc="\$$(shell pkg-config QtCore --variable=prefix)/bin/moc"; \
Patrick Georgi0588d192009-08-12 15:00:51 +0000270 fi; \
271 echo "KC_QT_CFLAGS=$$cflags" > $@; \
272 echo "KC_QT_LIBS=$$libs" >> $@; \
273 echo "KC_QT_MOC=$$moc" >> $@
274endif
275
276$(objk)/gconf.o: $(objk)/.tmp_gtkcheck
277
278ifeq ($(gconf-target),1)
279-include $(objk)/.tmp_gtkcheck
280
281# GTK needs some extra effort, too...
Patrick Georgi9ebd65d2010-04-27 09:23:33 +0000282$(objk)/.tmp_gtkcheck:
Patrick Georgi0588d192009-08-12 15:00:51 +0000283 @if `pkg-config --exists gtk+-2.0 gmodule-2.0 libglade-2.0`; then \
284 if `pkg-config --atleast-version=2.0.0 gtk+-2.0`; then \
285 touch $@; \
286 else \
Patrick Georgid5208402014-04-11 20:24:06 +0200287 echo >&2 "*"; \
288 echo >&2 "* GTK+ is present but version >= 2.0.0 is required."; \
289 echo >&2 "*"; \
Patrick Georgi0588d192009-08-12 15:00:51 +0000290 false; \
291 fi \
292 else \
Patrick Georgid5208402014-04-11 20:24:06 +0200293 echo >&2 "*"; \
294 echo >&2 "* Unable to find the GTK+ installation. Please make sure that"; \
295 echo >&2 "* the GTK+ 2.0 development package is correctly installed..."; \
296 echo >&2 "* You need gtk+-2.0, glib-2.0 and libglade-2.0."; \
297 echo >&2 "*"; \
Patrick Georgi0588d192009-08-12 15:00:51 +0000298 false; \
299 fi
300endif
301
302# --- UNUSED, ignore ----------------------------------------------------------
303ifdef UNUSED
Patrick Georgid5208402014-04-11 20:24:06 +0200304$(obj)/zconf.tab.o: $(obj)/zconf.lex.c $(obj)/zconf.hash.c
Patrick Georgi0588d192009-08-12 15:00:51 +0000305
306$(obj)/qconf.o: $(obj)/qconf.moc $(obj)/lkc_defs.h
307
308$(obj)/gconf.o: $(obj)/lkc_defs.h
309
Patrick Georgid5208402014-04-11 20:24:06 +0200310$(obj)/%.moc: $(srck)/%.h
Patrick Georgi0588d192009-08-12 15:00:51 +0000311 $(KC_QT_MOC) -i $< -o $@
312
313$(obj)/lkc_defs.h: $(src)/lkc_proto.h
314 sed < $< > $@ 's/P(\([^,]*\),.*/#define \1 (\*\1_p)/'
315
316# Extract gconf menu items for I18N support
317$(obj)/gconf.glade.h: $(obj)/gconf.glade
318 intltool-extract --type=gettext/glade $(obj)/gconf.glade
319endif
320# --- UNUSED, ignore ----------------------------------------------------------
321
322###
323# The following requires flex/bison/gperf
324# By default we use the _shipped versions, uncomment the following line if
325# you are modifying the flex/bison src.
326# LKC_GENPARSER := 1
327
328ifdef LKC_GENPARSER
329
330# --- UNUSED, ignore ----------------------------------------------------------
331$(obj)/zconf.tab.c: $(src)/zconf.y
Patrick Georgid5208402014-04-11 20:24:06 +0200332$(obj)/zconf.lex.c: $(src)/zconf.l
Patrick Georgi0588d192009-08-12 15:00:51 +0000333$(obj)/zconf.hash.c: $(src)/zconf.gperf
334
335%.tab.c: %.y
Stefan Reinauerf78a09b2015-04-03 20:01:38 +0200336 bison -t -l -b $* -p $(notdir $*) $<
Patrick Georgi39618342015-05-10 17:58:48 +0200337
338%.tab.c_shipped: %.tab.c
339 cp $< $@
Patrick Georgi0588d192009-08-12 15:00:51 +0000340
Stefan Reinauerf78a09b2015-04-03 20:01:38 +0200341%.lex.c: %.l
Patrick Georgi0588d192009-08-12 15:00:51 +0000342 flex -L -P$(notdir $*) -o$@ $<
Patrick Georgi39618342015-05-10 17:58:48 +0200343
344%.lex.c_shipped: %.lex.c
345 cp $< $@
Patrick Georgi0588d192009-08-12 15:00:51 +0000346
347%.hash.c: %.gperf
348 gperf < $< > $@
349 cp $@ $@_shipped
350# --- UNUSED, ignore ----------------------------------------------------------
351
352endif
353
354$(objk)/qconf: $(patsubst %,$(objk)/%,$(qconf-cxxobjs)) \
355 $(patsubst %,$(objk)/%,$(qconf-objs))
Patrick Georgid5208402014-04-11 20:24:06 +0200356 $(HOSTCXX) $(HOSTCXXFLAGS) -o $@ $^ $(HOSTLOADLIBES_qconf)
Patrick Georgi0588d192009-08-12 15:00:51 +0000357$(objk)/gconf: $(patsubst %,$(objk)/%,$(gconf-objs))
Patrick Georgid5208402014-04-11 20:24:06 +0200358 $(HOSTCC) $(HOSTCFLAGS) -o $@ $^ $(HOSTLOADLIBES_gconf)
Patrick Georgi0588d192009-08-12 15:00:51 +0000359$(objk)/mconf: $(patsubst %,$(objk)/%,$(mconf-objs))
Patrick Georgid5208402014-04-11 20:24:06 +0200360 $(HOSTCC) $(HOSTCFLAGS) $(HOST_EXTRACFLAGS) $^ -o $@ $(HOST_LOADLIBES)
361$(objk)/nconf: $(patsubst %,$(objk)/%,$(nconf-objs))
362 $(HOSTCC) $(HOSTCFLAGS) -o $@ $^ $(HOSTLOADLIBES_nconf)
Patrick Georgi0588d192009-08-12 15:00:51 +0000363$(objk)/conf: $(patsubst %,$(objk)/%,$(conf-objs))
Patrick Georgi2b7418e2009-08-25 19:38:46 +0000364 $(HOSTCC) $(HOSTCFLAGS) $(HOST_EXTRACFLAGS) -o $@ $^
Patrick Georgi0588d192009-08-12 15:00:51 +0000365
366$(objk)/mconf.o: $(srck)/mconf.c
Patrick Georgi2b7418e2009-08-25 19:38:46 +0000367 $(HOSTCC) $(HOSTCFLAGS) $(HOST_EXTRACFLAGS) -c -o $@ $<
Patrick Georgid5208402014-04-11 20:24:06 +0200368$(objk)/nconf.o: $(srck)/nconf.c
369 $(HOSTCC) $(HOSTCFLAGS) $(HOST_EXTRACFLAGS) -c -o $@ $<
370$(objk)/nconf.gui.o: $(srck)/nconf.gui.c
371 $(HOSTCC) $(HOSTCFLAGS) $(HOST_EXTRACFLAGS) -c -o $@ $<
Patrick Georgi0588d192009-08-12 15:00:51 +0000372$(objk)/conf.o: $(srck)/conf.c
Patrick Georgi2b7418e2009-08-25 19:38:46 +0000373 $(HOSTCC) $(HOSTCFLAGS) $(HOST_EXTRACFLAGS) -c -o $@ $<
Patrick Georgi26774f22009-11-21 19:54:02 +0000374$(objk)/regex.o: $(srck)/regex.c
375 $(HOSTCC) $(HOSTCFLAGS) $(HOST_EXTRACFLAGS) -DHAVE_STRING_H -c -o $@ $<
Patrick Georgi0588d192009-08-12 15:00:51 +0000376
Patrick Georgid5208402014-04-11 20:24:06 +0200377$(objk)/zconf.tab.o: $(objk)/zconf.tab.c $(objk)/zconf.lex.c \
Patrick Georgi0588d192009-08-12 15:00:51 +0000378 $(objk)/zconf.hash.c
Patrick Georgi2b7418e2009-08-25 19:38:46 +0000379 $(HOSTCC) $(HOSTCFLAGS) $(HOST_EXTRACFLAGS) -c -o $@ $(objk)/zconf.tab.c
Patrick Georgi0588d192009-08-12 15:00:51 +0000380$(objk)/qconf.o: $(srck)/qconf.cc $(objk)/qconf.moc $(objk)/lkc_defs.h
Patrick Georgi2b7418e2009-08-25 19:38:46 +0000381 $(HOSTCXX) $(HOSTCXXFLAGS) $(HOSTCXXFLAGS_qconf.o) -c -o $@ $<
Patrick Georgi0588d192009-08-12 15:00:51 +0000382$(objk)/gconf.o: $(srck)/gconf.c $(objk)/lkc_defs.h
Patrick Georgi2b7418e2009-08-25 19:38:46 +0000383 $(HOSTCC) $(HOSTCFLAGS) $(HOSTCFLAGS_gconf.o) -c -o $@ $<
Patrick Georgi0588d192009-08-12 15:00:51 +0000384$(objk)/%.moc: $(srck)/%.h
Patrick Georgi2b7418e2009-08-25 19:38:46 +0000385 $(KC_QT_MOC) -i $< -o $@
Patrick Georgi0588d192009-08-12 15:00:51 +0000386$(objk)/lkc_defs.h: $(srck)/lkc_proto.h
Patrick Georgi2b7418e2009-08-25 19:38:46 +0000387 sed < $< > $@ 's/P(\([^,]*\),.*/#define \1 (\*\1_p)/'
Patrick Georgi0588d192009-08-12 15:00:51 +0000388
Patrick Georgid5208402014-04-11 20:24:06 +0200389$(objk)/zconf.lex.c: $(srck)/zconf.lex.c_shipped
Patrick Georgi2b7418e2009-08-25 19:38:46 +0000390 cp $< $@
Patrick Georgi0588d192009-08-12 15:00:51 +0000391$(objk)/zconf.hash.c: $(srck)/zconf.hash.c_shipped
Patrick Georgi2b7418e2009-08-25 19:38:46 +0000392 cp $< $@
Patrick Georgi0588d192009-08-12 15:00:51 +0000393$(objk)/zconf.tab.c: $(srck)/zconf.tab.c_shipped
Patrick Georgi2b7418e2009-08-25 19:38:46 +0000394 cp $< $@
Patrick Georgi0588d192009-08-12 15:00:51 +0000395
396$(objk)/lxdialog/lxdialog: $(objk)/dochecklxdialog \
397 $(patsubst %,$(objk)/lxdialog/%,$(lxdialog))
Christian Ruppert74b65992011-12-17 21:56:05 +0100398 $(HOSTCC) $(HOSTCFLAGS) $(HOST_EXTRACFLAGS) \
399 $(patsubst %,$(objk)/lxdialog/%,$(lxdialog)) $(HOST_LOADLIBES) -o $@
Patrick Georgi0588d192009-08-12 15:00:51 +0000400$(objk)/lxdialog/%.o: $(srck)/lxdialog/%.c
Patrick Georgi2b7418e2009-08-25 19:38:46 +0000401 $(HOSTCC) $(HOSTCFLAGS) $(HOST_EXTRACFLAGS) $^ -c -o $@
Patrick Georgi0588d192009-08-12 15:00:51 +0000402
Patrick Georgib3a18ac2012-09-13 22:13:33 +0200403$(objk)/%.o: HOSTCFLAGS+=-I$(srck) -I$(objk)
404$(objk)/%.o: HOSTCXXFLAGS+=-I$(srck) -I$(objk)