1 # Copyright (C) 2011 Texas Instruments Incorporated - http://www.ti.com/
3 CC = cl6x
4 CLIB_INC = $(C_DIR)/include
5 STRIP = strip6x
6 PRELINK = prelink6x
8 HOST_PRFX = C60
9 HOST_EXT = 6x
11 AS = cl6x
12 ifeq ($(DEVICE),C6670)
13 DEVICE_NUM = 6670
14 C_OPTS = -DDEVICE=6670 ## Turbo Nyquist
15 C_OPTS += -mv6600
16 A_OPTS += -mv6600
17 else
18 ifeq ($(DEVICE),C6678)
19 DEVICE_NUM = 6678
20 C_OPTS = -DDEVICE=6678 ## Shannon
21 C_OPTS += -mv6600
22 A_OPTS += -mv6600
23 else
24 DEFAULT:
25 @echo "Device '$(DEVICE)' not supported"
26 @exit 1
27 endif
28 endif
30 TARGET_NAME = bin/norwriter_evm$(DEVICE_NUM)l.out
32 C_OPTS += -g ## Enable debugging
33 C_OPTS += -ss ## interlist C source and optimizer with .asm source
34 C_OPTS += -ml3 ## Far memory model
35 C_OPTS += -k ## Keep .asm files
36 ifeq ($(ENDIAN),big)
37 C_OPTS+= -me ## Big Endian
38 endif
39 C_OPTS += -pds67
40 C_OPTS += --abi=elfabi
41 ifeq ($(ENDIAN),big)
42 A_OPTS += -me
43 endif
44 A_OPTS += --abi=elfabi
45 OUTPUT_FILE_OPTION = --output_file
46 LNK_OPTS += -z norwriter.cmd -m bin/norwriter_evm$(DEVICE_NUM)l.map --dynamic
47 LNK_OPTS += -l $(C_DIR)/lib/rts6600_elf.lib
48 LNK_OPTS += -l $(PFORM_LIB_DIR)/evmc$(DEVICE_NUM)l/platform_lib/lib/debug/ti.platform.evm$(DEVICE_NUM)l.ae66
49 LNK_OPTS += --reread_libs --rom_model
51 OBJ_DIR = obj
52 PFORM_LIB_INC = $(PFORM_LIB_DIR)
53 SRCDIR = ../src
55 SRC_FILES = norwriter.c
57 VPATH = $(SRCDIR)
58 INCL = -I $(CLIB_INC) $(patsubst %,-I%,$(VPATH)) -I $(PFORM_LIB_DIR) -I ../include
60 OBJS = $(patsubst %.c,$(OBJ_DIR)/%.obj,$(filter %.c, $(SRC_FILES)))
61 OBJS += $(patsubst %.s,$(OBJ_DIR)/%.obj,$(filter %.s, $(SRC_FILES)))
63 all: $(TARGET_NAME)
65 $(TARGET_NAME): $(OBJS) norwriter.cmd
66 $(CC) $(C_OPTS) $(OBJS) $(LNK_OPTS) -o $@
68 $(OBJ_DIR)/%.obj: %.c $(HEADERS) $(OBJ_DIR)/.created
69 $(CC) -c $(C_OPTS) $(INCL) $(DEFINE_TARGET) $< $(OUTPUT_FILE_OPTION) $@
71 $(OBJ_DIR)/%.obj: %.s $(HEADERS) $(OBJ_DIR)/.created
72 $(CC) -c $(A_OPTS) $(DEFINE_TARGET) $< $(OUTPUT_FILE_OPTION) $@
74 $(OBJ_DIR)/.created:
75 mkdir -p $(OBJ_DIR)
76 touch $(OBJ_DIR)/.created
78 clean:
79 -rm -rf $(OBJ_DIR)
80 -rm -rf *.asm