expressions: Fix built sources.
[pspp] / src / language / expressions / automake.mk
index 1ad694b02649f68053869641fe46c714e464c4b5..97c9f69e9314dd5cee3a682a9e4045db047f4d14 100644 (file)
@@ -1,56 +1,54 @@
+# 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 -*-
 
-src/language/expressions/%: AM_CPPFLAGS += -I$(top_srcdir)/src/libpspp \
-  -I$(top_srcdir)/src/data \
-  -I$(top_srcdir)/src/math \
-  -I$(top_srcdir)/src/language/lexer \
-  -I$(top_srcdir)/src/language/expressions \
-  -I$(top_builddir)/src/language/expressions \
-  -I$(top_srcdir)/src/language
-
-noinst_LIBRARIES += src/language/expressions/libexpressions.a
-
-src/language/expressions/evaluate.o: src/language/expressions/evaluate.h src/language/expressions/operations.h src/language/expressions/evaluate.inc
-
-src/language/expressions/optimize.o: src/language/expressions/optimize.inc
-
-src/language/expressions/parse.o: 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
 
+CLEANFILES += $(expressions_built_sources)
 
-nodist_src_language_expressions_libexpressions_a_SOURCES = $(expressions_built_sources)
-
+helpers = src/language/expressions/generate.py \
+       src/language/expressions/operations.def
+EXTRA_DIST += $(helpers)
 
-PERL = @PERL@
+$(expressions_built_sources): $(helpers)
+       $(AM_V_GEN)$(MKDIR_P) `dirname $@`
+       $(AM_V_at)$(PYTHON3) $< -o `basename $@` \
+         -i $(top_srcdir)/src/language/expressions/operations.def > $@.tmp
+       $(AM_V_at)mv $@.tmp $@
 
-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
 
+src/language/expressions/evaluate.lo src/language/expressions/helpers.lo \
+src/language/expressions/optimize.lo src/language/expressions/parse.lo: \
+$(expressions_built_sources)