automake: convert libglsl

v2: Use AM_V_GEN to silence generated code rules. Add BUILT_SOURCES to CLEANFILES
v3:
- Fix an accidental // in a path
- Use automake make rules for lex/yacc rather than writing our own
- Update .gitignore appropriately
- Build a libglcpp convenience library rather than awkwardly including
the files in libglsl and delegating the generation
- Remove libglsl.a compatibility link on clean
v4:
- Automake's rules for lex/yacc make .cc if source is .ll or .yy, and apparently we
must use those extensions "because of scons", so update everywhere glsl_parser.cpp
-> glsl_parser.cc and glsl_lexer.cpp -> glsl_lexer.cc. This fixes 'make tarballs'
and building with dricore enabled.

Signed-off-by: Jon TURNEY <jon.turney@dronecode.org.uk>
Reviewed-by: Eric Anholt <eric@anholt.net>
Tested-by: Matt Turner <mattst88@gmail.com>
This commit is contained in:
Jon TURNEY
2012-06-28 23:15:48 +01:00
parent 284325d97b
commit 68e04cc601
10 changed files with 176 additions and 151 deletions

View File

@@ -4,3 +4,4 @@ glcpp-parse.output
glcpp-parse.c
glcpp-parse.h
tests/*.out
/Makefile

View File

@@ -0,0 +1,57 @@
# Copyright © 2012 Jon TURNEY
#
# Permission is hereby granted, free of charge, to any person obtaining a
# copy of this software and associated documentation files (the "Software"),
# to deal in the Software without restriction, including without limitation
# the rights to use, copy, modify, merge, publish, distribute, sublicense,
# and/or sell copies of the Software, and to permit persons to whom the
# Software is furnished to do so, subject to the following conditions:
#
# The above copyright notice and this permission notice (including the next
# paragraph) shall be included in all copies or substantial portions of the
# Software.
#
# THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
# IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
# FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL
# THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
# LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING
# FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS
# IN THE SOFTWARE.
# Hack to make some of the non-automake variables work.
TOP=$(top_builddir)
GLSL_SRCDIR=$(top_srcdir)/src/glsl
include ../Makefile.sources
AM_CFLAGS = \
-I$(top_srcdir)/include \
-I$(top_srcdir)/src/mapi \
-I$(top_srcdir)/src/mesa/ \
$(LIBRARY_INCLUDES) \
$(DEFINES) \
$(LIBRARY_DEFINES) \
$(API_DEFINES)
AM_YFLAGS = -v -d
AM_LFLAGS = --nounistd -o$(LEX_OUTPUT_ROOT).c
noinst_LTLIBRARIES = libglcpp.la
noinst_PROGRAMS = glcpp
libglcpp_la_SOURCES = \
glcpp-lex.l \
glcpp-parse.y \
$(LIBGLCPP_FILES)
glcpp_SOURCES = \
../ralloc.c \
$(top_srcdir)/src/mesa/program/hash_table.c \
glcpp.c
glcpp_LDADD = libglcpp.la
BUILT_SOURCES = glcpp-lex.c glcpp-parse.c glcpp-parse.h
CLEANFILES = $(BUILT_SOURCES)