Merge pull request #2 in PROCESSOR-SDK/mcsdk-tools from PRSDK-2194 to master
[keystone-rtos/mcsdk-tools.git] / writer / nor / evmc6657l / Makefile
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),C6655)
13 DEVICE_NUM = 6655
14 C_OPTS = -DDEVICE=6655 ## Gauss 
15 C_OPTS += -mv6600  
16 A_OPTS += -mv6600
17 else
18 ifeq ($(DEVICE),C6657)
19 DEVICE_NUM = 6657
20 C_OPTS = -DDEVICE=6657 ## Gauss 
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 $(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