AppKit
GNUstep make and NEEDS_GUI
By default, GNUstep make encodes assumptions about whether it should link your target to the GUI framework (libs-gui on most platforms, AppKit on macOS). The default is yes for apps, and no for frameworks, libraries, and tools.
To change this, modify your GNUmakefile to set one of these variables to either yes or no:
NEEDS_GUI: applies to all targets in theGNUmakefile.[product_name]_NEEDS_GUI: applies to the specific product. For example, if your tool is calledMyTool, and it needs to link to the GUI framework, setMyTool_NEEDS_GUI = yes.
Menu Structure
The menu structure for GNUstep apps is different when they’re running on macOS than on other platforms. macOS has a special “app menu” named after the app that contains the About, Settings, Services, and Quit items, among others.
On other platforms, the GNUstep menu structure follows the NeXTstep/OpenStep convention, in which the first menu is “Info”, which contains the “Info Panel…”, “Preferences”, and “Help” items. The Services menu is at the top level of the app’s menu bar, as are the hide and quit menu items. Use this structure on non-macOS desktop platforms, regardless of whether the active theme draws a vertical, NeXT-style menu, or a horizontal, Apple- or Windows-style menu bar.
