summaryrefslogtreecommitdiffstats
path: root/src/tools/pic30/pic30_compile.h
blob: 39bc243368780426c78fa0b70f20533c08382b2a (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
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
/***************************************************************************
 *   Copyright (C) 2006 Nicolas Hadacek <hadacek@kde.org>                  *
 *                                                                         *
 *   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.                                   *
 ***************************************************************************/
#ifndef PIC30_COMPILE_H
#define PIC30_COMPILE_H

#include "tools/list/compile_process.h"

namespace PIC30
{
//-----------------------------------------------------------------------------
class Process : public Compile::Process
{
Q_OBJECT
  TQ_OBJECT
protected:
  virtual TQString deviceName() const { return _data.device; }
};

//-----------------------------------------------------------------------------
class CompileFile : public Process
{
Q_OBJECT
  TQ_OBJECT
protected:
  virtual TQStringList genericArguments(const Compile::Config &config) const;
  virtual TQString outputFiles() const;
  virtual void logStderrLine(const TQString &line);
};

//-----------------------------------------------------------------------------
class CompileStandaloneFile : public CompileFile
{
Q_OBJECT
  TQ_OBJECT
protected:
  virtual TQStringList genericArguments(const Compile::Config &config) const;
  virtual TQString outputFiles() const;
};

//-----------------------------------------------------------------------------
class CompileProjectFile : public CompileFile
{
Q_OBJECT
  TQ_OBJECT
protected:
  virtual TQStringList genericArguments(const Compile::Config &config) const;
};

//-----------------------------------------------------------------------------
class AssembleFile : public Process
{
Q_OBJECT
  TQ_OBJECT
protected:
  virtual TQString outputFilepath() const { return filepath(PURL::Object); }
  virtual TQStringList genericArguments(const Compile::Config &config) const;
  virtual TQString outputFiles() const;
  virtual void logStderrLine(const TQString &line);
};

//-----------------------------------------------------------------------------
class AssembleStandaloneFile : public AssembleFile
{
Q_OBJECT
  TQ_OBJECT
protected:
  virtual TQStringList genericArguments(const Compile::Config &config) const;
};

//-----------------------------------------------------------------------------
class AssembleProjectFile : public AssembleFile
{
Q_OBJECT
  TQ_OBJECT
protected:
  virtual TQStringList genericArguments(const Compile::Config &config) const;
};

//-----------------------------------------------------------------------------
class Link : public Process
{
Q_OBJECT
  TQ_OBJECT
protected:
  virtual TQString outputFilepath() const;
  virtual TQStringList genericArguments(const Compile::Config &config) const;
  virtual TQString outputFiles() const;
  virtual void logStderrLine(const TQString &line);
};

//-----------------------------------------------------------------------------
class LinkStandalone : public Link
{
Q_OBJECT
  TQ_OBJECT
protected:
  virtual TQStringList genericArguments(const Compile::Config &config) const;
};

//-----------------------------------------------------------------------------
class LinkProject : public Link
{
Q_OBJECT
  TQ_OBJECT
protected:
  virtual TQStringList genericArguments(const Compile::Config &config) const;
};

//-----------------------------------------------------------------------------
class LibraryProject : public Process
{
Q_OBJECT
  TQ_OBJECT
protected:
  virtual TQStringList genericArguments(const Compile::Config &config) const;
  virtual TQString outputFiles() const;
  virtual void logStderrLine(const TQString &line);
};

//-----------------------------------------------------------------------------
class BinToHex : public Process
{
Q_OBJECT
  TQ_OBJECT
protected:
  virtual TQString inputFilepath(uint i) const;
  virtual TQStringList genericArguments(const Compile::Config &config) const;
  virtual TQString outputFiles() const;
  virtual void logStderrLine(const TQString &line);
};

} // namespace

#endif