1 2SRCDIR = ..\libmpdec 3LIBSTATIC = libmpdec-4.0.0.lib 4LIBSHARED = libmpdec-4.0.0.dll 5LIBIMPORT = libmpdec-4.0.0.dll.lib 6 7SRCDIR_CXX = ..\libmpdec++ 8LIBSTATIC_CXX = libmpdec++-4.0.0.lib 9LIBSHARED_CXX = libmpdec++-4.0.0.dll 10LIBIMPORT_CXX = libmpdec++-4.0.0.dll.lib 11 12!if "$(DEBUG)" == "1" 13OPT = /MTd /Od /Zi /EHsc 14OPT_SHARED = /MDd /Od /Zi /EHsc 15!else 16OPT = /MT /O2 /GS /EHsc /DNDEBUG 17OPT_SHARED = /MD /O2 /GS /EHsc /DNDEBUG 18!endif 19 20!if "$(CC)" == "clang-cl" 21WARN = /W4 /wd4200 /wd4204 /wd4221 /wd4714 -Wno-undefined-inline /D_CRT_SECURE_NO_WARNINGS 22!else 23WARN = /W4 /wd4200 /wd4204 /wd4221 /wd4714 /D_CRT_SECURE_NO_WARNINGS 24!endif 25 26MPD_CXXFLAGS = $(WARN) /nologo $(OPT) 27MPD_CXXFLAGS_SHARED = $(WARN) /nologo $(OPT_SHARED) 28 29 30default: runtest runtest_shared apitest apitest_shared copy_dll 31 32 33runtest:\ 34Makefile runtest.cc test.cc $(SRCDIR)\mpdecimal.h $(SRCDIR_CXX)\decimal.hh test.hh vctest.hh \ 35$(SRCDIR)\$(LIBSTATIC) $(SRCDIR_CXX)\$(LIBSTATIC_CXX) 36 $(CXX) -I$(SRCDIR) -I$(SRCDIR_CXX) $(MPD_CXXFLAGS) /Fe:runtest runtest.cc test.cc $(SRCDIR_CXX)\$(LIBSTATIC_CXX) $(SRCDIR)\$(LIBSTATIC) 37 38runtest_shared:\ 39Makefile runtest.cc test.cc $(SRCDIR)\mpdecimal.h $(SRCDIR_CXX)\decimal.hh test.hh vctest.hh \ 40$(SRCDIR_CXX)\$(LIBIMPORT_CXX) $(SRCDIR)\$(LIBIMPORT) 41 $(CXX) -I$(SRCDIR) -I$(SRCDIR_CXX) $(MPD_CXXFLAGS_SHARED) /Fe:runtest_shared runtest.cc test.cc $(SRCDIR_CXX)\$(LIBIMPORT_CXX) $(SRCDIR)\$(LIBIMPORT) 42 43 44apitest:\ 45Makefile apitest.cc test.cc $(SRCDIR)\mpdecimal.h $(SRCDIR_CXX)\decimal.hh test.hh vctest.hh \ 46$(SRCDIR_CXX)\$(LIBSTATIC_CXX) $(SRCDIR)\$(LIBSTATIC) 47 $(CXX) -I$(SRCDIR) -I$(SRCDIR_CXX) $(MPD_CXXFLAGS) /Fe:apitest apitest.cc test.cc $(SRCDIR_CXX)\$(LIBSTATIC_CXX) $(SRCDIR)\$(LIBSTATIC) 48 49apitest_shared:\ 50Makefile apitest.cc test.cc $(SRCDIR)\mpdecimal.h $(SRCDIR_CXX)\decimal.hh test.hh vctest.hh \ 51$(SRCDIR_CXX)\$(LIBIMPORT_CXX) $(SRCDIR)\$(LIBIMPORT) 52 $(CXX) -I$(SRCDIR) -I$(SRCDIR_CXX) $(MPD_CXXFLAGS_SHARED) /Fe:apitest_shared apitest.cc test.cc $(SRCDIR_CXX)\$(LIBIMPORT_CXX) $(SRCDIR)\$(LIBIMPORT) 53 54 55FORCE: 56 57copy_dll: 58 copy /y "$(SRCDIR)\$(LIBSHARED)" . 59 copy /y "$(SRCDIR_CXX)\$(LIBSHARED_CXX)" . 60 61clean: FORCE 62 -@if exist *.obj del *.obj 63 -@if exist *.dll del *.dll 64 -@if exist *.exp del *.exp 65 -@if exist *.lib del *.lib 66 -@if exist *.ilk del *.ilk 67 -@if exist *.pdb del *.pdb 68 -@if exist *.pgc del *.pgc 69 -@if exist *.pgd del *.pgd 70 -@if exist *.manifest del *.manifest 71 -@if exist *.exe del *.exe 72 -@if exist runtest del runtest 73 -@if exist apitest del apitest 74 75distclean: FORCE 76 nmake clean 77 -@if exist testdata rd /q /s testdata 78 -@if exist Makefile del Makefile 79 80