mesa: automake: rework the source generation rules
authorEmil Velikov <emil.l.velikov@gmail.com>
Fri, 17 Jul 2015 09:44:30 +0000 (10:44 +0100)
committerEmil Velikov <emil.l.velikov@gmail.com>
Wed, 9 Sep 2015 11:48:29 +0000 (12:48 +0100)
Same logic as previous commit applies.

Additionally remove the odd (set -e/mv/INDENT) from the rules.
The last one is the only one we remotely care about, if reading the
generated sources.

Upcoming work from DylanB which will replace the existing python
scripts with ones that produce more readable output anyway.

Cc: 11.0 <mesa-stable@lists.freedesktop.org>
Signed-off-by: Emil Velikov <emil.l.velikov@gmail.com>
Reviewed-by: Matt Turner <mattst88@gmail.com>
src/mesa/Makefile.am

index eb4a3da3c840993a9214f779dff145f24780e075..69506f2a3fd88a06dcea02e3989ef985ea25cf05 100644 (file)
@@ -90,37 +90,24 @@ CLEANFILES = \
        program/program_parse.tab.h \
        main/git_sha1.h.tmp
 
-GET_HASH_GEN = main/get_hash_generator.py
+PYTHON_GEN = $(AM_V_GEN)$(PYTHON2) $(PYTHON_FLAGS)
 
-main/get_hash.h: ../mapi/glapi/gen/gl_and_es_API.xml main/get_hash_params.py   \
-                $(GET_HASH_GEN)
-       $(AM_V_GEN)set -e;                                              \
-       $(PYTHON2) $(PYTHON_FLAGS) $(srcdir)/$(GET_HASH_GEN)            \
-               -f $< > $@.tmp;                                         \
-       mv $@.tmp $@;
+main/get_hash.h: ../mapi/glapi/gen/gl_and_es_API.xml main/get_hash_params.py \
+                 main/get_hash_generator.py
+       $(PYTHON_GEN) $(srcdir)/main/get_hash_generator.py \
+               -f $(srcdir)/../mapi/glapi/gen/gl_and_es_API.xml > $@
 
-main/format_info.h: main/formats.csv                                    \
+main/format_info.h: main/formats.csv \
                     main/format_parser.py main/format_info.py
-       $(AM_V_GEN)set -e;                                              \
-       $(PYTHON2) $(PYTHON_FLAGS) $(srcdir)/main/format_info.py        \
-                   $< > $@.tmp;                                         \
-       mv $@.tmp $@;
+       $(PYTHON_GEN) $(srcdir)/main/format_info.py $(srcdir)/main/formats.csv > $@
 
-main/format_pack.c: main/format_pack.py main/formats.csv               \
+main/format_pack.c: main/format_pack.py main/formats.csv \
                     main/format_parser.py
-       $(AM_V_GEN)set -e;                                              \
-       $(PYTHON2) $(PYTHON_FLAGS)                                      \
-                       $(srcdir)/main/format_pack.py                   \
-                       $(srcdir)/main/formats.csv                      \
-               | $(INDENT) $(INDENT_FLAGS) > $@;
+       $(PYTHON_GEN) $(srcdir)/main/format_pack.py $(srcdir)/main/formats.csv > $@
 
 main/format_unpack.c: main/format_unpack.py main/formats.csv   \
                       main/format_parser.py
-       $(AM_V_GEN)set -e;                                              \
-       $(PYTHON2) $(PYTHON_FLAGS)                                      \
-                       $(srcdir)/main/format_unpack.py                 \
-                       $(srcdir)/main/formats.csv                      \
-               | $(INDENT) $(INDENT_FLAGS) > $@;
+       $(PYTHON_GEN) $(srcdir)/main/format_unpack.py $(srcdir)/main/formats.csv > $@
 
 main/formats.c: main/format_info.h
 
@@ -201,13 +188,17 @@ libmesa_sse41_la_CFLAGS = $(AM_CFLAGS) $(SSE41_CFLAGS)
 pkgconfigdir = $(libdir)/pkgconfig
 pkgconfig_DATA = gl.pc
 
+MKDIR_GEN = $(AM_V_at)$(MKDIR_P) $(@D)
+YACC_GEN = $(AM_V_GEN)$(YACC) $(YFLAGS)
+LEX_GEN = $(AM_V_GEN)$(LEX) $(LFLAGS)
+
 program/lex.yy.c: program/program_lexer.l
-       $(AM_V_at)$(MKDIR_P) program
-       $(AM_V_GEN) $(LEX) --never-interactive --outfile=$@ $<
+       $(MKDIR_GEN)
+       $(LEX_GEN) -o $@ $(srcdir)/program/program_lexer.l
 
 program/program_parse.tab.c program/program_parse.tab.h: program/program_parse.y
-       $(AM_V_at)$(MKDIR_P) program
-       $(AM_V_GEN) $(YACC) -p "_mesa_program_" -v -d --output=program/program_parse.tab.c $<
+       $(MKDIR_GEN)
+       $(YACC_GEN) -o $@ -p "_mesa_program_" --defines=$(builddir)/program/program_parse.tab.h $(srcdir)/program/program_parse.y
 
 if GEN_ASM_OFFSETS
 matypes.h: $(gen_matypes_SOURCES)