# Makefile for Microsoft Visual Studio 2013 and later. # usage: nmake -f makefile.msc # K.M. Syring (syring@gsf.de) # Fixed up by JRS for bzip2-0.9.5d release. CC=cl CFLAGS= -DWIN32 -DBZ_LCCWIN32 -MD -Ox -D_FILE_OFFSET_BITS=64 -nologo RC=rc OBJS= blocksort.obj \ huffman.obj \ crc32.obj \ randtable.obj \ compress.obj \ decompress.obj \ bzlib.obj all: dll lib bzip2 test bzip2: dll bzip2.res bzip2recover.res $(CC) $(CFLAGS) /Febzip2 bzip2.c bz2-1.lib setargv.obj bzip2.res $(CC) $(CFLAGS) /Febzip2recover bzip2recover.c bzip2recover.res dll: $(OBJS) libbz2.def bz2-1.res link /dll /implib:bz2-1.lib /out:bz2-1.dll /def:libbz2.def $(OBJS) bz2-1.res lib: $(OBJS) lib /out:bz2-static.lib $(OBJS) bzip2.res: $(RC) /fobzip2.res /d BZIP2 version.rc bzip2recover.res: $(RC) /fobzip2recover.res /d BZIP2RECOVER version.rc bz2-1.res: $(RC) /fobz2-1.res /d BZ21DLL version.rc test: bzip2 type tests\words1 .\\bzip2 -1 < tests\sample1.ref > tests\sample1.rb2 .\\bzip2 -2 < tests\sample2.ref > tests\sample2.rb2 .\\bzip2 -3 < tests\sample3.ref > tests\sample3.rb2 .\\bzip2 -d < tests\sample1.bz2 > tests\sample1.tst .\\bzip2 -d < tests\sample2.bz2 > tests\sample2.tst .\\bzip2 -ds < tests\sample3.bz2 > tests\sample3.tst @echo All six of the fc's should find no differences. @echo If fc finds an error on sample3.bz2, this could be @echo because WinZip's 'TAR file smart CR/LF conversion' @echo is too clever for its own good. Disable this option. @echo The correct size for sample3.ref is 120,244. If it @echo is 150,251, WinZip has messed it up. fc tests\sample1.bz2 tests\sample1.rb2 fc tests\sample2.bz2 tests\sample2.rb2 fc tests\sample3.bz2 tests\sample3.rb2 fc tests\sample1.tst tests\sample1.ref fc tests\sample2.tst tests\sample2.ref fc tests\sample3.tst tests\sample3.ref clean: del *.obj del bz2-1.dll del bz2-1.exp del bz2-1.lib del bz2-1.res del bz2-static.lib del bzip2.exe del bzip2.res del bzip2recover.exe del bzip2recover.res del tests\sample1.rb2 del tests\sample2.rb2 del tests\sample3.rb2 del tests\sample1.tst del tests\sample2.tst del tests\sample3.tst .c.obj: $(CC) $(CFLAGS) -c $*.c /Fe$*.obj