-
Notifications
You must be signed in to change notification settings - Fork 18
/
Copy pathMakefile
54 lines (39 loc) · 1012 Bytes
/
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
CC = gcc
CFLAGS = -c -g -Wall -Wextra
LFLAGS = -g -Wall -Wextra
INPUTFILESIZEMEGABYTES = 1
KILO = 1024
MEGA = $(shell echo $(KILO)\*$(KILO) | bc)
INPUTFILESIZEBYTES = $(shell echo $(MEGA)\*$(INPUTFILESIZEMEGABYTES) | bc)
INPUTBLOCKSIZEBYTES = $(KILO)
INPUTBLOCKS = $(shell echo $(INPUTFILESIZEBYTES)\/$(INPUTBLOCKSIZEBYTES) | bc)
.PHONY: all clean
all: pi pi-sched rw rr_quantum
pi: pi.o
$(CC) $(LFLAGS) $^ -o $@ -lm
pi-sched: pi-sched.o
$(CC) $(LFLAGS) $^ -o $@ -lm
rw: rw.o rwinput
$(CC) $(LFLAGS) rw.o -o $@ -lm
rr_quantum: rr_quantum.o
$(CC) $(LFLAGS) $^ -o $@ -lm
pi.o: pi.c
$(CC) $(CFLAGS) $<
pi-sched.o: pi-sched.c
$(CC) $(CFLAGS) $<
rw.o: rw.c
$(CC) $(CFLAGS) $<
rwinput: Makefile
dd if=/dev/urandom of=./rwinput bs=$(INPUTBLOCKSIZEBYTES) count=$(INPUTBLOCKS)
rr_quantum.o: rr_quantum.c
$(CC) $(CFLAGS) $<
clean: testclean
rm -f pi pi-sched rw rr_quantum
rm -f rwinput
rm -f *.o
rm -f *~
rm -f handout/*~
rm -f handout/*.log
rm -f handout/*.aux
testclean:
rm -f rwoutput*