Makefile.nmake 931 B

123456789101112131415161718192021222324252627282930313233343536373839
  1. ################################################################
  2. # NMAKE Makefile for Visual C++ & LLVM clang-cl
  3. #
  4. # Usage:
  5. # $ nmake -f Makefile.nmake [compiler={msvc|clang-cl}] [std={14|17|20|latest}]
  6. !include ../src/defs.mk
  7. std = 17
  8. compiler = msvc
  9. !if "$(compiler)" == "msvc"
  10. CC = cl /nologo /std:c++$(std) /Zc:__cplusplus /permissive- /EHsc
  11. !elseif "$(compiler)" == "clang-cl"
  12. CC = clang-cl /std:c++$(std)
  13. !else
  14. !error Only 'msvc' and 'clang-cl' values of 'compiler' are supported
  15. !endif
  16. CFLAGS = -DNDEBUG -D_CRT_SECURE_NO_DEPRECATE -O2 -Ob1 -GF
  17. WARNS =
  18. LIBSUFFIX = $(std)
  19. OBJSUFF = obj
  20. ARSUFF = lib
  21. LIBFILE = $(LIBNAME)$(LIBSUFFIX).$(ARSUFF)
  22. AR = lib
  23. ARFLAGS =
  24. ARFLAGS_ALL = -nologo $(ARFLAGS) /OUT:$@
  25. CFLAGS_ALL = -I../include -DUNICODE=1 $(CFLAGS) $(WARNS)
  26. !ifndef SOURCES
  27. !if !EXISTS(sources.mk)
  28. !error Run configure.cmd first
  29. !endif
  30. !include sources.mk
  31. !endif
  32. OBJS = $(SOURCES:.cpp=.obj)
  33. !include ../src/rules.mk