TARGET=hello
INSTALLPATH=/tmp
DEBUG=n
#RUNARGS=/dev/tty3 "SerialTest"
C_SOURCES=hello.c
CXX_SOURCES=
CXXFLAGS=-I../../target/staging/include -I../../target/staging/include/centidev -I../../platform/kernel/linux/include -I.
LDFLAGS=-L../../target/staging/lib
LIBS=../../target/staging/lib/libsigc-2.0.so ../../target/staging/lib/libcentidev.so
DEPDIR=./deps
##############################################################################
include ../../devconfig
include ../../.config
CXX=../../target/staging/bin/g++-uc
CC=$(MT_CROSS_COMPILE)gcc
LD=../../target/staging/bin/g++-uc
COBJS=$(C_SOURCES:%.c=%.o)
CXXOBJS=$(CXX_SOURCES:%.cpp=%.o)
DEPS=$(CXX_SOURCES:%.cpp=%.dep) $(C_SOURCES:%.c:%.dep)
FULLDEPS=$(addprefix $(DEPDIR)/,$(DEPS))
ifeq ($(DEBUG),y)
        CFLAGS+=-O0 -g3
        CXXFLAGS+=-O0 -g3
        LDFLAGS+=-g3
else
        CFLAGS+=-O2
        CXXFLAGS+=-O2
        LDFLAGS+=-s
endif
build: $(DEPDIR) $(TARGET)
-include $(FULLDEPS)
$(TARGET): $(CXXOBJS) $(COBJS)
	$(LD) $(LDFLAGS) -o $(TARGET) $(CXXOBJS) $(COBJS) $(LIBS)
$(CXXOBJS):
	$(CXX) $(CXXFLAGS) -MD -MP -MF $(patsubst %.o,$(DEPDIR)/%.dep, $@) -c $(patsubst %.o,%.cpp, $@) -o $@
$(COBJS):
	$(CC) $(CFLAGS) -MD -MP -MF $(patsubst %.o,$(DEPDIR)/%.dep, $@) -c $(patsubst %.o,%.c,$@) -o $@
$(DEPDIR):
	@mkdir -p $(DEPDIR)
install:
	mkdir -p ../package/$(INSTALLPATH)
	cp -v $(TARGET) ../package/$(INSTALLPATH)
clean:
	rm -Rf $(CXXOBJS) $(COBJS) $(DEPDIR) $(TARGET) *~
distclean: clean
run: build
	../../centitools/bin/ethboot kill $(CFG_HW_ETH)
	../../centitools/bin/ethboot upload $(CFG_HW_ETH) $(TARGET) /tmp/$(TARGET)
	../../centitools/bin/ethboot exec $(CFG_HW_ETH) "/tmp/$(TARGET) $(RUNARGS)"
debug: build
	../../centitools/bin/ethboot upload $(CFG_HW_ETH) $(TARGET) /tmp/$(TARGET)
	../../centitools/bin/ethboot exec $(CFG_HW_ETH) "gdbserver :26200 /tmp/$(TARGET)" 
	$(MT_CROSS_COMPILE)gdbtui \
              -ex "set solib-absolute-prefix $(MT_CROSS_LIBDIR)" \
              -ex "symbol-file $(TARGET)" \
              -ex "target remote `../../centitools/bin/ethboot getip $(CFG_HW_ETH)`:26200" \
              -ex "break main" \
              -ex "cont" \
              -ex "clear main"
	../../centitools/bin/ethboot kill $(CFG_HW_ETH)
ddd: build
	../../centitools/bin/ethboot upload $(CFG_HW_ETH) $(TARGET) /tmp/$(TARGET)
	../../centitools/bin/ethboot exec $(CFG_HW_ETH) "gdbserver :26200 /tmp/$(TARGET)"
	ddd --debugger '$(MT_CROSS_COMPILE)gdb \
              -ex "set solib-absolute-prefix $(MT_CROSS_LIBDIR)" \
              -ex "symbol-file $(TARGET)" \
              -ex "target remote `../../centitools/bin/ethboot getip $(CFG_HW_ETH)`:26200" \
              -ex "break main" \
              -ex "cont" \
              -ex "clear main"'
	../../centitools/bin/ethboot kill $(CFG_HW_ETH)

