]> git.sesse.net Git - mlt/commitdiff
make install part 1
authorlilo_booter <lilo_booter@d19143bc-622f-0410-bfdd-b5b2a6649095>
Fri, 26 Mar 2004 15:14:13 +0000 (15:14 +0000)
committerlilo_booter <lilo_booter@d19143bc-622f-0410-bfdd-b5b2a6649095>
Fri, 26 Mar 2004 15:14:13 +0000 (15:14 +0000)
git-svn-id: https://mlt.svn.sourceforge.net/svnroot/mlt/trunk/mlt@248 d19143bc-622f-0410-bfdd-b5b2a6649095

24 files changed:
Makefile
README
configure
src/albino/Makefile
src/framework/Makefile
src/framework/config.h
src/humperdink/Makefile
src/inigo/Makefile
src/miracle/Makefile
src/modules/Makefile
src/modules/avformat/Makefile
src/modules/core/Makefile
src/modules/dv/Makefile
src/modules/fezzik/Makefile
src/modules/ffmpeg/Makefile
src/modules/gtk2/Makefile
src/modules/inigo/Makefile
src/modules/resample/Makefile
src/modules/sdl/Makefile
src/modules/vorbis/Makefile
src/modules/westley/Makefile
src/modules/xine/Makefile
src/tests/Makefile
src/valerie/Makefile

index 36c1f129bc8333683a13a474f878ba1f2eaba27b..37f3d8a79fd596956aaf6e2139eac3a100ff56b4 100644 (file)
--- a/Makefile
+++ b/Makefile
@@ -1,3 +1,5 @@
+include config.mak
+
 SUBDIRS = src/framework \
                  src/modules \
                  src/inigo \
diff --git a/README b/README
index 5955a3816460f6e981be7845f7c572ef6751af16..c431c0216ec282501b27fdcce8db3933a8e99fbf 100644 (file)
--- a/README
+++ b/README
@@ -1,57 +1,17 @@
 README
 ------
 
-       This document provides a description of the MLT project organisation.
-
-       It provides *CRITICAL* architecture information, so please read carefully
-       if you plan to extend or use the MLT code base.
-
-Directories
------------
-
-       The directory heirarchy is defined as follows:
-
-       + docs                                  - Location of all documentation
-       + src                                   - All project source is provided here
-               + framework                     - The mlt media framework
-               + modules                       - All services are defined here
-                       + core                  - Independent MLT services
-                       + dv                    - libdv dependent services
-                       + ffmpeg                - ffmpeg dependent services
-                       + avformat              - libavformat dependent services
-                       + vorbis                - vorbis dependenent services
-                       + sdl                   - SDL dependent services
-                       + resample              - libresample dependent services
-                       + gtk2                  - pango and pixbuf dependent services
-                       + xine          - xine-derived services
-                       + bluefish              - Bluefish dependent services (*)
-                       + mainconcept   - mainconcept dependent services (*)
-               + inigo                         - A media playing test application
-               + valerie                       - Client API to access the server
-               + miracle                       - The server implementation
-               + humperdink            - The evil demo
-               + albino                        - The simple but nice demo
-               + tests                         - Reserved for regression and unit tests
-
-       Additional subdirectories may be nested below those shown and should be
-       documented in their parent.
-
-       (*) Not posted to CVS due to licensing issues.
+       This document provides a quick reference for the minimal configuration,
+       build and installation of MLT.
 
 Configuration
 -------------
 
-       Configuration is triggered from the top level directory via a 
-       ./configure script.
-
-       Each source bearing subdirectory shown above have their own configure
-       script which are called automatically from the top level.
+       Configuration is triggered by running:
 
-       Typically, new modules can be introduced without modification to the 
-       configure script and arguments are accepted and passed through to all 
-       subdirectories.
+           ./configure 
 
-       Top level usage is:
+       Usage is:
 
        ./configure --help                      - report all configure options
        ./configure --prefix=[dir]      - target install directory (default: /usr/local)
@@ -64,8 +24,11 @@ Configuration
 Compilation
 -----------
 
-       Makefiles are generated during configuration and these are based on
-       a per directory template which must be provided by the developer.
+       Once configured, it should be sufficient to run:
+
+           make
+
+       to compile the system.
 
 Testing
 -------
@@ -73,66 +36,20 @@ Testing
        To execute the mlt tools without installation, or to test a new version
        on a system with an already installed mlt version, you should run:
 
-       . setenv
+           . setenv
 
-       NB: This applies to your current shell only.
+       NB: This applies to your current shell only and it assumes a bash or 
+       regular bourne shell is in use.
 
 Installation
 ------------
 
-       * NOT IMPLEMENTED YET *
-
-       The install is triggered by running make install or make install-strip
-       from the top level directory.
-       
-       The framework produces a single shared object which is installed in 
-       $prefix/lib/ and public header files which are installed in
-       $prefix/include/mlt/framework.
-
-       The client produces a single shared object which is installed in 
-       $prefix/lib/ and public header which are installed in 
-       $prefix/include/mlt/client.
-
-       The server produces a single exectuable which is installed in
-       $prefix/bin/. This is linked against the framework shared object and
-       posix libs but not against any of the modules.
-
-       The modules produce a shared object per module and update text files
-       containing a list of modules provided by this build. These are installed 
-       in $prefix/share/mlt/. It is at the discretion of the module to install
-       additional support files. 
+       The install is triggered by running:
        
-       To allow the development of external components, mlt-client-config and
-       mlt-framework-config scripts are generated and installed in $prefix/bin.
-
-       After install, only those modules listed are usable by the server. No
-       module is loaded unless explicitly requested via server configuration
-       or usage.
-
-       External modules are also placed in this $prefix/share/mlt, and the 
-       installation of those must modify the text file accordingly before they
-       will be considered at runtime.
-
-Development
------------
-
-       All compilation in the project has {top-level-dir}/src on the include path. 
-       All headers are included as:
-
-               #include <framework/file.h>
+           make install 
        
-       All external modules have {prefix}/include/mlt on the include path. All 
-       headers should also be included as:
-
-               #include <framework/file.h>
 
-       This allows migration of source between external and internal modules. 
-       The configuration and Makefile template requirements will require
-       attention though.
-
-Summary
--------
+More Information
+----------------
 
-       1.      The server will interact with public interfaces from the framework only;
-       2.      The modules must expose public framework interfaces only;
-       3.      All modules are dynamically loaded at runtime.
+       For more detailed information, please refer to docs/install.txt.
index 4b39bfc32cb837bfce8937cb9d5bd5d7f63b4b47..d4b21be894612f110f3454301c7d05b3d3d60417 100755 (executable)
--- a/configure
+++ b/configure
@@ -13,12 +13,19 @@ EOF
 
        for i in src/modules/*
        do
-               [ -d $i ] && echo "     --disable-`basename $i`"
+               [ -d $i ] && [ "`basename $i`" != "CVS" ] && echo "     --disable-`basename $i`"
        done
 
        echo
 }
 
+function build_config
+{
+       echo VERSION=0.1.0
+       echo prefix=$prefix
+       echo bindir=$prefix/bin
+}
+
 # Debug mode
 set +x
 
@@ -37,7 +44,7 @@ do
 done
 
 # Show help if requested
-[ $help = 1 ] && show_help
+[ $help = 1 ] && show_help || build_config > config.mak
 
 # Iterate through each of the components
 for i in framework modules inigo valerie miracle humperdink
index d294f577b8cb71d6612e9cee2134938bb235eb47..d30c7626abecf82af50e3eb6ff058911cd9e191a 100644 (file)
@@ -1,3 +1,5 @@
+include ../../config.mak
+
 TARGET = albino
 
 OBJS = albino.o
@@ -27,6 +29,10 @@ dist-clean:  clean
 clean: 
                rm -f $(OBJS) $(TARGET)
 
+install:       all
+       install -d "$(bindir)"
+       install -c -s -m 755 $(TARGET) "$(bindir)"
+
 ifneq ($(wildcard .depend),)
 include .depend
 endif
index 52174e3522875ba8535068d6bc34aed21dcbce42..b9f2c7086732a52a5129ef374f201c5a0eac345d 100644 (file)
@@ -1,3 +1,4 @@
+include ../../config.mak
 
 TARGET = libmlt.so
 
@@ -20,7 +21,7 @@ OBJS = mlt_frame.o \
 
 SRCS := $(OBJS:.o=.c)
 
-CFLAGS = -g -O3 -Wall -D_FILE_OFFSET_BITS=64 -pthread 
+CFLAGS = -g -O3 -Wall -D_FILE_OFFSET_BITS=64 -pthread -DPREFIX="\"$(prefix)\""
 
 LDFLAGS = -lm -ldl -lpthread
 
@@ -43,6 +44,29 @@ dist-clean:  clean
 clean: 
                rm -f $(OBJS) $(TARGET)
 
+install:
+       install -m 755 $(TARGET) $(prefix)/lib/libmlt.so
+       mkdir -p "$(prefix)/include/mlt/framework"
+       install -m 644 mlt_consumer.h \
+                       mlt_factory.h \
+                       mlt_filter.h \
+                       mlt.h \
+                       mlt_multitrack.h \
+                       mlt_pool.h \
+                       mlt_properties.h \
+                       mlt_repository.h \
+                       mlt_tractor.h \
+                       mlt_types.h \
+                       mlt_deque.h \
+                       mlt_field.h \
+                       mlt_frame.h \
+                       mlt_playlist.h \
+                       mlt_producer.h \
+                       mlt_property.h \
+                       mlt_service.h  \
+                       mlt_transition.h \
+            "$(prefix)/include/mlt/framework"
+
 ifneq ($(wildcard .depend),)
 include .depend
 endif
index 7f5019f663505ee3c6e020d14f81865334dcf2ca..c702697bebbe3efab6ea1a7e761fdcdd3fc4257c 100644 (file)
@@ -3,7 +3,6 @@
 #ifndef _MLT_CONFIG_H_
 #define _MLT_CONFIG_H_
 
-#define PREFIX                 "/usr/local"
 #define PREFIX_DATA            PREFIX "/share/mlt/modules"
 
 #endif
index b8aba7ac43c506aee42477a1a4f10ce0c5323da0..7003d633ad27f8591ae3ee230b5c3b68d996b9f0 100644 (file)
@@ -1,3 +1,5 @@
+include ../../config.mak
+
 TARGET = humperdink
 
 OBJS = client.o \
@@ -29,6 +31,10 @@ dist-clean:  clean
 clean: 
                rm -f $(OBJS) $(TARGET)
 
+install:       all
+       install -d "$(bindir)"
+       install -c -s -m 755 $(TARGET) "$(bindir)"
+
 ifneq ($(wildcard .depend),)
 include .depend
 endif
index 6fac85d684388cf07085bad317bdb895f5aec79e..0b67a319506d5212722ac9df5d143ff5d5471388 100644 (file)
@@ -1,3 +1,5 @@
+include ../../config.mak
+
 TARGET = inigo
 
 OBJS = inigo.o \
@@ -28,6 +30,10 @@ dist-clean:  clean
 clean: 
                rm -f $(OBJS) $(TARGET)
 
+install:       all
+       install -d "$(bindir)"
+       install -c -s -m 755 $(TARGET) "$(bindir)"
+
 ifneq ($(wildcard .depend),)
 include .depend
 endif
index 445a812932a43af4f1231a9eb542dec562aa03f7..f8f4340f0d091fe8d05f977a23396a4f36b341c4 100644 (file)
@@ -1,3 +1,5 @@
+include ../../config.mak
+
 TARGET = miracle
 
 APP_OBJS = miracle.o
@@ -40,6 +42,15 @@ dist-clean:  clean
 clean: 
                        rm -f $(OBJS) $(TARGET) libmiracle.so
 
+install:       all
+       install -d "$(bindir)"
+       install -c -s -m 755 $(TARGET) "$(bindir)"
+       install -m 755 libmiracle.so $(prefix)/lib/libmiracle.so
+       mkdir -p "$(prefix)/include/mlt/miracle"
+       install -m 644 \
+                       miracle_local.h \
+            "$(prefix)/include/mlt/miracle"
+
 ifneq ($(wildcard .depend),)
 include .depend
 endif
index ca2d852a52c76b346ee388848b8ced20ff6a331e..73ac02ded20a1eb84f36edb3ff1d2894b941fc33 100644 (file)
@@ -1,6 +1,8 @@
+include ../../config.mak
+
 include make.inc
 
-all clean depend install:
+all clean depend:
        list='$(SUBDIRS)'; \
        for subdir in $$list; do \
                if [ -f $$subdir/Makefile ] ; \
@@ -17,3 +19,14 @@ dist-clean:
                fi \
        done
 
+install:
+       mkdir -p "$(prefix)/share/mlt/modules"
+       install -m 644 producers.dat filters.dat transitions.dat consumers.dat "$(prefix)/share/mlt/modules"
+       list='$(SUBDIRS)'; \
+       for subdir in $$list; do \
+               if [ -f $$subdir/Makefile ] ; \
+               then [ ! -f disable-$$subdir ] && $(MAKE) -C $$subdir $@; \
+               fi \
+       done; \
+       /sbin/ldconfig
+
index e702047c016d3fd20c9efac8bc2fc0dc98f7e4d4..66e57f83839bd343bd6a7bddca5ea1888523af13 100644 (file)
@@ -1,3 +1,4 @@
+include ../../../config.mak
 
 TARGET = ../libmltavformat.so
 
@@ -24,6 +25,9 @@ dist-clean:   clean
 clean: 
                rm -f $(OBJS) $(TARGET) 
 
+install: all
+       install -m 755 $(TARGET) "$(prefix)/share/mlt/modules"
+
 ifneq ($(wildcard .depend),)
 include .depend
 endif
index f37b98132ea9d0e922e0190f8c9cb6c2edd62968..12e2d6189b4c63de2b9abd2167350d633cc66fbf 100644 (file)
@@ -1,3 +1,4 @@
+include ../../../config.mak
 
 TARGET = ../libmltcore.so
 
@@ -44,6 +45,9 @@ dist-clean:   clean
 clean: 
                rm -f $(OBJS) $(ASM_OBJS) $(TARGET) 
 
+install: all
+       install -m 755 $(TARGET) "$(prefix)/share/mlt/modules"
+
 ifneq ($(wildcard .depend),)
 include .depend
 endif
index 4c0150af1a72d11360913976641977b0371d61f9..493d2ac4cb99148a5ccb89bf6e49508db149a6c4 100644 (file)
@@ -1,3 +1,4 @@
+include ../../../config.mak
 
 TARGET = ../libmltdv.so
 
@@ -25,6 +26,9 @@ dist-clean:   clean
 clean: 
                rm -f $(OBJS) $(TARGET)
 
+install: all
+       install -m 755 $(TARGET) "$(prefix)/share/mlt/modules"
+
 ifneq ($(wildcard .depend),)
 include .depend
 endif
index b0e98f7e2911af683bd2677dbd99baf98fdc6097..2fe537525344b65042f5f827b061015b915b5a65 100644 (file)
@@ -1,3 +1,4 @@
+include ../../../config.mak
 
 TARGET = ../libmltfezzik.so
 
@@ -23,6 +24,9 @@ dist-clean:   clean
 clean: 
                rm -f $(OBJS) $(TARGET) 
 
+install: all
+       install -m 644 ../fezzik.dict "$(prefix)/share/mlt/modules"
+
 ifneq ($(wildcard .depend),)
 include .depend
 endif
index ce5e2609f141ac0e98e53a8fa49d5857f29124ce..8e0e3ad35176eda23b5387854c1765a3e486cad9 100644 (file)
@@ -1,3 +1,4 @@
+include ../../../config.mak
 
 TARGET = ../libmltffmpeg.so
 
@@ -24,6 +25,9 @@ dist-clean:   clean
 clean: 
                rm -f $(OBJS) $(TARGET) 
 
+install: all
+       install -m 755 $(TARGET) "$(prefix)/share/mlt/modules"
+
 ifneq ($(wildcard .depend),)
 include .depend
 endif
index 3e8cd62af872f256d065f086be715b7f876b84e7..77c47658f93af26c106a33b0dbb0e94b386d2570 100644 (file)
@@ -1,3 +1,4 @@
+include ../../../config.mak
 
 TARGET = ../libmltgtk2.so
 
@@ -36,6 +37,9 @@ dist-clean:   clean
 clean: 
                rm -f $(OBJS) $(ASM_OBJS) $(TARGET)
 
+install: all
+       install -m 755 $(TARGET) "$(prefix)/share/mlt/modules"
+
 ifneq ($(wildcard .depend),)
 include .depend
 endif
index bed91debf80872a20be199b05278d1885b9eb679..31c4955e694d9eb38bdc18fdb5fd90ea3ec93a58 100644 (file)
@@ -1,3 +1,4 @@
+include ../../../config.mak
 
 TARGET = ../libmltinigo.so
 
@@ -22,6 +23,9 @@ dist-clean:   clean
 clean: 
                rm -f $(OBJS) $(TARGET) 
 
+install: all
+       install -m 755 $(TARGET) "$(prefix)/share/mlt/modules"
+
 ifneq ($(wildcard .depend),)
 include .depend
 endif
index e70434c6cf70878050baacbc331a4fbf7b8ead58..83ffb3d94135b53ccbb476263a97d0289491ac39 100644 (file)
@@ -1,3 +1,4 @@
+include ../../../config.mak
 
 TARGET = ../libmltresample.so
 
@@ -24,6 +25,9 @@ dist-clean:   clean
 clean: 
                rm -f $(OBJS) $(TARGET)
 
+install: all
+       install -m 755 $(TARGET) "$(prefix)/share/mlt/modules"
+
 ifneq ($(wildcard .depend),)
 include .depend
 endif
index 95129362f7abde10b9ca3c0ebdafd5fb8e3e24e2..1571a297f0ba1b201c8dd3a4702ade35eb97e2d6 100644 (file)
@@ -1,3 +1,4 @@
+include ../../../config.mak
 
 TARGET = ../libmltsdl.so
 
@@ -24,6 +25,9 @@ dist-clean:   clean
 clean: 
                rm -f $(OBJS) $(TARGET)
 
+install: all
+       install -m 755 $(TARGET) "$(prefix)/share/mlt/modules"
+
 ifneq ($(wildcard .depend),)
 include .depend
 endif
index 8b89411f4881cd3de18af959b33ff2deb3b70a7f..fabf4d7b5e57ef136cd2615106ab7a68a71a91ad 100644 (file)
@@ -1,3 +1,4 @@
+include ../../../config.mak
 
 TARGET = ../libmltvorbis.so
 
@@ -24,6 +25,9 @@ dist-clean:   clean
 clean: 
                rm -f $(OBJS) $(TARGET) 
 
+install: all
+       install -m 755 $(TARGET) "$(prefix)/share/mlt/modules"
+
 ifneq ($(wildcard .depend),)
 include .depend
 endif
index 871c9ac6a498688a9f13e3b4e2d300ba082c169c..b0a8d0116ad35ad1bdd453b46664aa37b49cab9b 100644 (file)
@@ -1,3 +1,4 @@
+include ../../../config.mak
 
 TARGET = ../libmltwestley.so
 
@@ -25,6 +26,9 @@ dist-clean:   clean
 clean: 
                rm -f $(OBJS) $(TARGET) 
 
+install: all
+       install -m 755 $(TARGET) "$(prefix)/share/mlt/modules"
+
 ifneq ($(wildcard .depend),)
 include .depend
 endif
index a7467087cd36b940de79d40695a036a3b830b9eb..9a965929285c732ed26d66affb6261694403c50d 100644 (file)
@@ -1,3 +1,4 @@
+include ../../../config.mak
 
 TARGET = ../libmltxine.so
 
@@ -24,6 +25,9 @@ dist-clean:   clean
 clean: 
                rm -f $(OBJS) $(TARGET) 
 
+install: all
+       install -m 755 $(TARGET) "$(prefix)/share/mlt/modules"
+
 ifneq ($(wildcard .depend),)
 include .depend
 endif
index 8e680f1bc462c56bb6d7738ce3aa7b2c4d2b38d7..92ef0eb9fd21fb2c0490ab9ba4659cca92ee2502 100644 (file)
@@ -1,3 +1,5 @@
+include ../../config.mak
+
 TARGET = dan charlie pango pixbuf dissolve luma
 
 CFLAGS = -O3 -I .. -Wall -rdynamic -pthread
index 7322577fb736a8f05707808c83037331b8424a80..d7ff25cc5aad7e319ad410e0fa14801b6e8a1150 100644 (file)
@@ -1,3 +1,4 @@
+include ../../config.mak
 
 TARGET = libvalerie.so
 
@@ -36,6 +37,21 @@ dist-clean:  clean
 clean: 
                rm -f $(OBJS) $(TARGET)
 
+install:       all
+       install -m 755 $(TARGET) $(prefix)/lib/libvalerie.so
+       mkdir -p "$(prefix)/include/mlt/valerie"
+       install -m 644 \
+                       valerie.h \
+                       valerie_notifier.h \
+                       valerie_parser.h \
+                       valerie_remote.h \
+                       valerie_response.h \
+                       valerie_socket.h \
+                       valerie_status.h \
+                       valerie_tokeniser.h \
+                       valerie_util.h \
+            "$(prefix)/include/mlt/valerie"
+
 ifneq ($(wildcard .depend),)
 include .depend
 endif