]> git.sesse.net Git - nageru/blobdiff - Makefile
Refcount the input frames directly instead of trying to free them after-the-fact...
[nageru] / Makefile
index 99584507c765bc28642c9354ad27f98fafde34b2..624ddcdef19c65214a1a4a02db074c3f35f0e6e1 100644 (file)
--- a/Makefile
+++ b/Makefile
@@ -1,13 +1,20 @@
 CXX=g++
-CXXFLAGS := -O2 -march=native -g -std=gnu++11 -Wall -Wno-deprecated-declarations -fPIC $(shell pkg-config --cflags Qt5Core Qt5Widgets Qt5OpenGLExtensions libusb-1.0 movit) -pthread
-LDFLAGS=$(shell pkg-config --libs Qt5Core Qt5Widgets Qt5OpenGLExtensions libusb-1.0 movit) -lEGL -lGL -pthread -lva -lva-drm -lva-x11 -lX11 -lavformat -lavcodec -lavutil
+PKG_MODULES = Qt5Core Qt5Gui Qt5Widgets Qt5OpenGLExtensions Qt5OpenGL libusb-1.0 movit
+CXXFLAGS := -O2 -march=native -g -std=gnu++11 -Wall -Wno-deprecated-declarations -fPIC $(shell pkg-config --cflags $(PKG_MODULES)) -pthread -DMOVIT_SHADER_DIR=\"$(shell pkg-config --variable=shaderdir movit)\"
+LDFLAGS=$(shell pkg-config --libs $(PKG_MODULES)) -lEGL -lGL -pthread -lva -lva-drm -lva-x11 -lX11 -lavformat -lavcodec -lavutil
 
 # Qt objects
 OBJS=glwidget.o main.o mainwindow.o window.o
 OBJS += glwidget.moc.o mainwindow.moc.o window.moc.o
 
 # Mixer objects
-OBJS += h264encode.o mixer.o bmusb.o pbo_frame_allocator.o context.o
+OBJS += h264encode.o mixer.o bmusb.o pbo_frame_allocator.o context.o ref_counted_frame.o
+
+%.o: %.cpp
+       $(CXX) -MMD -MP $(CPPFLAGS) $(CXXFLAGS) -o $@ -c $<
+
+%.cpp: %.ui
+       uic $< -o $@
 
 %.moc.cpp: %.h
        moc $< -o $@
@@ -17,4 +24,10 @@ all: nageru
 nageru: $(OBJS)
        $(CXX) $(LDFLAGS) -o $@ $^
 
+mainwindow.o: mainwindow.cpp ui_mainwindow.cpp
+
+DEPS=$(OBJS:.o=.d)
+-include $(DEPS)
 
+clean:
+       $(RM) $(OBJS) $(DEPS) nageru ui_mainwindow.cpp chain-*.frag *.dot