CROSS_COMPILE=/home/petteri/kamikaze/staging_dir/toolchain-mipsel_gcc3.4.6/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 -std=c99 -D_BSD_SOURCE -D_POSIX_C_SOURCE

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
CFLAGS += -O0 -g
LDFLAGS = -L../lib/ -lpthread
else
CFLAGS += -Os
LDFLAGS = -L../lib/ -lpthread
endif

HEADERS = *.h
LCDUI_OBJS = lcdui_main.o fontrender.o lcd.o stringutils.o is_utils.o \
             infoscreens.o httputils.o rpccommand.o weather.o

MONITORD_OBJS = monitord_main.o temperature.o server.o cron.o onewire.o \
                ds18s20.o ds2438.o

ONEWIRETOOL_OBJS = onewiretool_main.o onewire.o ds18s20.o ds2438.o

all: lcdui monitord onewiretool

clean:
	rm -f ${LCDUI_OBJS} ${MONITORD_OBJS} ${ONEWIRETOOL_OBJS}
	rm -f lcdui monitord onewiretool lcdui-debug
	rm -f monitord-debug onewiretool-debug

lcdui-debug: ${LCDUI_OBJS}
	${CC} ${CFLAGS} -o $@ ${LCDUI_OBJS} ${LDFLAGS}

monitord-debug: ${MONITORD_OBJS}
	${CC} ${CFLAGS} -o $@ ${MONITORD_OBJS} ${LDFLAGS}

onewiretool-debug: ${ONEWIRETOOL_OBJS}
	${CC} ${CFLAGS} -o $@ ${ONEWIRETOOL_OBJS} ${LDFLAGS}

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

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