]> git.sesse.net Git - nageru/blob - Makefile
Throw up some widgets.
[nageru] / Makefile
1 CXX=g++
2 PKG_MODULES := Qt5Core Qt5Gui Qt5Widgets Qt5PrintSupport libjpeg
3 CXXFLAGS ?= -O2 -g -Wall  # Will be overridden by environment.
4 CXXFLAGS += -std=gnu++11 -fPIC $(shell pkg-config --cflags $(PKG_MODULES)) -pthread
5
6 LDLIBS=$(shell pkg-config --libs $(PKG_MODULES)) -pthread -lavformat -lavcodec -lavutil -lswscale
7
8 # Qt objects
9 OBJS_WITH_MOC = mainwindow.o
10 OBJS += $(OBJS_WITH_MOC)
11 OBJS += $(OBJS_WITH_MOC:.o=.moc.o) 
12
13 OBJS += ffmpeg_raii.o main.o
14
15 %.o: %.cpp
16         $(CXX) -MMD -MP $(CPPFLAGS) $(CXXFLAGS) -o $@ -c $<
17 %.o: %.cc
18         $(CXX) -MMD -MP $(CPPFLAGS) $(CXXFLAGS) -o $@ -c $<
19 %.pb.cc %.pb.h : %.proto
20         $(PROTOC) --cpp_out=. $<
21
22 %.h: %.ui
23         uic $< -o $@
24
25 %.moc.cpp: %.h
26         moc $< -o $@
27
28 all: futatabi
29
30 mainwindow.o: ui_mainwindow.h
31
32 futatabi: $(OBJS) $(CEF_LIBS)
33         $(CXX) -o $@ $^ $(LDFLAGS) $(LDLIBS)
34
35 DEPS=$(OBJS:.o=.d)
36 -include $(DEPS)
37
38 clean:
39         $(RM) $(OBJS) $(DEPS) futatabi $(OBJS_WITH_MOC:.o=.moc.cpp)