IcBench: Makefile visual c++
This commit is contained in:
58
makefile.vs
58
makefile.vs
@ -1,32 +1,32 @@
|
|||||||
# nmake "NCODEC1=1" "NCODEC2=1" /f makefile.msc
|
# nmake "NCODEC1=1" "NCODEC2=1" /f makefile.vs
|
||||||
# or
|
# or
|
||||||
# nmake "AVX2=1" /f makefile.msc
|
# nmake "AVX2=1" /f makefile.vs
|
||||||
|
|
||||||
.SUFFIXES: .c .obj .dllobj
|
.SUFFIXES: .c .obj .dllobj
|
||||||
|
|
||||||
CC = cl /nologo
|
CC = cl /nologo
|
||||||
LD = link /nologo
|
LD = link /nologo
|
||||||
AR = lib /nologo
|
AR = lib /nologo
|
||||||
CFLAGS = /MD /O2 -I.
|
CFLAGS = /MD /O2 -I.
|
||||||
LDFLAGS =
|
LDFLAGS =
|
||||||
|
|
||||||
LIB_LIB = libic.lib
|
LIB_LIB = libic.lib
|
||||||
LIB_DLL = ic.dll
|
LIB_DLL = ic.dll
|
||||||
LIB_IMP = ic.lib
|
LIB_IMP = ic.lib
|
||||||
|
|
||||||
OBJS = bitpack.obj bitutil.obj fp.obj transpose.obj vp4c.obj vp4d.obj vsimple.obj bitunpack.obj vint.obj
|
OBJS = bitpack.obj bitunpack.obj vp4c.obj vp4d.obj transpose.obj bitutil.obj fp.obj vsimple.obj vint.obj
|
||||||
|
|
||||||
!IF "$(AVX2)" == "1"
|
!if "$(AVX2)" == "1"
|
||||||
OBJS = $(OBJS) transpose_avx2.obj
|
OBJS = $(OBJS) bitpack_avx2.obj bitunpack_avx2.obj transpose_avx2.obj vp4c_avx2.obj vp4d_avx2.obj
|
||||||
DEFS = $(DEFS) /D__AVX2__
|
DEFS = $(DEFS) /D__AVX2__
|
||||||
!endif
|
!endif
|
||||||
|
|
||||||
!if "$(NSIMD)" == "1"
|
!if "$(NSIMD)" == "1"
|
||||||
OBJS = $(OBJS) transpose_sse.obj
|
|
||||||
DEFS = $(DEFS) /DNSIMD
|
DEFS = $(DEFS) /DNSIMD
|
||||||
NCODEC1=1
|
NCODEC1=1
|
||||||
NCODEC2=1
|
NCODEC2=1
|
||||||
!else
|
!else
|
||||||
|
OBJS = $(OBJS) transpose_sse.obj bitpack_sse.obj bitunpack_sse.obj vp4c_sse.obj vp4d_sse.obj
|
||||||
DEFS = $(DEFS) /D__SSE2__ /D__SSSE3__
|
DEFS = $(DEFS) /D__SSE2__ /D__SSSE3__
|
||||||
CFLAGS = $(CFLAGS) /DUSE_SSE
|
CFLAGS = $(CFLAGS) /DUSE_SSE
|
||||||
!endif
|
!endif
|
||||||
@ -49,6 +49,44 @@ all: $(LIB_LIB) icbench.exe
|
|||||||
|
|
||||||
#$(LIB_DLL) $(LIB_IMP)
|
#$(LIB_DLL) $(LIB_IMP)
|
||||||
|
|
||||||
|
#------------
|
||||||
|
vp4c.obj: vp4c.c
|
||||||
|
$(CC) /O2 $(CFLAGS) -c vp4c.c /Fovp4c.obj
|
||||||
|
|
||||||
|
vp4c_sse.obj: vp4c.c
|
||||||
|
$(CC) /O2 $(CFLAGS) /DSSE2_ON /D__SSSE3__ /arch:SSSE3 /D__SSE2__ /arch:SSE2 /c vp4c.c /Fovp4c_sse.obj
|
||||||
|
|
||||||
|
vp4c_avx2.obj: vp4c.c
|
||||||
|
$(CC) /O2 $(CFLAGS) /DAVX2_ON /D__AVX2__ /arch:avx2 /c vp4c.c /Fovp4c_avx2.obj
|
||||||
|
#------------
|
||||||
|
vp4d.obj: vp4d.c
|
||||||
|
$(CC) /O2 $(CFLAGS) -c vp4d.c /Fovp4d.obj
|
||||||
|
|
||||||
|
vp4d_sse.obj: vp4d.c
|
||||||
|
$(CC) /O2 $(CFLAGS) /DSSE2_ON /D__SSSE3__ /arch:SSSE3 /D__SSE2__ /arch:SSE2 /c vp4d.c /Fovp4d_sse.obj
|
||||||
|
|
||||||
|
vp4d_avx2.obj: vp4d.c
|
||||||
|
$(CC) /O2 $(CFLAGS) /DAVX2_ON /D__AVX2__ /arch:avx2 /c vp4d.c /Fovp4d_avx2.obj
|
||||||
|
#------------
|
||||||
|
bitpack.obj: bitpack.c
|
||||||
|
$(CC) $(CFLAGS) -c bitpack.c /Fobitpack.obj
|
||||||
|
|
||||||
|
bitpack_sse.obj: bitpack.c
|
||||||
|
$(CC) /O2 $(CFLAGS) /DSSE2_ON /D__SSE2__ /arch:SSE2 /c bitpack.c /Fobitpack_sse.obj
|
||||||
|
|
||||||
|
bitpack_avx2.obj: bitpack.c
|
||||||
|
$(CC) /O2 $(CFLAGS) /DAVX2_ON /D__AVX2__ /arch:avx2 /c bitpack.c /Fobitpack_avx2.obj
|
||||||
|
|
||||||
|
#------------
|
||||||
|
bitunpack.obj: bitunpack.c
|
||||||
|
$(CC) /O2 $(CFLAGS) -c bitunpack.c /Fobitunpack.obj
|
||||||
|
|
||||||
|
bitunpack_sse.obj: bitunpack.c
|
||||||
|
$(CC) /O2 $(CFLAGS) /DSSE2_ON /D__SSSE3__ /arch:SSSE3 /D__SSE2__ /arch:SSE2 /c bitunpack.c /Fobitunpack_sse.obj
|
||||||
|
|
||||||
|
bitunpack_avx2.obj: bitunpack.c
|
||||||
|
$(CC) /O2 $(CFLAGS) /DAVX2_ON /D__AVX2__ /arch:avx2 /c bitunpack.c /Fobitunpack_avx2.obj
|
||||||
|
|
||||||
transpose.obj: transpose.c
|
transpose.obj: transpose.c
|
||||||
$(CC) /O2 $(CFLAGS) -c transpose.c /Fotranspose.obj
|
$(CC) /O2 $(CFLAGS) -c transpose.c /Fotranspose.obj
|
||||||
|
|
||||||
@ -59,10 +97,10 @@ transpose_avx2.obj: transpose.c
|
|||||||
$(CC) /O2 $(CFLAGS) /DAVX2_ON /D__AVX2__ /arch:avx2 /c transpose.c /Fotranspose_avx2.obj
|
$(CC) /O2 $(CFLAGS) /DAVX2_ON /D__AVX2__ /arch:avx2 /c transpose.c /Fotranspose_avx2.obj
|
||||||
|
|
||||||
.c.obj:
|
.c.obj:
|
||||||
$(CC) -c /Fo$@ /O2 $(CFLAGS) $(DEFS) $**
|
$(CC) -c /Fo$@ /O2 $(CFLAGS) /arch:SSSE3 /D__SSSE3__ $(DEFS) $**
|
||||||
|
|
||||||
.cc.obj:
|
.cc.obj:
|
||||||
$(CC) -c /Fo$@ /O2 $(CFLAGS) $(DEFS) $**
|
$(CC) -c /Fo$@ /O2 $(CFLAGS) /arch:SSSE3 /D__SSSE3__ $(DEFS) $**
|
||||||
|
|
||||||
.c.dllobj:
|
.c.dllobj:
|
||||||
$(CC) -c /Fo$@ /O2 $(CFLAGS) $(DEFS) /DLIB_DLL $**
|
$(CC) -c /Fo$@ /O2 $(CFLAGS) $(DEFS) /DLIB_DLL $**
|
||||||
@ -75,7 +113,7 @@ $(LIB_DLL): $(DLL_OBJS)
|
|||||||
|
|
||||||
$(LIB_IMP): $(LIB_DLL)
|
$(LIB_IMP): $(LIB_DLL)
|
||||||
|
|
||||||
icbench.exe: icbench.obj vs/getopt.obj plugins.obj eliasfano.obj vsimple.obj transpose.obj transpose_sse.obj $(LIB_LIB)
|
icbench.exe: icbench.obj vs/getopt.obj plugins.obj eliasfano.obj vsimple.obj $(LIB_LIB)
|
||||||
$(LD) $(LDFLAGS) -out:$@ $**
|
$(LD) $(LDFLAGS) -out:$@ $**
|
||||||
|
|
||||||
clean:
|
clean:
|
||||||
|
Reference in New Issue
Block a user