Skip to content

Instantly share code, notes, and snippets.

@admshao
Created September 25, 2015 00:01
Show Gist options
  • Save admshao/1c13c5cf6589920abddc to your computer and use it in GitHub Desktop.
Save admshao/1c13c5cf6589920abddc to your computer and use it in GitHub Desktop.
ifndef OBS_INCLUDE
OBS_INCLUDE = /usr/include/obs
endif
ifndef OBS_LIB
OBS_LIB = /usr/lib
endif
CXXFLAGS = -std=c++11 -Wall -g -fPIC -I$(OBS_INCLUDE) -I./src -I/home/shaolin/Qt/5.5/gcc_64/include -I/home/shaolin/Qt/5.5/gcc_64/include/QtGui -I/home/shaolin/Qt/5.5/gcc_64/include/QtWebKitWidgets -I/home/shaolin/Qt/5.5/gcc_64/include/QtWidgets -I/home/shaolin/Qt/5.5/gcc_64/include/QtCore -I/home/shaolin/Qt/5.5/gcc_64/include/QtNetwork
CXX = g++
RM = /bin/rm -rf
LDFLAGS = -L$(OBS_LIB)
LDLIBS_LIB = -lobs -lrt
LDLIBS_RENDERER = -L/home/shaolin/Qt/5.5/gcc_64/lib -lrt
LIB = build/qtwebkit-browser.so
LIB_OBJ = build/qtwebkit-main.o build/qtwebkit-source.o build/qtwebkit-manager.o
RENDERER = build/renderer
RENDERER_SRC = src/qtwebkit-renderer.cpp
RENDERER_OBJ = build/qtwebkit-renderer.o
PLUGIN_BUILD_DIR = build/qtwebkit-browser
PLUGIN_INSTALL_DIR = ~/.config/obs-studio/plugins
ifdef OBS_PLUGIN_INSTALL_OLD
PLUGIN_INSTALL_DIR = ~/.obs-studio/plugins
endif
PLUGIN_DATA_DIR = data
ARCH = $(shell getconf LONG_BIT)
PLUGIN_BIN_DIR = $(PLUGIN_BUILD_DIR)/bin/$(ARCH)bit
ifdef OBS_PLUGIN_BUILD_OLD
PLUGIN_BIN_DIR = $(PLUGIN_BUILD_DIR)/bin
endif
all: plugin
.PHONY: plugin
plugin: $(LIB) $(RENDERER)
mkdir -p $(PLUGIN_BIN_DIR)
cp $(LIB) $(RENDERER) $(PLUGIN_BIN_DIR)
cp -r $(PLUGIN_DATA_DIR) $(PLUGIN_BUILD_DIR)
.PHONY: install
install:
mkdir -p $(PLUGIN_INSTALL_DIR)
cp -r $(PLUGIN_BUILD_DIR) $(PLUGIN_INSTALL_DIR)
$(RENDERER): $(RENDERER_OBJ)
$(CXX) $(LDFLAGS) $^ $(LDLIBS_RENDERER) -o $@
$(LIB): $(LIB_OBJ)
$(CXX) -shared $(LDFLAGS) $^ $(LDLIBS_LIB) -o $@
build/%.o: src/%.cpp
$(CXX) -c $(CXXFLAGS) $< -o $@
.PHONY: clean
clean:
$(RM) $(LIB_OBJ) $(LIB) $(RENDERER_OBJ) $(RENDERER) $(PLUGIN_BUILD_DIR)
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment