-
Notifications
You must be signed in to change notification settings - Fork 2
/
Copy pathMakefile
90 lines (64 loc) · 2.45 KB
/
Makefile
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
CPP=g++
CPPFLAG=-w -lm -lpthread
PF_FLIES = pf_buffermgr.cc pf_error.cc pf_filehandle.cc \
pf_pagehandle.cc pf_hashtable.cc pf_statistics.cc \
statistics.cc
RM_FILES = rm_filehandle.cc bitmap.cc rm_record.cc
IX_FILES = ix_indexhandle.cc btree_node.cc
SM_FILES = sm_tablehandle.cc
ifeq ($(shell uname), Linux)
TARGET=./wsql
LIBDIR=./lib/
SRCDIR=./src/
PF_SOURCES = $(addprefix $(SRCDIR), $(PF_FLIES))
RM_SOURCES = $(addprefix $(SRCDIR), $(RM_FILES))
IX_SOURCES = $(addprefix $(SRCDIR), $(IX_FILES))
SM_SOURCES = $(addprefix $(SRCDIR), $(SM_FILES))
PF_LIBSO = $(LIBDIR)libWSQLpf.so
RM_LIBSO = $(LIBDIR)libWSQLrm.so
IX_LIBSO = $(LIBDIR)libWSQLix.so
SM_LIBSO = $(LIBDIR)libWSQLsm.so
$(LIBDIR):
mkdir $(LIBDIR)
$(PF_LIBSO): $(LIBDIR)
$(CPP) -o $(PF_LIBSO) $(PF_SOURCES) -I ./include/ -fPIC -shared
$(RM_LIBSO): $(PF_LIBSO)
$(CPP) -o $(RM_LIBSO) $(RM_SOURCES) $(PF_LIBSO) -I ./include/ -fPIC -shared
$(IX_LIBSO): $(PF_LIBSO)
$(CPP) -o $(IX_LIBSO) $(IX_SOURCES) $(PF_LIBSO) -I ./include/ -fPIC -shared
$(SM_LIBSO): $(RM_LIBSO) $(IX_LIBSO)
$(CPP) -o $(SM_LIBSO) $(SM_SOURCES) $(RM_LIBSO) $(IX_LIBSO) -I ./include/ -fPIC -shared
$(TARGET): $(SM_LIBSO) $(IX_LIBSO) $(RM_LIBSO)
$(CPP) -o $(TARGET) $(SRCDIR)wsql.cc $(SM_LIBSO) $(IX_LIBSO) $(RM_LIBSO) $(PF_LIBSO) -w -I ./include/
clean:
rm -f $(LIBDIR)libWSQL*.so
rm -rf $(TARGET)
else
TARGET=.\wsql.exe
SRCDIR=.\src
LIBDIR=.\lib
PF_SOURCES = $(addprefix $(SRCDIR)\, $(PF_FLIES))
RM_SOURCES = $(addprefix $(SRCDIR)\, $(RM_FILES))
IX_SOURCES = $(addprefix $(SRCDIR)\, $(IX_FILES))
SM_SOURCES = $(addprefix $(SRCDIR)\, $(SM_FILES))
PF_LIBSO = $(LIBDIR)\WSQLpf.dll
RM_LIBSO = $(LIBDIR)\WSQLrm.dll
IX_LIBSO = $(LIBDIR)\WSQLix.dll
SM_LIBSO = $(LIBDIR)\WSQLsm.dll
$(LIBDIR):
mkdir $(LIBDIR)
$(PF_LIBSO): $(LIBDIR)
$(CPP) -o $(PF_LIBSO) $(PF_SOURCES) -I .\include\ -fPIC -shared
$(RM_LIBSO): $(PF_LIBSO)
$(CPP) -o $(RM_LIBSO) $(RM_SOURCES) $(PF_LIBSO) -I .\include\ -fPIC -shared
$(IX_LIBSO): $(PF_LIBSO)
$(CPP) -o $(IX_LIBSO) $(IX_SOURCES) $(PF_LIBSO) -I .\include\ -fPIC -shared
$(SM_LIBSO): $(RM_LIBSO) $(IX_LIBSO)
$(CPP) -o $(SM_LIBSO) $(SM_SOURCES) $(RM_LIBSO) $(IX_LIBSO) -I .\include\ -fPIC -shared
$(TARGET): $(SM_LIBSO) $(IX_LIBSO) $(RM_LIBSO)
$(CPP) -o $(TARGET) $(SRCDIR)\wsql.cc $(SM_LIBSO) -I .\include\
clean:
del $(LIBDIR)\WSQL*.dll
del $(TARGET)
endif
all: $(TARGET)