Done a major overhaul of the way target include files are installed and

how platform libraries are built. The ARCH pm variable has now been
renamed PLATFORM (which is more accurate) and a different ARCH
variable added, which represents the CPU family rather than the
hardware platform.
This commit is contained in:
dtrg
2007-02-20 00:46:10 +00:00
parent 809cd2ef0b
commit 5c5f711cbb
46 changed files with 322 additions and 170 deletions

71
mach/i86/libem/pmfile Normal file
View File

@@ -0,0 +1,71 @@
-- $Source$
-- $State$
-- $Revision$
local d = ROOTDIR.."mach/i86/libem/"
libem_i86 = acklibrary {
outputs = {"%U%/libem-%PLATFORM%.a"},
ackfile (d.."adi.s"),
ackfile (d.."and.s"),
ackfile (d.."cii.s"),
ackfile (d.."cms.s"),
ackfile (d.."cmi4.s"),
ackfile (d.."cmu4.s"),
ackfile (d.."com.s"),
ackfile (d.."csa2.s"),
ackfile (d.."csb2.s"),
ackfile (d.."csa4.s"),
ackfile (d.."csb4.s"),
ackfile (d.."cuu.s"),
ackfile (d.."dup.s"),
ackfile (d.."dvi.s"),
ackfile (d.."dvi4.s"),
ackfile (d.."dvu.s"),
ackfile (d.."dvu4.s"),
ackfile (d.."exg.s"),
ackfile (d.."fp8087.s"),
ackfile (d.."gto.s"),
ackfile (d.."iaar.s"),
ackfile (d.."ilar.s"),
ackfile (d.."inn.s"),
ackfile (d.."ior.s"),
ackfile (d.."isar.s"),
ackfile (d.."lar2.s"),
ackfile (d.."loi.s"),
ackfile (d.."mli.s"),
ackfile (d.."mli4.s"),
ackfile (d.."mon.s"),
ackfile (d.."ngi.s"),
ackfile (d.."nop.s"),
ackfile (d.."rck.s"),
ackfile (d.."rmi.s"),
ackfile (d.."rmi4.s"),
ackfile (d.."rmu.s"),
ackfile (d.."rmu4.s"),
ackfile (d.."rol.s"),
ackfile (d.."ror.s"),
ackfile (d.."sar2.s"),
ackfile (d.."sbi.s"),
ackfile (d.."set.s"),
ackfile (d.."sli.s"),
ackfile (d.."sri.s"),
ackfile (d.."sti.s"),
ackfile (d.."strhp.s"),
ackfile (d.."xor.s"),
ackfile (d.."error.s"),
ackfile (d.."unknown.s"),
ackfile (d.."fat.s"),
ackfile (d.."trp.s"),
ackfile (d.."print.s"),
ackfile (d.."ret6.s"),
ackfile (d.."ret8.s"),
ackfile (d.."lfr6.s"),
ackfile (d.."lfr8.s"),
ackfile (d.."retarea.s"),
ackfile (d.."blm.s"),
ackfile (d.."return.s"),
install = pm.install("%BINDIR%lib/%PLATFORM%/libem.a"),
}

16
mach/i86/libend/pmfile Normal file
View File

@@ -0,0 +1,16 @@
-- $Source$
-- $State$
-- $Revision$
local d = ROOTDIR.."mach/i86/libend/"
libend_i86 = acklibrary {
outputs = {"%U%/libend-%PLATFORM%.a"},
ackfile (d.."edata.s"),
ackfile (d.."em_end.s"),
ackfile (d.."end.s"),
ackfile (d.."etext.s"),
install = pm.install("%BINDIR%lib/%PLATFORM%/libend.a"),
}

View File

@@ -3,21 +3,19 @@
local d = ROOTDIR.."mach/i86/"
include (d.."libem/pmfile")
include (d.."libend/pmfile")
mach_i86 = group {
ARCH = "i86",
proto_as,
proto_ncg { ARCHDIR = "i86" },
ego_descr,
install = pm.install("%ROOTDIR%/lib/%ARCH%/descr", "%BINDIR%%PLATIND%/%ARCH%/descr")
}
-- Revision history
-- $Log$
-- Revision 1.2 2006-07-22 00:52:01 dtrg
-- Added support for the ego global optimisation suite.
--
-- Revision 1.1 2006/07/20 23:18:18 dtrg
-- First version in CVS.
--
support_i86 = group {
OPTIMISATION = "-O",
libem_i86,
libend_i86,
}

View File

@@ -17,9 +17,10 @@ local parser = yacc {
local cfile_with_tables = cfile {
class = "cfile_with_tables",
CINCLUDES = {PARENT, "%ROOTDIR%mach/%ARCH%/as"},
dynamicheaders = {
parser,
file (ROOTDIR.."mach/%ARCH%/as/")
}
}
@@ -39,13 +40,20 @@ proto_as = cprogram {
lib_object,
outputs = {"%U%/%ARCH%-as"},
install = pm.install(BINDIR.."%PLATDEP%/%ARCH%/as")
outputs = {"%U%/%PLATFORM%-as"},
install = pm.install(BINDIR.."%PLATDEP%/%PLATFORM%/as")
}
-- Revision history
-- $Log$
-- Revision 1.3 2006-10-15 00:28:12 dtrg
-- Revision 1.4 2007-02-20 00:45:19 dtrg
-- Done a major overhaul of the way target include files are installed and
-- how platform libraries are built. The ARCH pm variable has now been
-- renamed PLATFORM (which is more accurate) and a different ARCH
-- variable added, which represents the CPU family rather than the
-- hardware platform.
--
-- Revision 1.3 2006/10/15 00:28:12 dtrg
-- Updated to the version 0.1 of Prime Mover (which involves some syntax changes).
--
-- Revision 1.2 2006/07/30 23:41:16 dtrg

View File

@@ -4,15 +4,15 @@
local d = ROOTDIR.."mach/proto/cg/"
local make_tables = cgg {
CGGINCLUDEDIR = (ROOTDIR.."mach/%ARCH%/cg/"),
file (ROOTDIR.."mach/%ARCH%/cg/table")
CGGINCLUDEDIR = (ROOTDIR.."mach/%PLATFORM%/cg/"),
file (ROOTDIR.."mach/%PLATFORM%/cg/table")
}
local cfile_with_tables = cfile {
class = "cfile_with_tables",
dynamicheaders = {
make_tables,
file (ROOTDIR.."mach/%ARCH%/cg/"),
file (ROOTDIR.."mach/%PLATFORM%/cg/"),
file (ROOTDIR.."mach/")
}
}
@@ -39,7 +39,7 @@ proto_cg = cprogram {
cfile {
ith { make_tables, i = 1 },
dynamicheaders = {
file (ROOTDIR.."mach/%ARCH%/cg/"),
file (ROOTDIR.."mach/%PLATFORM%/cg/"),
file (d)
}
},
@@ -47,13 +47,20 @@ proto_cg = cprogram {
lib_em_data,
lib_flt_arith,
outputs = {"%U%/%ARCH%-cg"},
install = pm.install("%BINDIR%%PLATDEP%/%ARCH%/cg")
outputs = {"%U%/%PLATFORM%-cg"},
install = pm.install("%BINDIR%%PLATDEP%/%PLATFORM%/cg")
}
-- Revision history
-- $Log$
-- Revision 1.2 2006-10-15 00:28:12 dtrg
-- Revision 1.3 2007-02-20 00:45:19 dtrg
-- Done a major overhaul of the way target include files are installed and
-- how platform libraries are built. The ARCH pm variable has now been
-- renamed PLATFORM (which is more accurate) and a different ARCH
-- variable added, which represents the CPU family rather than the
-- hardware platform.
--
-- Revision 1.2 2006/10/15 00:28:12 dtrg
-- Updated to the version 0.1 of Prime Mover (which involves some syntax changes).
--
-- Revision 1.1 2006/07/20 23:18:19 dtrg

View File

@@ -20,7 +20,7 @@ proto_ncg = cprogram {
CINCLUDES = {
PARENT,
"mach/%ARCH%/ncg",
"mach/%PLATFORM%/ncg",
"mach/%ARCHDIR%/ncg",
"mach"
},
@@ -50,6 +50,6 @@ proto_ncg = cprogram {
lib_em_data,
lib_flt_arith,
outputs = {"%U%/%ARCH%-ncg"},
install = pm.install("%BINDIR%%PLATDEP%/%ARCH%/ncg")
outputs = {"%U%/%PLATFORM%-ncg"},
install = pm.install("%BINDIR%%PLATDEP%/%PLATFORM%/ncg")
}

View File

@@ -4,7 +4,7 @@
local d = ROOTDIR.."mach/proto/top/"
local make_tables = topgen {
file (ROOTDIR.."mach/%ARCH%/top/table")
file (ROOTDIR.."mach/%PLATFORM%/top/table")
}
local cfile_with_tables = cfile {
@@ -17,7 +17,7 @@ local cfile_with_tables = cfile {
proto_top = cprogram {
CINCLUDES = {
PARENT,
"mach/%ARCH%/ncg",
"mach/%PLATFORM%/ncg",
"mach",
d
},
@@ -27,13 +27,20 @@ proto_top = cprogram {
lib_string,
outputs = {"%U%/%ARCH%-top"},
install = pm.install("%BINDIR%%PLATDEP%/%ARCH%/top")
outputs = {"%U%/%PLATFORM%-top"},
install = pm.install("%BINDIR%%PLATDEP%/%PLATFORM%/top")
}
-- Revision history
-- $Log$
-- Revision 1.2 2006-10-15 00:28:12 dtrg
-- Revision 1.3 2007-02-20 00:45:19 dtrg
-- Done a major overhaul of the way target include files are installed and
-- how platform libraries are built. The ARCH pm variable has now been
-- renamed PLATFORM (which is more accurate) and a different ARCH
-- variable added, which represents the CPU family rather than the
-- hardware platform.
--
-- Revision 1.2 2006/10/15 00:28:12 dtrg
-- Updated to the version 0.1 of Prime Mover (which involves some syntax changes).
--
-- Revision 1.1 2006/07/22 12:31:19 dtrg