Rev 8828 | Go to most recent revision | Details | Last modification | View Log | RSS feed
Rev | Author | Line No. | Line |
---|---|---|---|
5098 | clevermous | 1 | if tup.getconfig("NO_FASM") ~= "" or tup.getconfig("NO_GCC") ~= "" then return end |
2 | HELPERDIR = (tup.getconfig("HELPERDIR") == "") and "../.." or tup.getconfig("HELPERDIR") |
||
3 | tup.include(HELPERDIR .. "/use_gcc.lua") |
||
4 | LDFLAGS = LDFLAGS .. " -T kolibri.ld" |
||
5 | -- compile shell |
||
6 | if tup.getconfig("LANG") == "ru" |
||
7 | then C_LANG = "LANG_RUS" |
||
8 | else C_LANG = "LANG_ENG" -- this includes default case without config |
||
9 | end |
||
10 | |||
11 | if tup.getconfig("TUP_PLATFORM") == "win32" |
||
12 | -- on win32 '#' is not a special character, but backslash and quotes would be printed as is |
||
13 | then tup.rule('echo #define ' .. C_LANG .. ' 1 > %o', {"lang.h"}) |
||
14 | -- on unix '#' should be escaped |
||
15 | else tup.rule('echo "#define" ' .. C_LANG .. ' 1 > %o', {"lang.h"}) |
||
16 | end |
||
17 | tup.append_table(OBJS, tup.rule("start.asm", "fasm %f %o", "start.o")) |
||
18 | compile_gcc{"shell.c", "system/kolibri.c", "system/stdlib.c", "system/string.c", "system/ctype.c", extra_inputs = {"lang.h"}} |
||
19 | link_gcc("shell") |
||
20 | |||
21 | -- compile ASM test |
||
22 | tup.rule("test.asm", "fasm %f %o " .. tup.getconfig("KPACK_CMD"), "asmtest") |
||
23 | -- compile C test |
||
24 | OBJS = {"start.o", "kolibri.o", "stdlib.o", "string.o", "ctype.o"} -- remove shell.o |
||
25 | compile_gcc{"test.c"} |
||
26 | link_gcc("ctest") |