vpath % C:/ti/ipc_3_50_03_05/packages/
vpath %.c C:/ti/ccs910/xdctools_3_55_02_22_core/packages/

XOPTS = -I"C:/ti/ccs910/xdctools_3_55_02_22_core/packages/" -Dxdc_target_types__=C:/ti/bios_6_75_02_00/packages/ti/targets/arm/elf/std.h -Dxdc_target_name__=R5F

CCOPTS = --float_support=vfpv3d16 --endian=little -mv7R5 --abi=eabi -q -ms  --program_level_compile -g 

IPC_ROOT = C:/ti/ipc_3_50_03_05/packages/

BUILD_DEFS =  -Dti_sdo_ipc_MessageQ_traceFlag__D=FALSE -Dti_sdo_ipc_family_ti81xx_InterruptDucati_videoProcId__D=65535 -Dti_sdo_ipc_family_ti81xx_InterruptDucati_hostProcId__D=65535 -Dti_sdo_ipc_family_ti81xx_InterruptDucati_vpssProcId__D=65535 -Dti_sdo_ipc_family_ti81xx_InterruptDucati_dspProcId__D=65535 -Dti_sdo_ipc_family_ti81xx_InterruptDucati_ducatiCtrlBaseAddr__D=1073745920 -Dti_sdo_ipc_family_ti81xx_InterruptDucati_mailboxBaseAddr__D=1208778752

INCS = -IC:/ti/ipc_3_50_03_05/packages -IC:/ti/bios_6_75_02_00/packages -IC:/ti/bios_6_75_02_00/packages/ti/posix/ccs -IC:/ti/pdk_am65xx_1_0_5/packages -IC:/ti/uia_2_30_01_02/packages

CC = C:/ti/ti-cgt-arm_18.12.1.LTS/bin/armcl -c $(CCOPTS) --output_file=$@ -I C:/ti/ti-cgt-arm_18.12.1.LTS/include
ASM = C:/ti/ti-cgt-arm_18.12.1.LTS/bin/armcl -c $(CCOPTS) -I C:/ti/ti-cgt-arm_18.12.1.LTS/include
AR = C:/ti/ti-cgt-arm_18.12.1.LTS/bin/armar rq

DEL = cmd.exe /q /c del /f
CP = cmd.exe /q /c copy /Y
MKDIR = mkdir

define RM
	$(if $(wildcard $1),$(DEL) $1,:)
endef

define ASSEMBLE
	@echo asmer5f $< ...
	@$(ASM) $(BUILD_DEFS) $(XOPTS) $(INCS) $<
endef


all: ipc.aer5f


Ipc.obj: ti/sdo/utils/NameServer.c ti/sdo/utils/NameServerRemoteNull.c ti/sdo/utils/MultiProc.c ti/sdo/utils/List.c ti/sdo/ipc/GateMP.c ti/sdo/ipc/MessageQ.c ti/sdo/ipc/SharedRegion.c ti/sdo/ipc/ListMP.c ti/sdo/ipc/Ipc.c ti/sdo/ipc/Notify.c ti/sdo/ipc/gates/GateHWSpinlock.c ti/sdo/ipc/gates/GateMPSupportNull.c ti/sdo/ipc/heaps/HeapMemMP.c ti/sdo/ipc/notifyDrivers/NotifyDriverShm.c ti/sdo/ipc/family/am65xx/NotifySciClient.c ti/sdo/ipc/family/am65xx/NotifySetup.c ti/sdo/ipc/family/am65xx/InterruptR5f.c ti/sdo/ipc/transports/TransportShm.c ti/sdo/ipc/transports/TransportShmSetup.c ti/sdo/ipc/nsremote/NameServerRemoteNotify.c makefile
	@-$(call RM, $@)
	@echo cler5f $< ...
	@$(CC) $(BUILD_DEFS) $(XOPTS) $(INCS) \
	$(IPC_ROOT)ti/sdo/utils/NameServer.c \
	$(IPC_ROOT)ti/sdo/utils/NameServerRemoteNull.c \
	$(IPC_ROOT)ti/sdo/utils/MultiProc.c \
	$(IPC_ROOT)ti/sdo/utils/List.c \
	$(IPC_ROOT)ti/sdo/ipc/GateMP.c \
	$(IPC_ROOT)ti/sdo/ipc/MessageQ.c \
	$(IPC_ROOT)ti/sdo/ipc/SharedRegion.c \
	$(IPC_ROOT)ti/sdo/ipc/ListMP.c \
	$(IPC_ROOT)ti/sdo/ipc/Ipc.c \
	$(IPC_ROOT)ti/sdo/ipc/Notify.c \
	$(IPC_ROOT)ti/sdo/ipc/gates/GateHWSpinlock.c \
	$(IPC_ROOT)ti/sdo/ipc/gates/GateMPSupportNull.c \
	$(IPC_ROOT)ti/sdo/ipc/heaps/HeapMemMP.c \
	$(IPC_ROOT)ti/sdo/ipc/notifyDrivers/NotifyDriverShm.c \
	$(IPC_ROOT)ti/sdo/ipc/family/am65xx/NotifySciClient.c \
	$(IPC_ROOT)ti/sdo/ipc/family/am65xx/NotifySetup.c \
	$(IPC_ROOT)ti/sdo/ipc/family/am65xx/InterruptR5f.c \
	$(IPC_ROOT)ti/sdo/ipc/transports/TransportShm.c \
	$(IPC_ROOT)ti/sdo/ipc/transports/TransportShmSetup.c \
	$(IPC_ROOT)ti/sdo/ipc/nsremote/NameServerRemoteNotify.c

ipc.aer5f: Ipc.obj 
	@-$(call RM, $@)
	@echo arer5f $^ ...
	@$(AR) $@ $^


clean:
	@-$(call RM, ipc.aer5f)
	@-$(call RM, Ipc.obj)
