Declare Makefile suffixes, to be a little closer to POSIX make compliance.
[pspp-builds.git] / src / language / expressions / automake.mk
index 1ad694b02649f68053869641fe46c714e464c4b5..4dc2d145d1a1b6a18461915d49cb2a77f052ac5f 100644 (file)
@@ -1,38 +1,13 @@
 ## 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
+       src/language/expressions/public.h
 
 expressions_built_sources= \
        src/language/expressions/evaluate.h \
@@ -41,16 +16,26 @@ expressions_built_sources= \
        src/language/expressions/optimize.inc \
        src/language/expressions/parse.inc
 
+BUILT_SOURCES += $(expressions_built_sources)
+CLEANFILES += $(expressions_built_sources)
 
-nodist_src_language_expressions_libexpressions_a_SOURCES = $(expressions_built_sources)
-
+helpers = src/language/expressions/generate.pl \
+       src/language/expressions/operations.def
 
-PERL = @PERL@
+$(expressions_built_sources): $(helpers)
+EXTRA_DIST += $(helpers) $(expressions_built_sources:=.pl)
+AM_CPPFLAGS += -I$(top_builddir)/src/language/expressions \
+       -I$(top_srcdir)/src/language/expressions
 
-helpers = $(top_srcdir)/src/language/expressions/generate.pl \
-       $(top_srcdir)/src/language/expressions/operations.def
+SUFFIXES += .h.pl .inc.pl
 
-%: %.pl $(helpers)
-       @mkdir -p `dirname $@`
+generate_from_pl = $(MKDIR_P) `dirname $@` && \
        $(PERL) -I $(top_srcdir)/src/language/expressions $< -o $@ -i $(top_srcdir)/src/language/expressions/operations.def
 
+.h.pl.h:
+       $(generate_from_pl)
+
+.inc.pl.inc:
+       $(generate_from_pl)
+
+EXTRA_DIST += src/language/expressions/OChangeLog