#/*
# *	File	: Makefile
# */

TOOLS=/tools/gnu/bin

ENDIAN=EL
OBJ=obj
PBODIR=pbobjs
PROCESSOR = POSEIDON

INCLUDE1=$(ENVPATH)/include
INCLUDE2=$(ENVPATH)/compiler/gnu/include

TOBJ1 = $(OBJ)/start.o $(OBJ)/init.o $(OBJ)/ints.o $(OBJ)/intc.o $(OBJ)/cp0.o $(OBJ)/scfunc.o $(OBJ)/tlbc.o	$(OBJ)/tlbs.o
TOBJ2 = $(OBJ)/tmrapi.o $(OBJ)/lcddrv.o $(OBJ)/lcdapi.o $(OBJ)/strapi.o $(OBJ)/font.o $(OBJ)/kernel.o $(OBJ)/picture.o
TOBJ3 = $(OBJ)/smisr.o $(OBJ)/telecom.o $(OBJ)/smcmd.o $(OBJ)/smtest.o datapump.a
TOBJ = $(TOBJ1) $(TOBJ2) $(OBJ)/welcome.o $(OBJ)/chkmem.o $(OBJ)/hookmgr.o $(OBJ)/smisr.o
BOBJ = $(OBJ)/eventmgr.o $(OBJ)/msg.o $(OBJ)/errmgr.o
KOBJ = $(OBJ)/qmalloc.o $(OBJ)/pmalloc.o $(OBJ)/resmgr.o $(OBJ)/mmu.o $(OBJ)/alarmgr.o $(OBJ)/datamgr.o $(OBJ)/memchk.o $(OBJ)/app_icon.o
AOBJ = $(PBODIR)/dev_bety.o $(PBODIR)/dev_pen.o $(PBODIR)/dev_sib.o $(PBODIR)/penmgr.o $(OBJ)/std.o $(OBJ)/uart.o $(OBJ)/uartmgr.o $(PBODIR)/dev_pwr.o $(PBODIR)/dev_tel.o
AOBJ0= $(OBJ)/HwInit.o
DHOBJ1 = $(OBJ)/bitmap.o $(OBJ)/clipboar.o $(OBJ)/control.o $(OBJ)/field.o $(OBJ)/form.o $(OBJ)/handle.o $(OBJ)/inlay.o
DHOBJ2 = $(OBJ)/keyapi.o $(OBJ)/keyboard.o $(OBJ)/line.o $(OBJ)/list.o $(OBJ)/menu.o $(OBJ)/schline.o
DHOBJ3 = $(OBJ)/scroll.o $(OBJ)/string.o $(OBJ)/system.o $(OBJ)/table.o $(OBJ)/textbox.o $(OBJ)/uiglobal.o
DHOBJ = $(DHOBJ1) $(DHOBJ2) $(DHOBJ3)
HOBJ = $(OBJ)/dbinit.o $(OBJ)/gf.o $(OBJ)/battery.o $(OBJ)/siopopup.o $(OBJ)/old_sc.o
JOBJ = $(OBJ)/sysetup.o $(PBODIR)/dev_snd.o $(PBODIR)/sndmgr.o $(OBJ)/sndres.o $(OBJ)/sysres.o
GOBJ = $(OBJ)/iocon.o $(OBJ)/el.o $(OBJ)/ioconmsg.o $(OBJ)/sio_rxtx.o $(OBJ)/sioloop1.o $(OBJ)/autopwr.o
KAMOBJ = $(OBJ)/date.o $(OBJ)/minilzo.o $(OBJ)/unzip.o
JOT = $(OBJ)/jot.o $(OBJ)/jotmacdb.o $(OBJ)/jottrdb.o libhmm.a libdisam.a
DEBUG = print_el.a
LIB	= math.a atod.a libc.a libgcc.a
OBJS = $(KAMOBJ) $(TOBJ) ${AOBJ0} $(BOBJ) $(KOBJ) $(AOBJ) $(DHOBJ) $(HOBJ) $(JOBJ) $(GOBJ) $(JOT) $(DEBUG) $(OBJ)/main.o $(LIB)

#AS= ${TOOLS}/gcc -Wa,-a>$@~ -O2 -G0 -c -I$(INCLUDE1) -I$(INCLUDE2) -$(ENDIAN)
#CC= ${TOOLS}/gcc -g -Wa,-a>$@~ -O2 -G0 -c -I./include.jot -I$(INCLUDE1) -I$(INCLUDE2) -s -$(ENDIAN) -msoft-float -mno-abicalls -mips2 -D$(ENDIAN)
#LD= ${TOOLS}/ld -n  -warn-common -Map link.map -$(ENDIAN)


AS= gcc -O2 -G0 -c -I$(INCLUDE1) -I$(INCLUDE2) -$(ENDIAN)
CC= gcc -g -Wa,-a>$@~ -O2 -G0 -c -I./include.jot -I$(INCLUDE1) -I$(INCLUDE2) -s -$(ENDIAN) -msoft-float -mno-abicalls -mips2 -D$(ENDIAN)
CC2= gcc -g -O1 -G0 -c -I./include.jot -I$(INCLUDE1) -I$(INCLUDE2) -s -$(ENDIAN) -msoft-float -mno-abicalls -mips2 -D$(ENDIAN)
LD= ld -n  -warn-common -Map link.map -$(ENDIAN)

all:	$(OBJS) main.obj

$(OBJ)/%.o:	%.S
	$(AS) $< -o $@
$(OBJ)/%.o:	%.c
	$(CC) $< -o $@
$(OBJ)/minilzo.o:	minilzo.c include\minilzo.h
	$(CC2) $< -o $@

main.obj: $(OBJS)
	$(LD)  -nostdlib -G 0 -T link.CMD -o $@ $(OBJS)
	size -x $@
