123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100 |
- include("mach/proto/as/build.lua")
- include("mach/proto/ncg/build.lua")
- include("mach/proto/top/build.lua")
- definerule("ackfile",
- {
- srcs = { type="targets" },
- deps = { type="targets", default={} },
- },
- function (e)
- local plat = e.vars.plat
- return cfile {
- name = e.name,
- srcs = e.srcs,
- deps = {
- "lang/cem/cemcom.ansi+pkg",
- "lang/cem/cpp.ansi+pkg",
- "lang/m2/comp+pkg",
- "lang/pc/comp+pkg",
- "plat/"..plat.."+tools",
- "util/ack+pkg",
- "util/ego+pkg",
- "util/misc+pkg",
- e.deps
- },
- commands = {
- "ACKDIR=$(INSDIR) $(INSDIR)/bin/ack -m%{plat} -c -o %{outs} %{ins} %{hdrpaths} %{ackcflags}"
- }
- }
- end
- )
- definerule("acklibrary",
- {
- srcs = { type="targets", default={} },
- hdrs = { type="targets", default={} },
- deps = { type="targets", default={} },
- },
- function (e)
- return clibrary {
- name = e.name,
- srcs = e.srcs,
- hdrs = e.hdrs,
- deps = {
- "util/arch+pkg",
- e.deps
- },
- _cfile = ackfile,
- commands = {
- "rm -f %{outs[1]}",
- "ACKDIR=$(INSDIR) $(INSDIR)/bin/aal qc %{outs[1]} %{ins}"
- }
- }
- end
- )
- definerule("ackprogram",
- {
- srcs = { type="targets", default={} },
- deps = { type="targets", default={} },
- },
- function (e)
- return cprogram {
- name = e.name,
- srcs = e.srcs,
- deps = {
- "plat/"..e.vars.plat.."+pkg",
- "util/ack+pkg",
- "util/led+pkg",
- e.deps
- },
- _clibrary = acklibrary,
- commands = {
- "ACKDIR=$(INSDIR) $(INSDIR)/bin/ack -m%{plat} -.%{lang} -o %{outs} %{ins}"
- }
- }
- end
- )
- definerule("build_plat_libs",
- {
- arch = { type="string" },
- plat = { type="string" },
- },
- function(e)
- return installable {
- name = e.name,
- map = {
- "lang/basic/lib+pkg_"..e.plat,
- "lang/cem/libcc.ansi+pkg_"..e.plat,
- "lang/m2/libm2+pkg_"..e.plat,
- "lang/pc/libpc+pkg_"..e.plat,
- ["$(PLATIND)/"..e.plat.."/libem.a"] = "mach/"..e.arch.."/libem+lib_"..e.plat,
- ["$(PLATIND)/"..e.plat.."/libend.a"] = "mach/"..e.arch.."/libend+lib_"..e.plat,
- }
- }
- end
- )
|