# Makefile for myrobot_drive
# Satofumi KAMIMURA
# $Id: Makefile 1676 2010-02-06 22:47:59Z satofumi $

UTILS_DIR = ../../embedded_utils
ARCH = sh-elf
include $(UTILS_DIR)/build_rules.mk

# Compile options
SOURCE_DIR = ../../sh7125
MAIN_DIR = ../beego_drive
CFLAGS_FOR_BUILD = -m2 -mb -O2 -x c -Wall -Werror -W $(INCLUDES_FOR_BUILD)
INCLUDES_FOR_BUILD = -I. -I.. -I$(UTILS_DIR) -I$(SOURCE_DIR) -I$(MAIN_DIR)
LDFLAGS_FOR_BUILD = -nostartfiles $(START_UP_FOR_BUILD)
LDLIBS_FOR_BUILD =

START_UP_FOR_BUILD = $(SOURCE_DIR)/crt0.S
LD_ROM_FOR_BUILD = $(SOURCE_DIR)/aki_sh7125_rom.x
LD_LOAD_FOR_BUILD = $(SOURCE_DIR)/aki_sh7125_load.x

# Target
TARGET = \
	myrobot_drive.mot \
	myrobot_drive.rom \

all : $(TARGET)

clean :
	$(RM) *.o $(TARGET)
	cd samples/ && $(MAKE) clean

depend :
	makedepend -Y -- $(INCLUDES_FOR_BUILD) -- $(wildcard *.h *.c)

.PHONY : all clean depend
######################################################################
SH7125_LIB = $(SOURCE_DIR)/sh7125.a

myrobot_drive.mot myrobot_drive.rom : system_handler.o myrobot_drive.o robot_control.o mtu_control.o encoder_control.o pwm_control.o motor_control.o wheel_control.o body_control.o isincos.o isqrt.o iatan2.o position_calculate.o follow_control.o path_manage.o packet_handler.o direct_handler.o serial_connection.o $(SH7125_LIB)

system_handler.o : $(MAIN_DIR)/system_handler.c
	$(CC_FOR_BUILD) $(CFLAGS_FOR_BUILD) -c $<

wheel_control.o : $(MAIN_DIR)/wheel_control.c
	$(CC_FOR_BUILD) $(CFLAGS_FOR_BUILD) -c $<

body_control.o : $(MAIN_DIR)/body_control.c
	$(CC_FOR_BUILD) $(CFLAGS_FOR_BUILD) -c $<

robot_control.o : $(MAIN_DIR)/robot_control.c
	$(CC_FOR_BUILD) $(CFLAGS_FOR_BUILD) -c $<

follow_control.o : $(MAIN_DIR)/follow_control.c
	$(CC_FOR_BUILD) $(CFLAGS_FOR_BUILD) -c $<

isincos.o : $(MAIN_DIR)/isincos.c
	$(CC_FOR_BUILD) $(CFLAGS_FOR_BUILD) -c $<

isqrt.o : $(MAIN_DIR)/isqrt.c
	$(CC_FOR_BUILD) $(CFLAGS_FOR_BUILD) -c $<

iatan2.o : $(MAIN_DIR)/iatan2.c
	$(CC_FOR_BUILD) $(CFLAGS_FOR_BUILD) -c $<

position_calculate.o : $(MAIN_DIR)/position_calculate.c
	$(CC_FOR_BUILD) $(CFLAGS_FOR_BUILD) -c $<

path_manage.o : $(MAIN_DIR)/path_manage.c
	$(CC_FOR_BUILD) $(CFLAGS_FOR_BUILD) -c $<

packet_handler.o : $(MAIN_DIR)/packet_handler.c
	$(CC_FOR_BUILD) $(CFLAGS_FOR_BUILD) -c $<

direct_handler.o : $(MAIN_DIR)/direct_handler.c
	$(CC_FOR_BUILD) $(CFLAGS_FOR_BUILD) -c $<

serial_connection.o : $(MAIN_DIR)/serial_connection.c
	$(CC_FOR_BUILD) $(CFLAGS_FOR_BUILD) -c $<

# DO NOT DELETE

robot_control.o: ../beego_drive/robot_t.h ../beego_drive/system_t.h
robot_control.o: ../beego_drive/motor_t.h ../beego_drive/position_t.h
robot_control.o: ../beego_drive/body_t.h ../beego_drive/math_utils.h
robot_control.o: ../beego_drive/wheel_t.h ../beego_drive/encoder_t.h
robot_control.o: ../beego_drive/path_t.h ../beego_drive/direct_t.h
robot_control.o: ../beego_drive/follow_t.h
encoder_control.o: ../beego_drive/encoder_control.h
encoder_control.o: ../beego_drive/encoder_t.h
motor_control.o: ../beego_drive/motor_control.h ../beego_drive/motor_t.h
motor_control.o: ../beego_drive/pwm_control.h ../beego_drive/pwm_t.h
mtu_control.o: ../beego_drive/mtu_control.h
myrobot_drive.o: robot_control.h ../beego_drive/robot_t.h
myrobot_drive.o: ../beego_drive/system_t.h ../beego_drive/motor_t.h
myrobot_drive.o: ../beego_drive/position_t.h ../beego_drive/body_t.h
myrobot_drive.o: ../beego_drive/math_utils.h ../beego_drive/wheel_t.h
myrobot_drive.o: ../beego_drive/encoder_t.h ../beego_drive/path_t.h
myrobot_drive.o: ../beego_drive/direct_t.h ../beego_drive/follow_t.h
myrobot_drive.o: ../beego_drive/packet_handler.h ../../sh7125/cmt_control.h
myrobot_drive.o: ../../sh7125/imask_control.h interrupt_priority.h
pwm_control.o: ../beego_drive/pwm_control.h ../beego_drive/pwm_t.h
