@@ -159,39 +159,41 @@ conf-objs := conf.o $(common-objs)
159159hostprogs += nconf
160160nconf-objs := nconf.o nconf.gui.o $(common-objs )
161161
162- HOSTLDLIBS_nconf = $(shell . $(obj ) /nconf-cfg && echo $$ libs)
163- HOSTCFLAGS_nconf.o = $(shell . $(obj ) /nconf-cfg && echo $$ cflags)
164- HOSTCFLAGS_nconf.gui.o = $(shell . $(obj ) /nconf-cfg && echo $$ cflags)
162+ HOSTLDLIBS_nconf = $(call read-file, $(obj ) /nconf-libs)
163+ HOSTCFLAGS_nconf.o = $(call read-file, $(obj ) /nconf-cflags)
164+ HOSTCFLAGS_nconf.gui.o = $(call read-file, $(obj ) /nconf-cflags)
165165
166- $(obj ) /nconf.o $(obj ) /nconf.gui.o : $(obj ) /nconf-cfg
166+ $(obj ) /nconf : | $(obj ) /nconf-libs
167+ $(obj ) /nconf.o $(obj ) /nconf.gui.o : | $(obj ) /nconf-cflags
167168
168169# mconf: Used for the menuconfig target based on lxdialog
169170hostprogs += mconf
170171lxdialog := $(addprefix lxdialog/, \
171172 checklist.o inputbox.o menubox.o textbox.o util.o yesno.o)
172173mconf-objs := mconf.o $(lxdialog ) $(common-objs )
173174
174- HOSTLDLIBS_mconf = $(shell . $(obj ) /mconf-cfg && echo $$ libs)
175+ HOSTLDLIBS_mconf = $(call read-file, $(obj ) /mconf-libs)
175176$(foreach f, mconf.o $(lxdialog), \
176- $(eval HOSTCFLAGS_$f = $$(shell . $(obj)/mconf-cfg && echo $$$$ cflags)))
177+ $(eval HOSTCFLAGS_$f = $$(call read-file, $(obj)/mconf-cflags)))
177178
178- $(addprefix $(obj ) /, mconf.o $(lxdialog ) ) : $(obj ) /mconf-cfg
179+ $(obj ) /mconf : | $(obj ) /mconf-libs
180+ $(addprefix $(obj ) /, mconf.o $(lxdialog ) ) : | $(obj ) /mconf-cflags
179181
180182# qconf: Used for the xconfig target based on Qt
181183hostprogs += qconf
182184qconf-cxxobjs := qconf.o qconf-moc.o
183185qconf-objs := images.o $(common-objs )
184186
185- HOSTLDLIBS_qconf = $(shell . $(obj ) /qconf-cfg && echo $$ libs)
186- HOSTCXXFLAGS_qconf.o = $( shell . $(obj ) /qconf-cfg && echo $$ cflags)
187- HOSTCXXFLAGS_qconf-moc.o = $( shell . $(obj ) /qconf-cfg && echo $$ cflags)
188-
189- $(obj ) /qconf.o: $(obj ) /qconf-cfg
187+ HOSTLDLIBS_qconf = $(call read-file, $(obj ) /qconf-libs)
188+ HOSTCXXFLAGS_qconf.o = -std=c++11 -fPIC $( call read-file, $(obj ) /qconf-cflags)
189+ HOSTCXXFLAGS_qconf-moc.o = -std=c++11 -fPIC $( call read-file, $(obj ) /qconf-cflags)
190+ $( obj ) /qconf : | $( obj ) /qconf-libs
191+ $(obj ) /qconf.o $( obj ) /qconf-moc.o : | $(obj ) /qconf-cflags
190192
191193quiet_cmd_moc = MOC $@
192- cmd_moc = $(shell . $(obj ) /qconf-cfg && echo $$moc) $< -o $@
194+ cmd_moc = $(call read-file, $(obj ) /qconf-bin) /moc $< -o $@
193195
194- $(obj ) /qconf-moc.cc : $(src ) /qconf.h $(obj ) /qconf-cfg FORCE
196+ $(obj ) /qconf-moc.cc : $(src ) /qconf.h FORCE | $(obj ) /qconf-bin
195197 $(call if_changed,moc)
196198
197199targets += qconf-moc.cc
@@ -200,15 +202,16 @@ targets += qconf-moc.cc
200202hostprogs += gconf
201203gconf-objs := gconf.o images.o $(common-objs )
202204
203- HOSTLDLIBS_gconf = $(shell . $(obj ) /gconf-cfg && echo $$ libs)
204- HOSTCFLAGS_gconf.o = $(shell . $(obj ) /gconf-cfg && echo $$ cflags)
205+ HOSTLDLIBS_gconf = $(call read-file, $(obj ) /gconf-libs)
206+ HOSTCFLAGS_gconf.o = $(call read-file, $(obj ) /gconf-cflags)
205207
206- $(obj ) /gconf.o : $(obj ) /gconf-cfg
208+ $(obj ) /gconf : | $(obj ) /gconf-libs
209+ $(obj ) /gconf.o : | $(obj ) /gconf-cflags
207210
208211# check if necessary packages are available, and configure build flags
209- filechk_conf_cfg = $( CONFIG_SHELL ) $<
212+ cmd_conf_cfg = $< $( addprefix $( obj ) / $* conf-, cflags libs bin)
210213
211- $(obj ) /% conf-cfg : $(src ) /% conf-cfg.sh FORCE
212- $(call filechk ,conf_cfg)
214+ $(obj ) /% conf-cflags $( obj ) / % conf-libs $( obj ) / % conf-bin : $(src ) /% conf-cfg.sh
215+ $(call cmd ,conf_cfg)
213216
214- clean-files += *conf-cfg
217+ clean-files += *conf-cflags *conf-libs *conf-bin
0 commit comments