mirror of
https://github.com/cuberite/libdeflate.git
synced 2025-08-04 10:16:44 -04:00

* Bring in common headers and program code from xpack project * Move program code to programs/ * Move library code to lib/ * GNU89 and MSVC2010 compatibility * Other changes
57 lines
1.1 KiB
Makefile
57 lines
1.1 KiB
Makefile
#
|
|
# Makefile for the Microsoft toolchain
|
|
#
|
|
# Usage:
|
|
# nmake /f Makefile.msc
|
|
#
|
|
|
|
CC = cl
|
|
LD = link
|
|
AR = lib
|
|
CFLAGS = /MD /O2 -I. -Icommon
|
|
LDFLAGS =
|
|
|
|
STATICLIB = libdeflatestatic.lib
|
|
SHAREDLIB = libdeflate.dll
|
|
IMPLIB = libdeflate.lib
|
|
|
|
LIB_OBJ = lib/aligned_malloc.obj \
|
|
lib/adler32.obj \
|
|
lib/crc32.obj \
|
|
lib/deflate_compress.obj \
|
|
lib/deflate_decompress.obj \
|
|
lib/gzip_compress.obj \
|
|
lib/gzip_decompress.obj \
|
|
lib/x86_cpu_features.obj \
|
|
lib/zlib_compress.obj \
|
|
lib/zlib_decompress.obj
|
|
|
|
PROG_COMMON_OBJ = programs/prog_util.obj \
|
|
programs/tgetopt.obj \
|
|
$(STATICLIB)
|
|
|
|
PROG_CFLAGS = $(CFLAGS) -Iprograms
|
|
|
|
all: $(STATICLIB) $(SHAREDLIB) $(IMPLIB) gzip.exe gunzip.exe
|
|
|
|
.c.obj:
|
|
$(CC) -c /Fo$@ $(CFLAGS) $**
|
|
|
|
$(STATICLIB): $(LIB_OBJ)
|
|
$(AR) $(ARFLAGS) -out:$@ $(LIB_OBJ)
|
|
|
|
$(SHAREDLIB): $(LIB_OBJ)
|
|
$(LD) $(LDFLAGS) -out:$@ -dll -implib:$(IMPLIB) $(LIB_OBJ)
|
|
|
|
$(IMPLIB): $(SHAREDLIB)
|
|
|
|
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 programs\*.obj 2>nul
|