]> git.sesse.net Git - movit/blobdiff - Makefile.in
Compile shaders into the library.
[movit] / Makefile.in
index b021ded07dfeb9581cc249d4fc12299d2abd7417..1d874e991f64bf790450a768d08f9eb96dd18301 100644 (file)
@@ -90,7 +90,7 @@ EFFECTS = $(TESTED_EFFECTS) $(UNTESTED_EFFECTS)
 # Unit tests.
 TESTS=effect_chain_test fp16_test $(TESTED_INPUTS:=_test) $(TESTED_EFFECTS:=_test)
 
-LIB_OBJS=effect_util.o util.o effect.o effect_chain.o init.o resource_pool.o ycbcr.o $(INPUTS:=.o) $(EFFECTS:=.o)
+LIB_OBJS=effect_util.o util.o effect.o effect_chain.o init.o resource_pool.o ycbcr.o bundled_shaders.o $(INPUTS:=.o) $(EFFECTS:=.o)
 
 # Default target:
 all: libmovit.la $(TESTS)
@@ -135,7 +135,8 @@ DEPS=$(OBJS:.o=.d) $(OBJS:.o=.ld)
 
 clean:
        $(LIBTOOL) --mode=clean $(RM) demo $(TESTS) libmovit.la $(OBJS) $(OBJS:.o=.lo)
-       $(RM) $(OBJS:.o=.gcno) $(OBJS:.o=.gcda) $(DEPS) step*.dot chain*.frag
+       $(LIBTOOL) --mode=clean $(RM) $(MAKE_BUNDLE_OBJS) $(MAKE_BUNDLE_OBJS:.o=.lo) make_bundled_shaders bundled_shaders.cpp
+       $(RM) $(OBJS:.o=.gcno) $(OBJS:.o=.gcda) $(MAKE_BUNDLE_OBJS:.o=.gcno) $(MAKE_BUNDLE_OBJS:.o=.gcda) $(DEPS) step*.dot chain*.frag
        $(RM) -r movit.info coverage/ .libs/
 
 distclean: clean
@@ -180,6 +181,13 @@ MISSING_SHADERS = diffusion_effect.frag glow_effect.frag unsharp_mask_effect.fra
 MISSING_SHADERS += fft_convolution_effect.frag fft_input.frag
 SHADERS := $(filter-out $(MISSING_SHADERS),$(SHADERS))
 
+# A program to compile all the shaders into one bundle that we can link into the library.
+MAKE_BUNDLE_OBJS=make_bundled_shaders.o util.o init.o resource_pool.o
+make_bundled_shaders: $(MAKE_BUNDLE_OBJS)
+       $(LIBTOOL) --mode=link $(CXX) $(LDFLAGS) -o make_bundled_shaders $(MAKE_BUNDLE_OBJS) -lepoxy 
+bundled_shaders.cpp: make_bundled_shaders $(SHADERS)
+       ./make_bundled_shaders $(SHADERS) > $@
+
 install: libmovit.la
        $(MKDIR) -p $(DESTDIR)$(libdir)/
        $(LIBTOOL) --mode=install $(INSTALL) -m 0644 libmovit.la $(DESTDIR)$(libdir)/
@@ -197,7 +205,6 @@ dist:
        $(MKDIR) $(DISTDIR)
        cp $(OWN_OBJS:.o=.cpp) $(DISTDIR)/
        cp $(HDRS) $(DISTDIR)/
-       cp $(SHADERS) $(DISTDIR)/
        cp $(OTHER_DIST_FILES) $(DISTDIR)/
        ( cd $(DISTDIR) && aclocal && libtoolize --install --copy && autoconf && $(RM) -r autom4te.cache/ )
        tar zcvvf ../$(DISTDIR).tar.gz $(DISTDIR)