summaryrefslogtreecommitdiffstats
path: root/src/tools/c18/c18_compile.cpp
blob: d3ca920f7c855a17af38d7388e66763727c506e4 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
/***************************************************************************
 *   Copyright (C) 2006 Nicolas Hadacek <[email protected]>                  *
 *                                                                         *
 *   This program is free software; you can redistribute it and/or modify  *
 *   it under the terms of the GNU General Public License as published by  *
 *   the Free Software Foundation; either version 2 of the License, or     *
 *   (at your option) any later version.                                   *
 ***************************************************************************/
#include "c18_compile.h"

#include "c18_config.h"
#include "c18.h"
#include "devices/list/device_list.h"

//-----------------------------------------------------------------------------
TQStringList C18::CompileFile::genericArguments(const Compile::Config &config) const
{
  TQStringList args;
  args += config.includeDirs(Tool::Category::Compiler, "-I");
  args += "-I" + Compile::Config::directory(group(), Compile::DirectoryType::Header).path();
  args += "$NO_AUTO_DEVICE(-p)";
  args += "$NO_AUTO_DEVICE(%DEVICE)";
  args += config.customOptions(Tool::Category::Compiler);
  args += "-fo=%OBJECT";
  args += "%I";
  return args;
}

TQString C18::CompileFile::outputFiles() const
{
  return "PURL::Object";
}

void C18::CompileFile::logStderrLine(const TQString &line)
{
  // #### TODO
  doLog(Log::LineType::Normal, line, TQString(), 0);
}

//-----------------------------------------------------------------------------
TQStringList C18::Link::genericArguments(const Compile::Config &config) const
{
  TQStringList args;
  args += "/k%LKR_PATH";
  args += "%LKR_NAME";
  args += "/l" + Compile::Config::directory(group(), Compile::DirectoryType::Library).path();
  args += config.customOptions(Tool::Category::Linker);
  args += "/o%COFF";
  args += "/m%MAP";
  args += "%OBJS";
  args += "%LIBS";
  args += config.customLibraries(Tool::Category::Linker);
  return args;
}

TQString C18::Link::outputFiles() const
{
  return "PURL::Lkr PURL::Map PURL::Hex PURL::Coff PURL::Lst PURL::Cod";
}

void C18::Link::logStderrLine(const TQString &line)
{
  // #### TODO
  doLog(Log::LineType::Normal, line, TQString(), 0);
}