#
# Makefile di Telepati Udp versione 1.47
#

OPENRSDK_ROOT?=/usr/local/OPEN_R_SDK
INSTALLDIR=../MS
CXX=$(OPENRSDK_ROOT)/bin/mipsel-linux-g++
STRIP=$(OPENRSDK_ROOT)/bin/mipsel-linux-strip
MKBIN=$(OPENRSDK_ROOT)/OPEN_R/bin/mkbin
STUBGEN=$(OPENRSDK_ROOT)/OPEN_R/bin/stubgen2
MKBINFLAGS=-p $(OPENRSDK_ROOT)
LIBS=-L../lib -L$(OPENRSDK_ROOT)/OPEN_R/lib -lfuzzylib -lObjectComm -lOPENR -lInternet -lantMCOOP -lPackages 
CXXFLAGS= \
	-O2 \
	-fomit-frame-pointer \
	-I. \
	-I$(OPENRSDK_ROOT)/OPEN_R/include/R4000 \
	-I$(OPENRSDK_ROOT)/OPEN_R/include/MCOOP \
	-I$(OPENRSDK_ROOT)/OPEN_R/include \
	-I../include/Packages \
	-I../include/aibo-fuzzylib \
	-Wno-deprecated

DOXYGEN_CFG_FILE=telepatiudp_doc.cfg

# OPENR_DEBUG is defined, OSYSDEBUG() is available.
#CXXFLAGS+= -DOPENR_DEBUG

# Stampa informazioni sulla rete
#CXXFLAGS+= -DOPENR_ETHERSTAT
#LIBS+=-lERA201D1

# Attiva il polling degli altri Aibo
#CXXFLAGS+= -DTELEPATI_POLLING


.PHONY: all install clean doc

all: telepati.bin

%.o: %.cc
	$(CXX) $(CXXFLAGS) -o $@ -c $^

TelepatiUdpStub.cc: stub.cfg
	$(STUBGEN) stub.cfg	

telepati.bin: TelepatiUdpStub.o TelepatiUdp.o telepatiudp.ocf EtherStat.o UDPConnection.o
	$(MKBIN) $(MKBINFLAGS) -o $@ $^ $(LIBS)
	$(STRIP) $@

install: telepati.bin
	gzip -c telepati.bin > $(INSTALLDIR)/OPEN-R/MW/OBJS/TELEPATI.BIN

clean:
	rm -f *.o *.bin *.elf *.snap.cc
	rm -f TelepatiUdpStub.h TelepatiUdpStub.cc def.h entry.h
	rm -f $(INSTALLDIR)/OPEN-R/MW/OBJS/TELEPATI.BIN
doc:
	doxygen $(DOXYGEN_CFG_FILE)
