POWERSHELL ?= powershell.exe BUILD_SCRIPT := .\scripts\build_windows.ps1 BUILD_CMD := .\scripts\build_windows.cmd THIS_MAKEFILE := $(lastword $(MAKEFILE_LIST)) PRESET ?= windows-cuda-release TARGET ?= audiocpp_cli JOBS ?= VS_INSTALL ?= NATIVE_CPU ?= .PHONY: all build configure cpu cpu-release cuda cuda-debug cuda-release vulkan vulkan-debug vulkan-release clean presets help all: cuda build: $(POWERSHELL) -NoProfile -ExecutionPolicy Bypass -File "$(BUILD_SCRIPT)" -Preset "$(PRESET)" $(if $(TARGET),-Target "$(TARGET)",) $(if $(JOBS),-Jobs "$(JOBS)",) $(if $(NATIVE_CPU),-NativeCpu "$(NATIVE_CPU)",) $(if $(VS_INSTALL),-VsInstall "$(VS_INSTALL)",) configure: $(POWERSHELL) -NoProfile -ExecutionPolicy Bypass -File "$(BUILD_SCRIPT)" -Preset "$(PRESET)" -ConfigureOnly $(if $(NATIVE_CPU),-NativeCpu "$(NATIVE_CPU)",) $(if $(VS_INSTALL),-VsInstall "$(VS_INSTALL)",) cpu: $(MAKE) -f "$(THIS_MAKEFILE)" build PRESET=windows-cpu-release cpu-release: $(MAKE) -f "$(THIS_MAKEFILE)" build PRESET=windows-cpu-release cuda: $(MAKE) -f "$(THIS_MAKEFILE)" build PRESET=windows-cuda-release cuda-debug: $(MAKE) -f "$(THIS_MAKEFILE)" build PRESET=windows-cuda-debug cuda-release: $(MAKE) -f "$(THIS_MAKEFILE)" build PRESET=windows-cuda-release vulkan: $(MAKE) -f "$(THIS_MAKEFILE)" build PRESET=windows-vulkan-release vulkan-debug: $(MAKE) -f "$(THIS_MAKEFILE)" build PRESET=windows-vulkan-debug vulkan-release: $(MAKE) -f "$(THIS_MAKEFILE)" build PRESET=windows-vulkan-release clean: $(POWERSHELL) -NoProfile -ExecutionPolicy Bypass -File "$(BUILD_SCRIPT)" -Preset "$(PRESET)" -Clean $(if $(VS_INSTALL),-VsInstall "$(VS_INSTALL)",) presets: cmake --list-presets help: @echo audio.cpp Windows build targets: @echo make -f Makefile.windows CUDA Release build of audiocpp_cli @echo make -f Makefile.windows cpu CPU Release build of audiocpp_cli @echo make -f Makefile.windows cuda CUDA Release build of audiocpp_cli @echo make -f Makefile.windows cuda-debug CUDA Debug build with /O2 /Zi @echo make -f Makefile.windows vulkan Vulkan Release build of audiocpp_cli @echo make -f Makefile.windows vulkan-debug Vulkan Debug build with /O2 /Zi @echo make -f Makefile.windows build TARGET=name Build one target from the selected Windows preset @echo make -f Makefile.windows presets List available CMake presets @echo $(BUILD_CMD) Same build from cmd.exe without make @echo. @echo Examples: @echo make -f Makefile.windows cpu JOBS=8 @echo make -f Makefile.windows cuda JOBS=8 @echo make -f Makefile.windows vulkan JOBS=8 @echo make -f Makefile.windows cuda NATIVE_CPU=OFF JOBS=8 @echo make -f Makefile.windows cuda-debug TARGET=audiocpp_cli JOBS=8 @echo make -f Makefile.windows cuda VS_INSTALL="C:\Program Files (x86)\Microsoft Visual Studio\2022\BuildTools"