IcBench: Makefile visual c++
This commit is contained in:
82
makefile.vs
Normal file
82
makefile.vs
Normal file
@ -0,0 +1,82 @@
|
||||
# nmake "NCODEC1=1" "NCODEC2=1" /f makefile.msc
|
||||
# or
|
||||
# nmake "AVX2=1" /f makefile.msc
|
||||
|
||||
.SUFFIXES: .c .obj .dllobj
|
||||
|
||||
CC = cl /nologo
|
||||
LD = link /nologo
|
||||
AR = lib /nologo
|
||||
CFLAGS = /MD /O2 -I.
|
||||
LDFLAGS =
|
||||
|
||||
LIB_LIB = libic.lib
|
||||
LIB_DLL = ic.dll
|
||||
LIB_IMP = ic.lib
|
||||
|
||||
OBJS = bitpack.obj bitutil.obj fp.obj transpose.obj vp4c.obj vp4d.obj vsimple.obj bitunpack.obj vint.obj
|
||||
|
||||
!IF "$(AVX2)" == "1"
|
||||
OBJS = $(OBJS) transpose_avx2.obj
|
||||
DEFS = $(DEFS) /D__AVX2__
|
||||
!endif
|
||||
|
||||
!if "$(NSIMD)" == "1"
|
||||
OBJS = $(OBJS) transpose_sse.obj
|
||||
DEFS = $(DEFS) /DNSIMD
|
||||
NCODEC1=1
|
||||
NCODEC2=1
|
||||
!else
|
||||
DEFS = $(DEFS) /D__SSE2__ /D__SSSE3__
|
||||
CFLAGS = $(CFLAGS) /DUSE_SSE
|
||||
!endif
|
||||
|
||||
!if "$(NCODEC1)" == "1"
|
||||
DEFS = $(DEFS) /DNCODEC1
|
||||
!endif
|
||||
|
||||
!IF "$(NCODEC2)" == "1"
|
||||
DEFS = $(DEFS) /DNCODEC2
|
||||
!endif
|
||||
|
||||
!IF "($(BLOSC)" == "1"
|
||||
DEFS = $(DEFS) /DBLOSC
|
||||
!endif
|
||||
|
||||
DLL_OBJS = $(OBJS:.obj=.dllobj)
|
||||
|
||||
all: $(LIB_LIB) icbench.exe
|
||||
|
||||
#$(LIB_DLL) $(LIB_IMP)
|
||||
|
||||
transpose.obj: transpose.c
|
||||
$(CC) /O2 $(CFLAGS) -c transpose.c /Fotranspose.obj
|
||||
|
||||
transpose_sse.obj: transpose.c
|
||||
$(CC) /O2 $(CFLAGS) /DSSE2_ON /D__SSE2__ /arch:SSE2 /c transpose.c /Fotranspose_sse.obj
|
||||
|
||||
transpose_avx2.obj: transpose.c
|
||||
$(CC) /O2 $(CFLAGS) /DAVX2_ON /D__AVX2__ /arch:avx2 /c transpose.c /Fotranspose_avx2.obj
|
||||
|
||||
.c.obj:
|
||||
$(CC) -c /Fo$@ /O2 $(CFLAGS) $(DEFS) $**
|
||||
|
||||
.cc.obj:
|
||||
$(CC) -c /Fo$@ /O2 $(CFLAGS) $(DEFS) $**
|
||||
|
||||
.c.dllobj:
|
||||
$(CC) -c /Fo$@ /O2 $(CFLAGS) $(DEFS) /DLIB_DLL $**
|
||||
|
||||
$(LIB_LIB): $(OBJS)
|
||||
$(AR) $(ARFLAGS) -out:$@ $(OBJS)
|
||||
|
||||
$(LIB_DLL): $(DLL_OBJS)
|
||||
$(LD) $(LDFLAGS) -out:$@ -dll -implib:$(LIB_IMP) $(DLL_OBJS)
|
||||
|
||||
$(LIB_IMP): $(LIB_DLL)
|
||||
|
||||
icbench.exe: icbench.obj vs/getopt.obj plugins.obj eliasfano.obj vsimple.obj transpose.obj transpose_sse.obj $(LIB_LIB)
|
||||
$(LD) $(LDFLAGS) -out:$@ $**
|
||||
|
||||
clean:
|
||||
-del *.dll *.exe *.exp *.obj *.dllobj *.lib *.manifest 2>nul
|
Reference in New Issue
Block a user