TEKKOTSU_TARGET_MODEL?=TGT_ERS210

SRCS:=$(shell find . -name "*.cc")

OBJS:=${SRCS:.cc=.o}
DEPENDS:=${SRCS:.cc=.d}

OPENRSDK_ROOT?=/usr/local/OPEN_R_SDK
CXX=$(OPENRSDK_ROOT)/bin/mipsel-linux-g++
LD=$(OPENRSDK_ROOT)/bin/mipsel-linux-ld
FILTERSYSWARN=../tools/filtersyswarn/filtersyswarn
LIBS=-lObjectComm -lOPENR -lInternet -lantMCOOP
CURDIR:=$(shell pwd | sed 's/.*\///')
CXXFLAGS= \
	-g -O3 \
	-Wall -W -Wshadow -Wlarger-than-8192 -Wpointer-arith -Wcast-qual \
	-Woverloaded-virtual -Weffc++ -Winline -Wdeprecated \
	-I. -I.. -I../MMCombo -isystem $(OPENRSDK_ROOT)/OPEN_R/include/MCOOP \
	-isystem $(OPENRSDK_ROOT)/OPEN_R/include/R4000 -isystem $(OPENRSDK_ROOT)/OPEN_R/include \
	-DPLATFORM_APERIOS -DDEBUG -DOPENR_DEBUG -DCONSOLE_VT100 \
	-D$(TEKKOTSU_TARGET_MODEL) $(GLOBAL_MAP) \

.PHONY: all clean

all: $(CURDIR)Lib.o

$(CURDIR)Lib.o : $(OBJS)
	@echo Linking object files...
	@echo "$@ <- $(OBJS)"
	@$(LD) -i $(OBJS) -o $@

%.o: %.cc %.d $(FILTERSYSWARN)
	@echo Compiling $< into $@...
	@$(CXX) $(CXXFLAGS) -o $@ -c $< > $*.log 2>&1; \
	retval=$$?; \
	cat $*.log | $(FILTERSYSWARN); \
	test $$retval -eq 0;

%.d : %.cc
	@echo Building $@ for $<
	@$(CXX) $(CXXFLAGS) -MP -MG -MT $@ -MT $*.o -MM $< > $@

$(FILTERSYSWARN):
	(cd ../tools && $(MAKE));

ifneq ($(MAKECMDGOALS),clean)
-include $(DEPENDS)
endif


clean:
	rm -f $(CURDIR)Lib.o $(OBJS) $(DEPENDS) ${SRCS:.cc=.log} *~ 
