expressions: Rewrite code generator in Python.
[pspp] / src / language / expressions / automake.mk
index f1687486eaaf10baae3e5a91db5224c640a8e576..0ff62645c6d9b8e12984e634221e36614fea13e6 100644 (file)
@@ -1,57 +1,53 @@
+# 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
-
-$(top_builddir)/src/language/expressions/src_language_expressions_libexpressions_a-evaluate.o: \
-       $(top_builddir)/src/language/expressions/evaluate.h \
-       $(top_builddir)/src/language/expressions/operations.h \
-       $(top_builddir)/src/language/expressions/evaluate.inc
-
-$(top_builddir)/src/language/expressions/src_language_expressions_libexpressions_a-optimize.o: \
-       $(top_builddir)/src/language/expressions/optimize.inc
-
-$(top_builddir)/src/language/expressions/src_language_expressions_libexpressions_a-parse.o: \
-       $(top_builddir)/src/language/expressions/parse.inc
-
-
-CLEANFILES += $(expressions_built_sources)
-
-src_language_expressions_libexpressions_a_SOURCES = \
+language_expressions_sources = \
        src/language/expressions/evaluate.c \
        src/language/expressions/helpers.c \
        src/language/expressions/helpers.h \
        src/language/expressions/optimize.c \
        src/language/expressions/parse.c \
        src/language/expressions/private.h \
-       src/language/expressions/public.h \
-       src/language/expressions/evaluate.inc.pl \
-       src/language/expressions/generate.pl \
-       src/language/expressions/operations.def \
-       src/language/expressions/evaluate.h.pl \
-       src/language/expressions/operations.h.pl \
-       src/language/expressions/optimize.inc.pl \
-       src/language/expressions/parse.inc.pl
-
-expressions_built_sources= \
+       src/language/expressions/public.h
+
+expressions_built_sources = \
        src/language/expressions/evaluate.h \
        src/language/expressions/evaluate.inc \
        src/language/expressions/operations.h \
        src/language/expressions/optimize.inc \
        src/language/expressions/parse.inc
 
-src_language_expressions_libexpressions_a_CPPFLAGS = $(AM_CPPFLAGS) \
-       -I $(top_builddir)/src/language/expressions \
-       -I $(top_srcdir)/src/language/expressions
-
-nodist_src_language_expressions_libexpressions_a_SOURCES = $(expressions_built_sources)
+BUILT_SOURCES += $(expressions_built_sources)
+CLEANFILES += $(expressions_built_sources)
 
+helpers = src/language/expressions/generate.py \
+       src/language/expressions/operations.def
+EXTRA_DIST += $(helpers)
 
-PERL = @PERL@
+$(expressions_built_sources): $(helpers)
+       $(AV_V_GEN)$(MKDIR_P) `dirname $@` && \
+       $(PYTHON3) $< -o $@ -i $(top_srcdir)/src/language/expressions/operations.def
 
-helpers = $(top_srcdir)/src/language/expressions/generate.pl \
-       $(top_srcdir)/src/language/expressions/operations.def
+AM_CPPFLAGS += -I"$(abs_top_builddir)/src/language/expressions" \
+       -I"$(top_srcdir)/src/language/expressions"
 
-%: %.pl $(helpers)
-       @mkdir -p `dirname $@`
-       $(PERL) -I $(top_srcdir)/src/language/expressions $< -o $@ -i $(top_srcdir)/src/language/expressions/operations.def
+EXTRA_DIST += src/language/expressions/TODO
 
+# 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)