summaryrefslogtreecommitdiffstats
path: root/src/glsl/Makefile
diff options
context:
space:
mode:
authorPaul Berry <[email protected]>2011-06-29 12:30:04 -0700
committerPaul Berry <[email protected]>2011-07-22 09:45:11 -0700
commitf1f76e157ed1ba554fc3a0172113997344049e07 (patch)
treed8c770f1602998a17f89156307536a670db6ded4 /src/glsl/Makefile
parentf129f618fe8a5397774484f1b7afb42d4be809a0 (diff)
glsl: Create a standalone executable for testing optimization passes.
This patch adds a new build artifact, glsl_test, which can be used for testing optimization passes in isolation. I'm hoping that we will be able to add other useful standalone tests to this executable in the future. Accordingly, it is built in a modular fashion: the main() function uses its first argument to determine which test function to invoke, removes that argument from argv[], and then calls that function to interpret the rest of the command line arguments and perform the test. Currently the only test function is "optpass", which tests optimization passes.
Diffstat (limited to 'src/glsl/Makefile')
-rw-r--r--src/glsl/Makefile24
1 files changed, 21 insertions, 3 deletions
diff --git a/src/glsl/Makefile b/src/glsl/Makefile
index edfb35eb0b8..005b51d724b 100644
--- a/src/glsl/Makefile
+++ b/src/glsl/Makefile
@@ -89,7 +89,7 @@ CXX_SOURCES = \
LIBS = \
$(TOP)/src/glsl/libglsl.a
-APPS = glsl_compiler glcpp/glcpp
+APPS = glsl_compiler glsl_test glcpp/glcpp
GLSL2_C_SOURCES = \
../mesa/program/hash_table.c \
@@ -102,6 +102,19 @@ 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 += \
@@ -130,7 +143,9 @@ ALL_SOURCES = \
$(C_SOURCES) \
$(CXX_SOURCES) \
$(GLSL2_CXX_SOURCES) \
- $(GLSL2_C_SOURCES)
+ $(GLSL2_C_SOURCES) \
+ $(TEST_CXX_SOURCES) \
+ $(TEST_C_SOURCES)
##### TARGETS #####
@@ -152,7 +167,7 @@ depend: $(ALL_SOURCES) Makefile
# Remove .o and backup files
clean: clean-dricore
- rm -f $(GLCPP_OBJECTS) $(GLSL2_OBJECTS) $(OBJECTS) lib$(LIBNAME).a depend depend.bak builtin_function.cpp builtin_function.o builtin_stubs.o builtin_compiler
+ 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:
@@ -175,6 +190,9 @@ install-dricore: default
glsl_compiler: $(GLSL2_OBJECTS) libglsl.a builtin_stubs.o
$(APP_CXX) $(INCLUDES) $(CFLAGS) $(LDFLAGS) $(GLSL2_OBJECTS) builtin_stubs.o $(LIBS) -o $@
+glsl_test: $(TEST_OBJECTS) libglsl.a builtin_stubs.o
+ $(APP_CXX) $(INCLUDES) $(CFLAGS) $(LDFLAGS) $(TEST_OBJECTS) builtin_stubs.o $(LIBS) -o $@
+
glcpp: glcpp/glcpp
glcpp/glcpp: $(GLCPP_OBJECTS)
$(APP_CC) $(INCLUDES) $(CFLAGS) $(LDFLAGS) $(GLCPP_OBJECTS) -o $@