84 lines
		
	
	
	
		
			1.5 KiB
		
	
	
	
		
			Lua
		
	
	
	
	
	
			
		
		
	
	
			84 lines
		
	
	
	
		
			1.5 KiB
		
	
	
	
		
			Lua
		
	
	
	
	
	
include("plat/build.lua")
 | 
						|
 | 
						|
tabgen {
 | 
						|
	name = "ctype_tab",
 | 
						|
	srcs = { "./core/ctype/char.tab" }
 | 
						|
}
 | 
						|
 | 
						|
normalrule {
 | 
						|
	name = "ctype_files",
 | 
						|
	ins = { "./core/ctype/genfiles" },
 | 
						|
	outleaves = {
 | 
						|
		"isalnum.c",
 | 
						|
		"isalpha.c",
 | 
						|
		"isascii.c",
 | 
						|
		"iscntrl.c",
 | 
						|
		"isdigit.c",
 | 
						|
		"isgraph.c",
 | 
						|
		"islower.c",
 | 
						|
		"isprint.c",
 | 
						|
		"ispunct.c",
 | 
						|
		"isspace.c",
 | 
						|
		"isupper.c",
 | 
						|
		"isxdigit.c",
 | 
						|
	},
 | 
						|
	commands = {
 | 
						|
		"sh %{ins[1]} %{dir}"
 | 
						|
	}
 | 
						|
}
 | 
						|
 | 
						|
for _, plat in ipairs(vars.plats) do
 | 
						|
	acklibrary {
 | 
						|
		name = "lib_"..plat,
 | 
						|
		srcs = {
 | 
						|
			"+ctype_files",
 | 
						|
			"+ctype_tab",
 | 
						|
			"./core/ctype/*.c",
 | 
						|
			"./core/errno/*.c",
 | 
						|
			"./core/locale/*.c",
 | 
						|
			"./core/math/*.c",
 | 
						|
			"./core/math/*.e",
 | 
						|
			"./core/misc/*.c",
 | 
						|
			"./core/setjmp/*.c",
 | 
						|
			"./core/setjmp/*.e",
 | 
						|
			"./core/stdlib/*.c",
 | 
						|
			"./core/string/*.c",
 | 
						|
			"./core/time/*.c",
 | 
						|
			"./sys/exit/*.c",
 | 
						|
			"./sys/malloc/*.c",
 | 
						|
			"./sys/misc/*.c",
 | 
						|
			"./sys/stdio/*.c",
 | 
						|
		},
 | 
						|
		hdrs = {}, -- must be empty
 | 
						|
		deps = {
 | 
						|
			"lang/cem/libcc.ansi/headers+pkg",
 | 
						|
			"plat/"..plat.."/include+pkg",
 | 
						|
			"./core/math/localmath.h",
 | 
						|
			"./core/stdlib/ext_fmt.h",
 | 
						|
			"./core/time/loc_time.h",
 | 
						|
			"./sys/malloc/malloc.h",
 | 
						|
			"./sys/stdio/loc_incl.h",
 | 
						|
		},
 | 
						|
		vars = { plat = plat }
 | 
						|
	}
 | 
						|
 | 
						|
	ackfile {
 | 
						|
		name = "crt_"..plat,
 | 
						|
		srcs = { "./head_ac.e" },
 | 
						|
		vars = { plat = plat },
 | 
						|
		deps = {
 | 
						|
			"h+emheaders"
 | 
						|
		}
 | 
						|
	}
 | 
						|
 | 
						|
	local suffix = plat:find("^em") and "m" or "o"
 | 
						|
	installable {
 | 
						|
		name = "pkg_"..plat,
 | 
						|
		map = {
 | 
						|
			"lang/cem/libcc.ansi/headers+pkg",
 | 
						|
			["$(PLATIND)/"..plat.."/c-ansi."..suffix] = "+crt_"..plat,
 | 
						|
			["$(PLATIND)/"..plat.."/libc.a"] = "+lib_"..plat,
 | 
						|
		}
 | 
						|
	}
 | 
						|
end
 | 
						|
 |