forked from liuhaotian/kma
-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathMakefile
90 lines (69 loc) · 2.02 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
###############################################################################
#
# Description: Makefile
# Author: Stefan Birrer
# Northwestern Systems Research Group
# Department of Computer Science
# Northwestern University
#
# (C) Copyright 2004, Northwestern University, all rights reserved.
#
###############################################################################
# handin info
TEAM = hlc720+gjw571
VERSION = `date +%Y%m%d%H%M%S`
PROJ = kma
COMPETITION = KMA_FUN
CC = gcc
MV = mv
CP = cp
RM = rm
MKDIR = mkdir
TAR = tar cvf
COMPRESS = gzip
CFLAGS = -g -Wall -O2 -D_GNU_SOURCE -lm
DELIVERY = Makefile *.h *.c DOC
PROGS = kma_dummy kma_rm kma_p2fl kma_mck2 kma_bud kma_lzbud kma_fun
SRCS = kma.c kpage.c kma_dummy.c kma_rm.c kma_p2fl.c kma_mck2.c kma_bud.c kma_lzbud.c kma_fun.c
OBJS = ${SRCS:.c=.o}
all: ${PROGS} competition
competition:
echo "Using ${COMPETITION} for competition"
${CC} ${CFLAGS} -DCOMPETITION -D${COMPETITION} -o kma_competition ${SRCS}
competitionAlgorithm:
echo ${COMPETITION}
analyze:
gnuplot kma_output.plt
test-reg: handin
HANDIN=`pwd`/${TEAM}-${VERSION}-${PROJ}.tar.gz;\
cd testsuite;\
sh ./run_testcase.sh $${HANDIN};
handin: cleanAll
${TAR} ${TEAM}-${VERSION}-${PROJ}.tar ${DELIVERY}
${COMPRESS} ${TEAM}-${VERSION}-${PROJ}.tar
.o:
${CC} *.c
kma_dummy: ${SRCS}
${CC} ${CFLAGS} -DKMA_DUMMY -o $@ ${SRCS}
kma_rm: ${SRCS}
${CC} ${CFLAGS} -DKMA_RM -o $@ ${SRCS}
kma_p2fl: ${SRCS}
${CC} ${CFLAGS} -DKMA_P2FL -o $@ ${SRCS}
kma_mck2: ${SRCS}
${CC} ${CFLAGS} -DKMA_MCK2 -o $@ ${SRCS}
kma_bud: ${SRCS}
${CC} ${CFLAGS} -DKMA_BUD -o $@ ${SRCS}
kma_lzbud: ${SRCS}
${CC} ${CFLAGS} -DKMA_LZBUD -o $@ ${SRCS}
kma_fun: ${SRCS}
${CC} ${CFLAGS} -DKMA_FUN -o $@ ${SRCS}
leak: $(TARGET)
for exec in ${PROGS}; do \
echo "Checking $${exec} (press ENTER to start)";\
read;\
valgrind -v --show-reachable=yes --leak-check=yes $${exec}; \
done
clean:
${RM} -f *.o *~
cleanAll: clean
${RM} -f ${PROGS} kma_competition kma_output.dat kma_output.png kma_waste.png