mcpat.mk revision 10233:648ea04db2ab
1TARGET = mcpat
2SHELL = /bin/sh
3.PHONY: all depend clean
4.SUFFIXES: .cc .o
5
6ifndef NTHREADS
7  NTHREADS = 4
8endif
9
10
11LIBS = 
12INCS = -lm
13
14ifeq ($(TAG),dbg)
15  DBG = -Wall 
16  OPT = -ggdb -g -O0 -DNTHREADS=1 -Icacti
17else
18  DBG = 
19  OPT = -O3 -msse2 -mfpmath=sse -DNTHREADS=$(NTHREADS) -Icacti
20  #OPT = -O0 -DNTHREADS=$(NTHREADS)
21endif
22
23#CXXFLAGS = -Wall -Wno-unknown-pragmas -Winline $(DBG) $(OPT) 
24CXXFLAGS = -Wno-unknown-pragmas $(DBG) $(OPT) 
25CXX = g++
26CC  = gcc
27
28VPATH = cacti
29
30SRCS  = \
31  Ucache.cc \
32  XML_Parse.cc \
33  arbiter.cc \
34  area.cc \
35  array.cc \
36  bank.cc \
37  basic_circuit.cc \
38  basic_components.cc \
39  cacti_interface.cc \
40  component.cc \
41  core.cc \
42  crossbar.cc \
43  decoder.cc \
44  htree2.cc \
45  interconnect.cc \
46  io.cc \
47  iocontrollers.cc \
48  logic.cc \
49  main.cc \
50  mat.cc \
51  memoryctrl.cc \
52  noc.cc \
53  nuca.cc \
54  parameter.cc \
55  processor.cc \
56  router.cc \
57  sharedcache.cc \
58  subarray.cc \
59  technology.cc \
60  uca.cc \
61  wire.cc \
62  xmlParser.cc 
63
64OBJS = $(patsubst %.cc,$(ODIR)/obj_$(TAG)/%.o,$(SRCS))
65
66all: $(ODIR)/obj_$(TAG)/$(TARGET)
67	cp -f $< $(ODIR)/$(TARGET)
68
69$(ODIR)/obj_$(TAG)/$(TARGET) : $(OBJS)
70	$(CXX) $^ -o $@ $(INCS) $(CXXFLAGS) $(LIBS) -pthread
71
72$(ODIR)/obj_$(TAG)/%.o : %.cc
73	$(CXX) $(CXXFLAGS) -c $< -o $@
74
75clean:
76	-rm -f *.o $(ODIR)/$(TARGET)
77
78
79