grc is a part of cc65's GEOS support. The tool is necessary to generate required and optional resources. A required resource for every GEOS application is the header, that is: an icon, some strings, and some addresses. Optional resources might be menu definitions, other headers (e.g., for data files of an app.), dialog definitions, etc. Without an application's header, GEOS is unable to load and start it.
Currently, grc supports only menues and the required header definition, along with support for building VLIR-structured files.
grc generates output in three formats: C header, ca65 source (.s), and, for linking VLIR, ld65 configuration script. That is because application header data must be in assembly format, while menu definitions can be translated easily into C. The purpose of the C file is to include it as a header in only one project file. The assembly source should be processed by ca65, and linked as the first object (read about the building process). The VLIR structure currently is supported for only projects that are written entirely in assembly code.
grc can be used also as a handy VLIR linker -- used to build
.cvt files out of prepared binary chains.