-
Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy pathMakefile.vc
More file actions
90 lines (78 loc) · 2.61 KB
/
Makefile.vc
File metadata and controls
90 lines (78 loc) · 2.61 KB
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
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
.PHONY: shared static dotnet
all: shared static dotnet
# Open MSVC tools window and run: nmake /f Makefile.vc MACHINE=[x86|x64]
LIB=dataframe
CPPNAME=DATAFRAME
DOTNET_LIB=DataFrameSharp
CFLAGS=/O2 /DNDEBUG /MD /FD /W3 /nologo /D_CRT_SECURE_NO_WARNINGS
SOURCES=\
src/bitvector.c \
src/columnInt8.c \
src/columnInt16.c \
src/columnInt32.c \
src/columnInt64.c \
src/columnUInt8.c \
src/columnUInt16.c \
src/columnUInt32.c \
src/columnUInt64.c \
src/columnFloat32.c \
src/columnFloat64.c \
src/columnString.c \
src/dataframe.c
DOTNET_SOURCES=\
dotnet/src/DataColumnInt8.cpp \
dotnet/src/DataColumnInt16.cpp \
dotnet/src/DataColumnInt32.cpp \
dotnet/src/DataColumnInt64.cpp \
dotnet/src/DataColumnUInt8.cpp \
dotnet/src/DataColumnUInt16.cpp \
dotnet/src/DataColumnUInt32.cpp \
dotnet/src/DataColumnUInt64.cpp \
dotnet/src/DataColumnString.cpp \
dotnet/src/StringConverter.cpp \
dotnet/src/AssemblyInfo.cpp
OBJS=\
bitvector.obj \
columnInt8.obj \
columnInt16.obj \
columnInt32.obj \
columnInt64.obj \
columnUInt8.obj \
columnUInt16.obj \
columnUInt32.obj \
columnUInt64.obj \
columnFloat32.obj \
columnFloat64.obj \
columnString.obj \
dataframe.obj
DOTNET_OBJS=\
DataColumnInt8.obj \
DataColumnInt16.obj \
DataColumnInt32.obj \
DataColumnInt64.obj \
DataColumnUInt8.obj \
DataColumnUInt16.obj \
DataColumnUInt32.obj \
DataColumnUInt64.obj \
DataColumnString.obj \
StringConverter.obj \
AssemblyInfo.obj
INCLUDE=/Iinclude /I"$(VCINSTALLDIR)include" /I"$(UNIVERSALCRTSDKDIR)\Include\$(UCRTVERSION)\ucrt" /I"$(WINDOWSSDKDIR)Include\um" /I"$(WINDOWSSDKDIR)Include\Shared"
LIBDIR1=/LIBPATH:"$(WINDOWSSDKDIR)lib\$(WINDOWSSDKLIBVERSION)um\$(MACHINE)" /LIBPATH:"$(UNIVERSALCRTSDKDIR)lib\$(UCRTVERSION)\ucrt\$(MACHINE)"
!IF "$(MACHINE)"=="x64"
LIBDIR=/LIBPATH:"$(VCINSTALLDIR)lib\amd64" $(LIBDIR1)
!ELSE
LIBDIR=/LIBPATH:"$(VCINSTALLDIR)lib" $(LIBDIR1)
!ENDIF
shared:
cl $(CFLAGS) /EHsc $(INCLUDE) /D$(CPPNAME)_COMPILE_DLL /c $(SOURCES)
if not exist $(MACHINE) mkdir $(MACHINE)
link /DLL /nologo $(OBJS) $(LIBDIR) /machine:$(MACHINE) /out:$(MACHINE)/$(LIB).dll
static:
cl $(CFLAGS) /EHsc $(INCLUDE) /D$(CPPNAME)_STATIC /c $(SOURCES)
if not exist $(MACHINE) mkdir $(MACHINE)
link /lib /nologo $(OBJS) $(LIBDIR) /machine:$(MACHINE) /out:$(MACHINE)/$(LIB)_a.lib
dotnet: shared
cl $(CFLAGS) /clr $(INCLUDE) /Idotnet/include /D$(CPPNAME)_STATIC /c $(DOTNET_SOURCES)
if not exist $(MACHINE) mkdir $(MACHINE)
link /DLL /nologo $(DOTNET_OBJS) $(LIBDIR) $(MACHINE)/$(LIB).lib /machine:$(MACHINE) /out:$(MACHINE)/$(DOTNET_LIB).dll