[Top][All Lists]

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

m-file management

From: Etienne Grossmann
Subject: m-file management
Date: Sat, 23 Sep 2000 09:56:03 +0100
User-agent: SEMI/1.12.1 ([JR] Nonoichi) FLIM/1.12.7 (Yzaki) Emacs/20.7 (i386-debian-linux-gnu) (with unibyte mode)


  I have put together some tools for keeping track of dependencies
between m-files. It should be useful for biggish projects.

  Basically, it builds and queries an ascii database about m-files.

  It is written in Perl (>=5.005) and needs the perl module
AsciiDB::TagFile (available from your nearest CPAN server).

  I have put it atŠþetienne/octave/OctTools-0.03.tar.gz 

  Use at your own risk, but the risk should not be too great.



  Manpage is :

NAME odb - Octave function database manager

    odb [options] command [command arguments]

    odb manages a text-format database of information concerning
    octave m-files. This database mainly keeps track of dependencies
    between octave functions.

    Options may start with a single '-' or a double '--' dash.

    -d datadir : specify the database directory. If -d is not
    passed, it checks for the environment variable $ODBROOT; if this is
    not set either, an error is produced.
    -v, -verbose
    -h, -help


study m-files and/or directories

    looks in m-files for function declarations and function
    dependencies. Each found function `"f"' is documented in the
    text file datadir/f.of ("of" stands for "Octave Function"). This
    file lists :

    name   : The function name
    file   : The file in which it was found
    modif  : The last modification time
    in     : Input arguments
    out    : Output variables
    calls  : List of functions that this function calls
    called : List of functions called by this function

depend functions

    Print on stdout a list of m-files needed to implement some
    functions. All the dependencies of these functions on other
    files of the database datadir are taken into account.


    Assume you are in Šþ/octave and have lots of m-files in
    Šþ/octave/functions/*.m and Šþ/octave/functions/*/*.m.

                                    # Specify database directory
      export ODBROOT=Šþ/octave/my-database

                                    # Study m-files 
      odb study functions functions//

                                    # Print the list of files needed to
                                    # implement func1, func2 and func3
      odb depend func1 func2 func3

                                    # Make a bundle of m-files
      tar cvzf my-bundle.tar.gz `odb depend func1 func2 func3`

    The perl module AsciiDB::TagFile should be installed.

    Etienne Grossmann <address@hidden>

Octave is freely available under the terms of the GNU GPL.

Octave's home on the web:
How to fund new projects:
Subscription information:

reply via email to

[Prev in Thread] Current Thread [Next in Thread]