* as/hc08/asm.h,
[fw/sdcc] / src / z80 / main.c
index 6a715333d0665f76223869146be526e3f0dc4fbf..2768d4d6698fae48837627737598c12472bd9019 100644 (file)
@@ -27,6 +27,7 @@
 #include "MySystem.h"
 #include "BuildCmd.h"
 #include "SDCCutil.h"
+#include "dbuf.h"
 
 static char _z80_defaultRules[] =
 {
@@ -288,8 +289,20 @@ _setValues(void)
     {
       const char *s;
       char path[PATH_MAX];
+      struct dbuf_s dbuf;
 
-      setMainValue ("z80libspec", "-l\"{port}.lib\"");
+      dbuf_init(&dbuf, PATH_MAX);
+
+      for (s = setFirstItem(libDirsSet); s != NULL; s = setNextItem(libDirsSet))
+        {
+          buildCmdLine2(path, sizeof path, "-k\"%s" DIR_SEPARATOR_STRING "{port}\" ", s);
+          dbuf_append(&dbuf, path, strlen(path));
+        }
+      buildCmdLine2(path, sizeof path, "-l\"{port}.lib\"", s);
+      dbuf_append(&dbuf, path, strlen(path));
+
+      setMainValue ("z80libspec", dbuf_c_str(&dbuf));
+      dbuf_destroy(&dbuf);
 
       for (s = setFirstItem(libDirsSet); s != NULL; s = setNextItem(libDirsSet))
         {
@@ -465,6 +478,9 @@ _hasNativeMulFor (iCode *ic, sym_link *left, sym_link *right)
   return FALSE;
 }
 
+
+#define LINKCMD "link-{port} -nf {dstfilename}"
+/*
 #define LINKCMD \
     "link-{port} -n -c -- {z80bases} -m -j" \
     " {z80libspec}" \
@@ -473,6 +489,7 @@ _hasNativeMulFor (iCode *ic, sym_link *left, sym_link *right)
     " {z80crt0}" \
     " \"{dstfilename}{objext}\"" \
     " {z80extraobj}"
+*/
 
 #define ASMCMD \
     "as-{port} -plosgff \"{objdstfilename}\" \"{dstfilename}{asmext}\""
@@ -485,6 +502,7 @@ PORT z80_port =
   "Zilog Z80",                 /* Target name */
   NULL,                                /* Processor name */
   {
+    glue,
     FALSE,
     MODEL_MEDIUM | MODEL_SMALL,
     MODEL_SMALL
@@ -529,6 +547,7 @@ PORT z80_port =
     NULL,
     1
   },
+  { NULL, NULL },
   {
     -1, 0, 0, 4, 0, 2
   },
@@ -555,6 +574,7 @@ PORT z80_port =
   _mangleSupportFunctionName,
   _hasNativeMulFor,
   TRUE,
+  TRUE,                                /* little endian */
   0,                           /* leave lt */
   0,                           /* leave gt */
   1,                           /* transform <= to ! > */
@@ -578,6 +598,7 @@ PORT gbz80_port =
   "Gameboy Z80-like",          /* Target name */
   NULL,
   {
+    glue,
     FALSE,
     MODEL_MEDIUM | MODEL_SMALL,
     MODEL_SMALL
@@ -623,6 +644,7 @@ PORT gbz80_port =
     NULL,
     1
   },
+  { NULL, NULL },
   {
     -1, 0, 0, 2, 0, 4
   },
@@ -649,6 +671,7 @@ PORT gbz80_port =
   _mangleSupportFunctionName,
   _hasNativeMulFor,
   TRUE,
+  TRUE,                                /* little endian */
   0,                           /* leave lt */
   0,                           /* leave gt */
   1,                           /* transform <= to ! > */