Tool reference#
Makefiles: Top-level | Instance | Master
Inheritance: Project → SharedBundle → Tool
A tool is a program that can be called from the command-line. It’s useful for testing out ideas or writing command-line tools.
Tools link against Base (FoundationKit), but not against Gui (AppKit). If you need to link against Gui, use xxx_NEEDS_GUI
. If you need a tool that doesn’t link against Base, use an Objective-C Tool.
Creating a tool#
- TOOL_NAME#
The list of all tools in this GNUmakefile.
include $(GNUSTEP_MAKEFILES)/common.make
TOOL_NAME = <Your tool name here>
include $(GNUSTEP_MAKEFILES)/tool.make
Tool properties#
Tool also inherits Project properties.
- xxx_INSTALL_DIR#
This is the directory where the tool gets installed. If you don’t specify a directory it will get installed in the GNUstep Local Root (by default
/usr/GNUstep/Local
on Unix-like systems). The tool executable will get installed in root/Tools
.
- xxx_INSTALL_DIR#
This is the directory where the tool gets installed. If you don’t specify a directory it will get installed in the GNUstep Local Root (by default
/usr/GNUstep/Local
on Unix-like systems). The tool executable will get installed in root/Tools
.
- xxx_HAS_RESOURCE_BUNDLE#
If this variable is
yes
, then GNUstep Make will build a resource bundle for the tool, and install it. You can then add resources to the tool with the usual xxx_RESOURCE_FILES, xxx_LOCALIZED_RESOURCE_FILES, xxx_LANGUAGES, etc – see (Resource Set Reference)[../ResourceSet/Reference.md].xxx
will be the same as the name of the tool.The tool resource bundle (and all resources inside it) can be accessed at runtime very comfortably, by using gnustep-base’s
[NSBundle mainBundle]
(exactly as you would do for an application).
Global configuration variables#
- TOOL_INSTALL_DIR#
This is the directory where the tool gets installed. If you don’t specify a directory it will get installed in the GNUstep Local Root (by default
/usr/GNUstep/Local
on Unix-like systems). The tool executable will get installed in root/Tools
.