descr 1.8 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687
  1. # $Revision$
  2. var w=4
  3. var p=4
  4. var s=2
  5. var l=4
  6. var f=4
  7. var d=8
  8. var NAME=sun
  9. var M=m68020
  10. var P=sun3
  11. var LIB=lib/{P}/tail_
  12. var RT=lib/{P}/head_
  13. var MLIB=lib/{M}/tail_
  14. var CPP_F=-D__unix -D__m68k -D__mc68000 -D__M68020 -D__mc68020 -D__BSD4_2
  15. var CC_ALIGN=-Vw4.1 -S9
  16. # 413 align is the default, rom in text
  17. var ALIGN=-a0:4 -a1:4 -a2:0x20000 -a3:4 -b0:0x2020
  18. var C_LIB={EM}/{LIB}cc.1s {EM}/{LIB}cc.2g
  19. var OLD_C_LIB={C_LIB}
  20. var MACHOPT_F=-ml10
  21. name be
  22. from .m.g
  23. to .s
  24. program {EM}/lib.bin/{M}/cg
  25. mapflag -gdb GF=-gdb
  26. args {GF?} <
  27. stdout
  28. need .e
  29. end
  30. name asopt
  31. from .s
  32. to .so
  33. program {EM}/lib.bin/{M}/top
  34. args
  35. optimizer
  36. stdin
  37. stdout
  38. end
  39. name as
  40. from .s.so
  41. to .o
  42. program {EM}/lib.bin/{M}/as
  43. args - -o > <
  44. prep cond
  45. end
  46. name led
  47. from .o.a
  48. to .out
  49. program {EM}/lib.bin/em_led
  50. mapflag -l* LNAME={EM}/{LIB}*
  51. mapflag -n ALIGN=-a0:4 -a1:4 -a2:0x20000 -a3:4 -b0:0x2000
  52. mapflag -nr ALIGN=-a0:4 -a1:0x20000 -a2:4 -a3:4 -b0:0x2000
  53. mapflag -N ALIGN=-a0:4 -a1:4 -a2:4 -a3:4 -b0:0x2000
  54. mapflag -r ALIGN=-a0:4 -a1:0x20000 -a2:4 -a3:4 -b0:0x2020
  55. mapflag -fp LIBFP={EM}/{MLIB}fp
  56. mapflag -g LIBDB={EM}/{MLIB}db
  57. mapflag -ansi C_LIB={EM}/{LIB}ac
  58. args {ALIGN} (.e:{HEAD}= {EM}/{RT}em) \
  59. ({RTS}:.ocm.b={EM}/{RT}cc) \
  60. ({RTS}{ANSI?}:.c={EM}/{RT}cc) \
  61. ({RTS}{ANSI?}:.cansi={EM}/{RT}ac) \
  62. ({RTS}:.mod={EM}/{RT}m2) \
  63. ({RTS}:.f={EM}/{RT}ac) \
  64. ({RTS}:.p={EM}/{RT}pc) \
  65. ({RTS}:.cp.8={EM}/{RT}cpc) \
  66. -o > < \
  67. (.8:{TAIL}={EM}/{LIB}a68s) \
  68. (.p:{TAIL}={EM}/{LIB}pc) \
  69. (.cp.8:{TAIL}={EM}/{LIB}cpc) \
  70. (.b:{TAIL}={EM}/{LIB}bc) \
  71. (.ocm:{TAIL}={EM}/{LIB}ocm) \
  72. (.mod:{TAIL}={EM}/{LIB}m2) \
  73. (.f:{TAIL}={EM}/{LIB}f77 {EM}/{LIB}ac) \
  74. (.ocm.b:{TAIL}={OLD_C_LIB}) \
  75. (.c:{TAIL}={C_LIB}) \
  76. {LIBFP?} \
  77. {LIBDB?} \
  78. (.e:{TAIL}={EM}/{MLIB}em {EM}/{LIB}mon {EM}/lib/{M}/end_em)
  79. linker
  80. end
  81. name cv
  82. from .out
  83. to .cv
  84. program {EM}/lib.bin/{P}/cv
  85. args < >
  86. outfile a.out
  87. end