blob: 616b1acc5f774e4f13bb9e8f179e4ba8c7431a0a [file] [log] [blame] [edit]
# Makefile for Microsoft NMAKE
# These target names are not real files so they will always get rebuilt
# (they are nmake "pseudotargets").
all: build-c build-cpp
clean:
rm -f main-c.exe main-cpp.exe main.obj
MSVC_WARNINGS = /Wall /WX /options:strict /wd4820 /wd4464 /wd4189 /wd4101
build-c: ../main.c ../main.inl ../../../webgpu.h Makefile
cl.exe /Fe:main-c.exe ../main.c /std:c11 $(MSVC_WARNINGS)
cl.exe /Fe:main-c.exe ../main.c /std:c17 $(MSVC_WARNINGS)
cl.exe /Fe:main-c.exe ../main.c $(MSVC_WARNINGS)
# Docs say /std:clatest should work but it does not in VS2022.
# cl.exe /Fe:main-c.exe ../main.c /std:clatest $(MSVC_WARNINGS)
build-cpp: ../main.cpp ../main.inl ../../../webgpu.h Makefile
cl.exe /Fe:main-cpp.exe ../main.cpp /std:c++14 $(MSVC_WARNINGS)
cl.exe /Fe:main-cpp.exe ../main.cpp /std:c++17 $(MSVC_WARNINGS)
cl.exe /Fe:main-cpp.exe ../main.cpp /std:c++20 $(MSVC_WARNINGS)
cl.exe /Fe:main-cpp.exe ../main.cpp /std:c++latest $(MSVC_WARNINGS)