diff --git "a/win32/Makefile.msvc" "b/win32/Makefile.msvc" index 2e4742bb..8bfe7d83 100644 --- "a/win32/Makefile.msvc" +++ "b/win32/Makefile.msvc" @@ -59,7 +59,13 @@ CFLAGS = $(CFLAGS) /D_CRT_SECURE_NO_DEPRECATE /D_CRT_NONSTDC_NO_DEPRECATE LD = link.exe LDFLAGS = /nologo LDFLAGS = $(LDFLAGS) /LIBPATH:$(BINDIR) /LIBPATH:$(LIBPREFIX) -LIBS = +# The libraries are needed for static builds (the makefile builds all tools and dlls) +LIBS = iconv.lib charset.lib ws2_32.lib +!if "$(DEBUG)" == "1" +LIBS = $(LIBS) zlibd.lib lzmad.lib +!else +LIBS = $(LIBS) zlib.lib lzma.lib +!endif # The archiver and its options. AR = lib.exe @@ -71,8 +77,14 @@ CFLAGS = $(CFLAGS) /D "_DEBUG" /Od /Z7 LDFLAGS = $(LDFLAGS) /DEBUG !else CFLAGS = $(CFLAGS) /D "NDEBUG" /O2 +LDFLAGS = $(LDFLAGS) /DEBUG /OPT:REF /OPT:ICF !endif +# append CFLAGS etc. passed on command line +CPPFLAGS = $(CPPFLAGS) $(EXTRA_CPPFLAGS) +CFLAGS = $(CFLAGS) $(EXTRA_CFLAGS) +LDFLAGS = $(LDFLAGS) $(EXTRA_LDFLAGS) + # Libxslt object files. XSLT_OBJS = $(XSLT_INTDIR)\attributes.obj\ $(XSLT_INTDIR)\documents.obj\ @@ -309,13 +321,7 @@ $(UTILS_INTDIR) : # An implicit rule for xsltproc and friends. APPLIBS = $(LIBS) !if "$(STATIC)" == "1" -APPLIBS = $(LIBS) libxml2_a.lib -!if "$(WITH_ICONV)" == "1" -APPLIBS = $(APPLIBS) iconv.lib -!endif -!if "$(WITH_ZLIB)" == "1" -APPLIBS = $(APPLIBS) zlib.lib -!endif +APPLIBS = $(LIBS) libxml2.lib {$(UTILS_SRCDIR)}.c{$(BINDIR)}.exe: $(CC) /D "LIBXML_STATIC" /D "LIBXSLT_STATIC" /D "LIBEXSLT_STATIC" \ $(CFLAGS) /Fo$(UTILS_INTDIR)\ /c $<