build: add support for quiet build mode in CMakeLists

This commit is contained in:
EnderIce2 2025-04-12 04:36:16 +00:00
parent 1f646d6826
commit c7d501b466
Signed by: enderice2
GPG Key ID: FEB6B8A8507BA62E
4 changed files with 28 additions and 5 deletions

View File

@ -82,6 +82,10 @@ QEMUFLAGS += -M raspi4b \
-kernel $(OSNAME).img -kernel $(OSNAME).img
endif endif
ifeq ($(QUIET_BUILD), 1)
MAKE_QUIET_FLAG := --quiet
endif
doxygen: doxygen:
mkdir -p doxygen-doc mkdir -p doxygen-doc
doxygen Doxyfile doxygen Doxyfile
@ -141,7 +145,13 @@ setup:
setup-no-qemu: setup-no-qemu:
$(MAKE) --quiet -C tools ci $(MAKE) --quiet -C tools ci
build: build_kernel build_bootloader build_userspace build_drivers build_image build:
$(MAKE) $(MAKE_QUIET_FLAG) mkdir_rootfs
$(MAKE) $(MAKE_QUIET_FLAG) build_kernel
$(MAKE) $(MAKE_QUIET_FLAG) build_bootloader
$(MAKE) $(MAKE_QUIET_FLAG) build_userspace
$(MAKE) $(MAKE_QUIET_FLAG) build_drivers
$(MAKE) $(MAKE_QUIET_FLAG) build_image
dump: dump:
$(MAKE) --quiet -C Kernel dump $(MAKE) --quiet -C Kernel dump
@ -213,10 +223,6 @@ ci-build:
changelog: changelog:
git cliff > CHANGELOG.md git cliff > CHANGELOG.md
ifeq ($(QUIET_BUILD), 1)
MAKE_QUIET_FLAG = --quiet
endif
build_kernel: build_kernel:
ifeq ($(BUILD_KERNEL), 1) ifeq ($(BUILD_KERNEL), 1)
$(MAKE) -j$(shell nproc) $(MAKE_QUIET_FLAG) -C Kernel build $(MAKE) -j$(shell nproc) $(MAKE_QUIET_FLAG) -C Kernel build

View File

@ -7,6 +7,14 @@ if(NOT DEFINED ENV{WORKSPACE_DIR})
else() else()
set(STANDALONE_BUILD OFF) set(STANDALONE_BUILD OFF)
message(STATUS "Compiling within workspace") message(STATUS "Compiling within workspace")
if(DEFINED ENV{QUIET_BUILD})
message(STATUS "Quiet build enabled")
set(CMAKE_INSTALL_MESSAGE NEVER)
set(CMAKE_MESSAGE_LOG_LEVEL "WARNING")
set(MAKEFLAGS "--no-print-directory")
set(CMAKE_VERBOSE_MAKEFILE OFF)
set_property(GLOBAL PROPERTY RULE_MESSAGES OFF)
endif()
endif() endif()
set(CMAKE_C_COMPILER "$ENV{CC}") set(CMAKE_C_COMPILER "$ENV{CC}")

View File

@ -16,6 +16,14 @@ if(NOT DEFINED ENV{WORKSPACE_DIR})
else() else()
set(STANDALONE_BUILD OFF) set(STANDALONE_BUILD OFF)
message(STATUS "Compiling within workspace") message(STATUS "Compiling within workspace")
if(DEFINED ENV{QUIET_BUILD})
message(STATUS "Quiet build enabled")
set(CMAKE_INSTALL_MESSAGE NEVER)
set(CMAKE_MESSAGE_LOG_LEVEL "WARNING")
set(MAKEFLAGS "--no-print-directory")
set(CMAKE_VERBOSE_MAKEFILE OFF)
set_property(GLOBAL PROPERTY RULE_MESSAGES OFF)
endif()
if(NOT DEFINED ENV{CMAKE_INSTALL_PREFIX}) if(NOT DEFINED ENV{CMAKE_INSTALL_PREFIX})
set(CMAKE_INSTALL_PREFIX "$ENV{WORKSPACE_DIR}/out/sys") set(CMAKE_INSTALL_PREFIX "$ENV{WORKSPACE_DIR}/out/sys")

View File

@ -100,6 +100,7 @@ export OSNAME
export OSARCH export OSARCH
export BOARD_TYPE export BOARD_TYPE
export KERNEL_VERSION export KERNEL_VERSION
export QUIET_BUILD
export TOOLCHAIN_AMD64_PREFIX := $(COMPILER_PATH)/bin/x86_64-fennix- export TOOLCHAIN_AMD64_PREFIX := $(COMPILER_PATH)/bin/x86_64-fennix-
export TOOLCHAIN_I386_PREFIX := $(COMPILER_PATH)/bin/i386-fennix- export TOOLCHAIN_I386_PREFIX := $(COMPILER_PATH)/bin/i386-fennix-