vpath % C:/ti/ipc_3_50_03_04/packages/
vpath %.c C:/ti/ccs900/xdctools_3_55_00_11_core/packages/

XOPTS = -I"C:/ti/ccs900/xdctools_3_55_00_11_core/packages/" -Dxdc_target_types__=C:/ti/bios_6_73_01_01/packages/ti/targets/arm/elf/std.h -Dxdc_target_name__=Arm9

CCOPTS = -me -mv5e --abi=eabi -q -ms --opt_for_speed=2  --program_level_compile -o3 -g --optimize_with_debug 

IPC_ROOT = C:/ti/ipc_3_50_03_04/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_04/packages -IC:/ti/bios_6_73_01_01/packages -IC:/ti/ndk_3_40_01_01/packages -IC:/ti/pdk_omapl138_1_0_7/packages -IC:/ti/edma3_lld_2_12_05_30C/packages -IC:/ti/xdais_7_24_00_04/packages -IC:/ti/xdais_7_24_00_04/examples -IC:/ti/customPlatforms

CC = C:/ti/ccs900/ccs/tools/compiler/ti-cgt-arm_18.12.2.LTS/bin/armcl -c $(CCOPTS) --output_file=$@ -I C:/ti/ccs900/ccs/tools/compiler/ti-cgt-arm_18.12.2.LTS/include
ASM = C:/ti/ccs900/ccs/tools/compiler/ti-cgt-arm_18.12.2.LTS/bin/armcl -c $(CCOPTS) -I C:/ti/ccs900/ccs/tools/compiler/ti-cgt-arm_18.12.2.LTS/include
AR = C:/ti/ccs900/ccs/tools/compiler/ti-cgt-arm_18.12.2.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 asme9 $< ...
	@$(ASM) $(BUILD_DEFS) $(XOPTS) $(INCS) $<
endef


all: ipc.ae9


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/heaps/HeapBufMP.c ti/sdo/ipc/heaps/HeapMemMP.c ti/sdo/ipc/gates/GatePeterson.c ti/sdo/ipc/gates/GateMPSupportNull.c ti/sdo/ipc/notifyDrivers/NotifyDriverShm.c ti/sdo/ipc/family/da830/NotifySetup.c ti/sdo/ipc/family/da830/InterruptArm.c ti/sdo/ipc/transports/TransportShm.c ti/sdo/ipc/transports/TransportShmSetup.c ti/sdo/ipc/nsremote/NameServerRemoteNotify.c makefile
	@-$(call RM, $@)
	@echo cle9 $< ...
	@$(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/heaps/HeapBufMP.c \
	$(IPC_ROOT)ti/sdo/ipc/heaps/HeapMemMP.c \
	$(IPC_ROOT)ti/sdo/ipc/gates/GatePeterson.c \
	$(IPC_ROOT)ti/sdo/ipc/gates/GateMPSupportNull.c \
	$(IPC_ROOT)ti/sdo/ipc/notifyDrivers/NotifyDriverShm.c \
	$(IPC_ROOT)ti/sdo/ipc/family/da830/NotifySetup.c \
	$(IPC_ROOT)ti/sdo/ipc/family/da830/InterruptArm.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.ae9: Ipc.obj 
	@-$(call RM, $@)
	@echo are9 $^ ...
	@$(AR) $@ $^


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