12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273 |
- # $Source$
- # $State$
- # $Revision$
- var w=4
- var p=4
- var s=2
- var l=4
- var f=4
- var d=8
- var ARCH=i386
- var PLATFORM=linux386
- var PLATFORMDIR={EM}/lib/{PLATFORM}
- var CPP_F=-D__unix
- var ALIGN=-a0:4 -a1:4 -a2:4 -a3:4 -b0:0x08048054
- var C_LIB={PLATFORMDIR}/libc-ansi.a
- # bitfields reversed for compatibility with (g)cc.
- var CC_ALIGN=-Vr
- var OLD_C_LIB={C_LIB}
- var MACHOPT_F=-m10
- # Override the setting in fe so that files compiled for linux386 can see
- # the platform-specific headers.
- var C_INCLUDES=-I{PLATFORMDIR}/include -I{EM}/include/ansi
- name be
- from .m.g
- to .s
- program {EM}/lib.bin/{PLATFORM}/ncg
- mapflag -gdb GF=-gdb
- args {GF?} <
- stdout
- need .e
- end
- name as
- from .s.so
- to .o
- program {EM}/lib.bin/{PLATFORM}/as
- args - -o > <
- prep cond
- end
- name led
- from .o.a
- to .out
- program {EM}/lib.bin/em_led
- mapflag -l* LNAME={PLATFORMDIR}/lib*
- mapflag -fp FLOATS={EM}/{LIB}fp
- args {ALIGN} {SEPID?} \
- (.e:{HEAD}={PLATFORMDIR}/boot.o) \
- ({RTS}:.ocm.b={PLATFORMDIR}/c-ansi.o) \
- ({RTS}:.c={PLATFORMDIR}/c-ansi.o) \
- ({RTS}:.mod={PLATFORMDIR}/modula2.o) \
- ({RTS}:.p={PLATFORMDIR}/pascal.o) \
- -o > < \
- (.p:{TAIL}={PLATFORMDIR}/libpascal.a) \
- (.b:{TAIL}={PLATFORMDIR}/libbasic.a) \
- (.mod:{TAIL}={PLATFORMDIR}/libmodula2.a) \
- (.ocm:{TAIL}={PLATFORMDIR}/liboccam.a) \
- (.ocm.b.mod.c.p:{TAIL}={PLATFORMDIR}/libc.a) \
- {FLOATS?} \
- (.e:{TAIL}={PLATFORMDIR}/libem.a \
- {PLATFORMDIR}/libsys.a \
- {PLATFORMDIR}/libend.a)
- linker
- end
- name cv
- from .out
- to .exe
- program {EM}/bin/aelflod
- args < >
- outfile linux386.exe
- end
|