expressions: Rewrite code generator in Python.
[pspp] / src / language / expressions / automake.mk
index 44152b4473c97548436b3916798b31526949b524..0ff62645c6d9b8e12984e634221e36614fea13e6 100644 (file)
@@ -1,12 +1,22 @@
+# PSPP - a program for statistical analysis.
+# Copyright (C) 2017 Free Software Foundation, Inc.
+#
+# 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 3 of the License, or
+# (at your option) any later version.
+#
+# This program is distributed in the hope that it will be useful,
+# but WITHOUT ANY WARRANTY; without even the implied warranty of
+# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+# GNU General Public License for more details.
+#
+# You should have received a copy of the GNU General Public License
+# along with this program.  If not, see <http://www.gnu.org/licenses/>.
+#
 ## Process this file with automake to produce Makefile.in  -*- makefile -*-
 
-noinst_LIBRARIES += src/language/expressions/libexpressions.a
-
-src_language_expressions_libexpressions_a_CPPFLAGS = $(AM_CPPFLAGS) \
-       -I src/language/expressions \
-       -I $(top_srcdir)/src/language/expressions
-
-src_language_expressions_libexpressions_a_SOURCES = \
+language_expressions_sources = \
        src/language/expressions/evaluate.c \
        src/language/expressions/helpers.c \
        src/language/expressions/helpers.h \
@@ -15,7 +25,7 @@ src_language_expressions_libexpressions_a_SOURCES = \
        src/language/expressions/private.h \
        src/language/expressions/public.h
 
-expressions_built_sources= \
+expressions_built_sources = \
        src/language/expressions/evaluate.h \
        src/language/expressions/evaluate.inc \
        src/language/expressions/operations.h \
@@ -25,19 +35,19 @@ expressions_built_sources= \
 BUILT_SOURCES += $(expressions_built_sources)
 CLEANFILES += $(expressions_built_sources)
 
-helpers = src/language/expressions/generate.pl \
+helpers = src/language/expressions/generate.py \
        src/language/expressions/operations.def
+EXTRA_DIST += $(helpers)
 
 $(expressions_built_sources): $(helpers)
-EXTRA_DIST += $(helpers) $(expressions_built_sources:=.pl)
-
-SUFFIXES = .h.pl .inc.pl
+       $(AV_V_GEN)$(MKDIR_P) `dirname $@` && \
+       $(PYTHON3) $< -o $@ -i $(top_srcdir)/src/language/expressions/operations.def
 
-generate_from_pl = $(top_srcdir)/mkinstalldirs `dirname $@` && \
-       $(PERL) -I $(top_srcdir)/src/language/expressions $< -o $@ -i $(top_srcdir)/src/language/expressions/operations.def
+AM_CPPFLAGS += -I"$(abs_top_builddir)/src/language/expressions" \
+       -I"$(top_srcdir)/src/language/expressions"
 
-.h.pl.h:
-       $(generate_from_pl)
+EXTRA_DIST += src/language/expressions/TODO
 
-.inc.pl.inc:
-       $(generate_from_pl)
+# This seems to be necessary in order to prevent issues building the native
+# build when cross compiling
+src/language/expressions/evaluate.lo: $(expressions_built_sources)