OBJS=SMPStaticAnalyzer.o   SMPDataFlowAnalysis.o   SMPInstr.o   SMPBasicBlock.o   \
	SMPFunction.o   SMPProgram.o   SMPDBInterface.o ProfilerInformation.o
CXX=@CXX@
LD=@LD@
EXTRA_CXXFLAGS=@EXTRA_CXXFLAGS@
STARS_HOME=@STARS_HOME@
LIB=$(STARS_HOME)/lib/libbase.a

all: $(OBJS)

# pull in dependency info for *existing* .o files
-include $(OBJS:.o=.d)

%.o: %.cpp
	$(CXX) -c  $(EXTRA_CXXFLAGS) $*.cpp 
	$(AR) -r $(LIB) $*.o
	@#
	@# build dependencies --  http://scottmcpeak.com/autodepend/autodepend.html
	@#
	$(CXX) -MM $(EXTRA_CXXFLAGS) $*.cpp > $*.d
	@cp -f $*.d $*.d.tmp
	@sed -e 's/.*://' -e 's/\\$$//' < $*.d.tmp | fmt -1 | sed -e 's/^ *//' -e 's/$$/:/' >> $*.d
	@rm -f $*.d.tmp

clean:  
	rm -f $(OBJS) *.d

.PHONY:
	@if [ "${IDAROOT}"X = "X"  ];  then echo Please set IDAROOT; exit 1; fi
	@if [ ! -f ${IDAROOT}/libida.so ]; then echo IDAROOT is set poorly, please fix.; exit 1; fi
	@if [ "${IDASDK}"X = "X"  ];  then echo Please set IDASDK; exit 1; fi
	@if [ ! -f ${IDASDK}/include/intel.hpp ]; then echo IDASDK is set poorly, please fix.; exit 1; fi