# # Makefile for the Microsoft toolchain # # Usage: # nmake /f Makefile.msc # .SUFFIXES: .c .obj .dllobj CC = cl LD = link AR = lib CFLAGS = /MD /O2 -I. LDFLAGS = STATIC_LIB = libdeflatestatic.lib SHARED_LIB = libdeflate.dll IMPORT_LIB = libdeflate.lib STATIC_LIB_OBJ = \ lib/adler32.obj \ lib/crc32.obj \ lib/deflate_compress.obj \ lib/deflate_decompress.obj \ lib/gzip_compress.obj \ lib/gzip_decompress.obj \ lib/utils.obj \ lib/x86/cpu_features.obj \ lib/zlib_compress.obj \ lib/zlib_decompress.obj SHARED_LIB_OBJ = $(STATIC_LIB_OBJ:.obj=.dllobj) PROG_COMMON_OBJ = programs/prog_util.obj \ programs/tgetopt.obj \ $(STATIC_LIB) PROG_CFLAGS = $(CFLAGS) -Iprograms all: $(STATIC_LIB) $(SHARED_LIB) $(IMPORT_LIB) gzip.exe gunzip.exe .c.obj: $(CC) -c /Fo$@ $(CFLAGS) $** .c.dllobj: $(CC) -c /Fo$@ $(CFLAGS) /DLIBDEFLATE_DLL $** $(STATIC_LIB): $(STATIC_LIB_OBJ) $(AR) $(ARFLAGS) -out:$@ $(STATIC_LIB_OBJ) $(SHARED_LIB): $(SHARED_LIB_OBJ) $(LD) $(LDFLAGS) -out:$@ -dll -implib:$(IMPORT_LIB) $(SHARED_LIB_OBJ) $(IMPORT_LIB): $(SHARED_LIB) gzip.exe:programs/gzip.obj $(PROG_COMMON_OBJ) $(LD) $(LDFLAGS) -out:$@ $** gunzip.exe:gzip.exe copy $** $@ clean: -del *.dll *.exe *.exp libdeflate.lib libdeflatestatic.lib gzip.lib \ lib\*.obj lib\x86\*.obj lib\*.dllobj lib\x86\*.dllobj \ programs\*.obj 2>nul