mirror of
https://github.com/openwrt/openwrt.git
synced 2025-02-06 11:09:31 +00:00
build: simplify building *config targets
Instead of passing pkg-config location through a variable when building qconf (make xconfig), prepend its parent directory to the PATH, as it is being done for other conf targets. Use a Makefile pattern rule to group all 'scripts/config/%onf' (currently conf, mconf, qconf) targets in a single rule. Add -O2 to CFLAGS when building them as well. Signed-off-by: Eneas U de Queiroz <cotequeiroz@gmail.com>
This commit is contained in:
parent
ccad1d6817
commit
8636a17214
@ -100,21 +100,14 @@ prepare-tmpinfo: FORCE
|
|||||||
fi
|
fi
|
||||||
|
|
||||||
ifneq ($(DISTRO_PKG_CONFIG),)
|
ifneq ($(DISTRO_PKG_CONFIG),)
|
||||||
scripts/config/mconf: export PATH:=$(dir $(DISTRO_PKG_CONFIG)):$(PATH)
|
scripts/config/%onf: export PATH:=$(dir $(DISTRO_PKG_CONFIG)):$(PATH)
|
||||||
endif
|
endif
|
||||||
scripts/config/mconf:
|
scripts/config/%onf: CFLAGS+= -O2
|
||||||
@$(_SINGLE)$(SUBMAKE) -s -C scripts/config all CC="$(HOSTCC_WRAPPER)"
|
scripts/config/%onf:
|
||||||
|
@$(_SINGLE)$(SUBMAKE) -s -C scripts/config $(notdir $@) CC="$(HOSTCC_WRAPPER)"
|
||||||
|
|
||||||
$(eval $(call rdep,scripts/config,scripts/config/mconf))
|
$(eval $(call rdep,scripts/config,scripts/config/mconf))
|
||||||
|
|
||||||
scripts/config/qconf:
|
|
||||||
@$(_SINGLE)$(SUBMAKE) -s -C scripts/config qconf \
|
|
||||||
CC="$(HOSTCC_WRAPPER)" \
|
|
||||||
DISTRO-PKG-CONFIG="$(DISTRO_PKG_CONFIG)"
|
|
||||||
|
|
||||||
scripts/config/conf:
|
|
||||||
@$(_SINGLE)$(SUBMAKE) -s -C scripts/config conf CC="$(HOSTCC_WRAPPER)"
|
|
||||||
|
|
||||||
config: scripts/config/conf prepare-tmpinfo FORCE
|
config: scripts/config/conf prepare-tmpinfo FORCE
|
||||||
[ -L .config ] && export KCONFIG_OVERWRITECONFIG=1; \
|
[ -L .config ] && export KCONFIG_OVERWRITECONFIG=1; \
|
||||||
$< Config.in
|
$< Config.in
|
||||||
|
@ -39,12 +39,7 @@ conf: $(conf-objs)
|
|||||||
mconf: $(mconf-objs) $(lxdialog-objs)
|
mconf: $(mconf-objs) $(lxdialog-objs)
|
||||||
$(CC) -o $@ $^ $(call check_lxdialog,ldflags $(CC))
|
$(CC) -o $@ $^ $(call check_lxdialog,ldflags $(CC))
|
||||||
qconf: $(qconf-cxxobjs) $(qconf-objs)
|
qconf: $(qconf-cxxobjs) $(qconf-objs)
|
||||||
ifneq ($(DISTRO-PKG-CONFIG),)
|
|
||||||
$(CXX) -o $@ $^ $(HOSTLOADLIBES_qconf)
|
$(CXX) -o $@ $^ $(HOSTLOADLIBES_qconf)
|
||||||
else
|
|
||||||
echo "You don't have 'pkg-config' installed. Cannot continue"
|
|
||||||
echo "For now, you may use 'make menuconfig' instead of 'make xconfig'"
|
|
||||||
endif
|
|
||||||
|
|
||||||
clean:
|
clean:
|
||||||
rm -f *.o lxdialog/*.o $(clean-files) conf mconf
|
rm -f *.o lxdialog/*.o $(clean-files) conf mconf
|
||||||
@ -74,17 +69,17 @@ qconf.o: .tmp_qtcheck
|
|||||||
# Qt needs some extra effort...
|
# Qt needs some extra effort...
|
||||||
.tmp_qtcheck:
|
.tmp_qtcheck:
|
||||||
@set -e; echo " CHECK qt"; \
|
@set -e; echo " CHECK qt"; \
|
||||||
if $(DISTRO-PKG-CONFIG) --exists Qt5Core; then \
|
if pkg-config --exists Qt5Core; then \
|
||||||
cflags="-std=c++11 -fPIC `$(DISTRO-PKG-CONFIG) --cflags Qt5Core Qt5Gui Qt5Widgets`"; \
|
cflags="-std=c++11 -fPIC `pkg-config --cflags Qt5Core Qt5Gui Qt5Widgets`"; \
|
||||||
libs=`$(DISTRO-PKG-CONFIG) --libs Qt5Core Qt5Gui Qt5Widgets`; \
|
libs=`pkg-config --libs Qt5Core Qt5Gui Qt5Widgets`; \
|
||||||
moc=`$(DISTRO-PKG-CONFIG) --variable=host_bins Qt5Core`/moc; \
|
moc=`pkg-config --variable=host_bins Qt5Core`/moc; \
|
||||||
elif $(DISTRO-PKG-CONFIG) --exists QtCore; then \
|
elif pkg-config --exists QtCore; then \
|
||||||
cflags=`$(DISTRO-PKG-CONFIG) --cflags QtCore QtGui`; \
|
cflags=`pkg-config --cflags QtCore QtGui`; \
|
||||||
libs=`$(DISTRO-PKG-CONFIG) --libs QtCore QtGui`; \
|
libs=`pkg-config --libs QtCore QtGui`; \
|
||||||
moc=`$(DISTRO-PKG-CONFIG) --variable=moc_location QtCore`; \
|
moc=`pkg-config --variable=moc_location QtCore`; \
|
||||||
else \
|
else \
|
||||||
echo >&2 "*"; \
|
echo >&2 "*"; \
|
||||||
echo >&2 "* Could not find Qt via $(DISTRO-PKG-CONFIG)."; \
|
echo >&2 "* Could not find Qt via pkg-config."; \
|
||||||
echo >&2 "* Please install either Qt 4.8 or 5.x. and make sure it's in PKG_CONFIG_PATH"; \
|
echo >&2 "* Please install either Qt 4.8 or 5.x. and make sure it's in PKG_CONFIG_PATH"; \
|
||||||
echo >&2 "*"; \
|
echo >&2 "*"; \
|
||||||
exit 1; \
|
exit 1; \
|
||||||
|
Loading…
x
Reference in New Issue
Block a user