descr 1.5 KB

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