# Makefile for libDynamoMiddleware

include ../config.mk

CROSS_COMPILE   = arm-linux-

AR_ARM		= $(CROSS_COMPILE)ar
AS_ARM      = $(CROSS_COMPILE)as
LD_ARM      = $(CROSS_COMPILE)ld
CC_ARM      = $(CROSS_COMPILE)gcc

AR		= ar
AS      = as
LD      = ld
CC      = gcc


LINUXKERNELINCLUDEDIR	= $(LINUXKERNELSRC)/include
IFLAGS	= -I. -I$(LINUXKERNELINCLUDEDIR)

CFLAGS  = -Os
CFLAGS += -march=armv4
CFLAGS += $(IFLAGS)

LIBNAME_ARM = libDynamoMiddlewareARM.a
#LIBFLAGS = -L. -lDynamoStatus
LIBFILES_ARM = procread.o backlight.o battery.o cpu.o memory.o network.o   
LIBFILES_ARM += dyn_sharedMemoryarm.o
LIBFILES_ARM += dyn_semaphorearm.o
LIBFILES_ARM += commlibarm.o

CFLAGS_ARM  = -Os
CFLAGS_ARM += -march=armv4
CFLAGS_ARM += $(IFLAGS)

GCC_ARM = $(CC_ARM) $(CFLAGS_ARM)

LIBNAME = libDynamoMiddleware.a
LIBFILES = dyn_sharedMemory.o
LIBFILES += dyn_semaphore.o
LIBFILES += commlib.o

CFLAGS  = -Os
CFLAGS += $(IFLAGS)

GCC = $(CC) $(CFLAGS)


DYNAMO_OBJS = dynamo_bl.o
DRIVER_OBJS = driver.o

all:${LIBNAME} ${LIBNAME_ARM} move 

#cleanup
move: ${LIBNAME}
	(cp *.a ../;)

clean:
	(rm -f *.o *.a;)
	(cd ..; rm -f ${LIBNAME}; rm -f ${LIBNAME_ARM};)

#Informatin to make the library
${LIBNAME_ARM}:${LIBFILES_ARM}
	${AR_ARM} rcs ${LIBNAME_ARM} ${LIBFILES_ARM}

${LIBNAME}:${LIBFILES}
	${AR} rcs ${LIBNAME} ${LIBFILES}
	
backlight.o:backlight.c backlight.h procread.o
	${GCC_ARM} ${GCCARMOPTS} backlight.c -c
	
battery.o:battery.c battery.h  procread.o
	${GCC_ARM} ${GCCARMOPTS} battery.c -c
	
cpu.o:cpu.c cpu.h procread.o
	${GCC_ARM} ${GCCARMOPTS} cpu.c -c
	
memory.o:memory.c memory.h procread.o
	${GCC_ARM} ${GCCARMOPTS} memory.c -c
	
network.o:network.c network.h procread.o
	${GCC_ARM} ${GCCARMOPTS} network.c -c

procread.o:procread.c procread.h
	${GCC_ARM} ${GCCARMOPTS} procread.c -c	

commlibarm.o:commlib.c commlib.h
	${GCC_ARM} ${GCCARMOPTS} -o commlibarm.o commlib.c -c

dyn_sharedMemoryarm.o:dyn_sharedMemory.c dyn_sharedMemory.h
	${GCC_ARM} ${GCCARMOPTS} -o dyn_sharedMemoryarm.o dyn_sharedMemory.c -c

dyn_semaphorearm.o:dyn_semaphore.c dyn_semaphore.h
	${GCC_ARM} ${GCCARMOPTS} -o dyn_semaphorearm.o dyn_semaphore.c -c
	
commlib.o:commlib.c commlib.h
	${GCC} ${GCCOPTS} -o commlib.o commlib.c -c

dyn_sharedMemory.o:dyn_sharedMemory.c dyn_sharedMemory.h
	${GCC} ${GCCOPTS} dyn_sharedMemory.c -c

dyn_semaphore.o:dyn_semaphore.c dyn_semaphore.h
	${GCC} ${GCCOPTS} dyn_semaphore.c -c
