Support cross-compilation

While this component is stored in pre-compiled form, we need the header
filenames to be converted to postfix-extension form during the export phase
so that compilers and other code analysis tools will find them. Because this
is a somewhat unusual component, this is achieved with a custom makefile for
cross-compilation use. Support is also included for converting the object
files to ELF format when exporting, if `${TOOLCHAIN}` is `GNU`.

Enable GitLab CI (native `Makefile` given partial GNU make compatibility to
facilite some of the CI jobs, and as a side-effect will enable correct syntax
colouring in GitLab).

`NOT_USED` macro refactored to avoid `cppcheck` warnings in clients. It now
evaluates its argument only once, so is more function-lilke, but sadly has
to remain a compound statement because a few components use it without a
trailing semicolon.
18 jobs for CrossCompilationSupport in 3 minutes and 56 seconds (queued for 3 seconds)
latest
Status Job ID Name Coverage
  Static Analysis
passed #15597
cross
cppcheck

00:00:05

passed #15590
cross
gitattributes

00:00:00

passed #15591
cross
gitignore

00:00:00

passed #15594
cross
head_log

00:00:00

passed #15596
cross
head_whitesp

00:00:00

passed #15592
cross
license

00:00:00

passed #15595
cross
makefile

00:00:00

passed #15593
cross
versionnum

00:00:02

 
  Disc
failed #15598
cross allowed to fail
disc_Disc

00:00:26

 
  Rom
failed #15599
cross allowed to fail
rom_BCM2835

00:00:25

failed #15606
cross allowed to fail
rom_iMx6

00:00:25

failed #15600
cross allowed to fail
rom_IOMD32

00:00:23

failed #15601
cross allowed to fail
rom_OMAP3

00:00:25

failed #15602
cross allowed to fail
rom_OMAP4

00:00:24

failed #15603
cross allowed to fail
rom_OMAP5

00:00:24

failed #15604
cross allowed to fail
rom_Titanium

00:00:24

failed #15605
cross allowed to fail
rom_Tungsten

00:00:24

 
  Cleanup
passed #15607
cross
cleanup

00:00:01

 
Name Stage Failure
failed
rom_iMx6 Rom
Batched errors...
Error running make export (hdrs) on module 'FileCore'.
Error running make export (hdrs) on module 'ADFS'.
Error running make export (hdrs) on module 'RamFS'.
Error running make export (hdrs) on module 'SCSIFS'.
Error running make export (hdrs) on module 'SDFS'.
------------------------------------------------------------------------------
Cleaning up file based variables
ERROR: Job failed: exit status 1
failed
rom_Tungsten Rom
------------------------------------------------------------------------------
Batched errors...
Error running make export (hdrs) on module 'FileCore'.
Error running make export (hdrs) on module 'ADFS'.
Error running make export (hdrs) on module 'RamFS'.
Error running make export (hdrs) on module 'SCSIFS'.
------------------------------------------------------------------------------
Cleaning up file based variables
ERROR: Job failed: exit status 1
failed
rom_Titanium Rom
Batched errors...
Error running make export (hdrs) on module 'FileCore'.
Error running make export (hdrs) on module 'ADFS4'.
Error running make export (hdrs) on module 'RamFS'.
Error running make export (hdrs) on module 'SCSIFS'.
Error running make export (hdrs) on module 'SDFS'.
------------------------------------------------------------------------------
Cleaning up file based variables
ERROR: Job failed: exit status 1
failed
rom_OMAP5 Rom
Batched errors...
Error running make export (hdrs) on module 'FileCore'.
Error running make export (hdrs) on module 'ADFS4'.
Error running make export (hdrs) on module 'RamFS'.
Error running make export (hdrs) on module 'SCSIFS'.
Error running make export (hdrs) on module 'SDFS'.
------------------------------------------------------------------------------
Cleaning up file based variables
ERROR: Job failed: exit status 1
failed
rom_OMAP4 Rom
Batched errors...
Error running make export (hdrs) on module 'FileCore'.
Error running make export (hdrs) on module 'ADFS'.
Error running make export (hdrs) on module 'RamFS'.
Error running make export (hdrs) on module 'SCSIFS'.
Error running make export (hdrs) on module 'SDFS'.
------------------------------------------------------------------------------
Cleaning up file based variables
ERROR: Job failed: exit status 1
failed
rom_OMAP3 Rom
Batched errors...
Error running make export (hdrs) on module 'FileCore'.
Error running make export (hdrs) on module 'ADFS'.
Error running make export (hdrs) on module 'RamFS'.
Error running make export (hdrs) on module 'SCSIFS'.
Error running make export (hdrs) on module 'SDFS'.
------------------------------------------------------------------------------
Cleaning up file based variables
ERROR: Job failed: exit status 1
failed
rom_IOMD32 Rom
------------------------------------------------------------------------------
Batched errors...
Error running make export (hdrs) on module 'FileCore'.
Error running make export (hdrs) on module 'ADFS'.
Error running make export (hdrs) on module 'RamFS'.
Error running make export (hdrs) on module 'SCSIFS'.
------------------------------------------------------------------------------
Cleaning up file based variables
ERROR: Job failed: exit status 1
failed
rom_BCM2835 Rom
Batched errors...
Error running make export (hdrs) on module 'FileCore'.
Error running make export (hdrs) on module 'ADFS'.
Error running make export (hdrs) on module 'RamFS'.
Error running make export (hdrs) on module 'SCSIFS'.
Error running make export (hdrs) on module 'SDFS'.
------------------------------------------------------------------------------
Cleaning up file based variables
ERROR: Job failed: exit status 1
failed
disc_Disc Disc
Error running make export (hdrs) on module 'PDumperE2'.
Error running make export (hdrs) on module 'PDumperIW'.
Error running make export (hdrs) on module 'PDumperLJ'.
Error running make export (hdrs) on module 'DesktopBoot'.
Error running make export (hdrs) on module 'PatchesPatch'.
Error running make export (hdrs) on module 'ChangeFSI'.
------------------------------------------------------------------------------
Cleaning up file based variables
ERROR: Job failed: exit status 1