]> git.sur5r.net Git - cc65/commitdiff
Working
authorcuz <cuz@b7a2c559-68d2-44c3-8de9-860c34a00d81>
Tue, 11 Feb 2003 22:40:56 +0000 (22:40 +0000)
committercuz <cuz@b7a2c559-68d2-44c3-8de9-860c34a00d81>
Tue, 11 Feb 2003 22:40:56 +0000 (22:40 +0000)
git-svn-id: svn://svn.cc65.org/cc65/trunk@1972 b7a2c559-68d2-44c3-8de9-860c34a00d81

src/co65/convert.c
src/co65/global.c
src/co65/global.h
src/co65/main.c
src/co65/model.c
src/co65/model.h

index ed9ff15a1cfcc366273f4b276ea78589a2ed9580..1edd231908750b3152b2f995d14610cd3a5b5133 100644 (file)
@@ -396,7 +396,7 @@ void Convert (const O65Data* D, const char* OutputFile)
                         case O65_OS_CC65_MODULE:
                             if (Model != O65_MODEL_NONE &&
                                 Model != O65_MODEL_CC65_MODULE) {
-                                Warning ("Wrong o65 model");
+                                Warning ("Wrong o65 model for input file specified");
                             } else {
                                 Model = O65_MODEL_CC65_MODULE;
                             }
@@ -430,7 +430,12 @@ void Convert (const O65Data* D, const char* OutputFile)
         }
     }
 
-    /* Open the output file */
+    /* If we shouldn't generate output, we're done here */
+    if (NoOutput) {
+        return;
+    }
+
+    /* Open the output file */                                                    
     F = fopen (OutputFile, "wb");
     if (F == 0) {
         Error ("Cannot open `%s': %s", OutputFile, strerror (errno));
index 4d6219a2292b6ad12a9c72e7741156e29696681a..8bce9aec3801fca1cbf7192ab3552941a4003d3d 100644 (file)
@@ -68,6 +68,7 @@ const char* ZeropageLabel   = 0;                /* Label for the zeropage segmen
 
 /* Flags */
 unsigned char DebugInfo     = 0;                /* Enable debug info */
+unsigned char NoOutput      = 0;                /* Suppress the actual conversion */
 
 
 
index 4359b4cdae97e41e599857ee70acffeb3125e178..8825b1072f96c99baf7fe1e174527ec8f02cd06d 100644 (file)
@@ -65,6 +65,7 @@ extern const char*      ZeropageLabel;      /* Label for the zeropage segment */
 
 /* Flags */
 extern unsigned char    DebugInfo;          /* Enable debug info */
+extern unsigned char    NoOutput;           /* Suppress the actual conversion */
 
 
 
index db07b6a0856256ebcbe0bd2683598d25d15db7b1..adb1766374d39627372e4a286da6b5191cba8fc9 100644 (file)
@@ -75,6 +75,7 @@ static void Usage (void)
                     "  -g\t\t\tAdd debug info to object file\n"
                     "  -h\t\t\tHelp (this text)\n"
              "  -m model\t\tOverride the o65 model\n"
+             "  -n\t\t\tDon't generate an output file\n"
                     "  -o name\t\tName the output file\n"
                     "  -v\t\t\tIncrease verbosity\n"
             "\n"
@@ -87,6 +88,7 @@ static void Usage (void)
                     "  --data-name seg\tSet the name of the DATA segment\n"
                     "  --debug-info\t\tAdd debug info to object file\n"
             "  --help\t\tHelp (this text)\n"
+             "  --no-output\t\tDon't generate an output file\n"
              "  --o65-model model\tOverride the o65 model\n"
                     "  --verbose\t\tIncrease verbosity\n"
                     "  --version\t\tPrint the version number\n"
@@ -228,6 +230,15 @@ static void OptHelp (const char* Opt attribute ((unused)),
 
 
 
+static void OptNoOutput (const char* Opt attribute ((unused)),
+                        const char* Arg attribute ((unused)))
+/* Handle the --no-output option */
+{
+    NoOutput = 1;
+}
+
+
+
 static void OptO65Model (const char* Opt attribute ((unused)), const char* Arg)
 /* Handle the --o65-model option */
 {
@@ -314,6 +325,7 @@ int main (int argc, char* argv [])
                { "--debug",            0,      OptDebug                },
        { "--debug-info",       0,      OptDebugInfo            },
        { "--help",             0,      OptHelp                 },
+               { "--no-output",        0,      OptNoOutput             },
         { "--o65-model",        1,      OptO65Model             },
        { "--verbose",          0,      OptVerbose              },
        { "--version",          0,      OptVersion              },
@@ -353,6 +365,10 @@ int main (int argc, char* argv [])
                     OptO65Model (Arg, GetArg (&I, 2));
                     break;
 
+                case 'n':
+                    OptNoOutput (Arg, 0);
+                    break;
+
                        case 'o':
                            OutputName = GetArg (&I, 2);
                            break;
index db0232f63d89e991ab9870dde75d6abac4a274e1..f708876d57c5311dc3e6a1a37e1a02ba0e91e8b9 100644 (file)
@@ -53,7 +53,9 @@ O65Model Model = O65_MODEL_NONE;
 
 /* Name table */
 static const char* NameTable[O65_MODEL_COUNT] = {
-    "none",
+    "none",    
+    "os/a65",
+    "lunix",
     "cc65-module"
 };
 
index aa35a8f27efda29ca418edd5aa91ee07c8a2cb0c..e9c3fc5724c84dc1225a82b9e262ab6e721d9ea4 100644 (file)
@@ -48,6 +48,8 @@
 typedef enum {
     O65_MODEL_INVALID = -1,     /* Invalid model */
     O65_MODEL_NONE,             /* No model given */
+    O65_MODEL_OSA65,            /* Not implemented */
+    O65_MODEL_LUNIX,            /* Not implemented */
     O65_MODEL_CC65_MODULE,
 
     O65_MODEL_COUNT             /* Number of available models */