-
Notifications
You must be signed in to change notification settings - Fork 10
Expand file tree
/
Copy pathMakefile.win
More file actions
42 lines (32 loc) · 924 Bytes
/
Makefile.win
File metadata and controls
42 lines (32 loc) · 924 Bytes
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
OBJ = src/luasimdjson.obj src/simdjson.obj
CPPFLAGS = -I$(LUA_INCDIR)
CXXFLAGS = -EHsc -std:c++17 $(CFLAGS)
LDFLAGS = $(LIBFLAG)
!ifdef LUA_LIBDIR
LDLIBS = $(LUA_LIBDIR)/$(LUALIB)
!endif
# Detect architecture for Windows
!ifndef ARCH_FLAG
!if "$(PROCESSOR_ARCHITECTURE)" == "AMD64" || "$(PROCESSOR_ARCHITEW6432)" == "AMD64"
ARCH_FLAG = /D_AMD64_
!else if "$(PROCESSOR_ARCHITECTURE)" == "x86"
ARCH_FLAG = /D_X86_
!else if "$(PROCESSOR_ARCHITECTURE)" == "ARM64"
ARCH_FLAG = /D_ARM64_
!else
# Default to AMD64 if detection fails
ARCH_FLAG = /D_AMD64_
!endif
!endif
TARGET = simdjson.dll
all: $(TARGET)
src/luasimdjson.obj: src/luasimdjson.h src/simdjson.h
src/simdjson.obj: src/simdjson.h
.cpp.obj::
$(CXX) $(CPPFLAGS) $(CXXFLAGS) $(ARCH_FLAG) -c $< -Fo:"src\\"
$(TARGET): $(OBJ)
$(LD) $(LDFLAGS) $** -out:$@ $(LDLIBS)
clean:
del *.dll src\*.obj *.lib *.exp 2>nul
install: $(TARGET)
copy $(TARGET) $(INST_LIBDIR)