01f8a334a9d58e72f10301c5ace53463a377324b
[pspp] / src / output / spv / automake.mk
1 # PSPP - a program for statistical analysis.
2 # Copyright (C) 2019, 2020 Free Software Foundation, Inc.
3 #
4 # This program is free software: you can redistribute it and/or modify
5 # it under the terms of the GNU General Public License as published by
6 # the Free Software Foundation, either version 3 of the License, or
7 # (at your option) any later version.
8 #
9 # This program is distributed in the hope that it will be useful,
10 # but WITHOUT ANY WARRANTY; without even the implied warranty of
11 # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
12 # GNU General Public License for more details.
13 #
14 # You should have received a copy of the GNU General Public License
15 # along with this program.  If not, see <http://www.gnu.org/licenses/>.
16 #
17 ## Process this file with automake to produce Makefile.in  -*- makefile -*-
18
19 src_output_liboutput_la_SOURCES += \
20         src/output/spv/spv-css-parser.c \
21         src/output/spv/spv-css-parser.h \
22         src/output/spv/spv-dump.c \
23         src/output/spv/spv-legacy-data.c \
24         src/output/spv/spv-legacy-data.h \
25         src/output/spv/spv-legacy-decoder.c \
26         src/output/spv/spv-legacy-decoder.h \
27         src/output/spv/spv-light-decoder.c \
28         src/output/spv/spv-light-decoder.h \
29         src/output/spv/spv-output.c \
30         src/output/spv/spv-output.h \
31         src/output/spv/spv-select.c \
32         src/output/spv/spv-select.h \
33         src/output/spv/spv-table-look.c \
34         src/output/spv/spv-table-look.h \
35         src/output/spv/spv-writer.c \
36         src/output/spv/spv-writer.h \
37         src/output/spv/spv.c \
38         src/output/spv/spv.h \
39         src/output/spv/spvbin-helpers.c \
40         src/output/spv/spvbin-helpers.h \
41         src/output/spv/spvxml-helpers.c \
42         src/output/spv/spvxml-helpers.h
43
44 AM_CPPFLAGS += -Isrc
45
46 light_binary_in = \
47         src/output/spv/binary-parser-generator \
48         src/output/spv/light-binary.grammar
49 light_binary_out = \
50         src/output/spv/light-binary-parser.c \
51         src/output/spv/light-binary-parser.h
52 src/output/spv/light-binary-parser.c: $(light_binary_in)
53         $(AM_V_GEN)$(PYTHON) $^ code spvlb '"output/spv/light-binary-parser.h"' > $@.tmp
54         $(AM_V_at)mv $@.tmp $@
55 src/output/spv/light-binary-parser.h: $(light_binary_in)
56         $(AM_V_GEN)$(PYTHON) $^ header spvlb > $@.tmp && mv $@.tmp $@
57 nodist_src_output_liboutput_la_SOURCES += $(light_binary_out)
58 BUILT_SOURCES += $(light_binary_out)
59 CLEANFILES += $(light_binary_out)
60 EXTRA_DIST += $(light_binary_in)
61
62 old_binary_in = \
63         src/output/spv/binary-parser-generator \
64         src/output/spv/old-binary.grammar
65 old_binary_out = \
66         src/output/spv/old-binary-parser.c \
67         src/output/spv/old-binary-parser.h
68 src/output/spv/old-binary-parser.c: $(old_binary_in)
69         $(AM_V_GEN)$(PYTHON) $^ code spvob '"output/spv/old-binary-parser.h"' > $@.tmp
70         $(AM_V_at)mv $@.tmp $@
71 src/output/spv/old-binary-parser.h: $(old_binary_in)
72         $(AM_V_GEN)$(PYTHON) $^ header spvob > $@.tmp && mv $@.tmp $@
73 nodist_src_output_liboutput_la_SOURCES += $(old_binary_out)
74 BUILT_SOURCES += $(old_binary_out)
75 CLEANFILES += $(old_binary_out)
76 EXTRA_DIST += $(old_binary_in)
77
78 detail_xml_in = \
79         src/output/spv/xml-parser-generator \
80         src/output/spv/detail-xml.grammar
81 detail_xml_out = \
82         src/output/spv/detail-xml-parser.c \
83         src/output/spv/detail-xml-parser.h
84 src/output/spv/detail-xml-parser.c: $(detail_xml_in)
85         $(AM_V_GEN)$(PYTHON) $^ code spvdx '"output/spv/detail-xml-parser.h"' > $@.tmp
86         $(AM_V_at)mv $@.tmp $@
87 src/output/spv/detail-xml-parser.h: $(detail_xml_in)
88         $(AM_V_GEN)$(PYTHON) $^ header spvdx > $@.tmp && mv $@.tmp $@
89 nodist_src_output_liboutput_la_SOURCES += $(detail_xml_out)
90 BUILT_SOURCES += $(detail_xml_out)
91 CLEANFILES += $(detail_xml_out)
92 EXTRA_DIST += $(detail_xml_in)
93
94 structure_xml_in = \
95         src/output/spv/xml-parser-generator \
96         src/output/spv/structure-xml.grammar
97 structure_xml_out = \
98         src/output/spv/structure-xml-parser.c \
99         src/output/spv/structure-xml-parser.h
100 src/output/spv/structure-xml-parser.c: $(structure_xml_in)
101         $(AM_V_GEN)$(PYTHON) $^ code spvsx '"output/spv/structure-xml-parser.h"' > $@.tmp
102         $(AM_V_at)mv $@.tmp $@
103 src/output/spv/structure-xml-parser.h: $(structure_xml_in)
104         $(AM_V_GEN)$(PYTHON) $^ header spvsx > $@.tmp && mv $@.tmp $@
105 nodist_src_output_liboutput_la_SOURCES += $(structure_xml_out)
106 BUILT_SOURCES += $(structure_xml_out)
107 CLEANFILES += $(structure_xml_out)
108 EXTRA_DIST += $(structure_xml_in)
109
110 tlo_in = \
111         src/output/spv/binary-parser-generator \
112         src/output/spv/tlo.grammar
113 tlo_out = \
114         src/output/spv/tlo-parser.c \
115         src/output/spv/tlo-parser.h
116 src/output/spv/tlo-parser.c: $(tlo_in)
117         $(AM_V_GEN)$(PYTHON) $^ code tlo '"output/spv/tlo-parser.h"' > $@.tmp
118         $(AM_V_at)mv $@.tmp $@
119 src/output/spv/tlo-parser.h: $(tlo_in)
120         $(AM_V_GEN)$(PYTHON) $^ header tlo > $@.tmp && mv $@.tmp $@
121 nodist_src_output_liboutput_la_SOURCES += $(tlo_out)
122 BUILT_SOURCES += $(tlo_out)
123 CLEANFILES += $(tlo_out)
124 EXTRA_DIST += $(tlo_in)