CROSS_COMPILE=/home/petteri/openwrt/staging_dir_mipsel/bin/mipsel-linux-uclibc-
AS              = $(CROSS_COMPILE)as
LD              = $(CROSS_COMPILE)ld
CC              = $(CROSS_COMPILE)gcc
CPP             = $(CC) -E
AR              = $(CROSS_COMPILE)ar
NM              = $(CROSS_COMPILE)nm
STRIP           = $(CROSS_COMPILE)strip
OBJCOPY         = $(CROSS_COMPILE)objcopy
OBJDUMP         = $(CROSS_COMPILE)objdump


# 1: With dmalloc, no optimizations
# 2: Without dmalloc, with optimizations
BUILDTYPE = 2

CFLAGS = -I. -Wall -Werror -I../monitord/

ifeq (${BUILDTYPE}, 1)
CFLAGS += -O0 -g -DDMALLOC -DDMALLOC_FUNC_CHECK -I../dmalloc-5.5.2/
LDFLAGS = -L../lib/ -L../dmalloc-5.5.2/ -lpthread -ldmallocth
else
CFLAGS += -Os
LDFLAGS = -L../lib/ -lpthread
endif

HEADERS = fontrender.h myfont.h font_doublehigh.h lcd.h stringutils.h is_utils.h infoscreens.h httputils.h rpccommand.h
OBJS = main.o fontrender.o lcd.o stringutils.o is_utils.o infoscreens.o httputils.o rpccommand.o \
	../monitord/onewire.o ../monitord/ds18s20.o

all: lcdui

clean:
	rm -f ${OBJS}

lcdui: ${OBJS}
	${CC} ${CFLAGS} -o $@ ${OBJS} ${LDFLAGS}

%.o: %.c ${HEADERS}
	${CC} ${CFLAGS} -c -o $@ $<

deploy: lcdui
	scp lcdui root@articuno:~

%-stripped: %
	${STRIP} -o ${@} ${<}

final: lcdui-stripped
	scp ${<} root@articuno:/usr/bin/${<}

debug: lcdui
	scp lcdui gdbserver gdbscript.sh root@192.168.0.2:~
	ssh -f root@192.168.0.2 '~/gdbscript.sh'
	sleep 1
	${CROSS_COMPILE}gdb -s lcdui -x gdbscript
	ssh root@192.168.0.2 'touch ~/.stop_debug; killall -9 gdbserver'
