TP-MAGIC-CONFIG(1) tp-magic-config TP-MAGIC-CONFIG(1)
NAME
tp-magic-config -- Helps creating 'Magic' tool plugins for Tux
Paint(1)SYNOPSYS
tp-magic-config [--apiversion | --version | --cflags | --pluginprefix | --plugindocprefix | --dataprefix | --localpluginprefix | --localdataprefix]DESCRIPTION
tp-magic-config is a simple shell script that responds with various
pieces of information about the currently-installed version of
Tux Paint(1) that are useful when building 'Magic' tool plugins.
OPTIONS
--apiversion Outputs the version of the
Tux Paint 'Magic' tool plugin API
that the installed copy of
Tux Paint supports. (For API
compatibility testing.)
--version Outputs the version of
Tux Paint that
tp-magic-config corresponds to.
--cflags Outputs the compiler flags that
Tux Paint 'Magic' tool
plugins should be compiled with. (For example, a "-I" include
path option that tells the compiler where it can find the
plugin API header file, "tp_magic_config.h", that plugins
must #include.)
--pluginprefix Outputs the system directory where the installed copy of
Tux Paint expects to find 'Magic' tool plugins (".so" shared
objects). (e.g., "/usr/share/tuxpaint/plugins")
--localpluginprefix Outputs the user directory where the installed copy of
Tux Paint expects to find 'Magic' tool plugins (".so" shared
objects). (e.g., "/home/username/.tuxpaint/plugins")
--plugindocprefix Outputs the directory where the installed copy of
Tux Paint expects to find documentation for 'Magic' tool plugins
(".html" and ".txt" files).
Tux Paint's main documentation
includes a link to this directory under the section on
"Magic" tools.
--dataprefix Outputs the system directory where the installed copy of
Tux Paint keeps its global data files (e.g.,
"/usr/share/tuxpaint/"). This is the same value that plugins
installed system-wide will receive in the "data_directory"
string within the "magic_api" structure sent to the plugins'
functions.
--localdataprefix Outputs the user directory where the installed copy of
Tux Paint expects plugins to install their local data files.
(e.g., "/home/username/.tuxpaint/plugins/data"). This is the
same value that plugins installed locally will receive in the
"data_directory" string within the "magic_api" structure sent
to the plugins' functions.
SYSTEM-WIDE SHELL EXAMPLES $ gcc -shared `tp-magic-config --cflags` my_plugin.c -o my_plugin.so
# cp my_plugin.so `tp-magic-config --pluginprefix`
# cp my_plugin_icon.png `tp-magic-config --dataprefix`/images/magic
# cp my_plugin.html `tp-magic-config --plugindocrefix`/html
# cp my_plugin.txt `tp-magic-config --plugindocrefix`
LOCAL SHELL EXAMPLES
$ gcc -shared `tp-magic-config --cflags` my_plugin.c -o my_plugin.so
$ mkdir -p `tp-magic-config --localpluginprefix`
$ cp my_plugin.so `tp-magic-config --localpluginprefix`
$ mkdir -p `tp-magic-config --localdataprefix`/images/magic
$ cp my_plugin_icon.png `tp-magic-config
--localdataprefix`/images/magic
SYSTEM-WIDE MAKEFILE EXAMPLE MAGIC_CFLAGS=$(shell tp-magic-config --cflags)
MAGIC_PREFIX=$(shell tp-magic-config --pluginprefix)
MAGIC_DOC_PREFIX=$(shell tp-magic-config --plugindocprefix)
DATA_PREFIX=$(shell tp-magic-config --dataprefix)
all: my_plugin.so
my_plugin.so: my_plugin.c
install: install-so install-data install-docs
install-so:
mkdir -p $(MAGIC_PREFIX)
cp my_plugin.so $(MAGIC_PREFIX)/
chmod 644 $(MAGIC_PREFIX)/my_plugin.so
install-data:
mkdir -p $(DATA_PREFIX)
cp icons/my_plugin_icon.png $(DATA_PREFIX)/images/magic/
chmod 644 $(DATA_PREFIX)/images/magic/my_plugin_icon.png
install-docs:
mkdir -p $(MAGIC_DOC_PREFIX)
cp docs/my_plugin.html $(MAGIC_DOC_PREFIX)/html/
chmod 644 $(MAGIC_DOC_PREFIX)/html/my_plugin.html
cp docs/my_plugin.txt $(MAGIC_DOC_PREFIX)/
chmod 644 $(MAGIC_DOC_PREFIX)/my_plugin.txt
AUTHOR
Bill Kendrick. <bill@newbreedsoftware.com>
SEE ALSO
tuxpaint(1),
And documentation within /usr/[local/]share/doc/tuxpaint/.
2007.08.07 07 August 2007 TP-MAGIC-CONFIG(1)