Subversion Repositories Kolibri OS

Rev

Blame | Last modification | View Log | Download | RSS feed

  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")
  27.