+CXXFLAGS=-Wall -g -I$(GTEST_DIR)/include $(EIGEN_CXXFLAGS) $(GLEW_CXXFLAGS)
+LDFLAGS=-lSDL -lSDL_image -lGL -lrt -lpthread $(GLEW_LIBS)
+RANLIB=ranlib
+
+ifeq ($(COVERAGE),1)
+CXXFLAGS += -fprofile-arcs -ftest-coverage
+LDFLAGS += -fprofile-arcs -ftest-coverage
+endif
+
+DEMO_OBJS=demo.o
+
+# Unit tests.
+TESTS=effect_chain_test
+TESTS += mix_effect_test
+TESTS += overlay_effect_test
+TESTS += gamma_expansion_effect_test
+TESTS += gamma_compression_effect_test
+TESTS += colorspace_conversion_effect_test
+TESTS += alpha_multiplication_effect_test
+TESTS += alpha_division_effect_test
+TESTS += saturation_effect_test
+TESTS += deconvolution_sharpen_effect_test
+TESTS += blur_effect_test
+TESTS += unsharp_mask_effect_test
+TESTS += diffusion_effect_test
+TESTS += white_balance_effect_test
+TESTS += lift_gamma_gain_effect_test
+TESTS += resample_effect_test
+TESTS += dither_effect_test
+TESTS += flat_input_test
+TESTS += ycbcr_input_test
+
+# Core.
+LIB_OBJS=util.o widgets.o effect.o effect_chain.o init.o
+
+# Inputs.
+LIB_OBJS += flat_input.o
+LIB_OBJS += ycbcr_input.o
+
+# Effects.
+LIB_OBJS += lift_gamma_gain_effect.o
+LIB_OBJS += white_balance_effect.o
+LIB_OBJS += gamma_expansion_effect.o
+LIB_OBJS += gamma_compression_effect.o
+LIB_OBJS += colorspace_conversion_effect.o
+LIB_OBJS += alpha_multiplication_effect.o
+LIB_OBJS += alpha_division_effect.o
+LIB_OBJS += saturation_effect.o
+LIB_OBJS += vignette_effect.o
+LIB_OBJS += mirror_effect.o
+LIB_OBJS += blur_effect.o
+LIB_OBJS += diffusion_effect.o
+LIB_OBJS += glow_effect.o
+LIB_OBJS += unsharp_mask_effect.o
+LIB_OBJS += mix_effect.o
+LIB_OBJS += overlay_effect.o
+LIB_OBJS += resize_effect.o
+LIB_OBJS += resample_effect.o
+LIB_OBJS += dither_effect.o
+LIB_OBJS += deconvolution_sharpen_effect.o
+LIB_OBJS += sandbox_effect.o