vpath % C:/ti/mcsdk/ipc_3_36_02_13/packages/ti/sdo/
vpath %.c C:/ti/mcsdk/xdctools_3_31_02_38_core/packages/

XOPTS = -I"C:/ti/mcsdk/xdctools_3_31_02_38_core/packages/" -Dxdc_target_types__=C:/ti/mcsdk/bios_6_41_04_54/packages/ti/targets/elf/std.h -Dxdc_target_name__=C66

CCOPTS = -mv6600 --abi=eabi -q -mi10 -mo -pdr -pden -pds=238 -pds=880 -pds1110  --program_level_compile -g 

IPC_ROOT = C:/ti/mcsdk/ipc_3_36_02_13/packages/ti/sdo/

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/mcsdk/ipc_3_36_02_13/packages -IC:/ti/mcsdk/bios_6_41_04_54/packages -IC:/ti/mcsdk/ipc_3_36_02_13/examples/TCI6638_linux_elf/ex44_compute

CC = C:/ti/am57xx-5.3/ti-cgt-c6000_8.3.2/bin/cl6x -c $(CCOPTS) --output_file=$@ -I C:/ti/am57xx-5.3/ti-cgt-c6000_8.3.2/include
ASM = C:/ti/am57xx-5.3/ti-cgt-c6000_8.3.2/bin/cl6x -c $(CCOPTS) -I C:/ti/am57xx-5.3/ti-cgt-c6000_8.3.2/include
AR = C:/ti/am57xx-5.3/ti-cgt-c6000_8.3.2/bin/ar6x 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 asme66 $< ...
	@$(ASM) $(BUILD_DEFS) $(XOPTS) $(INCS) $<
endef


all: ipc.ae66


Ipc.obj: utils/NameServer.c utils/NameServerRemoteNull.c utils/MultiProc.c utils/List.c ipc/GateMP.c ipc/MessageQ.c ipc/SharedRegion.c ipc/ListMP.c ipc/Ipc.c ipc/Notify.c ipc/heaps/HeapBufMP.c ipc/heaps/HeapMemMP.c ipc/notifyDrivers/NotifyDriverCirc.c ipc/family/tci663x/MultiProcSetup.c ipc/transports/TransportShmNotify.c ipc/transports/TransportShmNotifySetup.c ipc/transports/TransportNetworkDummy.c ipc/gates/GateHWSem.c ipc/gates/GatePeterson.c ipc/gates/GateMPSupportNull.c ipc/nsremote/NameServerRemoteNotify.c makefile
	@-$(call RM, $@)
	@echo cle66 $< ...
	@$(CC) $(BUILD_DEFS) $(XOPTS) $(INCS) \
	$(IPC_ROOT)utils/NameServer.c \
	$(IPC_ROOT)utils/NameServerRemoteNull.c \
	$(IPC_ROOT)utils/MultiProc.c \
	$(IPC_ROOT)utils/List.c \
	$(IPC_ROOT)ipc/GateMP.c \
	$(IPC_ROOT)ipc/MessageQ.c \
	$(IPC_ROOT)ipc/SharedRegion.c \
	$(IPC_ROOT)ipc/ListMP.c \
	$(IPC_ROOT)ipc/Ipc.c \
	$(IPC_ROOT)ipc/Notify.c \
	$(IPC_ROOT)ipc/heaps/HeapBufMP.c \
	$(IPC_ROOT)ipc/heaps/HeapMemMP.c \
	$(IPC_ROOT)ipc/notifyDrivers/NotifyDriverCirc.c \
	$(IPC_ROOT)ipc/family/tci663x/MultiProcSetup.c \
	$(IPC_ROOT)ipc/transports/TransportShmNotify.c \
	$(IPC_ROOT)ipc/transports/TransportShmNotifySetup.c \
	$(IPC_ROOT)ipc/transports/TransportNetworkDummy.c \
	$(IPC_ROOT)ipc/gates/GateHWSem.c \
	$(IPC_ROOT)ipc/gates/GatePeterson.c \
	$(IPC_ROOT)ipc/gates/GateMPSupportNull.c \
	$(IPC_ROOT)ipc/nsremote/NameServerRemoteNotify.c

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


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