#**************************************************************************
#* FILE NAME: $RCSfile: makefile,v $         COPYRIGHT (c) FREESCALE 2006 *
#* DESCRIPTION:                                     All Rights Reserved   *
#* This is the makefile for eTPU knock window API.                       *
#*========================================================================*
#* MAKE: GNU make        VERSION: 3.80                                    *
#* ORIGINAL AUTHOR: Jeff Loeliger [r12110]                                *
#* $Log: makefile,v $
#* Revision 1.3  2009/02/05 10:16:19  r47354
#* *** empty log message ***
#*
#* Revision 1.2  2008/06/25 08:03:14  r43562
#* Fixed revision number.
#*
#* Revision 1.1  2008/06/25 08:00:44  r43562
#* Initial version.
#*........................................................................*
#* 1.0   J. Loeliger  15/Sep/03    Initial version of file.               *
#*************************************************************************/
VPATH = ../etpu_set2 ../utils ../mpc5500 ../etpu_set2/cpu ../tooth_gen

CC = dcc
AS = das
LD = dld
DEL = rm

CFLAGS = -tPPC5554EF -c -g -Xnested-interrupts -Xdebug-dwarf2 -I../etpu_set2 -I../mpc5500 -I../utils -I../etpu_set2/cpu -I.. -I../tooth_gen
LDFLAGS = -m2 -tPPC5554EF MPC563M_intram.dld
ASFLAGS = -tPPC5554EF
LIBS = -li -lchar -lc -lg

INC = mpc563m.h typedefs.h etpu_util.h makefile
OBJS = ../utils/etpu_util.o etpu_knock_window.o ../mpc5500/fs_gpio.o crt0.o ../tooth_gen/etpu_toothgen.o ../eng_pos/etpu_app_eng_pos.o knock_window_etpu_gct_example.o

all: knock_window_example.elf

knock_window_example.elf : knock_window_example.o $(OBJS) $(INC) MPC563M_intram.dld etpu_util.o
	cd ../utils && $(MAKE)
	cd ../tooth_gen && $(MAKE)
	cd ../eng_pos && $(MAKE)
	cd ../mpc5500 && $(MAKE) gpio
	$(LD) $(LDFLAGS) knock_window_example.o $(OBJS) $(LIBS) -o ${@F} > knock_window_example.map
#	ddump -R knock_window_example.elf -o knock_window_example.s19

knock_window_example.o : knock_window_example.c etpu_set2.h $(INC)
	$(CC) $(CFLAGS) $<

etpu_knock_window.o : etpu_knock_window.c etpu_cam_auto.h etpu_crank_auto.h $(INC) etpu_util.o
	cd ../utils && $(MAKE)
	$(CC) $(CFLAGS) $<

knock_window_etpu_gct_example.o : knock_window_etpu_gct_example.c knock_window_etpu_gct_example.h $(INC)
	$(CC) $(CFLAGS) $<

crt0.o: crt0.s makefile
	$(AS) $(ASFLAGS) -o $@ $<

clean:
	$(DEL) *.db *.ou1 *.blk *.db2 *.map *.hex *lst *.err *.elf __*.* *.o

clean_all:
	$(DEL) *.db *.ou1 *.blk *.db2 *.map *.hex *lst *.err *.elf __*.* *.o
	cd ../tooth_gen && $(MAKE) clean
	cd ../eng_pos && $(MAKE) clean
	cd ../utils && $(MAKE) clean
	cd ../mpc5500 && $(MAKE) clean




