mirror of
https://github.com/quickwit-oss/tantivy.git
synced 2026-01-04 00:02:55 +00:00
105 lines
2.1 KiB
Plaintext
105 lines
2.1 KiB
Plaintext
|
|
!IFNDEF MACHINE
|
|
!IF "$(PROCESSOR_ARCHITECTURE)"=="AMD64"
|
|
MACHINE=x64
|
|
!ELSE
|
|
MACHINE=x86
|
|
!ENDIF
|
|
!ENDIF
|
|
|
|
!IFNDEF DEBUG
|
|
DEBUG=no
|
|
!ENDIF
|
|
|
|
!IFNDEF CC
|
|
CC=cl.exe
|
|
!ENDIF
|
|
|
|
!IFNDEF AR
|
|
AR=lib.exe
|
|
!ENDIF
|
|
|
|
!IFNDEF LINK
|
|
LINK=link.exe
|
|
!ENDIF
|
|
|
|
!IFNDEF PGO
|
|
PGO=no
|
|
!ENDIF
|
|
|
|
!IFNDEF PGI
|
|
PGI=no
|
|
!ENDIF
|
|
|
|
INC = /Iinclude
|
|
|
|
!IF "$(DEBUG)"=="yes"
|
|
CFLAGS = /nologo /MDd /LDd /Od /Zi /D_DEBUG /RTC1 /W3 /GS /Gm
|
|
ARFLAGS = /nologo
|
|
LDFLAGS = /nologo /debug /nodefaultlib:msvcrt
|
|
!ELSE
|
|
CFLAGS = /nologo /MD /O2 /Zi /DNDEBUG /W3 /Gm- /GS /Gy /Oi /GL /MP
|
|
ARFLAGS = /nologo /LTCG
|
|
LDFLAGS = /nologo /LTCG /DYNAMICBASE /incremental:no /debug /opt:ref,icf
|
|
!ENDIF
|
|
|
|
!IF "$(PGI)"=="yes"
|
|
LDFLAGS = $(LDFLAGS) /ltcg:pgi
|
|
!ENDIF
|
|
|
|
!IF "$(PGO)"=="yes"
|
|
LDFLAGS = $(LDFLAGS) /ltcg:pgo
|
|
!ENDIF
|
|
|
|
LIB_OBJS = simdbitpacking.obj simdintegratedbitpacking.obj simdcomputil.obj \
|
|
simdpackedsearch.obj simdpackedselect.obj simdfor.obj
|
|
|
|
|
|
all: lib dll dynunit unit_chars example benchmark
|
|
# need some good use case scenario to train the instrumented build
|
|
@if "$(PGI)"=="yes" echo Running PGO training
|
|
@if "$(PGI)"=="yes" benchmark.exe >nul 2>&1
|
|
@if "$(PGI)"=="yes" example.exe >nul 2>&1
|
|
|
|
|
|
$(LIB_OBJS):
|
|
$(CC) $(INC) $(CFLAGS) /c src/simdbitpacking.c src/simdintegratedbitpacking.c src/simdcomputil.c \
|
|
src/simdpackedsearch.c src/simdpackedselect.c src/simdfor.c
|
|
|
|
lib: $(LIB_OBJS)
|
|
$(AR) $(ARFLAGS) /OUT:simdcomp_a.lib $(LIB_OBJS)
|
|
|
|
dll: $(LIB_OBJS)
|
|
$(LINK) /DLL $(LDFLAGS) /OUT:simdcomp.dll /IMPLIB:simdcomp.lib /DEF:simdcomp.def $(LIB_OBJS)
|
|
|
|
unit: lib
|
|
$(CC) $(INC) $(CFLAGS) /c src/unit.c
|
|
$(LINK) $(LDFLAGS) /OUT:unit.exe unit.obj simdcomp_a.lib
|
|
|
|
dynunit: dll
|
|
$(CC) $(INC) $(CFLAGS) /c src/unit.c
|
|
$(LINK) $(LDFLAGS) /OUT:unit.exe unit.obj simdcomp.lib
|
|
|
|
unit_chars: lib
|
|
$(CC) $(INC) $(CFLAGS) /c src/unit_chars.c
|
|
$(LINK) $(LDFLAGS) /OUT:unit_chars.exe unit_chars.obj simdcomp.lib
|
|
|
|
|
|
example: lib
|
|
$(CC) $(INC) $(CFLAGS) /c example.c
|
|
$(LINK) $(LDFLAGS) /OUT:example.exe example.obj simdcomp.lib
|
|
|
|
benchmark: lib
|
|
$(CC) $(INC) $(CFLAGS) /c src/benchmark.c
|
|
$(LINK) $(LDFLAGS) /OUT:benchmark.exe benchmark.obj simdcomp.lib
|
|
|
|
clean:
|
|
del /Q *.obj
|
|
del /Q *.lib
|
|
del /Q *.exe
|
|
del /Q *.dll
|
|
del /Q *.pgc
|
|
del /Q *.pgd
|
|
del /Q *.pdb
|
|
|