forked from elchs/LetoDBf
-
Notifications
You must be signed in to change notification settings - Fork 0
/
makefile.vc
172 lines (127 loc) · 5.07 KB
/
makefile.vc
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
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
# $Id: makefile.vc,v 1.5.2.4 2013/12/13 16:40:26 alkresin Exp $
# makefile for Visual C++ 32 bits
# Building of Leto binaries
#.SUFFIXESS: .prg .lib .c .obj
# uncomment this line if you want to build letodb with xharbour
XHARBOUR = yes
!ifndef HRB_DIR
HRB_DIR = $(HB_PATH)
!endif
INC_DIR = include
LZ4_DIR = source\3rd\lz4\lib
OBJ_DIR = obj/vc
API_DIR = obj/api
LIB_DIR = lib
BIN_DIR = bin
INC_ALL_DIR = /I$(INC_DIR) /I$(HRB_DIR)/include /I$(LZ4_DIR)
SERVER_DIR = source\server
CLIENT_DIR = source\client
COMMON_DIR = source\common
CFLAGS = -Ot2b1 -EHs-c- -FD -Gs -W3 -nologo -D__WINDOWS__ -DWIN32 -D__WIN32__ -D_CRT_SECURE_NO_DEPRECATE -DUSE_PMURHASH=1 -DUSE_LZ4=1
CAPIFLAGS = $(CFLAGS) -DUSE_LZ4=1 -D__LETO_C_API__=1 -DLETO_NO_MT=1 -DLETO_NO_THREAD=1
#!if $d(XHARBOUR)
#HARBOUR_LIBS = debug.lib vm.lib rtl.lib gtgui.lib lang.lib rdd.lib macro.lib pp.lib dbfntx.lib dbfcdx.lib dbffpt.lib hbsix.lib common.lib codepage.lib pcrepos.lib
#!else
HARBOUR_LIBS = hbdebug.lib hbvmmt.lib hbrtl.lib gtgui.lib hblang.lib hbrdd.lib hbmacro.lib hbpp.lib rddntx.lib rddcdx.lib rddfpt.lib hbsix.lib hbcommon.lib hbcpage.lib hbpcre.lib hbzlib.lib rddnsx.lib hbmemio.lib hbextern.lib hbhsx.lib
#!endif
WINDOWS_LIBS = user32.lib winspool.lib WSock32.lib WinMM.lib AdvApi32.lib IPHlpApi.lib Ws2_32.lib
all: \
$(LIB_DIR)\leto.lib
#!if $d(XHARBOUR)
#full: \
# $(LIB_DIR)\rddleto.lib \
# $(LIB_DIR)\leto.lib
#!else
full: \
$(LIB_DIR)\rddleto.lib \
$(LIB_DIR)\leto.lib
#!endif
$(BIN_DIR)\letodb.exe : \
$(OBJ_DIR)\server.obj \
$(OBJ_DIR)\common.obj \
$(OBJ_DIR)\common_c.obj \
$(OBJ_DIR)\blowfish.obj \
$(OBJ_DIR)\lz4.obj \
$(OBJ_DIR)\lz4net.obj \
$(OBJ_DIR)\PMurHash.obj \
$(OBJ_DIR)\leto_2.obj \
$(OBJ_DIR)\letofunc.obj \
$(OBJ_DIR)\letolist.obj \
$(OBJ_DIR)\letoacc.obj \
$(OBJ_DIR)\letovars.obj \
$(OBJ_DIR)\leto_win.obj \
$(OBJ_DIR)\errint.obj \
$(OBJ_DIR)\errorsys.obj
link /OUT:bin\letodb.exe -SUBSYSTEM:WINDOWS /NODEFAULTLIB:LIBC /NODEFAULTLIB:LIBCP -LIBPATH:$(HRB_DIR)\lib\win\msvc $(HARBOUR_LIBS) $(WINDOWS_LIBS) $**
$(OBJ_DIR)\server.obj : $(OBJ_DIR)\server.c
cl $(CFLAGS) /c $(INC_ALL_DIR) /Fo$@ $**
$(OBJ_DIR)\common.obj : $(OBJ_DIR)\common.c
cl $(CFLAGS) /c $(INC_ALL_DIR) /Fo$@ $**
$(OBJ_DIR)\errorsys.obj : $(OBJ_DIR)\errorsys.c
cl $(CFLAGS) /c $(INC_ALL_DIR) /Fo$@ $**
$(OBJ_DIR)\common_c.obj : $(COMMON_DIR)\common_c.c
cl $(CFLAGS) /c $(INC_ALL_DIR) /Fo$@ $**
$(OBJ_DIR)\blowfish.obj : $(COMMON_DIR)\blowfish.c
cl $(CFLAGS) /c $(INC_ALL_DIR) /Fo$@ $**
$(OBJ_DIR)\PMurHash.obj : $(COMMON_DIR)\PMurHash.c
cl $(CFLAGS) /c $(INC_ALL_DIR) /Fo$@ $**
$(OBJ_DIR)\lz4.obj : $(LZ4_DIR)\lz4.c
cl $(CFLAGS) /c $(INC_ALL_DIR) /Fo$@ $**
$(OBJ_DIR)\lz4net.obj : $(COMMON_DIR)\lz4net.c
cl $(CFLAGS) /c $(INC_ALL_DIR) /Fo$@ $**
$(OBJ_DIR)\leto_2.obj : $(SERVER_DIR)\leto_2.c
cl $(CFLAGS) /c $(INC_ALL_DIR) /Fo$@ $**
$(OBJ_DIR)\letofunc.obj : $(SERVER_DIR)\letofunc.c
cl $(CFLAGS) /c $(INC_ALL_DIR) /Fo$@ $**
$(OBJ_DIR)\letolist.obj : $(SERVER_DIR)\letolist.c
cl $(CFLAGS) /c $(INC_ALL_DIR) /Fo$@ $**
$(OBJ_DIR)\letoacc.obj : $(SERVER_DIR)\letoacc.c
cl $(CFLAGS) /c $(INC_ALL_DIR) /Fo$@ $**
$(OBJ_DIR)\letovars.obj : $(SERVER_DIR)\letovars.c
cl $(CFLAGS) /c $(INC_ALL_DIR) /Fo$@ $**
$(OBJ_DIR)\leto_win.obj : $(SERVER_DIR)\leto_win.c
cl $(CFLAGS) /c $(INC_ALL_DIR) /Fo$@ $**
$(OBJ_DIR)\server.c : $(SERVER_DIR)\server.prg
$(HRB_DIR)\bin\harbour.exe $** -q -n -w -I$(HRB_DIR)\include -i$(INC_DIR) -i$(LZ4_DIR) -d__WIN_DAEMON__ -o$@
$(OBJ_DIR)\common.c : $(COMMON_DIR)\common.prg
$(HRB_DIR)\bin\harbour.exe $** -q -n -w -I$(HRB_DIR)\include -i$(INC_DIR) -i$(LZ4_DIR) -d__WIN_DAEMON__ -o$@
$(OBJ_DIR)\errorsys.c : $(SERVER_DIR)\errorsys.prg
$(HRB_DIR)\bin\harbour.exe $** -q -n -w $(INC_ALL_DIR) -o$@
$(LIB_DIR)\rddleto.lib : \
$(OBJ_DIR)\letocl.obj \
$(OBJ_DIR)\leto1.obj \
$(OBJ_DIR)\letomgmn.obj \
$(OBJ_DIR)\common_c.obj \
$(OBJ_DIR)\lz4.obj \
$(OBJ_DIR)\lz4net.obj \
$(OBJ_DIR)\PMurHash.obj \
$(OBJ_DIR)\blowfish.obj
lib /out:$@ $**
{$(SERVER_DIR)}.prg{$(OBJ_DIR)}.c:
$(HRB_DIR)\bin\harbour.exe $** -n -w -i$(HRB_DIR)\include -i$(INC_DIR) -i$(LZ4_DIR) -d__WIN_DAEMON__ -o$@
{$(COMMON_DIR)}.prg{$(OBJ_DIR)}.c:
$(HRB_DIR)\bin\harbour.exe $** -n -w -i$(HRB_DIR)\include -i$(INC_DIR) -i$(LZ4_DIR) -d__WIN_DAEMON__ -o$@
{$(SERVER_DIR)}.c{$(OBJ_DIR)}.obj:
cl $(CFLAGS) /c $(INC_ALL_DIR) /Fo$@ $**
{$(COMMON_DIR)}.c{$(OBJ_DIR)}.obj:
cl $(CFLAGS) /c $(INC_ALL_DIR) /Fo$@ $**
{$(CLIENT_DIR)}.c{$(OBJ_DIR)}.obj:
cl $(CFLAGS) /c $(INC_ALL_DIR) /Fo$@ $**
{$(OBJ_DIR)}.c{$(OBJ_DIR)}.obj:
cl $(CFLAGS) /c $(INC_ALL_DIR) /Fo$@ $**
.c.obj:
cl $(CFLAGS) /c $(INC_ALL_DIR) /Fo$@ $**
$(LIB_DIR)\leto.lib : \
$(API_DIR)\letocl.obj \
$(API_DIR)\common_c.obj \
$(API_DIR)\lz4.obj \
$(API_DIR)\lz4net.obj \
$(API_DIR)\PMurHash.obj \
$(API_DIR)\blowfish.obj
lib /out:$@ $**
{$(COMMON_DIR)}.c{$(API_DIR)}.obj:
cl $(CAPIFLAGS) /c $(INC_ALL_DIR) /Fo$@ $**
{$(CLIENT_DIR)}.c{$(API_DIR)}.obj:
cl $(CAPIFLAGS) /c $(INC_ALL_DIR) /Fo$@ $**
{$(LZ4_DIR)}.c{$(API_DIR)}.obj:
cl $(CAPIFLAGS) /c $(INC_ALL_DIR) /Fo$@ $**