aboutsummaryrefslogtreecommitdiff
path: root/malloclab-handout/Makefile
diff options
context:
space:
mode:
Diffstat (limited to 'malloclab-handout/Makefile')
-rw-r--r--malloclab-handout/Makefile26
1 files changed, 20 insertions, 6 deletions
diff --git a/malloclab-handout/Makefile b/malloclab-handout/Makefile
index 3d5dc9e..36c382d 100644
--- a/malloclab-handout/Makefile
+++ b/malloclab-handout/Makefile
@@ -6,16 +6,30 @@ VERSION = 1
HANDINDIR = /afs/cs.cmu.edu/academic/class/15213-f01/malloclab/handin
CC = gcc
-CFLAGS = -Wall -O2 -m32
+CXX = g++
+CFLAGS = -Wall -Og -m32
+CXXFLAGS = -Wall -Og -m32
-OBJS = mdriver.o mm.o memlib.o fsecs.o fcyc.o clock.o ftimer.o
+OBJS = mdriver.o memlib.o fsecs.o fcyc.o clock.o ftimer.o
+MM_TARGETS = $(basename $(wildcard mm*.cc))
-mdriver: $(OBJS)
- $(CC) $(CFLAGS) -o mdriver $(OBJS)
+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
-mm.o: mm.c mm.h memlib.h
fsecs.o: fsecs.c fsecs.h config.h
fcyc.o: fcyc.c fcyc.h
ftimer.o: ftimer.c ftimer.h config.h
@@ -25,6 +39,6 @@ handin:
cp mm.c $(HANDINDIR)/$(TEAM)-$(VERSION)-mm.c
clean:
- rm -f *~ *.o mdriver
+ rm -f *~ *.o *.out