110152Satgutier@umich.eduTARGET = cacti
210152Satgutier@umich.eduSHELL = /bin/sh
310152Satgutier@umich.edu.PHONY: all depend clean
410152Satgutier@umich.edu.SUFFIXES: .cc .o
510152Satgutier@umich.edu
610152Satgutier@umich.eduifndef NTHREADS
710152Satgutier@umich.edu  NTHREADS = 8
810152Satgutier@umich.eduendif
910152Satgutier@umich.edu
1010152Satgutier@umich.edu
1110152Satgutier@umich.eduLIBS = 
1210152Satgutier@umich.eduINCS = -lm
1310152Satgutier@umich.edu
1410152Satgutier@umich.eduifeq ($(TAG),dbg)
1510152Satgutier@umich.edu  DBG = -Wall 
1610152Satgutier@umich.edu  OPT = -ggdb -g -O0 -DNTHREADS=1  -gstabs+
1710152Satgutier@umich.eduelse
1810152Satgutier@umich.edu  DBG = 
1910152Satgutier@umich.edu  OPT = -O3 -msse2 -mfpmath=sse -DNTHREADS=$(NTHREADS)
2010152Satgutier@umich.eduendif
2110152Satgutier@umich.edu
2210152Satgutier@umich.edu#CXXFLAGS = -Wall -Wno-unknown-pragmas -Winline $(DBG) $(OPT) 
2310152Satgutier@umich.eduCXXFLAGS = -Wno-unknown-pragmas $(DBG) $(OPT) 
2410152Satgutier@umich.eduCXX = g++ -m32
2510152Satgutier@umich.eduCC  = gcc -m32
2610152Satgutier@umich.edu
2710152Satgutier@umich.eduSRCS  = area.cc bank.cc mat.cc main.cc Ucache.cc io.cc technology.cc basic_circuit.cc parameter.cc \
2810152Satgutier@umich.edu		decoder.cc component.cc uca.cc subarray.cc wire.cc htree2.cc \
2910152Satgutier@umich.edu		cacti_interface.cc router.cc nuca.cc crossbar.cc arbiter.cc 
3010152Satgutier@umich.edu
3110152Satgutier@umich.eduOBJS = $(patsubst %.cc,obj_$(TAG)/%.o,$(SRCS))
3210152Satgutier@umich.eduPYTHONLIB_SRCS = $(patsubst main.cc, ,$(SRCS)) obj_$(TAG)/cacti_wrap.cc
3310152Satgutier@umich.eduPYTHONLIB_OBJS = $(patsubst %.cc,%.o,$(PYTHONLIB_SRCS)) 
3410152Satgutier@umich.eduINCLUDES       = -I /usr/include/python2.4 -I /usr/lib/python2.4/config
3510152Satgutier@umich.edu
3610152Satgutier@umich.eduall: obj_$(TAG)/$(TARGET)
3710152Satgutier@umich.edu	cp -f obj_$(TAG)/$(TARGET) $(TARGET)
3810152Satgutier@umich.edu
3910152Satgutier@umich.eduobj_$(TAG)/$(TARGET) : $(OBJS)
4010152Satgutier@umich.edu	$(CXX) $(OBJS) -o $@ $(INCS) $(CXXFLAGS) $(LIBS) -pthread
4110152Satgutier@umich.edu
4210152Satgutier@umich.edu#obj_$(TAG)/%.o : %.cc
4310152Satgutier@umich.edu#	$(CXX) -c $(CXXFLAGS) $(INCS) -o $@ $<
4410152Satgutier@umich.edu
4510152Satgutier@umich.eduobj_$(TAG)/%.o : %.cc
4610152Satgutier@umich.edu	$(CXX) $(CXXFLAGS) -c $< -o $@
4710152Satgutier@umich.edu
4810152Satgutier@umich.educlean:
4910152Satgutier@umich.edu	-rm -f *.o _cacti.so cacti.py $(TARGET)
5010152Satgutier@umich.edu
5110152Satgutier@umich.edu
52