build: evita crear fitxer 'NUL' a Windows quan Make corre dins MSYS/MinGW

This commit is contained in:
JailDesigner committed 2026-04-28 09:44:34 +02:00
1 parent 2f3643f09c
commit 887b8f3aa3
1 file changed
+8
+8
View File
@@ -5,7 +5,15 @@ BUILDDIR := build
# (que requereix Visual Studio); forcem MinGW Makefiles per usar el g++ de # (que requereix Visual Studio); forcem MinGW Makefiles per usar el g++ de
# MinGW. nproc tampoc existeix en cmd.exe → fem servir NUMBER_OF_PROCESSORS. # MinGW. nproc tampoc existeix en cmd.exe → fem servir NUMBER_OF_PROCESSORS.
ifeq ($(OS),Windows_NT) ifeq ($(OS),Windows_NT)
# Si Make corre dins MSYS2/Git Bash/MinGW, $(shell ...) usa sh.exe i
# "NUL" NO és dispositiu — un redirect "2>NUL" crearia un fitxer literal
# anomenat NUL al cwd (i en Windows es complica esborrar-lo). Detectem
# MSYSTEM per usar /dev/null en aquests entorns; només cmd.exe pur necessita NUL.
ifneq ($(MSYSTEM),)
NULDEV := /dev/null
else
NULDEV := NUL NULDEV := NUL
endif
JOBS ?= $(NUMBER_OF_PROCESSORS) JOBS ?= $(NUMBER_OF_PROCESSORS)
# Si Ninja està al PATH, l'usem (més ràpid i paral·lelitza millor). # Si Ninja està al PATH, l'usem (més ràpid i paral·lelitza millor).
# Si no, caiem a MinGW Makefiles. Sense aquesta selecció CMake # Si no, caiem a MinGW Makefiles. Sense aquesta selecció CMake