2014-09-14 08:36:58 +02:00

37 lines
1.5 KiB
Lua

module(..., package.seeall)
local native = require "tundra.native"
function apply(env, options)
-- load the generic C toolset first
tundra.unitgen.load_toolset("generic-cpp", env)
-- Also add assembly support.
tundra.unitgen.load_toolset("generic-asm", env)
local vbcc_root = assert(native.getenv("VBCC"), "VBCC environment variable must be set")
env:set_many {
["NATIVE_SUFFIXES"] = { ".c", ".cpp", ".cc", ".cxx", ".s", ".asm", ".a", ".o" },
["OBJECTSUFFIX"] = ".o",
["LIBPREFIX"] = "",
["LIBSUFFIX"] = ".a",
["VBCC_ROOT"] = vbcc_root,
["CC"] = vbcc_root .. "$(SEP)bin$(SEP)vc$(HOSTPROGSUFFIX)",
["LIB"] = vbcc_root .. "$(SEP)bin$(SEP)vlink$(HOSTPROGSUFFIX)",
["LD"] = vbcc_root .. "$(SEP)bin$(SEP)vc$(HOSTPROGSUFFIX)",
["ASM"] = vbcc_root .. "$(SEP)bin$(SEP)vasmm68k_mot$(HOSTPROGSUFFIX)",
["VBCC_SDK_INC"] = vbcc_root .. "$(SEP)include$(SEP)sdk",
["_OS_CCOPTS"] = "",
["_OS_CXXOPTS"] = "",
["CCCOM"] = "$(CC) $(_OS_CCOPTS) -c $(CPPDEFS:p-D) $(CPPPATH:f:p-I) $(CCOPTS) $(CCOPTS_$(CURRENT_VARIANT:u)) -o $(@) $(<)",
["ASMCOM"] = "$(ASM) -quiet -Fhunk -phxass $(ASMOPTS) $(ASMOPTS_$(CURRENT_VARIANT:u)) $(ASMDEFS:p-D) $(ASMINCPATH:f:p-I) -I$(VBCC_SDK_INC) -o $(@) $(<)",
["PROGOPTS"] = "",
["PROGCOM"] = "$(LD) $(PROGOPTS) $(LIBPATH:p-L) $(LIBS:p-l) -o $(@) $(<)",
["PROGPREFIX"] = "",
["LIBOPTS"] = "",
["LIBCOM"] = "$(LIB) @RESPONSE|@|-r $(LIBOPTS) -o $(@) $(<)",
["ASMINC_KEYWORDS"] = { "INCLUDE", "include" },
["ASMINC_BINARY_KEYWORDS"] = { "INCBIN", "incbin" },
}
end