vpath % C:/ti/ipc_3_35_01_07/packages/ti/sdo/
vpath %.c C:/ti/xdctools_3_31_00_24_core/packages/

XOPTS = -I"C:/ti/xdctools_3_31_00_24_core/packages/" -Dxdc_target_types__=C:/ti/bios_6_41_01_36/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/ipc_3_35_01_07/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/ipc_3_35_01_07/packages -IC:/ti/ctoolslib_1_1_1_0/packages/ti -IC:/ti/dsplib_c66x_3_4_0_0/packages -IC:/ti/pdk_keystone2_3_01_03_06/packages -IC:/ti/mcsdk_bios_3_01_03_06/demos -IC:/ti/uia_2_00_02_39/packages -IC:/ti/bios_6_41_01_36/packages -IC:/ti/ccsv6/ccs_base

CC = C:/ti/ccsv6/tools/compiler/c6000_7.4.12/bin/cl6x -c $(CCOPTS) --output_file=$@ -I C:/ti/ccsv6/tools/compiler/c6000_7.4.12/include
ASM = C:/ti/ccsv6/tools/compiler/c6000_7.4.12/bin/cl6x -c $(CCOPTS) -I C:/ti/ccsv6/tools/compiler/c6000_7.4.12/include
AR = C:/ti/ccsv6/tools/compiler/c6000_7.4.12/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)
