EXEC		= bmc_app

CFLAGS		:= -Os -mcpu=cortex-m3 -mthumb
LDFLAGS		:= -mcpu=cortex-m3 -mthumb -L$(INSTALL_ROOT)/A2F/root/usr/lib



CC	= $(CROSS_COMPILE_APPS)gcc

#source

SRC	= ./main.c
SRC += ./message.c
SRC	+= ./Session.c
SRC	+= ./Api.c
SRC	+= ./sensor_driver.c
SRC	+= ./sensor_sdr.c
SRC	+= ./OemFRU.c

SRC	+= ./SysTimer/TimerTask.c

SRC	+= ./uds/UDSIfc.c
SRC += ./lan/LANIfc.c
SRC += ./lan/RMCP.c
SRC += ./lan/RMCP+.c

SRC += ./ipmb/IPMBIfc.c

SRC += ./encryption/MD2.c
SRC += ./encryption/md2_dgst.c
SRC += ./encryption/MD5.c
SRC += ./encryption/MD5_128.c
SRC += ./encryption/md5c.c
SRC += ./encryption/AuthCode.c

SRC += ./ChassisTimer/ChassisTimerTask.c

SRC += ./msghndlr/MsgHndlrTask.c
SRC += ./msghndlr/cmdselect.c
SRC += ./msghndlr/PDKCmds.c
SRC += ./msghndlr/App/App.c
SRC += ./msghndlr/App/AppDevice/AppDevice.c
SRC += ./msghndlr/App/AppDevice/WDT.c
#SRC += ./msghndlr/App/IPMDevice/Firewall.c
SRC += ./msghndlr/App/IPMDevice/IPMDevice.c

SRC += ./msghndlr/Bridge/Bridge.c
SRC += ./msghndlr/Chassis/Chassis.c
SRC += ./msghndlr/Chassis/ChassisDevice.c
SRC += ./msghndlr/OemSMMCmds/OemSMMCmds.c
SRC += ./msghndlr/PICMG/PICMGDevice.c

SRC += ./msghndlr/SensorEvent/SensorEvent.c
SRC += ./msghndlr/SensorEvent/SensorDevice/Sensor.c
SRC += ./msghndlr/SensorEvent/SensorDevice/SensorMonitor.c

SRC += ./msghndlr/Storage/Storage.c
SRC += ./msghndlr/Storage/FRUDevice/FRU.c
SRC += ./msghndlr/Storage/SDRDevice/SDR.c
SRC += ./msghndlr/Storage/SELDevice/SEL.c

SRC += ./msghndlr/Storlead/Storlead.c

SRC += ./AuthChip/CM_BURNFUZE.c
SRC += ./AuthChip/CM_DATA.c
SRC += ./AuthChip/CM_GPA.c
SRC += ./AuthChip/CM_I2C.c
SRC += ./AuthChip/CM_NOPOWER.c
SRC += ./AuthChip/CM_PASSWORD.c
SRC += ./AuthChip/CM_RDCFG.c
SRC += ./AuthChip/CM_RDCKSUM.c
SRC += ./AuthChip/CM_RDFUZE.c
SRC += ./AuthChip/CM_RDUSER.c
SRC += ./AuthChip/CM_READ.c
SRC += ./AuthChip/CM_RESETPSW.c
SRC += ./AuthChip/CM_RESETSEC.c
SRC += ./AuthChip/CM_RND.c
SRC += ./AuthChip/CM_SECURE.c
SRC += ./AuthChip/CM_SELECT.c
SRC += ./AuthChip/CM_SETUSER.c
SRC += ./AuthChip/CM_SRDUSER.c
SRC += ./AuthChip/CM_SWRUSER.c
SRC += ./AuthChip/CM_TEST.c
SRC += ./AuthChip/CM_TRUE.c
SRC += ./AuthChip/CM_WRCFG.c
SRC += ./AuthChip/CM_WRCKSUM.c
SRC += ./AuthChip/CM_WRITE.c
SRC += ./AuthChip/CM_WRUSER.c

# SRC += ../driver/STM32F4xx_HAL_Driver/system_stm32f4xx.c
# SRC += ../driver/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal.c
# SRC += ../driver/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_fmc.c
# SRC += ../driver/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_gpio.c
# SRC += ../driver/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_sram.c
# SRC += ../driver/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c
# SRC += ../driver/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rcc.c

# hal_api
SRC += $(wildcard ../hal_api/*.c) 

#incldue
CFLAGS	+= -I$(INSTALL_ROOT)/A2F/root/usr/include
CFLAGS	+= -I ../common_include
CFLAGS	+= -I ../hal_api
CFLAGS	+= -I ../driver
CFLAGS	+= -I ../driver/STM32F4xx_HAL_Driver
CFLAGS	+= -I ../driver/STM32F4xx_HAL_Driver/Inc
CFLAGS	+= -I ../driver/STM32F4xx_HAL_Driver/Inc/Legacy

CFLAGS	+= -I ./
CFLAGS	+= -I ./uds
CFLAGS	+= -I ./lan
CFLAGS	+= -I ./fru
CFLAGS	+= -I ./sdr
CFLAGS	+= -I ./sel
CFLAGS	+= -I ./ipmb

CFLAGS	+= -I ./SysTimer

CFLAGS	+= -I ./ChassisTimer
CFLAGS	+= -I ./encryption
CFLAGS	+= -I ./ipmb
CFLAGS	+= -I ./lan

CFLAGS	+= -I ./msghndlr
CFLAGS	+= -I ./msghndlr/App
CFLAGS	+= -I ./msghndlr/App/AppDevice
CFLAGS	+= -I ./msghndlr/App/IPMDevice
CFLAGS	+= -I ./msghndlr/Bridge
CFLAGS	+= -I ./msghndlr/Chassis
CFLAGS	+= -I ./msghndlr/OemSMMCmds
CFLAGS	+= -I ./msghndlr/PICMG
CFLAGS	+= -I ./msghndlr/SensorEvent
CFLAGS	+= -I ./msghndlr/SensorEvent/SensorDevice
CFLAGS	+= -I ./msghndlr/Storage
CFLAGS	+= -I ./msghndlr/Storage/FRUDevice
CFLAGS	+= -I ./msghndlr/Storage/SDRDevice
CFLAGS	+= -I ./msghndlr/Storage/SELDevice
CFLAGS	+= -I ./msghndlr/Transport
CFLAGS	+= -I ./msghndlr/Storlead

CFLAGS 	+= -I ./AuthChip


CFLAGS	+= -I ./encryption

#CFLAGS	+= -I$(INSTALL_ROOT)/A2F/uclibc/include
#library

#sub-directory
#SUBDIR 	= ./sensor





$(EXEC): $(SRC)
	$(CC) $(LDFLAGS) $(CFLAGS) -o $@ $^ $(LIBS) -lpthread -lm -lc



#object
OBJS	:= $(SRC:%.c=%.o)

clean:
	rm -f $(EXEC) $(OBJS)
	rm -f *.gdb


