EnglishFrenchSpanish

Ad


OnWorks favicon

makeppreplay - Online in the Cloud

Run makeppreplay in OnWorks free hosting provider over Ubuntu Online, Fedora Online, Windows online emulator or MAC OS online emulator

This is the command makeppreplay that can be run in the OnWorks free hosting provider using one of our multiple free online workstations such as Ubuntu Online, Fedora Online, Windows online emulator or MAC OS online emulator

PROGRAM:

NAME


makeppreplay -- Fast repeater of selected makepp actions

DESCRIPTION


?: -?, A: -A,
--args-file,
--arguments-file, C: -C,
-c, D: --directory,
--dry-run, H: -h,
--help, I: -I,
--include,
--include-dir, J: --just-print, K: -k,
--keep-going, L: --log,
--log-file, M: -M,
$MAKEPPREPLAYFLAGS,
--module, N: -n,
--no-log,
--no-print-directory,
--no-warn, P: --profile, R: --recon,
--root-dir,
--root-directory, S: -s,
--sed, T: -t,
--temporary, V: -V,
--version

makeppreplay [ option ... ] [ VAR=value ] [ target ... ]

mppr [ option ... ] [ VAR=value ] [ target ... ]

Makeppreplay tries to do the same things makepp did. It does this solely based on the
remembered build info, saving much time by not reading makefiles, not parsing commands,
not scanning files and not looking at every repository file, to see whether it fits. But
unlike makepp it reuses all repository links it finds.

It does not know about phony or default targets, so you have to give it real files or
directories, as a shortcut for all files makepp has built therein. By default it builds
all files makepp built in the current or chosen directory.

This approach is only correct when there are no structural changes, i.e. no different
modules to be linked, no moved files, no different "#include" statements, which should
possibly have caused those files to be (re)built. After updating from version control, or
when building against a repository, where others may have caused such changes, you should
call makepp once after potential changes (e.g. in the morning after an overnight
repository update), to be sure your build infos are up to date.

Not reading makefiles means, it will not know any subs (Perl functions) defined in them.
For this you should put all your functions into an external module. It will also not know
about any variable settings, which is only a problem if your Perl code accesses them
(because in rule actions they have already been expanded).

TODO


This is still experimental and imperfect.

· Build up a complete dependency tree starting from the given targets and decide which
of them to build based on their build check methods. That requires the method to be
remembered in the build info.

· After implementing the previous bullet item, accept more makepp opts, like "-j" or
"--dont-build".

· Allow build cache with implicit "--no-populate-bc" (because makeppreplay doesn't
guarantee a correct build). Makepp might later publish to the build cache anything it
retains.

· Have makepp remember build info for all failed commands and for those it didn't
attempt because their dependencies failed. This is only partially possible, because
dependencies may only be found out after building the files that require them. What
should happen with (a has no build info):

a: b
b: c
cmd_producing_a_and_b

OPTIONS


Options include some of the makepp options, plus two new ones, for loading modules that
would normally be loaded from a makefile.

-A filename
--args-file=filename
--arguments-file=filename
Read the file and parse it as possibly quoted whitespace- and/or newline-separated
options.

-C directory
--directory=directory
Cd to the given directory before loading the makefile and trying to build the targets.
This is more or less equivalent to specifying a directory with "-F", except that
subsequent "-C", "-f", "-F", "-I" and "-R" options are interpreted relative to the new
directory, rather than the old one.

-c
--root-dir
--root-directory
Cd up to the directory containing a RootMakeppfile.

-I directory
--include=directory
--include-dir=directory
Add directory to Perl load path @INC.

-?
-h
--help
Print out a brief summary of the options.

-k
--keep-going
Build as many files as possible, even if some of them have errors. By default, makepp
stops when it encounters the first error, even if there are other files that need to
be built that don't depend on the erroneous file.

--log=logfilename
--log-file=logfilename
Changes the name of the log file to the indicated name. By default, the log file is
called .makepp/log. This file is readable with makepplog, mppl.

-M module[=arg,...]
--module=module[=arg,...]
Load module and import any functions it exports.

-n
--dry-run
--just-print
--recon
Print out commands without actually executing them.

--no-log
Don't bother writing a detailed description of what was done to the log file.

--no-print-directory
Turn off the entering or leaving directory messages.

--profile
Output raw timestamps before and after each action.

-s perl-expression
--sed=perl-expression
Run the perl expression against the command before running it, like for preprocessor
"-s 's/ -c / -E /; s/\.o\b/.i/g'". This would transform a compilation command ("-c")
into a preprocessor ("-E") invocation, changing the .o suffix to .i, which is a
conventional suffix for preprocessed C. Or you might want to add some debug output to
your linker. If you have only one command in the rule, you can do this by
substituting it into the first space: "-s 's/ / -Wl,-t /'".

When the command is altered, nothing is remembered about this, i.e. makepp will think
you have manually modified the file, causing a rebuild.

Note that (unlike makepp) makeppreplay does not parse the command, so it won't notice
that the target filename was changed. So you must still request the .o target, even
though a .i will be built. And makeppclean won't know to remove it.

-t
--temporary
Makeppreplay modifies the build info of all files it touched and of all dependencies
it found modified. It marks them in such a way that makepp nevertheless knows that it
needs to rescan these files. But with this option you can prevent these
modifications, so that makepp will simply consider all files makeppreplay created as
incorrect.

-V
--version
Print out the version number.

--no-warn
Don't print any warning messages.

EXAMPLES


Probably the most common use is relinking either a program or a library after editing a
source file:

makeppreplay subdir/foo.o bin/bar
mppr subdir/foo.o lib/libbar.so

ENVIRONMENT


Makeppreplay looks at the following environment variable:

$MAKEPPREPLAYFLAGS
Any options you may want to always pass.

Use makeppreplay online using onworks.net services


Free Servers & Workstations

Download Windows & Linux apps

  • 1
    Phaser
    Phaser
    Phaser is a fast, free, and fun open
    source HTML5 game framework that offers
    WebGL and Canvas rendering across
    desktop and mobile web browsers. Games
    can be co...
    Download Phaser
  • 2
    VASSAL Engine
    VASSAL Engine
    VASSAL is a game engine for creating
    electronic versions of traditional board
    and card games. It provides support for
    game piece rendering and interaction,
    and...
    Download VASSAL Engine
  • 3
    OpenPDF - Fork of iText
    OpenPDF - Fork of iText
    OpenPDF is a Java library for creating
    and editing PDF files with a LGPL and
    MPL open source license. OpenPDF is the
    LGPL/MPL open source successor of iText,
    a...
    Download OpenPDF - Fork of iText
  • 4
    SAGA GIS
    SAGA GIS
    SAGA - System for Automated
    Geoscientific Analyses - is a Geographic
    Information System (GIS) software with
    immense capabilities for geodata
    processing and ana...
    Download SAGA GIS
  • 5
    Toolbox for Java/JTOpen
    Toolbox for Java/JTOpen
    The IBM Toolbox for Java / JTOpen is a
    library of Java classes supporting the
    client/server and internet programming
    models to a system running OS/400,
    i5/OS, o...
    Download Toolbox for Java/JTOpen
  • 6
    D3.js
    D3.js
    D3.js (or D3 for Data-Driven Documents)
    is a JavaScript library that allows you
    to produce dynamic, interactive data
    visualizations in web browsers. With D3
    you...
    Download D3.js
  • More »

Linux commands

  • 1
    abidiff
    abidiff
    abidiff - compare ABIs of ELF files
    abidiff compares the Application Binary
    Interfaces (ABI) of two shared libraries
    in ELF format. It emits a meaningful
    repor...
    Run abidiff
  • 2
    abidw
    abidw
    abidw - serialize the ABI of an ELF
    file abidw reads a shared library in ELF
    format and emits an XML representation
    of its ABI to standard output. The
    emitted ...
    Run abidw
  • 3
    copac2xml
    copac2xml
    bibutils - bibliography conversion
    utilities ...
    Run copac2xml
  • 4
    copt
    copt
    copt - peephole optimizer SYSNOPIS:
    copt file.. DESCRIPTION: copt is a
    general-purpose peephole optimizer. It
    reads code from its standard input and
    writes an ...
    Run copt
  • 5
    gather_stx_titles
    gather_stx_titles
    gather_stx_titles - gather title
    declarations from Stx documents ...
    Run gather_stx_titles
  • 6
    gatling-bench
    gatling-bench
    bench - http benchmark ...
    Run gatling-bench
  • More »

Ad