aboutsummaryrefslogtreecommitdiff
path: root/cachelab-handout/Makefile
blob: 249098eb0a91932699d92f0e2d52493e09c23066 (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

#
# Student makefile for Cache Lab
# Note: requires a 64-bit x86-64 system 
#
CC = gcc
CFLAGS = -g -Wall -Werror -std=c99 -m64

CXX = g++
CXXFLAGS = -g -Wall -Werror -std=c++17 -m64

all: csim test-trans tracegen

csim: csim.cc cachelab.c cachelab.h
	$(CC) $(CFLAGS) -c cachelab.c -o cachelab.o
	$(CXX) $(CXXFLAGS) -o csim csim.cc cachelab.o -lm

test-trans: test-trans.c trans.o cachelab.c cachelab.h
	$(CC) $(CFLAGS) -o test-trans test-trans.c cachelab.c trans.o 

tracegen: tracegen.c trans.o cachelab.c
	$(CC) $(CFLAGS) -O0 -o tracegen tracegen.c trans.o cachelab.c

trans.o: trans.c
	$(CC) $(CFLAGS) -O0 -c trans.c

#
# Clean the src dirctory
#
clean:
	rm -rf *.o
	rm -f *.tar
	rm -f csim
	rm -f test-trans tracegen
	rm -f trace.all trace.f*
	rm -f .csim_results .marker