diff --git a/Makefile b/Makefile index b373d5f..084bda6 100644 --- a/Makefile +++ b/Makefile @@ -96,12 +96,31 @@ else endif # ============================================================================== -# CMAKE GENERATOR (Windows needs explicit MinGW Makefiles generator) +# CMAKE GENERATOR (usa Ninja si está disponible; si no, MinGW Makefiles en +# Windows / generador por defecto en Linux/macOS). Ninja paraleliza mejor. # ============================================================================== ifeq ($(OS),Windows_NT) - CMAKE_GEN := -G "MinGW Makefiles" + # 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. Detectem MSYSTEM per usar /dev/null en aquests entorns. + ifneq ($(MSYSTEM),) + NULDEV := /dev/null + else + NULDEV := NUL + endif + HAS_NINJA := $(shell ninja --version 2>$(NULDEV)) + ifneq ($(HAS_NINJA),) + CMAKE_GEN := -G "Ninja" + else + CMAKE_GEN := -G "MinGW Makefiles" + endif else - CMAKE_GEN := + HAS_NINJA := $(shell ninja --version 2>/dev/null) + ifneq ($(HAS_NINJA),) + CMAKE_GEN := -G "Ninja" + else + CMAKE_GEN := + endif endif # ==============================================================================