mirror of
https://github.com/genodelabs/genode.git
synced 2024-12-25 08:21:08 +00:00
18869199ca
Fixes #5325
119 lines
3.8 KiB
Makefile
119 lines
3.8 KiB
Makefile
LIBS = qt6_cmake ldso_so_support libc libm stdcxx qt6_component egl mesa base qoost
|
|
|
|
INSTALL_LIBS = lib/libQt6Concurrent.lib.so \
|
|
lib/libQt6Core.lib.so \
|
|
lib/libQt6Gui.lib.so \
|
|
lib/libQt6Network.lib.so \
|
|
lib/libQt6OpenGL.lib.so \
|
|
lib/libQt6OpenGLWidgets.lib.so \
|
|
lib/libQt6PrintSupport.lib.so \
|
|
lib/libQt6Sql.lib.so \
|
|
lib/libQt6Test.lib.so \
|
|
lib/libQt6Widgets.lib.so \
|
|
lib/libQt6Xml.lib.so \
|
|
plugins/platforms/libqgenode.lib.so \
|
|
plugins/imageformats/libqjpeg.lib.so \
|
|
plugins/sqldrivers/libqsqlite.lib.so
|
|
|
|
BUILD_ARTIFACTS = $(notdir $(INSTALL_LIBS)) \
|
|
qt6_libqgenode.tar \
|
|
qt6_libqjpeg.tar \
|
|
qt6_libqsqlite.tar
|
|
|
|
cmake_prepared.tag: build_dependencies/lib/ld.lib.so
|
|
|
|
build: cmake_prepared.tag
|
|
|
|
@#
|
|
@# run cmake
|
|
@#
|
|
|
|
$(VERBOSE)cmake \
|
|
-G "Unix Makefiles" \
|
|
-DQT_SILENCE_CMAKE_GENERATOR_WARNING=ON \
|
|
-DCMAKE_SYSTEM_NAME="Genode" \
|
|
-DCMAKE_AR="$(AR)" \
|
|
-DCMAKE_C_COMPILER="$(CC)" \
|
|
-DCMAKE_C_FLAGS="$(GENODE_CMAKE_CFLAGS)" \
|
|
-DCMAKE_CXX_COMPILER="$(CXX)" \
|
|
-DCMAKE_CXX_FLAGS="$(GENODE_CMAKE_CFLAGS)" \
|
|
-DCMAKE_EXE_LINKER_FLAGS="$(GENODE_CMAKE_LFLAGS_APP)" \
|
|
-DCMAKE_SHARED_LINKER_FLAGS="$(GENODE_CMAKE_LFLAGS_SHLIB)" \
|
|
-DCMAKE_MODULE_LINKER_FLAGS="$(GENODE_CMAKE_LFLAGS_SHLIB)" \
|
|
-DQT_QMAKE_TARGET_MKSPEC=$(QT_PLATFORM) \
|
|
-DCMAKE_INSTALL_PREFIX=/qt \
|
|
-DQT_HOST_PATH="$(QT_TOOLS_DIR)" \
|
|
-DBUILD_WITH_PCH=OFF \
|
|
-DCMAKE_BUILD_TYPE=RelWithDebInfo \
|
|
-DQT_BUILD_EXAMPLES=OFF \
|
|
-DQT_QPA_DEFAULT_PLATFORM=genode \
|
|
-DFEATURE_cxx20=ON \
|
|
-DFEATURE_relocatable=OFF \
|
|
-DFEATURE_evdev=OFF \
|
|
-DFEATURE_icu=OFF \
|
|
-DFEATURE_system_harfbuzz=OFF \
|
|
-DFEATURE_backtrace=OFF \
|
|
-DFEATURE_glib=OFF \
|
|
-DFEATURE_zstd=OFF \
|
|
-DFEATURE_system_pcre2=OFF \
|
|
-DFEATURE_system_zlib=OFF \
|
|
-DFEATURE_dbus=OFF \
|
|
-DFEATURE_libudev=OFF \
|
|
-DFEATURE_opengl_desktop=ON \
|
|
-DFEATURE_egl=ON \
|
|
-DFEATURE_xkbcommon=OFF \
|
|
-DFEATURE_networkinterface=OFF \
|
|
-DFEATURE_vulkan=OFF \
|
|
-DFEATURE_reduce_relocations=OFF \
|
|
-DFEATURE_pkg_config=OFF \
|
|
$(QT_DIR)/qtbase \
|
|
$(QT6_OUTPUT_FILTER)
|
|
|
|
@#
|
|
@# build
|
|
@#
|
|
|
|
$(VERBOSE)$(MAKE) VERBOSE=$(MAKE_VERBOSE)
|
|
|
|
@#
|
|
@# install into local 'install' directory
|
|
@#
|
|
|
|
$(VERBOSE)$(MAKE) VERBOSE=$(MAKE_VERBOSE) DESTDIR=install install
|
|
|
|
@#
|
|
@# remove shared library existence checks since many libs are not
|
|
@# present and not needed at build time
|
|
@#
|
|
|
|
$(VERBOSE)find $(CURDIR)/install/qt/lib/cmake -name "*.cmake" \
|
|
-exec sed -i "/list(APPEND _IMPORT_CHECK_TARGETS /d" {} \;
|
|
|
|
@#
|
|
@# strip libs and create symlinks in 'bin' and 'debug' directories
|
|
@#
|
|
|
|
$(VERBOSE)for LIB in $(INSTALL_LIBS); do \
|
|
cd $(CURDIR)/install/qt/$$(dirname $${LIB}) && \
|
|
$(OBJCOPY) --only-keep-debug $$(basename $${LIB}) $$(basename $${LIB}).debug && \
|
|
$(STRIP) $$(basename $${LIB}) -o $$(basename $${LIB}).stripped && \
|
|
$(OBJCOPY) --add-gnu-debuglink=$$(basename $${LIB}).debug $$(basename $${LIB}).stripped; \
|
|
ln -sf $(CURDIR)/install/qt/$${LIB}.stripped $(PWD)/bin/$$(basename $${LIB}); \
|
|
ln -sf $(CURDIR)/install/qt/$${LIB}.stripped $(PWD)/debug/$$(basename $${LIB}); \
|
|
ln -sf $(CURDIR)/install/qt/$${LIB}.debug $(PWD)/debug/; \
|
|
done
|
|
|
|
@#
|
|
@# create tar archives
|
|
@#
|
|
|
|
$(VERBOSE)tar chf $(PWD)/bin/qt6_libqgenode.tar $(TAR_OPT) --transform='s/\.stripped//' -C install qt/plugins/platforms/libqgenode.lib.so.stripped
|
|
$(VERBOSE)tar chf $(PWD)/bin/qt6_libqjpeg.tar $(TAR_OPT) --transform='s/\.stripped//' -C install qt/plugins/imageformats/libqjpeg.lib.so.stripped
|
|
$(VERBOSE)tar chf $(PWD)/bin/qt6_libqsqlite.tar $(TAR_OPT) --transform='s/\.stripped//' -C install qt/plugins/sqldrivers/libqsqlite.lib.so.stripped
|
|
|
|
.PHONY: build
|
|
|
|
ifeq ($(called_from_lib_mk),yes)
|
|
all: build
|
|
endif
|