cacti.mk revision 10152
1TARGET = cacti 2SHELL = /bin/sh 3.PHONY: all depend clean 4.SUFFIXES: .cc .o 5 6ifndef NTHREADS 7 NTHREADS = 8 8endif 9 10 11LIBS = 12INCS = -lm 13 14ifeq ($(TAG),dbg) 15 DBG = -Wall 16 OPT = -ggdb -g -O0 -DNTHREADS=1 -gstabs+ 17else 18 DBG = 19 OPT = -O3 -msse2 -mfpmath=sse -DNTHREADS=$(NTHREADS) 20endif 21 22#CXXFLAGS = -Wall -Wno-unknown-pragmas -Winline $(DBG) $(OPT) 23CXXFLAGS = -Wno-unknown-pragmas $(DBG) $(OPT) 24CXX = g++ -m32 25CC = gcc -m32 26 27SRCS = area.cc bank.cc mat.cc main.cc Ucache.cc io.cc technology.cc basic_circuit.cc parameter.cc \ 28 decoder.cc component.cc uca.cc subarray.cc wire.cc htree2.cc \ 29 cacti_interface.cc router.cc nuca.cc crossbar.cc arbiter.cc 30 31OBJS = $(patsubst %.cc,obj_$(TAG)/%.o,$(SRCS)) 32PYTHONLIB_SRCS = $(patsubst main.cc, ,$(SRCS)) obj_$(TAG)/cacti_wrap.cc 33PYTHONLIB_OBJS = $(patsubst %.cc,%.o,$(PYTHONLIB_SRCS)) 34INCLUDES = -I /usr/include/python2.4 -I /usr/lib/python2.4/config 35 36all: obj_$(TAG)/$(TARGET) 37 cp -f obj_$(TAG)/$(TARGET) $(TARGET) 38 39obj_$(TAG)/$(TARGET) : $(OBJS) 40 $(CXX) $(OBJS) -o $@ $(INCS) $(CXXFLAGS) $(LIBS) -pthread 41 42#obj_$(TAG)/%.o : %.cc 43# $(CXX) -c $(CXXFLAGS) $(INCS) -o $@ $< 44 45obj_$(TAG)/%.o : %.cc 46 $(CXX) $(CXXFLAGS) -c $< -o $@ 47 48clean: 49 -rm -f *.o _cacti.so cacti.py $(TARGET) 50 51 52