Port makefiles to Linux (while still supporting Windows)
[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 CC          = $(TOOLSC6X)/cgtools/bin/cl6x
13 AS          = $(TOOLSC6X)/cgtools/bin/cl6x
14 LD          = $(TOOLSC6X)/cgtools/bin/cl6x -z
15 ARIN        = $(TOOLSC6X)/cgtools/bin/ar6x -rq
16 AROUT       = $(TOOLSC6X)/cgtools/bin/ar6x -xq 
17 HEX6X           = $(TOOLSC6X)/cgtools/bin/hex6x
18 CDBTOOL     = $(COMSPEC) /c $(TOOLSBIOSCDBC6X)\gconfgen
19 MAKEDEP     = $(MAKEDEPPATH)
20 MAKEDEP_OPT = -q
21 COBJEXT     = oc
22 LOBJEXT     = ol
23 AOBJEXT     = oa
24 CDEPEXT     = dc
25 LDEPEXT     = dl
26 ADEPEXT     = da
27 ASMEXT      = s
28 LASMEXT     = sa
29 LIBEXT      = lib
30 RM          = rm -f
31 CP          = cp -f
32 MV          = mv -f
33 CPUDIR      = c64x
35 ifeq ($(OS),Linux)
36     DIRSEP=/
37     PATHSEP=:
38 else
39     DIRSEP=$(subst /,\,/)
40     PATHSEP=;
41 endif
44 # CPU Class flags
45 CPUFLAGS   = -mv6400+
47 ifeq ($(ENDIAN),big)
48   ALLFARLIB       = $(TOOLSC6XDOS)/cgtools/lib/rts64pluse.lib
49 else
50   ALLFARLIB       = $(TOOLSC6XDOS)/cgtools/lib/rts64plus.lib
51 endif
53 RTLIBS     = $(subst /,$(DIRSEP),$(ALLFARLIB))
55 # Common compilation flags
56 # -c     : disable linker
57 # -k     : keep .asm file
58 # -mi200 : set imterrupt threshold to max of 200 cycles.
59 # -ml3   : far memory model
60 # -pm    : program level optimization
61 # -mv6400: Target processor is 64x
62 # -pden  : display diagnostic number along with messages
63 # -pdr   : display remarks
64 # -pds1111: shut off #pragma symbol warnings
65 # -pds827: shut off #pragma symbol warnings (symbol undefined)
66 # -pds824: shut off #pragma symbol warnings (can be applied to file level symbol only)
67 # -pds837: shut off #pragma symbol warnings (can be applied to file level symbol only)
68 # -pds97:  shut off no source in file warning
69 #CFLAGS  = -c -k -mi200 -ml3 -o2 -pm -pds1111 -pds827 -pds824 -pds837 -pds1037 -pds195 -pds97 -pden -pdr $(CPUFLAGS)
70 CFLAGS  = -c -k -mi200 -ml3 -ms3 -o2 -pm -pds1111 -pds827 -pds824 -pds837 -pds1037 -pds195 -pds97 -pden -pdr $(CPUFLAGS)
72 ifeq ($(ENDIAN),big)
73  CFLAGS+= -me
74 endif
76 # Debug flags
77 # -as : keep local symbols
78 # -g  : enable debugging
79 # -ss : interlist C source and optimizer with .asm source
80 DCFLAGS = -g -as  -ss
81 #DCFLAGS = -gp
84 # ASM options
85 # -s  : place all symbols in object file
86 # -l  : produce listing
87 # -pw : warn pipelne conflicts 
88 # AFLAGS = -s -l -g -mk -ms $(CPUFLAGS)
89 AFLAGS = -g -ea.s -c -k -mi200 -ml3 -pm -al $(CPUFLAGS)
91 ifeq ($(ENDIAN),big)
92  AFLAGS+= -me
93 endif
95 # Include files for standard (non siu) modules.  Also used by linker to find
96 # library files.
97 FSTDINC  =$(TOOLSC6XDOS)/cgtools/include;$(TOOLSC6XDOS)/cgtools/lib
98 FSTDINC +=;$(TOOLSC6XDOS)/rtdx/include;$(TOOLSC6XDOS)/rtdx/lib
99 FSTDINC +=;$(TOOLSBIOSC6XDOS)/bios/include;$(TOOLSBIOSC6XDOS)/bios/lib
100 FSTDINC +=;$(TOOLSBIOSC6XDOS)/xdais/include;;$(TOOLSBIOSC6XDOS)/xdais/src/api
101 STDINC =$(subst /,$(DIRSEP),$(FSTDINC))
103 # Include files for ASM in standard (non siu) modules
104 STDAINC =$(subst /,$(DIRSEP),$(TOOLSBIOSC6XDOS)/bios/include;$(GGROOT)/misc/$(CPUDIR))
106 # Include files for this platform.  Change this for test code.
107 PLATINC =$(subst /,$(DIRSEP),$(GGROOT)/hw/$(CPUDIR);$(ECODIR)/gg/$(CPUDIR);$(ECODIR)/$(CPUDIR))
109 # Nothing past this point