descr 1.5 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778
  1. # $Source$
  2. # $State$
  3. # $Revision$
  4. var w=2
  5. var p=2
  6. var s=2
  7. var l=4
  8. var f=4
  9. var d=8
  10. var ARCH=i80
  11. var PLATFORM=cpm
  12. var PLATFORMDIR={EM}/lib/{PLATFORM}
  13. var CPP_F=-D__unix
  14. var ALIGN=-a0:1 -a1:1 -a2:1 -a3:1 -b0:0x0100
  15. var MACHOPT_F=-m8
  16. # Override the setting in fe so that files compiled for linux386 can see
  17. # the platform-specific headers.
  18. var C_INCLUDES=-I{PLATFORMDIR}/include -I{EM}/include/ansi
  19. name be
  20. from .m.g
  21. to .s
  22. program {EM}/lib.bin/{PLATFORM}/ncg
  23. args <
  24. stdout
  25. need .e
  26. end
  27. name asopt
  28. from .s
  29. to .so
  30. program {EM}/lib.bin/{PLATFORM}/top
  31. args
  32. optimizer
  33. stdin
  34. stdout
  35. end
  36. name as
  37. from .s.so
  38. to .o
  39. program {EM}/lib.bin/{PLATFORM}/as
  40. args - -o > <
  41. prep cond
  42. end
  43. name led
  44. from .o.a
  45. to .out
  46. program {EM}/lib.bin/em_led
  47. mapflag -l* LNAME={PLATFORMDIR}/lib*
  48. mapflag -i SEPID=-b1:0
  49. mapflag -fp FLOATS={EM}/{ILIB}fp
  50. args {ALIGN} {SEPID?} \
  51. (.e:{HEAD}={PLATFORMDIR}/boot.o) \
  52. ({RTS}:.ocm.b={PLATFORMDIR}/c-ansi.o) \
  53. ({RTS}:.c={PLATFORMDIR}/c-ansi.o) \
  54. ({RTS}:.mod={PLATFORMDIR}/modula2.o) \
  55. ({RTS}:.p={PLATFORMDIR}/pascal.o) \
  56. -o > < \
  57. (.p:{TAIL}={PLATFORMDIR}/libpascal.a) \
  58. (.b:{TAIL}={PLATFORMDIR}/libbasic.a) \
  59. (.mod:{TAIL}={PLATFORMDIR}/libmodula2.a) \
  60. (.ocm:{TAIL}={PLATFORMDIR}/liboccam.a) \
  61. (.ocm.b.mod.c.p:{TAIL}={PLATFORMDIR}/libc.a) \
  62. {FLOATS?} \
  63. (.e:{TAIL}={PLATFORMDIR}/libem.a \
  64. {PLATFORMDIR}/libsys.a \
  65. {PLATFORMDIR}/libend.a)
  66. linker
  67. end
  68. name cv
  69. from .out
  70. to .img
  71. program {EM}/bin/aslod
  72. args < >
  73. outfile cpm.com
  74. end