forked from electrum/ssb-dbgen
-
Notifications
You must be signed in to change notification settings - Fork 0
/
makefile
127 lines (125 loc) · 4.03 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
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
# @(#)makefile.suite 2.1.8.1
################
## CHANGE NAME OF ANSI COMPILER HERE
################
CC = gcc
# Current values for DATABASE are: INFORMIX, DB2, TDAT (Teradata)
# SQLSERVER, SYBASE
# Current values for MACHINE are: ATT, DOS, HP, IBM, ICL, MVS,
# SGI, SUN, U2200, VMS, LINUX
# Current values for WORKLOAD are: SSBM, TPCH, TPCR
DATABASE=DB2
MACHINE =MAC
WORKLOAD =SSBM
#
# add -EDTERABYTE if orderkey will execeed 32 bits (SF >= 300)
# and make the appropriate change in gen_schema() of runit.sh
CFLAGS = -O -DDBNAME=\"dss\" -D$(MACHINE) -D$(DATABASE) -D$(WORKLOAD) -D_FORTIFY_SOURCE=0
LDFLAGS = -O
# The OBJ,EXE and LIB macros will need to be changed for compilation under
# Windows NT
OBJ = .o
EXE =
LIBS = -lm
#
# NO CHANGES SHOULD BE NECESSARY BELOW THIS LINE
###############
TREE_ROOT=/tmp/tree
#
PROG1 = dbgen$(EXE)
PROG2 = qgen$(EXE)
PROGS = $(PROG1) $(PROG2)
#
HDR1 = dss.h rnd.h config.h dsstypes.h shared.h bcd2.h
HDR2 = tpcd.h permute.h
HDR = $(HDR1) $(HDR2)
#
SRC1 = build.c driver.c bm_utils.c rnd.c print.c load_stub.c bcd2.c \
speed_seed.c text.c permute.c
SRC2 = qgen.c varsub.c
SRC = $(SRC1) $(SRC2)
#
OBJ1 = build$(OBJ) driver$(OBJ) bm_utils$(OBJ) rnd$(OBJ) print$(OBJ) \
load_stub$(OBJ) bcd2$(OBJ) speed_seed$(OBJ) text$(OBJ) permute$(OBJ)
OBJ2 = build$(OBJ) bm_utils$(OBJ) qgen$(OBJ) rnd$(OBJ) varsub$(OBJ) \
text$(OBJ) bcd2$(OBJ) permute$(OBJ) speed_seed$(OBJ)
OBJS = $(OBJ1) $(OBJ2)
#
SETS = dists.dss
DOC=README HISTORY PORTING.NOTES BUGS
DDL = dss.ddl dss.ri
OTHER=makefile.suite $(SETS) $(DDL)
# case is *important* in TEST_RES
TEST_RES = O.res L.res c.res s.res P.res S.res n.res r.res
#
DBGENSRC=$(SRC1) $(HDR1) $(OTHER) $(DOC) $(SRC2) $(HDR2) $(SRC3)
QD=1.sql 2.sql 3.sql 4.sql 5.sql 6.sql 7.sql 8.sql 9.sql 10.sql \
11.sql 12.sql 13.sql 14.sql 15.sql 16.sql 17.sql 18.sql \
19.sql 20.sql 21.sql 22.sql
VARIANTS= 8a.sql 12a.sql 13a.sql 14a.sql 15a.sql
ANS = 1.ans 2.ans 3.ans 4.ans 5.ans 6.ans 7.ans 8.ans 9.ans 10.ans 11.ans \
12.ans 13.ans 14.ans 15.ans 16.ans 17.ans 18.ans 19.ans 20.ans \
21.ans 22.ans
QSRC = $(FQD) $(VARIANTS)
ALLSRC=$(DBGENSRC)
TREE_DOC=tree.readme tree.changes appendix.readme appendix.version answers.readme queries.readme variants.readme
JUNK =
#
all: $(PROGS)
$(PROG1): $(OBJ1) $(SETS)
$(CC) $(CFLAGS) $(LDFLAGS) -o $@ $(OBJ1) $(LIBS)
$(PROG2): permute.h $(OBJ2)
$(CC) $(CFLAGS) $(LDFLAGS) -o $@ $(OBJ2) $(LIBS)
clean:
rm -f $(PROGS) $(OBJS) $(JUNK)
lint:
lint $(CFLAGS) -u -x -wO -Ma -p $(SRC1)
lint $(CFLAGS) -u -x -wO -Ma -p $(SRC2)
tar: $(DBGENSRC)
tar cvhf $(PROG1).tar $(DBGENSRC)
dbgenshar: $(DBGENSRC)
shar -o dbgen.shar $(DBGENSRC)
zip: $(DBGENSRC)
zip dbgen $(DBGENSRC)
tree: $(DBGENSRC) $(FQD) $(VARIANTS) $(TREE_DOC) $(ANS)
rm -rf $(TREE_ROOT)
mkdir $(TREE_ROOT)
mkdir $(TREE_ROOT)/appendix
mkdir $(TREE_ROOT)/appendix/queries
mkdir $(TREE_ROOT)/appendix/variants
mkdir $(TREE_ROOT)/appendix/dbgen
mkdir $(TREE_ROOT)/appendix/answers
cp tree.readme $(TREE_ROOT)/README
cp appendix.readme $(TREE_ROOT)/appendix/README
cp answers.readme $(TREE_ROOT)/appendix/answers/README
cp queries.readme $(TREE_ROOT)/appendix/queries/README
cp variants.readme $(TREE_ROOT)/appendix/variants/README
cp tree.changes $(TREE_ROOT)/CHANGES
cp appendix.version $(TREE_ROOT)/appendix/VERSION
cp $(FQD) $(TREE_ROOT)/appendix/queries
cp $(VARIANTS) $(TREE_ROOT)/appendix/variants
cp $(DBGENSRC) $(TREE_ROOT)/appendix/dbgen
cp $(ANS) $(TREE_ROOT)/appendix/answers
(cd $(TREE_ROOT); tar chf - .) |compress > tree.tar.Z
(cd $(TREE_ROOT); zip -r - . ) > tree.zip
date > tree.update
portable:
@ for f in $(SRC) $(HDR) ; \
do \
expand $$f > /tmp/$$f; \
awk 'length > 72 { print FILENAME ":" NR " too long " }' /tmp/$$f ; \
rm /tmp/$$f ; \
done
release:
@chkout $(SRC) $(HDR)
@ for f in $(SRC) $(HDR) ; \
do \
expand $$f > /tmp/$$f ; \
mv /tmp/$$f $$f ; \
done
@chkin $(SRC) $(HDR)
rnd$(OBJ): rnd.h
$(OBJ1): $(HDR1)
$(OBJ2): dss.h tpcd.h config.h
$(QSRC) $(ALLSRC):
get -r`cat .version` ./SCCS/s.$@