mirror of
https://github.com/cc65/cc65.git
synced 2025-02-26 23:30:03 +00:00
More changes for module support
git-svn-id: svn://svn.cc65.org/cc65/trunk@1267 b7a2c559-68d2-44c3-8de9-860c34a00d81
This commit is contained in:
parent
6e32cf4b11
commit
17503f9030
@ -114,6 +114,9 @@ static const char* FirstInput = 0;
|
||||
/* Remember if we should link a module */
|
||||
static int Module = 0;
|
||||
|
||||
/* Extension used for a module */
|
||||
#define MODULE_EXT ".o65"
|
||||
|
||||
/* Name of the crt0 object file and the runtime library */
|
||||
static char* TargetCRT0 = 0;
|
||||
static char* TargetLib = 0;
|
||||
@ -368,15 +371,18 @@ static void Link (void)
|
||||
|
||||
} else if (FirstInput && FindExt (FirstInput)) { /* Only if ext present! */
|
||||
|
||||
char* Output = MakeFilename (FirstInput, "");
|
||||
const char* Extension = Module? MODULE_EXT : "";
|
||||
char* Output = MakeFilename (FirstInput, Extension);
|
||||
CmdAddArg (&LD65, "-o");
|
||||
CmdAddArg (&LD65, Output);
|
||||
xfree (Output);
|
||||
|
||||
}
|
||||
|
||||
/* If we have a startup file, add its name as a parameter */
|
||||
if (TargetCRT0) {
|
||||
/* If we have a startup file and if we are not linking a module, add its
|
||||
* name as a parameter
|
||||
*/
|
||||
if (TargetCRT0 && !Module) {
|
||||
CmdAddArg (&LD65, TargetCRT0);
|
||||
}
|
||||
|
||||
@ -816,9 +822,6 @@ static void OptStaticLocals (const char* Opt attribute ((unused)),
|
||||
static void OptTarget (const char* Opt attribute ((unused)), const char* Arg)
|
||||
/* Set the target system */
|
||||
{
|
||||
if (Target != TGT_NONE) {
|
||||
Error ("Cannot specify -t twice");
|
||||
} else {
|
||||
Target = FindTarget (Arg);
|
||||
if (Target == TGT_UNKNOWN) {
|
||||
Error ("No such target system: `%s'", Arg);
|
||||
@ -826,7 +829,6 @@ static void OptTarget (const char* Opt attribute ((unused)), const char* Arg)
|
||||
Error ("Cannot use `module' as target, use --module instead");
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
|
||||
|
Loading…
x
Reference in New Issue
Block a user