aboutsummaryrefslogtreecommitdiff
path: root/malloclab-handout/Makefile
blob: 36c382deab027e0eb9f575eac6878c9668e99507 (plain)
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

#
# Students' Makefile for the Malloc Lab
#
TEAM = bovik
VERSION = 1
HANDINDIR = /afs/cs.cmu.edu/academic/class/15213-f01/malloclab/handin

CC = gcc
CXX = g++
CFLAGS = -Wall -Og -m32
CXXFLAGS = -Wall -Og -m32

OBJS = mdriver.o memlib.o fsecs.o fcyc.o clock.o ftimer.o
MM_TARGETS = $(basename $(wildcard mm*.cc))

MAKEFLAGS += --no-builtin-rules
.SUFFIXES:

.PHONY: $(MM_TARGETS)
$(MM_TARGETS): %: %.out

%.out: %.o $(OBJS)
	$(CXX) $(CXXFLAGS) -o $@ $^

%.o: %.cc mm.h memlib.h
	$(CXX) $(CXXFLAGS) -c -o $@ $<

%.o: %.c
	$(CC) $(CFLAGS) -c -o $@ $<

mdriver.o: mdriver.c fsecs.h fcyc.h clock.h memlib.h config.h mm.h
memlib.o: memlib.c memlib.h
fsecs.o: fsecs.c fsecs.h config.h
fcyc.o: fcyc.c fcyc.h
ftimer.o: ftimer.c ftimer.h config.h
clock.o: clock.c clock.h

handin:
	cp mm.c $(HANDINDIR)/$(TEAM)-$(VERSION)-mm.c

clean:
	rm -f *~ *.o *.out