Merge pull request #3 in PROCESSOR-SDK/ibl from PRSDK-5675 to master
[keystone-rtos/ibl.git] / src / make / c64x / makedefs.mk
1 #*******************************************************************************
2 #* FILE PURPOSE: Define makefile variables for C64X
3 #*******************************************************************************
4 #* FILE NAME: makedefs.mk
5 #*
6 #* DESCRIPTION: Make include file which defines variables used by all DSP
7 #*    Makefiles.
8 #*              
9 #* (C) Copyright 1999 TELOGY Networks, Inc.             
10 #*******************************************************************************
12 ifeq ($(ENDIAN),big)
13  MEXT=be
14 else
15  MEXT=le
16 endif
18 CC          = cl6x
19 AS          = cl6x
20 LD          = cl6x -z
21 ARIN        = ar6x -rq
22 AROUT       = ar6x -xq 
23 HEX6X       = hex6x
24 MAKEDEP     = $(MAKEDEPPATH)
25 MAKEDEP_OPT = -q
26 COBJEXT     = $(MEXT).oc
27 LOBJEXT     = ol
28 AOBJEXT     = $(MEXT).oa
29 CDEPEXT     = dc
30 LDEPEXT     = dl
31 ADEPEXT     = da
32 ASMEXT      = s
33 LASMEXT     = sa
34 LIBEXT      = lib
35 RM          = rm -f
36 CP          = cp -f
37 MV          = mv -f
38 CPUDIR      = c64x
40 ifeq ($(OS),Linux)
41     DIRSEP=/
42     PATHSEP=:
43 else
44 #DIRSEP=$(subst /,\,/)
45     DIRSEP=/
46     PATHSEP=;
47 endif
50 # CPU Class flags
51 CPUFLAGS   = -mv6400+
53 ifeq ($(ENDIAN),big)
54   ALLFARLIB       = $(TOOLSC6XDOS)/lib/rts64pluse.lib
55 else
56   ALLFARLIB       = $(TOOLSC6XDOS)/lib/rts64plus.lib
57 endif
59 #RTLIBS     = $(subst /,$(DIRSEP),$(ALLFARLIB))
60 RTLIBS     = $(subst \,/,$(ALLFARLIB))
62 # Common compilation flags
63 # -c     : disable linker
64 # -k     : keep .asm file
65 # -mi200 : set imterrupt threshold to max of 200 cycles.
66 # -ml3   : far memory model
67 # -pm    : program level optimization
68 # -mv6400: Target processor is 64x
69 # -pden  : display diagnostic number along with messages
70 # -pdr   : display remarks
71 # -pds1111: shut off #pragma symbol warnings
72 # -pds827: shut off #pragma symbol warnings (symbol undefined)
73 # -pds824: shut off #pragma symbol warnings (can be applied to file level symbol only)
74 # -pds837: shut off #pragma symbol warnings (can be applied to file level symbol only)
75 # -pds97:  shut off no source in file warning
76 ifneq ($(UTIL),yes)
77  ifeq ($(DEBUG),yes)
78   CFLAGS  = -c -k -mi200 -ml3 -ms3 -o2 -pm -pds1111 -pds827 -pds824 -pds837 -pds1037 -pds195 -pds97 -pden -pdr $(CPUFLAGS)
79  else
80 # Always compile with -o2 as -o3 can possibly break endian neutral code */
81   CFLAGS  = -c -k -mi200 -ml0 -ms3 -o2 -pm -pds1111 -pds827 -pds824 -pds837 -pds1037 -pds195 -pds97 -pden -pdr $(CPUFLAGS)
82  endif
83 else
84 # Always compile with -o2 as -o3 can possibly break endian neutral code */
85  CFLAGS  = -c -k -mi200 -ml3 -ms3 -o2 -pm -pds1111 -pds827 -pds824 -pds837 -pds1037 -pds195 -pds97 -pden -pdr $(CPUFLAGS)
86 endif
88 ifeq ($(ENDIAN),big)
89  CFLAGS+= -me
90 endif
92 # Debug flags
93 # -as : keep local symbols
94 # -g  : enable debugging
95 # -ss : interlist C source and optimizer with .asm source
96 ifneq ($(UTIL),yes)
97  ifeq ($(DEBUG),yes)
98   DCFLAGS = -g -as  -ss
99  else
100   DCFLAGS = -as  -ss
101  endif
102 else
103  DCFLAGS = -g -as  -ss
104 endif
107 # ASM options
108 # -s  : place all symbols in object file
109 # -l  : produce listing
110 # -pw : warn pipelne conflicts 
111 # AFLAGS = -s -l -g -mk -ms $(CPUFLAGS)
112 AFLAGS = -g -ea.s -c -k -mi200 -ml3 -pm -al $(CPUFLAGS)
114 ifeq ($(ENDIAN),big)
115  AFLAGS+= -me
116 endif
118 PPDEP_FLAGS  = -ppd=$(patsubst %.$(CDEPEXT),%.$(CDEPEXT)_TMP,$@)
120 # Include files for standard (non siu) modules.  Also used by linker to find
121 # library files.
122 FSTDINC  =$(TOOLSC6XDOS)/include;$(TOOLSC6XDOS)/lib
123 STDINC =$(subst /,$(DIRSEP),$(FSTDINC))
125 # Include files for ASM in standard (non siu) modules
126 STDAINC =$(subst /,$(DIRSEP),$(GGROOT)/misc/$(CPUDIR))
128 # Include files for this platform.  Change this for test code.
129 PLATINC =$(subst /,$(DIRSEP),$(GGROOT)/hw/$(CPUDIR);$(ECODIR)/gg/$(CPUDIR);$(ECODIR)/$(CPUDIR))
131 # Nothing past this point