t-rtems revision 110611
1219820Sjeff# Multilibs for powerpc RTEMS targets.
2219820Sjeff
3219820SjeffMULTILIB_OPTIONS	= \
4219820Sjeffmcpu=403/mcpu=505/mcpu=601/mcpu=602/mcpu=603/mcpu=603e/mcpu=604/mcpu=750/mcpu=821/mcpu=860 \
5219820SjeffDmpc509/Dmpc8260 \
6219820SjeffD_OLD_EXCEPTIONS \
7219820Sjeffmsoft-float
8219820Sjeff
9219820SjeffMULTILIB_DIRNAMES	= \
10219820Sjeffm403 m505 m601 m602 m603 m603e m604 m750 m821 m860 \
11219820Sjeffmpc509 \
12219820Sjeffmpc8260 \
13219820Sjeffroe \
14219820Sjeffnof
15219820Sjeff
16219820SjeffMULTILIB_EXTRA_OPTS	= mrelocatable-lib mno-eabi mstrict-align
17219820Sjeff
18219820Sjeff# MULTILIB_MATCHES	= ${MULTILIB_MATCHES_FLOAT}
19219820SjeffMULTILIB_MATCHES  	= ${MULTILIB_MATCHES_ENDIAN} \
20219820Sjeff			  ${MULTILIB_MATCHES_SYSV} \
21219820Sjeff			  mcpu?505/Dmpc505=mcpu?505/Dmpc509
22219820Sjeff
23219820Sjeff#
24219820Sjeff# RTEMS old/new-exceptions handling
25219820Sjeff#
26219820Sjeff# old-exception processing is depredicated, therefore
27219820Sjeff#
28219820Sjeff# * Cpu-variants supporting new exception processing are build 
29219820Sjeff# with new exception processing only
30219820Sjeff# * Cpu-variants not having been ported to new exception processing are
31219820Sjeff# build with old and new exception processing
32219820Sjeff#
33219820Sjeff
34219820Sjeff# Cpu-variants supporting new exception processing only
35219820SjeffMULTILIB_NEW_EXCEPTIONS_ONLY = \
36219820Sjeff*mcpu=604*/*D_OLD_EXCEPTIONS* \
37219820Sjeff*mcpu=750*/*D_OLD_EXCEPTIONS* \
38219820Sjeff*mcpu=821*/*D_OLD_EXCEPTIONS* \
39219820Sjeff*Dmpc8260*/*D_OLD_EXCEPTIONS* \
40219820Sjeff*mcpu=860*/*D_OLD_EXCEPTIONS*
41219820Sjeff
42219820Sjeff# Soft-float only, default implies msoft-float
43219820Sjeff# NOTE: Must match with MULTILIB_MATCHES_FLOAT and MULTILIB_MATCHES
44219820SjeffMULTILIB_SOFTFLOAT_ONLY = \
45219820Sjeffmcpu=403/*msoft-float* \
46219820Sjeffmcpu=821/*msoft-float* \
47219820Sjeffmcpu=860/*msoft-float*
48219820Sjeff
49219820Sjeff# Hard-float only, take out msoft-float
50219820SjeffMULTILIB_HARDFLOAT_ONLY = \
51219820Sjeffmcpu=505/*msoft-float*
52219820Sjeff
53219820SjeffMULTILIB_EXCEPTIONS =
54219820Sjeff
55219820Sjeff# Disallow -D_OLD_EXCEPTIONS without other options
56219820SjeffMULTILIB_EXCEPTIONS	+= D_OLD_EXCEPTIONS*
57219820Sjeff
58219820Sjeff# Disallow -Dppc and -Dmpc without other options
59219820SjeffMULTILIB_EXCEPTIONS 	+= Dppc* Dmpc*
60219820Sjeff
61219820SjeffMULTILIB_EXCEPTIONS	+= \
62219820Sjeff${MULTILIB_NEW_EXCEPTIONS_ONLY} \
63219820Sjeff${MULTILIB_SOFTFLOAT_ONLY} \
64219820Sjeff${MULTILIB_HARDFLOAT_ONLY}
65219820Sjeff
66219820Sjeff# Special rules
67219820Sjeff# Take out all variants we don't want
68219820SjeffMULTILIB_EXCEPTIONS += mcpu=403/Dmpc509*
69219820SjeffMULTILIB_EXCEPTIONS += mcpu=403/Dmpc8260*
70219820SjeffMULTILIB_EXCEPTIONS += mcpu=505/Dmpc509*
71219820SjeffMULTILIB_EXCEPTIONS += mcpu=505/Dmpc8260*
72219820SjeffMULTILIB_EXCEPTIONS += mcpu=601/Dmpc509*
73219820SjeffMULTILIB_EXCEPTIONS += mcpu=601/Dmpc8260*
74219820SjeffMULTILIB_EXCEPTIONS += mcpu=602/Dmpc509*
75219820SjeffMULTILIB_EXCEPTIONS += mcpu=602/Dmpc8260*
76219820SjeffMULTILIB_EXCEPTIONS += mcpu=603/Dmpc509*
77219820SjeffMULTILIB_EXCEPTIONS += mcpu=603/Dmpc8260*
78219820SjeffMULTILIB_EXCEPTIONS += mcpu=603e/Dmpc509*
79219820SjeffMULTILIB_EXCEPTIONS += mcpu=604/Dmpc509*
80219820SjeffMULTILIB_EXCEPTIONS += mcpu=604/Dmpc8260*
81219820SjeffMULTILIB_EXCEPTIONS += mcpu=750/Dmpc509*
82219820SjeffMULTILIB_EXCEPTIONS += mcpu=750/Dmpc8260*
83219820SjeffMULTILIB_EXCEPTIONS += mcpu=821/Dmpc509*
84219820SjeffMULTILIB_EXCEPTIONS += mcpu=821/Dmpc8260*
85219820SjeffMULTILIB_EXCEPTIONS += mcpu=860/Dmpc509*
86219820SjeffMULTILIB_EXCEPTIONS += mcpu=860/Dmpc8260*
87219820Sjeff