mirror of
https://gitlab.com/mbunkus/mkvtoolnix.git
synced 2024-12-25 04:11:44 +00:00
616 lines
18 KiB
Makefile
616 lines
18 KiB
Makefile
# What are we dealing with?
|
|
PACKAGE = @PACKAGE@
|
|
VERSION = @VERSION@
|
|
|
|
@SET_MAKE@
|
|
SHELL = @SHELL@
|
|
|
|
# Where to?
|
|
srcdir = @srcdir@
|
|
top_srcdir = @top_srcdir@
|
|
VPATH = @srcdir@
|
|
prefix = @prefix@
|
|
exec_prefix = @exec_prefix@
|
|
|
|
bindir = @bindir@
|
|
sbindir = @sbindir@
|
|
libexecdir = @libexecdir@
|
|
datarootdir = @datarootdir@
|
|
datadir = @datadir@
|
|
sysconfdir = @sysconfdir@
|
|
sharedstatedir = @sharedstatedir@
|
|
localstatedir = @localstatedir@
|
|
libdir = @libdir@
|
|
infodir = @infodir@
|
|
mandir = @mandir@
|
|
man1dir = $(mandir)/man1
|
|
includedir = @includedir@
|
|
oldincludedir = /usr/include
|
|
pkgdatadir = $(datadir)/@PACKAGE@
|
|
pkglibdir = $(libdir)/@PACKAGE@
|
|
pkgincludedir = $(includedir)/@PACKAGE@
|
|
top_builddir = .
|
|
mkinstalldirs = $(SHELL) $(top_srcdir)/mkinstalldirs
|
|
localedir = $(datadir)/locale
|
|
|
|
# Common programs
|
|
AR = @AR@
|
|
CC = @CC@
|
|
CPP = @CPP@
|
|
CXX = @CXX@
|
|
ETAGS = @ETAGS@
|
|
EXEEXT = @EXEEXT@
|
|
GREP = @GREP@
|
|
INSTALL_DATA = @INSTALL_DATA@
|
|
INSTALL_HEADER = $(INSTALL_DATA)
|
|
INSTALL = @INSTALL@
|
|
INSTALL_PROGRAM = @INSTALL_PROGRAM@
|
|
INSTALL_SCRIPT = @INSTALL_SCRIPT@
|
|
install_sh_DATA = $(install_sh) -c -m 644
|
|
install_sh_PROGRAM = $(install_sh) -c
|
|
install_sh_SCRIPT = $(install_sh) -c
|
|
LD = @LD@
|
|
MOC = @MOC@
|
|
OBJEXT = @OBJEXT@
|
|
PATH_SEPARATOR = @PATH_SEPARATOR@
|
|
RANLIB = @RANLIB@
|
|
STRIP = @STRIP@
|
|
UIC = @UIC@
|
|
WINDRES = @WINDRES@
|
|
|
|
# Variable stuff as set by configure
|
|
BZ2_LIBS = @BZ2_LIBS@
|
|
BOOST_CPPFLAGS = @BOOST_CPPFLAGS@
|
|
BOOST_FILESYSTEM_LIB = @BOOST_FILESYSTEM_LIB@
|
|
BOOST_LDFLAGS = @BOOST_LDFLAGS@
|
|
BOOST_REGEX_LIB = @BOOST_REGEX_LIB@
|
|
BOOST_SYSTEM_LIB = @BOOST_SYSTEM_LIB@
|
|
DEBUG_CFLAGS = @DEBUG_CFLAGS@
|
|
DOCBOOK_MANPAGES_STYLESHEET = @DOCBOOK_MANPAGES_STYLESHEET@
|
|
DOCBOOK_ROOT = @DOCBOOK_ROOT@
|
|
EBML_CFLAGS = @EBML_CFLAGS@
|
|
EBML_LIBS = @EBML_LIBS@
|
|
EXPAT_CFLAGS = @EXPAT_CFLAGS@
|
|
EXPAT_LIBS = @EXPAT_LIBS@
|
|
EXTRA_CFLAGS = @EXTRA_CFLAGS@
|
|
EXTRA_LDFLAGS = @EXTRA_LDFLAGS@
|
|
LDFLAGS_RPATHS = @LDFLAGS_RPATHS@
|
|
FLAC_LIBS = @FLAC_LIBS@
|
|
ICONV_LIBS = @ICONV_LIBS@
|
|
LIBINTL_LIBS = @LIBINTL_LIBS@
|
|
LZO_LIBS = @LZO_LIBS@
|
|
MAGIC_LIBS = @MAGIC_LIBS@
|
|
MATROSKA_CFLAGS = @MATROSKA_CFLAGS@
|
|
MATROSKA_LIBS = @MATROSKA_LIBS@
|
|
MINGW_GUIAPP = @MINGW_GUIAPP@
|
|
MINGW_LIBS = @MINGW_LIBS@
|
|
MINGW = @MINGW@
|
|
OGG_LIBS = @OGG_LIBS@
|
|
OPTIMIZATION_CFLAGS = @OPTIMIZATION_CFLAGS@
|
|
PO4A = @PO4A@
|
|
PO4A_TRANSLATE = @PO4A_TRANSLATE@
|
|
PO4A_FLAGS = @PO4A_FLAGS@
|
|
PO4A_TRANSLATE_FLAGS = @PO4A_TRANSLATE_FLAGS@
|
|
PO4A_WORKS = @PO4A_WORKS@
|
|
PROFILING_CFLAGS = @PROFILING_CFLAGS@
|
|
PROFILING_LIBS = @PROFILING_LIBS@
|
|
QT_CFLAGS = @QT_CFLAGS@
|
|
QT_LIBS = @QT_LIBS@
|
|
USER_CPPFLAGS = @USER_CPPFLAGS@
|
|
USER_CXXFLAGS = @USER_CXXFLAGS@
|
|
USER_CFLAGS = @USER_CFLAGS@
|
|
USER_LDFLAGS = @USER_LDFLAGS@
|
|
VORBIS_LIBS = @VORBIS_LIBS@
|
|
WXWIDGETS_CFLAGS = @WXWIDGETS_CFLAGS@
|
|
WXWIDGETS_INCLUDES = @WXWIDGETS_INCLUDES@
|
|
WXWIDGETS_LIBS = @WXWIDGETS_LIBS@
|
|
XSLTPROC = @XSLTPROC@
|
|
XSLTPROC_FLAGS = @XSLTPROC_FLAGS@
|
|
XSLTPROC_WORKS = @XSLTPROC_WORKS@
|
|
ZLIB_LIBS = @ZLIB_LIBS@
|
|
|
|
WARNING_CFLAGS = -Wall -Wno-sign-compare -Wno-comment -Wno-strict-aliasing
|
|
|
|
CFLAGS = $(OPTIMIZATION_CFLAGS) $(WARNING_CFLAGS) \
|
|
-D_LARGEFILE64_SOURCE -D_LARGEFILE_SOURCE -D_FILE_OFFSET_BITS=64 \
|
|
$(EXTRA_CFLAGS) $(DEBUG_CFLAGS) $(PROFILING_CFLAGS) $(MATROSKA_CFLAGS) $(EBML_CFLAGS) \
|
|
$(USER_CPPFLAGS) $(USER_CFLAGS)
|
|
CXXFLAGS = $(OPTIMIZATION_CFLAGS) $(WARNING_CFLAGS) \
|
|
-D_LARGEFILE64_SOURCE -D_LARGEFILE_SOURCE -D_FILE_OFFSET_BITS=64 \
|
|
$(EXTRA_CFLAGS) $(DEBUG_CFLAGS) $(PROFILING_CFLAGS) $(MATROSKA_CFLAGS) $(EBML_CFLAGS) \
|
|
$(WXWIDGETS_CFLAGS) $(QT_CFLAGS) $(BOOST_CPPFLAGS) \
|
|
$(USER_CPPFLAGS) $(USER_CXXFLAGS)
|
|
CPPFLAGS = $(USER_CPPFLAGS) @CPPFLAGS@
|
|
LDFLAGS = $(EXTRA_LDFLAGS) $(PROFILING_LIBS) $(USER_LDFLAGS) $(LDFLAGS_RPATHS) $(BOOST_LDFLAGS)
|
|
|
|
CFLAGS += -DPACKAGE=\"$(PACKAGE)\" -DVERSION=\"$(VERSION)\"
|
|
CXXFLAGS += -DPACKAGE=\"$(PACKAGE)\" -DVERSION=\"$(VERSION)\"
|
|
CXXFLAGS += -DMTX_LOCALE_DIR=\"$(localedir)\" \
|
|
-DMTX_PKG_DATA_DIR=\"$(pkgdatadir)\"
|
|
|
|
# Which additional stuff to compile
|
|
USE_WXWIDGETS = @USE_WXWIDGETS@
|
|
USE_QT = @USE_QT@
|
|
|
|
LIBMTXCOMMONDLL=@LIBMTXCOMMONDLL@
|
|
ifeq (1,$(LIBMTXCOMMONDLL))
|
|
LIBMTXCOMMONEXT = dll
|
|
CXXFLAGS_SRC_COMMON += -DMTX_DLL_EXPORT
|
|
CXXFLAGS_NO_SRC_COMMON += -DMTX_DLL
|
|
else
|
|
LIBMTXCOMMONEXT = a
|
|
endif
|
|
|
|
ifeq (1,$(MINGW))
|
|
mmg_RESOURCES = src/mmg/mmg-resources.rc
|
|
mkvmerge_RESOURCES = src/merge/resources.rc
|
|
mkvinfo_RESOURCES = src/info/resources.rc
|
|
mkvextract_RESOURCES = src/extract/resources.rc
|
|
LIBRPCRT = -lrpcrt4
|
|
LIBS_WINGUI = -lole32 -lshell32
|
|
LDFLAGS += -Wl,--enable-auto-import
|
|
endif
|
|
|
|
DEP_COMMON = src/common/libmtxcommon.$(LIBMTXCOMMONEXT)
|
|
DEP_EBMLCOMMON = src/common/libmtxebmlcommon.a
|
|
DEP_KAXCOMMON = src/common/libmtxkaxcommon.a
|
|
DEP_INPUT = src/input/libmtxinput.a
|
|
DEP_OUTPUT = src/output/libmtxoutput.a
|
|
DEP_AVI = lib/avilib-0.6.10/libavi.a
|
|
DEP_RMFF = lib/librmff/librmff.a
|
|
DEP_MPEGPARSER = src/mpegparser/libmpegparser.a
|
|
COMPRESSION_LIBRARIES = $(LZO_LIBS) $(BZ2_LIBS)
|
|
|
|
APPLICATIONS = src/mkvmerge@EXEEXT@ src/mkvinfo@EXEEXT@ src/mkvextract@EXEEXT@ src/mkvpropedit@EXEEXT@
|
|
MANPAGES = doc/man/mkvmerge.1 doc/man/mkvinfo.1 doc/man/mkvextract.1 doc/man/mkvpropedit.1
|
|
ifeq (yes,$(USE_WXWIDGETS))
|
|
APPLICATIONS += src/mmg/mmg@EXEEXT@
|
|
MANPAGES += doc/man/mmg.1
|
|
endif
|
|
|
|
TRANSLATIONS = @TRANSLATIONS@
|
|
TRANSLATIONS_POS = @TRANSLATIONS_POS@
|
|
TRANSLATIONS_MOS = $(patsubst %.po,%.mo,$(TRANSLATIONS_POS))
|
|
|
|
MANPAGES_TRANSLATIONS = @MANPAGES_TRANSLATIONS@
|
|
MANPAGES_TRANSLATIONS_POS = @MANPAGES_TRANSLATIONS_POS@
|
|
MANPAGES_TRANSLATED = @MANPAGES_TRANSLATED@
|
|
|
|
GUIDE_TRANSLATIONS = @GUIDE_TRANSLATIONS@
|
|
|
|
HTMLHELPBOOKS = mkvmerge-gui-book
|
|
|
|
SYSTEM_INCLUDES = -I. -Ilib -Ilib/avilib-0.6.10 -Ilib/utf8-cpp/source -Isrc
|
|
SYSTEM_LIBDIRS = -Llib/avilib-0.6.10 -Llib/librmff \
|
|
-Lsrc/common -Lsrc/input -Lsrc/output -Lsrc/mpegparser
|
|
|
|
RUNAR = $(AR) rcu
|
|
LINK = $(CXX) $(LDFLAGS) $(LIBDIRS) $(SYSTEM_LIBDIRS)
|
|
LINKSHARED = $(CXX) $(LDFLAGS) $(LIBDIRS) $(SYSTEM_LIBDIRS) \
|
|
-shared -Wl,--export-all
|
|
CXXCOMPILE = $(CXX) $(CXXFLAGS) $(INCLUDES) $(SYSTEM_INCLUDES)
|
|
CCOMPILE = $(CC) $(CFLAGS) $(INCLUDES) $(SYSTEM_INCLUDES)
|
|
RCCOMPILE = $(WINDRES) $(WXWIDGETS_INCLUDES) -Isrc/mmg
|
|
|
|
ALL_SOURCES=$(wildcard lib/avilib-0.6.10/*.c) $(wildcard lib/avilib-0.6.10/*.cpp) \
|
|
$(wildcard lib/librmff/*.c) \
|
|
$(wildcard src/*.cpp) $(wildcard src/input/*.cpp) \
|
|
$(wildcard src/output/*.cpp) $(wildcard src/common/*.cpp) \
|
|
$(wildcard src/common/*/*.cpp) \
|
|
$(wildcard src/mmg/*.cpp) $(wildcard src/mmg/*/*.cpp) \
|
|
$(wildcard src/extract/*.cpp) $(wildcard src/propedit/*.cpp) \
|
|
$(wildcard src/merge/*.cpp) $(wildcard src/info/*.cpp) \
|
|
$(wildcard src/mpegparser/*.cpp) \
|
|
$(patsubst %.ui,%.h,$(UIFILES))
|
|
|
|
ALL_HEADERS=$(wildcard lib/avilib-0.6.10/*.h) $(wildcard lib/librmff/*.h) \
|
|
$(wildcard src/*.h) $(wildcard src/input/*.h) \
|
|
$(wildcard src/output/*.h) $(wildcard src/common/*.h) \
|
|
$(wildcard src/mmg/*.h) $(wildcard src/mmg/*/*.h) \
|
|
$(wildcard src/extract/*.h) $(willdcard src/propedit/*.h) \
|
|
$(wildcard src/merge/*.h) $(wildcard src/info/*.h) \
|
|
$(wildcard src/mpegparser/*.h) $(wildcard src/common/*/*.h)
|
|
|
|
ifeq ($(V),1)
|
|
Q =
|
|
SQ = echo
|
|
else
|
|
Q = @
|
|
SQ = true
|
|
endif
|
|
|
|
.DEFAULT_GOAL := all
|
|
|
|
ifeq (1,$(TOOLS))
|
|
include src/tools/Makefile
|
|
endif
|
|
|
|
# Only rebuild the TAGS file if one is already present by a previous
|
|
# call to "make tags". This is only useful for developers.
|
|
ifneq (,$(wildcard TAGS))
|
|
ifdef ETAGS
|
|
TAGSFILE = TAGS
|
|
endif
|
|
endif
|
|
|
|
# Only rebuild the man pages if both xsltproc and the DocBook
|
|
# stylesheet have been found by configure.
|
|
ifeq ($(XSLTPROC_WORKS),yes)
|
|
MANPAGES_DEP = $(MANPAGES)
|
|
ifeq (yes,$(PO4A_WORKS))
|
|
MANPAGES_DEP += $(MANPAGES_TRANSLATED)
|
|
endif
|
|
endif
|
|
|
|
all: $(MANPAGES_DEP) $(TAGSFILE) $(APPLICATIONS) $(TRANSLATIONS_MOS) $(HTMLHELPBOOKS)
|
|
|
|
install: install-programs install-mans install-translated-mans install-trans install-guide
|
|
|
|
install-programs: $(APPLICATIONS)
|
|
$(mkinstalldirs) $(DESTDIR)$(bindir)
|
|
@list='$(APPLICATIONS)'; for p in $$list; do \
|
|
p1=`echo $$p|sed 's/$(EXEEXT)$$//'`; \
|
|
if test -f $$p ; then \
|
|
f=`echo "$$p1" | sed 's,^.*/,,;s/$$/$(EXEEXT)/'`; \
|
|
echo " $(INSTALL_PROGRAM) $$p $(DESTDIR)$(bindir)/$$f"; \
|
|
$(INSTALL_PROGRAM) $$p $(DESTDIR)$(bindir)/$$f; \
|
|
else :; fi; \
|
|
done
|
|
|
|
install-mans:
|
|
$(mkinstalldirs) $(DESTDIR)$(man1dir)
|
|
@for i in $(MANPAGES); do \
|
|
inst=`echo $$i | sed -e 's/^.*\///'`; \
|
|
echo " $(INSTALL_DATA) $$i $(DESTDIR)$(man1dir)/$$inst"; \
|
|
$(INSTALL_DATA) $$i $(DESTDIR)$(man1dir)/$$inst; \
|
|
done
|
|
|
|
install-translated-mans:
|
|
@for lang in $(MANPAGES_TRANSLATIONS); do \
|
|
$(mkinstalldirs) $(DESTDIR)$(mandir)/$$lang/man1; \
|
|
for manpage in $(MANPAGES); do \
|
|
inst=`echo $$manpage | sed -e 's/^.*\///'`; \
|
|
echo " $(INSTALL_DATA) $$manpage $(DESTDIR)$(mandir)/$$lang/man1/$$inst"; \
|
|
$(INSTALL_DATA) $$manpage $(DESTDIR)$(mandir)/$$lang/man1/$$inst; \
|
|
done; \
|
|
done
|
|
|
|
install-trans:
|
|
@for i in $(TRANSLATIONS); do \
|
|
echo "$(mkinstalldirs) $(DESTDIR)$(localedir)/$$i/LC_MESSAGES"; \
|
|
$(mkinstalldirs) $(DESTDIR)$(localedir)/$$i/LC_MESSAGES; \
|
|
echo "$(INSTALL_DATA) po/$$i.mo $(DESTDIR)$(localedir)/$$i/LC_MESSAGES/mkvtoolnix.mo"; \
|
|
$(INSTALL_DATA) po/$$i.mo $(DESTDIR)$(localedir)/$$i/LC_MESSAGES/mkvtoolnix.mo; \
|
|
done
|
|
|
|
install-guide:
|
|
$(mkinstalldirs) $(DESTDIR)$(pkgdatadir)
|
|
@for lang in $(GUIDE_TRANSLATIONS); do \
|
|
$(mkinstalldirs) $(DESTDIR)$(pkgdatadir)/guide/$$lang/images ; \
|
|
for file in doc/guide/$$lang/mkvmerge-gui.*; do \
|
|
echo " $(INSTALL_DATA) $$file $(DESTDIR)$(pkgdatadir)/guide/$$lang/"; \
|
|
$(INSTALL_DATA) $$file $(DESTDIR)$(pkgdatadir)/guide/$$lang/; \
|
|
done; \
|
|
for file in doc/guide/$$lang/images/*gif; do \
|
|
echo " $(INSTALL_DATA) $$file $(DESTDIR)$(pkgdatadir)/guide/$$lang/images/"; \
|
|
$(INSTALL_DATA) $$file $(DESTDIR)$(pkgdatadir)/guide/$$lang/images/; \
|
|
done; \
|
|
done
|
|
|
|
manpages: $(MANPAGES)
|
|
|
|
translated-manpages: $(MANPAGES_TRANSLATED)
|
|
|
|
update-manpage-po update-man-po:
|
|
$(PO4A) $(PO4A_FLAGS) doc/man/po4a/po4a.cfg
|
|
|
|
# Some general rules
|
|
ifeq (1,$(LIBMTXCOMMONDLL))
|
|
%.o: %.cpp
|
|
@echo ' CXX ' $<
|
|
@if echo $@ | $(GREP) src.common > /dev/null 2>&1; then \
|
|
test x$(V) = "x1" && echo $(CXXCOMPILE) $(CXXFLAGS_SRC_COMMON) -c -o $@ $< ; \
|
|
$(CXXCOMPILE) $(CXXFLAGS_SRC_COMMON) -c -MMD -o $@ $< ; \
|
|
./handle_deps $@ $$? ; \
|
|
else \
|
|
test x$(V) = "x1" && echo $(CXXCOMPILE) $(CXXFLAGS_NO_SRC_COMMON) -c -o $@ $< ; \
|
|
$(CXXCOMPILE) $(CXXFLAGS_NO_SRC_COMMON)-MMD -c -o $@ $< ; \
|
|
./handle_deps $@ $$? ; \
|
|
fi
|
|
else
|
|
%.o: %.cpp
|
|
@echo ' CXX ' $<
|
|
$(Q)$(CXXCOMPILE) -MMD -c -o $@ $< ; ./handle_deps $@ $$?
|
|
endif
|
|
|
|
%.o: %.c
|
|
@echo ' CC ' $<
|
|
$(Q)$(CCOMPILE) -MMD -c -o $@ $< ; ./handle_deps $@ $$?
|
|
|
|
%.o: %.rc
|
|
@echo ' WINDRES ' $<
|
|
$(Q)$(RCCOMPILE) -o $@ $<
|
|
|
|
%.mo: %.po
|
|
@echo ' MSGFMT ' $<
|
|
$(Q)msgfmt -o $@ $<
|
|
|
|
# HTML help book stuff
|
|
%.hhk: %.hhc
|
|
@echo ' GREP ' $<
|
|
$(Q)$(GREP) -v 'name="ID"' $< > $@
|
|
|
|
# man pages from DocBook XML
|
|
%.1: %.xml
|
|
@echo 'XSLTPROC ' $<
|
|
$(Q)$(XSLTPROC) $(XSLTPROC_FLAGS) -o $@ $(DOCBOOK_MANPAGES_STYLESHEET) $<
|
|
|
|
# translated DocBook XML
|
|
@MANPAGES_TRANSLATED_XML_RULE@
|
|
|
|
# Qt files
|
|
%.h: %.ui
|
|
@echo ' UIC ' $<
|
|
$(Q)$(UIC) $< > $@
|
|
|
|
%.moc.cpp: %.h
|
|
@echo ' MOC ' $<
|
|
$(Q)$(MOC) $(QT_CFLAGS) $< > $@
|
|
|
|
clean:
|
|
rm -f *.o */*.o */*/*.o */lib*.a */*/lib*.a po/*.mo $(APPLICATIONS) \
|
|
*/*.exe */*/*.exe */*/*.dll */*/*.dll.a doc/*.hhk \
|
|
src/info/ui/*.h src/info/*.moc.cpp src/common/*/*.o \
|
|
src/mmg/*/*.o
|
|
|
|
distclean dist-clean: clean
|
|
rm -f config.h config.log config.cache Makefile */Makefile */*/Makefile TAGS
|
|
rm -rf .deps
|
|
|
|
maintainer-clean: distclean
|
|
rm -f configure config.h.in
|
|
|
|
create-pot:
|
|
@echo 'XGETTEXT'
|
|
$(Q)xgettext --keyword=YT --keyword=Y --keyword=Z --keyword=TIP \
|
|
--default-domain=mkvtoolnix --from-code=UTF-8 -s --omit-header -o po/mkvtoolnix.pot \
|
|
$(ALL_SOURCES) $(ALL_HEADERS)
|
|
|
|
update-po: create-pot
|
|
@for i in po/*.po ; do \
|
|
echo 'MSGMERGE ' $$i ; \
|
|
$(SQ) msgmerge -q -s --no-wrap $$i po/mkvtoolnix.pot ; \
|
|
msgmerge -q -s --no-wrap $$i po/mkvtoolnix.pot > $$i.new ; \
|
|
mv $$i.new $$i ; \
|
|
done
|
|
@rm po/mkvtoolnix.pot
|
|
@for i in zh_CN zh_TW ; do \
|
|
perl -ni -e 'if (m/^#:/) { s/(\d) /$$1\n#: /g; print; } elsif (m/^#~/) { $$nonl = 1; print; } elsif (!($$nonl && m/^\s*$$/)) { print; }' po/$$i.po ; \
|
|
echo >> po/$$i.po ; \
|
|
done
|
|
|
|
po-stats po-statistics:
|
|
@for i in po/*.po doc/man/po4a/po/*.po; do \
|
|
echo ' MSGFMT ' $$i ; \
|
|
$(SQ) msgfmt --statistics -o /dev/null $$i ; \
|
|
msgfmt --statistics -o /dev/null $$i ; \
|
|
done
|
|
|
|
mkvmerge-gui-book: $(patsubst %,doc/guide/%/mkvmerge-gui.hhk,$(GUIDE_TRANSLATIONS))
|
|
|
|
tags: TAGS
|
|
|
|
TAGS: $(ALL_SOURCES)
|
|
@echo ' ETAGS'
|
|
$(Q)$(ETAGS) -o $@ $^
|
|
|
|
#
|
|
# avilib-0.6.10
|
|
#
|
|
|
|
libavi_SOURCES = $(wildcard lib/avilib-0.6.10/*.c) $(wildcard lib/avilib-0.6.10/*.cpp)
|
|
libavi_OBJECTS := $(patsubst %.c,%.o,$(patsubst %.cpp,%.o,$(libavi_SOURCES)))
|
|
|
|
lib/avilib-0.6.10/libavi.a: $(libavi_OBJECTS)
|
|
@rm -f $@
|
|
@echo ' AR ' $@
|
|
$(Q)$(RUNAR) $@ $(libavi_OBJECTS)
|
|
@echo ' RANLIB ' $@
|
|
$(Q)$(RANLIB) $@
|
|
|
|
#
|
|
# librmff
|
|
#
|
|
librmff_SOURCES = $(wildcard lib/librmff/*.c)
|
|
librmff_OBJECTS := $(patsubst %.c,%.o,$(librmff_SOURCES))
|
|
|
|
lib/librmff/librmff.a: $(librmff_OBJECTS)
|
|
@rm -f $@
|
|
@echo ' AR ' $@
|
|
$(Q)$(RUNAR) $@ $(librmff_OBJECTS)
|
|
@echo ' RANLIB ' $@
|
|
$(Q)$(RANLIB) $@
|
|
|
|
#
|
|
# spyder's MPEG parser
|
|
#
|
|
libmpegparser_SOURCES = $(wildcard src/mpegparser/*.cpp)
|
|
libmpegparser_OBJECTS := $(patsubst %.cpp,%.o,$(libmpegparser_SOURCES))
|
|
|
|
src/mpegparser/libmpegparser.a: $(libmpegparser_OBJECTS)
|
|
@rm -f $@
|
|
@echo ' AR ' $@
|
|
$(Q)$(RUNAR) $@ $(libmpegparser_OBJECTS)
|
|
@echo ' RANLIB ' $@
|
|
$(Q)$(RANLIB) $@
|
|
|
|
#
|
|
# src/common
|
|
#
|
|
|
|
libmtxcommon_SOURCES = $(wildcard src/common/*.cpp) $(wildcard src/common/*/*.cpp)
|
|
libmtxcommon_OBJECTS := $(patsubst %.cpp,%.o,$(libmtxcommon_SOURCES))
|
|
|
|
src/common/libmtxcommon.dll: $(libmtxcommon_OBJECTS)
|
|
@echo ' LD/DLL ' $@
|
|
$(Q)$(LINKSHARED) -Wl,--out-implib=$@.a -o $@ $(libmtxcommon_OBJECTS) \
|
|
-liconv -lz $(COMPRESSION_LIBRARIES) -lmatroska -lebml \
|
|
-lexpat -lrpcrt4
|
|
|
|
src/common/libmtxcommon.a: $(libmtxcommon_OBJECTS)
|
|
@rm -f $@
|
|
@echo ' AR ' $@
|
|
$(Q)$(RUNAR) $@ $(libmtxcommon_OBJECTS)
|
|
@echo ' RANLIB ' $@
|
|
$(Q)$(RANLIB) $@
|
|
|
|
#
|
|
# src/input
|
|
#
|
|
|
|
libmtxinput_SOURCES = $(wildcard src/input/*.cpp)
|
|
libmtxinput_OBJECTS := $(patsubst %.cpp,%.o,$(libmtxinput_SOURCES))
|
|
|
|
src/input/libmtxinput.a: $(libmtxinput_OBJECTS)
|
|
@rm -f $@
|
|
@echo ' AR ' $@
|
|
$(Q)$(RUNAR) $@ $(libmtxinput_OBJECTS)
|
|
@echo ' RANLIB ' $@
|
|
$(Q)$(RANLIB) $@
|
|
|
|
#
|
|
# src/output
|
|
#
|
|
|
|
libmtxoutput_SOURCES = $(wildcard src/output/*.cpp)
|
|
libmtxoutput_OBJECTS := $(patsubst %.cpp,%.o,$(libmtxoutput_SOURCES))
|
|
|
|
src/output/libmtxoutput.a: $(libmtxoutput_OBJECTS)
|
|
@rm -f $@
|
|
@echo ' AR ' $@
|
|
$(Q)$(RUNAR) $@ $(libmtxoutput_OBJECTS)
|
|
@echo ' RANLIB ' $@
|
|
$(Q)$(RANLIB) $@
|
|
|
|
#
|
|
# src/merge
|
|
#
|
|
|
|
mkvmerge_SOURCES = $(wildcard src/merge/*.cpp)
|
|
mkvmerge_OBJECTS := $(patsubst %.cpp,%.o,$(mkvmerge_SOURCES)) \
|
|
$(patsubst %.rc,%.o,$(mkvmerge_RESOURCES))
|
|
mkvmerge_DEPENDENCIES += $(DEP_COMMON) \
|
|
$(DEP_COMP) $(DEP_INPUT) $(DEP_OUTPUT) $(DEP_AVI) $(DEP_RMFF) \
|
|
$(DEP_MPEGPARSER)
|
|
mkvmerge_LDADD = -lmtxinput -lmtxoutput \
|
|
-lmtxcommon $(MAGIC_LIBS) -lmatroska -lebml \
|
|
-lavi -lrmff -lmpegparser \
|
|
$(FLAC_LIBS) -lvorbis -logg -lz $(COMPRESSION_LIBRARIES) \
|
|
-lexpat $(ICONV_LIBS) $(LIBINTL_LIBS) $(LIBRPCRT) \
|
|
$(BOOST_REGEX_LIB) $(BOOST_FILESYSTEM_LIB) $(BOOST_SYSTEM_LIB)
|
|
|
|
#
|
|
# src/info
|
|
#
|
|
|
|
mkvinfo_SOURCES = src/info/mkvinfo.cpp src/info/console_ui.cpp
|
|
mkvinfo_LDADD = -lmtxcommon $(MAGIC_LIBS) -lmatroska -lebml \
|
|
$(BOOST_REGEX_LIB) $(BOOST_FILESYSTEM_LIB) $(BOOST_SYSTEM_LIB)
|
|
|
|
ifeq (yes,$(USE_QT))
|
|
mkvinfo_SOURCES += src/info/qt_ui.cpp src/info/qt_ui.moc.cpp \
|
|
src/info/rightclick_tree_widget.moc.cpp
|
|
mkvinfo_UIFILES = $(patsubst %.ui,%.h,$(wildcard src/info/ui/*.ui))
|
|
mkvinfo_LDADD += $(QT_LIBS)
|
|
|
|
src/info/qt_ui.o: $(wildcard src/info/ui/*.ui)
|
|
|
|
else
|
|
ifeq (yes,$(USE_WXWIDGETS))
|
|
mkvinfo_SOURCES += src/info/wxwidgets_ui.cpp
|
|
mkvinfo_LDADD += $(WXWIDGETS_LIBS)
|
|
endif
|
|
endif
|
|
|
|
mkvinfo_OBJECTS := $(patsubst %.cpp,%.o,$(mkvinfo_SOURCES)) \
|
|
$(patsubst %.rc,%.o,$(mkvinfo_RESOURCES))
|
|
mkvinfo_DEPENDENCIES += $(DEP_COMMON)
|
|
mkvinfo_LDADD += -lexpat $(ICONV_LIBS) $(LIBINTL_LIBS) $(LIBRPCRT)
|
|
|
|
|
|
#
|
|
# src/extract
|
|
#
|
|
|
|
mkvextract_SOURCES = $(wildcard src/extract/*.cpp)
|
|
mkvextract_OBJECTS := $(patsubst %.cpp,%.o,$(mkvextract_SOURCES)) \
|
|
$(patsubst %.rc,%.o,$(mkvextract_RESOURCES))
|
|
mkvextract_DEPENDENCIES += $(DEP_COMMON) $(DEP_AVI) $(DEP_RMFF)
|
|
mkvextract_LDADD = -lmtxcommon $(MAGIC_LIBS) -lvorbis -logg -lavi -lmatroska -lebml -lrmff \
|
|
$(ICONV_LIBS) $(LIBINTL_LIBS) -lexpat \
|
|
-lz $(COMPRESSION_LIBRARIES) $(LIBRPCRT) \
|
|
$(BOOST_REGEX_LIB) $(BOOST_FILESYSTEM_LIB) $(BOOST_SYSTEM_LIB)
|
|
|
|
#
|
|
# src/propedit
|
|
#
|
|
|
|
mkvpropedit_SOURCES = $(wildcard src/propedit/*.cpp)
|
|
mkvpropedit_OBJECTS := $(patsubst %.cpp,%.o,$(mkvpropedit_SOURCES)) \
|
|
$(patsubst %.rc,%.o,$(mkvpropedit_RESOURCES))
|
|
mkvpropedit_DEPENDENCIES += $(DEP_COMMON) $(DEP_AVI) $(DEP_RMFF)
|
|
mkvpropedit_LDADD = -lmtxcommon $(MAGIC_LIBS) -lvorbis -logg -lavi -lmatroska -lebml -lrmff \
|
|
$(ICONV_LIBS) $(LIBINTL_LIBS) -lexpat \
|
|
-lz $(COMPRESSION_LIBRARIES) $(LIBRPCRT) \
|
|
$(BOOST_REGEX_LIB) $(BOOST_FILESYSTEM_LIB) $(BOOST_SYSTEM_LIB)
|
|
|
|
#
|
|
# src/mmg
|
|
#
|
|
|
|
mmg_SOURCES = $(wildcard src/mmg/*.cpp) $(wildcard src/mmg/*/*.cpp)
|
|
mmg_OBJECTS := $(patsubst %.cpp,%.o,$(mmg_SOURCES)) \
|
|
$(patsubst %.rc,%.o,$(mmg_RESOURCES))
|
|
mmg_DEPENDENCIES += $(DEP_COMMON)
|
|
mmg_LDADD = -lmtxcommon $(MAGIC_LIBS) -lmatroska -lebml -lexpat $(ICONV_LIBS) \
|
|
$(WXWIDGETS_LIBS) $(LIBINTL_LIBS) $(MINGW_GUIAPP) \
|
|
$(BOOST_REGEX_LIB) $(BOOST_FILESYSTEM_LIB) $(BOOST_SYSTEM_LIB) \
|
|
$(LIBRPCRT) $(LIBS_WINGUI)
|
|
|
|
mkvmerge: src/mkvmerge@EXEEXT@
|
|
|
|
src/mkvmerge@EXEEXT@: $(mkvmerge_OBJECTS) $(mkvmerge_DEPENDENCIES)
|
|
@echo ' LINK ' $@
|
|
$(Q)$(LINK) -o $@ $(mkvmerge_OBJECTS) $(mkvmerge_LDADD)
|
|
|
|
mkvinfo: src/mkvinfo@EXEEXT@
|
|
|
|
src/mkvinfo@EXEEXT@: $(mkvinfo_UIFILES) $(mkvinfo_OBJECTS) $(mkvinfo_DEPENDENCIES)
|
|
@echo ' LINK ' $@
|
|
$(Q)$(LINK) -o $@ $(mkvinfo_OBJECTS) $(mkvinfo_LDADD)
|
|
|
|
mkvextract: src/mkvextract@EXEEXT@
|
|
|
|
src/mkvextract@EXEEXT@: $(mkvextract_OBJECTS) $(mkvextract_DEPENDENCIES)
|
|
@echo ' LINK ' $@
|
|
$(Q)$(LINK) -o $@ $(mkvextract_OBJECTS) $(mkvextract_LDADD)
|
|
|
|
mkvpropedit: src/mkvpropedit@EXEEXT@
|
|
|
|
src/mkvpropedit@EXEEXT@: $(mkvpropedit_OBJECTS) $(mkvpropedit_DEPENDENCIES)
|
|
@echo ' LINK ' $@
|
|
$(Q)$(LINK) -o $@ $(mkvpropedit_OBJECTS) $(mkvpropedit_LDADD)
|
|
|
|
mmg: src/mmg/mmg@EXEEXT@
|
|
|
|
src/mmg/mmg@EXEEXT@: $(mmg_OBJECTS) $(mmg_DEPENDENCIES)
|
|
@echo ' LINK ' $@
|
|
$(Q)$(LINK) -o $@ $(mmg_OBJECTS) $(mmg_LDADD)
|
|
|
|
.SECONDARY:
|
|
|
|
#
|
|
# include dependency files if they exist
|
|
#
|
|
-include ./.deps/*.d
|