]> granicus.if.org Git - re2c/commitdiff
Makefile.am: drop non-POSIX make feature: '$<' in target rules.
authorUlya Trofimovich <skvadrik@gmail.com>
Mon, 20 Jul 2015 14:24:46 +0000 (15:24 +0100)
committerUlya Trofimovich <skvadrik@gmail.com>
Mon, 20 Jul 2015 14:24:46 +0000 (15:24 +0100)
POSIX make allows '$<' only in inferencee rule.
Found while trying to build with bmake.

re2c/Makefile.am

index 985f501099538040162385d2f89ccd0cfc3a00c4..daeb6e9b68eec4e08b4d9c151a3ff1df753322b2 100644 (file)
@@ -175,25 +175,20 @@ CLEANFILES = \
        $(AUTOGEN) \
        $(DOC)
 
-# rule has side effects:
-# - autogenerated header in build directory
-# - bootstrap files in source directory, must manually prepend $(top_srcdir)
 $(AUTOGEN_PARSER): $(CUSTOM_PARSER)
        @if test $(BISON) != "no"; \
        then \
-               $(BISON) $(BISONFLAGS) --output=$@ --defines=$(AUTOGEN_PARSER_HDR) $< && \
+               $(BISON) $(BISONFLAGS) --output=$@ --defines=$(AUTOGEN_PARSER_HDR) $(top_srcdir)/$(CUSTOM_PARSER) && \
                if cmp -s $@ $(top_srcdir)/$(BOOTSTRAP_PARSER); \
                then \
                        cp $@ $(top_srcdir)/$(BOOTSTRAP_PARSER) && \
-                       cp $(AUTOGEN_PARSER_HDR) $(top_srcdir)/$(BOOTSTRAP_PARSER_HDR); \
+                       cp $(top_builddir)/$(AUTOGEN_PARSER_HDR) $(top_srcdir)/$(BOOTSTRAP_PARSER_HDR); \
                fi; \
        else \
                cp $(top_srcdir)/$(BOOTSTRAP_PARSER) $@ && \
-               cp $(top_srcdir)/$(BOOTSTRAP_PARSER_HDR) $(AUTOGEN_PARSER_HDR); \
+               cp $(top_srcdir)/$(BOOTSTRAP_PARSER_HDR) $(top_builddir)/$(AUTOGEN_PARSER_HDR); \
        fi
 
-# rule has side effects:
-# - bootstrap file in source directory, must manually prepend $(top_srcdir)
 .re.cc:
        @if test -x $(RE2C); \
        then \
@@ -206,29 +201,26 @@ $(AUTOGEN_PARSER): $(CUSTOM_PARSER)
 # rebuild all re2c sources using newly built re2c
 .PHONY: bootstrap
 bootstrap: all
-       rm $(AUTOGEN_SCANNER) $(AUTOGEN_PARSEOPT)
+       rm $(top_builddir)/$(AUTOGEN_SCANNER)
+       rm $(top_builddir)/$(AUTOGEN_PARSEOPT)
        $(MAKE) all
 
 .PHONY: docs
 if REBUILD_DOCS
 docs: $(DOC_MAN) $(DOC_HTML)
-# rule has side effects:
-# - bootstrap file in source directory, must manually prepend $(top_srcdir)
 $(DOC_MAN): $(SRC_DOC)
-       a2x -f manpage $<
+       a2x -f manpage $(top_builddir)/$(SRC_DOC)
        cp $@ $(top_srcdir)/$(BOOTSTRAP_DOC_MAN)
-# rule has side effects:
-# - bootstrap file in source directory, must manually prepend $(top_srcdir)
 $(DOC_HTML): $(SRC_DOC)
-       asciidoc -o $@ $<
+       asciidoc -o $@ $(top_builddir)/$(SRC_DOC)
        cp $@ $(top_srcdir)/$(BOOTSTRAP_DOC_HTML)
 else
 docs: $(DOC_MAN) $(DOC_HTML)
        @echo "Reconfigure to rebuild docs: ./configure --enable-docs"
 $(DOC_MAN): $(BOOTSTRAP_DOC_MAN)
-       cp $< $@
+       cp $(top_srcdir)/$(BOOTSTRAP_DOC_MAN) $@
 $(DOC_HTML): $(BOOTSTRAP_DOC_HTML)
-       cp $< $@
+       cp $(top_srcdir)/$(BOOTSTRAP_DOC_HTML) $@
 endif
 
 all-local: docs
@@ -237,13 +229,13 @@ all-local: docs
 TST_SUITE = run_tests.sh
 .PHONY: tests
 tests: all $(TST_SUITE)
-       ./$(TST_SUITE)
+       $(top_builddir)/$(TST_SUITE)
 .PHONY: vtests
 vtests: all $(TST_SUITE)
-       ./$(TST_SUITE) --valgrind
+       $(top_builddir)/$(TST_SUITE) --valgrind
 .PHONY: wtests
 wtests: all $(TST_SUITE)
-       ./$(TST_SUITE) --wine -j1
+       $(top_builddir)/$(TST_SUITE) --wine -j1
 
 TST_RANGE = testrange
 testrange_SOURCES = \