37 lines
1.5 KiB
Lua
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
|