descr 1.6 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475
  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}/liblinux.a \
  59. {PLATFORMDIR}/libem.a \
  60. {PLATFORMDIR}/liblinux.a \
  61. {PLATFORMDIR}/libsys.a \
  62. {PLATFORMDIR}/libend.a)
  63. linker
  64. end
  65. name cv
  66. from .out
  67. to .exe
  68. program {EM}/bin/aelflod
  69. args < >
  70. outfile linux386.exe
  71. end