summaryrefslogtreecommitdiffstats
path: root/src/devices/pic
diff options
context:
space:
mode:
authorMichele Calgaro <[email protected]>2024-05-06 18:26:24 +0900
committerMichele Calgaro <[email protected]>2024-05-06 22:36:50 +0900
commitac3f0014232619edc41865f6e42e6510bdd8acc6 (patch)
tree9f851f02238781fb9ffe7f76ac446d25e9c92668 /src/devices/pic
parent1c22ae157c39e2c1434e5ec43a05eda78dc86798 (diff)
downloadpiklab-ac3f0014232619edc41865f6e42e6510bdd8acc6.tar.gz
piklab-ac3f0014232619edc41865f6e42e6510bdd8acc6.zip
Allow generation of build time data files in out-of-source builds. Also fix generation of data file for devices/mem24 subfolder
Signed-off-by: Michele Calgaro <[email protected]>
Diffstat (limited to 'src/devices/pic')
-rw-r--r--src/devices/pic/xml/pic_xml_to_data.cpp13
-rw-r--r--src/devices/pic/xml_data/Makefile.am6
2 files changed, 14 insertions, 5 deletions
diff --git a/src/devices/pic/xml/pic_xml_to_data.cpp b/src/devices/pic/xml/pic_xml_to_data.cpp
index 7cb573e..2419b46 100644
--- a/src/devices/pic/xml/pic_xml_to_data.cpp
+++ b/src/devices/pic/xml/pic_xml_to_data.cpp
@@ -6,6 +6,7 @@
* the Free Software Foundation; either version 2 of the License, or *
* (at your option) any later version. *
***************************************************************************/
+#include <tqdir.h>
#include <tqfile.h>
#include <tqregexp.h>
@@ -18,6 +19,9 @@ namespace Pic
{
class XmlToData : public Device::XmlToData<Data>
{
+public:
+ XmlToData(const TQString &folder) : Device::XmlToData<Data>(folder) {}
+
private:
virtual TQString namespaceName() const { return "Pic"; }
@@ -673,8 +677,13 @@ void processRegistersFile(const TQString &filename, TQStringList &devices)
void processRegisters()
{
TQStringList devices;
- processRegistersFile("registers/registers.xml", devices);
- processRegistersFile("registers/registers_missing.xml", devices);
+ TQDir xmlFilesDir;
+ if (!xmlFolder.isEmpty())
+ {
+ xmlFilesDir.setPath(xmlFolder + "/registers");
+ }
+ processRegistersFile(xmlFilesDir.absFilePath("registers.xml"), devices);
+ processRegistersFile(xmlFilesDir.absFilePath("registers_missing.xml"), devices);
// check if we miss any register description
TQMap<TQString, Device::Data *>::const_iterator it = _map.begin();
diff --git a/src/devices/pic/xml_data/Makefile.am b/src/devices/pic/xml_data/Makefile.am
index e5bd5c4..97496a4 100644
--- a/src/devices/pic/xml_data/Makefile.am
+++ b/src/devices/pic/xml_data/Makefile.am
@@ -3,10 +3,10 @@ METASOURCES = AUTO
noinst_LTLIBRARIES = libpicxml.la
libpicxml_la_SOURCES = pic_data.cpp
-libpicxml_la_DEPENDENCIES = $(srcdir)/pic_data.cpp
+libpicxml_la_DEPENDENCIES = pic_data.cpp
include deps.mak
noinst_DATA += registers/registers.xml registers/registers_missing.xml
-$(srcdir)/pic_data.cpp: ../xml/pic_xml_to_data $(noinst_DATA)
- cd $(srcdir) && $(abs_builddir)/../xml/pic_xml_to_data
+pic_data.cpp: ../xml/pic_xml_to_data $(noinst_DATA)
+ cd $(abs_builddir) && ./../xml/pic_xml_to_data $(srcdir)
CLEANFILES = pic_data.cpp