diff options
Diffstat (limited to 'src/glsl')
-rw-r--r-- | src/glsl/.gitignore | 8 | ||||
-rw-r--r-- | src/glsl/Makefile | 172 | ||||
-rw-r--r-- | src/glsl/Makefile.am | 81 | ||||
-rw-r--r-- | src/glsl/glcpp/.gitignore | 3 | ||||
-rw-r--r-- | src/glsl/glcpp/Makefile.am | 44 |
5 files changed, 172 insertions, 136 deletions
diff --git a/src/glsl/.gitignore b/src/glsl/.gitignore index c692f491de6..d26839a3e3e 100644 --- a/src/glsl/.gitignore +++ b/src/glsl/.gitignore @@ -1,13 +1,5 @@ -.deps -.libs -Makefile -Makefile.in -libglsl.la -libglslcore.la glsl_compiler -glsl_lexer.cc glsl_lexer.cpp -glsl_parser.cc glsl_parser.cpp glsl_parser.h glsl_parser.output diff --git a/src/glsl/Makefile b/src/glsl/Makefile new file mode 100644 index 00000000000..f6c722997e3 --- /dev/null +++ b/src/glsl/Makefile @@ -0,0 +1,172 @@ + +#src/glsl/pp/Makefile + +TOP = ../.. + +include $(TOP)/configs/current + +LIBNAME = glsl + +include Makefile.sources + +GLCPP_SOURCES = \ + $(LIBGLCPP_GENERATED_FILES) \ + $(LIBGLCPP_FILES) \ + ralloc.c \ + glcpp/glcpp.c + +C_SOURCES = \ + $(LIBGLCPP_GENERATED_FILES) \ + $(LIBGLCPP_FILES) \ + $(LIBGLSL_FILES) + +# common sources for builtin_compiler and libglsl +CXX_SOURCES = \ + $(BUILTIN_COMPILER_GENERATED_CXX_FILES) \ + $(LIBGLSL_CXX_FILES) + +LIBS = \ + $(TOP)/src/glsl/libglsl.a + +APPS = glsl_compiler glsl_test glcpp/glcpp + +GLSL2_C_SOURCES = \ + ../mesa/program/hash_table.c \ + ../mesa/program/symbol_table.c +GLSL2_CXX_SOURCES = \ + $(GLSL_COMPILER_CXX_FILES) + +GLSL2_OBJECTS = \ + $(GLSL2_C_SOURCES:.c=.o) \ + $(GLSL2_CXX_SOURCES:.cpp=.o) + +TEST_C_SOURCES = \ + ../mesa/program/hash_table.c \ + ../mesa/program/symbol_table.c + +TEST_CXX_SOURCES = \ + standalone_scaffolding.cpp \ + test.cpp \ + test_optpass.cpp + +TEST_OBJECTS = \ + $(TEST_C_SOURCES:.c=.o) \ + $(TEST_CXX_SOURCES:.cpp=.o) + +### Basic defines ### + +DEFINES += \ + $(LIBRARY_DEFINES) \ + $(API_DEFINES) + +GLCPP_OBJECTS = \ + $(GLCPP_SOURCES:.c=.o) \ + ../mesa/program/hash_table.o + +OBJECTS = \ + $(C_SOURCES:.c=.o) \ + $(CXX_SOURCES:.cpp=.o) + +DRICORE_OBJ_DIR = obj-visible +OBJECTS_DRICORE = $(addprefix $(DRICORE_OBJ_DIR)/,$(OBJECTS)) + +INCLUDES = \ + -I. \ + -I../mesa \ + -I../mapi \ + -I../../include \ + $(LIBRARY_INCLUDES) + +ALL_SOURCES = \ + $(C_SOURCES) \ + $(CXX_SOURCES) \ + $(GLSL2_CXX_SOURCES) \ + $(GLSL2_C_SOURCES) \ + $(TEST_CXX_SOURCES) \ + $(TEST_C_SOURCES) + +##### TARGETS ##### + +default: depend lib$(LIBNAME).a $(APPS) $(DRICORE_GLSL_LIBS) + +$(TOP)/$(LIB_DIR)/libglsl.so: $(OBJECTS_DRICORE) builtin_function.o Makefile $(TOP)/src/glsl/Makefile.template + $(MKLIB) -o $@ -linker '$(CXX)' -ldflags '$(LDFLAGS)' \ + -cplusplus -noprefix \ + -install $(TOP)/$(LIB_DIR) -id $(INSTALL_LIB_DIR)/[email protected] \ + $(OBJECTS_DRICORE) builtin_function.o + +lib$(LIBNAME).a: $(OBJECTS) builtin_function.o Makefile $(TOP)/src/glsl/Makefile.template + $(MKLIB) -cplusplus -o $(LIBNAME) -static $(OBJECTS) builtin_function.o + +depend: $(ALL_SOURCES) Makefile + rm -f depend + touch depend + $(MKDEP) $(MKDEP_OPTIONS) $(INCLUDES) $(ALL_SOURCES) 2> /dev/null + $(MKDEP) $(MKDEP_OPTIONS) -a -p $(DRICORE_OBJ_DIR)/ $(INCLUDES) $(ALL_SOURCES) 2> /dev/null + +# Remove .o and backup files +clean: clean-dricore + rm -f $(GLCPP_OBJECTS) $(GLSL2_OBJECTS) $(TEST_OBJECTS) $(OBJECTS) lib$(LIBNAME).a depend depend.bak builtin_function.cpp builtin_function.o builtin_stubs.o builtin_compiler + -rm -f $(APPS) + +clean-dricore: + -rm -f $(OBJECTS_DRICORE) $(TOP)/$(LIB_DIR)/libglsl.so libglsl.so + +ifneq (,$(DRICORE_GLSL_LIBS)) +DRICORE_INSTALL_TARGET = install-dricore +endif + +# Dummy target +install: $(DRICORE_INSTALL_TARGET) + @echo -n "" + +install-dricore: default + $(INSTALL) -d $(DESTDIR)$(DRI_DRIVER_INSTALL_DIR) + $(INSTALL) -m 755 $(DRICORE_GLSL_LIBS) $(DESTDIR)$(DRI_DRIVER_INSTALL_DIR) + +##### RULES ##### + +glsl_compiler: $(GLSL2_OBJECTS) libglsl.a + $(APP_CXX) $(INCLUDES) $(CFLAGS) $(LDFLAGS) $(GLSL2_OBJECTS) $(LIBS) -o $@ + +glsl_test: $(TEST_OBJECTS) libglsl.a + $(APP_CXX) $(INCLUDES) $(CFLAGS) $(LDFLAGS) $(TEST_OBJECTS) $(LIBS) -o $@ + +glcpp: glcpp/glcpp +glcpp/glcpp: $(GLCPP_OBJECTS) + $(APP_CC) $(INCLUDES) $(CFLAGS) $(LDFLAGS) $(GLCPP_OBJECTS) -o $@ + +.cpp.o: + $(CXX) -c $(INCLUDES) $(CXXFLAGS) $(DEFINES) $< -o $@ + +.c.o: + $(CC) -c $(INCLUDES) $(CFLAGS) $(DEFINES) $< -o $@ + +$(DRICORE_OBJ_DIR)/%.o : %.cpp + @mkdir -p $(dir $@) + $(CXX) -c $(INCLUDES) $(DRI_CXXFLAGS) $(DEFINES) $< -o $@ + +$(DRICORE_OBJ_DIR)/%.o : %.c + @mkdir -p $(dir $@) + $(CC) -c $(INCLUDES) $(DRI_CFLAGS) $(DEFINES) $< -o $@ + +glsl_lexer.cpp: glsl_lexer.ll + $(FLEX) --nounistd -o$@ $< + +glsl_parser.cpp: glsl_parser.yy + $(BISON) -v -o "$@" -p "_mesa_glsl_" --defines=glsl_parser.h $< + +glcpp/glcpp-lex.c: glcpp/glcpp-lex.l + $(FLEX) --nounistd -o$@ $< + +glcpp/glcpp-parse.c: glcpp/glcpp-parse.y + $(BISON) -v -o "$@" --defines=glcpp/glcpp-parse.h $< + +builtin_compiler: $(GLSL2_OBJECTS) $(OBJECTS) builtin_stubs.o + $(APP_CXX) $(INCLUDES) $(CXXFLAGS) $(LDFLAGS) $(OBJECTS) $(GLSL2_OBJECTS) builtin_stubs.o -o $@ + +builtin_function.cpp: builtins/profiles/* builtins/ir/* builtins/tools/generate_builtins.py builtins/tools/texture_builtins.py builtin_compiler + @echo Regenerating builtin_function.cpp... + $(PYTHON2) $(PYTHON_FLAGS) builtins/tools/generate_builtins.py ./builtin_compiler > builtin_function.cpp || rm -f builtin_function.cpp + +-include depend diff --git a/src/glsl/Makefile.am b/src/glsl/Makefile.am deleted file mode 100644 index 955556b64a3..00000000000 --- a/src/glsl/Makefile.am +++ /dev/null @@ -1,81 +0,0 @@ - - -# Copyright © 2012 Matt Turner <[email protected]> -# -# 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. - -include Makefile.sources - -SUBDIRS = glcpp - -noinst_LTLIBRARIES = libglslcore.la -lib_LTLIBRARIES = libglsl.la -check_PROGRAMS = glsl_test -noinst_PROGRAMS = builtin_compiler -bin_PROGRAMS = glsl_compiler - -AM_CPPFLAGS = \ - $(DEFINES) \ - -I$(top_srcdir)/src/mesa \ - -I$(top_srcdir)/src/mapi \ - -I$(top_srcdir)/include - -BUILT_SOURCES = glsl_parser.h -AM_YFLAGS = -d -p "_mesa_glsl_" -AM_LFLAGS = --nounistd -o$(LEX_OUTPUT_ROOT).c - -libglslcore_la_SOURCES = \ - strtod.c \ - glsl_lexer.ll \ - glsl_parser.yy \ - $(LIBGLSL_CXX_FILES) -libglslcore_la_LIBADD = glcpp/libglcpp.la - -builtin_compiler_SOURCES = \ - builtin_stubs.cpp \ - main.cpp \ - standalone_scaffolding.cpp \ - ../mesa/program/symbol_table.c -builtin_compiler_LDADD = libglslcore.la - -libglsl_la_SOURCES = builtin_function.cpp -libglsl_la_LIBADD = libglslcore.la -libglsl_la_LDFLAGS = -avoid-version - -glsl_compiler_SOURCES = \ - main.cpp \ - standalone_scaffolding.cpp \ - ../mesa/program/symbol_table.c -glsl_compiler_LDADD = libglsl.la - -glsl_test_SOURCES = \ - test.cpp \ - test_optpass.cpp \ - standalone_scaffolding.cpp \ - ../mesa/program/symbol_table.c -glsl_test_LDADD = libglsl.la - -builtin_function.cpp: builtin_compiler - $(PYTHON2) $(PYTHON_FLAGS) $(top_srcdir)/src/glsl/builtins/tools/generate_builtins.py ./builtin_compiler > builtin_function.cpp || rm -f builtin_function.cpp - -if BUILD_SHARED -all-local: libglsl.la - ln -f .libs/libglsl.so $(top_builddir)/$(LIB_DIR)/libglsl.so; -endif diff --git a/src/glsl/glcpp/.gitignore b/src/glsl/glcpp/.gitignore index 4a14d48cde4..fb0be2065b4 100644 --- a/src/glsl/glcpp/.gitignore +++ b/src/glsl/glcpp/.gitignore @@ -1,5 +1,3 @@ -Makefile -Makefile.in glcpp glcpp-lex.c glcpp-parse.output @@ -8,7 +6,6 @@ glcpp-parse.h *.o *.lo *.la -.deps .libs *~ tests/*.out diff --git a/src/glsl/glcpp/Makefile.am b/src/glsl/glcpp/Makefile.am deleted file mode 100644 index 198908c6f2a..00000000000 --- a/src/glsl/glcpp/Makefile.am +++ /dev/null @@ -1,44 +0,0 @@ - - -# Copyright © 2012 Matt Turner <[email protected]> -# -# 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. - -noinst_LTLIBRARIES = libglcpp.la -check_PROGRAMS = glcpp - -AM_CPPFLAGS = \ - -I$(top_srcdir)/src/mesa \ - -I$(top_srcdir)/src/mapi \ - -I$(top_srcdir)/include - -BUILT_SOURCES = glcpp-parse.h -AM_YFLAGS = -d -AM_LFLAGS = --nounistd -o$(LEX_OUTPUT_ROOT).c - -libglcpp_la_SOURCES = \ - glcpp-lex.l \ - glcpp-parse.y \ - pp.c \ - ../../mesa/program/hash_table.c \ - ../ralloc.c - -glcpp_SOURCES = glcpp.c -glcpp_LDADD = libglcpp.la |