--bin-include-dir dir Set an assembker binary include directory
--bss-label name Define and export a BSS segment label
--bss-name seg Set the name of the BSS segment
+ --cc-args options Pass options to the compiler
--cfg-path path Specify a config file search path
--check-stack Generate stack overflow checks
--code-label name Define and export a CODE segment label
if cl65 supports an option by itself, do not pass this option to the
assembler by means of the <tt/-Wa/ switch.
+ <tag><tt>-Wc options, --cc-args options</tt></tag>
+
+ Pass options directly to the compiler. This may be used to pass options
+ that aren't directly supported by cl65. Several options may be separated by
+ commas, the commas are replaced by spaces when passing them to the
+ compiler. Beware: Passing arguments directly to the compiler may interfere
+ with some of the defaults, because cl65 doesn't parse the options passed. So
+ if cl65 supports an option by itself, do not pass this option to the
+ compiler by means of the <tt/-Wc/ switch.
+
<tag><tt>-Wl options, --ld-args options</tt></tag>
Pass options directly to the linker. This may be used to pass options that
supports an option by itself, do not pass this option to the linker by means
of the <tt/-Wl/ switch.
-</descrip>
+</descrip>
" -V\t\t\t\tPrint the version number\n"
" -W name[,...]\t\t\tSuppress compiler warnings\n"
" -Wa options\t\t\tPass options to the assembler\n"
+ " -Wc options\t\t\tPass options to the compiler\n"
" -Wl options\t\t\tPass options to the linker\n"
"\n"
"Long options:\n"
" --bin-include-dir dir\t\tSet an assembler binary include directory\n"
" --bss-label name\t\tDefine and export a BSS segment label\n"
" --bss-name seg\t\tSet the name of the BSS segment\n"
+ " --cc-args options\t\tPass options to the compiler\n"
" --cfg-path path\t\tSpecify a config file search path\n"
" --check-stack\t\t\tGenerate stack overflow checks\n"
" --code-label name\t\tDefine and export a CODE segment label\n"
+static void OptCCArgs (const char* Opt attribute ((unused)), const char* Arg)
+/* Pass arguments to the compiler */
+{
+ CmdAddArgList (&CC65, Arg);
+}
+
+
+
static void OptCfgPath (const char* Opt attribute ((unused)), const char* Arg)
/* Config file search path (linker) */
{
{ "--bin-include-dir", 1, OptBinIncludeDir },
{ "--bss-label", 1, OptBssLabel },
{ "--bss-name", 1, OptBssName },
+ { "--cc-args", 1, OptCCArgs },
{ "--cfg-path", 1, OptCfgPath },
{ "--check-stack", 0, OptCheckStack },
{ "--code-label", 1, OptCodeLabel },
if (Arg[2] == 'a' && Arg[3] == '\0') {
/* -Wa: Pass options to assembler */
OptAsmArgs (Arg, GetArg (&I, 3));
+ } else if (Arg[2] == 'c' && Arg[3] == '\0') {
+ /* -Wc: Pass options to compiler */
+ OptCCArgs (Arg, GetArg (&I, 3));
} else if (Arg[2] == 'l' && Arg[3] == '\0') {
/* -Wl: Pass options to linker */
OptLdArgs (Arg, GetArg (&I, 3));