1
0
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:
cuz 2002-04-25 20:06:04 +00:00
parent 6e32cf4b11
commit 17503f9030

View File

@ -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");
}
}
}