blob: 20b7d246387ef29380b0f41af7aba8be7940d4cc [file] [log] [blame]
#
# Makefile for the GLSL Optimizer component of the Regal runtime.
# The GLSL Optimizer is always build into Regal, but you can build
# just this target static library with:
# make -f Makefile.glslopt
#
ifndef MAKEFILE_GLSLOPT_INCLUDED
MAKEFILE_GLSLOPT_INCLUDED := 1
.PHONY: glslopt.lib glslopt.clean
include build/common.inc
include build/glslopt.inc
ifdef GLSLOPT.STATIC
all:: glslopt.lib
clean:: glslopt.clean
GLSLOPT.SRCS := $(GLSLOPT.CXX)
GLSLOPT.SRCS := $(filter %.c,$(GLSLOPT.SRCS)) $(filter %.cc,$(GLSLOPT.SRCS)) $(filter %.cpp,$(GLSLOPT.SRCS))
GLSLOPT.SRCS.NAMES := $(notdir $(GLSLOPT.SRCS))
GLSLOPT.OBJS := $(addprefix tmp/$(SYSTEM)/glslopt/static/,$(GLSLOPT.SRCS.NAMES))
GLSLOPT.OBJS := $(GLSLOPT.OBJS:.c=.o) $(GLSLOPT.OBJS:.cpp=.o)
GLSLOPT.OBJS := $(filter %.o,$(GLSLOPT.OBJS))
GLSLOPT.DEPS := $(GLSLOPT.OBJS:.o=.d)
GLSLOPT.CFLAGS := $(GLSLOPT.INCLUDE)
# quiet build for this thirdparty code for now
GLSLOPT.CFLAGS += -Wno-ignored-qualifiers -Wno-sign-compare -Wno-unneeded-internal-declaration -Wno-overloaded-virtual -Wno-unused-private-field
ifeq ($(MODE),release)
GLSLOPT.CFLAGS += -DNDEBUG
GLSLOPT.CFLAGS += -DREGAL_NO_ASSERT=1
endif
-include $(GLSLOPT.DEPS) #seth: do I need ot set this?
glslopt.lib: lib/$(SYSTEM)/$(GLSLOPT.STATIC)
glslopt.clean:
$(RM) -r tmp/$(SYSTEM)/glslopt/static
$(RM) -r lib/$(SYSTEM)/$(GLSLOPT.STATIC)
tmp/$(SYSTEM)/glslopt/static/%.o: src/glsl/src/mesa/main/%.c
@mkdir -p $(dir $@)
$(LOG_CC)$(CCACHE) $(CC) $(CFLAGS) $(GLSLOPT.CFLAGS) $(PICFLAG) -o $@ -c $<
tmp/$(SYSTEM)/glslopt/static/%.o: src/glsl/src/mesa/program/%.c
@mkdir -p $(dir $@)
$(LOG_CC)$(CCACHE) $(CC) $(CFLAGS) $(GLSLOPT.CFLAGS) $(PICFLAG) -o $@ -c $<
tmp/$(SYSTEM)/glslopt/static/%.o: src/glsl/src/glsl/glcpp/%.c
@mkdir -p $(dir $@)
$(LOG_CC)$(CCACHE) $(CC) $(CFLAGS) $(GLSLOPT.CFLAGS) $(PICFLAG) -o $@ -c $<
tmp/$(SYSTEM)/glslopt/static/%.o: src/glsl/src/glsl/%.c
@mkdir -p $(dir $@)
$(LOG_CC)$(CCACHE) $(CC) $(CFLAGS) $(GLSLOPT.CFLAGS) $(PICFLAG) -o $@ -c $<
tmp/$(SYSTEM)/glslopt/static/%.o: src/glsl/src/glsl/%.cpp
@mkdir -p $(dir $@)
$(LOG_CXX)$(CCACHE) $(CXX) $(CFLAGS) $(GLSLOPT.CFLAGS) $(PICFLAG) -o $@ -c $<
lib/$(SYSTEM)/$(GLSLOPT.STATIC): $(GLSLOPT.OBJS)
@mkdir -p $(dir $@)
$(LOG_AR)$(CCACHE) $(AR) cr $@ $(GLSLOPT.OBJS)
ifneq ($(RANLIB),)
$(LOG_RANLIB)$(RANLIB) $@
endif
ifneq ($(STRIP),)
$(LOG_STRIP)$(STRIP) -x $@
endif
endif
endif