blob: 5985c33bf7474b40729f177f809c2011e3ea64bb [file] [edit]
# ======================================================================
# Visual C (nmake) Makefile for libmpdec++
# ======================================================================
SRCDIR = ..\libmpdec
LIBSTATIC = libmpdec-4.0.0.lib
LIBIMPORT = libmpdec-4.0.0.dll.lib
LIBSHARED = libmpdec-4.0.0.dll
LIBSTATIC_CXX = libmpdec++-4.0.0.lib
LIBIMPORT_CXX = libmpdec++-4.0.0.dll.lib
LIBSHARED_CXX = libmpdec++-4.0.0.dll
!if "$(DEBUG)" == "1"
OPT = /MTd /Od /Zi /EHsc
OPT_SHARED = /MDd /Od /Zi /EHsc
!else
OPT = /MT /O2 /GS /EHsc /DNDEBUG
OPT_SHARED = /MD /O2 /GS /EHsc /DNDEBUG
!endif
!if "$(CC)" == "clang-cl"
WARN = /W4 -Wno-undefined-inline
!else
WARN = /W4
!endif
MPD_CXXFLAGS = $(WARN) /nologo $(OPT)
MPD_CXXFLAGS_SHARED = /DBUILD_LIBMPDECXX $(WARN) /nologo $(OPT_SHARED) $(PGOFLAGS)
MPD_BIN_CXXFLAGS_SHARED = $(WARN) /nologo $(OPT_SHARED) $(PGOFLAGS)
MPD_LDXXFLAGS= /DLL /MANIFEST $(LDXXFLAGS)
default: $(LIBSTATIC_CXX) $(LIBSHARED_CXX)
OBJS = decimal.obj
SHARED_OBJS = .objs\decimal.obj
$(LIBSTATIC_CXX): Makefile $(OBJS)
-@if exist $@ del $(LIBSTATIC_CXX)
lib /out:$(LIBSTATIC_CXX) $(OBJS)
$(LIBSHARED_CXX): Makefile $(SHARED_OBJS)
-@if exist $@ del $(LIBSHARED_CXX)
link $(MPD_LDXXFLAGS) /out:$(LIBSHARED_CXX) /implib:$(LIBIMPORT_CXX) /LIBPATH:$(SRCDIR) $(SHARED_OBJS) $(LIBIMPORT)
mt -manifest $(LIBSHARED_CXX).manifest -outputresource:$(LIBSHARED_CXX);2
decimal.obj:\
Makefile decimal.cc ..\libmpdec\mpdecimal.h decimal.hh
$(CXX) "-I." "-I$(SRCDIR)" $(MPD_CXXFLAGS) -c decimal.cc
.objs\decimal.obj:\
Makefile decimal.cc ..\libmpdec\mpdecimal.h decimal.hh
$(CXX) "-I." "-I$(SRCDIR)" $(MPD_CXXFLAGS_SHARED) -c decimal.cc /Fo.objs\decimal.obj
FORCE:
bench: FORCE
$(CXX) "-I." "-I$(SRCDIR)" $(MPD_CXXFLAGS) /O2 /EHsc /Fo:bench bench.cc $(LIBSTATIC_CXX) $(SRCDIR)\$(LIBSTATIC)
bench_shared: FORCE
$(CXX) "-I." "-I$(SRCDIR)" $(MPD_BIN_CXXFLAGS_SHARED) /O2 /EHsc /Fo:bench_shared bench.cc $(LIBIMPORT_CXX) $(SRCDIR)\$(LIBIMPORT)
examples: FORCE
$(CXX) "-I." "-I$(SRCDIR)" $(MPD_CXXFLAGS) /O2 /EHsc /Fo:factorial examples/factorial.cc $(LIBSTATIC_CXX) $(SRCDIR)\$(LIBSTATIC)
$(CXX) "-I." "-I$(SRCDIR)" $(MPD_CXXFLAGS) /O2 /EHsc /Fo:pi examples/pi.cc $(LIBSTATIC_CXX) $(SRCDIR)\$(LIBSTATIC)
clean: FORCE
-@if exist *.obj del *.obj
-@cd .objs
-@if exist *.obj del *.obj
-@cd ..
-@if exist *.dll del *.dll
-@if exist *.exp del *.exp
-@if exist *.lib del *.lib
-@if exist *.ilk del *.ilk
-@if exist *.pdb del *.pdb
-@if exist *.pgc del *.pgc
-@if exist *.pgd del *.pgd
-@if exist *.manifest del *.manifest
-@if exist *.exe del *.exe
-@cd ..\tests++
-@if exist Makefile nmake clean
distclean: FORCE
nmake clean
-@if exist Makefile del Makefile
-@cd ..\tests
-@if exist Makefile nmake distclean