diff --git a/.gitignore b/.gitignore index 39729354..3aef4fdb 100644 --- a/.gitignore +++ b/.gitignore @@ -8,6 +8,7 @@ *~ .deps Makefile.in +Makefile version.m4 docs build diff --git a/Makefile b/Makefile deleted file mode 100644 index 312834a3..00000000 --- a/Makefile +++ /dev/null @@ -1,262 +0,0 @@ -prefix = ./usr -exec_prefix = $(prefix) -bindir = $(prefix)/bin -includedir = $(prefix)/include -libdir = $(exec_prefix)/lib - -PACKAGE_VERSION := $(shell git describe --tags 2> /dev/null || cat VERSION 2> /dev/null || echo "Unknown") -DEBUG = 4 -RELEASE = Generic_$(shell getconf LONG_BIT) - -ifeq ($(PACKAGE_VERSION),Unknown) - $(warning Version is unknown - consider creating a VERSION file or fixing your git setup.) -endif - -CPPFLAGS = -Wall -g -O2 -fPIC -override CPPFLAGS += -funsigned-char -DDEBUG="$(DEBUG)" -DPACKAGE_VERSION="\"$(PACKAGE_VERSION)\"" -DRELEASE="\"$(RELEASE)\"" - -ifndef NOSHM -override CPPFLAGS += -DSHM_ENABLED=1 -endif - -ifdef WITH_THREADNAMES -override CPPFLAGS += -DWITH_THREADNAMES=1 -endif - -THREADLIB = -lpthread -lrt -LDLIBS = ${THREADLIB} -LDFLAGS = -I${includedir} -L${libdir} -lmist - - -.DEFAULT_GOAL := all - -lib: libmist.so libmist.a -all: install-lib controller analysers inputs outputs - -DOXYGEN := $(shell doxygen -v 2> /dev/null) -ifdef DOXYGEN -all: docs -else -$(warning Doxygen not installed - not building source documentation.) -endif - -controller: MistController -MistController: override LDLIBS += $(THREADLIB) -MistController: src/controller/server.html.h src/controller/* - $(CXX) $(LDFLAGS) $(CPPFLAGS) src/controller/*.cpp $(LDLIBS) -o $@ - -analysers: MistAnalyserRTMP -MistAnalyserRTMP: src/analysers/rtmp_analyser.cpp - $(CXX) $(LDFLAGS) $(CPPFLAGS) $^ $(LDLIBS) -o $@ - -analysers: MistAnalyserFLV -MistAnalyserFLV: src/analysers/flv_analyser.cpp - $(CXX) $(LDFLAGS) $(CPPFLAGS) $^ $(LDLIBS) -o $@ - -analysers: MistAnalyserDTSC -MistAnalyserDTSC: src/analysers/dtsc_analyser.cpp - $(CXX) $(LDFLAGS) $(CPPFLAGS) $^ $(LDLIBS) -o $@ - -analysers: MistAnalyserAMF -MistAnalyserAMF: src/analysers/amf_analyser.cpp - $(CXX) $(LDFLAGS) $(CPPFLAGS) $^ $(LDLIBS) -o $@ - -analysers: MistAnalyserMP4 -MistAnalyserMP4: src/analysers/mp4_analyser.cpp - $(CXX) $(LDFLAGS) $(CPPFLAGS) $^ $(LDLIBS) -o $@ - -analysers: MistAnalyserOGG -MistAnalyserOGG: src/analysers/ogg_analyser.cpp - $(CXX) $(LDFLAGS) $(CPPFLAGS) $^ $(LDLIBS) -o $@ - -analysers: MistInfo -MistInfo: src/analysers/info.cpp - $(CXX) $(LDFLAGS) $(CPPFLAGS) $^ $(LDLIBS) -o $@ - -inputs: MistInDTSC -MistInDTSC: override LDLIBS += $(THREADLIB) -MistInDTSC: override CPPFLAGS += "-DINPUTTYPE=\"input_dtsc.h\"" -MistInDTSC: src/input/mist_in.cpp src/input/input.cpp src/input/input_dtsc.cpp src/io.cpp - $(CXX) $(LDFLAGS) $(CPPFLAGS) $^ $(LDLIBS) -o $@ - -inputs: MistInMP3 -MistInMP3: override LDLIBS += $(THREADLIB) -MistInMP3: override CPPFLAGS += "-DINPUTTYPE=\"input_mp3.h\"" -MistInMP3: src/input/mist_in.cpp src/input/input.cpp src/input/input_mp3.cpp src/io.cpp - $(CXX) $(LDFLAGS) $(CPPFLAGS) $^ $(LDLIBS) -o $@ - -inputs: MistInFLV -MistInFLV: override LDLIBS += $(THREADLIB) -MistInFLV: override CPPFLAGS += "-DINPUTTYPE=\"input_flv.h\"" -MistInFLV: src/input/mist_in.cpp src/input/input.cpp src/input/input_flv.cpp src/io.cpp - $(CXX) $(LDFLAGS) $(CPPFLAGS) $^ $(LDLIBS) -o $@ - -inputs: MistInOGG -MistInOGG: override LDLIBS += $(THREADLIB) -MistInOGG: override CPPFLAGS += "-DINPUTTYPE=\"input_ogg.h\"" -MistInOGG: src/input/mist_in.cpp src/input/input.cpp src/input/input_ogg.cpp src/io.cpp - $(CXX) $(LDFLAGS) $(CPPFLAGS) $^ $(LDLIBS) -o $@ - -inputs: MistInBuffer -MistInBuffer: override LDLIBS += $(THREADLIB) -MistInBuffer: override CPPFLAGS += "-DINPUTTYPE=\"input_buffer.h\"" -MistInBuffer: src/input/mist_in.cpp src/input/input.cpp src/input/input_buffer.cpp src/io.cpp - $(CXX) $(LDFLAGS) $(CPPFLAGS) $^ $(LDLIBS) -o $@ - -outputs: MistOutFLV -MistOutFLV: override LDLIBS += $(THREADLIB) -MistOutFLV: override CPPFLAGS += "-DOUTPUTTYPE=\"output_progressive_flv.h\"" -MistOutFLV: src/output/mist_out.cpp src/output/output_http.cpp src/output/output.cpp src/output/output_progressive_flv.cpp src/io.cpp - $(CXX) $(LDFLAGS) $(CPPFLAGS) $^ $(LDLIBS) -o $@ - -outputs: MistOutOGG -MistOutOGG: override LDLIBS += $(THREADLIB) -MistOutOGG: override LDLIBS += $(GEOIP) -MistOutOGG: override CPPFLAGS += "-DOUTPUTTYPE=\"output_progressive_ogg.h\"" -MistOutOGG: src/output/mist_out.cpp src/output/output_http.cpp src/output/output.cpp src/output/output_progressive_ogg.cpp src/io.cpp - $(CXX) $(LDFLAGS) $(CPPFLAGS) $^ $(LDLIBS) -o $@ - -outputs: MistOutMP4 -MistOutMP4: override LDLIBS += $(THREADLIB) -MistOutMP4: override CPPFLAGS += "-DOUTPUTTYPE=\"output_progressive_mp4.h\"" -MistOutMP4: src/output/mist_out.cpp src/output/output.cpp src/output/output_http.cpp src/output/output_progressive_mp4.cpp src/io.cpp - $(CXX) $(LDFLAGS) $(CPPFLAGS) $^ $(LDLIBS) -o $@ - -outputs: MistOutMP3 -MistOutMP3: override LDLIBS += $(THREADLIB) -MistOutMP3: override CPPFLAGS += "-DOUTPUTTYPE=\"output_progressive_mp3.h\"" -MistOutMP3: src/output/mist_out.cpp src/output/output.cpp src/output/output_http.cpp src/output/output_progressive_mp3.cpp src/io.cpp - $(CXX) $(LDFLAGS) $(CPPFLAGS) $^ $(LDLIBS) -o $@ - -outputs: MistOutRTMP -MistOutRTMP: override LDLIBS += $(THREADLIB) -MistOutRTMP: override CPPFLAGS += "-DOUTPUTTYPE=\"output_rtmp.h\"" -MistOutRTMP: src/output/mist_out.cpp src/output/output.cpp src/output/output_rtmp.cpp src/io.cpp - $(CXX) $(LDFLAGS) $(CPPFLAGS) $^ $(LDLIBS) -o $@ - -outputs: MistOutRaw -MistOutRaw: override LDLIBS += $(THREADLIB) -MistOutRaw: override CPPFLAGS += "-DOUTPUTTYPE=\"output_raw.h\"" -MistOutRaw: src/output/mist_out.cpp src/output/output.cpp src/output/output_raw.cpp src/io.cpp - $(CXX) $(LDFLAGS) $(CPPFLAGS) $^ $(LDLIBS) -o $@ - -outputs: MistOutHTTPTS -MistOutHTTPTS: override LDLIBS += $(THREADLIB) -MistOutHTTPTS: override CPPFLAGS += -DOUTPUTTYPE=\"output_httpts.h\" -DTS_BASECLASS=HTTPOutput -MistOutHTTPTS: src/output/mist_out.cpp src/output/output.cpp src/output/output_http.cpp src/output/output_httpts.cpp src/output/output_ts_base.cpp src/io.cpp - $(CXX) $(LDFLAGS) $(CPPFLAGS) $^ $(LDLIBS) -o $@ - -outputs: MistOutTS -MistOutTS: override LDLIBS += $(THREADLIB) -MistOutTS: override CPPFLAGS += "-DOUTPUTTYPE=\"output_ts.h\"" -MistOutTS: src/output/mist_out.cpp src/output/output.cpp src/output/output_ts.cpp src/output/output_ts_base.cpp src/io.cpp - $(CXX) $(LDFLAGS) $(CPPFLAGS) $^ $(LDLIBS) -o $@ - -outputs: MistOutHTTP -MistOutHTTP: override LDLIBS += $(THREADLIB) -MistOutHTTP: override CPPFLAGS += "-DOUTPUTTYPE=\"output_http_internal.h\"" -MistOutHTTP: src/output/mist_out.cpp src/output/output.cpp src/output/output_http.cpp src/output/output_http_internal.cpp src/embed.js.h src/io.cpp - $(CXX) $(LDFLAGS) $(CPPFLAGS) src/output/mist_out.cpp src/output/output.cpp src/output/output_http.cpp src/output/output_http_internal.cpp $(LDLIBS) -o $@ - -outputs: MistOutHSS -MistOutHSS: override LDLIBS += $(THREADLIB) -MistOutHSS: override CPPFLAGS += "-DOUTPUTTYPE=\"output_hss.h\"" -MistOutHSS: src/output/mist_out.cpp src/output/output.cpp src/output/output_http.cpp src/output/output_hss.cpp src/io.cpp - $(CXX) $(LDFLAGS) $(CPPFLAGS) $^ $(LDLIBS) -o $@ - -outputs: MistOutHLS -MistOutHLS: override LDLIBS += $(THREADLIB) -MistOutHLS: override CPPFLAGS += -DOUTPUTTYPE=\"output_hls.h\" -DTS_BASECLASS=HTTPOutput -MistOutHLS: src/output/mist_out.cpp src/output/output.cpp src/output/output_http.cpp src/output/output_hls.cpp src/output/output_ts_base.cpp src/io.cpp - $(CXX) $(LDFLAGS) $(CPPFLAGS) $^ $(LDLIBS) -o $@ - -outputs: MistOutHDS -MistOutHDS: override LDLIBS += $(THREADLIB) -MistOutHDS: override CPPFLAGS += "-DOUTPUTTYPE=\"output_hds.h\"" -MistOutHDS: src/output/mist_out.cpp src/output/output.cpp src/output/output_http.cpp src/output/output_hds.cpp src/io.cpp - $(CXX) $(LDFLAGS) $(CPPFLAGS) $^ $(LDLIBS) -o $@ - -outputs: MistOutSRT -MistOutSRT: override LDLIBS += $(THREADLIB) -MistOutSRT: override CPPFLAGS += "-DOUTPUTTYPE=\"output_srt.h\"" -MistOutSRT: src/output/mist_out.cpp src/output/output_http.cpp src/output/output.cpp src/output/output_srt.cpp src/io.cpp - $(CXX) $(LDFLAGS) $(CPPFLAGS) $^ $(LDLIBS) -o $@ - -outputs: MistOutJSON -MistOutJSON: override LDLIBS += $(THREADLIB) -MistOutJSON: override CPPFLAGS += "-DOUTPUTTYPE=\"output_json.h\"" -MistOutJSON: src/output/mist_out.cpp src/output/output.cpp src/output/output_http.cpp src/output/output_json.cpp src/io.cpp - $(CXX) $(LDFLAGS) $(CPPFLAGS) $^ $(LDLIBS) -o $@ - -lspSOURCES=lsp/plugins/md5.js lsp/plugins/cattablesort.js lsp/mist.js -lspSOURCESmin=lsp/plugins/jquery.js lsp/plugins/jquery.flot.min.js lsp/plugins/jquery.flot.time.min.js lsp/plugins/jquery.qrcode.min.js -lspDATA=lsp/header.html lsp/main.css lsp/footer.html - -JAVA := $(shell which java 2> /dev/null) -ifdef JAVA -CLOSURE=java -jar lsp/closure-compiler.jar --warning_level QUIET -else -$(warning Java not installed - not compressing javascript codes before inclusion.) -CLOSURE=cat -endif - -sourcery: src/sourcery.cpp - $(CXX) -o $@ $(CPPFLAGS) $^ - -src/embed.js.h: src/embed.js sourcery - $(CLOSURE) src/embed.js > embed.min.js - ./sourcery embed.min.js embed_js > src/embed.js.h - rm embed.min.js - -src/controller/server.html: $(lspDATA) $(lspSOURCES) $(lspSOURCESmin) - cat lsp/header.html > $@ - echo "" >> $@ - cat lsp/footer.html >> $@ - -src/controller/server.html.h: src/controller/server.html sourcery - cd src/controller; ../../sourcery server.html server_html > server.html.h - -lib_objects := $(patsubst %.cpp,%.o,$(wildcard lib/*.cpp)) - -libmist.so: $(lib_objects) - $(CXX) -shared -o $@ $(LDLIBS) $^ - -libmist.a: $(lib_objects) - $(AR) -rcs $@ $^ - -docs: lib/* src/* Doxyfile Doxyfile - doxygen ./Doxyfile > /dev/null - -clean: - rm -f lib/*.o libmist.so libmist.a - rm -rf ./docs - rm -f *.o Mist* sourcery src/controller/server.html src/connectors/embed.js.h src/controller/server.html.h - -distclean: clean - -install-lib: libmist.so libmist.a lib/*.h - mkdir -p $(DESTDIR)$(includedir)/mist - install -m 644 lib/*.h $(DESTDIR)$(includedir)/mist/ - mkdir -p $(DESTDIR)$(libdir) - install -m 644 libmist.a $(DESTDIR)$(libdir)/libmist.a - install -m 644 libmist.so $(DESTDIR)$(libdir)/libmist.so - $(POST_INSTALL) - -install: all - if [ "$$USER" = "root" ]; then ldconfig; else echo "run: sudo ldconfig"; fi - mkdir -p $(DESTDIR)$(bindir) - install -m 755 ./Mist* $(DESTDIR)$(bindir) - -uninstall: - rm -f $(DESTDIR)$(bindir)/Mist* - rm -f $(DESTDIR)$(includedir)/mist/*.h - rmdir $(DESTDIR)$(includedir)/mist - rm -f $(DESTDIR)$(libdir)/libmist.so - rm -f $(DESTDIR)$(libdir)/libmist.a - -.PHONY: clean uninstall