From 3f9327d3406008bcbe7f06d9fd5ca11d5b33c983 Mon Sep 17 00:00:00 2001
From: Legolas <legolas@idefix.freepascal.org>
Date: Sun, 23 Aug 2009 13:57:45 +0000
Subject: [PATCH] * NDS: updated the rtl, libnds and fixed the examples. Now it
 should work fine with devkitARM r26 - Removed (again) old libgba examples

git-svn-id: trunk@13585 -
---
 .gitattributes                                |   22 +-
 .../devkitPro/audio/PlayBoyScout/Makefile     | 2576 -----------------
 .../devkitPro/audio/PlayBoyScout/Makefile.fpc |   36 -
 .../audio/PlayBoyScout/PlayBoyScout.pp        |   73 -
 .../audio/PlayBoyScout/data/ScoutSplash.pcx   |  Bin 14491 -> 0 bytes
 .../audio/PlayBoyScout/data/tune.bgf          |  Bin 1244 -> 0 bytes
 .../devkitPro/graphics/PCXView/Makefile       | 2574 ----------------
 .../devkitPro/graphics/PCXView/Makefile.fpc   |   34 -
 .../graphics/PCXView/data/ScoutSplash.pcx     |  Bin 14491 -> 0 bytes
 .../graphics/PCXView/data/splash.pcx          |  Bin 9461 -> 0 bytes
 .../devkitPro/graphics/PCXView/pcx_view.pp    |   46 -
 .../graphics/SimpleBGScroll/Makefile          | 2573 ----------------
 .../graphics/SimpleBGScroll/Makefile.fpc      |   33 -
 .../graphics/SimpleBGScroll/SimpleBGScroll.pp |  162 --
 .../SimpleBGScroll/data/r6502_portfont.bin    |  Bin 3072 -> 0 bytes
 .../devkitPro/graphics/ansi_console/Makefile  | 2358 ---------------
 .../graphics/ansi_console/Makefile.fpc        |   26 -
 .../graphics/ansi_console/console.pp          |   60 -
 .../examples/devkitPro/template/Makefile      | 2358 ---------------
 .../examples/devkitPro/template/Makefile.fpc  |   26 -
 .../examples/devkitPro/template/template.pp   |   45 -
 .../examples/RealTimeClock/Watch/watch.pp     |    2 +
 .../audio/maxmod/audio_modes/Makefile.fpc     |   14 +-
 .../audio/maxmod/audio_modes/audio_modes.pp   |   42 +-
 .../audio/maxmod/basic_sound/basic_sound.pp   |    8 +-
 .../song_events_example.pp                    |    2 +-
 .../song_events_example2.pp                   |    4 +-
 .../examples/audio/micrecord/micrecord.pp     |    2 +
 .../libndsfpc/examples/card/eeprom/eeprom.pp  |    2 +
 .../debugging/exceptionTest/exceptionTest.pp  |    3 +-
 .../libndsfpc/examples/ds_motion/dsMotion.pp  |    1 +
 .../examples/dswifi/ap_search/apSearch.pp     |    6 +-
 .../dswifi/autoconnect/autoconnect.pp         |    5 -
 .../filesystem/embedded_gbfs/embedded_gbfs.pp |    1 +
 .../libfat/access_dir/access_dir.pp           |    1 -
 .../3D/3D_Both_Screens/3DBothScreens.pp       |    2 +
 .../examples/graphics/3D/BoxTest/BoxTest.pp   |    2 +
 .../graphics/3D/Display_List/DisplayList.pp   |    2 +
 .../3D/Display_List_2/DisplayList2.pp         |    2 +
 .../graphics/3D/Env_Mapping/EnvMapping.pp     |    2 +
 .../graphics/3D/Mixed_Text_3D/MixedText3D.pp  |    2 +
 .../graphics/3D/Paletted_Cube/PalettedCube.pp |    2 +
 .../examples/graphics/3D/Picking/Picking.pp   |    2 +
 .../graphics/3D/Simple_Quad/SimpleQuad.pp     |    3 +-
 .../graphics/3D/Simple_Tri/SimpleTri.pp       |    2 +
 .../graphics/3D/Textured_Cube/TexturedCube.pp |    2 -
 .../graphics/3D/Textured_Quad/TexturedQuad.pp |    2 +-
 .../graphics/3D/Toon_Shading/ToonShading.pp   |    1 +
 .../16bit_color_bmp/16bitColorBmp.pp          |    2 +
 .../Backgrounds/256_color_bmp/256ColorBmp.pp  |    2 -
 .../Backgrounds/Double_Buffer/DoubleBuffer.pp |    2 +
 .../all_in_one/BackgroundAllInOne.pp          |    2 +
 .../graphics/Backgrounds/rotation/Rotation.pp |    2 +
 .../Printing/ansi_console/AnsiConsole.pp      |    2 +
 .../console_windows/ConsoleWindows.pp         |    2 +
 .../Printing/custom_font/CustomFont.pp        |    8 +-
 .../print_both_screens/printBothScreens.pp    |   10 -
 .../Printing/rotscale_text/RotscaleText.pp    |    2 +
 .../Sprites/allocation_test/AllocationTest.pp |    5 +-
 .../Sprites/animate_simple/AnimateSimple.pp   |    3 +-
 .../Sprites/bitmap_sprites/BitmapSprites.pp   |    2 +
 .../fire_and_sprites/FireAndSprites.pp        |    2 +
 .../graphics/Sprites/simple/Simple.pp         |   51 +-
 .../SpriteExtendedPalettes.pp                 |   54 +-
 .../Sprites/sprite_rotate/SpriteRotate.pp     |   36 +-
 .../examples/hello_world/helloWorld.pp        |    2 +
 .../keyboard/keyboard_async/keyboardAsync.pp  |    2 +
 .../keyboard/keyboard_stdin/keyboardStdin.pp  |    4 +-
 packages/libndsfpc/src/fat/fat.pp             |    4 +-
 packages/libndsfpc/src/fat/filesystem.pp      |    4 +-
 packages/libndsfpc/src/maxmod/inc/maxmod.inc  |    2 +-
 packages/libndsfpc/src/nds/arm7/clock.inc     |    1 +
 .../libndsfpc/src/nds/arm9/background.inc     |    8 +-
 packages/libndsfpc/src/nds/arm9/keyboard.inc  |    6 +-
 packages/libndsfpc/src/nds/arm9/sound.inc     |    2 +
 packages/libndsfpc/src/nds/arm9/sprite.inc    |   24 +-
 packages/libndsfpc/src/nds/arm9/video.inc     |   16 +-
 packages/libndsfpc/src/nds/arm9/videoGL.inc   |    4 +-
 packages/libndsfpc/src/nds/bios.inc           |    4 -
 packages/libndsfpc/src/nds/dynamicArray.inc   |    6 +-
 packages/libndsfpc/src/nds/fifocommon.inc     |  260 +-
 packages/libndsfpc/src/nds/fifomessages.inc   |   94 +-
 packages/libndsfpc/src/nds/interrupts.inc     |   19 +
 packages/libndsfpc/src/nds/ndsinclude.inc     |    2 +-
 packages/libndsfpc/src/nds/registers_alt.inc  |   14 +-
 packages/libndsfpc/src/nds/system.inc         |   19 +-
 packages/libndsfpc/src/nds/timers.inc         |    3 +-
 rtl/nds/libc.inc                              |   56 +
 rtl/nds/libch.inc                             |  199 ++
 rtl/nds/nds.inc                               |    1 -
 rtl/nds/ndsh.inc                              |   91 +-
 rtl/nds/system.pp                             |    5 +-
 92 files changed, 608 insertions(+), 13552 deletions(-)
 delete mode 100644 packages/libgbafpc/examples/devkitPro/audio/PlayBoyScout/Makefile
 delete mode 100644 packages/libgbafpc/examples/devkitPro/audio/PlayBoyScout/Makefile.fpc
 delete mode 100644 packages/libgbafpc/examples/devkitPro/audio/PlayBoyScout/PlayBoyScout.pp
 delete mode 100644 packages/libgbafpc/examples/devkitPro/audio/PlayBoyScout/data/ScoutSplash.pcx
 delete mode 100644 packages/libgbafpc/examples/devkitPro/audio/PlayBoyScout/data/tune.bgf
 delete mode 100644 packages/libgbafpc/examples/devkitPro/graphics/PCXView/Makefile
 delete mode 100644 packages/libgbafpc/examples/devkitPro/graphics/PCXView/Makefile.fpc
 delete mode 100644 packages/libgbafpc/examples/devkitPro/graphics/PCXView/data/ScoutSplash.pcx
 delete mode 100644 packages/libgbafpc/examples/devkitPro/graphics/PCXView/data/splash.pcx
 delete mode 100644 packages/libgbafpc/examples/devkitPro/graphics/PCXView/pcx_view.pp
 delete mode 100644 packages/libgbafpc/examples/devkitPro/graphics/SimpleBGScroll/Makefile
 delete mode 100644 packages/libgbafpc/examples/devkitPro/graphics/SimpleBGScroll/Makefile.fpc
 delete mode 100644 packages/libgbafpc/examples/devkitPro/graphics/SimpleBGScroll/SimpleBGScroll.pp
 delete mode 100644 packages/libgbafpc/examples/devkitPro/graphics/SimpleBGScroll/data/r6502_portfont.bin
 delete mode 100644 packages/libgbafpc/examples/devkitPro/graphics/ansi_console/Makefile
 delete mode 100644 packages/libgbafpc/examples/devkitPro/graphics/ansi_console/Makefile.fpc
 delete mode 100644 packages/libgbafpc/examples/devkitPro/graphics/ansi_console/console.pp
 delete mode 100644 packages/libgbafpc/examples/devkitPro/template/Makefile
 delete mode 100644 packages/libgbafpc/examples/devkitPro/template/Makefile.fpc
 delete mode 100644 packages/libgbafpc/examples/devkitPro/template/template.pp
 create mode 100644 rtl/nds/libc.inc
 create mode 100644 rtl/nds/libch.inc

diff --git a/.gitattributes b/.gitattributes
index 67c871546c..e64cde347f 100644
--- a/.gitattributes
+++ b/.gitattributes
@@ -3106,26 +3106,6 @@ packages/libgbafpc/examples/audio/PlayBoyScout/Makefile.fpc svneol=native#text/p
 packages/libgbafpc/examples/audio/PlayBoyScout/PlayBoyScout.pp svneol=native#text/plain
 packages/libgbafpc/examples/audio/PlayBoyScout/data/ScoutSplash.pcx -text
 packages/libgbafpc/examples/audio/PlayBoyScout/data/tune.bgf -text
-packages/libgbafpc/examples/devkitPro/audio/PlayBoyScout/Makefile svneol=native#text/plain
-packages/libgbafpc/examples/devkitPro/audio/PlayBoyScout/Makefile.fpc svneol=native#text/plain
-packages/libgbafpc/examples/devkitPro/audio/PlayBoyScout/PlayBoyScout.pp svneol=native#text/plain
-packages/libgbafpc/examples/devkitPro/audio/PlayBoyScout/data/ScoutSplash.pcx -text svneol=unset#image/pcx
-packages/libgbafpc/examples/devkitPro/audio/PlayBoyScout/data/tune.bgf -text
-packages/libgbafpc/examples/devkitPro/graphics/PCXView/Makefile svneol=native#text/plain
-packages/libgbafpc/examples/devkitPro/graphics/PCXView/Makefile.fpc svneol=native#text/plain
-packages/libgbafpc/examples/devkitPro/graphics/PCXView/data/ScoutSplash.pcx -text svneol=unset#image/pcx
-packages/libgbafpc/examples/devkitPro/graphics/PCXView/data/splash.pcx -text svneol=unset#image/pcx
-packages/libgbafpc/examples/devkitPro/graphics/PCXView/pcx_view.pp svneol=native#text/plain
-packages/libgbafpc/examples/devkitPro/graphics/SimpleBGScroll/Makefile svneol=native#text/plain
-packages/libgbafpc/examples/devkitPro/graphics/SimpleBGScroll/Makefile.fpc svneol=native#text/plain
-packages/libgbafpc/examples/devkitPro/graphics/SimpleBGScroll/SimpleBGScroll.pp svneol=native#text/plain
-packages/libgbafpc/examples/devkitPro/graphics/SimpleBGScroll/data/r6502_portfont.bin -text
-packages/libgbafpc/examples/devkitPro/graphics/ansi_console/Makefile svneol=native#text/plain
-packages/libgbafpc/examples/devkitPro/graphics/ansi_console/Makefile.fpc svneol=native#text/plain
-packages/libgbafpc/examples/devkitPro/graphics/ansi_console/console.pp svneol=native#text/plain
-packages/libgbafpc/examples/devkitPro/template/Makefile svneol=native#text/plain
-packages/libgbafpc/examples/devkitPro/template/Makefile.fpc svneol=native#text/plain
-packages/libgbafpc/examples/devkitPro/template/template.pp svneol=native#text/plain
 packages/libgbafpc/examples/graphics/Makefile svneol=native#text/plain
 packages/libgbafpc/examples/graphics/Makefile.fpc svneol=native#text/plain
 packages/libgbafpc/examples/graphics/PCXView/Makefile svneol=native#text/plain
@@ -6053,6 +6033,8 @@ rtl/nds/classes.pp svneol=native#text/plain
 rtl/nds/cprt07.as svneol=native#text/plain
 rtl/nds/cprt09.as svneol=native#text/plain
 rtl/nds/dos.pp svneol=native#text/plain
+rtl/nds/libc.inc svneol=native#text/plain
+rtl/nds/libch.inc svneol=native#text/plain
 rtl/nds/nds.inc svneol=native#text/plain
 rtl/nds/ndsbios.inc svneol=native#text/plain
 rtl/nds/ndsbiosh.inc svneol=native#text/plain
diff --git a/packages/libgbafpc/examples/devkitPro/audio/PlayBoyScout/Makefile b/packages/libgbafpc/examples/devkitPro/audio/PlayBoyScout/Makefile
deleted file mode 100644
index e88120b0fc..0000000000
--- a/packages/libgbafpc/examples/devkitPro/audio/PlayBoyScout/Makefile
+++ /dev/null
@@ -1,2576 +0,0 @@
-#
-# Don't edit, this file is generated by FPCMake Version 2.0.0 [2009/08/02]
-#
-default: all
-MAKEFILETARGETS=i386-linux i386-go32v2 i386-win32 i386-os2 i386-freebsd i386-beos i386-haiku i386-netbsd i386-solaris i386-qnx i386-netware i386-openbsd i386-wdosx i386-darwin i386-emx i386-watcom i386-netwlibc i386-wince i386-embedded i386-symbian m68k-linux m68k-freebsd m68k-netbsd m68k-amiga m68k-atari m68k-openbsd m68k-palmos m68k-embedded powerpc-linux powerpc-netbsd powerpc-amiga powerpc-macos powerpc-darwin powerpc-morphos powerpc-embedded sparc-linux sparc-netbsd sparc-solaris sparc-embedded x86_64-linux x86_64-freebsd x86_64-darwin x86_64-win64 x86_64-embedded arm-linux arm-palmos arm-darwin arm-wince arm-gba arm-nds arm-embedded arm-symbian powerpc64-linux powerpc64-darwin powerpc64-embedded avr-embedded armeb-linux armeb-embedded
-BSDs = freebsd netbsd openbsd darwin
-UNIXs = linux $(BSDs) solaris qnx
-LIMIT83fs = go32v2 os2 emx watcom
-OSNeedsComspecToRunBatch = go32v2 watcom
-FORCE:
-.PHONY: FORCE
-override PATH:=$(patsubst %/,%,$(subst \,/,$(PATH)))
-ifneq ($(findstring darwin,$(OSTYPE)),)
-inUnix=1 #darwin
-SEARCHPATH:=$(filter-out .,$(subst :, ,$(PATH)))
-else
-ifeq ($(findstring ;,$(PATH)),)
-inUnix=1
-SEARCHPATH:=$(filter-out .,$(subst :, ,$(PATH)))
-else
-SEARCHPATH:=$(subst ;, ,$(PATH))
-endif
-endif
-SEARCHPATH+=$(patsubst %/,%,$(subst \,/,$(dir $(MAKE))))
-PWD:=$(strip $(wildcard $(addsuffix /pwd.exe,$(SEARCHPATH))))
-ifeq ($(PWD),)
-PWD:=$(strip $(wildcard $(addsuffix /pwd,$(SEARCHPATH))))
-ifeq ($(PWD),)
-$(error You need the GNU utils package to use this Makefile)
-else
-PWD:=$(firstword $(PWD))
-SRCEXEEXT=
-endif
-else
-PWD:=$(firstword $(PWD))
-SRCEXEEXT=.exe
-endif
-ifndef inUnix
-ifeq ($(OS),Windows_NT)
-inWinNT=1
-else
-ifdef OS2_SHELL
-inOS2=1
-endif
-endif
-else
-ifneq ($(findstring cygdrive,$(PATH)),)
-inCygWin=1
-endif
-endif
-ifdef inUnix
-SRCBATCHEXT=.sh
-else
-ifdef inOS2
-SRCBATCHEXT=.cmd
-else
-SRCBATCHEXT=.bat
-endif
-endif
-ifdef COMSPEC
-ifneq ($(findstring $(OS_SOURCE),$(OSNeedsComspecToRunBatch)),)
-ifndef RUNBATCH
-RUNBATCH=$(COMSPEC) /C
-endif
-endif
-endif
-ifdef inUnix
-PATHSEP=/
-else
-PATHSEP:=$(subst /,\,/)
-ifdef inCygWin
-PATHSEP=/
-endif
-endif
-ifdef PWD
-BASEDIR:=$(subst \,/,$(shell $(PWD)))
-ifdef inCygWin
-ifneq ($(findstring /cygdrive/,$(BASEDIR)),)
-BASENODIR:=$(patsubst /cygdrive%,%,$(BASEDIR))
-BASEDRIVE:=$(firstword $(subst /, ,$(BASENODIR)))
-BASEDIR:=$(subst /cygdrive/$(BASEDRIVE)/,$(BASEDRIVE):/,$(BASEDIR))
-endif
-endif
-else
-BASEDIR=.
-endif
-ifdef inOS2
-ifndef ECHO
-ECHO:=$(strip $(wildcard $(addsuffix /gecho$(SRCEXEEXT),$(SEARCHPATH))))
-ifeq ($(ECHO),)
-ECHO:=$(strip $(wildcard $(addsuffix /echo$(SRCEXEEXT),$(SEARCHPATH))))
-ifeq ($(ECHO),)
-ECHO=echo
-else
-ECHO:=$(firstword $(ECHO))
-endif
-else
-ECHO:=$(firstword $(ECHO))
-endif
-endif
-export ECHO
-endif
-override OS_TARGET_DEFAULT=gba
-override CPU_TARGET_DEFAULT=arm
-override DEFAULT_FPCDIR=../../../../../..
-ifndef FPC
-ifdef PP
-FPC=$(PP)
-endif
-endif
-ifndef FPC
-FPCPROG:=$(strip $(wildcard $(addsuffix /fpc$(SRCEXEEXT),$(SEARCHPATH))))
-ifneq ($(FPCPROG),)
-FPCPROG:=$(firstword $(FPCPROG))
-ifneq ($(CPU_TARGET),)
-FPC:=$(shell $(FPCPROG) -P$(CPU_TARGET) -PB)
-else
-FPC:=$(shell $(FPCPROG) -PB)
-endif
-ifneq ($(findstring Error,$(FPC)),)
-override FPC=$(firstword $(strip $(wildcard $(addsuffix /ppc386$(SRCEXEEXT),$(SEARCHPATH)))))
-else
-ifeq ($(strip $(wildcard $(FPC))),)
-FPC:=$(firstword $(FPCPROG))
-endif
-endif
-else
-override FPC=$(firstword $(strip $(wildcard $(addsuffix /ppc386$(SRCEXEEXT),$(SEARCHPATH)))))
-endif
-endif
-override FPC:=$(subst $(SRCEXEEXT),,$(FPC))
-override FPC:=$(subst \,/,$(FPC))$(SRCEXEEXT)
-FOUNDFPC:=$(strip $(wildcard $(FPC)))
-ifeq ($(FOUNDFPC),)
-FOUNDFPC=$(strip $(wildcard $(addsuffix /$(FPC),$(SEARCHPATH))))
-ifeq ($(FOUNDFPC),)
-$(error Compiler $(FPC) not found)
-endif
-endif
-ifndef FPC_COMPILERINFO
-FPC_COMPILERINFO:=$(shell $(FPC) -iVSPTPSOTO)
-endif
-ifndef FPC_VERSION
-FPC_VERSION:=$(word 1,$(FPC_COMPILERINFO))
-endif
-export FPC FPC_VERSION FPC_COMPILERINFO
-unexport CHECKDEPEND ALLDEPENDENCIES
-ifndef CPU_TARGET
-ifdef CPU_TARGET_DEFAULT
-CPU_TARGET=$(CPU_TARGET_DEFAULT)
-endif
-endif
-ifndef OS_TARGET
-ifdef OS_TARGET_DEFAULT
-OS_TARGET=$(OS_TARGET_DEFAULT)
-endif
-endif
-ifneq ($(words $(FPC_COMPILERINFO)),5)
-FPC_COMPILERINFO+=$(shell $(FPC) -iSP)
-FPC_COMPILERINFO+=$(shell $(FPC) -iTP)
-FPC_COMPILERINFO+=$(shell $(FPC) -iSO)
-FPC_COMPILERINFO+=$(shell $(FPC) -iTO)
-endif
-ifndef CPU_SOURCE
-CPU_SOURCE:=$(word 2,$(FPC_COMPILERINFO))
-endif
-ifndef CPU_TARGET
-CPU_TARGET:=$(word 3,$(FPC_COMPILERINFO))
-endif
-ifndef OS_SOURCE
-OS_SOURCE:=$(word 4,$(FPC_COMPILERINFO))
-endif
-ifndef OS_TARGET
-OS_TARGET:=$(word 5,$(FPC_COMPILERINFO))
-endif
-FULL_TARGET=$(CPU_TARGET)-$(OS_TARGET)
-FULL_SOURCE=$(CPU_SOURCE)-$(OS_SOURCE)
-ifeq ($(CPU_TARGET),armeb)
-ARCH=arm
-override FPCOPT+=-Cb
-else
-ifeq ($(CPU_TARGET),armel)
-ARCH=arm
-override FPCOPT+=-CaEABI
-else
-ARCH=$(CPU_TARGET)
-endif
-endif
-ifneq ($(findstring $(OS_SOURCE),$(LIMIT83fs)),)
-TARGETSUFFIX=$(OS_TARGET)
-SOURCESUFFIX=$(OS_SOURCE)
-else
-TARGETSUFFIX=$(FULL_TARGET)
-SOURCESUFFIX=$(FULL_SOURCE)
-endif
-ifneq ($(FULL_TARGET),$(FULL_SOURCE))
-CROSSCOMPILE=1
-endif
-ifeq ($(findstring makefile,$(MAKECMDGOALS)),)
-ifeq ($(findstring $(FULL_TARGET),$(MAKEFILETARGETS)),)
-$(error The Makefile doesn't support target $(FULL_TARGET), please run fpcmake first)
-endif
-endif
-ifneq ($(findstring $(OS_TARGET),$(BSDs)),)
-BSDhier=1
-endif
-ifeq ($(OS_TARGET),linux)
-linuxHier=1
-endif
-export OS_TARGET OS_SOURCE ARCH CPU_TARGET CPU_SOURCE FULL_TARGET FULL_SOURCE TARGETSUFFIX SOURCESUFFIX CROSSCOMPILE
-ifdef FPCDIR
-override FPCDIR:=$(subst \,/,$(FPCDIR))
-ifeq ($(wildcard $(addprefix $(FPCDIR)/,rtl units)),)
-override FPCDIR=wrong
-endif
-else
-override FPCDIR=wrong
-endif
-ifdef DEFAULT_FPCDIR
-ifeq ($(FPCDIR),wrong)
-override FPCDIR:=$(subst \,/,$(DEFAULT_FPCDIR))
-ifeq ($(wildcard $(addprefix $(FPCDIR)/,rtl units)),)
-override FPCDIR=wrong
-endif
-endif
-endif
-ifeq ($(FPCDIR),wrong)
-ifdef inUnix
-override FPCDIR=/usr/local/lib/fpc/$(FPC_VERSION)
-ifeq ($(wildcard $(FPCDIR)/units),)
-override FPCDIR=/usr/lib/fpc/$(FPC_VERSION)
-endif
-else
-override FPCDIR:=$(subst /$(FPC),,$(firstword $(strip $(wildcard $(addsuffix /$(FPC),$(SEARCHPATH))))))
-override FPCDIR:=$(FPCDIR)/..
-ifeq ($(wildcard $(addprefix $(FPCDIR)/,rtl units)),)
-override FPCDIR:=$(FPCDIR)/..
-ifeq ($(wildcard $(addprefix $(FPCDIR)/,rtl units)),)
-override FPCDIR:=$(BASEDIR)
-ifeq ($(wildcard $(addprefix $(FPCDIR)/,rtl units)),)
-override FPCDIR=c:/pp
-endif
-endif
-endif
-endif
-endif
-ifndef CROSSBINDIR
-CROSSBINDIR:=$(wildcard $(FPCDIR)/bin/$(TARGETSUFFIX))
-endif
-ifeq ($(OS_TARGET),darwin)
-ifeq ($(OS_SOURCE),darwin)
-DARWIN2DARWIN=1
-endif
-endif
-ifndef BINUTILSPREFIX
-ifndef CROSSBINDIR
-ifdef CROSSCOMPILE
-ifndef DARWIN2DARWIN
-BINUTILSPREFIX=$(CPU_TARGET)-$(OS_TARGET)-
-endif
-endif
-endif
-endif
-UNITSDIR:=$(wildcard $(FPCDIR)/units/$(TARGETSUFFIX))
-ifeq ($(UNITSDIR),)
-UNITSDIR:=$(wildcard $(FPCDIR)/units/$(OS_TARGET))
-endif
-PACKAGESDIR:=$(wildcard $(FPCDIR) $(FPCDIR)/packages $(FPCDIR)/packages/base $(FPCDIR)/packages/extra)
-ifeq ($(FULL_TARGET),i386-linux)
-override TARGET_PROGRAMS+=PlayBoyScout
-endif
-ifeq ($(FULL_TARGET),i386-go32v2)
-override TARGET_PROGRAMS+=PlayBoyScout
-endif
-ifeq ($(FULL_TARGET),i386-win32)
-override TARGET_PROGRAMS+=PlayBoyScout
-endif
-ifeq ($(FULL_TARGET),i386-os2)
-override TARGET_PROGRAMS+=PlayBoyScout
-endif
-ifeq ($(FULL_TARGET),i386-freebsd)
-override TARGET_PROGRAMS+=PlayBoyScout
-endif
-ifeq ($(FULL_TARGET),i386-beos)
-override TARGET_PROGRAMS+=PlayBoyScout
-endif
-ifeq ($(FULL_TARGET),i386-haiku)
-override TARGET_PROGRAMS+=PlayBoyScout
-endif
-ifeq ($(FULL_TARGET),i386-netbsd)
-override TARGET_PROGRAMS+=PlayBoyScout
-endif
-ifeq ($(FULL_TARGET),i386-solaris)
-override TARGET_PROGRAMS+=PlayBoyScout
-endif
-ifeq ($(FULL_TARGET),i386-qnx)
-override TARGET_PROGRAMS+=PlayBoyScout
-endif
-ifeq ($(FULL_TARGET),i386-netware)
-override TARGET_PROGRAMS+=PlayBoyScout
-endif
-ifeq ($(FULL_TARGET),i386-openbsd)
-override TARGET_PROGRAMS+=PlayBoyScout
-endif
-ifeq ($(FULL_TARGET),i386-wdosx)
-override TARGET_PROGRAMS+=PlayBoyScout
-endif
-ifeq ($(FULL_TARGET),i386-darwin)
-override TARGET_PROGRAMS+=PlayBoyScout
-endif
-ifeq ($(FULL_TARGET),i386-emx)
-override TARGET_PROGRAMS+=PlayBoyScout
-endif
-ifeq ($(FULL_TARGET),i386-watcom)
-override TARGET_PROGRAMS+=PlayBoyScout
-endif
-ifeq ($(FULL_TARGET),i386-netwlibc)
-override TARGET_PROGRAMS+=PlayBoyScout
-endif
-ifeq ($(FULL_TARGET),i386-wince)
-override TARGET_PROGRAMS+=PlayBoyScout
-endif
-ifeq ($(FULL_TARGET),i386-embedded)
-override TARGET_PROGRAMS+=PlayBoyScout
-endif
-ifeq ($(FULL_TARGET),i386-symbian)
-override TARGET_PROGRAMS+=PlayBoyScout
-endif
-ifeq ($(FULL_TARGET),m68k-linux)
-override TARGET_PROGRAMS+=PlayBoyScout
-endif
-ifeq ($(FULL_TARGET),m68k-freebsd)
-override TARGET_PROGRAMS+=PlayBoyScout
-endif
-ifeq ($(FULL_TARGET),m68k-netbsd)
-override TARGET_PROGRAMS+=PlayBoyScout
-endif
-ifeq ($(FULL_TARGET),m68k-amiga)
-override TARGET_PROGRAMS+=PlayBoyScout
-endif
-ifeq ($(FULL_TARGET),m68k-atari)
-override TARGET_PROGRAMS+=PlayBoyScout
-endif
-ifeq ($(FULL_TARGET),m68k-openbsd)
-override TARGET_PROGRAMS+=PlayBoyScout
-endif
-ifeq ($(FULL_TARGET),m68k-palmos)
-override TARGET_PROGRAMS+=PlayBoyScout
-endif
-ifeq ($(FULL_TARGET),m68k-embedded)
-override TARGET_PROGRAMS+=PlayBoyScout
-endif
-ifeq ($(FULL_TARGET),powerpc-linux)
-override TARGET_PROGRAMS+=PlayBoyScout
-endif
-ifeq ($(FULL_TARGET),powerpc-netbsd)
-override TARGET_PROGRAMS+=PlayBoyScout
-endif
-ifeq ($(FULL_TARGET),powerpc-amiga)
-override TARGET_PROGRAMS+=PlayBoyScout
-endif
-ifeq ($(FULL_TARGET),powerpc-macos)
-override TARGET_PROGRAMS+=PlayBoyScout
-endif
-ifeq ($(FULL_TARGET),powerpc-darwin)
-override TARGET_PROGRAMS+=PlayBoyScout
-endif
-ifeq ($(FULL_TARGET),powerpc-morphos)
-override TARGET_PROGRAMS+=PlayBoyScout
-endif
-ifeq ($(FULL_TARGET),powerpc-embedded)
-override TARGET_PROGRAMS+=PlayBoyScout
-endif
-ifeq ($(FULL_TARGET),sparc-linux)
-override TARGET_PROGRAMS+=PlayBoyScout
-endif
-ifeq ($(FULL_TARGET),sparc-netbsd)
-override TARGET_PROGRAMS+=PlayBoyScout
-endif
-ifeq ($(FULL_TARGET),sparc-solaris)
-override TARGET_PROGRAMS+=PlayBoyScout
-endif
-ifeq ($(FULL_TARGET),sparc-embedded)
-override TARGET_PROGRAMS+=PlayBoyScout
-endif
-ifeq ($(FULL_TARGET),x86_64-linux)
-override TARGET_PROGRAMS+=PlayBoyScout
-endif
-ifeq ($(FULL_TARGET),x86_64-freebsd)
-override TARGET_PROGRAMS+=PlayBoyScout
-endif
-ifeq ($(FULL_TARGET),x86_64-darwin)
-override TARGET_PROGRAMS+=PlayBoyScout
-endif
-ifeq ($(FULL_TARGET),x86_64-win64)
-override TARGET_PROGRAMS+=PlayBoyScout
-endif
-ifeq ($(FULL_TARGET),x86_64-embedded)
-override TARGET_PROGRAMS+=PlayBoyScout
-endif
-ifeq ($(FULL_TARGET),arm-linux)
-override TARGET_PROGRAMS+=PlayBoyScout
-endif
-ifeq ($(FULL_TARGET),arm-palmos)
-override TARGET_PROGRAMS+=PlayBoyScout
-endif
-ifeq ($(FULL_TARGET),arm-darwin)
-override TARGET_PROGRAMS+=PlayBoyScout
-endif
-ifeq ($(FULL_TARGET),arm-wince)
-override TARGET_PROGRAMS+=PlayBoyScout
-endif
-ifeq ($(FULL_TARGET),arm-gba)
-override TARGET_PROGRAMS+=PlayBoyScout
-endif
-ifeq ($(FULL_TARGET),arm-nds)
-override TARGET_PROGRAMS+=PlayBoyScout
-endif
-ifeq ($(FULL_TARGET),arm-embedded)
-override TARGET_PROGRAMS+=PlayBoyScout
-endif
-ifeq ($(FULL_TARGET),arm-symbian)
-override TARGET_PROGRAMS+=PlayBoyScout
-endif
-ifeq ($(FULL_TARGET),powerpc64-linux)
-override TARGET_PROGRAMS+=PlayBoyScout
-endif
-ifeq ($(FULL_TARGET),powerpc64-darwin)
-override TARGET_PROGRAMS+=PlayBoyScout
-endif
-ifeq ($(FULL_TARGET),powerpc64-embedded)
-override TARGET_PROGRAMS+=PlayBoyScout
-endif
-ifeq ($(FULL_TARGET),avr-embedded)
-override TARGET_PROGRAMS+=PlayBoyScout
-endif
-ifeq ($(FULL_TARGET),armeb-linux)
-override TARGET_PROGRAMS+=PlayBoyScout
-endif
-ifeq ($(FULL_TARGET),armeb-embedded)
-override TARGET_PROGRAMS+=PlayBoyScout
-endif
-ifeq ($(FULL_TARGET),i386-linux)
-override TARGET_LOADERS+=data/ScoutSplash.pcx data/tune.bgf
-endif
-ifeq ($(FULL_TARGET),i386-go32v2)
-override TARGET_LOADERS+=data/ScoutSplash.pcx data/tune.bgf
-endif
-ifeq ($(FULL_TARGET),i386-win32)
-override TARGET_LOADERS+=data/ScoutSplash.pcx data/tune.bgf
-endif
-ifeq ($(FULL_TARGET),i386-os2)
-override TARGET_LOADERS+=data/ScoutSplash.pcx data/tune.bgf
-endif
-ifeq ($(FULL_TARGET),i386-freebsd)
-override TARGET_LOADERS+=data/ScoutSplash.pcx data/tune.bgf
-endif
-ifeq ($(FULL_TARGET),i386-beos)
-override TARGET_LOADERS+=data/ScoutSplash.pcx data/tune.bgf
-endif
-ifeq ($(FULL_TARGET),i386-haiku)
-override TARGET_LOADERS+=data/ScoutSplash.pcx data/tune.bgf
-endif
-ifeq ($(FULL_TARGET),i386-netbsd)
-override TARGET_LOADERS+=data/ScoutSplash.pcx data/tune.bgf
-endif
-ifeq ($(FULL_TARGET),i386-solaris)
-override TARGET_LOADERS+=data/ScoutSplash.pcx data/tune.bgf
-endif
-ifeq ($(FULL_TARGET),i386-qnx)
-override TARGET_LOADERS+=data/ScoutSplash.pcx data/tune.bgf
-endif
-ifeq ($(FULL_TARGET),i386-netware)
-override TARGET_LOADERS+=data/ScoutSplash.pcx data/tune.bgf
-endif
-ifeq ($(FULL_TARGET),i386-openbsd)
-override TARGET_LOADERS+=data/ScoutSplash.pcx data/tune.bgf
-endif
-ifeq ($(FULL_TARGET),i386-wdosx)
-override TARGET_LOADERS+=data/ScoutSplash.pcx data/tune.bgf
-endif
-ifeq ($(FULL_TARGET),i386-darwin)
-override TARGET_LOADERS+=data/ScoutSplash.pcx data/tune.bgf
-endif
-ifeq ($(FULL_TARGET),i386-emx)
-override TARGET_LOADERS+=data/ScoutSplash.pcx data/tune.bgf
-endif
-ifeq ($(FULL_TARGET),i386-watcom)
-override TARGET_LOADERS+=data/ScoutSplash.pcx data/tune.bgf
-endif
-ifeq ($(FULL_TARGET),i386-netwlibc)
-override TARGET_LOADERS+=data/ScoutSplash.pcx data/tune.bgf
-endif
-ifeq ($(FULL_TARGET),i386-wince)
-override TARGET_LOADERS+=data/ScoutSplash.pcx data/tune.bgf
-endif
-ifeq ($(FULL_TARGET),i386-embedded)
-override TARGET_LOADERS+=data/ScoutSplash.pcx data/tune.bgf
-endif
-ifeq ($(FULL_TARGET),i386-symbian)
-override TARGET_LOADERS+=data/ScoutSplash.pcx data/tune.bgf
-endif
-ifeq ($(FULL_TARGET),m68k-linux)
-override TARGET_LOADERS+=data/ScoutSplash.pcx data/tune.bgf
-endif
-ifeq ($(FULL_TARGET),m68k-freebsd)
-override TARGET_LOADERS+=data/ScoutSplash.pcx data/tune.bgf
-endif
-ifeq ($(FULL_TARGET),m68k-netbsd)
-override TARGET_LOADERS+=data/ScoutSplash.pcx data/tune.bgf
-endif
-ifeq ($(FULL_TARGET),m68k-amiga)
-override TARGET_LOADERS+=data/ScoutSplash.pcx data/tune.bgf
-endif
-ifeq ($(FULL_TARGET),m68k-atari)
-override TARGET_LOADERS+=data/ScoutSplash.pcx data/tune.bgf
-endif
-ifeq ($(FULL_TARGET),m68k-openbsd)
-override TARGET_LOADERS+=data/ScoutSplash.pcx data/tune.bgf
-endif
-ifeq ($(FULL_TARGET),m68k-palmos)
-override TARGET_LOADERS+=data/ScoutSplash.pcx data/tune.bgf
-endif
-ifeq ($(FULL_TARGET),m68k-embedded)
-override TARGET_LOADERS+=data/ScoutSplash.pcx data/tune.bgf
-endif
-ifeq ($(FULL_TARGET),powerpc-linux)
-override TARGET_LOADERS+=data/ScoutSplash.pcx data/tune.bgf
-endif
-ifeq ($(FULL_TARGET),powerpc-netbsd)
-override TARGET_LOADERS+=data/ScoutSplash.pcx data/tune.bgf
-endif
-ifeq ($(FULL_TARGET),powerpc-amiga)
-override TARGET_LOADERS+=data/ScoutSplash.pcx data/tune.bgf
-endif
-ifeq ($(FULL_TARGET),powerpc-macos)
-override TARGET_LOADERS+=data/ScoutSplash.pcx data/tune.bgf
-endif
-ifeq ($(FULL_TARGET),powerpc-darwin)
-override TARGET_LOADERS+=data/ScoutSplash.pcx data/tune.bgf
-endif
-ifeq ($(FULL_TARGET),powerpc-morphos)
-override TARGET_LOADERS+=data/ScoutSplash.pcx data/tune.bgf
-endif
-ifeq ($(FULL_TARGET),powerpc-embedded)
-override TARGET_LOADERS+=data/ScoutSplash.pcx data/tune.bgf
-endif
-ifeq ($(FULL_TARGET),sparc-linux)
-override TARGET_LOADERS+=data/ScoutSplash.pcx data/tune.bgf
-endif
-ifeq ($(FULL_TARGET),sparc-netbsd)
-override TARGET_LOADERS+=data/ScoutSplash.pcx data/tune.bgf
-endif
-ifeq ($(FULL_TARGET),sparc-solaris)
-override TARGET_LOADERS+=data/ScoutSplash.pcx data/tune.bgf
-endif
-ifeq ($(FULL_TARGET),sparc-embedded)
-override TARGET_LOADERS+=data/ScoutSplash.pcx data/tune.bgf
-endif
-ifeq ($(FULL_TARGET),x86_64-linux)
-override TARGET_LOADERS+=data/ScoutSplash.pcx data/tune.bgf
-endif
-ifeq ($(FULL_TARGET),x86_64-freebsd)
-override TARGET_LOADERS+=data/ScoutSplash.pcx data/tune.bgf
-endif
-ifeq ($(FULL_TARGET),x86_64-darwin)
-override TARGET_LOADERS+=data/ScoutSplash.pcx data/tune.bgf
-endif
-ifeq ($(FULL_TARGET),x86_64-win64)
-override TARGET_LOADERS+=data/ScoutSplash.pcx data/tune.bgf
-endif
-ifeq ($(FULL_TARGET),x86_64-embedded)
-override TARGET_LOADERS+=data/ScoutSplash.pcx data/tune.bgf
-endif
-ifeq ($(FULL_TARGET),arm-linux)
-override TARGET_LOADERS+=data/ScoutSplash.pcx data/tune.bgf
-endif
-ifeq ($(FULL_TARGET),arm-palmos)
-override TARGET_LOADERS+=data/ScoutSplash.pcx data/tune.bgf
-endif
-ifeq ($(FULL_TARGET),arm-darwin)
-override TARGET_LOADERS+=data/ScoutSplash.pcx data/tune.bgf
-endif
-ifeq ($(FULL_TARGET),arm-wince)
-override TARGET_LOADERS+=data/ScoutSplash.pcx data/tune.bgf
-endif
-ifeq ($(FULL_TARGET),arm-gba)
-override TARGET_LOADERS+=data/ScoutSplash.pcx data/tune.bgf
-endif
-ifeq ($(FULL_TARGET),arm-nds)
-override TARGET_LOADERS+=data/ScoutSplash.pcx data/tune.bgf
-endif
-ifeq ($(FULL_TARGET),arm-embedded)
-override TARGET_LOADERS+=data/ScoutSplash.pcx data/tune.bgf
-endif
-ifeq ($(FULL_TARGET),arm-symbian)
-override TARGET_LOADERS+=data/ScoutSplash.pcx data/tune.bgf
-endif
-ifeq ($(FULL_TARGET),powerpc64-linux)
-override TARGET_LOADERS+=data/ScoutSplash.pcx data/tune.bgf
-endif
-ifeq ($(FULL_TARGET),powerpc64-darwin)
-override TARGET_LOADERS+=data/ScoutSplash.pcx data/tune.bgf
-endif
-ifeq ($(FULL_TARGET),powerpc64-embedded)
-override TARGET_LOADERS+=data/ScoutSplash.pcx data/tune.bgf
-endif
-ifeq ($(FULL_TARGET),avr-embedded)
-override TARGET_LOADERS+=data/ScoutSplash.pcx data/tune.bgf
-endif
-ifeq ($(FULL_TARGET),armeb-linux)
-override TARGET_LOADERS+=data/ScoutSplash.pcx data/tune.bgf
-endif
-ifeq ($(FULL_TARGET),armeb-embedded)
-override TARGET_LOADERS+=data/ScoutSplash.pcx data/tune.bgf
-endif
-ifeq ($(FULL_TARGET),i386-linux)
-override CLEAN_UNITS+=*
-endif
-ifeq ($(FULL_TARGET),i386-go32v2)
-override CLEAN_UNITS+=*
-endif
-ifeq ($(FULL_TARGET),i386-win32)
-override CLEAN_UNITS+=*
-endif
-ifeq ($(FULL_TARGET),i386-os2)
-override CLEAN_UNITS+=*
-endif
-ifeq ($(FULL_TARGET),i386-freebsd)
-override CLEAN_UNITS+=*
-endif
-ifeq ($(FULL_TARGET),i386-beos)
-override CLEAN_UNITS+=*
-endif
-ifeq ($(FULL_TARGET),i386-haiku)
-override CLEAN_UNITS+=*
-endif
-ifeq ($(FULL_TARGET),i386-netbsd)
-override CLEAN_UNITS+=*
-endif
-ifeq ($(FULL_TARGET),i386-solaris)
-override CLEAN_UNITS+=*
-endif
-ifeq ($(FULL_TARGET),i386-qnx)
-override CLEAN_UNITS+=*
-endif
-ifeq ($(FULL_TARGET),i386-netware)
-override CLEAN_UNITS+=*
-endif
-ifeq ($(FULL_TARGET),i386-openbsd)
-override CLEAN_UNITS+=*
-endif
-ifeq ($(FULL_TARGET),i386-wdosx)
-override CLEAN_UNITS+=*
-endif
-ifeq ($(FULL_TARGET),i386-darwin)
-override CLEAN_UNITS+=*
-endif
-ifeq ($(FULL_TARGET),i386-emx)
-override CLEAN_UNITS+=*
-endif
-ifeq ($(FULL_TARGET),i386-watcom)
-override CLEAN_UNITS+=*
-endif
-ifeq ($(FULL_TARGET),i386-netwlibc)
-override CLEAN_UNITS+=*
-endif
-ifeq ($(FULL_TARGET),i386-wince)
-override CLEAN_UNITS+=*
-endif
-ifeq ($(FULL_TARGET),i386-embedded)
-override CLEAN_UNITS+=*
-endif
-ifeq ($(FULL_TARGET),i386-symbian)
-override CLEAN_UNITS+=*
-endif
-ifeq ($(FULL_TARGET),m68k-linux)
-override CLEAN_UNITS+=*
-endif
-ifeq ($(FULL_TARGET),m68k-freebsd)
-override CLEAN_UNITS+=*
-endif
-ifeq ($(FULL_TARGET),m68k-netbsd)
-override CLEAN_UNITS+=*
-endif
-ifeq ($(FULL_TARGET),m68k-amiga)
-override CLEAN_UNITS+=*
-endif
-ifeq ($(FULL_TARGET),m68k-atari)
-override CLEAN_UNITS+=*
-endif
-ifeq ($(FULL_TARGET),m68k-openbsd)
-override CLEAN_UNITS+=*
-endif
-ifeq ($(FULL_TARGET),m68k-palmos)
-override CLEAN_UNITS+=*
-endif
-ifeq ($(FULL_TARGET),m68k-embedded)
-override CLEAN_UNITS+=*
-endif
-ifeq ($(FULL_TARGET),powerpc-linux)
-override CLEAN_UNITS+=*
-endif
-ifeq ($(FULL_TARGET),powerpc-netbsd)
-override CLEAN_UNITS+=*
-endif
-ifeq ($(FULL_TARGET),powerpc-amiga)
-override CLEAN_UNITS+=*
-endif
-ifeq ($(FULL_TARGET),powerpc-macos)
-override CLEAN_UNITS+=*
-endif
-ifeq ($(FULL_TARGET),powerpc-darwin)
-override CLEAN_UNITS+=*
-endif
-ifeq ($(FULL_TARGET),powerpc-morphos)
-override CLEAN_UNITS+=*
-endif
-ifeq ($(FULL_TARGET),powerpc-embedded)
-override CLEAN_UNITS+=*
-endif
-ifeq ($(FULL_TARGET),sparc-linux)
-override CLEAN_UNITS+=*
-endif
-ifeq ($(FULL_TARGET),sparc-netbsd)
-override CLEAN_UNITS+=*
-endif
-ifeq ($(FULL_TARGET),sparc-solaris)
-override CLEAN_UNITS+=*
-endif
-ifeq ($(FULL_TARGET),sparc-embedded)
-override CLEAN_UNITS+=*
-endif
-ifeq ($(FULL_TARGET),x86_64-linux)
-override CLEAN_UNITS+=*
-endif
-ifeq ($(FULL_TARGET),x86_64-freebsd)
-override CLEAN_UNITS+=*
-endif
-ifeq ($(FULL_TARGET),x86_64-darwin)
-override CLEAN_UNITS+=*
-endif
-ifeq ($(FULL_TARGET),x86_64-win64)
-override CLEAN_UNITS+=*
-endif
-ifeq ($(FULL_TARGET),x86_64-embedded)
-override CLEAN_UNITS+=*
-endif
-ifeq ($(FULL_TARGET),arm-linux)
-override CLEAN_UNITS+=*
-endif
-ifeq ($(FULL_TARGET),arm-palmos)
-override CLEAN_UNITS+=*
-endif
-ifeq ($(FULL_TARGET),arm-darwin)
-override CLEAN_UNITS+=*
-endif
-ifeq ($(FULL_TARGET),arm-wince)
-override CLEAN_UNITS+=*
-endif
-ifeq ($(FULL_TARGET),arm-gba)
-override CLEAN_UNITS+=*
-endif
-ifeq ($(FULL_TARGET),arm-nds)
-override CLEAN_UNITS+=*
-endif
-ifeq ($(FULL_TARGET),arm-embedded)
-override CLEAN_UNITS+=*
-endif
-ifeq ($(FULL_TARGET),arm-symbian)
-override CLEAN_UNITS+=*
-endif
-ifeq ($(FULL_TARGET),powerpc64-linux)
-override CLEAN_UNITS+=*
-endif
-ifeq ($(FULL_TARGET),powerpc64-darwin)
-override CLEAN_UNITS+=*
-endif
-ifeq ($(FULL_TARGET),powerpc64-embedded)
-override CLEAN_UNITS+=*
-endif
-ifeq ($(FULL_TARGET),avr-embedded)
-override CLEAN_UNITS+=*
-endif
-ifeq ($(FULL_TARGET),armeb-linux)
-override CLEAN_UNITS+=*
-endif
-ifeq ($(FULL_TARGET),armeb-embedded)
-override CLEAN_UNITS+=*
-endif
-ifeq ($(FULL_TARGET),i386-linux)
-override CLEAN_FILES+=*.elf data/*.o data/*.s
-endif
-ifeq ($(FULL_TARGET),i386-go32v2)
-override CLEAN_FILES+=*.elf data/*.o data/*.s
-endif
-ifeq ($(FULL_TARGET),i386-win32)
-override CLEAN_FILES+=*.elf data/*.o data/*.s
-endif
-ifeq ($(FULL_TARGET),i386-os2)
-override CLEAN_FILES+=*.elf data/*.o data/*.s
-endif
-ifeq ($(FULL_TARGET),i386-freebsd)
-override CLEAN_FILES+=*.elf data/*.o data/*.s
-endif
-ifeq ($(FULL_TARGET),i386-beos)
-override CLEAN_FILES+=*.elf data/*.o data/*.s
-endif
-ifeq ($(FULL_TARGET),i386-haiku)
-override CLEAN_FILES+=*.elf data/*.o data/*.s
-endif
-ifeq ($(FULL_TARGET),i386-netbsd)
-override CLEAN_FILES+=*.elf data/*.o data/*.s
-endif
-ifeq ($(FULL_TARGET),i386-solaris)
-override CLEAN_FILES+=*.elf data/*.o data/*.s
-endif
-ifeq ($(FULL_TARGET),i386-qnx)
-override CLEAN_FILES+=*.elf data/*.o data/*.s
-endif
-ifeq ($(FULL_TARGET),i386-netware)
-override CLEAN_FILES+=*.elf data/*.o data/*.s
-endif
-ifeq ($(FULL_TARGET),i386-openbsd)
-override CLEAN_FILES+=*.elf data/*.o data/*.s
-endif
-ifeq ($(FULL_TARGET),i386-wdosx)
-override CLEAN_FILES+=*.elf data/*.o data/*.s
-endif
-ifeq ($(FULL_TARGET),i386-darwin)
-override CLEAN_FILES+=*.elf data/*.o data/*.s
-endif
-ifeq ($(FULL_TARGET),i386-emx)
-override CLEAN_FILES+=*.elf data/*.o data/*.s
-endif
-ifeq ($(FULL_TARGET),i386-watcom)
-override CLEAN_FILES+=*.elf data/*.o data/*.s
-endif
-ifeq ($(FULL_TARGET),i386-netwlibc)
-override CLEAN_FILES+=*.elf data/*.o data/*.s
-endif
-ifeq ($(FULL_TARGET),i386-wince)
-override CLEAN_FILES+=*.elf data/*.o data/*.s
-endif
-ifeq ($(FULL_TARGET),i386-embedded)
-override CLEAN_FILES+=*.elf data/*.o data/*.s
-endif
-ifeq ($(FULL_TARGET),i386-symbian)
-override CLEAN_FILES+=*.elf data/*.o data/*.s
-endif
-ifeq ($(FULL_TARGET),m68k-linux)
-override CLEAN_FILES+=*.elf data/*.o data/*.s
-endif
-ifeq ($(FULL_TARGET),m68k-freebsd)
-override CLEAN_FILES+=*.elf data/*.o data/*.s
-endif
-ifeq ($(FULL_TARGET),m68k-netbsd)
-override CLEAN_FILES+=*.elf data/*.o data/*.s
-endif
-ifeq ($(FULL_TARGET),m68k-amiga)
-override CLEAN_FILES+=*.elf data/*.o data/*.s
-endif
-ifeq ($(FULL_TARGET),m68k-atari)
-override CLEAN_FILES+=*.elf data/*.o data/*.s
-endif
-ifeq ($(FULL_TARGET),m68k-openbsd)
-override CLEAN_FILES+=*.elf data/*.o data/*.s
-endif
-ifeq ($(FULL_TARGET),m68k-palmos)
-override CLEAN_FILES+=*.elf data/*.o data/*.s
-endif
-ifeq ($(FULL_TARGET),m68k-embedded)
-override CLEAN_FILES+=*.elf data/*.o data/*.s
-endif
-ifeq ($(FULL_TARGET),powerpc-linux)
-override CLEAN_FILES+=*.elf data/*.o data/*.s
-endif
-ifeq ($(FULL_TARGET),powerpc-netbsd)
-override CLEAN_FILES+=*.elf data/*.o data/*.s
-endif
-ifeq ($(FULL_TARGET),powerpc-amiga)
-override CLEAN_FILES+=*.elf data/*.o data/*.s
-endif
-ifeq ($(FULL_TARGET),powerpc-macos)
-override CLEAN_FILES+=*.elf data/*.o data/*.s
-endif
-ifeq ($(FULL_TARGET),powerpc-darwin)
-override CLEAN_FILES+=*.elf data/*.o data/*.s
-endif
-ifeq ($(FULL_TARGET),powerpc-morphos)
-override CLEAN_FILES+=*.elf data/*.o data/*.s
-endif
-ifeq ($(FULL_TARGET),powerpc-embedded)
-override CLEAN_FILES+=*.elf data/*.o data/*.s
-endif
-ifeq ($(FULL_TARGET),sparc-linux)
-override CLEAN_FILES+=*.elf data/*.o data/*.s
-endif
-ifeq ($(FULL_TARGET),sparc-netbsd)
-override CLEAN_FILES+=*.elf data/*.o data/*.s
-endif
-ifeq ($(FULL_TARGET),sparc-solaris)
-override CLEAN_FILES+=*.elf data/*.o data/*.s
-endif
-ifeq ($(FULL_TARGET),sparc-embedded)
-override CLEAN_FILES+=*.elf data/*.o data/*.s
-endif
-ifeq ($(FULL_TARGET),x86_64-linux)
-override CLEAN_FILES+=*.elf data/*.o data/*.s
-endif
-ifeq ($(FULL_TARGET),x86_64-freebsd)
-override CLEAN_FILES+=*.elf data/*.o data/*.s
-endif
-ifeq ($(FULL_TARGET),x86_64-darwin)
-override CLEAN_FILES+=*.elf data/*.o data/*.s
-endif
-ifeq ($(FULL_TARGET),x86_64-win64)
-override CLEAN_FILES+=*.elf data/*.o data/*.s
-endif
-ifeq ($(FULL_TARGET),x86_64-embedded)
-override CLEAN_FILES+=*.elf data/*.o data/*.s
-endif
-ifeq ($(FULL_TARGET),arm-linux)
-override CLEAN_FILES+=*.elf data/*.o data/*.s
-endif
-ifeq ($(FULL_TARGET),arm-palmos)
-override CLEAN_FILES+=*.elf data/*.o data/*.s
-endif
-ifeq ($(FULL_TARGET),arm-darwin)
-override CLEAN_FILES+=*.elf data/*.o data/*.s
-endif
-ifeq ($(FULL_TARGET),arm-wince)
-override CLEAN_FILES+=*.elf data/*.o data/*.s
-endif
-ifeq ($(FULL_TARGET),arm-gba)
-override CLEAN_FILES+=*.elf data/*.o data/*.s
-endif
-ifeq ($(FULL_TARGET),arm-nds)
-override CLEAN_FILES+=*.elf data/*.o data/*.s
-endif
-ifeq ($(FULL_TARGET),arm-embedded)
-override CLEAN_FILES+=*.elf data/*.o data/*.s
-endif
-ifeq ($(FULL_TARGET),arm-symbian)
-override CLEAN_FILES+=*.elf data/*.o data/*.s
-endif
-ifeq ($(FULL_TARGET),powerpc64-linux)
-override CLEAN_FILES+=*.elf data/*.o data/*.s
-endif
-ifeq ($(FULL_TARGET),powerpc64-darwin)
-override CLEAN_FILES+=*.elf data/*.o data/*.s
-endif
-ifeq ($(FULL_TARGET),powerpc64-embedded)
-override CLEAN_FILES+=*.elf data/*.o data/*.s
-endif
-ifeq ($(FULL_TARGET),avr-embedded)
-override CLEAN_FILES+=*.elf data/*.o data/*.s
-endif
-ifeq ($(FULL_TARGET),armeb-linux)
-override CLEAN_FILES+=*.elf data/*.o data/*.s
-endif
-ifeq ($(FULL_TARGET),armeb-embedded)
-override CLEAN_FILES+=*.elf data/*.o data/*.s
-endif
-override INSTALL_FPCPACKAGE=y
-ifdef REQUIRE_UNITSDIR
-override UNITSDIR+=$(REQUIRE_UNITSDIR)
-endif
-ifdef REQUIRE_PACKAGESDIR
-override PACKAGESDIR+=$(REQUIRE_PACKAGESDIR)
-endif
-ifdef ZIPINSTALL
-ifneq ($(findstring $(OS_TARGET),$(UNIXs)),)
-UNIXHier=1
-endif
-else
-ifneq ($(findstring $(OS_SOURCE),$(UNIXs)),)
-UNIXHier=1
-endif
-endif
-ifndef INSTALL_PREFIX
-ifdef PREFIX
-INSTALL_PREFIX=$(PREFIX)
-endif
-endif
-ifndef INSTALL_PREFIX
-ifdef UNIXHier
-INSTALL_PREFIX=/usr/local
-else
-ifdef INSTALL_FPCPACKAGE
-INSTALL_BASEDIR:=/pp
-else
-INSTALL_BASEDIR:=/$(PACKAGE_NAME)
-endif
-endif
-endif
-export INSTALL_PREFIX
-ifdef INSTALL_FPCSUBDIR
-export INSTALL_FPCSUBDIR
-endif
-ifndef DIST_DESTDIR
-DIST_DESTDIR:=$(BASEDIR)
-endif
-export DIST_DESTDIR
-ifndef COMPILER_UNITTARGETDIR
-ifdef PACKAGEDIR_MAIN
-COMPILER_UNITTARGETDIR=$(PACKAGEDIR_MAIN)/units/$(TARGETSUFFIX)
-else
-COMPILER_UNITTARGETDIR=units/$(TARGETSUFFIX)
-endif
-endif
-ifndef COMPILER_TARGETDIR
-COMPILER_TARGETDIR=.
-endif
-ifndef INSTALL_BASEDIR
-ifdef UNIXHier
-ifdef INSTALL_FPCPACKAGE
-INSTALL_BASEDIR:=$(INSTALL_PREFIX)/lib/fpc/$(FPC_VERSION)
-else
-INSTALL_BASEDIR:=$(INSTALL_PREFIX)/lib/$(PACKAGE_NAME)
-endif
-else
-INSTALL_BASEDIR:=$(INSTALL_PREFIX)
-endif
-endif
-ifndef INSTALL_BINDIR
-ifdef UNIXHier
-INSTALL_BINDIR:=$(INSTALL_PREFIX)/bin
-else
-INSTALL_BINDIR:=$(INSTALL_BASEDIR)/bin
-ifdef INSTALL_FPCPACKAGE
-ifdef CROSSCOMPILE
-ifdef CROSSINSTALL
-INSTALL_BINDIR:=$(INSTALL_BINDIR)/$(SOURCESUFFIX)
-else
-INSTALL_BINDIR:=$(INSTALL_BINDIR)/$(TARGETSUFFIX)
-endif
-else
-INSTALL_BINDIR:=$(INSTALL_BINDIR)/$(TARGETSUFFIX)
-endif
-endif
-endif
-endif
-ifndef INSTALL_UNITDIR
-INSTALL_UNITDIR:=$(INSTALL_BASEDIR)/units/$(TARGETSUFFIX)
-ifdef INSTALL_FPCPACKAGE
-ifdef PACKAGE_NAME
-INSTALL_UNITDIR:=$(INSTALL_UNITDIR)/$(PACKAGE_NAME)
-endif
-endif
-endif
-ifndef INSTALL_LIBDIR
-ifdef UNIXHier
-INSTALL_LIBDIR:=$(INSTALL_PREFIX)/lib
-else
-INSTALL_LIBDIR:=$(INSTALL_UNITDIR)
-endif
-endif
-ifndef INSTALL_SOURCEDIR
-ifdef UNIXHier
-ifdef BSDhier
-SRCPREFIXDIR=share/src
-else
-ifdef linuxHier
-SRCPREFIXDIR=share/src
-else
-SRCPREFIXDIR=src
-endif
-endif
-ifdef INSTALL_FPCPACKAGE
-ifdef INSTALL_FPCSUBDIR
-INSTALL_SOURCEDIR:=$(INSTALL_PREFIX)/$(SRCPREFIXDIR)/fpc-$(FPC_VERSION)/$(INSTALL_FPCSUBDIR)/$(PACKAGE_NAME)
-else
-INSTALL_SOURCEDIR:=$(INSTALL_PREFIX)/$(SRCPREFIXDIR)/fpc-$(FPC_VERSION)/$(PACKAGE_NAME)
-endif
-else
-INSTALL_SOURCEDIR:=$(INSTALL_PREFIX)/$(SRCPREFIXDIR)/$(PACKAGE_NAME)-$(PACKAGE_VERSION)
-endif
-else
-ifdef INSTALL_FPCPACKAGE
-ifdef INSTALL_FPCSUBDIR
-INSTALL_SOURCEDIR:=$(INSTALL_BASEDIR)/source/$(INSTALL_FPCSUBDIR)/$(PACKAGE_NAME)
-else
-INSTALL_SOURCEDIR:=$(INSTALL_BASEDIR)/source/$(PACKAGE_NAME)
-endif
-else
-INSTALL_SOURCEDIR:=$(INSTALL_BASEDIR)/source
-endif
-endif
-endif
-ifndef INSTALL_DOCDIR
-ifdef UNIXHier
-ifdef BSDhier
-DOCPREFIXDIR=share/doc
-else
-ifdef linuxHier
-DOCPREFIXDIR=share/doc
-else
-DOCPREFIXDIR=doc
-endif
-endif
-ifdef INSTALL_FPCPACKAGE
-INSTALL_DOCDIR:=$(INSTALL_PREFIX)/$(DOCPREFIXDIR)/fpc-$(FPC_VERSION)/$(PACKAGE_NAME)
-else
-INSTALL_DOCDIR:=$(INSTALL_PREFIX)/$(DOCPREFIXDIR)/$(PACKAGE_NAME)-$(PACKAGE_VERSION)
-endif
-else
-ifdef INSTALL_FPCPACKAGE
-INSTALL_DOCDIR:=$(INSTALL_BASEDIR)/doc/$(PACKAGE_NAME)
-else
-INSTALL_DOCDIR:=$(INSTALL_BASEDIR)/doc
-endif
-endif
-endif
-ifndef INSTALL_EXAMPLEDIR
-ifdef UNIXHier
-ifdef INSTALL_FPCPACKAGE
-ifdef BSDhier
-INSTALL_EXAMPLEDIR:=$(INSTALL_PREFIX)/share/examples/fpc-$(FPC_VERSION)/$(PACKAGE_NAME)
-else
-ifdef linuxHier
-INSTALL_EXAMPLEDIR:=$(INSTALL_DOCDIR)/examples
-else
-INSTALL_EXAMPLEDIR:=$(INSTALL_PREFIX)/doc/fpc-$(FPC_VERSION)/examples/$(PACKAGE_NAME)
-endif
-endif
-else
-ifdef BSDhier
-INSTALL_EXAMPLEDIR:=$(INSTALL_PREFIX)/share/examples/$(PACKAGE_NAME)-$(PACKAGE_VERSION)
-else
-ifdef linuxHier
-INSTALL_EXAMPLEDIR:=$(INSTALL_DOCDIR)/examples/$(PACKAGE_NAME)-$(PACKAGE_VERSION)
-else
-INSTALL_EXAMPLEDIR:=$(INSTALL_PREFIX)/doc/$(PACKAGE_NAME)-$(PACKAGE_VERSION)
-endif
-endif
-endif
-else
-ifdef INSTALL_FPCPACKAGE
-INSTALL_EXAMPLEDIR:=$(INSTALL_BASEDIR)/examples/$(PACKAGE_NAME)
-else
-INSTALL_EXAMPLEDIR:=$(INSTALL_BASEDIR)/examples
-endif
-endif
-endif
-ifndef INSTALL_DATADIR
-INSTALL_DATADIR=$(INSTALL_BASEDIR)
-endif
-ifndef INSTALL_SHAREDDIR
-INSTALL_SHAREDDIR=$(INSTALL_PREFIX)/lib
-endif
-ifdef CROSSCOMPILE
-ifndef CROSSBINDIR
-CROSSBINDIR:=$(wildcard $(CROSSTARGETDIR)/bin/$(SOURCESUFFIX))
-ifeq ($(CROSSBINDIR),)
-CROSSBINDIR:=$(wildcard $(INSTALL_BASEDIR)/cross/$(TARGETSUFFIX)/bin/$(FULL_SOURCE))
-endif
-endif
-else
-CROSSBINDIR=
-endif
-BATCHEXT=.bat
-LOADEREXT=.as
-EXEEXT=.exe
-PPLEXT=.ppl
-PPUEXT=.ppu
-OEXT=.o
-ASMEXT=.s
-SMARTEXT=.sl
-STATICLIBEXT=.a
-SHAREDLIBEXT=.so
-SHAREDLIBPREFIX=libfp
-STATICLIBPREFIX=libp
-IMPORTLIBPREFIX=libimp
-RSTEXT=.rst
-ifeq ($(findstring 1.0.,$(FPC_VERSION)),)
-ifeq ($(OS_TARGET),go32v1)
-STATICLIBPREFIX=
-SHORTSUFFIX=v1
-endif
-ifeq ($(OS_TARGET),go32v2)
-STATICLIBPREFIX=
-SHORTSUFFIX=dos
-IMPORTLIBPREFIX=
-endif
-ifeq ($(OS_TARGET),watcom)
-STATICLIBPREFIX=
-OEXT=.obj
-ASMEXT=.asm
-SHAREDLIBEXT=.dll
-SHORTSUFFIX=wat
-IMPORTLIBPREFIX=
-endif
-ifeq ($(OS_TARGET),linux)
-BATCHEXT=.sh
-EXEEXT=
-HASSHAREDLIB=1
-SHORTSUFFIX=lnx
-endif
-ifeq ($(OS_TARGET),freebsd)
-BATCHEXT=.sh
-EXEEXT=
-HASSHAREDLIB=1
-SHORTSUFFIX=fbs
-endif
-ifeq ($(OS_TARGET),netbsd)
-BATCHEXT=.sh
-EXEEXT=
-HASSHAREDLIB=1
-SHORTSUFFIX=nbs
-endif
-ifeq ($(OS_TARGET),openbsd)
-BATCHEXT=.sh
-EXEEXT=
-HASSHAREDLIB=1
-SHORTSUFFIX=obs
-endif
-ifeq ($(OS_TARGET),win32)
-SHAREDLIBEXT=.dll
-SHORTSUFFIX=w32
-endif
-ifeq ($(OS_TARGET),os2)
-BATCHEXT=.cmd
-AOUTEXT=.out
-STATICLIBPREFIX=
-SHAREDLIBEXT=.dll
-SHORTSUFFIX=os2
-ECHO=echo
-IMPORTLIBPREFIX=
-endif
-ifeq ($(OS_TARGET),emx)
-BATCHEXT=.cmd
-AOUTEXT=.out
-STATICLIBPREFIX=
-SHAREDLIBEXT=.dll
-SHORTSUFFIX=emx
-ECHO=echo
-IMPORTLIBPREFIX=
-endif
-ifeq ($(OS_TARGET),amiga)
-EXEEXT=
-SHAREDLIBEXT=.library
-SHORTSUFFIX=amg
-endif
-ifeq ($(OS_TARGET),morphos)
-EXEEXT=
-SHAREDLIBEXT=.library
-SHORTSUFFIX=mos
-endif
-ifeq ($(OS_TARGET),atari)
-EXEEXT=.ttp
-SHORTSUFFIX=ata
-endif
-ifeq ($(OS_TARGET),beos)
-BATCHEXT=.sh
-EXEEXT=
-SHORTSUFFIX=be
-endif
-ifeq ($(OS_TARGET),haiku)
-BATCHEXT=.sh
-EXEEXT=
-SHORTSUFFIX=hai
-endif
-ifeq ($(OS_TARGET),solaris)
-BATCHEXT=.sh
-EXEEXT=
-SHORTSUFFIX=sun
-endif
-ifeq ($(OS_TARGET),qnx)
-BATCHEXT=.sh
-EXEEXT=
-SHORTSUFFIX=qnx
-endif
-ifeq ($(OS_TARGET),netware)
-EXEEXT=.nlm
-STATICLIBPREFIX=
-SHORTSUFFIX=nw
-IMPORTLIBPREFIX=imp
-endif
-ifeq ($(OS_TARGET),netwlibc)
-EXEEXT=.nlm
-STATICLIBPREFIX=
-SHORTSUFFIX=nwl
-IMPORTLIBPREFIX=imp
-endif
-ifeq ($(OS_TARGET),macos)
-BATCHEXT=
-EXEEXT=
-DEBUGSYMEXT=.xcoff
-SHORTSUFFIX=mac
-IMPORTLIBPREFIX=imp
-endif
-ifeq ($(OS_TARGET),darwin)
-BATCHEXT=.sh
-EXEEXT=
-HASSHAREDLIB=1
-SHORTSUFFIX=dwn
-endif
-ifeq ($(OS_TARGET),gba)
-EXEEXT=.gba
-SHAREDLIBEXT=.so
-SHORTSUFFIX=gba
-endif
-ifeq ($(OS_TARGET),symbian)
-SHAREDLIBEXT=.dll
-SHORTSUFFIX=symbian
-endif
-else
-ifeq ($(OS_TARGET),go32v1)
-PPUEXT=.pp1
-OEXT=.o1
-ASMEXT=.s1
-SMARTEXT=.sl1
-STATICLIBEXT=.a1
-SHAREDLIBEXT=.so1
-STATICLIBPREFIX=
-SHORTSUFFIX=v1
-IMPORTLIBPREFIX=
-endif
-ifeq ($(OS_TARGET),go32v2)
-STATICLIBPREFIX=
-SHORTSUFFIX=dos
-IMPORTLIBPREFIX=
-endif
-ifeq ($(OS_TARGET),watcom)
-STATICLIBPREFIX=
-SHORTSUFFIX=wat
-IMPORTLIBPREFIX=
-endif
-ifeq ($(OS_TARGET),linux)
-BATCHEXT=.sh
-EXEEXT=
-HASSHAREDLIB=1
-SHORTSUFFIX=lnx
-endif
-ifeq ($(OS_TARGET),freebsd)
-BATCHEXT=.sh
-EXEEXT=
-HASSHAREDLIB=1
-SHORTSUFFIX=fbs
-endif
-ifeq ($(OS_TARGET),netbsd)
-BATCHEXT=.sh
-EXEEXT=
-HASSHAREDLIB=1
-SHORTSUFFIX=nbs
-endif
-ifeq ($(OS_TARGET),openbsd)
-BATCHEXT=.sh
-EXEEXT=
-HASSHAREDLIB=1
-SHORTSUFFIX=obs
-endif
-ifeq ($(OS_TARGET),win32)
-PPUEXT=.ppw
-OEXT=.ow
-ASMEXT=.sw
-SMARTEXT=.slw
-STATICLIBEXT=.aw
-SHAREDLIBEXT=.dll
-SHORTSUFFIX=w32
-endif
-ifeq ($(OS_TARGET),os2)
-BATCHEXT=.cmd
-PPUEXT=.ppo
-ASMEXT=.so2
-OEXT=.oo2
-AOUTEXT=.out
-SMARTEXT=.sl2
-STATICLIBPREFIX=
-STATICLIBEXT=.ao2
-SHAREDLIBEXT=.dll
-SHORTSUFFIX=os2
-ECHO=echo
-IMPORTLIBPREFIX=
-endif
-ifeq ($(OS_TARGET),amiga)
-EXEEXT=
-PPUEXT=.ppu
-ASMEXT=.s
-OEXT=.o
-SMARTEXT=.sl
-STATICLIBEXT=.a
-SHAREDLIBEXT=.library
-SHORTSUFFIX=amg
-endif
-ifeq ($(OS_TARGET),atari)
-PPUEXT=.ppu
-ASMEXT=.s
-OEXT=.o
-SMARTEXT=.sl
-STATICLIBEXT=.a
-EXEEXT=.ttp
-SHORTSUFFIX=ata
-endif
-ifeq ($(OS_TARGET),beos)
-BATCHEXT=.sh
-PPUEXT=.ppu
-ASMEXT=.s
-OEXT=.o
-SMARTEXT=.sl
-STATICLIBEXT=.a
-EXEEXT=
-SHORTSUFFIX=be
-endif
-ifeq ($(OS_TARGET),solaris)
-BATCHEXT=.sh
-PPUEXT=.ppu
-ASMEXT=.s
-OEXT=.o
-SMARTEXT=.sl
-STATICLIBEXT=.a
-EXEEXT=
-SHORTSUFFIX=sun
-endif
-ifeq ($(OS_TARGET),qnx)
-BATCHEXT=.sh
-PPUEXT=.ppu
-ASMEXT=.s
-OEXT=.o
-SMARTEXT=.sl
-STATICLIBEXT=.a
-EXEEXT=
-SHORTSUFFIX=qnx
-endif
-ifeq ($(OS_TARGET),netware)
-STATICLIBPREFIX=
-PPUEXT=.ppu
-OEXT=.o
-ASMEXT=.s
-SMARTEXT=.sl
-STATICLIBEXT=.a
-SHAREDLIBEXT=.nlm
-EXEEXT=.nlm
-SHORTSUFFIX=nw
-IMPORTLIBPREFIX=imp
-endif
-ifeq ($(OS_TARGET),netwlibc)
-STATICLIBPREFIX=
-PPUEXT=.ppu
-OEXT=.o
-ASMEXT=.s
-SMARTEXT=.sl
-STATICLIBEXT=.a
-SHAREDLIBEXT=.nlm
-EXEEXT=.nlm
-SHORTSUFFIX=nwl
-IMPORTLIBPREFIX=imp
-endif
-ifeq ($(OS_TARGET),macos)
-BATCHEXT=
-PPUEXT=.ppu
-ASMEXT=.s
-OEXT=.o
-SMARTEXT=.sl
-STATICLIBEXT=.a
-EXEEXT=
-DEBUGSYMEXT=.xcoff
-SHORTSUFFIX=mac
-IMPORTLIBPREFIX=imp
-endif
-endif
-ifneq ($(findstring $(OS_SOURCE),$(LIMIT83fs)),)
-FPCMADE=fpcmade.$(SHORTSUFFIX)
-ZIPSUFFIX=$(SHORTSUFFIX)
-ZIPCROSSPREFIX=
-ZIPSOURCESUFFIX=src
-ZIPEXAMPLESUFFIX=exm
-else
-FPCMADE=fpcmade.$(TARGETSUFFIX)
-ZIPSOURCESUFFIX=.source
-ZIPEXAMPLESUFFIX=.examples
-ifdef CROSSCOMPILE
-ZIPSUFFIX=.$(SOURCESUFFIX)
-ZIPCROSSPREFIX=$(TARGETSUFFIX)-
-else
-ZIPSUFFIX=.$(TARGETSUFFIX)
-ZIPCROSSPREFIX=
-endif
-endif
-ifndef ECHO
-ECHO:=$(strip $(wildcard $(addsuffix /gecho$(SRCEXEEXT),$(SEARCHPATH))))
-ifeq ($(ECHO),)
-ECHO:=$(strip $(wildcard $(addsuffix /echo$(SRCEXEEXT),$(SEARCHPATH))))
-ifeq ($(ECHO),)
-ECHO= __missing_command_ECHO
-else
-ECHO:=$(firstword $(ECHO))
-endif
-else
-ECHO:=$(firstword $(ECHO))
-endif
-endif
-export ECHO
-ifndef DATE
-DATE:=$(strip $(wildcard $(addsuffix /gdate$(SRCEXEEXT),$(SEARCHPATH))))
-ifeq ($(DATE),)
-DATE:=$(strip $(wildcard $(addsuffix /date$(SRCEXEEXT),$(SEARCHPATH))))
-ifeq ($(DATE),)
-DATE= __missing_command_DATE
-else
-DATE:=$(firstword $(DATE))
-endif
-else
-DATE:=$(firstword $(DATE))
-endif
-endif
-export DATE
-ifndef GINSTALL
-GINSTALL:=$(strip $(wildcard $(addsuffix /ginstall$(SRCEXEEXT),$(SEARCHPATH))))
-ifeq ($(GINSTALL),)
-GINSTALL:=$(strip $(wildcard $(addsuffix /install$(SRCEXEEXT),$(SEARCHPATH))))
-ifeq ($(GINSTALL),)
-GINSTALL= __missing_command_GINSTALL
-else
-GINSTALL:=$(firstword $(GINSTALL))
-endif
-else
-GINSTALL:=$(firstword $(GINSTALL))
-endif
-endif
-export GINSTALL
-ifndef CPPROG
-CPPROG:=$(strip $(wildcard $(addsuffix /cp$(SRCEXEEXT),$(SEARCHPATH))))
-ifeq ($(CPPROG),)
-CPPROG= __missing_command_CPPROG
-else
-CPPROG:=$(firstword $(CPPROG))
-endif
-endif
-export CPPROG
-ifndef RMPROG
-RMPROG:=$(strip $(wildcard $(addsuffix /rm$(SRCEXEEXT),$(SEARCHPATH))))
-ifeq ($(RMPROG),)
-RMPROG= __missing_command_RMPROG
-else
-RMPROG:=$(firstword $(RMPROG))
-endif
-endif
-export RMPROG
-ifndef MVPROG
-MVPROG:=$(strip $(wildcard $(addsuffix /mv$(SRCEXEEXT),$(SEARCHPATH))))
-ifeq ($(MVPROG),)
-MVPROG= __missing_command_MVPROG
-else
-MVPROG:=$(firstword $(MVPROG))
-endif
-endif
-export MVPROG
-ifndef MKDIRPROG
-MKDIRPROG:=$(strip $(wildcard $(addsuffix /gmkdir$(SRCEXEEXT),$(SEARCHPATH))))
-ifeq ($(MKDIRPROG),)
-MKDIRPROG:=$(strip $(wildcard $(addsuffix /mkdir$(SRCEXEEXT),$(SEARCHPATH))))
-ifeq ($(MKDIRPROG),)
-MKDIRPROG= __missing_command_MKDIRPROG
-else
-MKDIRPROG:=$(firstword $(MKDIRPROG))
-endif
-else
-MKDIRPROG:=$(firstword $(MKDIRPROG))
-endif
-endif
-export MKDIRPROG
-ifndef ECHOREDIR
-ifndef inUnix
-ECHOREDIR=echo
-else
-ECHOREDIR=$(ECHO)
-endif
-endif
-ifndef COPY
-COPY:=$(CPPROG) -fp
-endif
-ifndef COPYTREE
-COPYTREE:=$(CPPROG) -Rfp
-endif
-ifndef MKDIRTREE
-MKDIRTREE:=$(MKDIRPROG) -p
-endif
-ifndef MOVE
-MOVE:=$(MVPROG) -f
-endif
-ifndef DEL
-DEL:=$(RMPROG) -f
-endif
-ifndef DELTREE
-DELTREE:=$(RMPROG) -rf
-endif
-ifndef INSTALL
-ifdef inUnix
-INSTALL:=$(GINSTALL) -c -m 644
-else
-INSTALL:=$(COPY)
-endif
-endif
-ifndef INSTALLEXE
-ifdef inUnix
-INSTALLEXE:=$(GINSTALL) -c -m 755
-else
-INSTALLEXE:=$(COPY)
-endif
-endif
-ifndef MKDIR
-MKDIR:=$(GINSTALL) -m 755 -d
-endif
-export ECHOREDIR COPY COPYTREE MOVE DEL DELTREE INSTALL INSTALLEXE MKDIR
-ifndef PPUMOVE
-PPUMOVE:=$(strip $(wildcard $(addsuffix /ppumove$(SRCEXEEXT),$(SEARCHPATH))))
-ifeq ($(PPUMOVE),)
-PPUMOVE= __missing_command_PPUMOVE
-else
-PPUMOVE:=$(firstword $(PPUMOVE))
-endif
-endif
-export PPUMOVE
-ifndef FPCMAKE
-FPCMAKE:=$(strip $(wildcard $(addsuffix /fpcmake$(SRCEXEEXT),$(SEARCHPATH))))
-ifeq ($(FPCMAKE),)
-FPCMAKE= __missing_command_FPCMAKE
-else
-FPCMAKE:=$(firstword $(FPCMAKE))
-endif
-endif
-export FPCMAKE
-ifndef ZIPPROG
-ZIPPROG:=$(strip $(wildcard $(addsuffix /zip$(SRCEXEEXT),$(SEARCHPATH))))
-ifeq ($(ZIPPROG),)
-ZIPPROG= __missing_command_ZIPPROG
-else
-ZIPPROG:=$(firstword $(ZIPPROG))
-endif
-endif
-export ZIPPROG
-ifndef TARPROG
-TARPROG:=$(strip $(wildcard $(addsuffix /gtar$(SRCEXEEXT),$(SEARCHPATH))))
-ifeq ($(TARPROG),)
-TARPROG:=$(strip $(wildcard $(addsuffix /tar$(SRCEXEEXT),$(SEARCHPATH))))
-ifeq ($(TARPROG),)
-TARPROG= __missing_command_TARPROG
-else
-TARPROG:=$(firstword $(TARPROG))
-endif
-else
-TARPROG:=$(firstword $(TARPROG))
-endif
-endif
-export TARPROG
-ASNAME=$(BINUTILSPREFIX)as
-LDNAME=$(BINUTILSPREFIX)ld
-ARNAME=$(BINUTILSPREFIX)ar
-RCNAME=$(BINUTILSPREFIX)rc
-ifneq ($(findstring 1.0.,$(FPC_VERSION)),)
-ifeq ($(OS_TARGET),win32)
-ifeq ($(CROSSBINDIR),)
-ASNAME=asw
-LDNAME=ldw
-ARNAME=arw
-endif
-endif
-endif
-ifndef ASPROG
-ifdef CROSSBINDIR
-ASPROG=$(CROSSBINDIR)/$(ASNAME)$(SRCEXEEXT)
-else
-ASPROG=$(ASNAME)
-endif
-endif
-ifndef LDPROG
-ifdef CROSSBINDIR
-LDPROG=$(CROSSBINDIR)/$(LDNAME)$(SRCEXEEXT)
-else
-LDPROG=$(LDNAME)
-endif
-endif
-ifndef RCPROG
-ifdef CROSSBINDIR
-RCPROG=$(CROSSBINDIR)/$(RCNAME)$(SRCEXEEXT)
-else
-RCPROG=$(RCNAME)
-endif
-endif
-ifndef ARPROG
-ifdef CROSSBINDIR
-ARPROG=$(CROSSBINDIR)/$(ARNAME)$(SRCEXEEXT)
-else
-ARPROG=$(ARNAME)
-endif
-endif
-AS=$(ASPROG)
-LD=$(LDPROG)
-RC=$(RCPROG)
-AR=$(ARPROG)
-PPAS=ppas$(SRCBATCHEXT)
-ifdef inUnix
-LDCONFIG=ldconfig
-else
-LDCONFIG=
-endif
-ifdef DATE
-DATESTR:=$(shell $(DATE) +%Y%m%d)
-else
-DATESTR=
-endif
-ifndef UPXPROG
-ifeq ($(OS_TARGET),go32v2)
-UPXPROG:=1
-endif
-ifeq ($(OS_TARGET),win32)
-UPXPROG:=1
-endif
-ifdef UPXPROG
-UPXPROG:=$(strip $(wildcard $(addsuffix /upx$(SRCEXEEXT),$(SEARCHPATH))))
-ifeq ($(UPXPROG),)
-UPXPROG=
-else
-UPXPROG:=$(firstword $(UPXPROG))
-endif
-else
-UPXPROG=
-endif
-endif
-export UPXPROG
-ZIPOPT=-9
-ZIPEXT=.zip
-ifeq ($(USETAR),bz2)
-TAROPT=vj
-TAREXT=.tar.bz2
-else
-TAROPT=vz
-TAREXT=.tar.gz
-endif
-override REQUIRE_PACKAGES=rtl libgbafpc
-ifeq ($(FULL_TARGET),i386-linux)
-REQUIRE_PACKAGES_RTL=1
-REQUIRE_PACKAGES_LIBGBAFPC=1
-endif
-ifeq ($(FULL_TARGET),i386-go32v2)
-REQUIRE_PACKAGES_RTL=1
-REQUIRE_PACKAGES_LIBGBAFPC=1
-endif
-ifeq ($(FULL_TARGET),i386-win32)
-REQUIRE_PACKAGES_RTL=1
-REQUIRE_PACKAGES_LIBGBAFPC=1
-endif
-ifeq ($(FULL_TARGET),i386-os2)
-REQUIRE_PACKAGES_RTL=1
-REQUIRE_PACKAGES_LIBGBAFPC=1
-endif
-ifeq ($(FULL_TARGET),i386-freebsd)
-REQUIRE_PACKAGES_RTL=1
-REQUIRE_PACKAGES_LIBGBAFPC=1
-endif
-ifeq ($(FULL_TARGET),i386-beos)
-REQUIRE_PACKAGES_RTL=1
-REQUIRE_PACKAGES_LIBGBAFPC=1
-endif
-ifeq ($(FULL_TARGET),i386-haiku)
-REQUIRE_PACKAGES_RTL=1
-REQUIRE_PACKAGES_LIBGBAFPC=1
-endif
-ifeq ($(FULL_TARGET),i386-netbsd)
-REQUIRE_PACKAGES_RTL=1
-REQUIRE_PACKAGES_LIBGBAFPC=1
-endif
-ifeq ($(FULL_TARGET),i386-solaris)
-REQUIRE_PACKAGES_RTL=1
-REQUIRE_PACKAGES_LIBGBAFPC=1
-endif
-ifeq ($(FULL_TARGET),i386-qnx)
-REQUIRE_PACKAGES_RTL=1
-REQUIRE_PACKAGES_LIBGBAFPC=1
-endif
-ifeq ($(FULL_TARGET),i386-netware)
-REQUIRE_PACKAGES_RTL=1
-REQUIRE_PACKAGES_LIBGBAFPC=1
-endif
-ifeq ($(FULL_TARGET),i386-openbsd)
-REQUIRE_PACKAGES_RTL=1
-REQUIRE_PACKAGES_LIBGBAFPC=1
-endif
-ifeq ($(FULL_TARGET),i386-wdosx)
-REQUIRE_PACKAGES_RTL=1
-REQUIRE_PACKAGES_LIBGBAFPC=1
-endif
-ifeq ($(FULL_TARGET),i386-darwin)
-REQUIRE_PACKAGES_RTL=1
-REQUIRE_PACKAGES_LIBGBAFPC=1
-endif
-ifeq ($(FULL_TARGET),i386-emx)
-REQUIRE_PACKAGES_RTL=1
-REQUIRE_PACKAGES_LIBGBAFPC=1
-endif
-ifeq ($(FULL_TARGET),i386-watcom)
-REQUIRE_PACKAGES_RTL=1
-REQUIRE_PACKAGES_LIBGBAFPC=1
-endif
-ifeq ($(FULL_TARGET),i386-netwlibc)
-REQUIRE_PACKAGES_RTL=1
-REQUIRE_PACKAGES_LIBGBAFPC=1
-endif
-ifeq ($(FULL_TARGET),i386-wince)
-REQUIRE_PACKAGES_RTL=1
-REQUIRE_PACKAGES_LIBGBAFPC=1
-endif
-ifeq ($(FULL_TARGET),i386-embedded)
-REQUIRE_PACKAGES_RTL=1
-REQUIRE_PACKAGES_LIBGBAFPC=1
-endif
-ifeq ($(FULL_TARGET),i386-symbian)
-REQUIRE_PACKAGES_RTL=1
-REQUIRE_PACKAGES_LIBGBAFPC=1
-endif
-ifeq ($(FULL_TARGET),m68k-linux)
-REQUIRE_PACKAGES_RTL=1
-REQUIRE_PACKAGES_LIBGBAFPC=1
-endif
-ifeq ($(FULL_TARGET),m68k-freebsd)
-REQUIRE_PACKAGES_RTL=1
-REQUIRE_PACKAGES_LIBGBAFPC=1
-endif
-ifeq ($(FULL_TARGET),m68k-netbsd)
-REQUIRE_PACKAGES_RTL=1
-REQUIRE_PACKAGES_LIBGBAFPC=1
-endif
-ifeq ($(FULL_TARGET),m68k-amiga)
-REQUIRE_PACKAGES_RTL=1
-REQUIRE_PACKAGES_LIBGBAFPC=1
-endif
-ifeq ($(FULL_TARGET),m68k-atari)
-REQUIRE_PACKAGES_RTL=1
-REQUIRE_PACKAGES_LIBGBAFPC=1
-endif
-ifeq ($(FULL_TARGET),m68k-openbsd)
-REQUIRE_PACKAGES_RTL=1
-REQUIRE_PACKAGES_LIBGBAFPC=1
-endif
-ifeq ($(FULL_TARGET),m68k-palmos)
-REQUIRE_PACKAGES_RTL=1
-REQUIRE_PACKAGES_LIBGBAFPC=1
-endif
-ifeq ($(FULL_TARGET),m68k-embedded)
-REQUIRE_PACKAGES_RTL=1
-REQUIRE_PACKAGES_LIBGBAFPC=1
-endif
-ifeq ($(FULL_TARGET),powerpc-linux)
-REQUIRE_PACKAGES_RTL=1
-REQUIRE_PACKAGES_LIBGBAFPC=1
-endif
-ifeq ($(FULL_TARGET),powerpc-netbsd)
-REQUIRE_PACKAGES_RTL=1
-REQUIRE_PACKAGES_LIBGBAFPC=1
-endif
-ifeq ($(FULL_TARGET),powerpc-amiga)
-REQUIRE_PACKAGES_RTL=1
-REQUIRE_PACKAGES_LIBGBAFPC=1
-endif
-ifeq ($(FULL_TARGET),powerpc-macos)
-REQUIRE_PACKAGES_RTL=1
-REQUIRE_PACKAGES_LIBGBAFPC=1
-endif
-ifeq ($(FULL_TARGET),powerpc-darwin)
-REQUIRE_PACKAGES_RTL=1
-REQUIRE_PACKAGES_LIBGBAFPC=1
-endif
-ifeq ($(FULL_TARGET),powerpc-morphos)
-REQUIRE_PACKAGES_RTL=1
-REQUIRE_PACKAGES_LIBGBAFPC=1
-endif
-ifeq ($(FULL_TARGET),powerpc-embedded)
-REQUIRE_PACKAGES_RTL=1
-REQUIRE_PACKAGES_LIBGBAFPC=1
-endif
-ifeq ($(FULL_TARGET),sparc-linux)
-REQUIRE_PACKAGES_RTL=1
-REQUIRE_PACKAGES_LIBGBAFPC=1
-endif
-ifeq ($(FULL_TARGET),sparc-netbsd)
-REQUIRE_PACKAGES_RTL=1
-REQUIRE_PACKAGES_LIBGBAFPC=1
-endif
-ifeq ($(FULL_TARGET),sparc-solaris)
-REQUIRE_PACKAGES_RTL=1
-REQUIRE_PACKAGES_LIBGBAFPC=1
-endif
-ifeq ($(FULL_TARGET),sparc-embedded)
-REQUIRE_PACKAGES_RTL=1
-REQUIRE_PACKAGES_LIBGBAFPC=1
-endif
-ifeq ($(FULL_TARGET),x86_64-linux)
-REQUIRE_PACKAGES_RTL=1
-REQUIRE_PACKAGES_LIBGBAFPC=1
-endif
-ifeq ($(FULL_TARGET),x86_64-freebsd)
-REQUIRE_PACKAGES_RTL=1
-REQUIRE_PACKAGES_LIBGBAFPC=1
-endif
-ifeq ($(FULL_TARGET),x86_64-darwin)
-REQUIRE_PACKAGES_RTL=1
-REQUIRE_PACKAGES_LIBGBAFPC=1
-endif
-ifeq ($(FULL_TARGET),x86_64-win64)
-REQUIRE_PACKAGES_RTL=1
-REQUIRE_PACKAGES_LIBGBAFPC=1
-endif
-ifeq ($(FULL_TARGET),x86_64-embedded)
-REQUIRE_PACKAGES_RTL=1
-REQUIRE_PACKAGES_LIBGBAFPC=1
-endif
-ifeq ($(FULL_TARGET),arm-linux)
-REQUIRE_PACKAGES_RTL=1
-REQUIRE_PACKAGES_LIBGBAFPC=1
-endif
-ifeq ($(FULL_TARGET),arm-palmos)
-REQUIRE_PACKAGES_RTL=1
-REQUIRE_PACKAGES_LIBGBAFPC=1
-endif
-ifeq ($(FULL_TARGET),arm-darwin)
-REQUIRE_PACKAGES_RTL=1
-REQUIRE_PACKAGES_LIBGBAFPC=1
-endif
-ifeq ($(FULL_TARGET),arm-wince)
-REQUIRE_PACKAGES_RTL=1
-REQUIRE_PACKAGES_LIBGBAFPC=1
-endif
-ifeq ($(FULL_TARGET),arm-gba)
-REQUIRE_PACKAGES_RTL=1
-REQUIRE_PACKAGES_LIBGBAFPC=1
-endif
-ifeq ($(FULL_TARGET),arm-nds)
-REQUIRE_PACKAGES_RTL=1
-REQUIRE_PACKAGES_LIBGBAFPC=1
-endif
-ifeq ($(FULL_TARGET),arm-embedded)
-REQUIRE_PACKAGES_RTL=1
-REQUIRE_PACKAGES_LIBGBAFPC=1
-endif
-ifeq ($(FULL_TARGET),arm-symbian)
-REQUIRE_PACKAGES_RTL=1
-REQUIRE_PACKAGES_LIBGBAFPC=1
-endif
-ifeq ($(FULL_TARGET),powerpc64-linux)
-REQUIRE_PACKAGES_RTL=1
-REQUIRE_PACKAGES_LIBGBAFPC=1
-endif
-ifeq ($(FULL_TARGET),powerpc64-darwin)
-REQUIRE_PACKAGES_RTL=1
-REQUIRE_PACKAGES_LIBGBAFPC=1
-endif
-ifeq ($(FULL_TARGET),powerpc64-embedded)
-REQUIRE_PACKAGES_RTL=1
-REQUIRE_PACKAGES_LIBGBAFPC=1
-endif
-ifeq ($(FULL_TARGET),avr-embedded)
-REQUIRE_PACKAGES_RTL=1
-REQUIRE_PACKAGES_LIBGBAFPC=1
-endif
-ifeq ($(FULL_TARGET),armeb-linux)
-REQUIRE_PACKAGES_RTL=1
-REQUIRE_PACKAGES_LIBGBAFPC=1
-endif
-ifeq ($(FULL_TARGET),armeb-embedded)
-REQUIRE_PACKAGES_RTL=1
-REQUIRE_PACKAGES_LIBGBAFPC=1
-endif
-ifdef REQUIRE_PACKAGES_RTL
-PACKAGEDIR_RTL:=$(firstword $(subst /Makefile.fpc,,$(strip $(wildcard $(addsuffix /rtl/Makefile.fpc,$(PACKAGESDIR))))))
-ifneq ($(PACKAGEDIR_RTL),)
-ifneq ($(wildcard $(PACKAGEDIR_RTL)/units/$(TARGETSUFFIX)),)
-UNITDIR_RTL=$(PACKAGEDIR_RTL)/units/$(TARGETSUFFIX)
-else
-UNITDIR_RTL=$(PACKAGEDIR_RTL)
-endif
-ifdef CHECKDEPEND
-$(PACKAGEDIR_RTL)/$(FPCMADE):
-	$(MAKE) -C $(PACKAGEDIR_RTL) $(FPCMADE)
-override ALLDEPENDENCIES+=$(PACKAGEDIR_RTL)/$(FPCMADE)
-endif
-else
-PACKAGEDIR_RTL=
-UNITDIR_RTL:=$(subst /Package.fpc,,$(strip $(wildcard $(addsuffix /rtl/Package.fpc,$(UNITSDIR)))))
-ifneq ($(UNITDIR_RTL),)
-UNITDIR_RTL:=$(firstword $(UNITDIR_RTL))
-else
-UNITDIR_RTL=
-endif
-endif
-ifdef UNITDIR_RTL
-override COMPILER_UNITDIR+=$(UNITDIR_RTL)
-endif
-endif
-ifdef REQUIRE_PACKAGES_LIBGBAFPC
-PACKAGEDIR_LIBGBAFPC:=$(firstword $(subst /Makefile.fpc,,$(strip $(wildcard $(addsuffix /libgbafpc/Makefile.fpc,$(PACKAGESDIR))))))
-ifneq ($(PACKAGEDIR_LIBGBAFPC),)
-ifneq ($(wildcard $(PACKAGEDIR_LIBGBAFPC)/units/$(TARGETSUFFIX)),)
-UNITDIR_LIBGBAFPC=$(PACKAGEDIR_LIBGBAFPC)/units/$(TARGETSUFFIX)
-else
-UNITDIR_LIBGBAFPC=$(PACKAGEDIR_LIBGBAFPC)
-endif
-ifdef CHECKDEPEND
-$(PACKAGEDIR_LIBGBAFPC)/$(FPCMADE):
-	$(MAKE) -C $(PACKAGEDIR_LIBGBAFPC) $(FPCMADE)
-override ALLDEPENDENCIES+=$(PACKAGEDIR_LIBGBAFPC)/$(FPCMADE)
-endif
-else
-PACKAGEDIR_LIBGBAFPC=
-UNITDIR_LIBGBAFPC:=$(subst /Package.fpc,,$(strip $(wildcard $(addsuffix /libgbafpc/Package.fpc,$(UNITSDIR)))))
-ifneq ($(UNITDIR_LIBGBAFPC),)
-UNITDIR_LIBGBAFPC:=$(firstword $(UNITDIR_LIBGBAFPC))
-else
-UNITDIR_LIBGBAFPC=
-endif
-endif
-ifdef UNITDIR_LIBGBAFPC
-override COMPILER_UNITDIR+=$(UNITDIR_LIBGBAFPC)
-endif
-endif
-ifndef NOCPUDEF
-override FPCOPTDEF=$(ARCH)
-endif
-ifneq ($(OS_TARGET),$(OS_SOURCE))
-override FPCOPT+=-T$(OS_TARGET)
-endif
-ifneq ($(CPU_TARGET),$(CPU_SOURCE))
-override FPCOPT+=-P$(ARCH)
-endif
-ifeq ($(OS_SOURCE),openbsd)
-override FPCOPT+=-FD$(NEW_BINUTILS_PATH)
-endif
-ifndef CROSSBOOTSTRAP
-ifneq ($(BINUTILSPREFIX),)
-override FPCOPT+=-XP$(BINUTILSPREFIX)
-endif
-ifneq ($(BINUTILSPREFIX),)
-override FPCOPT+=-Xr$(RLINKPATH)
-endif
-endif
-ifdef UNITDIR
-override FPCOPT+=$(addprefix -Fu,$(UNITDIR))
-endif
-ifdef LIBDIR
-override FPCOPT+=$(addprefix -Fl,$(LIBDIR))
-endif
-ifdef OBJDIR
-override FPCOPT+=$(addprefix -Fo,$(OBJDIR))
-endif
-ifdef INCDIR
-override FPCOPT+=$(addprefix -Fi,$(INCDIR))
-endif
-ifdef LINKSMART
-override FPCOPT+=-XX
-endif
-ifdef CREATESMART
-override FPCOPT+=-CX
-endif
-ifdef DEBUG
-override FPCOPT+=-gl
-override FPCOPTDEF+=DEBUG
-endif
-ifdef RELEASE
-ifneq ($(findstring 2.0.,$(FPC_VERSION)),)
-ifeq ($(CPU_TARGET),i386)
-FPCCPUOPT:=-OG2p3
-endif
-ifeq ($(CPU_TARGET),powerpc)
-FPCCPUOPT:=-O1r
-endif
-else
-FPCCPUOPT:=-O2
-endif
-override FPCOPT+=-Ur -Xs $(FPCCPUOPT) -n
-override FPCOPTDEF+=RELEASE
-endif
-ifdef STRIP
-override FPCOPT+=-Xs
-endif
-ifdef OPTIMIZE
-override FPCOPT+=-O2
-endif
-ifdef VERBOSE
-override FPCOPT+=-vwni
-endif
-ifdef COMPILER_OPTIONS
-override FPCOPT+=$(COMPILER_OPTIONS)
-endif
-ifdef COMPILER_UNITDIR
-override FPCOPT+=$(addprefix -Fu,$(COMPILER_UNITDIR))
-endif
-ifdef COMPILER_LIBRARYDIR
-override FPCOPT+=$(addprefix -Fl,$(COMPILER_LIBRARYDIR))
-endif
-ifdef COMPILER_OBJECTDIR
-override FPCOPT+=$(addprefix -Fo,$(COMPILER_OBJECTDIR))
-endif
-ifdef COMPILER_INCLUDEDIR
-override FPCOPT+=$(addprefix -Fi,$(COMPILER_INCLUDEDIR))
-endif
-ifdef CROSSBINDIR
-override FPCOPT+=-FD$(CROSSBINDIR)
-endif
-ifdef COMPILER_TARGETDIR
-override FPCOPT+=-FE$(COMPILER_TARGETDIR)
-ifeq ($(COMPILER_TARGETDIR),.)
-override TARGETDIRPREFIX=
-else
-override TARGETDIRPREFIX=$(COMPILER_TARGETDIR)/
-endif
-endif
-ifdef COMPILER_UNITTARGETDIR
-override FPCOPT+=-FU$(COMPILER_UNITTARGETDIR)
-ifeq ($(COMPILER_UNITTARGETDIR),.)
-override UNITTARGETDIRPREFIX=
-else
-override UNITTARGETDIRPREFIX=$(COMPILER_UNITTARGETDIR)/
-endif
-else
-ifdef COMPILER_TARGETDIR
-override COMPILER_UNITTARGETDIR=$(COMPILER_TARGETDIR)
-override UNITTARGETDIRPREFIX=$(TARGETDIRPREFIX)
-endif
-endif
-ifdef CREATESHARED
-override FPCOPT+=-Cg
-ifeq ($(CPU_TARGET),i386)
-override FPCOPT+=-Aas
-endif
-endif
-ifeq ($(findstring 2.0.,$(FPC_VERSION)),)
-ifeq ($(OS_TARGET),linux)
-ifeq ($(CPU_TARGET),x86_64)
-override FPCOPT+=-Cg
-endif
-endif
-endif
-ifdef LINKSHARED
-endif
-ifdef OPT
-override FPCOPT+=$(OPT)
-endif
-ifdef FPCOPTDEF
-override FPCOPT+=$(addprefix -d,$(FPCOPTDEF))
-endif
-ifdef CFGFILE
-override FPCOPT+=@$(CFGFILE)
-endif
-ifdef USEENV
-override FPCEXTCMD:=$(FPCOPT)
-override FPCOPT:=!FPCEXTCMD
-export FPCEXTCMD
-endif
-override AFULL_TARGET=$(CPU_TARGET)-$(OS_TARGET)
-override AFULL_SOURCE=$(CPU_SOURCE)-$(OS_SOURCE)
-ifneq ($(AFULL_TARGET),$(AFULL_SOURCE))
-override ACROSSCOMPILE=1
-endif
-ifdef ACROSSCOMPILE
-override FPCOPT+=$(CROSSOPT)
-endif
-override COMPILER:=$(FPC) $(FPCOPT)
-ifeq (,$(findstring -s ,$(COMPILER)))
-EXECPPAS=
-else
-ifeq ($(FULL_SOURCE),$(FULL_TARGET))
-ifdef RUNBATCH
-EXECPPAS:=@$(RUNBATCH) $(PPAS)
-else
-EXECPPAS:=@$(PPAS)
-endif
-endif
-endif
-.PHONY: fpc_loaders
-ifneq ($(TARGET_LOADERS),)
-override ALLTARGET+=fpc_loaders
-override CLEANTARGET+=fpc_loaders_clean
-override INSTALLTARGET+=fpc_loaders_install
-override LOADEROFILES:=$(addsuffix $(OEXT),$(TARGET_LOADERS))
-endif
-%$(OEXT): %$(LOADEREXT)
-ifdef COMPILER_UNITTARGETDIR
-	$(AS) -o $(COMPILER_UNITTARGETDIR)/$*$(OEXT) $<
-else
-	$(AS) -o $*$(OEXT) $<
-endif
-fpc_loaders: $(COMPILER_UNITTARGETDIR) $(LOADEROFILES)
-fpc_loaders_clean:
-ifdef COMPILER_UNITTARGETDIR
-	-$(DEL) $(addprefix $(COMPILER_UNITTARGETDIR)/,$(LOADEROFILES))
-else
-	-$(DEL) $(LOADEROFILES)
-endif
-fpc_loaders_install:
-	$(MKDIR) $(INSTALL_UNITDIR)
-ifdef COMPILER_UNITTARGETDIR
-	$(INSTALL) $(addprefix $(COMPILER_UNITTARGETDIR)/,$(LOADEROFILES)) $(INSTALL_UNITDIR)
-else
-	$(INSTALL) $(LOADEROFILES) $(INSTALL_UNITDIR)
-endif
-.PHONY: fpc_exes
-ifndef CROSSINSTALL
-ifneq ($(TARGET_PROGRAMS),)
-override EXEFILES=$(addsuffix $(EXEEXT),$(TARGET_PROGRAMS))
-override EXEOFILES:=$(addsuffix $(OEXT),$(TARGET_PROGRAMS)) $(addprefix $(STATICLIBPREFIX),$(addsuffix $(STATICLIBEXT),$(TARGET_PROGRAMS))) $(addprefix $(IMPORTLIBPREFIX),$(addsuffix $(STATICLIBEXT),$(TARGET_PROGRAMS)))
-override ALLTARGET+=fpc_exes
-override INSTALLEXEFILES+=$(EXEFILES)
-override CLEANEXEFILES+=$(EXEFILES) $(EXEOFILES)
-ifeq ($(OS_TARGET),os2)
-override CLEANEXEFILES+=$(addsuffix $(AOUTEXT),$(TARGET_PROGRAMS))
-endif
-ifeq ($(OS_TARGET),emx)
-override CLEANEXEFILES+=$(addsuffix $(AOUTEXT),$(TARGET_PROGRAMS))
-endif
-endif
-endif
-fpc_exes: $(COMPILER_TARGETDIR) $(COMPILER_UNITTARGETDIR) $(EXEFILES)
-ifdef TARGET_RSTS
-override RSTFILES=$(addsuffix $(RSTEXT),$(TARGET_RSTS))
-override CLEANRSTFILES+=$(RSTFILES)
-endif
-.PHONY: fpc_all fpc_smart fpc_debug fpc_release fpc_shared
-$(FPCMADE): $(ALLDEPENDENCIES) $(ALLTARGET)
-	@$(ECHOREDIR) Compiled > $(FPCMADE)
-fpc_all: $(FPCMADE)
-fpc_smart:
-	$(MAKE) all LINKSMART=1 CREATESMART=1
-fpc_debug:
-	$(MAKE) all DEBUG=1
-fpc_release:
-	$(MAKE) all RELEASE=1
-.SUFFIXES: $(EXEEXT) $(PPUEXT) $(OEXT) .pas .lpr .dpr .pp .rc .res
-$(COMPILER_UNITTARGETDIR):
-	$(MKDIRTREE) $(COMPILER_UNITTARGETDIR)
-$(COMPILER_TARGETDIR):
-	$(MKDIRTREE) $(COMPILER_TARGETDIR)
-%$(PPUEXT): %.pp
-	$(COMPILER) $<
-	$(EXECPPAS)
-%$(PPUEXT): %.pas
-	$(COMPILER) $<
-	$(EXECPPAS)
-%$(EXEEXT): %.pp
-	$(COMPILER) $<
-	$(EXECPPAS)
-%$(EXEEXT): %.pas
-	$(COMPILER) $<
-	$(EXECPPAS)
-%$(EXEEXT): %.lpr
-	$(COMPILER) $<
-	$(EXECPPAS)
-%$(EXEEXT): %.dpr
-	$(COMPILER) $<
-	$(EXECPPAS)
-%.res: %.rc
-	windres -i $< -o $@
-vpath %.pp $(COMPILER_SOURCEDIR) $(COMPILER_INCLUDEDIR)
-vpath %.pas $(COMPILER_SOURCEDIR) $(COMPILER_INCLUDEDIR)
-vpath %.lpr $(COMPILER_SOURCEDIR) $(COMPILER_INCLUDEDIR)
-vpath %.dpr $(COMPILER_SOURCEDIR) $(COMPILER_INCLUDEDIR)
-vpath %.inc $(COMPILER_INCLUDEDIR)
-vpath %$(OEXT) $(COMPILER_UNITTARGETDIR)
-vpath %$(PPUEXT) $(COMPILER_UNITTARGETDIR)
-.PHONY: fpc_shared
-override INSTALLTARGET+=fpc_shared_install
-ifndef SHARED_LIBVERSION
-SHARED_LIBVERSION=$(FPC_VERSION)
-endif
-ifndef SHARED_LIBNAME
-SHARED_LIBNAME=$(PACKAGE_NAME)
-endif
-ifndef SHARED_FULLNAME
-SHARED_FULLNAME=$(SHAREDLIBPREFIX)$(SHARED_LIBNAME)-$(SHARED_LIBVERSION)$(SHAREDLIBEXT)
-endif
-ifndef SHARED_LIBUNITS
-SHARED_LIBUNITS:=$(TARGET_UNITS) $(TARGET_IMPLICITUNITS)
-override SHARED_LIBUNITS:=$(filter-out $(INSTALL_BUILDUNIT),$(SHARED_LIBUNITS))
-endif
-fpc_shared:
-ifdef HASSHAREDLIB
-	$(MAKE) all CREATESHARED=1 LINKSHARED=1 CREATESMART=1
-ifneq ($(SHARED_BUILD),n)
-	$(PPUMOVE) -q $(SHARED_LIBUNITS) -i$(COMPILER_UNITTARGETDIR) -o$(SHARED_FULLNAME) -d$(COMPILER_UNITTARGETDIR)
-endif
-else
-	@$(ECHO) Shared Libraries not supported
-endif
-fpc_shared_install:
-ifneq ($(SHARED_BUILD),n)
-ifneq ($(SHARED_LIBUNITS),)
-ifneq ($(wildcard $(COMPILER_UNITTARGETDIR)/$(SHARED_FULLNAME)),)
-	$(INSTALL) $(COMPILER_UNITTARGETDIR)/$(SHARED_FULLNAME) $(INSTALL_SHAREDDIR)
-endif
-endif
-endif
-.PHONY: fpc_install fpc_sourceinstall fpc_exampleinstall
-ifdef INSTALL_UNITS
-override INSTALLPPUFILES+=$(addsuffix $(PPUEXT),$(INSTALL_UNITS))
-endif
-ifdef INSTALL_BUILDUNIT
-override INSTALLPPUFILES:=$(filter-out $(INSTALL_BUILDUNIT)$(PPUEXT),$(INSTALLPPUFILES))
-endif
-ifdef INSTALLPPUFILES
-override INSTALLPPULINKFILES:=$(subst $(PPUEXT),$(OEXT),$(INSTALLPPUFILES)) $(addprefix $(STATICLIBPREFIX),$(subst $(PPUEXT),$(STATICLIBEXT),$(INSTALLPPUFILES))) $(addprefix $(IMPORTLIBPREFIX),$(subst $(PPUEXT),$(STATICLIBEXT),$(INSTALLPPUFILES)))
-ifneq ($(UNITTARGETDIRPREFIX),)
-override INSTALLPPUFILES:=$(addprefix $(UNITTARGETDIRPREFIX),$(notdir $(INSTALLPPUFILES)))
-override INSTALLPPULINKFILES:=$(wildcard $(addprefix $(UNITTARGETDIRPREFIX),$(notdir $(INSTALLPPULINKFILES))))
-endif
-override INSTALL_CREATEPACKAGEFPC=1
-endif
-ifdef INSTALLEXEFILES
-ifneq ($(TARGETDIRPREFIX),)
-override INSTALLEXEFILES:=$(addprefix $(TARGETDIRPREFIX),$(notdir $(INSTALLEXEFILES)))
-endif
-endif
-fpc_install: all $(INSTALLTARGET)
-ifdef INSTALLEXEFILES
-	$(MKDIR) $(INSTALL_BINDIR)
-ifdef UPXPROG
-	-$(UPXPROG) $(INSTALLEXEFILES)
-endif
-	$(INSTALLEXE) $(INSTALLEXEFILES) $(INSTALL_BINDIR)
-endif
-ifdef INSTALL_CREATEPACKAGEFPC
-ifdef FPCMAKE
-ifdef PACKAGE_VERSION
-ifneq ($(wildcard Makefile.fpc),)
-	$(FPCMAKE) -p -T$(CPU_TARGET)-$(OS_TARGET) Makefile.fpc
-	$(MKDIR) $(INSTALL_UNITDIR)
-	$(INSTALL) Package.fpc $(INSTALL_UNITDIR)
-endif
-endif
-endif
-endif
-ifdef INSTALLPPUFILES
-	$(MKDIR) $(INSTALL_UNITDIR)
-	$(INSTALL) $(INSTALLPPUFILES) $(INSTALL_UNITDIR)
-ifneq ($(INSTALLPPULINKFILES),)
-	$(INSTALL) $(INSTALLPPULINKFILES) $(INSTALL_UNITDIR)
-endif
-ifneq ($(wildcard $(LIB_FULLNAME)),)
-	$(MKDIR) $(INSTALL_LIBDIR)
-	$(INSTALL) $(LIB_FULLNAME) $(INSTALL_LIBDIR)
-ifdef inUnix
-	ln -sf $(LIB_FULLNAME) $(INSTALL_LIBDIR)/$(LIB_NAME)
-endif
-endif
-endif
-ifdef INSTALL_FILES
-	$(MKDIR) $(INSTALL_DATADIR)
-	$(INSTALL) $(INSTALL_FILES) $(INSTALL_DATADIR)
-endif
-fpc_sourceinstall: distclean
-	$(MKDIR) $(INSTALL_SOURCEDIR)
-	$(COPYTREE) $(BASEDIR)/* $(INSTALL_SOURCEDIR)
-fpc_exampleinstall: $(addsuffix _distclean,$(TARGET_EXAMPLEDIRS))
-ifdef HASEXAMPLES
-	$(MKDIR) $(INSTALL_EXAMPLEDIR)
-endif
-ifdef EXAMPLESOURCEFILES
-	$(COPY) $(EXAMPLESOURCEFILES) $(INSTALL_EXAMPLEDIR)
-endif
-ifdef TARGET_EXAMPLEDIRS
-	$(COPYTREE) $(addsuffix /*,$(TARGET_EXAMPLEDIRS)) $(INSTALL_EXAMPLEDIR)
-endif
-.PHONY: fpc_clean fpc_cleanall fpc_distclean
-ifdef EXEFILES
-override CLEANEXEFILES:=$(addprefix $(TARGETDIRPREFIX),$(CLEANEXEFILES))
-endif
-ifdef CLEAN_UNITS
-override CLEANPPUFILES+=$(addsuffix $(PPUEXT),$(CLEAN_UNITS))
-endif
-ifdef CLEANPPUFILES
-override CLEANPPULINKFILES:=$(subst $(PPUEXT),$(OEXT),$(CLEANPPUFILES)) $(addprefix $(STATICLIBPREFIX),$(subst $(PPUEXT),$(STATICLIBEXT),$(CLEANPPUFILES))) $(addprefix $(IMPORTLIBPREFIX),$(subst $(PPUEXT),$(STATICLIBEXT),$(CLEANPPUFILES)))
-ifdef DEBUGSYMEXT
-override CLEANPPULINKFILES+=$(subst $(PPUEXT),$(DEBUGSYMEXT),$(CLEANPPUFILES))
-endif
-override CLEANPPUFILES:=$(addprefix $(UNITTARGETDIRPREFIX),$(CLEANPPUFILES))
-override CLEANPPULINKFILES:=$(wildcard $(addprefix $(UNITTARGETDIRPREFIX),$(CLEANPPULINKFILES)))
-endif
-fpc_clean: $(CLEANTARGET)
-ifdef CLEANEXEFILES
-	-$(DEL) $(CLEANEXEFILES)
-endif
-ifdef CLEANPPUFILES
-	-$(DEL) $(CLEANPPUFILES)
-endif
-ifneq ($(CLEANPPULINKFILES),)
-	-$(DEL) $(CLEANPPULINKFILES)
-endif
-ifdef CLEANRSTFILES
-	-$(DEL) $(addprefix $(UNITTARGETDIRPREFIX),$(CLEANRSTFILES))
-endif
-ifdef CLEAN_FILES
-	-$(DEL) $(CLEAN_FILES)
-endif
-ifdef LIB_NAME
-	-$(DEL) $(LIB_NAME) $(LIB_FULLNAME)
-endif
-	-$(DEL) $(FPCMADE) Package.fpc $(PPAS) script.res link.res $(FPCEXTFILE) $(REDIRFILE)
-	-$(DEL) *$(ASMEXT) *_ppas$(BATCHEXT)
-fpc_cleanall: $(CLEANTARGET)
-ifdef CLEANEXEFILES
-	-$(DEL) $(CLEANEXEFILES)
-endif
-ifdef COMPILER_UNITTARGETDIR
-ifdef CLEANPPUFILES
-	-$(DEL) $(CLEANPPUFILES)
-endif
-ifneq ($(CLEANPPULINKFILES),)
-	-$(DEL) $(CLEANPPULINKFILES)
-endif
-ifdef CLEANRSTFILES
-	-$(DEL) $(addprefix $(UNITTARGETDIRPREFIX),$(CLEANRSTFILES))
-endif
-endif
-	-$(DELTREE) units
-	-$(DEL) *$(OEXT) *$(PPUEXT) *$(RSTEXT) *$(ASMEXT) *$(STATICLIBEXT) *$(SHAREDLIBEXT) *$(PPLEXT)
-ifneq ($(PPUEXT),.ppu)
-	-$(DEL) *.o *.ppu *.a
-endif
-	-$(DELTREE) *$(SMARTEXT)
-	-$(DEL) fpcmade.* Package.fpc $(PPAS) script.res link.res $(FPCEXTFILE) $(REDIRFILE)
-	-$(DEL) *_ppas$(BATCHEXT)
-ifdef AOUTEXT
-	-$(DEL) *$(AOUTEXT)
-endif
-ifdef DEBUGSYMEXT
-	-$(DEL) *$(DEBUGSYMEXT)
-endif
-fpc_distclean: cleanall
-.PHONY: fpc_baseinfo
-override INFORULES+=fpc_baseinfo
-fpc_baseinfo:
-	@$(ECHO)
-	@$(ECHO)  == Package info ==
-	@$(ECHO)  Package Name..... $(PACKAGE_NAME)
-	@$(ECHO)  Package Version.. $(PACKAGE_VERSION)
-	@$(ECHO)
-	@$(ECHO)  == Configuration info ==
-	@$(ECHO)
-	@$(ECHO)  FPC.......... $(FPC)
-	@$(ECHO)  FPC Version.. $(FPC_VERSION)
-	@$(ECHO)  Source CPU... $(CPU_SOURCE)
-	@$(ECHO)  Target CPU... $(CPU_TARGET)
-	@$(ECHO)  Source OS.... $(OS_SOURCE)
-	@$(ECHO)  Target OS.... $(OS_TARGET)
-	@$(ECHO)  Full Source.. $(FULL_SOURCE)
-	@$(ECHO)  Full Target.. $(FULL_TARGET)
-	@$(ECHO)  SourceSuffix. $(SOURCESUFFIX)
-	@$(ECHO)  TargetSuffix. $(TARGETSUFFIX)
-	@$(ECHO)
-	@$(ECHO)  == Directory info ==
-	@$(ECHO)
-	@$(ECHO)  Required pkgs... $(REQUIRE_PACKAGES)
-	@$(ECHO)
-	@$(ECHO)  Basedir......... $(BASEDIR)
-	@$(ECHO)  FPCDir.......... $(FPCDIR)
-	@$(ECHO)  CrossBinDir..... $(CROSSBINDIR)
-	@$(ECHO)  UnitsDir........ $(UNITSDIR)
-	@$(ECHO)  PackagesDir..... $(PACKAGESDIR)
-	@$(ECHO)
-	@$(ECHO)  GCC library..... $(GCCLIBDIR)
-	@$(ECHO)  Other library... $(OTHERLIBDIR)
-	@$(ECHO)
-	@$(ECHO)  == Tools info ==
-	@$(ECHO)
-	@$(ECHO)  As........ $(AS)
-	@$(ECHO)  Ld........ $(LD)
-	@$(ECHO)  Ar........ $(AR)
-	@$(ECHO)  Rc........ $(RC)
-	@$(ECHO)
-	@$(ECHO)  Mv........ $(MVPROG)
-	@$(ECHO)  Cp........ $(CPPROG)
-	@$(ECHO)  Rm........ $(RMPROG)
-	@$(ECHO)  GInstall.. $(GINSTALL)
-	@$(ECHO)  Echo...... $(ECHO)
-	@$(ECHO)  Shell..... $(SHELL)
-	@$(ECHO)  Date...... $(DATE)
-	@$(ECHO)  FPCMake... $(FPCMAKE)
-	@$(ECHO)  PPUMove... $(PPUMOVE)
-	@$(ECHO)  Upx....... $(UPXPROG)
-	@$(ECHO)  Zip....... $(ZIPPROG)
-	@$(ECHO)
-	@$(ECHO)  == Object info ==
-	@$(ECHO)
-	@$(ECHO)  Target Loaders........ $(TARGET_LOADERS)
-	@$(ECHO)  Target Units.......... $(TARGET_UNITS)
-	@$(ECHO)  Target Implicit Units. $(TARGET_IMPLICITUNITS)
-	@$(ECHO)  Target Programs....... $(TARGET_PROGRAMS)
-	@$(ECHO)  Target Dirs........... $(TARGET_DIRS)
-	@$(ECHO)  Target Examples....... $(TARGET_EXAMPLES)
-	@$(ECHO)  Target ExampleDirs.... $(TARGET_EXAMPLEDIRS)
-	@$(ECHO)
-	@$(ECHO)  Clean Units......... $(CLEAN_UNITS)
-	@$(ECHO)  Clean Files......... $(CLEAN_FILES)
-	@$(ECHO)
-	@$(ECHO)  Install Units....... $(INSTALL_UNITS)
-	@$(ECHO)  Install Files....... $(INSTALL_FILES)
-	@$(ECHO)
-	@$(ECHO)  == Install info ==
-	@$(ECHO)
-	@$(ECHO)  DateStr.............. $(DATESTR)
-	@$(ECHO)  ZipName.............. $(ZIPNAME)
-	@$(ECHO)  ZipPrefix............ $(ZIPPREFIX)
-	@$(ECHO)  ZipCrossPrefix....... $(ZIPCROSSPREFIX)
-	@$(ECHO)  ZipSuffix............ $(ZIPSUFFIX)
-	@$(ECHO)  FullZipName.......... $(FULLZIPNAME)
-	@$(ECHO)  Install FPC Package.. $(INSTALL_FPCPACKAGE)
-	@$(ECHO)
-	@$(ECHO)  Install base dir..... $(INSTALL_BASEDIR)
-	@$(ECHO)  Install binary dir... $(INSTALL_BINDIR)
-	@$(ECHO)  Install library dir.. $(INSTALL_LIBDIR)
-	@$(ECHO)  Install units dir.... $(INSTALL_UNITDIR)
-	@$(ECHO)  Install source dir... $(INSTALL_SOURCEDIR)
-	@$(ECHO)  Install doc dir...... $(INSTALL_DOCDIR)
-	@$(ECHO)  Install example dir.. $(INSTALL_EXAMPLEDIR)
-	@$(ECHO)  Install data dir..... $(INSTALL_DATADIR)
-	@$(ECHO)
-	@$(ECHO)  Dist destination dir. $(DIST_DESTDIR)
-	@$(ECHO)  Dist zip name........ $(DIST_ZIPNAME)
-	@$(ECHO)
-.PHONY: fpc_info
-fpc_info: $(INFORULES)
-.PHONY: fpc_makefile fpc_makefiles fpc_makefile_sub1 fpc_makefile_sub2 \
-	fpc_makefile_dirs
-fpc_makefile:
-	$(FPCMAKE) -w -T$(OS_TARGET) Makefile.fpc
-fpc_makefile_sub1:
-ifdef TARGET_DIRS
-	$(FPCMAKE) -w -T$(OS_TARGET) $(addsuffix /Makefile.fpc,$(TARGET_DIRS))
-endif
-ifdef TARGET_EXAMPLEDIRS
-	$(FPCMAKE) -w -T$(OS_TARGET) $(addsuffix /Makefile.fpc,$(TARGET_EXAMPLEDIRS))
-endif
-fpc_makefile_sub2: $(addsuffix _makefile_dirs,$(TARGET_DIRS) $(TARGET_EXAMPLEDIRS))
-fpc_makefile_dirs: fpc_makefile_sub1 fpc_makefile_sub2
-fpc_makefiles: fpc_makefile fpc_makefile_dirs
-ifndef BIN2S
-BIN2S:=$(strip $(wildcard $(addsuffix /bin2s$(SRCEXEEXT),$(SEARCHPATH))))
-ifeq ($(BIN2S),)
-BIN2S= __missing_command_BIN2S
-else
-BIN2S:=$(firstword $(BIN2S))
-endif
-endif
-export BIN2S
-all: fpc_all
-debug: fpc_debug
-smart: fpc_smart
-release: fpc_release
-units: fpc_units
-examples:
-shared: fpc_shared
-install: fpc_install
-sourceinstall: fpc_sourceinstall
-exampleinstall: fpc_exampleinstall
-distinstall:
-zipinstall:
-zipsourceinstall:
-zipexampleinstall:
-zipdistinstall:
-clean: fpc_clean
-distclean: fpc_distclean
-cleanall: fpc_cleanall
-info: fpc_info
-makefiles: fpc_makefiles
-.PHONY: all debug smart release units examples shared install sourceinstall exampleinstall distinstall zipinstall zipsourceinstall zipexampleinstall zipdistinstall clean distclean cleanall info makefiles
-ifneq ($(wildcard fpcmake.loc),)
-include fpcmake.loc
-endif
-.NOTPARALLEL:
-ifneq ($(BIN2S),)
-data/ScoutSplash.pcx.o:
-	$(BIN2S) data/ScoutSplash.pcx > data/ScoutSplash.pcx.s
-	$(AS) -o data/ScoutSplash.pcx.o data/ScoutSplash.pcx.s
-data/tune.bgf.o:
-	$(BIN2S) data/tune.bgf > data/tune.bgf.s
-	$(AS) -o data/tune.bgf.o data/tune.bgf.s
-endif
diff --git a/packages/libgbafpc/examples/devkitPro/audio/PlayBoyScout/Makefile.fpc b/packages/libgbafpc/examples/devkitPro/audio/PlayBoyScout/Makefile.fpc
deleted file mode 100644
index b69be56e57..0000000000
--- a/packages/libgbafpc/examples/devkitPro/audio/PlayBoyScout/Makefile.fpc
+++ /dev/null
@@ -1,36 +0,0 @@
-#
-#   Makefile.fpc for Free Pascal libgbafpc 2.x.y Examples
-#
-
-[target]
-loaders=data/ScoutSplash.pcx data/tune.bgf
-programs=PlayBoyScout
-
-[require]
-packages=libgbafpc
-tools=bin2s
-
-[install]
-fpcpackage=y
-
-[default]
-cpu=arm
-target=gba
-fpcdir=../../../../../..
-
-[clean]
-files=*.elf data/*.o data/*.s
-units=*
-
-[prerules]
-
-[rules]
-.NOTPARALLEL:
-ifneq ($(BIN2S),)
-data/ScoutSplash.pcx.o:
-        $(BIN2S) data/ScoutSplash.pcx > data/ScoutSplash.pcx.s
-        $(AS) -o data/ScoutSplash.pcx.o data/ScoutSplash.pcx.s
-data/tune.bgf.o:
-        $(BIN2S) data/tune.bgf > data/tune.bgf.s
-        $(AS) -o data/tune.bgf.o data/tune.bgf.s
-endif
diff --git a/packages/libgbafpc/examples/devkitPro/audio/PlayBoyScout/PlayBoyScout.pp b/packages/libgbafpc/examples/devkitPro/audio/PlayBoyScout/PlayBoyScout.pp
deleted file mode 100644
index 6ac8aeba9e..0000000000
--- a/packages/libgbafpc/examples/devkitPro/audio/PlayBoyScout/PlayBoyScout.pp
+++ /dev/null
@@ -1,73 +0,0 @@
-program PlayBoyScout;
-
-{$l data/ScoutSplash.pcx.o}
-{$l data/tune.bgf.o}
-
-uses
-  ctypes, gba;
-  
-
-var
-  ScoutSplash_pcx: array [0..0] of cuint8; cvar; external;
-  ScoutSplash_pcx_size: array [0..0] of cuint32; cvar; external;
-  ScoutSplash_pcx_end: array [0..0] of cuint8; cvar; external;
-  tune_bgf: array [0..0] of cuint8; cvar; external;
-  tune_bgf_size: array [0..0] of cuint32; cvar; external;
-  tune_bgf_end: array [0..0] of cuint8; cvar; external;
-
-
-  PaletteBuffer: array [0..255] of u16;
-  frame: cuint;
-	nBSSongSize: cuint;
-
-procedure VblankInterrupt();
-begin
-  BoyScoutUpdateSong();
-  frame := frame + 1;
-end;
-
-
-begin
-	// Set up the interrupt handlers
-	irqInit();
-
-	// Initialize BoyScout
-	BoyScoutInitialize();
-
-	// Get needed song memory
-	nBSSongSize := BoyScoutGetNeededSongMemory(tune_bgf);
-
-	// Allocate and set BoyScout memory area
-	BoyScoutSetMemoryArea(u32(GetMem(nBSSongSize)));
-
-	// Open song
-	BoyScoutOpenSong(tune_bgf);
-
-	// Play song and loop
-	BoyScoutPlaySong(1);
-
-	irqSet(IRQ_VBLANK, @VblankInterrupt);
-
-	// Enable Vblank Interrupt to allow VblankIntrWait
-	irqEnable(IRQ_VBLANK);
-	// Allow Interrupts
-	REG_IME^ := 1;
-
-	SetMode( MODE_4 or BG2_ON );		// screen mode & background to display
-
-	DecodePCX(@ScoutSplash_pcx, pu16(VRAM), PaletteBuffer);
-
-	FadeToPalette( PaletteBuffer, 60);
-
-
-	while true do
-		VBlankIntrWait();
-
-	// This part will never be reached but just for completion
-	// Free memory
-	free(@BoyScoutGetMemoryArea);
-
-
-end.
-
-
diff --git a/packages/libgbafpc/examples/devkitPro/audio/PlayBoyScout/data/ScoutSplash.pcx b/packages/libgbafpc/examples/devkitPro/audio/PlayBoyScout/data/ScoutSplash.pcx
deleted file mode 100644
index e75ce72429e2cb215f432a6167756c35f3bb73f2..0000000000000000000000000000000000000000
GIT binary patch
literal 0
HcmV?d00001

literal 14491
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

diff --git a/packages/libgbafpc/examples/devkitPro/audio/PlayBoyScout/data/tune.bgf b/packages/libgbafpc/examples/devkitPro/audio/PlayBoyScout/data/tune.bgf
deleted file mode 100644
index 8eae1a2ad326a9f1bdbca647c8e1c8300c9b7f42..0000000000000000000000000000000000000000
GIT binary patch
literal 0
HcmV?d00001

literal 1244
zcma)6%}N|W5dNlnW_F##Sek$eii0k60xG+DS-d0=^8&&3<|VL7$T`^@Jp^`g2)T-H
zAb9Y;FOUs*HW1?r<f1PS@>S1{ks&T~=&I_X>YJ~AdM-o2+Q^;-G9`#%CNU+B8ddZY
z9JR59HjFsa#wJ>*i4)8rnM5egiy9PA93pR2LryVQMkYdw2*nZ10wEoi$M6JRD}k!?
z2~eOF+KeiwEBz3U#CZ$%S+i)0D>DsZZNdV!6+&A>W}yOF+;SZco8oB>%dXzGmR3QN
zT8A}uNHaLR6VB8LWyP%Uf1^#2Y$?~4ip|ldI8mjMJAAG!<pz4Mm}^S8{$4S+%-Qp(
zm|N!Tu`1^J`q;AqBheZjBh$sJX{&OhF75%6P?s;dyMcU7w&BAX`O6?wG-^Yw)DAz)
zB}f9@k_46ukA&vvu7-Xu5OFhj6*u&zLXV-)*^UKI@giZ6f{U9_T6Gv-g*sz?=YI4E
z$ojnx``u1wXZz*G^0c72vil{=mRGWaemDJkgXZ_W^>43#tPNK`b+3nS)7_7!SAQ-~
zvg5(|)z6dc{XsAL{QIKc+du!+c{f;iSVu4q1YF~P)-yckAIZ>ZwCUVcl?-}Aul2#+
YU~?9+#0L-th#8vaumS^10KPTgFVm%JasU7T

diff --git a/packages/libgbafpc/examples/devkitPro/graphics/PCXView/Makefile b/packages/libgbafpc/examples/devkitPro/graphics/PCXView/Makefile
deleted file mode 100644
index 8cba416034..0000000000
--- a/packages/libgbafpc/examples/devkitPro/graphics/PCXView/Makefile
+++ /dev/null
@@ -1,2574 +0,0 @@
-#
-# Don't edit, this file is generated by FPCMake Version 2.0.0 [2009/08/02]
-#
-default: all
-MAKEFILETARGETS=i386-linux i386-go32v2 i386-win32 i386-os2 i386-freebsd i386-beos i386-haiku i386-netbsd i386-solaris i386-qnx i386-netware i386-openbsd i386-wdosx i386-darwin i386-emx i386-watcom i386-netwlibc i386-wince i386-embedded i386-symbian m68k-linux m68k-freebsd m68k-netbsd m68k-amiga m68k-atari m68k-openbsd m68k-palmos m68k-embedded powerpc-linux powerpc-netbsd powerpc-amiga powerpc-macos powerpc-darwin powerpc-morphos powerpc-embedded sparc-linux sparc-netbsd sparc-solaris sparc-embedded x86_64-linux x86_64-freebsd x86_64-darwin x86_64-win64 x86_64-embedded arm-linux arm-palmos arm-darwin arm-wince arm-gba arm-nds arm-embedded arm-symbian powerpc64-linux powerpc64-darwin powerpc64-embedded avr-embedded armeb-linux armeb-embedded
-BSDs = freebsd netbsd openbsd darwin
-UNIXs = linux $(BSDs) solaris qnx
-LIMIT83fs = go32v2 os2 emx watcom
-OSNeedsComspecToRunBatch = go32v2 watcom
-FORCE:
-.PHONY: FORCE
-override PATH:=$(patsubst %/,%,$(subst \,/,$(PATH)))
-ifneq ($(findstring darwin,$(OSTYPE)),)
-inUnix=1 #darwin
-SEARCHPATH:=$(filter-out .,$(subst :, ,$(PATH)))
-else
-ifeq ($(findstring ;,$(PATH)),)
-inUnix=1
-SEARCHPATH:=$(filter-out .,$(subst :, ,$(PATH)))
-else
-SEARCHPATH:=$(subst ;, ,$(PATH))
-endif
-endif
-SEARCHPATH+=$(patsubst %/,%,$(subst \,/,$(dir $(MAKE))))
-PWD:=$(strip $(wildcard $(addsuffix /pwd.exe,$(SEARCHPATH))))
-ifeq ($(PWD),)
-PWD:=$(strip $(wildcard $(addsuffix /pwd,$(SEARCHPATH))))
-ifeq ($(PWD),)
-$(error You need the GNU utils package to use this Makefile)
-else
-PWD:=$(firstword $(PWD))
-SRCEXEEXT=
-endif
-else
-PWD:=$(firstword $(PWD))
-SRCEXEEXT=.exe
-endif
-ifndef inUnix
-ifeq ($(OS),Windows_NT)
-inWinNT=1
-else
-ifdef OS2_SHELL
-inOS2=1
-endif
-endif
-else
-ifneq ($(findstring cygdrive,$(PATH)),)
-inCygWin=1
-endif
-endif
-ifdef inUnix
-SRCBATCHEXT=.sh
-else
-ifdef inOS2
-SRCBATCHEXT=.cmd
-else
-SRCBATCHEXT=.bat
-endif
-endif
-ifdef COMSPEC
-ifneq ($(findstring $(OS_SOURCE),$(OSNeedsComspecToRunBatch)),)
-ifndef RUNBATCH
-RUNBATCH=$(COMSPEC) /C
-endif
-endif
-endif
-ifdef inUnix
-PATHSEP=/
-else
-PATHSEP:=$(subst /,\,/)
-ifdef inCygWin
-PATHSEP=/
-endif
-endif
-ifdef PWD
-BASEDIR:=$(subst \,/,$(shell $(PWD)))
-ifdef inCygWin
-ifneq ($(findstring /cygdrive/,$(BASEDIR)),)
-BASENODIR:=$(patsubst /cygdrive%,%,$(BASEDIR))
-BASEDRIVE:=$(firstword $(subst /, ,$(BASENODIR)))
-BASEDIR:=$(subst /cygdrive/$(BASEDRIVE)/,$(BASEDRIVE):/,$(BASEDIR))
-endif
-endif
-else
-BASEDIR=.
-endif
-ifdef inOS2
-ifndef ECHO
-ECHO:=$(strip $(wildcard $(addsuffix /gecho$(SRCEXEEXT),$(SEARCHPATH))))
-ifeq ($(ECHO),)
-ECHO:=$(strip $(wildcard $(addsuffix /echo$(SRCEXEEXT),$(SEARCHPATH))))
-ifeq ($(ECHO),)
-ECHO=echo
-else
-ECHO:=$(firstword $(ECHO))
-endif
-else
-ECHO:=$(firstword $(ECHO))
-endif
-endif
-export ECHO
-endif
-override OS_TARGET_DEFAULT=gba
-override CPU_TARGET_DEFAULT=arm
-override DEFAULT_FPCDIR=../../../../../..
-ifndef FPC
-ifdef PP
-FPC=$(PP)
-endif
-endif
-ifndef FPC
-FPCPROG:=$(strip $(wildcard $(addsuffix /fpc$(SRCEXEEXT),$(SEARCHPATH))))
-ifneq ($(FPCPROG),)
-FPCPROG:=$(firstword $(FPCPROG))
-ifneq ($(CPU_TARGET),)
-FPC:=$(shell $(FPCPROG) -P$(CPU_TARGET) -PB)
-else
-FPC:=$(shell $(FPCPROG) -PB)
-endif
-ifneq ($(findstring Error,$(FPC)),)
-override FPC=$(firstword $(strip $(wildcard $(addsuffix /ppc386$(SRCEXEEXT),$(SEARCHPATH)))))
-else
-ifeq ($(strip $(wildcard $(FPC))),)
-FPC:=$(firstword $(FPCPROG))
-endif
-endif
-else
-override FPC=$(firstword $(strip $(wildcard $(addsuffix /ppc386$(SRCEXEEXT),$(SEARCHPATH)))))
-endif
-endif
-override FPC:=$(subst $(SRCEXEEXT),,$(FPC))
-override FPC:=$(subst \,/,$(FPC))$(SRCEXEEXT)
-FOUNDFPC:=$(strip $(wildcard $(FPC)))
-ifeq ($(FOUNDFPC),)
-FOUNDFPC=$(strip $(wildcard $(addsuffix /$(FPC),$(SEARCHPATH))))
-ifeq ($(FOUNDFPC),)
-$(error Compiler $(FPC) not found)
-endif
-endif
-ifndef FPC_COMPILERINFO
-FPC_COMPILERINFO:=$(shell $(FPC) -iVSPTPSOTO)
-endif
-ifndef FPC_VERSION
-FPC_VERSION:=$(word 1,$(FPC_COMPILERINFO))
-endif
-export FPC FPC_VERSION FPC_COMPILERINFO
-unexport CHECKDEPEND ALLDEPENDENCIES
-ifndef CPU_TARGET
-ifdef CPU_TARGET_DEFAULT
-CPU_TARGET=$(CPU_TARGET_DEFAULT)
-endif
-endif
-ifndef OS_TARGET
-ifdef OS_TARGET_DEFAULT
-OS_TARGET=$(OS_TARGET_DEFAULT)
-endif
-endif
-ifneq ($(words $(FPC_COMPILERINFO)),5)
-FPC_COMPILERINFO+=$(shell $(FPC) -iSP)
-FPC_COMPILERINFO+=$(shell $(FPC) -iTP)
-FPC_COMPILERINFO+=$(shell $(FPC) -iSO)
-FPC_COMPILERINFO+=$(shell $(FPC) -iTO)
-endif
-ifndef CPU_SOURCE
-CPU_SOURCE:=$(word 2,$(FPC_COMPILERINFO))
-endif
-ifndef CPU_TARGET
-CPU_TARGET:=$(word 3,$(FPC_COMPILERINFO))
-endif
-ifndef OS_SOURCE
-OS_SOURCE:=$(word 4,$(FPC_COMPILERINFO))
-endif
-ifndef OS_TARGET
-OS_TARGET:=$(word 5,$(FPC_COMPILERINFO))
-endif
-FULL_TARGET=$(CPU_TARGET)-$(OS_TARGET)
-FULL_SOURCE=$(CPU_SOURCE)-$(OS_SOURCE)
-ifeq ($(CPU_TARGET),armeb)
-ARCH=arm
-override FPCOPT+=-Cb
-else
-ifeq ($(CPU_TARGET),armel)
-ARCH=arm
-override FPCOPT+=-CaEABI
-else
-ARCH=$(CPU_TARGET)
-endif
-endif
-ifneq ($(findstring $(OS_SOURCE),$(LIMIT83fs)),)
-TARGETSUFFIX=$(OS_TARGET)
-SOURCESUFFIX=$(OS_SOURCE)
-else
-TARGETSUFFIX=$(FULL_TARGET)
-SOURCESUFFIX=$(FULL_SOURCE)
-endif
-ifneq ($(FULL_TARGET),$(FULL_SOURCE))
-CROSSCOMPILE=1
-endif
-ifeq ($(findstring makefile,$(MAKECMDGOALS)),)
-ifeq ($(findstring $(FULL_TARGET),$(MAKEFILETARGETS)),)
-$(error The Makefile doesn't support target $(FULL_TARGET), please run fpcmake first)
-endif
-endif
-ifneq ($(findstring $(OS_TARGET),$(BSDs)),)
-BSDhier=1
-endif
-ifeq ($(OS_TARGET),linux)
-linuxHier=1
-endif
-export OS_TARGET OS_SOURCE ARCH CPU_TARGET CPU_SOURCE FULL_TARGET FULL_SOURCE TARGETSUFFIX SOURCESUFFIX CROSSCOMPILE
-ifdef FPCDIR
-override FPCDIR:=$(subst \,/,$(FPCDIR))
-ifeq ($(wildcard $(addprefix $(FPCDIR)/,rtl units)),)
-override FPCDIR=wrong
-endif
-else
-override FPCDIR=wrong
-endif
-ifdef DEFAULT_FPCDIR
-ifeq ($(FPCDIR),wrong)
-override FPCDIR:=$(subst \,/,$(DEFAULT_FPCDIR))
-ifeq ($(wildcard $(addprefix $(FPCDIR)/,rtl units)),)
-override FPCDIR=wrong
-endif
-endif
-endif
-ifeq ($(FPCDIR),wrong)
-ifdef inUnix
-override FPCDIR=/usr/local/lib/fpc/$(FPC_VERSION)
-ifeq ($(wildcard $(FPCDIR)/units),)
-override FPCDIR=/usr/lib/fpc/$(FPC_VERSION)
-endif
-else
-override FPCDIR:=$(subst /$(FPC),,$(firstword $(strip $(wildcard $(addsuffix /$(FPC),$(SEARCHPATH))))))
-override FPCDIR:=$(FPCDIR)/..
-ifeq ($(wildcard $(addprefix $(FPCDIR)/,rtl units)),)
-override FPCDIR:=$(FPCDIR)/..
-ifeq ($(wildcard $(addprefix $(FPCDIR)/,rtl units)),)
-override FPCDIR:=$(BASEDIR)
-ifeq ($(wildcard $(addprefix $(FPCDIR)/,rtl units)),)
-override FPCDIR=c:/pp
-endif
-endif
-endif
-endif
-endif
-ifndef CROSSBINDIR
-CROSSBINDIR:=$(wildcard $(FPCDIR)/bin/$(TARGETSUFFIX))
-endif
-ifeq ($(OS_TARGET),darwin)
-ifeq ($(OS_SOURCE),darwin)
-DARWIN2DARWIN=1
-endif
-endif
-ifndef BINUTILSPREFIX
-ifndef CROSSBINDIR
-ifdef CROSSCOMPILE
-ifndef DARWIN2DARWIN
-BINUTILSPREFIX=$(CPU_TARGET)-$(OS_TARGET)-
-endif
-endif
-endif
-endif
-UNITSDIR:=$(wildcard $(FPCDIR)/units/$(TARGETSUFFIX))
-ifeq ($(UNITSDIR),)
-UNITSDIR:=$(wildcard $(FPCDIR)/units/$(OS_TARGET))
-endif
-PACKAGESDIR:=$(wildcard $(FPCDIR) $(FPCDIR)/packages $(FPCDIR)/packages/base $(FPCDIR)/packages/extra)
-DATA_FILES=data/splash.pcx
-ifeq ($(FULL_TARGET),i386-linux)
-override TARGET_PROGRAMS+=pcx_view
-endif
-ifeq ($(FULL_TARGET),i386-go32v2)
-override TARGET_PROGRAMS+=pcx_view
-endif
-ifeq ($(FULL_TARGET),i386-win32)
-override TARGET_PROGRAMS+=pcx_view
-endif
-ifeq ($(FULL_TARGET),i386-os2)
-override TARGET_PROGRAMS+=pcx_view
-endif
-ifeq ($(FULL_TARGET),i386-freebsd)
-override TARGET_PROGRAMS+=pcx_view
-endif
-ifeq ($(FULL_TARGET),i386-beos)
-override TARGET_PROGRAMS+=pcx_view
-endif
-ifeq ($(FULL_TARGET),i386-haiku)
-override TARGET_PROGRAMS+=pcx_view
-endif
-ifeq ($(FULL_TARGET),i386-netbsd)
-override TARGET_PROGRAMS+=pcx_view
-endif
-ifeq ($(FULL_TARGET),i386-solaris)
-override TARGET_PROGRAMS+=pcx_view
-endif
-ifeq ($(FULL_TARGET),i386-qnx)
-override TARGET_PROGRAMS+=pcx_view
-endif
-ifeq ($(FULL_TARGET),i386-netware)
-override TARGET_PROGRAMS+=pcx_view
-endif
-ifeq ($(FULL_TARGET),i386-openbsd)
-override TARGET_PROGRAMS+=pcx_view
-endif
-ifeq ($(FULL_TARGET),i386-wdosx)
-override TARGET_PROGRAMS+=pcx_view
-endif
-ifeq ($(FULL_TARGET),i386-darwin)
-override TARGET_PROGRAMS+=pcx_view
-endif
-ifeq ($(FULL_TARGET),i386-emx)
-override TARGET_PROGRAMS+=pcx_view
-endif
-ifeq ($(FULL_TARGET),i386-watcom)
-override TARGET_PROGRAMS+=pcx_view
-endif
-ifeq ($(FULL_TARGET),i386-netwlibc)
-override TARGET_PROGRAMS+=pcx_view
-endif
-ifeq ($(FULL_TARGET),i386-wince)
-override TARGET_PROGRAMS+=pcx_view
-endif
-ifeq ($(FULL_TARGET),i386-embedded)
-override TARGET_PROGRAMS+=pcx_view
-endif
-ifeq ($(FULL_TARGET),i386-symbian)
-override TARGET_PROGRAMS+=pcx_view
-endif
-ifeq ($(FULL_TARGET),m68k-linux)
-override TARGET_PROGRAMS+=pcx_view
-endif
-ifeq ($(FULL_TARGET),m68k-freebsd)
-override TARGET_PROGRAMS+=pcx_view
-endif
-ifeq ($(FULL_TARGET),m68k-netbsd)
-override TARGET_PROGRAMS+=pcx_view
-endif
-ifeq ($(FULL_TARGET),m68k-amiga)
-override TARGET_PROGRAMS+=pcx_view
-endif
-ifeq ($(FULL_TARGET),m68k-atari)
-override TARGET_PROGRAMS+=pcx_view
-endif
-ifeq ($(FULL_TARGET),m68k-openbsd)
-override TARGET_PROGRAMS+=pcx_view
-endif
-ifeq ($(FULL_TARGET),m68k-palmos)
-override TARGET_PROGRAMS+=pcx_view
-endif
-ifeq ($(FULL_TARGET),m68k-embedded)
-override TARGET_PROGRAMS+=pcx_view
-endif
-ifeq ($(FULL_TARGET),powerpc-linux)
-override TARGET_PROGRAMS+=pcx_view
-endif
-ifeq ($(FULL_TARGET),powerpc-netbsd)
-override TARGET_PROGRAMS+=pcx_view
-endif
-ifeq ($(FULL_TARGET),powerpc-amiga)
-override TARGET_PROGRAMS+=pcx_view
-endif
-ifeq ($(FULL_TARGET),powerpc-macos)
-override TARGET_PROGRAMS+=pcx_view
-endif
-ifeq ($(FULL_TARGET),powerpc-darwin)
-override TARGET_PROGRAMS+=pcx_view
-endif
-ifeq ($(FULL_TARGET),powerpc-morphos)
-override TARGET_PROGRAMS+=pcx_view
-endif
-ifeq ($(FULL_TARGET),powerpc-embedded)
-override TARGET_PROGRAMS+=pcx_view
-endif
-ifeq ($(FULL_TARGET),sparc-linux)
-override TARGET_PROGRAMS+=pcx_view
-endif
-ifeq ($(FULL_TARGET),sparc-netbsd)
-override TARGET_PROGRAMS+=pcx_view
-endif
-ifeq ($(FULL_TARGET),sparc-solaris)
-override TARGET_PROGRAMS+=pcx_view
-endif
-ifeq ($(FULL_TARGET),sparc-embedded)
-override TARGET_PROGRAMS+=pcx_view
-endif
-ifeq ($(FULL_TARGET),x86_64-linux)
-override TARGET_PROGRAMS+=pcx_view
-endif
-ifeq ($(FULL_TARGET),x86_64-freebsd)
-override TARGET_PROGRAMS+=pcx_view
-endif
-ifeq ($(FULL_TARGET),x86_64-darwin)
-override TARGET_PROGRAMS+=pcx_view
-endif
-ifeq ($(FULL_TARGET),x86_64-win64)
-override TARGET_PROGRAMS+=pcx_view
-endif
-ifeq ($(FULL_TARGET),x86_64-embedded)
-override TARGET_PROGRAMS+=pcx_view
-endif
-ifeq ($(FULL_TARGET),arm-linux)
-override TARGET_PROGRAMS+=pcx_view
-endif
-ifeq ($(FULL_TARGET),arm-palmos)
-override TARGET_PROGRAMS+=pcx_view
-endif
-ifeq ($(FULL_TARGET),arm-darwin)
-override TARGET_PROGRAMS+=pcx_view
-endif
-ifeq ($(FULL_TARGET),arm-wince)
-override TARGET_PROGRAMS+=pcx_view
-endif
-ifeq ($(FULL_TARGET),arm-gba)
-override TARGET_PROGRAMS+=pcx_view
-endif
-ifeq ($(FULL_TARGET),arm-nds)
-override TARGET_PROGRAMS+=pcx_view
-endif
-ifeq ($(FULL_TARGET),arm-embedded)
-override TARGET_PROGRAMS+=pcx_view
-endif
-ifeq ($(FULL_TARGET),arm-symbian)
-override TARGET_PROGRAMS+=pcx_view
-endif
-ifeq ($(FULL_TARGET),powerpc64-linux)
-override TARGET_PROGRAMS+=pcx_view
-endif
-ifeq ($(FULL_TARGET),powerpc64-darwin)
-override TARGET_PROGRAMS+=pcx_view
-endif
-ifeq ($(FULL_TARGET),powerpc64-embedded)
-override TARGET_PROGRAMS+=pcx_view
-endif
-ifeq ($(FULL_TARGET),avr-embedded)
-override TARGET_PROGRAMS+=pcx_view
-endif
-ifeq ($(FULL_TARGET),armeb-linux)
-override TARGET_PROGRAMS+=pcx_view
-endif
-ifeq ($(FULL_TARGET),armeb-embedded)
-override TARGET_PROGRAMS+=pcx_view
-endif
-ifeq ($(FULL_TARGET),i386-linux)
-override TARGET_LOADERS+=$(DATA_FILES)
-endif
-ifeq ($(FULL_TARGET),i386-go32v2)
-override TARGET_LOADERS+=$(DATA_FILES)
-endif
-ifeq ($(FULL_TARGET),i386-win32)
-override TARGET_LOADERS+=$(DATA_FILES)
-endif
-ifeq ($(FULL_TARGET),i386-os2)
-override TARGET_LOADERS+=$(DATA_FILES)
-endif
-ifeq ($(FULL_TARGET),i386-freebsd)
-override TARGET_LOADERS+=$(DATA_FILES)
-endif
-ifeq ($(FULL_TARGET),i386-beos)
-override TARGET_LOADERS+=$(DATA_FILES)
-endif
-ifeq ($(FULL_TARGET),i386-haiku)
-override TARGET_LOADERS+=$(DATA_FILES)
-endif
-ifeq ($(FULL_TARGET),i386-netbsd)
-override TARGET_LOADERS+=$(DATA_FILES)
-endif
-ifeq ($(FULL_TARGET),i386-solaris)
-override TARGET_LOADERS+=$(DATA_FILES)
-endif
-ifeq ($(FULL_TARGET),i386-qnx)
-override TARGET_LOADERS+=$(DATA_FILES)
-endif
-ifeq ($(FULL_TARGET),i386-netware)
-override TARGET_LOADERS+=$(DATA_FILES)
-endif
-ifeq ($(FULL_TARGET),i386-openbsd)
-override TARGET_LOADERS+=$(DATA_FILES)
-endif
-ifeq ($(FULL_TARGET),i386-wdosx)
-override TARGET_LOADERS+=$(DATA_FILES)
-endif
-ifeq ($(FULL_TARGET),i386-darwin)
-override TARGET_LOADERS+=$(DATA_FILES)
-endif
-ifeq ($(FULL_TARGET),i386-emx)
-override TARGET_LOADERS+=$(DATA_FILES)
-endif
-ifeq ($(FULL_TARGET),i386-watcom)
-override TARGET_LOADERS+=$(DATA_FILES)
-endif
-ifeq ($(FULL_TARGET),i386-netwlibc)
-override TARGET_LOADERS+=$(DATA_FILES)
-endif
-ifeq ($(FULL_TARGET),i386-wince)
-override TARGET_LOADERS+=$(DATA_FILES)
-endif
-ifeq ($(FULL_TARGET),i386-embedded)
-override TARGET_LOADERS+=$(DATA_FILES)
-endif
-ifeq ($(FULL_TARGET),i386-symbian)
-override TARGET_LOADERS+=$(DATA_FILES)
-endif
-ifeq ($(FULL_TARGET),m68k-linux)
-override TARGET_LOADERS+=$(DATA_FILES)
-endif
-ifeq ($(FULL_TARGET),m68k-freebsd)
-override TARGET_LOADERS+=$(DATA_FILES)
-endif
-ifeq ($(FULL_TARGET),m68k-netbsd)
-override TARGET_LOADERS+=$(DATA_FILES)
-endif
-ifeq ($(FULL_TARGET),m68k-amiga)
-override TARGET_LOADERS+=$(DATA_FILES)
-endif
-ifeq ($(FULL_TARGET),m68k-atari)
-override TARGET_LOADERS+=$(DATA_FILES)
-endif
-ifeq ($(FULL_TARGET),m68k-openbsd)
-override TARGET_LOADERS+=$(DATA_FILES)
-endif
-ifeq ($(FULL_TARGET),m68k-palmos)
-override TARGET_LOADERS+=$(DATA_FILES)
-endif
-ifeq ($(FULL_TARGET),m68k-embedded)
-override TARGET_LOADERS+=$(DATA_FILES)
-endif
-ifeq ($(FULL_TARGET),powerpc-linux)
-override TARGET_LOADERS+=$(DATA_FILES)
-endif
-ifeq ($(FULL_TARGET),powerpc-netbsd)
-override TARGET_LOADERS+=$(DATA_FILES)
-endif
-ifeq ($(FULL_TARGET),powerpc-amiga)
-override TARGET_LOADERS+=$(DATA_FILES)
-endif
-ifeq ($(FULL_TARGET),powerpc-macos)
-override TARGET_LOADERS+=$(DATA_FILES)
-endif
-ifeq ($(FULL_TARGET),powerpc-darwin)
-override TARGET_LOADERS+=$(DATA_FILES)
-endif
-ifeq ($(FULL_TARGET),powerpc-morphos)
-override TARGET_LOADERS+=$(DATA_FILES)
-endif
-ifeq ($(FULL_TARGET),powerpc-embedded)
-override TARGET_LOADERS+=$(DATA_FILES)
-endif
-ifeq ($(FULL_TARGET),sparc-linux)
-override TARGET_LOADERS+=$(DATA_FILES)
-endif
-ifeq ($(FULL_TARGET),sparc-netbsd)
-override TARGET_LOADERS+=$(DATA_FILES)
-endif
-ifeq ($(FULL_TARGET),sparc-solaris)
-override TARGET_LOADERS+=$(DATA_FILES)
-endif
-ifeq ($(FULL_TARGET),sparc-embedded)
-override TARGET_LOADERS+=$(DATA_FILES)
-endif
-ifeq ($(FULL_TARGET),x86_64-linux)
-override TARGET_LOADERS+=$(DATA_FILES)
-endif
-ifeq ($(FULL_TARGET),x86_64-freebsd)
-override TARGET_LOADERS+=$(DATA_FILES)
-endif
-ifeq ($(FULL_TARGET),x86_64-darwin)
-override TARGET_LOADERS+=$(DATA_FILES)
-endif
-ifeq ($(FULL_TARGET),x86_64-win64)
-override TARGET_LOADERS+=$(DATA_FILES)
-endif
-ifeq ($(FULL_TARGET),x86_64-embedded)
-override TARGET_LOADERS+=$(DATA_FILES)
-endif
-ifeq ($(FULL_TARGET),arm-linux)
-override TARGET_LOADERS+=$(DATA_FILES)
-endif
-ifeq ($(FULL_TARGET),arm-palmos)
-override TARGET_LOADERS+=$(DATA_FILES)
-endif
-ifeq ($(FULL_TARGET),arm-darwin)
-override TARGET_LOADERS+=$(DATA_FILES)
-endif
-ifeq ($(FULL_TARGET),arm-wince)
-override TARGET_LOADERS+=$(DATA_FILES)
-endif
-ifeq ($(FULL_TARGET),arm-gba)
-override TARGET_LOADERS+=$(DATA_FILES)
-endif
-ifeq ($(FULL_TARGET),arm-nds)
-override TARGET_LOADERS+=$(DATA_FILES)
-endif
-ifeq ($(FULL_TARGET),arm-embedded)
-override TARGET_LOADERS+=$(DATA_FILES)
-endif
-ifeq ($(FULL_TARGET),arm-symbian)
-override TARGET_LOADERS+=$(DATA_FILES)
-endif
-ifeq ($(FULL_TARGET),powerpc64-linux)
-override TARGET_LOADERS+=$(DATA_FILES)
-endif
-ifeq ($(FULL_TARGET),powerpc64-darwin)
-override TARGET_LOADERS+=$(DATA_FILES)
-endif
-ifeq ($(FULL_TARGET),powerpc64-embedded)
-override TARGET_LOADERS+=$(DATA_FILES)
-endif
-ifeq ($(FULL_TARGET),avr-embedded)
-override TARGET_LOADERS+=$(DATA_FILES)
-endif
-ifeq ($(FULL_TARGET),armeb-linux)
-override TARGET_LOADERS+=$(DATA_FILES)
-endif
-ifeq ($(FULL_TARGET),armeb-embedded)
-override TARGET_LOADERS+=$(DATA_FILES)
-endif
-ifeq ($(FULL_TARGET),i386-linux)
-override CLEAN_UNITS+=*
-endif
-ifeq ($(FULL_TARGET),i386-go32v2)
-override CLEAN_UNITS+=*
-endif
-ifeq ($(FULL_TARGET),i386-win32)
-override CLEAN_UNITS+=*
-endif
-ifeq ($(FULL_TARGET),i386-os2)
-override CLEAN_UNITS+=*
-endif
-ifeq ($(FULL_TARGET),i386-freebsd)
-override CLEAN_UNITS+=*
-endif
-ifeq ($(FULL_TARGET),i386-beos)
-override CLEAN_UNITS+=*
-endif
-ifeq ($(FULL_TARGET),i386-haiku)
-override CLEAN_UNITS+=*
-endif
-ifeq ($(FULL_TARGET),i386-netbsd)
-override CLEAN_UNITS+=*
-endif
-ifeq ($(FULL_TARGET),i386-solaris)
-override CLEAN_UNITS+=*
-endif
-ifeq ($(FULL_TARGET),i386-qnx)
-override CLEAN_UNITS+=*
-endif
-ifeq ($(FULL_TARGET),i386-netware)
-override CLEAN_UNITS+=*
-endif
-ifeq ($(FULL_TARGET),i386-openbsd)
-override CLEAN_UNITS+=*
-endif
-ifeq ($(FULL_TARGET),i386-wdosx)
-override CLEAN_UNITS+=*
-endif
-ifeq ($(FULL_TARGET),i386-darwin)
-override CLEAN_UNITS+=*
-endif
-ifeq ($(FULL_TARGET),i386-emx)
-override CLEAN_UNITS+=*
-endif
-ifeq ($(FULL_TARGET),i386-watcom)
-override CLEAN_UNITS+=*
-endif
-ifeq ($(FULL_TARGET),i386-netwlibc)
-override CLEAN_UNITS+=*
-endif
-ifeq ($(FULL_TARGET),i386-wince)
-override CLEAN_UNITS+=*
-endif
-ifeq ($(FULL_TARGET),i386-embedded)
-override CLEAN_UNITS+=*
-endif
-ifeq ($(FULL_TARGET),i386-symbian)
-override CLEAN_UNITS+=*
-endif
-ifeq ($(FULL_TARGET),m68k-linux)
-override CLEAN_UNITS+=*
-endif
-ifeq ($(FULL_TARGET),m68k-freebsd)
-override CLEAN_UNITS+=*
-endif
-ifeq ($(FULL_TARGET),m68k-netbsd)
-override CLEAN_UNITS+=*
-endif
-ifeq ($(FULL_TARGET),m68k-amiga)
-override CLEAN_UNITS+=*
-endif
-ifeq ($(FULL_TARGET),m68k-atari)
-override CLEAN_UNITS+=*
-endif
-ifeq ($(FULL_TARGET),m68k-openbsd)
-override CLEAN_UNITS+=*
-endif
-ifeq ($(FULL_TARGET),m68k-palmos)
-override CLEAN_UNITS+=*
-endif
-ifeq ($(FULL_TARGET),m68k-embedded)
-override CLEAN_UNITS+=*
-endif
-ifeq ($(FULL_TARGET),powerpc-linux)
-override CLEAN_UNITS+=*
-endif
-ifeq ($(FULL_TARGET),powerpc-netbsd)
-override CLEAN_UNITS+=*
-endif
-ifeq ($(FULL_TARGET),powerpc-amiga)
-override CLEAN_UNITS+=*
-endif
-ifeq ($(FULL_TARGET),powerpc-macos)
-override CLEAN_UNITS+=*
-endif
-ifeq ($(FULL_TARGET),powerpc-darwin)
-override CLEAN_UNITS+=*
-endif
-ifeq ($(FULL_TARGET),powerpc-morphos)
-override CLEAN_UNITS+=*
-endif
-ifeq ($(FULL_TARGET),powerpc-embedded)
-override CLEAN_UNITS+=*
-endif
-ifeq ($(FULL_TARGET),sparc-linux)
-override CLEAN_UNITS+=*
-endif
-ifeq ($(FULL_TARGET),sparc-netbsd)
-override CLEAN_UNITS+=*
-endif
-ifeq ($(FULL_TARGET),sparc-solaris)
-override CLEAN_UNITS+=*
-endif
-ifeq ($(FULL_TARGET),sparc-embedded)
-override CLEAN_UNITS+=*
-endif
-ifeq ($(FULL_TARGET),x86_64-linux)
-override CLEAN_UNITS+=*
-endif
-ifeq ($(FULL_TARGET),x86_64-freebsd)
-override CLEAN_UNITS+=*
-endif
-ifeq ($(FULL_TARGET),x86_64-darwin)
-override CLEAN_UNITS+=*
-endif
-ifeq ($(FULL_TARGET),x86_64-win64)
-override CLEAN_UNITS+=*
-endif
-ifeq ($(FULL_TARGET),x86_64-embedded)
-override CLEAN_UNITS+=*
-endif
-ifeq ($(FULL_TARGET),arm-linux)
-override CLEAN_UNITS+=*
-endif
-ifeq ($(FULL_TARGET),arm-palmos)
-override CLEAN_UNITS+=*
-endif
-ifeq ($(FULL_TARGET),arm-darwin)
-override CLEAN_UNITS+=*
-endif
-ifeq ($(FULL_TARGET),arm-wince)
-override CLEAN_UNITS+=*
-endif
-ifeq ($(FULL_TARGET),arm-gba)
-override CLEAN_UNITS+=*
-endif
-ifeq ($(FULL_TARGET),arm-nds)
-override CLEAN_UNITS+=*
-endif
-ifeq ($(FULL_TARGET),arm-embedded)
-override CLEAN_UNITS+=*
-endif
-ifeq ($(FULL_TARGET),arm-symbian)
-override CLEAN_UNITS+=*
-endif
-ifeq ($(FULL_TARGET),powerpc64-linux)
-override CLEAN_UNITS+=*
-endif
-ifeq ($(FULL_TARGET),powerpc64-darwin)
-override CLEAN_UNITS+=*
-endif
-ifeq ($(FULL_TARGET),powerpc64-embedded)
-override CLEAN_UNITS+=*
-endif
-ifeq ($(FULL_TARGET),avr-embedded)
-override CLEAN_UNITS+=*
-endif
-ifeq ($(FULL_TARGET),armeb-linux)
-override CLEAN_UNITS+=*
-endif
-ifeq ($(FULL_TARGET),armeb-embedded)
-override CLEAN_UNITS+=*
-endif
-ifeq ($(FULL_TARGET),i386-linux)
-override CLEAN_FILES+=*.elf data/*.o data/*.s
-endif
-ifeq ($(FULL_TARGET),i386-go32v2)
-override CLEAN_FILES+=*.elf data/*.o data/*.s
-endif
-ifeq ($(FULL_TARGET),i386-win32)
-override CLEAN_FILES+=*.elf data/*.o data/*.s
-endif
-ifeq ($(FULL_TARGET),i386-os2)
-override CLEAN_FILES+=*.elf data/*.o data/*.s
-endif
-ifeq ($(FULL_TARGET),i386-freebsd)
-override CLEAN_FILES+=*.elf data/*.o data/*.s
-endif
-ifeq ($(FULL_TARGET),i386-beos)
-override CLEAN_FILES+=*.elf data/*.o data/*.s
-endif
-ifeq ($(FULL_TARGET),i386-haiku)
-override CLEAN_FILES+=*.elf data/*.o data/*.s
-endif
-ifeq ($(FULL_TARGET),i386-netbsd)
-override CLEAN_FILES+=*.elf data/*.o data/*.s
-endif
-ifeq ($(FULL_TARGET),i386-solaris)
-override CLEAN_FILES+=*.elf data/*.o data/*.s
-endif
-ifeq ($(FULL_TARGET),i386-qnx)
-override CLEAN_FILES+=*.elf data/*.o data/*.s
-endif
-ifeq ($(FULL_TARGET),i386-netware)
-override CLEAN_FILES+=*.elf data/*.o data/*.s
-endif
-ifeq ($(FULL_TARGET),i386-openbsd)
-override CLEAN_FILES+=*.elf data/*.o data/*.s
-endif
-ifeq ($(FULL_TARGET),i386-wdosx)
-override CLEAN_FILES+=*.elf data/*.o data/*.s
-endif
-ifeq ($(FULL_TARGET),i386-darwin)
-override CLEAN_FILES+=*.elf data/*.o data/*.s
-endif
-ifeq ($(FULL_TARGET),i386-emx)
-override CLEAN_FILES+=*.elf data/*.o data/*.s
-endif
-ifeq ($(FULL_TARGET),i386-watcom)
-override CLEAN_FILES+=*.elf data/*.o data/*.s
-endif
-ifeq ($(FULL_TARGET),i386-netwlibc)
-override CLEAN_FILES+=*.elf data/*.o data/*.s
-endif
-ifeq ($(FULL_TARGET),i386-wince)
-override CLEAN_FILES+=*.elf data/*.o data/*.s
-endif
-ifeq ($(FULL_TARGET),i386-embedded)
-override CLEAN_FILES+=*.elf data/*.o data/*.s
-endif
-ifeq ($(FULL_TARGET),i386-symbian)
-override CLEAN_FILES+=*.elf data/*.o data/*.s
-endif
-ifeq ($(FULL_TARGET),m68k-linux)
-override CLEAN_FILES+=*.elf data/*.o data/*.s
-endif
-ifeq ($(FULL_TARGET),m68k-freebsd)
-override CLEAN_FILES+=*.elf data/*.o data/*.s
-endif
-ifeq ($(FULL_TARGET),m68k-netbsd)
-override CLEAN_FILES+=*.elf data/*.o data/*.s
-endif
-ifeq ($(FULL_TARGET),m68k-amiga)
-override CLEAN_FILES+=*.elf data/*.o data/*.s
-endif
-ifeq ($(FULL_TARGET),m68k-atari)
-override CLEAN_FILES+=*.elf data/*.o data/*.s
-endif
-ifeq ($(FULL_TARGET),m68k-openbsd)
-override CLEAN_FILES+=*.elf data/*.o data/*.s
-endif
-ifeq ($(FULL_TARGET),m68k-palmos)
-override CLEAN_FILES+=*.elf data/*.o data/*.s
-endif
-ifeq ($(FULL_TARGET),m68k-embedded)
-override CLEAN_FILES+=*.elf data/*.o data/*.s
-endif
-ifeq ($(FULL_TARGET),powerpc-linux)
-override CLEAN_FILES+=*.elf data/*.o data/*.s
-endif
-ifeq ($(FULL_TARGET),powerpc-netbsd)
-override CLEAN_FILES+=*.elf data/*.o data/*.s
-endif
-ifeq ($(FULL_TARGET),powerpc-amiga)
-override CLEAN_FILES+=*.elf data/*.o data/*.s
-endif
-ifeq ($(FULL_TARGET),powerpc-macos)
-override CLEAN_FILES+=*.elf data/*.o data/*.s
-endif
-ifeq ($(FULL_TARGET),powerpc-darwin)
-override CLEAN_FILES+=*.elf data/*.o data/*.s
-endif
-ifeq ($(FULL_TARGET),powerpc-morphos)
-override CLEAN_FILES+=*.elf data/*.o data/*.s
-endif
-ifeq ($(FULL_TARGET),powerpc-embedded)
-override CLEAN_FILES+=*.elf data/*.o data/*.s
-endif
-ifeq ($(FULL_TARGET),sparc-linux)
-override CLEAN_FILES+=*.elf data/*.o data/*.s
-endif
-ifeq ($(FULL_TARGET),sparc-netbsd)
-override CLEAN_FILES+=*.elf data/*.o data/*.s
-endif
-ifeq ($(FULL_TARGET),sparc-solaris)
-override CLEAN_FILES+=*.elf data/*.o data/*.s
-endif
-ifeq ($(FULL_TARGET),sparc-embedded)
-override CLEAN_FILES+=*.elf data/*.o data/*.s
-endif
-ifeq ($(FULL_TARGET),x86_64-linux)
-override CLEAN_FILES+=*.elf data/*.o data/*.s
-endif
-ifeq ($(FULL_TARGET),x86_64-freebsd)
-override CLEAN_FILES+=*.elf data/*.o data/*.s
-endif
-ifeq ($(FULL_TARGET),x86_64-darwin)
-override CLEAN_FILES+=*.elf data/*.o data/*.s
-endif
-ifeq ($(FULL_TARGET),x86_64-win64)
-override CLEAN_FILES+=*.elf data/*.o data/*.s
-endif
-ifeq ($(FULL_TARGET),x86_64-embedded)
-override CLEAN_FILES+=*.elf data/*.o data/*.s
-endif
-ifeq ($(FULL_TARGET),arm-linux)
-override CLEAN_FILES+=*.elf data/*.o data/*.s
-endif
-ifeq ($(FULL_TARGET),arm-palmos)
-override CLEAN_FILES+=*.elf data/*.o data/*.s
-endif
-ifeq ($(FULL_TARGET),arm-darwin)
-override CLEAN_FILES+=*.elf data/*.o data/*.s
-endif
-ifeq ($(FULL_TARGET),arm-wince)
-override CLEAN_FILES+=*.elf data/*.o data/*.s
-endif
-ifeq ($(FULL_TARGET),arm-gba)
-override CLEAN_FILES+=*.elf data/*.o data/*.s
-endif
-ifeq ($(FULL_TARGET),arm-nds)
-override CLEAN_FILES+=*.elf data/*.o data/*.s
-endif
-ifeq ($(FULL_TARGET),arm-embedded)
-override CLEAN_FILES+=*.elf data/*.o data/*.s
-endif
-ifeq ($(FULL_TARGET),arm-symbian)
-override CLEAN_FILES+=*.elf data/*.o data/*.s
-endif
-ifeq ($(FULL_TARGET),powerpc64-linux)
-override CLEAN_FILES+=*.elf data/*.o data/*.s
-endif
-ifeq ($(FULL_TARGET),powerpc64-darwin)
-override CLEAN_FILES+=*.elf data/*.o data/*.s
-endif
-ifeq ($(FULL_TARGET),powerpc64-embedded)
-override CLEAN_FILES+=*.elf data/*.o data/*.s
-endif
-ifeq ($(FULL_TARGET),avr-embedded)
-override CLEAN_FILES+=*.elf data/*.o data/*.s
-endif
-ifeq ($(FULL_TARGET),armeb-linux)
-override CLEAN_FILES+=*.elf data/*.o data/*.s
-endif
-ifeq ($(FULL_TARGET),armeb-embedded)
-override CLEAN_FILES+=*.elf data/*.o data/*.s
-endif
-override INSTALL_FPCPACKAGE=y
-ifdef REQUIRE_UNITSDIR
-override UNITSDIR+=$(REQUIRE_UNITSDIR)
-endif
-ifdef REQUIRE_PACKAGESDIR
-override PACKAGESDIR+=$(REQUIRE_PACKAGESDIR)
-endif
-ifdef ZIPINSTALL
-ifneq ($(findstring $(OS_TARGET),$(UNIXs)),)
-UNIXHier=1
-endif
-else
-ifneq ($(findstring $(OS_SOURCE),$(UNIXs)),)
-UNIXHier=1
-endif
-endif
-ifndef INSTALL_PREFIX
-ifdef PREFIX
-INSTALL_PREFIX=$(PREFIX)
-endif
-endif
-ifndef INSTALL_PREFIX
-ifdef UNIXHier
-INSTALL_PREFIX=/usr/local
-else
-ifdef INSTALL_FPCPACKAGE
-INSTALL_BASEDIR:=/pp
-else
-INSTALL_BASEDIR:=/$(PACKAGE_NAME)
-endif
-endif
-endif
-export INSTALL_PREFIX
-ifdef INSTALL_FPCSUBDIR
-export INSTALL_FPCSUBDIR
-endif
-ifndef DIST_DESTDIR
-DIST_DESTDIR:=$(BASEDIR)
-endif
-export DIST_DESTDIR
-ifndef COMPILER_UNITTARGETDIR
-ifdef PACKAGEDIR_MAIN
-COMPILER_UNITTARGETDIR=$(PACKAGEDIR_MAIN)/units/$(TARGETSUFFIX)
-else
-COMPILER_UNITTARGETDIR=units/$(TARGETSUFFIX)
-endif
-endif
-ifndef COMPILER_TARGETDIR
-COMPILER_TARGETDIR=.
-endif
-ifndef INSTALL_BASEDIR
-ifdef UNIXHier
-ifdef INSTALL_FPCPACKAGE
-INSTALL_BASEDIR:=$(INSTALL_PREFIX)/lib/fpc/$(FPC_VERSION)
-else
-INSTALL_BASEDIR:=$(INSTALL_PREFIX)/lib/$(PACKAGE_NAME)
-endif
-else
-INSTALL_BASEDIR:=$(INSTALL_PREFIX)
-endif
-endif
-ifndef INSTALL_BINDIR
-ifdef UNIXHier
-INSTALL_BINDIR:=$(INSTALL_PREFIX)/bin
-else
-INSTALL_BINDIR:=$(INSTALL_BASEDIR)/bin
-ifdef INSTALL_FPCPACKAGE
-ifdef CROSSCOMPILE
-ifdef CROSSINSTALL
-INSTALL_BINDIR:=$(INSTALL_BINDIR)/$(SOURCESUFFIX)
-else
-INSTALL_BINDIR:=$(INSTALL_BINDIR)/$(TARGETSUFFIX)
-endif
-else
-INSTALL_BINDIR:=$(INSTALL_BINDIR)/$(TARGETSUFFIX)
-endif
-endif
-endif
-endif
-ifndef INSTALL_UNITDIR
-INSTALL_UNITDIR:=$(INSTALL_BASEDIR)/units/$(TARGETSUFFIX)
-ifdef INSTALL_FPCPACKAGE
-ifdef PACKAGE_NAME
-INSTALL_UNITDIR:=$(INSTALL_UNITDIR)/$(PACKAGE_NAME)
-endif
-endif
-endif
-ifndef INSTALL_LIBDIR
-ifdef UNIXHier
-INSTALL_LIBDIR:=$(INSTALL_PREFIX)/lib
-else
-INSTALL_LIBDIR:=$(INSTALL_UNITDIR)
-endif
-endif
-ifndef INSTALL_SOURCEDIR
-ifdef UNIXHier
-ifdef BSDhier
-SRCPREFIXDIR=share/src
-else
-ifdef linuxHier
-SRCPREFIXDIR=share/src
-else
-SRCPREFIXDIR=src
-endif
-endif
-ifdef INSTALL_FPCPACKAGE
-ifdef INSTALL_FPCSUBDIR
-INSTALL_SOURCEDIR:=$(INSTALL_PREFIX)/$(SRCPREFIXDIR)/fpc-$(FPC_VERSION)/$(INSTALL_FPCSUBDIR)/$(PACKAGE_NAME)
-else
-INSTALL_SOURCEDIR:=$(INSTALL_PREFIX)/$(SRCPREFIXDIR)/fpc-$(FPC_VERSION)/$(PACKAGE_NAME)
-endif
-else
-INSTALL_SOURCEDIR:=$(INSTALL_PREFIX)/$(SRCPREFIXDIR)/$(PACKAGE_NAME)-$(PACKAGE_VERSION)
-endif
-else
-ifdef INSTALL_FPCPACKAGE
-ifdef INSTALL_FPCSUBDIR
-INSTALL_SOURCEDIR:=$(INSTALL_BASEDIR)/source/$(INSTALL_FPCSUBDIR)/$(PACKAGE_NAME)
-else
-INSTALL_SOURCEDIR:=$(INSTALL_BASEDIR)/source/$(PACKAGE_NAME)
-endif
-else
-INSTALL_SOURCEDIR:=$(INSTALL_BASEDIR)/source
-endif
-endif
-endif
-ifndef INSTALL_DOCDIR
-ifdef UNIXHier
-ifdef BSDhier
-DOCPREFIXDIR=share/doc
-else
-ifdef linuxHier
-DOCPREFIXDIR=share/doc
-else
-DOCPREFIXDIR=doc
-endif
-endif
-ifdef INSTALL_FPCPACKAGE
-INSTALL_DOCDIR:=$(INSTALL_PREFIX)/$(DOCPREFIXDIR)/fpc-$(FPC_VERSION)/$(PACKAGE_NAME)
-else
-INSTALL_DOCDIR:=$(INSTALL_PREFIX)/$(DOCPREFIXDIR)/$(PACKAGE_NAME)-$(PACKAGE_VERSION)
-endif
-else
-ifdef INSTALL_FPCPACKAGE
-INSTALL_DOCDIR:=$(INSTALL_BASEDIR)/doc/$(PACKAGE_NAME)
-else
-INSTALL_DOCDIR:=$(INSTALL_BASEDIR)/doc
-endif
-endif
-endif
-ifndef INSTALL_EXAMPLEDIR
-ifdef UNIXHier
-ifdef INSTALL_FPCPACKAGE
-ifdef BSDhier
-INSTALL_EXAMPLEDIR:=$(INSTALL_PREFIX)/share/examples/fpc-$(FPC_VERSION)/$(PACKAGE_NAME)
-else
-ifdef linuxHier
-INSTALL_EXAMPLEDIR:=$(INSTALL_DOCDIR)/examples
-else
-INSTALL_EXAMPLEDIR:=$(INSTALL_PREFIX)/doc/fpc-$(FPC_VERSION)/examples/$(PACKAGE_NAME)
-endif
-endif
-else
-ifdef BSDhier
-INSTALL_EXAMPLEDIR:=$(INSTALL_PREFIX)/share/examples/$(PACKAGE_NAME)-$(PACKAGE_VERSION)
-else
-ifdef linuxHier
-INSTALL_EXAMPLEDIR:=$(INSTALL_DOCDIR)/examples/$(PACKAGE_NAME)-$(PACKAGE_VERSION)
-else
-INSTALL_EXAMPLEDIR:=$(INSTALL_PREFIX)/doc/$(PACKAGE_NAME)-$(PACKAGE_VERSION)
-endif
-endif
-endif
-else
-ifdef INSTALL_FPCPACKAGE
-INSTALL_EXAMPLEDIR:=$(INSTALL_BASEDIR)/examples/$(PACKAGE_NAME)
-else
-INSTALL_EXAMPLEDIR:=$(INSTALL_BASEDIR)/examples
-endif
-endif
-endif
-ifndef INSTALL_DATADIR
-INSTALL_DATADIR=$(INSTALL_BASEDIR)
-endif
-ifndef INSTALL_SHAREDDIR
-INSTALL_SHAREDDIR=$(INSTALL_PREFIX)/lib
-endif
-ifdef CROSSCOMPILE
-ifndef CROSSBINDIR
-CROSSBINDIR:=$(wildcard $(CROSSTARGETDIR)/bin/$(SOURCESUFFIX))
-ifeq ($(CROSSBINDIR),)
-CROSSBINDIR:=$(wildcard $(INSTALL_BASEDIR)/cross/$(TARGETSUFFIX)/bin/$(FULL_SOURCE))
-endif
-endif
-else
-CROSSBINDIR=
-endif
-BATCHEXT=.bat
-LOADEREXT=.as
-EXEEXT=.exe
-PPLEXT=.ppl
-PPUEXT=.ppu
-OEXT=.o
-ASMEXT=.s
-SMARTEXT=.sl
-STATICLIBEXT=.a
-SHAREDLIBEXT=.so
-SHAREDLIBPREFIX=libfp
-STATICLIBPREFIX=libp
-IMPORTLIBPREFIX=libimp
-RSTEXT=.rst
-ifeq ($(findstring 1.0.,$(FPC_VERSION)),)
-ifeq ($(OS_TARGET),go32v1)
-STATICLIBPREFIX=
-SHORTSUFFIX=v1
-endif
-ifeq ($(OS_TARGET),go32v2)
-STATICLIBPREFIX=
-SHORTSUFFIX=dos
-IMPORTLIBPREFIX=
-endif
-ifeq ($(OS_TARGET),watcom)
-STATICLIBPREFIX=
-OEXT=.obj
-ASMEXT=.asm
-SHAREDLIBEXT=.dll
-SHORTSUFFIX=wat
-IMPORTLIBPREFIX=
-endif
-ifeq ($(OS_TARGET),linux)
-BATCHEXT=.sh
-EXEEXT=
-HASSHAREDLIB=1
-SHORTSUFFIX=lnx
-endif
-ifeq ($(OS_TARGET),freebsd)
-BATCHEXT=.sh
-EXEEXT=
-HASSHAREDLIB=1
-SHORTSUFFIX=fbs
-endif
-ifeq ($(OS_TARGET),netbsd)
-BATCHEXT=.sh
-EXEEXT=
-HASSHAREDLIB=1
-SHORTSUFFIX=nbs
-endif
-ifeq ($(OS_TARGET),openbsd)
-BATCHEXT=.sh
-EXEEXT=
-HASSHAREDLIB=1
-SHORTSUFFIX=obs
-endif
-ifeq ($(OS_TARGET),win32)
-SHAREDLIBEXT=.dll
-SHORTSUFFIX=w32
-endif
-ifeq ($(OS_TARGET),os2)
-BATCHEXT=.cmd
-AOUTEXT=.out
-STATICLIBPREFIX=
-SHAREDLIBEXT=.dll
-SHORTSUFFIX=os2
-ECHO=echo
-IMPORTLIBPREFIX=
-endif
-ifeq ($(OS_TARGET),emx)
-BATCHEXT=.cmd
-AOUTEXT=.out
-STATICLIBPREFIX=
-SHAREDLIBEXT=.dll
-SHORTSUFFIX=emx
-ECHO=echo
-IMPORTLIBPREFIX=
-endif
-ifeq ($(OS_TARGET),amiga)
-EXEEXT=
-SHAREDLIBEXT=.library
-SHORTSUFFIX=amg
-endif
-ifeq ($(OS_TARGET),morphos)
-EXEEXT=
-SHAREDLIBEXT=.library
-SHORTSUFFIX=mos
-endif
-ifeq ($(OS_TARGET),atari)
-EXEEXT=.ttp
-SHORTSUFFIX=ata
-endif
-ifeq ($(OS_TARGET),beos)
-BATCHEXT=.sh
-EXEEXT=
-SHORTSUFFIX=be
-endif
-ifeq ($(OS_TARGET),haiku)
-BATCHEXT=.sh
-EXEEXT=
-SHORTSUFFIX=hai
-endif
-ifeq ($(OS_TARGET),solaris)
-BATCHEXT=.sh
-EXEEXT=
-SHORTSUFFIX=sun
-endif
-ifeq ($(OS_TARGET),qnx)
-BATCHEXT=.sh
-EXEEXT=
-SHORTSUFFIX=qnx
-endif
-ifeq ($(OS_TARGET),netware)
-EXEEXT=.nlm
-STATICLIBPREFIX=
-SHORTSUFFIX=nw
-IMPORTLIBPREFIX=imp
-endif
-ifeq ($(OS_TARGET),netwlibc)
-EXEEXT=.nlm
-STATICLIBPREFIX=
-SHORTSUFFIX=nwl
-IMPORTLIBPREFIX=imp
-endif
-ifeq ($(OS_TARGET),macos)
-BATCHEXT=
-EXEEXT=
-DEBUGSYMEXT=.xcoff
-SHORTSUFFIX=mac
-IMPORTLIBPREFIX=imp
-endif
-ifeq ($(OS_TARGET),darwin)
-BATCHEXT=.sh
-EXEEXT=
-HASSHAREDLIB=1
-SHORTSUFFIX=dwn
-endif
-ifeq ($(OS_TARGET),gba)
-EXEEXT=.gba
-SHAREDLIBEXT=.so
-SHORTSUFFIX=gba
-endif
-ifeq ($(OS_TARGET),symbian)
-SHAREDLIBEXT=.dll
-SHORTSUFFIX=symbian
-endif
-else
-ifeq ($(OS_TARGET),go32v1)
-PPUEXT=.pp1
-OEXT=.o1
-ASMEXT=.s1
-SMARTEXT=.sl1
-STATICLIBEXT=.a1
-SHAREDLIBEXT=.so1
-STATICLIBPREFIX=
-SHORTSUFFIX=v1
-IMPORTLIBPREFIX=
-endif
-ifeq ($(OS_TARGET),go32v2)
-STATICLIBPREFIX=
-SHORTSUFFIX=dos
-IMPORTLIBPREFIX=
-endif
-ifeq ($(OS_TARGET),watcom)
-STATICLIBPREFIX=
-SHORTSUFFIX=wat
-IMPORTLIBPREFIX=
-endif
-ifeq ($(OS_TARGET),linux)
-BATCHEXT=.sh
-EXEEXT=
-HASSHAREDLIB=1
-SHORTSUFFIX=lnx
-endif
-ifeq ($(OS_TARGET),freebsd)
-BATCHEXT=.sh
-EXEEXT=
-HASSHAREDLIB=1
-SHORTSUFFIX=fbs
-endif
-ifeq ($(OS_TARGET),netbsd)
-BATCHEXT=.sh
-EXEEXT=
-HASSHAREDLIB=1
-SHORTSUFFIX=nbs
-endif
-ifeq ($(OS_TARGET),openbsd)
-BATCHEXT=.sh
-EXEEXT=
-HASSHAREDLIB=1
-SHORTSUFFIX=obs
-endif
-ifeq ($(OS_TARGET),win32)
-PPUEXT=.ppw
-OEXT=.ow
-ASMEXT=.sw
-SMARTEXT=.slw
-STATICLIBEXT=.aw
-SHAREDLIBEXT=.dll
-SHORTSUFFIX=w32
-endif
-ifeq ($(OS_TARGET),os2)
-BATCHEXT=.cmd
-PPUEXT=.ppo
-ASMEXT=.so2
-OEXT=.oo2
-AOUTEXT=.out
-SMARTEXT=.sl2
-STATICLIBPREFIX=
-STATICLIBEXT=.ao2
-SHAREDLIBEXT=.dll
-SHORTSUFFIX=os2
-ECHO=echo
-IMPORTLIBPREFIX=
-endif
-ifeq ($(OS_TARGET),amiga)
-EXEEXT=
-PPUEXT=.ppu
-ASMEXT=.s
-OEXT=.o
-SMARTEXT=.sl
-STATICLIBEXT=.a
-SHAREDLIBEXT=.library
-SHORTSUFFIX=amg
-endif
-ifeq ($(OS_TARGET),atari)
-PPUEXT=.ppu
-ASMEXT=.s
-OEXT=.o
-SMARTEXT=.sl
-STATICLIBEXT=.a
-EXEEXT=.ttp
-SHORTSUFFIX=ata
-endif
-ifeq ($(OS_TARGET),beos)
-BATCHEXT=.sh
-PPUEXT=.ppu
-ASMEXT=.s
-OEXT=.o
-SMARTEXT=.sl
-STATICLIBEXT=.a
-EXEEXT=
-SHORTSUFFIX=be
-endif
-ifeq ($(OS_TARGET),solaris)
-BATCHEXT=.sh
-PPUEXT=.ppu
-ASMEXT=.s
-OEXT=.o
-SMARTEXT=.sl
-STATICLIBEXT=.a
-EXEEXT=
-SHORTSUFFIX=sun
-endif
-ifeq ($(OS_TARGET),qnx)
-BATCHEXT=.sh
-PPUEXT=.ppu
-ASMEXT=.s
-OEXT=.o
-SMARTEXT=.sl
-STATICLIBEXT=.a
-EXEEXT=
-SHORTSUFFIX=qnx
-endif
-ifeq ($(OS_TARGET),netware)
-STATICLIBPREFIX=
-PPUEXT=.ppu
-OEXT=.o
-ASMEXT=.s
-SMARTEXT=.sl
-STATICLIBEXT=.a
-SHAREDLIBEXT=.nlm
-EXEEXT=.nlm
-SHORTSUFFIX=nw
-IMPORTLIBPREFIX=imp
-endif
-ifeq ($(OS_TARGET),netwlibc)
-STATICLIBPREFIX=
-PPUEXT=.ppu
-OEXT=.o
-ASMEXT=.s
-SMARTEXT=.sl
-STATICLIBEXT=.a
-SHAREDLIBEXT=.nlm
-EXEEXT=.nlm
-SHORTSUFFIX=nwl
-IMPORTLIBPREFIX=imp
-endif
-ifeq ($(OS_TARGET),macos)
-BATCHEXT=
-PPUEXT=.ppu
-ASMEXT=.s
-OEXT=.o
-SMARTEXT=.sl
-STATICLIBEXT=.a
-EXEEXT=
-DEBUGSYMEXT=.xcoff
-SHORTSUFFIX=mac
-IMPORTLIBPREFIX=imp
-endif
-endif
-ifneq ($(findstring $(OS_SOURCE),$(LIMIT83fs)),)
-FPCMADE=fpcmade.$(SHORTSUFFIX)
-ZIPSUFFIX=$(SHORTSUFFIX)
-ZIPCROSSPREFIX=
-ZIPSOURCESUFFIX=src
-ZIPEXAMPLESUFFIX=exm
-else
-FPCMADE=fpcmade.$(TARGETSUFFIX)
-ZIPSOURCESUFFIX=.source
-ZIPEXAMPLESUFFIX=.examples
-ifdef CROSSCOMPILE
-ZIPSUFFIX=.$(SOURCESUFFIX)
-ZIPCROSSPREFIX=$(TARGETSUFFIX)-
-else
-ZIPSUFFIX=.$(TARGETSUFFIX)
-ZIPCROSSPREFIX=
-endif
-endif
-ifndef ECHO
-ECHO:=$(strip $(wildcard $(addsuffix /gecho$(SRCEXEEXT),$(SEARCHPATH))))
-ifeq ($(ECHO),)
-ECHO:=$(strip $(wildcard $(addsuffix /echo$(SRCEXEEXT),$(SEARCHPATH))))
-ifeq ($(ECHO),)
-ECHO= __missing_command_ECHO
-else
-ECHO:=$(firstword $(ECHO))
-endif
-else
-ECHO:=$(firstword $(ECHO))
-endif
-endif
-export ECHO
-ifndef DATE
-DATE:=$(strip $(wildcard $(addsuffix /gdate$(SRCEXEEXT),$(SEARCHPATH))))
-ifeq ($(DATE),)
-DATE:=$(strip $(wildcard $(addsuffix /date$(SRCEXEEXT),$(SEARCHPATH))))
-ifeq ($(DATE),)
-DATE= __missing_command_DATE
-else
-DATE:=$(firstword $(DATE))
-endif
-else
-DATE:=$(firstword $(DATE))
-endif
-endif
-export DATE
-ifndef GINSTALL
-GINSTALL:=$(strip $(wildcard $(addsuffix /ginstall$(SRCEXEEXT),$(SEARCHPATH))))
-ifeq ($(GINSTALL),)
-GINSTALL:=$(strip $(wildcard $(addsuffix /install$(SRCEXEEXT),$(SEARCHPATH))))
-ifeq ($(GINSTALL),)
-GINSTALL= __missing_command_GINSTALL
-else
-GINSTALL:=$(firstword $(GINSTALL))
-endif
-else
-GINSTALL:=$(firstword $(GINSTALL))
-endif
-endif
-export GINSTALL
-ifndef CPPROG
-CPPROG:=$(strip $(wildcard $(addsuffix /cp$(SRCEXEEXT),$(SEARCHPATH))))
-ifeq ($(CPPROG),)
-CPPROG= __missing_command_CPPROG
-else
-CPPROG:=$(firstword $(CPPROG))
-endif
-endif
-export CPPROG
-ifndef RMPROG
-RMPROG:=$(strip $(wildcard $(addsuffix /rm$(SRCEXEEXT),$(SEARCHPATH))))
-ifeq ($(RMPROG),)
-RMPROG= __missing_command_RMPROG
-else
-RMPROG:=$(firstword $(RMPROG))
-endif
-endif
-export RMPROG
-ifndef MVPROG
-MVPROG:=$(strip $(wildcard $(addsuffix /mv$(SRCEXEEXT),$(SEARCHPATH))))
-ifeq ($(MVPROG),)
-MVPROG= __missing_command_MVPROG
-else
-MVPROG:=$(firstword $(MVPROG))
-endif
-endif
-export MVPROG
-ifndef MKDIRPROG
-MKDIRPROG:=$(strip $(wildcard $(addsuffix /gmkdir$(SRCEXEEXT),$(SEARCHPATH))))
-ifeq ($(MKDIRPROG),)
-MKDIRPROG:=$(strip $(wildcard $(addsuffix /mkdir$(SRCEXEEXT),$(SEARCHPATH))))
-ifeq ($(MKDIRPROG),)
-MKDIRPROG= __missing_command_MKDIRPROG
-else
-MKDIRPROG:=$(firstword $(MKDIRPROG))
-endif
-else
-MKDIRPROG:=$(firstword $(MKDIRPROG))
-endif
-endif
-export MKDIRPROG
-ifndef ECHOREDIR
-ifndef inUnix
-ECHOREDIR=echo
-else
-ECHOREDIR=$(ECHO)
-endif
-endif
-ifndef COPY
-COPY:=$(CPPROG) -fp
-endif
-ifndef COPYTREE
-COPYTREE:=$(CPPROG) -Rfp
-endif
-ifndef MKDIRTREE
-MKDIRTREE:=$(MKDIRPROG) -p
-endif
-ifndef MOVE
-MOVE:=$(MVPROG) -f
-endif
-ifndef DEL
-DEL:=$(RMPROG) -f
-endif
-ifndef DELTREE
-DELTREE:=$(RMPROG) -rf
-endif
-ifndef INSTALL
-ifdef inUnix
-INSTALL:=$(GINSTALL) -c -m 644
-else
-INSTALL:=$(COPY)
-endif
-endif
-ifndef INSTALLEXE
-ifdef inUnix
-INSTALLEXE:=$(GINSTALL) -c -m 755
-else
-INSTALLEXE:=$(COPY)
-endif
-endif
-ifndef MKDIR
-MKDIR:=$(GINSTALL) -m 755 -d
-endif
-export ECHOREDIR COPY COPYTREE MOVE DEL DELTREE INSTALL INSTALLEXE MKDIR
-ifndef PPUMOVE
-PPUMOVE:=$(strip $(wildcard $(addsuffix /ppumove$(SRCEXEEXT),$(SEARCHPATH))))
-ifeq ($(PPUMOVE),)
-PPUMOVE= __missing_command_PPUMOVE
-else
-PPUMOVE:=$(firstword $(PPUMOVE))
-endif
-endif
-export PPUMOVE
-ifndef FPCMAKE
-FPCMAKE:=$(strip $(wildcard $(addsuffix /fpcmake$(SRCEXEEXT),$(SEARCHPATH))))
-ifeq ($(FPCMAKE),)
-FPCMAKE= __missing_command_FPCMAKE
-else
-FPCMAKE:=$(firstword $(FPCMAKE))
-endif
-endif
-export FPCMAKE
-ifndef ZIPPROG
-ZIPPROG:=$(strip $(wildcard $(addsuffix /zip$(SRCEXEEXT),$(SEARCHPATH))))
-ifeq ($(ZIPPROG),)
-ZIPPROG= __missing_command_ZIPPROG
-else
-ZIPPROG:=$(firstword $(ZIPPROG))
-endif
-endif
-export ZIPPROG
-ifndef TARPROG
-TARPROG:=$(strip $(wildcard $(addsuffix /gtar$(SRCEXEEXT),$(SEARCHPATH))))
-ifeq ($(TARPROG),)
-TARPROG:=$(strip $(wildcard $(addsuffix /tar$(SRCEXEEXT),$(SEARCHPATH))))
-ifeq ($(TARPROG),)
-TARPROG= __missing_command_TARPROG
-else
-TARPROG:=$(firstword $(TARPROG))
-endif
-else
-TARPROG:=$(firstword $(TARPROG))
-endif
-endif
-export TARPROG
-ASNAME=$(BINUTILSPREFIX)as
-LDNAME=$(BINUTILSPREFIX)ld
-ARNAME=$(BINUTILSPREFIX)ar
-RCNAME=$(BINUTILSPREFIX)rc
-ifneq ($(findstring 1.0.,$(FPC_VERSION)),)
-ifeq ($(OS_TARGET),win32)
-ifeq ($(CROSSBINDIR),)
-ASNAME=asw
-LDNAME=ldw
-ARNAME=arw
-endif
-endif
-endif
-ifndef ASPROG
-ifdef CROSSBINDIR
-ASPROG=$(CROSSBINDIR)/$(ASNAME)$(SRCEXEEXT)
-else
-ASPROG=$(ASNAME)
-endif
-endif
-ifndef LDPROG
-ifdef CROSSBINDIR
-LDPROG=$(CROSSBINDIR)/$(LDNAME)$(SRCEXEEXT)
-else
-LDPROG=$(LDNAME)
-endif
-endif
-ifndef RCPROG
-ifdef CROSSBINDIR
-RCPROG=$(CROSSBINDIR)/$(RCNAME)$(SRCEXEEXT)
-else
-RCPROG=$(RCNAME)
-endif
-endif
-ifndef ARPROG
-ifdef CROSSBINDIR
-ARPROG=$(CROSSBINDIR)/$(ARNAME)$(SRCEXEEXT)
-else
-ARPROG=$(ARNAME)
-endif
-endif
-AS=$(ASPROG)
-LD=$(LDPROG)
-RC=$(RCPROG)
-AR=$(ARPROG)
-PPAS=ppas$(SRCBATCHEXT)
-ifdef inUnix
-LDCONFIG=ldconfig
-else
-LDCONFIG=
-endif
-ifdef DATE
-DATESTR:=$(shell $(DATE) +%Y%m%d)
-else
-DATESTR=
-endif
-ifndef UPXPROG
-ifeq ($(OS_TARGET),go32v2)
-UPXPROG:=1
-endif
-ifeq ($(OS_TARGET),win32)
-UPXPROG:=1
-endif
-ifdef UPXPROG
-UPXPROG:=$(strip $(wildcard $(addsuffix /upx$(SRCEXEEXT),$(SEARCHPATH))))
-ifeq ($(UPXPROG),)
-UPXPROG=
-else
-UPXPROG:=$(firstword $(UPXPROG))
-endif
-else
-UPXPROG=
-endif
-endif
-export UPXPROG
-ZIPOPT=-9
-ZIPEXT=.zip
-ifeq ($(USETAR),bz2)
-TAROPT=vj
-TAREXT=.tar.bz2
-else
-TAROPT=vz
-TAREXT=.tar.gz
-endif
-override REQUIRE_PACKAGES=rtl libgbafpc
-ifeq ($(FULL_TARGET),i386-linux)
-REQUIRE_PACKAGES_RTL=1
-REQUIRE_PACKAGES_LIBGBAFPC=1
-endif
-ifeq ($(FULL_TARGET),i386-go32v2)
-REQUIRE_PACKAGES_RTL=1
-REQUIRE_PACKAGES_LIBGBAFPC=1
-endif
-ifeq ($(FULL_TARGET),i386-win32)
-REQUIRE_PACKAGES_RTL=1
-REQUIRE_PACKAGES_LIBGBAFPC=1
-endif
-ifeq ($(FULL_TARGET),i386-os2)
-REQUIRE_PACKAGES_RTL=1
-REQUIRE_PACKAGES_LIBGBAFPC=1
-endif
-ifeq ($(FULL_TARGET),i386-freebsd)
-REQUIRE_PACKAGES_RTL=1
-REQUIRE_PACKAGES_LIBGBAFPC=1
-endif
-ifeq ($(FULL_TARGET),i386-beos)
-REQUIRE_PACKAGES_RTL=1
-REQUIRE_PACKAGES_LIBGBAFPC=1
-endif
-ifeq ($(FULL_TARGET),i386-haiku)
-REQUIRE_PACKAGES_RTL=1
-REQUIRE_PACKAGES_LIBGBAFPC=1
-endif
-ifeq ($(FULL_TARGET),i386-netbsd)
-REQUIRE_PACKAGES_RTL=1
-REQUIRE_PACKAGES_LIBGBAFPC=1
-endif
-ifeq ($(FULL_TARGET),i386-solaris)
-REQUIRE_PACKAGES_RTL=1
-REQUIRE_PACKAGES_LIBGBAFPC=1
-endif
-ifeq ($(FULL_TARGET),i386-qnx)
-REQUIRE_PACKAGES_RTL=1
-REQUIRE_PACKAGES_LIBGBAFPC=1
-endif
-ifeq ($(FULL_TARGET),i386-netware)
-REQUIRE_PACKAGES_RTL=1
-REQUIRE_PACKAGES_LIBGBAFPC=1
-endif
-ifeq ($(FULL_TARGET),i386-openbsd)
-REQUIRE_PACKAGES_RTL=1
-REQUIRE_PACKAGES_LIBGBAFPC=1
-endif
-ifeq ($(FULL_TARGET),i386-wdosx)
-REQUIRE_PACKAGES_RTL=1
-REQUIRE_PACKAGES_LIBGBAFPC=1
-endif
-ifeq ($(FULL_TARGET),i386-darwin)
-REQUIRE_PACKAGES_RTL=1
-REQUIRE_PACKAGES_LIBGBAFPC=1
-endif
-ifeq ($(FULL_TARGET),i386-emx)
-REQUIRE_PACKAGES_RTL=1
-REQUIRE_PACKAGES_LIBGBAFPC=1
-endif
-ifeq ($(FULL_TARGET),i386-watcom)
-REQUIRE_PACKAGES_RTL=1
-REQUIRE_PACKAGES_LIBGBAFPC=1
-endif
-ifeq ($(FULL_TARGET),i386-netwlibc)
-REQUIRE_PACKAGES_RTL=1
-REQUIRE_PACKAGES_LIBGBAFPC=1
-endif
-ifeq ($(FULL_TARGET),i386-wince)
-REQUIRE_PACKAGES_RTL=1
-REQUIRE_PACKAGES_LIBGBAFPC=1
-endif
-ifeq ($(FULL_TARGET),i386-embedded)
-REQUIRE_PACKAGES_RTL=1
-REQUIRE_PACKAGES_LIBGBAFPC=1
-endif
-ifeq ($(FULL_TARGET),i386-symbian)
-REQUIRE_PACKAGES_RTL=1
-REQUIRE_PACKAGES_LIBGBAFPC=1
-endif
-ifeq ($(FULL_TARGET),m68k-linux)
-REQUIRE_PACKAGES_RTL=1
-REQUIRE_PACKAGES_LIBGBAFPC=1
-endif
-ifeq ($(FULL_TARGET),m68k-freebsd)
-REQUIRE_PACKAGES_RTL=1
-REQUIRE_PACKAGES_LIBGBAFPC=1
-endif
-ifeq ($(FULL_TARGET),m68k-netbsd)
-REQUIRE_PACKAGES_RTL=1
-REQUIRE_PACKAGES_LIBGBAFPC=1
-endif
-ifeq ($(FULL_TARGET),m68k-amiga)
-REQUIRE_PACKAGES_RTL=1
-REQUIRE_PACKAGES_LIBGBAFPC=1
-endif
-ifeq ($(FULL_TARGET),m68k-atari)
-REQUIRE_PACKAGES_RTL=1
-REQUIRE_PACKAGES_LIBGBAFPC=1
-endif
-ifeq ($(FULL_TARGET),m68k-openbsd)
-REQUIRE_PACKAGES_RTL=1
-REQUIRE_PACKAGES_LIBGBAFPC=1
-endif
-ifeq ($(FULL_TARGET),m68k-palmos)
-REQUIRE_PACKAGES_RTL=1
-REQUIRE_PACKAGES_LIBGBAFPC=1
-endif
-ifeq ($(FULL_TARGET),m68k-embedded)
-REQUIRE_PACKAGES_RTL=1
-REQUIRE_PACKAGES_LIBGBAFPC=1
-endif
-ifeq ($(FULL_TARGET),powerpc-linux)
-REQUIRE_PACKAGES_RTL=1
-REQUIRE_PACKAGES_LIBGBAFPC=1
-endif
-ifeq ($(FULL_TARGET),powerpc-netbsd)
-REQUIRE_PACKAGES_RTL=1
-REQUIRE_PACKAGES_LIBGBAFPC=1
-endif
-ifeq ($(FULL_TARGET),powerpc-amiga)
-REQUIRE_PACKAGES_RTL=1
-REQUIRE_PACKAGES_LIBGBAFPC=1
-endif
-ifeq ($(FULL_TARGET),powerpc-macos)
-REQUIRE_PACKAGES_RTL=1
-REQUIRE_PACKAGES_LIBGBAFPC=1
-endif
-ifeq ($(FULL_TARGET),powerpc-darwin)
-REQUIRE_PACKAGES_RTL=1
-REQUIRE_PACKAGES_LIBGBAFPC=1
-endif
-ifeq ($(FULL_TARGET),powerpc-morphos)
-REQUIRE_PACKAGES_RTL=1
-REQUIRE_PACKAGES_LIBGBAFPC=1
-endif
-ifeq ($(FULL_TARGET),powerpc-embedded)
-REQUIRE_PACKAGES_RTL=1
-REQUIRE_PACKAGES_LIBGBAFPC=1
-endif
-ifeq ($(FULL_TARGET),sparc-linux)
-REQUIRE_PACKAGES_RTL=1
-REQUIRE_PACKAGES_LIBGBAFPC=1
-endif
-ifeq ($(FULL_TARGET),sparc-netbsd)
-REQUIRE_PACKAGES_RTL=1
-REQUIRE_PACKAGES_LIBGBAFPC=1
-endif
-ifeq ($(FULL_TARGET),sparc-solaris)
-REQUIRE_PACKAGES_RTL=1
-REQUIRE_PACKAGES_LIBGBAFPC=1
-endif
-ifeq ($(FULL_TARGET),sparc-embedded)
-REQUIRE_PACKAGES_RTL=1
-REQUIRE_PACKAGES_LIBGBAFPC=1
-endif
-ifeq ($(FULL_TARGET),x86_64-linux)
-REQUIRE_PACKAGES_RTL=1
-REQUIRE_PACKAGES_LIBGBAFPC=1
-endif
-ifeq ($(FULL_TARGET),x86_64-freebsd)
-REQUIRE_PACKAGES_RTL=1
-REQUIRE_PACKAGES_LIBGBAFPC=1
-endif
-ifeq ($(FULL_TARGET),x86_64-darwin)
-REQUIRE_PACKAGES_RTL=1
-REQUIRE_PACKAGES_LIBGBAFPC=1
-endif
-ifeq ($(FULL_TARGET),x86_64-win64)
-REQUIRE_PACKAGES_RTL=1
-REQUIRE_PACKAGES_LIBGBAFPC=1
-endif
-ifeq ($(FULL_TARGET),x86_64-embedded)
-REQUIRE_PACKAGES_RTL=1
-REQUIRE_PACKAGES_LIBGBAFPC=1
-endif
-ifeq ($(FULL_TARGET),arm-linux)
-REQUIRE_PACKAGES_RTL=1
-REQUIRE_PACKAGES_LIBGBAFPC=1
-endif
-ifeq ($(FULL_TARGET),arm-palmos)
-REQUIRE_PACKAGES_RTL=1
-REQUIRE_PACKAGES_LIBGBAFPC=1
-endif
-ifeq ($(FULL_TARGET),arm-darwin)
-REQUIRE_PACKAGES_RTL=1
-REQUIRE_PACKAGES_LIBGBAFPC=1
-endif
-ifeq ($(FULL_TARGET),arm-wince)
-REQUIRE_PACKAGES_RTL=1
-REQUIRE_PACKAGES_LIBGBAFPC=1
-endif
-ifeq ($(FULL_TARGET),arm-gba)
-REQUIRE_PACKAGES_RTL=1
-REQUIRE_PACKAGES_LIBGBAFPC=1
-endif
-ifeq ($(FULL_TARGET),arm-nds)
-REQUIRE_PACKAGES_RTL=1
-REQUIRE_PACKAGES_LIBGBAFPC=1
-endif
-ifeq ($(FULL_TARGET),arm-embedded)
-REQUIRE_PACKAGES_RTL=1
-REQUIRE_PACKAGES_LIBGBAFPC=1
-endif
-ifeq ($(FULL_TARGET),arm-symbian)
-REQUIRE_PACKAGES_RTL=1
-REQUIRE_PACKAGES_LIBGBAFPC=1
-endif
-ifeq ($(FULL_TARGET),powerpc64-linux)
-REQUIRE_PACKAGES_RTL=1
-REQUIRE_PACKAGES_LIBGBAFPC=1
-endif
-ifeq ($(FULL_TARGET),powerpc64-darwin)
-REQUIRE_PACKAGES_RTL=1
-REQUIRE_PACKAGES_LIBGBAFPC=1
-endif
-ifeq ($(FULL_TARGET),powerpc64-embedded)
-REQUIRE_PACKAGES_RTL=1
-REQUIRE_PACKAGES_LIBGBAFPC=1
-endif
-ifeq ($(FULL_TARGET),avr-embedded)
-REQUIRE_PACKAGES_RTL=1
-REQUIRE_PACKAGES_LIBGBAFPC=1
-endif
-ifeq ($(FULL_TARGET),armeb-linux)
-REQUIRE_PACKAGES_RTL=1
-REQUIRE_PACKAGES_LIBGBAFPC=1
-endif
-ifeq ($(FULL_TARGET),armeb-embedded)
-REQUIRE_PACKAGES_RTL=1
-REQUIRE_PACKAGES_LIBGBAFPC=1
-endif
-ifdef REQUIRE_PACKAGES_RTL
-PACKAGEDIR_RTL:=$(firstword $(subst /Makefile.fpc,,$(strip $(wildcard $(addsuffix /rtl/Makefile.fpc,$(PACKAGESDIR))))))
-ifneq ($(PACKAGEDIR_RTL),)
-ifneq ($(wildcard $(PACKAGEDIR_RTL)/units/$(TARGETSUFFIX)),)
-UNITDIR_RTL=$(PACKAGEDIR_RTL)/units/$(TARGETSUFFIX)
-else
-UNITDIR_RTL=$(PACKAGEDIR_RTL)
-endif
-ifdef CHECKDEPEND
-$(PACKAGEDIR_RTL)/$(FPCMADE):
-	$(MAKE) -C $(PACKAGEDIR_RTL) $(FPCMADE)
-override ALLDEPENDENCIES+=$(PACKAGEDIR_RTL)/$(FPCMADE)
-endif
-else
-PACKAGEDIR_RTL=
-UNITDIR_RTL:=$(subst /Package.fpc,,$(strip $(wildcard $(addsuffix /rtl/Package.fpc,$(UNITSDIR)))))
-ifneq ($(UNITDIR_RTL),)
-UNITDIR_RTL:=$(firstword $(UNITDIR_RTL))
-else
-UNITDIR_RTL=
-endif
-endif
-ifdef UNITDIR_RTL
-override COMPILER_UNITDIR+=$(UNITDIR_RTL)
-endif
-endif
-ifdef REQUIRE_PACKAGES_LIBGBAFPC
-PACKAGEDIR_LIBGBAFPC:=$(firstword $(subst /Makefile.fpc,,$(strip $(wildcard $(addsuffix /libgbafpc/Makefile.fpc,$(PACKAGESDIR))))))
-ifneq ($(PACKAGEDIR_LIBGBAFPC),)
-ifneq ($(wildcard $(PACKAGEDIR_LIBGBAFPC)/units/$(TARGETSUFFIX)),)
-UNITDIR_LIBGBAFPC=$(PACKAGEDIR_LIBGBAFPC)/units/$(TARGETSUFFIX)
-else
-UNITDIR_LIBGBAFPC=$(PACKAGEDIR_LIBGBAFPC)
-endif
-ifdef CHECKDEPEND
-$(PACKAGEDIR_LIBGBAFPC)/$(FPCMADE):
-	$(MAKE) -C $(PACKAGEDIR_LIBGBAFPC) $(FPCMADE)
-override ALLDEPENDENCIES+=$(PACKAGEDIR_LIBGBAFPC)/$(FPCMADE)
-endif
-else
-PACKAGEDIR_LIBGBAFPC=
-UNITDIR_LIBGBAFPC:=$(subst /Package.fpc,,$(strip $(wildcard $(addsuffix /libgbafpc/Package.fpc,$(UNITSDIR)))))
-ifneq ($(UNITDIR_LIBGBAFPC),)
-UNITDIR_LIBGBAFPC:=$(firstword $(UNITDIR_LIBGBAFPC))
-else
-UNITDIR_LIBGBAFPC=
-endif
-endif
-ifdef UNITDIR_LIBGBAFPC
-override COMPILER_UNITDIR+=$(UNITDIR_LIBGBAFPC)
-endif
-endif
-ifndef NOCPUDEF
-override FPCOPTDEF=$(ARCH)
-endif
-ifneq ($(OS_TARGET),$(OS_SOURCE))
-override FPCOPT+=-T$(OS_TARGET)
-endif
-ifneq ($(CPU_TARGET),$(CPU_SOURCE))
-override FPCOPT+=-P$(ARCH)
-endif
-ifeq ($(OS_SOURCE),openbsd)
-override FPCOPT+=-FD$(NEW_BINUTILS_PATH)
-endif
-ifndef CROSSBOOTSTRAP
-ifneq ($(BINUTILSPREFIX),)
-override FPCOPT+=-XP$(BINUTILSPREFIX)
-endif
-ifneq ($(BINUTILSPREFIX),)
-override FPCOPT+=-Xr$(RLINKPATH)
-endif
-endif
-ifdef UNITDIR
-override FPCOPT+=$(addprefix -Fu,$(UNITDIR))
-endif
-ifdef LIBDIR
-override FPCOPT+=$(addprefix -Fl,$(LIBDIR))
-endif
-ifdef OBJDIR
-override FPCOPT+=$(addprefix -Fo,$(OBJDIR))
-endif
-ifdef INCDIR
-override FPCOPT+=$(addprefix -Fi,$(INCDIR))
-endif
-ifdef LINKSMART
-override FPCOPT+=-XX
-endif
-ifdef CREATESMART
-override FPCOPT+=-CX
-endif
-ifdef DEBUG
-override FPCOPT+=-gl
-override FPCOPTDEF+=DEBUG
-endif
-ifdef RELEASE
-ifneq ($(findstring 2.0.,$(FPC_VERSION)),)
-ifeq ($(CPU_TARGET),i386)
-FPCCPUOPT:=-OG2p3
-endif
-ifeq ($(CPU_TARGET),powerpc)
-FPCCPUOPT:=-O1r
-endif
-else
-FPCCPUOPT:=-O2
-endif
-override FPCOPT+=-Ur -Xs $(FPCCPUOPT) -n
-override FPCOPTDEF+=RELEASE
-endif
-ifdef STRIP
-override FPCOPT+=-Xs
-endif
-ifdef OPTIMIZE
-override FPCOPT+=-O2
-endif
-ifdef VERBOSE
-override FPCOPT+=-vwni
-endif
-ifdef COMPILER_OPTIONS
-override FPCOPT+=$(COMPILER_OPTIONS)
-endif
-ifdef COMPILER_UNITDIR
-override FPCOPT+=$(addprefix -Fu,$(COMPILER_UNITDIR))
-endif
-ifdef COMPILER_LIBRARYDIR
-override FPCOPT+=$(addprefix -Fl,$(COMPILER_LIBRARYDIR))
-endif
-ifdef COMPILER_OBJECTDIR
-override FPCOPT+=$(addprefix -Fo,$(COMPILER_OBJECTDIR))
-endif
-ifdef COMPILER_INCLUDEDIR
-override FPCOPT+=$(addprefix -Fi,$(COMPILER_INCLUDEDIR))
-endif
-ifdef CROSSBINDIR
-override FPCOPT+=-FD$(CROSSBINDIR)
-endif
-ifdef COMPILER_TARGETDIR
-override FPCOPT+=-FE$(COMPILER_TARGETDIR)
-ifeq ($(COMPILER_TARGETDIR),.)
-override TARGETDIRPREFIX=
-else
-override TARGETDIRPREFIX=$(COMPILER_TARGETDIR)/
-endif
-endif
-ifdef COMPILER_UNITTARGETDIR
-override FPCOPT+=-FU$(COMPILER_UNITTARGETDIR)
-ifeq ($(COMPILER_UNITTARGETDIR),.)
-override UNITTARGETDIRPREFIX=
-else
-override UNITTARGETDIRPREFIX=$(COMPILER_UNITTARGETDIR)/
-endif
-else
-ifdef COMPILER_TARGETDIR
-override COMPILER_UNITTARGETDIR=$(COMPILER_TARGETDIR)
-override UNITTARGETDIRPREFIX=$(TARGETDIRPREFIX)
-endif
-endif
-ifdef CREATESHARED
-override FPCOPT+=-Cg
-ifeq ($(CPU_TARGET),i386)
-override FPCOPT+=-Aas
-endif
-endif
-ifeq ($(findstring 2.0.,$(FPC_VERSION)),)
-ifeq ($(OS_TARGET),linux)
-ifeq ($(CPU_TARGET),x86_64)
-override FPCOPT+=-Cg
-endif
-endif
-endif
-ifdef LINKSHARED
-endif
-ifdef OPT
-override FPCOPT+=$(OPT)
-endif
-ifdef FPCOPTDEF
-override FPCOPT+=$(addprefix -d,$(FPCOPTDEF))
-endif
-ifdef CFGFILE
-override FPCOPT+=@$(CFGFILE)
-endif
-ifdef USEENV
-override FPCEXTCMD:=$(FPCOPT)
-override FPCOPT:=!FPCEXTCMD
-export FPCEXTCMD
-endif
-override AFULL_TARGET=$(CPU_TARGET)-$(OS_TARGET)
-override AFULL_SOURCE=$(CPU_SOURCE)-$(OS_SOURCE)
-ifneq ($(AFULL_TARGET),$(AFULL_SOURCE))
-override ACROSSCOMPILE=1
-endif
-ifdef ACROSSCOMPILE
-override FPCOPT+=$(CROSSOPT)
-endif
-override COMPILER:=$(FPC) $(FPCOPT)
-ifeq (,$(findstring -s ,$(COMPILER)))
-EXECPPAS=
-else
-ifeq ($(FULL_SOURCE),$(FULL_TARGET))
-ifdef RUNBATCH
-EXECPPAS:=@$(RUNBATCH) $(PPAS)
-else
-EXECPPAS:=@$(PPAS)
-endif
-endif
-endif
-.PHONY: fpc_loaders
-ifneq ($(TARGET_LOADERS),)
-override ALLTARGET+=fpc_loaders
-override CLEANTARGET+=fpc_loaders_clean
-override INSTALLTARGET+=fpc_loaders_install
-override LOADEROFILES:=$(addsuffix $(OEXT),$(TARGET_LOADERS))
-endif
-%$(OEXT): %$(LOADEREXT)
-ifdef COMPILER_UNITTARGETDIR
-	$(AS) -o $(COMPILER_UNITTARGETDIR)/$*$(OEXT) $<
-else
-	$(AS) -o $*$(OEXT) $<
-endif
-fpc_loaders: $(COMPILER_UNITTARGETDIR) $(LOADEROFILES)
-fpc_loaders_clean:
-ifdef COMPILER_UNITTARGETDIR
-	-$(DEL) $(addprefix $(COMPILER_UNITTARGETDIR)/,$(LOADEROFILES))
-else
-	-$(DEL) $(LOADEROFILES)
-endif
-fpc_loaders_install:
-	$(MKDIR) $(INSTALL_UNITDIR)
-ifdef COMPILER_UNITTARGETDIR
-	$(INSTALL) $(addprefix $(COMPILER_UNITTARGETDIR)/,$(LOADEROFILES)) $(INSTALL_UNITDIR)
-else
-	$(INSTALL) $(LOADEROFILES) $(INSTALL_UNITDIR)
-endif
-.PHONY: fpc_exes
-ifndef CROSSINSTALL
-ifneq ($(TARGET_PROGRAMS),)
-override EXEFILES=$(addsuffix $(EXEEXT),$(TARGET_PROGRAMS))
-override EXEOFILES:=$(addsuffix $(OEXT),$(TARGET_PROGRAMS)) $(addprefix $(STATICLIBPREFIX),$(addsuffix $(STATICLIBEXT),$(TARGET_PROGRAMS))) $(addprefix $(IMPORTLIBPREFIX),$(addsuffix $(STATICLIBEXT),$(TARGET_PROGRAMS)))
-override ALLTARGET+=fpc_exes
-override INSTALLEXEFILES+=$(EXEFILES)
-override CLEANEXEFILES+=$(EXEFILES) $(EXEOFILES)
-ifeq ($(OS_TARGET),os2)
-override CLEANEXEFILES+=$(addsuffix $(AOUTEXT),$(TARGET_PROGRAMS))
-endif
-ifeq ($(OS_TARGET),emx)
-override CLEANEXEFILES+=$(addsuffix $(AOUTEXT),$(TARGET_PROGRAMS))
-endif
-endif
-endif
-fpc_exes: $(COMPILER_TARGETDIR) $(COMPILER_UNITTARGETDIR) $(EXEFILES)
-ifdef TARGET_RSTS
-override RSTFILES=$(addsuffix $(RSTEXT),$(TARGET_RSTS))
-override CLEANRSTFILES+=$(RSTFILES)
-endif
-.PHONY: fpc_all fpc_smart fpc_debug fpc_release fpc_shared
-$(FPCMADE): $(ALLDEPENDENCIES) $(ALLTARGET)
-	@$(ECHOREDIR) Compiled > $(FPCMADE)
-fpc_all: $(FPCMADE)
-fpc_smart:
-	$(MAKE) all LINKSMART=1 CREATESMART=1
-fpc_debug:
-	$(MAKE) all DEBUG=1
-fpc_release:
-	$(MAKE) all RELEASE=1
-.SUFFIXES: $(EXEEXT) $(PPUEXT) $(OEXT) .pas .lpr .dpr .pp .rc .res
-$(COMPILER_UNITTARGETDIR):
-	$(MKDIRTREE) $(COMPILER_UNITTARGETDIR)
-$(COMPILER_TARGETDIR):
-	$(MKDIRTREE) $(COMPILER_TARGETDIR)
-%$(PPUEXT): %.pp
-	$(COMPILER) $<
-	$(EXECPPAS)
-%$(PPUEXT): %.pas
-	$(COMPILER) $<
-	$(EXECPPAS)
-%$(EXEEXT): %.pp
-	$(COMPILER) $<
-	$(EXECPPAS)
-%$(EXEEXT): %.pas
-	$(COMPILER) $<
-	$(EXECPPAS)
-%$(EXEEXT): %.lpr
-	$(COMPILER) $<
-	$(EXECPPAS)
-%$(EXEEXT): %.dpr
-	$(COMPILER) $<
-	$(EXECPPAS)
-%.res: %.rc
-	windres -i $< -o $@
-vpath %.pp $(COMPILER_SOURCEDIR) $(COMPILER_INCLUDEDIR)
-vpath %.pas $(COMPILER_SOURCEDIR) $(COMPILER_INCLUDEDIR)
-vpath %.lpr $(COMPILER_SOURCEDIR) $(COMPILER_INCLUDEDIR)
-vpath %.dpr $(COMPILER_SOURCEDIR) $(COMPILER_INCLUDEDIR)
-vpath %.inc $(COMPILER_INCLUDEDIR)
-vpath %$(OEXT) $(COMPILER_UNITTARGETDIR)
-vpath %$(PPUEXT) $(COMPILER_UNITTARGETDIR)
-.PHONY: fpc_shared
-override INSTALLTARGET+=fpc_shared_install
-ifndef SHARED_LIBVERSION
-SHARED_LIBVERSION=$(FPC_VERSION)
-endif
-ifndef SHARED_LIBNAME
-SHARED_LIBNAME=$(PACKAGE_NAME)
-endif
-ifndef SHARED_FULLNAME
-SHARED_FULLNAME=$(SHAREDLIBPREFIX)$(SHARED_LIBNAME)-$(SHARED_LIBVERSION)$(SHAREDLIBEXT)
-endif
-ifndef SHARED_LIBUNITS
-SHARED_LIBUNITS:=$(TARGET_UNITS) $(TARGET_IMPLICITUNITS)
-override SHARED_LIBUNITS:=$(filter-out $(INSTALL_BUILDUNIT),$(SHARED_LIBUNITS))
-endif
-fpc_shared:
-ifdef HASSHAREDLIB
-	$(MAKE) all CREATESHARED=1 LINKSHARED=1 CREATESMART=1
-ifneq ($(SHARED_BUILD),n)
-	$(PPUMOVE) -q $(SHARED_LIBUNITS) -i$(COMPILER_UNITTARGETDIR) -o$(SHARED_FULLNAME) -d$(COMPILER_UNITTARGETDIR)
-endif
-else
-	@$(ECHO) Shared Libraries not supported
-endif
-fpc_shared_install:
-ifneq ($(SHARED_BUILD),n)
-ifneq ($(SHARED_LIBUNITS),)
-ifneq ($(wildcard $(COMPILER_UNITTARGETDIR)/$(SHARED_FULLNAME)),)
-	$(INSTALL) $(COMPILER_UNITTARGETDIR)/$(SHARED_FULLNAME) $(INSTALL_SHAREDDIR)
-endif
-endif
-endif
-.PHONY: fpc_install fpc_sourceinstall fpc_exampleinstall
-ifdef INSTALL_UNITS
-override INSTALLPPUFILES+=$(addsuffix $(PPUEXT),$(INSTALL_UNITS))
-endif
-ifdef INSTALL_BUILDUNIT
-override INSTALLPPUFILES:=$(filter-out $(INSTALL_BUILDUNIT)$(PPUEXT),$(INSTALLPPUFILES))
-endif
-ifdef INSTALLPPUFILES
-override INSTALLPPULINKFILES:=$(subst $(PPUEXT),$(OEXT),$(INSTALLPPUFILES)) $(addprefix $(STATICLIBPREFIX),$(subst $(PPUEXT),$(STATICLIBEXT),$(INSTALLPPUFILES))) $(addprefix $(IMPORTLIBPREFIX),$(subst $(PPUEXT),$(STATICLIBEXT),$(INSTALLPPUFILES)))
-ifneq ($(UNITTARGETDIRPREFIX),)
-override INSTALLPPUFILES:=$(addprefix $(UNITTARGETDIRPREFIX),$(notdir $(INSTALLPPUFILES)))
-override INSTALLPPULINKFILES:=$(wildcard $(addprefix $(UNITTARGETDIRPREFIX),$(notdir $(INSTALLPPULINKFILES))))
-endif
-override INSTALL_CREATEPACKAGEFPC=1
-endif
-ifdef INSTALLEXEFILES
-ifneq ($(TARGETDIRPREFIX),)
-override INSTALLEXEFILES:=$(addprefix $(TARGETDIRPREFIX),$(notdir $(INSTALLEXEFILES)))
-endif
-endif
-fpc_install: all $(INSTALLTARGET)
-ifdef INSTALLEXEFILES
-	$(MKDIR) $(INSTALL_BINDIR)
-ifdef UPXPROG
-	-$(UPXPROG) $(INSTALLEXEFILES)
-endif
-	$(INSTALLEXE) $(INSTALLEXEFILES) $(INSTALL_BINDIR)
-endif
-ifdef INSTALL_CREATEPACKAGEFPC
-ifdef FPCMAKE
-ifdef PACKAGE_VERSION
-ifneq ($(wildcard Makefile.fpc),)
-	$(FPCMAKE) -p -T$(CPU_TARGET)-$(OS_TARGET) Makefile.fpc
-	$(MKDIR) $(INSTALL_UNITDIR)
-	$(INSTALL) Package.fpc $(INSTALL_UNITDIR)
-endif
-endif
-endif
-endif
-ifdef INSTALLPPUFILES
-	$(MKDIR) $(INSTALL_UNITDIR)
-	$(INSTALL) $(INSTALLPPUFILES) $(INSTALL_UNITDIR)
-ifneq ($(INSTALLPPULINKFILES),)
-	$(INSTALL) $(INSTALLPPULINKFILES) $(INSTALL_UNITDIR)
-endif
-ifneq ($(wildcard $(LIB_FULLNAME)),)
-	$(MKDIR) $(INSTALL_LIBDIR)
-	$(INSTALL) $(LIB_FULLNAME) $(INSTALL_LIBDIR)
-ifdef inUnix
-	ln -sf $(LIB_FULLNAME) $(INSTALL_LIBDIR)/$(LIB_NAME)
-endif
-endif
-endif
-ifdef INSTALL_FILES
-	$(MKDIR) $(INSTALL_DATADIR)
-	$(INSTALL) $(INSTALL_FILES) $(INSTALL_DATADIR)
-endif
-fpc_sourceinstall: distclean
-	$(MKDIR) $(INSTALL_SOURCEDIR)
-	$(COPYTREE) $(BASEDIR)/* $(INSTALL_SOURCEDIR)
-fpc_exampleinstall: $(addsuffix _distclean,$(TARGET_EXAMPLEDIRS))
-ifdef HASEXAMPLES
-	$(MKDIR) $(INSTALL_EXAMPLEDIR)
-endif
-ifdef EXAMPLESOURCEFILES
-	$(COPY) $(EXAMPLESOURCEFILES) $(INSTALL_EXAMPLEDIR)
-endif
-ifdef TARGET_EXAMPLEDIRS
-	$(COPYTREE) $(addsuffix /*,$(TARGET_EXAMPLEDIRS)) $(INSTALL_EXAMPLEDIR)
-endif
-.PHONY: fpc_clean fpc_cleanall fpc_distclean
-ifdef EXEFILES
-override CLEANEXEFILES:=$(addprefix $(TARGETDIRPREFIX),$(CLEANEXEFILES))
-endif
-ifdef CLEAN_UNITS
-override CLEANPPUFILES+=$(addsuffix $(PPUEXT),$(CLEAN_UNITS))
-endif
-ifdef CLEANPPUFILES
-override CLEANPPULINKFILES:=$(subst $(PPUEXT),$(OEXT),$(CLEANPPUFILES)) $(addprefix $(STATICLIBPREFIX),$(subst $(PPUEXT),$(STATICLIBEXT),$(CLEANPPUFILES))) $(addprefix $(IMPORTLIBPREFIX),$(subst $(PPUEXT),$(STATICLIBEXT),$(CLEANPPUFILES)))
-ifdef DEBUGSYMEXT
-override CLEANPPULINKFILES+=$(subst $(PPUEXT),$(DEBUGSYMEXT),$(CLEANPPUFILES))
-endif
-override CLEANPPUFILES:=$(addprefix $(UNITTARGETDIRPREFIX),$(CLEANPPUFILES))
-override CLEANPPULINKFILES:=$(wildcard $(addprefix $(UNITTARGETDIRPREFIX),$(CLEANPPULINKFILES)))
-endif
-fpc_clean: $(CLEANTARGET)
-ifdef CLEANEXEFILES
-	-$(DEL) $(CLEANEXEFILES)
-endif
-ifdef CLEANPPUFILES
-	-$(DEL) $(CLEANPPUFILES)
-endif
-ifneq ($(CLEANPPULINKFILES),)
-	-$(DEL) $(CLEANPPULINKFILES)
-endif
-ifdef CLEANRSTFILES
-	-$(DEL) $(addprefix $(UNITTARGETDIRPREFIX),$(CLEANRSTFILES))
-endif
-ifdef CLEAN_FILES
-	-$(DEL) $(CLEAN_FILES)
-endif
-ifdef LIB_NAME
-	-$(DEL) $(LIB_NAME) $(LIB_FULLNAME)
-endif
-	-$(DEL) $(FPCMADE) Package.fpc $(PPAS) script.res link.res $(FPCEXTFILE) $(REDIRFILE)
-	-$(DEL) *$(ASMEXT) *_ppas$(BATCHEXT)
-fpc_cleanall: $(CLEANTARGET)
-ifdef CLEANEXEFILES
-	-$(DEL) $(CLEANEXEFILES)
-endif
-ifdef COMPILER_UNITTARGETDIR
-ifdef CLEANPPUFILES
-	-$(DEL) $(CLEANPPUFILES)
-endif
-ifneq ($(CLEANPPULINKFILES),)
-	-$(DEL) $(CLEANPPULINKFILES)
-endif
-ifdef CLEANRSTFILES
-	-$(DEL) $(addprefix $(UNITTARGETDIRPREFIX),$(CLEANRSTFILES))
-endif
-endif
-	-$(DELTREE) units
-	-$(DEL) *$(OEXT) *$(PPUEXT) *$(RSTEXT) *$(ASMEXT) *$(STATICLIBEXT) *$(SHAREDLIBEXT) *$(PPLEXT)
-ifneq ($(PPUEXT),.ppu)
-	-$(DEL) *.o *.ppu *.a
-endif
-	-$(DELTREE) *$(SMARTEXT)
-	-$(DEL) fpcmade.* Package.fpc $(PPAS) script.res link.res $(FPCEXTFILE) $(REDIRFILE)
-	-$(DEL) *_ppas$(BATCHEXT)
-ifdef AOUTEXT
-	-$(DEL) *$(AOUTEXT)
-endif
-ifdef DEBUGSYMEXT
-	-$(DEL) *$(DEBUGSYMEXT)
-endif
-fpc_distclean: cleanall
-.PHONY: fpc_baseinfo
-override INFORULES+=fpc_baseinfo
-fpc_baseinfo:
-	@$(ECHO)
-	@$(ECHO)  == Package info ==
-	@$(ECHO)  Package Name..... $(PACKAGE_NAME)
-	@$(ECHO)  Package Version.. $(PACKAGE_VERSION)
-	@$(ECHO)
-	@$(ECHO)  == Configuration info ==
-	@$(ECHO)
-	@$(ECHO)  FPC.......... $(FPC)
-	@$(ECHO)  FPC Version.. $(FPC_VERSION)
-	@$(ECHO)  Source CPU... $(CPU_SOURCE)
-	@$(ECHO)  Target CPU... $(CPU_TARGET)
-	@$(ECHO)  Source OS.... $(OS_SOURCE)
-	@$(ECHO)  Target OS.... $(OS_TARGET)
-	@$(ECHO)  Full Source.. $(FULL_SOURCE)
-	@$(ECHO)  Full Target.. $(FULL_TARGET)
-	@$(ECHO)  SourceSuffix. $(SOURCESUFFIX)
-	@$(ECHO)  TargetSuffix. $(TARGETSUFFIX)
-	@$(ECHO)
-	@$(ECHO)  == Directory info ==
-	@$(ECHO)
-	@$(ECHO)  Required pkgs... $(REQUIRE_PACKAGES)
-	@$(ECHO)
-	@$(ECHO)  Basedir......... $(BASEDIR)
-	@$(ECHO)  FPCDir.......... $(FPCDIR)
-	@$(ECHO)  CrossBinDir..... $(CROSSBINDIR)
-	@$(ECHO)  UnitsDir........ $(UNITSDIR)
-	@$(ECHO)  PackagesDir..... $(PACKAGESDIR)
-	@$(ECHO)
-	@$(ECHO)  GCC library..... $(GCCLIBDIR)
-	@$(ECHO)  Other library... $(OTHERLIBDIR)
-	@$(ECHO)
-	@$(ECHO)  == Tools info ==
-	@$(ECHO)
-	@$(ECHO)  As........ $(AS)
-	@$(ECHO)  Ld........ $(LD)
-	@$(ECHO)  Ar........ $(AR)
-	@$(ECHO)  Rc........ $(RC)
-	@$(ECHO)
-	@$(ECHO)  Mv........ $(MVPROG)
-	@$(ECHO)  Cp........ $(CPPROG)
-	@$(ECHO)  Rm........ $(RMPROG)
-	@$(ECHO)  GInstall.. $(GINSTALL)
-	@$(ECHO)  Echo...... $(ECHO)
-	@$(ECHO)  Shell..... $(SHELL)
-	@$(ECHO)  Date...... $(DATE)
-	@$(ECHO)  FPCMake... $(FPCMAKE)
-	@$(ECHO)  PPUMove... $(PPUMOVE)
-	@$(ECHO)  Upx....... $(UPXPROG)
-	@$(ECHO)  Zip....... $(ZIPPROG)
-	@$(ECHO)
-	@$(ECHO)  == Object info ==
-	@$(ECHO)
-	@$(ECHO)  Target Loaders........ $(TARGET_LOADERS)
-	@$(ECHO)  Target Units.......... $(TARGET_UNITS)
-	@$(ECHO)  Target Implicit Units. $(TARGET_IMPLICITUNITS)
-	@$(ECHO)  Target Programs....... $(TARGET_PROGRAMS)
-	@$(ECHO)  Target Dirs........... $(TARGET_DIRS)
-	@$(ECHO)  Target Examples....... $(TARGET_EXAMPLES)
-	@$(ECHO)  Target ExampleDirs.... $(TARGET_EXAMPLEDIRS)
-	@$(ECHO)
-	@$(ECHO)  Clean Units......... $(CLEAN_UNITS)
-	@$(ECHO)  Clean Files......... $(CLEAN_FILES)
-	@$(ECHO)
-	@$(ECHO)  Install Units....... $(INSTALL_UNITS)
-	@$(ECHO)  Install Files....... $(INSTALL_FILES)
-	@$(ECHO)
-	@$(ECHO)  == Install info ==
-	@$(ECHO)
-	@$(ECHO)  DateStr.............. $(DATESTR)
-	@$(ECHO)  ZipName.............. $(ZIPNAME)
-	@$(ECHO)  ZipPrefix............ $(ZIPPREFIX)
-	@$(ECHO)  ZipCrossPrefix....... $(ZIPCROSSPREFIX)
-	@$(ECHO)  ZipSuffix............ $(ZIPSUFFIX)
-	@$(ECHO)  FullZipName.......... $(FULLZIPNAME)
-	@$(ECHO)  Install FPC Package.. $(INSTALL_FPCPACKAGE)
-	@$(ECHO)
-	@$(ECHO)  Install base dir..... $(INSTALL_BASEDIR)
-	@$(ECHO)  Install binary dir... $(INSTALL_BINDIR)
-	@$(ECHO)  Install library dir.. $(INSTALL_LIBDIR)
-	@$(ECHO)  Install units dir.... $(INSTALL_UNITDIR)
-	@$(ECHO)  Install source dir... $(INSTALL_SOURCEDIR)
-	@$(ECHO)  Install doc dir...... $(INSTALL_DOCDIR)
-	@$(ECHO)  Install example dir.. $(INSTALL_EXAMPLEDIR)
-	@$(ECHO)  Install data dir..... $(INSTALL_DATADIR)
-	@$(ECHO)
-	@$(ECHO)  Dist destination dir. $(DIST_DESTDIR)
-	@$(ECHO)  Dist zip name........ $(DIST_ZIPNAME)
-	@$(ECHO)
-.PHONY: fpc_info
-fpc_info: $(INFORULES)
-.PHONY: fpc_makefile fpc_makefiles fpc_makefile_sub1 fpc_makefile_sub2 \
-	fpc_makefile_dirs
-fpc_makefile:
-	$(FPCMAKE) -w -T$(OS_TARGET) Makefile.fpc
-fpc_makefile_sub1:
-ifdef TARGET_DIRS
-	$(FPCMAKE) -w -T$(OS_TARGET) $(addsuffix /Makefile.fpc,$(TARGET_DIRS))
-endif
-ifdef TARGET_EXAMPLEDIRS
-	$(FPCMAKE) -w -T$(OS_TARGET) $(addsuffix /Makefile.fpc,$(TARGET_EXAMPLEDIRS))
-endif
-fpc_makefile_sub2: $(addsuffix _makefile_dirs,$(TARGET_DIRS) $(TARGET_EXAMPLEDIRS))
-fpc_makefile_dirs: fpc_makefile_sub1 fpc_makefile_sub2
-fpc_makefiles: fpc_makefile fpc_makefile_dirs
-ifndef BIN2S
-BIN2S:=$(strip $(wildcard $(addsuffix /bin2s$(SRCEXEEXT),$(SEARCHPATH))))
-ifeq ($(BIN2S),)
-BIN2S= __missing_command_BIN2S
-else
-BIN2S:=$(firstword $(BIN2S))
-endif
-endif
-export BIN2S
-all: fpc_all
-debug: fpc_debug
-smart: fpc_smart
-release: fpc_release
-units: fpc_units
-examples:
-shared: fpc_shared
-install: fpc_install
-sourceinstall: fpc_sourceinstall
-exampleinstall: fpc_exampleinstall
-distinstall:
-zipinstall:
-zipsourceinstall:
-zipexampleinstall:
-zipdistinstall:
-clean: fpc_clean
-distclean: fpc_distclean
-cleanall: fpc_cleanall
-info: fpc_info
-makefiles: fpc_makefiles
-.PHONY: all debug smart release units examples shared install sourceinstall exampleinstall distinstall zipinstall zipsourceinstall zipexampleinstall zipdistinstall clean distclean cleanall info makefiles
-ifneq ($(wildcard fpcmake.loc),)
-include fpcmake.loc
-endif
-.NOTPARALLEL:
-ifneq ($(BIN2S),)
-$(DATA_FILES).o:
-	$(BIN2S) $(DATA_FILES) > $(DATA_FILES).s
-	$(AS) -o $(DATA_FILES).o $(DATA_FILES).s
-endif
diff --git a/packages/libgbafpc/examples/devkitPro/graphics/PCXView/Makefile.fpc b/packages/libgbafpc/examples/devkitPro/graphics/PCXView/Makefile.fpc
deleted file mode 100644
index f91f7bf6a2..0000000000
--- a/packages/libgbafpc/examples/devkitPro/graphics/PCXView/Makefile.fpc
+++ /dev/null
@@ -1,34 +0,0 @@
-#
-#   Makefile.fpc for Free Pascal libgbafpc 2.x.y Examples
-#
-
-[target]
-loaders=$(DATA_FILES)
-programs=pcx_view
-
-[require]
-packages=libgbafpc
-tools=bin2s
-
-[install]
-fpcpackage=y
-
-[default]
-cpu=arm
-target=gba
-fpcdir=../../../../../..
-
-[clean]
-files=*.elf data/*.o data/*.s
-units=*
-
-[prerules]
-DATA_FILES=data/splash.pcx
-
-[rules]
-.NOTPARALLEL:
-ifneq ($(BIN2S),)
-$(DATA_FILES).o:
-        $(BIN2S) $(DATA_FILES) > $(DATA_FILES).s
-        $(AS) -o $(DATA_FILES).o $(DATA_FILES).s
-endif
diff --git a/packages/libgbafpc/examples/devkitPro/graphics/PCXView/data/ScoutSplash.pcx b/packages/libgbafpc/examples/devkitPro/graphics/PCXView/data/ScoutSplash.pcx
deleted file mode 100644
index e75ce72429e2cb215f432a6167756c35f3bb73f2..0000000000000000000000000000000000000000
GIT binary patch
literal 0
HcmV?d00001

literal 14491
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

diff --git a/packages/libgbafpc/examples/devkitPro/graphics/PCXView/data/splash.pcx b/packages/libgbafpc/examples/devkitPro/graphics/PCXView/data/splash.pcx
deleted file mode 100644
index 908f659459cba2e8f57a7b7d939606873f4a3b08..0000000000000000000000000000000000000000
GIT binary patch
literal 0
HcmV?d00001

literal 9461
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
M_T0Jqe?RGe0q48B6951J

diff --git a/packages/libgbafpc/examples/devkitPro/graphics/PCXView/pcx_view.pp b/packages/libgbafpc/examples/devkitPro/graphics/PCXView/pcx_view.pp
deleted file mode 100644
index 645aff4ef6..0000000000
--- a/packages/libgbafpc/examples/devkitPro/graphics/PCXView/pcx_view.pp
+++ /dev/null
@@ -1,46 +0,0 @@
-program pcx_view;
-
-uses
-  ctypes, gba;
-
-{$l data/splash.pcx.o}
-
-var
-  PaletteBuffer: array [0..255] of cuint16;
-  frame: cuint;
-
-  splash_pcx_end: array [0..0] of cuint8; cvar; external;
-  splash_pcx: array [0..0] of cuint8; cvar; external;
-  splash_pcx_size: array [0..0] of cuint32; cvar; external;
-
-
-procedure VblankInterrupt();
-begin
-  frame := frame + 1;
-  scanKeys();
-end;
-
-
-
-begin
-  // Set up the interrupt handlers
-  irqInit();
-  irqSet(IRQ_VBLANK, @VblankInterrupt);
-  
-  // Enable Vblank Interrupt to allow VblankIntrWait
-  irqEnable(IRQ_VBLANK);
-  
-  // Allow Interrupts
-  REG_IME^ := 1;
-  
-  SetMode(MODE_4 or BG2_ON);		// screen mode & background to display
-  
-  DecodePCX(@splash_pcx, pcuint16(VRAM), @PaletteBuffer);
-  
-  FadeToPalette(PaletteBuffer, 60);
-  
-  while true do
-    VBlankIntrWait();
-end.
-
-
diff --git a/packages/libgbafpc/examples/devkitPro/graphics/SimpleBGScroll/Makefile b/packages/libgbafpc/examples/devkitPro/graphics/SimpleBGScroll/Makefile
deleted file mode 100644
index a9627965d2..0000000000
--- a/packages/libgbafpc/examples/devkitPro/graphics/SimpleBGScroll/Makefile
+++ /dev/null
@@ -1,2573 +0,0 @@
-#
-# Don't edit, this file is generated by FPCMake Version 2.0.0 [2009/08/02]
-#
-default: all
-MAKEFILETARGETS=i386-linux i386-go32v2 i386-win32 i386-os2 i386-freebsd i386-beos i386-haiku i386-netbsd i386-solaris i386-qnx i386-netware i386-openbsd i386-wdosx i386-darwin i386-emx i386-watcom i386-netwlibc i386-wince i386-embedded i386-symbian m68k-linux m68k-freebsd m68k-netbsd m68k-amiga m68k-atari m68k-openbsd m68k-palmos m68k-embedded powerpc-linux powerpc-netbsd powerpc-amiga powerpc-macos powerpc-darwin powerpc-morphos powerpc-embedded sparc-linux sparc-netbsd sparc-solaris sparc-embedded x86_64-linux x86_64-freebsd x86_64-darwin x86_64-win64 x86_64-embedded arm-linux arm-palmos arm-darwin arm-wince arm-gba arm-nds arm-embedded arm-symbian powerpc64-linux powerpc64-darwin powerpc64-embedded avr-embedded armeb-linux armeb-embedded
-BSDs = freebsd netbsd openbsd darwin
-UNIXs = linux $(BSDs) solaris qnx
-LIMIT83fs = go32v2 os2 emx watcom
-OSNeedsComspecToRunBatch = go32v2 watcom
-FORCE:
-.PHONY: FORCE
-override PATH:=$(patsubst %/,%,$(subst \,/,$(PATH)))
-ifneq ($(findstring darwin,$(OSTYPE)),)
-inUnix=1 #darwin
-SEARCHPATH:=$(filter-out .,$(subst :, ,$(PATH)))
-else
-ifeq ($(findstring ;,$(PATH)),)
-inUnix=1
-SEARCHPATH:=$(filter-out .,$(subst :, ,$(PATH)))
-else
-SEARCHPATH:=$(subst ;, ,$(PATH))
-endif
-endif
-SEARCHPATH+=$(patsubst %/,%,$(subst \,/,$(dir $(MAKE))))
-PWD:=$(strip $(wildcard $(addsuffix /pwd.exe,$(SEARCHPATH))))
-ifeq ($(PWD),)
-PWD:=$(strip $(wildcard $(addsuffix /pwd,$(SEARCHPATH))))
-ifeq ($(PWD),)
-$(error You need the GNU utils package to use this Makefile)
-else
-PWD:=$(firstword $(PWD))
-SRCEXEEXT=
-endif
-else
-PWD:=$(firstword $(PWD))
-SRCEXEEXT=.exe
-endif
-ifndef inUnix
-ifeq ($(OS),Windows_NT)
-inWinNT=1
-else
-ifdef OS2_SHELL
-inOS2=1
-endif
-endif
-else
-ifneq ($(findstring cygdrive,$(PATH)),)
-inCygWin=1
-endif
-endif
-ifdef inUnix
-SRCBATCHEXT=.sh
-else
-ifdef inOS2
-SRCBATCHEXT=.cmd
-else
-SRCBATCHEXT=.bat
-endif
-endif
-ifdef COMSPEC
-ifneq ($(findstring $(OS_SOURCE),$(OSNeedsComspecToRunBatch)),)
-ifndef RUNBATCH
-RUNBATCH=$(COMSPEC) /C
-endif
-endif
-endif
-ifdef inUnix
-PATHSEP=/
-else
-PATHSEP:=$(subst /,\,/)
-ifdef inCygWin
-PATHSEP=/
-endif
-endif
-ifdef PWD
-BASEDIR:=$(subst \,/,$(shell $(PWD)))
-ifdef inCygWin
-ifneq ($(findstring /cygdrive/,$(BASEDIR)),)
-BASENODIR:=$(patsubst /cygdrive%,%,$(BASEDIR))
-BASEDRIVE:=$(firstword $(subst /, ,$(BASENODIR)))
-BASEDIR:=$(subst /cygdrive/$(BASEDRIVE)/,$(BASEDRIVE):/,$(BASEDIR))
-endif
-endif
-else
-BASEDIR=.
-endif
-ifdef inOS2
-ifndef ECHO
-ECHO:=$(strip $(wildcard $(addsuffix /gecho$(SRCEXEEXT),$(SEARCHPATH))))
-ifeq ($(ECHO),)
-ECHO:=$(strip $(wildcard $(addsuffix /echo$(SRCEXEEXT),$(SEARCHPATH))))
-ifeq ($(ECHO),)
-ECHO=echo
-else
-ECHO:=$(firstword $(ECHO))
-endif
-else
-ECHO:=$(firstword $(ECHO))
-endif
-endif
-export ECHO
-endif
-override OS_TARGET_DEFAULT=gba
-override CPU_TARGET_DEFAULT=arm
-override DEFAULT_FPCDIR=../../../../../..
-ifndef FPC
-ifdef PP
-FPC=$(PP)
-endif
-endif
-ifndef FPC
-FPCPROG:=$(strip $(wildcard $(addsuffix /fpc$(SRCEXEEXT),$(SEARCHPATH))))
-ifneq ($(FPCPROG),)
-FPCPROG:=$(firstword $(FPCPROG))
-ifneq ($(CPU_TARGET),)
-FPC:=$(shell $(FPCPROG) -P$(CPU_TARGET) -PB)
-else
-FPC:=$(shell $(FPCPROG) -PB)
-endif
-ifneq ($(findstring Error,$(FPC)),)
-override FPC=$(firstword $(strip $(wildcard $(addsuffix /ppc386$(SRCEXEEXT),$(SEARCHPATH)))))
-else
-ifeq ($(strip $(wildcard $(FPC))),)
-FPC:=$(firstword $(FPCPROG))
-endif
-endif
-else
-override FPC=$(firstword $(strip $(wildcard $(addsuffix /ppc386$(SRCEXEEXT),$(SEARCHPATH)))))
-endif
-endif
-override FPC:=$(subst $(SRCEXEEXT),,$(FPC))
-override FPC:=$(subst \,/,$(FPC))$(SRCEXEEXT)
-FOUNDFPC:=$(strip $(wildcard $(FPC)))
-ifeq ($(FOUNDFPC),)
-FOUNDFPC=$(strip $(wildcard $(addsuffix /$(FPC),$(SEARCHPATH))))
-ifeq ($(FOUNDFPC),)
-$(error Compiler $(FPC) not found)
-endif
-endif
-ifndef FPC_COMPILERINFO
-FPC_COMPILERINFO:=$(shell $(FPC) -iVSPTPSOTO)
-endif
-ifndef FPC_VERSION
-FPC_VERSION:=$(word 1,$(FPC_COMPILERINFO))
-endif
-export FPC FPC_VERSION FPC_COMPILERINFO
-unexport CHECKDEPEND ALLDEPENDENCIES
-ifndef CPU_TARGET
-ifdef CPU_TARGET_DEFAULT
-CPU_TARGET=$(CPU_TARGET_DEFAULT)
-endif
-endif
-ifndef OS_TARGET
-ifdef OS_TARGET_DEFAULT
-OS_TARGET=$(OS_TARGET_DEFAULT)
-endif
-endif
-ifneq ($(words $(FPC_COMPILERINFO)),5)
-FPC_COMPILERINFO+=$(shell $(FPC) -iSP)
-FPC_COMPILERINFO+=$(shell $(FPC) -iTP)
-FPC_COMPILERINFO+=$(shell $(FPC) -iSO)
-FPC_COMPILERINFO+=$(shell $(FPC) -iTO)
-endif
-ifndef CPU_SOURCE
-CPU_SOURCE:=$(word 2,$(FPC_COMPILERINFO))
-endif
-ifndef CPU_TARGET
-CPU_TARGET:=$(word 3,$(FPC_COMPILERINFO))
-endif
-ifndef OS_SOURCE
-OS_SOURCE:=$(word 4,$(FPC_COMPILERINFO))
-endif
-ifndef OS_TARGET
-OS_TARGET:=$(word 5,$(FPC_COMPILERINFO))
-endif
-FULL_TARGET=$(CPU_TARGET)-$(OS_TARGET)
-FULL_SOURCE=$(CPU_SOURCE)-$(OS_SOURCE)
-ifeq ($(CPU_TARGET),armeb)
-ARCH=arm
-override FPCOPT+=-Cb
-else
-ifeq ($(CPU_TARGET),armel)
-ARCH=arm
-override FPCOPT+=-CaEABI
-else
-ARCH=$(CPU_TARGET)
-endif
-endif
-ifneq ($(findstring $(OS_SOURCE),$(LIMIT83fs)),)
-TARGETSUFFIX=$(OS_TARGET)
-SOURCESUFFIX=$(OS_SOURCE)
-else
-TARGETSUFFIX=$(FULL_TARGET)
-SOURCESUFFIX=$(FULL_SOURCE)
-endif
-ifneq ($(FULL_TARGET),$(FULL_SOURCE))
-CROSSCOMPILE=1
-endif
-ifeq ($(findstring makefile,$(MAKECMDGOALS)),)
-ifeq ($(findstring $(FULL_TARGET),$(MAKEFILETARGETS)),)
-$(error The Makefile doesn't support target $(FULL_TARGET), please run fpcmake first)
-endif
-endif
-ifneq ($(findstring $(OS_TARGET),$(BSDs)),)
-BSDhier=1
-endif
-ifeq ($(OS_TARGET),linux)
-linuxHier=1
-endif
-export OS_TARGET OS_SOURCE ARCH CPU_TARGET CPU_SOURCE FULL_TARGET FULL_SOURCE TARGETSUFFIX SOURCESUFFIX CROSSCOMPILE
-ifdef FPCDIR
-override FPCDIR:=$(subst \,/,$(FPCDIR))
-ifeq ($(wildcard $(addprefix $(FPCDIR)/,rtl units)),)
-override FPCDIR=wrong
-endif
-else
-override FPCDIR=wrong
-endif
-ifdef DEFAULT_FPCDIR
-ifeq ($(FPCDIR),wrong)
-override FPCDIR:=$(subst \,/,$(DEFAULT_FPCDIR))
-ifeq ($(wildcard $(addprefix $(FPCDIR)/,rtl units)),)
-override FPCDIR=wrong
-endif
-endif
-endif
-ifeq ($(FPCDIR),wrong)
-ifdef inUnix
-override FPCDIR=/usr/local/lib/fpc/$(FPC_VERSION)
-ifeq ($(wildcard $(FPCDIR)/units),)
-override FPCDIR=/usr/lib/fpc/$(FPC_VERSION)
-endif
-else
-override FPCDIR:=$(subst /$(FPC),,$(firstword $(strip $(wildcard $(addsuffix /$(FPC),$(SEARCHPATH))))))
-override FPCDIR:=$(FPCDIR)/..
-ifeq ($(wildcard $(addprefix $(FPCDIR)/,rtl units)),)
-override FPCDIR:=$(FPCDIR)/..
-ifeq ($(wildcard $(addprefix $(FPCDIR)/,rtl units)),)
-override FPCDIR:=$(BASEDIR)
-ifeq ($(wildcard $(addprefix $(FPCDIR)/,rtl units)),)
-override FPCDIR=c:/pp
-endif
-endif
-endif
-endif
-endif
-ifndef CROSSBINDIR
-CROSSBINDIR:=$(wildcard $(FPCDIR)/bin/$(TARGETSUFFIX))
-endif
-ifeq ($(OS_TARGET),darwin)
-ifeq ($(OS_SOURCE),darwin)
-DARWIN2DARWIN=1
-endif
-endif
-ifndef BINUTILSPREFIX
-ifndef CROSSBINDIR
-ifdef CROSSCOMPILE
-ifndef DARWIN2DARWIN
-BINUTILSPREFIX=$(CPU_TARGET)-$(OS_TARGET)-
-endif
-endif
-endif
-endif
-UNITSDIR:=$(wildcard $(FPCDIR)/units/$(TARGETSUFFIX))
-ifeq ($(UNITSDIR),)
-UNITSDIR:=$(wildcard $(FPCDIR)/units/$(OS_TARGET))
-endif
-PACKAGESDIR:=$(wildcard $(FPCDIR) $(FPCDIR)/packages $(FPCDIR)/packages/base $(FPCDIR)/packages/extra)
-ifeq ($(FULL_TARGET),i386-linux)
-override TARGET_PROGRAMS+=SimpleBGScroll
-endif
-ifeq ($(FULL_TARGET),i386-go32v2)
-override TARGET_PROGRAMS+=SimpleBGScroll
-endif
-ifeq ($(FULL_TARGET),i386-win32)
-override TARGET_PROGRAMS+=SimpleBGScroll
-endif
-ifeq ($(FULL_TARGET),i386-os2)
-override TARGET_PROGRAMS+=SimpleBGScroll
-endif
-ifeq ($(FULL_TARGET),i386-freebsd)
-override TARGET_PROGRAMS+=SimpleBGScroll
-endif
-ifeq ($(FULL_TARGET),i386-beos)
-override TARGET_PROGRAMS+=SimpleBGScroll
-endif
-ifeq ($(FULL_TARGET),i386-haiku)
-override TARGET_PROGRAMS+=SimpleBGScroll
-endif
-ifeq ($(FULL_TARGET),i386-netbsd)
-override TARGET_PROGRAMS+=SimpleBGScroll
-endif
-ifeq ($(FULL_TARGET),i386-solaris)
-override TARGET_PROGRAMS+=SimpleBGScroll
-endif
-ifeq ($(FULL_TARGET),i386-qnx)
-override TARGET_PROGRAMS+=SimpleBGScroll
-endif
-ifeq ($(FULL_TARGET),i386-netware)
-override TARGET_PROGRAMS+=SimpleBGScroll
-endif
-ifeq ($(FULL_TARGET),i386-openbsd)
-override TARGET_PROGRAMS+=SimpleBGScroll
-endif
-ifeq ($(FULL_TARGET),i386-wdosx)
-override TARGET_PROGRAMS+=SimpleBGScroll
-endif
-ifeq ($(FULL_TARGET),i386-darwin)
-override TARGET_PROGRAMS+=SimpleBGScroll
-endif
-ifeq ($(FULL_TARGET),i386-emx)
-override TARGET_PROGRAMS+=SimpleBGScroll
-endif
-ifeq ($(FULL_TARGET),i386-watcom)
-override TARGET_PROGRAMS+=SimpleBGScroll
-endif
-ifeq ($(FULL_TARGET),i386-netwlibc)
-override TARGET_PROGRAMS+=SimpleBGScroll
-endif
-ifeq ($(FULL_TARGET),i386-wince)
-override TARGET_PROGRAMS+=SimpleBGScroll
-endif
-ifeq ($(FULL_TARGET),i386-embedded)
-override TARGET_PROGRAMS+=SimpleBGScroll
-endif
-ifeq ($(FULL_TARGET),i386-symbian)
-override TARGET_PROGRAMS+=SimpleBGScroll
-endif
-ifeq ($(FULL_TARGET),m68k-linux)
-override TARGET_PROGRAMS+=SimpleBGScroll
-endif
-ifeq ($(FULL_TARGET),m68k-freebsd)
-override TARGET_PROGRAMS+=SimpleBGScroll
-endif
-ifeq ($(FULL_TARGET),m68k-netbsd)
-override TARGET_PROGRAMS+=SimpleBGScroll
-endif
-ifeq ($(FULL_TARGET),m68k-amiga)
-override TARGET_PROGRAMS+=SimpleBGScroll
-endif
-ifeq ($(FULL_TARGET),m68k-atari)
-override TARGET_PROGRAMS+=SimpleBGScroll
-endif
-ifeq ($(FULL_TARGET),m68k-openbsd)
-override TARGET_PROGRAMS+=SimpleBGScroll
-endif
-ifeq ($(FULL_TARGET),m68k-palmos)
-override TARGET_PROGRAMS+=SimpleBGScroll
-endif
-ifeq ($(FULL_TARGET),m68k-embedded)
-override TARGET_PROGRAMS+=SimpleBGScroll
-endif
-ifeq ($(FULL_TARGET),powerpc-linux)
-override TARGET_PROGRAMS+=SimpleBGScroll
-endif
-ifeq ($(FULL_TARGET),powerpc-netbsd)
-override TARGET_PROGRAMS+=SimpleBGScroll
-endif
-ifeq ($(FULL_TARGET),powerpc-amiga)
-override TARGET_PROGRAMS+=SimpleBGScroll
-endif
-ifeq ($(FULL_TARGET),powerpc-macos)
-override TARGET_PROGRAMS+=SimpleBGScroll
-endif
-ifeq ($(FULL_TARGET),powerpc-darwin)
-override TARGET_PROGRAMS+=SimpleBGScroll
-endif
-ifeq ($(FULL_TARGET),powerpc-morphos)
-override TARGET_PROGRAMS+=SimpleBGScroll
-endif
-ifeq ($(FULL_TARGET),powerpc-embedded)
-override TARGET_PROGRAMS+=SimpleBGScroll
-endif
-ifeq ($(FULL_TARGET),sparc-linux)
-override TARGET_PROGRAMS+=SimpleBGScroll
-endif
-ifeq ($(FULL_TARGET),sparc-netbsd)
-override TARGET_PROGRAMS+=SimpleBGScroll
-endif
-ifeq ($(FULL_TARGET),sparc-solaris)
-override TARGET_PROGRAMS+=SimpleBGScroll
-endif
-ifeq ($(FULL_TARGET),sparc-embedded)
-override TARGET_PROGRAMS+=SimpleBGScroll
-endif
-ifeq ($(FULL_TARGET),x86_64-linux)
-override TARGET_PROGRAMS+=SimpleBGScroll
-endif
-ifeq ($(FULL_TARGET),x86_64-freebsd)
-override TARGET_PROGRAMS+=SimpleBGScroll
-endif
-ifeq ($(FULL_TARGET),x86_64-darwin)
-override TARGET_PROGRAMS+=SimpleBGScroll
-endif
-ifeq ($(FULL_TARGET),x86_64-win64)
-override TARGET_PROGRAMS+=SimpleBGScroll
-endif
-ifeq ($(FULL_TARGET),x86_64-embedded)
-override TARGET_PROGRAMS+=SimpleBGScroll
-endif
-ifeq ($(FULL_TARGET),arm-linux)
-override TARGET_PROGRAMS+=SimpleBGScroll
-endif
-ifeq ($(FULL_TARGET),arm-palmos)
-override TARGET_PROGRAMS+=SimpleBGScroll
-endif
-ifeq ($(FULL_TARGET),arm-darwin)
-override TARGET_PROGRAMS+=SimpleBGScroll
-endif
-ifeq ($(FULL_TARGET),arm-wince)
-override TARGET_PROGRAMS+=SimpleBGScroll
-endif
-ifeq ($(FULL_TARGET),arm-gba)
-override TARGET_PROGRAMS+=SimpleBGScroll
-endif
-ifeq ($(FULL_TARGET),arm-nds)
-override TARGET_PROGRAMS+=SimpleBGScroll
-endif
-ifeq ($(FULL_TARGET),arm-embedded)
-override TARGET_PROGRAMS+=SimpleBGScroll
-endif
-ifeq ($(FULL_TARGET),arm-symbian)
-override TARGET_PROGRAMS+=SimpleBGScroll
-endif
-ifeq ($(FULL_TARGET),powerpc64-linux)
-override TARGET_PROGRAMS+=SimpleBGScroll
-endif
-ifeq ($(FULL_TARGET),powerpc64-darwin)
-override TARGET_PROGRAMS+=SimpleBGScroll
-endif
-ifeq ($(FULL_TARGET),powerpc64-embedded)
-override TARGET_PROGRAMS+=SimpleBGScroll
-endif
-ifeq ($(FULL_TARGET),avr-embedded)
-override TARGET_PROGRAMS+=SimpleBGScroll
-endif
-ifeq ($(FULL_TARGET),armeb-linux)
-override TARGET_PROGRAMS+=SimpleBGScroll
-endif
-ifeq ($(FULL_TARGET),armeb-embedded)
-override TARGET_PROGRAMS+=SimpleBGScroll
-endif
-ifeq ($(FULL_TARGET),i386-linux)
-override TARGET_LOADERS+=data/r6502_portfont.bin
-endif
-ifeq ($(FULL_TARGET),i386-go32v2)
-override TARGET_LOADERS+=data/r6502_portfont.bin
-endif
-ifeq ($(FULL_TARGET),i386-win32)
-override TARGET_LOADERS+=data/r6502_portfont.bin
-endif
-ifeq ($(FULL_TARGET),i386-os2)
-override TARGET_LOADERS+=data/r6502_portfont.bin
-endif
-ifeq ($(FULL_TARGET),i386-freebsd)
-override TARGET_LOADERS+=data/r6502_portfont.bin
-endif
-ifeq ($(FULL_TARGET),i386-beos)
-override TARGET_LOADERS+=data/r6502_portfont.bin
-endif
-ifeq ($(FULL_TARGET),i386-haiku)
-override TARGET_LOADERS+=data/r6502_portfont.bin
-endif
-ifeq ($(FULL_TARGET),i386-netbsd)
-override TARGET_LOADERS+=data/r6502_portfont.bin
-endif
-ifeq ($(FULL_TARGET),i386-solaris)
-override TARGET_LOADERS+=data/r6502_portfont.bin
-endif
-ifeq ($(FULL_TARGET),i386-qnx)
-override TARGET_LOADERS+=data/r6502_portfont.bin
-endif
-ifeq ($(FULL_TARGET),i386-netware)
-override TARGET_LOADERS+=data/r6502_portfont.bin
-endif
-ifeq ($(FULL_TARGET),i386-openbsd)
-override TARGET_LOADERS+=data/r6502_portfont.bin
-endif
-ifeq ($(FULL_TARGET),i386-wdosx)
-override TARGET_LOADERS+=data/r6502_portfont.bin
-endif
-ifeq ($(FULL_TARGET),i386-darwin)
-override TARGET_LOADERS+=data/r6502_portfont.bin
-endif
-ifeq ($(FULL_TARGET),i386-emx)
-override TARGET_LOADERS+=data/r6502_portfont.bin
-endif
-ifeq ($(FULL_TARGET),i386-watcom)
-override TARGET_LOADERS+=data/r6502_portfont.bin
-endif
-ifeq ($(FULL_TARGET),i386-netwlibc)
-override TARGET_LOADERS+=data/r6502_portfont.bin
-endif
-ifeq ($(FULL_TARGET),i386-wince)
-override TARGET_LOADERS+=data/r6502_portfont.bin
-endif
-ifeq ($(FULL_TARGET),i386-embedded)
-override TARGET_LOADERS+=data/r6502_portfont.bin
-endif
-ifeq ($(FULL_TARGET),i386-symbian)
-override TARGET_LOADERS+=data/r6502_portfont.bin
-endif
-ifeq ($(FULL_TARGET),m68k-linux)
-override TARGET_LOADERS+=data/r6502_portfont.bin
-endif
-ifeq ($(FULL_TARGET),m68k-freebsd)
-override TARGET_LOADERS+=data/r6502_portfont.bin
-endif
-ifeq ($(FULL_TARGET),m68k-netbsd)
-override TARGET_LOADERS+=data/r6502_portfont.bin
-endif
-ifeq ($(FULL_TARGET),m68k-amiga)
-override TARGET_LOADERS+=data/r6502_portfont.bin
-endif
-ifeq ($(FULL_TARGET),m68k-atari)
-override TARGET_LOADERS+=data/r6502_portfont.bin
-endif
-ifeq ($(FULL_TARGET),m68k-openbsd)
-override TARGET_LOADERS+=data/r6502_portfont.bin
-endif
-ifeq ($(FULL_TARGET),m68k-palmos)
-override TARGET_LOADERS+=data/r6502_portfont.bin
-endif
-ifeq ($(FULL_TARGET),m68k-embedded)
-override TARGET_LOADERS+=data/r6502_portfont.bin
-endif
-ifeq ($(FULL_TARGET),powerpc-linux)
-override TARGET_LOADERS+=data/r6502_portfont.bin
-endif
-ifeq ($(FULL_TARGET),powerpc-netbsd)
-override TARGET_LOADERS+=data/r6502_portfont.bin
-endif
-ifeq ($(FULL_TARGET),powerpc-amiga)
-override TARGET_LOADERS+=data/r6502_portfont.bin
-endif
-ifeq ($(FULL_TARGET),powerpc-macos)
-override TARGET_LOADERS+=data/r6502_portfont.bin
-endif
-ifeq ($(FULL_TARGET),powerpc-darwin)
-override TARGET_LOADERS+=data/r6502_portfont.bin
-endif
-ifeq ($(FULL_TARGET),powerpc-morphos)
-override TARGET_LOADERS+=data/r6502_portfont.bin
-endif
-ifeq ($(FULL_TARGET),powerpc-embedded)
-override TARGET_LOADERS+=data/r6502_portfont.bin
-endif
-ifeq ($(FULL_TARGET),sparc-linux)
-override TARGET_LOADERS+=data/r6502_portfont.bin
-endif
-ifeq ($(FULL_TARGET),sparc-netbsd)
-override TARGET_LOADERS+=data/r6502_portfont.bin
-endif
-ifeq ($(FULL_TARGET),sparc-solaris)
-override TARGET_LOADERS+=data/r6502_portfont.bin
-endif
-ifeq ($(FULL_TARGET),sparc-embedded)
-override TARGET_LOADERS+=data/r6502_portfont.bin
-endif
-ifeq ($(FULL_TARGET),x86_64-linux)
-override TARGET_LOADERS+=data/r6502_portfont.bin
-endif
-ifeq ($(FULL_TARGET),x86_64-freebsd)
-override TARGET_LOADERS+=data/r6502_portfont.bin
-endif
-ifeq ($(FULL_TARGET),x86_64-darwin)
-override TARGET_LOADERS+=data/r6502_portfont.bin
-endif
-ifeq ($(FULL_TARGET),x86_64-win64)
-override TARGET_LOADERS+=data/r6502_portfont.bin
-endif
-ifeq ($(FULL_TARGET),x86_64-embedded)
-override TARGET_LOADERS+=data/r6502_portfont.bin
-endif
-ifeq ($(FULL_TARGET),arm-linux)
-override TARGET_LOADERS+=data/r6502_portfont.bin
-endif
-ifeq ($(FULL_TARGET),arm-palmos)
-override TARGET_LOADERS+=data/r6502_portfont.bin
-endif
-ifeq ($(FULL_TARGET),arm-darwin)
-override TARGET_LOADERS+=data/r6502_portfont.bin
-endif
-ifeq ($(FULL_TARGET),arm-wince)
-override TARGET_LOADERS+=data/r6502_portfont.bin
-endif
-ifeq ($(FULL_TARGET),arm-gba)
-override TARGET_LOADERS+=data/r6502_portfont.bin
-endif
-ifeq ($(FULL_TARGET),arm-nds)
-override TARGET_LOADERS+=data/r6502_portfont.bin
-endif
-ifeq ($(FULL_TARGET),arm-embedded)
-override TARGET_LOADERS+=data/r6502_portfont.bin
-endif
-ifeq ($(FULL_TARGET),arm-symbian)
-override TARGET_LOADERS+=data/r6502_portfont.bin
-endif
-ifeq ($(FULL_TARGET),powerpc64-linux)
-override TARGET_LOADERS+=data/r6502_portfont.bin
-endif
-ifeq ($(FULL_TARGET),powerpc64-darwin)
-override TARGET_LOADERS+=data/r6502_portfont.bin
-endif
-ifeq ($(FULL_TARGET),powerpc64-embedded)
-override TARGET_LOADERS+=data/r6502_portfont.bin
-endif
-ifeq ($(FULL_TARGET),avr-embedded)
-override TARGET_LOADERS+=data/r6502_portfont.bin
-endif
-ifeq ($(FULL_TARGET),armeb-linux)
-override TARGET_LOADERS+=data/r6502_portfont.bin
-endif
-ifeq ($(FULL_TARGET),armeb-embedded)
-override TARGET_LOADERS+=data/r6502_portfont.bin
-endif
-ifeq ($(FULL_TARGET),i386-linux)
-override CLEAN_UNITS+=*
-endif
-ifeq ($(FULL_TARGET),i386-go32v2)
-override CLEAN_UNITS+=*
-endif
-ifeq ($(FULL_TARGET),i386-win32)
-override CLEAN_UNITS+=*
-endif
-ifeq ($(FULL_TARGET),i386-os2)
-override CLEAN_UNITS+=*
-endif
-ifeq ($(FULL_TARGET),i386-freebsd)
-override CLEAN_UNITS+=*
-endif
-ifeq ($(FULL_TARGET),i386-beos)
-override CLEAN_UNITS+=*
-endif
-ifeq ($(FULL_TARGET),i386-haiku)
-override CLEAN_UNITS+=*
-endif
-ifeq ($(FULL_TARGET),i386-netbsd)
-override CLEAN_UNITS+=*
-endif
-ifeq ($(FULL_TARGET),i386-solaris)
-override CLEAN_UNITS+=*
-endif
-ifeq ($(FULL_TARGET),i386-qnx)
-override CLEAN_UNITS+=*
-endif
-ifeq ($(FULL_TARGET),i386-netware)
-override CLEAN_UNITS+=*
-endif
-ifeq ($(FULL_TARGET),i386-openbsd)
-override CLEAN_UNITS+=*
-endif
-ifeq ($(FULL_TARGET),i386-wdosx)
-override CLEAN_UNITS+=*
-endif
-ifeq ($(FULL_TARGET),i386-darwin)
-override CLEAN_UNITS+=*
-endif
-ifeq ($(FULL_TARGET),i386-emx)
-override CLEAN_UNITS+=*
-endif
-ifeq ($(FULL_TARGET),i386-watcom)
-override CLEAN_UNITS+=*
-endif
-ifeq ($(FULL_TARGET),i386-netwlibc)
-override CLEAN_UNITS+=*
-endif
-ifeq ($(FULL_TARGET),i386-wince)
-override CLEAN_UNITS+=*
-endif
-ifeq ($(FULL_TARGET),i386-embedded)
-override CLEAN_UNITS+=*
-endif
-ifeq ($(FULL_TARGET),i386-symbian)
-override CLEAN_UNITS+=*
-endif
-ifeq ($(FULL_TARGET),m68k-linux)
-override CLEAN_UNITS+=*
-endif
-ifeq ($(FULL_TARGET),m68k-freebsd)
-override CLEAN_UNITS+=*
-endif
-ifeq ($(FULL_TARGET),m68k-netbsd)
-override CLEAN_UNITS+=*
-endif
-ifeq ($(FULL_TARGET),m68k-amiga)
-override CLEAN_UNITS+=*
-endif
-ifeq ($(FULL_TARGET),m68k-atari)
-override CLEAN_UNITS+=*
-endif
-ifeq ($(FULL_TARGET),m68k-openbsd)
-override CLEAN_UNITS+=*
-endif
-ifeq ($(FULL_TARGET),m68k-palmos)
-override CLEAN_UNITS+=*
-endif
-ifeq ($(FULL_TARGET),m68k-embedded)
-override CLEAN_UNITS+=*
-endif
-ifeq ($(FULL_TARGET),powerpc-linux)
-override CLEAN_UNITS+=*
-endif
-ifeq ($(FULL_TARGET),powerpc-netbsd)
-override CLEAN_UNITS+=*
-endif
-ifeq ($(FULL_TARGET),powerpc-amiga)
-override CLEAN_UNITS+=*
-endif
-ifeq ($(FULL_TARGET),powerpc-macos)
-override CLEAN_UNITS+=*
-endif
-ifeq ($(FULL_TARGET),powerpc-darwin)
-override CLEAN_UNITS+=*
-endif
-ifeq ($(FULL_TARGET),powerpc-morphos)
-override CLEAN_UNITS+=*
-endif
-ifeq ($(FULL_TARGET),powerpc-embedded)
-override CLEAN_UNITS+=*
-endif
-ifeq ($(FULL_TARGET),sparc-linux)
-override CLEAN_UNITS+=*
-endif
-ifeq ($(FULL_TARGET),sparc-netbsd)
-override CLEAN_UNITS+=*
-endif
-ifeq ($(FULL_TARGET),sparc-solaris)
-override CLEAN_UNITS+=*
-endif
-ifeq ($(FULL_TARGET),sparc-embedded)
-override CLEAN_UNITS+=*
-endif
-ifeq ($(FULL_TARGET),x86_64-linux)
-override CLEAN_UNITS+=*
-endif
-ifeq ($(FULL_TARGET),x86_64-freebsd)
-override CLEAN_UNITS+=*
-endif
-ifeq ($(FULL_TARGET),x86_64-darwin)
-override CLEAN_UNITS+=*
-endif
-ifeq ($(FULL_TARGET),x86_64-win64)
-override CLEAN_UNITS+=*
-endif
-ifeq ($(FULL_TARGET),x86_64-embedded)
-override CLEAN_UNITS+=*
-endif
-ifeq ($(FULL_TARGET),arm-linux)
-override CLEAN_UNITS+=*
-endif
-ifeq ($(FULL_TARGET),arm-palmos)
-override CLEAN_UNITS+=*
-endif
-ifeq ($(FULL_TARGET),arm-darwin)
-override CLEAN_UNITS+=*
-endif
-ifeq ($(FULL_TARGET),arm-wince)
-override CLEAN_UNITS+=*
-endif
-ifeq ($(FULL_TARGET),arm-gba)
-override CLEAN_UNITS+=*
-endif
-ifeq ($(FULL_TARGET),arm-nds)
-override CLEAN_UNITS+=*
-endif
-ifeq ($(FULL_TARGET),arm-embedded)
-override CLEAN_UNITS+=*
-endif
-ifeq ($(FULL_TARGET),arm-symbian)
-override CLEAN_UNITS+=*
-endif
-ifeq ($(FULL_TARGET),powerpc64-linux)
-override CLEAN_UNITS+=*
-endif
-ifeq ($(FULL_TARGET),powerpc64-darwin)
-override CLEAN_UNITS+=*
-endif
-ifeq ($(FULL_TARGET),powerpc64-embedded)
-override CLEAN_UNITS+=*
-endif
-ifeq ($(FULL_TARGET),avr-embedded)
-override CLEAN_UNITS+=*
-endif
-ifeq ($(FULL_TARGET),armeb-linux)
-override CLEAN_UNITS+=*
-endif
-ifeq ($(FULL_TARGET),armeb-embedded)
-override CLEAN_UNITS+=*
-endif
-ifeq ($(FULL_TARGET),i386-linux)
-override CLEAN_FILES+=*.elf data/*.o data/*.s
-endif
-ifeq ($(FULL_TARGET),i386-go32v2)
-override CLEAN_FILES+=*.elf data/*.o data/*.s
-endif
-ifeq ($(FULL_TARGET),i386-win32)
-override CLEAN_FILES+=*.elf data/*.o data/*.s
-endif
-ifeq ($(FULL_TARGET),i386-os2)
-override CLEAN_FILES+=*.elf data/*.o data/*.s
-endif
-ifeq ($(FULL_TARGET),i386-freebsd)
-override CLEAN_FILES+=*.elf data/*.o data/*.s
-endif
-ifeq ($(FULL_TARGET),i386-beos)
-override CLEAN_FILES+=*.elf data/*.o data/*.s
-endif
-ifeq ($(FULL_TARGET),i386-haiku)
-override CLEAN_FILES+=*.elf data/*.o data/*.s
-endif
-ifeq ($(FULL_TARGET),i386-netbsd)
-override CLEAN_FILES+=*.elf data/*.o data/*.s
-endif
-ifeq ($(FULL_TARGET),i386-solaris)
-override CLEAN_FILES+=*.elf data/*.o data/*.s
-endif
-ifeq ($(FULL_TARGET),i386-qnx)
-override CLEAN_FILES+=*.elf data/*.o data/*.s
-endif
-ifeq ($(FULL_TARGET),i386-netware)
-override CLEAN_FILES+=*.elf data/*.o data/*.s
-endif
-ifeq ($(FULL_TARGET),i386-openbsd)
-override CLEAN_FILES+=*.elf data/*.o data/*.s
-endif
-ifeq ($(FULL_TARGET),i386-wdosx)
-override CLEAN_FILES+=*.elf data/*.o data/*.s
-endif
-ifeq ($(FULL_TARGET),i386-darwin)
-override CLEAN_FILES+=*.elf data/*.o data/*.s
-endif
-ifeq ($(FULL_TARGET),i386-emx)
-override CLEAN_FILES+=*.elf data/*.o data/*.s
-endif
-ifeq ($(FULL_TARGET),i386-watcom)
-override CLEAN_FILES+=*.elf data/*.o data/*.s
-endif
-ifeq ($(FULL_TARGET),i386-netwlibc)
-override CLEAN_FILES+=*.elf data/*.o data/*.s
-endif
-ifeq ($(FULL_TARGET),i386-wince)
-override CLEAN_FILES+=*.elf data/*.o data/*.s
-endif
-ifeq ($(FULL_TARGET),i386-embedded)
-override CLEAN_FILES+=*.elf data/*.o data/*.s
-endif
-ifeq ($(FULL_TARGET),i386-symbian)
-override CLEAN_FILES+=*.elf data/*.o data/*.s
-endif
-ifeq ($(FULL_TARGET),m68k-linux)
-override CLEAN_FILES+=*.elf data/*.o data/*.s
-endif
-ifeq ($(FULL_TARGET),m68k-freebsd)
-override CLEAN_FILES+=*.elf data/*.o data/*.s
-endif
-ifeq ($(FULL_TARGET),m68k-netbsd)
-override CLEAN_FILES+=*.elf data/*.o data/*.s
-endif
-ifeq ($(FULL_TARGET),m68k-amiga)
-override CLEAN_FILES+=*.elf data/*.o data/*.s
-endif
-ifeq ($(FULL_TARGET),m68k-atari)
-override CLEAN_FILES+=*.elf data/*.o data/*.s
-endif
-ifeq ($(FULL_TARGET),m68k-openbsd)
-override CLEAN_FILES+=*.elf data/*.o data/*.s
-endif
-ifeq ($(FULL_TARGET),m68k-palmos)
-override CLEAN_FILES+=*.elf data/*.o data/*.s
-endif
-ifeq ($(FULL_TARGET),m68k-embedded)
-override CLEAN_FILES+=*.elf data/*.o data/*.s
-endif
-ifeq ($(FULL_TARGET),powerpc-linux)
-override CLEAN_FILES+=*.elf data/*.o data/*.s
-endif
-ifeq ($(FULL_TARGET),powerpc-netbsd)
-override CLEAN_FILES+=*.elf data/*.o data/*.s
-endif
-ifeq ($(FULL_TARGET),powerpc-amiga)
-override CLEAN_FILES+=*.elf data/*.o data/*.s
-endif
-ifeq ($(FULL_TARGET),powerpc-macos)
-override CLEAN_FILES+=*.elf data/*.o data/*.s
-endif
-ifeq ($(FULL_TARGET),powerpc-darwin)
-override CLEAN_FILES+=*.elf data/*.o data/*.s
-endif
-ifeq ($(FULL_TARGET),powerpc-morphos)
-override CLEAN_FILES+=*.elf data/*.o data/*.s
-endif
-ifeq ($(FULL_TARGET),powerpc-embedded)
-override CLEAN_FILES+=*.elf data/*.o data/*.s
-endif
-ifeq ($(FULL_TARGET),sparc-linux)
-override CLEAN_FILES+=*.elf data/*.o data/*.s
-endif
-ifeq ($(FULL_TARGET),sparc-netbsd)
-override CLEAN_FILES+=*.elf data/*.o data/*.s
-endif
-ifeq ($(FULL_TARGET),sparc-solaris)
-override CLEAN_FILES+=*.elf data/*.o data/*.s
-endif
-ifeq ($(FULL_TARGET),sparc-embedded)
-override CLEAN_FILES+=*.elf data/*.o data/*.s
-endif
-ifeq ($(FULL_TARGET),x86_64-linux)
-override CLEAN_FILES+=*.elf data/*.o data/*.s
-endif
-ifeq ($(FULL_TARGET),x86_64-freebsd)
-override CLEAN_FILES+=*.elf data/*.o data/*.s
-endif
-ifeq ($(FULL_TARGET),x86_64-darwin)
-override CLEAN_FILES+=*.elf data/*.o data/*.s
-endif
-ifeq ($(FULL_TARGET),x86_64-win64)
-override CLEAN_FILES+=*.elf data/*.o data/*.s
-endif
-ifeq ($(FULL_TARGET),x86_64-embedded)
-override CLEAN_FILES+=*.elf data/*.o data/*.s
-endif
-ifeq ($(FULL_TARGET),arm-linux)
-override CLEAN_FILES+=*.elf data/*.o data/*.s
-endif
-ifeq ($(FULL_TARGET),arm-palmos)
-override CLEAN_FILES+=*.elf data/*.o data/*.s
-endif
-ifeq ($(FULL_TARGET),arm-darwin)
-override CLEAN_FILES+=*.elf data/*.o data/*.s
-endif
-ifeq ($(FULL_TARGET),arm-wince)
-override CLEAN_FILES+=*.elf data/*.o data/*.s
-endif
-ifeq ($(FULL_TARGET),arm-gba)
-override CLEAN_FILES+=*.elf data/*.o data/*.s
-endif
-ifeq ($(FULL_TARGET),arm-nds)
-override CLEAN_FILES+=*.elf data/*.o data/*.s
-endif
-ifeq ($(FULL_TARGET),arm-embedded)
-override CLEAN_FILES+=*.elf data/*.o data/*.s
-endif
-ifeq ($(FULL_TARGET),arm-symbian)
-override CLEAN_FILES+=*.elf data/*.o data/*.s
-endif
-ifeq ($(FULL_TARGET),powerpc64-linux)
-override CLEAN_FILES+=*.elf data/*.o data/*.s
-endif
-ifeq ($(FULL_TARGET),powerpc64-darwin)
-override CLEAN_FILES+=*.elf data/*.o data/*.s
-endif
-ifeq ($(FULL_TARGET),powerpc64-embedded)
-override CLEAN_FILES+=*.elf data/*.o data/*.s
-endif
-ifeq ($(FULL_TARGET),avr-embedded)
-override CLEAN_FILES+=*.elf data/*.o data/*.s
-endif
-ifeq ($(FULL_TARGET),armeb-linux)
-override CLEAN_FILES+=*.elf data/*.o data/*.s
-endif
-ifeq ($(FULL_TARGET),armeb-embedded)
-override CLEAN_FILES+=*.elf data/*.o data/*.s
-endif
-override INSTALL_FPCPACKAGE=y
-ifdef REQUIRE_UNITSDIR
-override UNITSDIR+=$(REQUIRE_UNITSDIR)
-endif
-ifdef REQUIRE_PACKAGESDIR
-override PACKAGESDIR+=$(REQUIRE_PACKAGESDIR)
-endif
-ifdef ZIPINSTALL
-ifneq ($(findstring $(OS_TARGET),$(UNIXs)),)
-UNIXHier=1
-endif
-else
-ifneq ($(findstring $(OS_SOURCE),$(UNIXs)),)
-UNIXHier=1
-endif
-endif
-ifndef INSTALL_PREFIX
-ifdef PREFIX
-INSTALL_PREFIX=$(PREFIX)
-endif
-endif
-ifndef INSTALL_PREFIX
-ifdef UNIXHier
-INSTALL_PREFIX=/usr/local
-else
-ifdef INSTALL_FPCPACKAGE
-INSTALL_BASEDIR:=/pp
-else
-INSTALL_BASEDIR:=/$(PACKAGE_NAME)
-endif
-endif
-endif
-export INSTALL_PREFIX
-ifdef INSTALL_FPCSUBDIR
-export INSTALL_FPCSUBDIR
-endif
-ifndef DIST_DESTDIR
-DIST_DESTDIR:=$(BASEDIR)
-endif
-export DIST_DESTDIR
-ifndef COMPILER_UNITTARGETDIR
-ifdef PACKAGEDIR_MAIN
-COMPILER_UNITTARGETDIR=$(PACKAGEDIR_MAIN)/units/$(TARGETSUFFIX)
-else
-COMPILER_UNITTARGETDIR=units/$(TARGETSUFFIX)
-endif
-endif
-ifndef COMPILER_TARGETDIR
-COMPILER_TARGETDIR=.
-endif
-ifndef INSTALL_BASEDIR
-ifdef UNIXHier
-ifdef INSTALL_FPCPACKAGE
-INSTALL_BASEDIR:=$(INSTALL_PREFIX)/lib/fpc/$(FPC_VERSION)
-else
-INSTALL_BASEDIR:=$(INSTALL_PREFIX)/lib/$(PACKAGE_NAME)
-endif
-else
-INSTALL_BASEDIR:=$(INSTALL_PREFIX)
-endif
-endif
-ifndef INSTALL_BINDIR
-ifdef UNIXHier
-INSTALL_BINDIR:=$(INSTALL_PREFIX)/bin
-else
-INSTALL_BINDIR:=$(INSTALL_BASEDIR)/bin
-ifdef INSTALL_FPCPACKAGE
-ifdef CROSSCOMPILE
-ifdef CROSSINSTALL
-INSTALL_BINDIR:=$(INSTALL_BINDIR)/$(SOURCESUFFIX)
-else
-INSTALL_BINDIR:=$(INSTALL_BINDIR)/$(TARGETSUFFIX)
-endif
-else
-INSTALL_BINDIR:=$(INSTALL_BINDIR)/$(TARGETSUFFIX)
-endif
-endif
-endif
-endif
-ifndef INSTALL_UNITDIR
-INSTALL_UNITDIR:=$(INSTALL_BASEDIR)/units/$(TARGETSUFFIX)
-ifdef INSTALL_FPCPACKAGE
-ifdef PACKAGE_NAME
-INSTALL_UNITDIR:=$(INSTALL_UNITDIR)/$(PACKAGE_NAME)
-endif
-endif
-endif
-ifndef INSTALL_LIBDIR
-ifdef UNIXHier
-INSTALL_LIBDIR:=$(INSTALL_PREFIX)/lib
-else
-INSTALL_LIBDIR:=$(INSTALL_UNITDIR)
-endif
-endif
-ifndef INSTALL_SOURCEDIR
-ifdef UNIXHier
-ifdef BSDhier
-SRCPREFIXDIR=share/src
-else
-ifdef linuxHier
-SRCPREFIXDIR=share/src
-else
-SRCPREFIXDIR=src
-endif
-endif
-ifdef INSTALL_FPCPACKAGE
-ifdef INSTALL_FPCSUBDIR
-INSTALL_SOURCEDIR:=$(INSTALL_PREFIX)/$(SRCPREFIXDIR)/fpc-$(FPC_VERSION)/$(INSTALL_FPCSUBDIR)/$(PACKAGE_NAME)
-else
-INSTALL_SOURCEDIR:=$(INSTALL_PREFIX)/$(SRCPREFIXDIR)/fpc-$(FPC_VERSION)/$(PACKAGE_NAME)
-endif
-else
-INSTALL_SOURCEDIR:=$(INSTALL_PREFIX)/$(SRCPREFIXDIR)/$(PACKAGE_NAME)-$(PACKAGE_VERSION)
-endif
-else
-ifdef INSTALL_FPCPACKAGE
-ifdef INSTALL_FPCSUBDIR
-INSTALL_SOURCEDIR:=$(INSTALL_BASEDIR)/source/$(INSTALL_FPCSUBDIR)/$(PACKAGE_NAME)
-else
-INSTALL_SOURCEDIR:=$(INSTALL_BASEDIR)/source/$(PACKAGE_NAME)
-endif
-else
-INSTALL_SOURCEDIR:=$(INSTALL_BASEDIR)/source
-endif
-endif
-endif
-ifndef INSTALL_DOCDIR
-ifdef UNIXHier
-ifdef BSDhier
-DOCPREFIXDIR=share/doc
-else
-ifdef linuxHier
-DOCPREFIXDIR=share/doc
-else
-DOCPREFIXDIR=doc
-endif
-endif
-ifdef INSTALL_FPCPACKAGE
-INSTALL_DOCDIR:=$(INSTALL_PREFIX)/$(DOCPREFIXDIR)/fpc-$(FPC_VERSION)/$(PACKAGE_NAME)
-else
-INSTALL_DOCDIR:=$(INSTALL_PREFIX)/$(DOCPREFIXDIR)/$(PACKAGE_NAME)-$(PACKAGE_VERSION)
-endif
-else
-ifdef INSTALL_FPCPACKAGE
-INSTALL_DOCDIR:=$(INSTALL_BASEDIR)/doc/$(PACKAGE_NAME)
-else
-INSTALL_DOCDIR:=$(INSTALL_BASEDIR)/doc
-endif
-endif
-endif
-ifndef INSTALL_EXAMPLEDIR
-ifdef UNIXHier
-ifdef INSTALL_FPCPACKAGE
-ifdef BSDhier
-INSTALL_EXAMPLEDIR:=$(INSTALL_PREFIX)/share/examples/fpc-$(FPC_VERSION)/$(PACKAGE_NAME)
-else
-ifdef linuxHier
-INSTALL_EXAMPLEDIR:=$(INSTALL_DOCDIR)/examples
-else
-INSTALL_EXAMPLEDIR:=$(INSTALL_PREFIX)/doc/fpc-$(FPC_VERSION)/examples/$(PACKAGE_NAME)
-endif
-endif
-else
-ifdef BSDhier
-INSTALL_EXAMPLEDIR:=$(INSTALL_PREFIX)/share/examples/$(PACKAGE_NAME)-$(PACKAGE_VERSION)
-else
-ifdef linuxHier
-INSTALL_EXAMPLEDIR:=$(INSTALL_DOCDIR)/examples/$(PACKAGE_NAME)-$(PACKAGE_VERSION)
-else
-INSTALL_EXAMPLEDIR:=$(INSTALL_PREFIX)/doc/$(PACKAGE_NAME)-$(PACKAGE_VERSION)
-endif
-endif
-endif
-else
-ifdef INSTALL_FPCPACKAGE
-INSTALL_EXAMPLEDIR:=$(INSTALL_BASEDIR)/examples/$(PACKAGE_NAME)
-else
-INSTALL_EXAMPLEDIR:=$(INSTALL_BASEDIR)/examples
-endif
-endif
-endif
-ifndef INSTALL_DATADIR
-INSTALL_DATADIR=$(INSTALL_BASEDIR)
-endif
-ifndef INSTALL_SHAREDDIR
-INSTALL_SHAREDDIR=$(INSTALL_PREFIX)/lib
-endif
-ifdef CROSSCOMPILE
-ifndef CROSSBINDIR
-CROSSBINDIR:=$(wildcard $(CROSSTARGETDIR)/bin/$(SOURCESUFFIX))
-ifeq ($(CROSSBINDIR),)
-CROSSBINDIR:=$(wildcard $(INSTALL_BASEDIR)/cross/$(TARGETSUFFIX)/bin/$(FULL_SOURCE))
-endif
-endif
-else
-CROSSBINDIR=
-endif
-BATCHEXT=.bat
-LOADEREXT=.as
-EXEEXT=.exe
-PPLEXT=.ppl
-PPUEXT=.ppu
-OEXT=.o
-ASMEXT=.s
-SMARTEXT=.sl
-STATICLIBEXT=.a
-SHAREDLIBEXT=.so
-SHAREDLIBPREFIX=libfp
-STATICLIBPREFIX=libp
-IMPORTLIBPREFIX=libimp
-RSTEXT=.rst
-ifeq ($(findstring 1.0.,$(FPC_VERSION)),)
-ifeq ($(OS_TARGET),go32v1)
-STATICLIBPREFIX=
-SHORTSUFFIX=v1
-endif
-ifeq ($(OS_TARGET),go32v2)
-STATICLIBPREFIX=
-SHORTSUFFIX=dos
-IMPORTLIBPREFIX=
-endif
-ifeq ($(OS_TARGET),watcom)
-STATICLIBPREFIX=
-OEXT=.obj
-ASMEXT=.asm
-SHAREDLIBEXT=.dll
-SHORTSUFFIX=wat
-IMPORTLIBPREFIX=
-endif
-ifeq ($(OS_TARGET),linux)
-BATCHEXT=.sh
-EXEEXT=
-HASSHAREDLIB=1
-SHORTSUFFIX=lnx
-endif
-ifeq ($(OS_TARGET),freebsd)
-BATCHEXT=.sh
-EXEEXT=
-HASSHAREDLIB=1
-SHORTSUFFIX=fbs
-endif
-ifeq ($(OS_TARGET),netbsd)
-BATCHEXT=.sh
-EXEEXT=
-HASSHAREDLIB=1
-SHORTSUFFIX=nbs
-endif
-ifeq ($(OS_TARGET),openbsd)
-BATCHEXT=.sh
-EXEEXT=
-HASSHAREDLIB=1
-SHORTSUFFIX=obs
-endif
-ifeq ($(OS_TARGET),win32)
-SHAREDLIBEXT=.dll
-SHORTSUFFIX=w32
-endif
-ifeq ($(OS_TARGET),os2)
-BATCHEXT=.cmd
-AOUTEXT=.out
-STATICLIBPREFIX=
-SHAREDLIBEXT=.dll
-SHORTSUFFIX=os2
-ECHO=echo
-IMPORTLIBPREFIX=
-endif
-ifeq ($(OS_TARGET),emx)
-BATCHEXT=.cmd
-AOUTEXT=.out
-STATICLIBPREFIX=
-SHAREDLIBEXT=.dll
-SHORTSUFFIX=emx
-ECHO=echo
-IMPORTLIBPREFIX=
-endif
-ifeq ($(OS_TARGET),amiga)
-EXEEXT=
-SHAREDLIBEXT=.library
-SHORTSUFFIX=amg
-endif
-ifeq ($(OS_TARGET),morphos)
-EXEEXT=
-SHAREDLIBEXT=.library
-SHORTSUFFIX=mos
-endif
-ifeq ($(OS_TARGET),atari)
-EXEEXT=.ttp
-SHORTSUFFIX=ata
-endif
-ifeq ($(OS_TARGET),beos)
-BATCHEXT=.sh
-EXEEXT=
-SHORTSUFFIX=be
-endif
-ifeq ($(OS_TARGET),haiku)
-BATCHEXT=.sh
-EXEEXT=
-SHORTSUFFIX=hai
-endif
-ifeq ($(OS_TARGET),solaris)
-BATCHEXT=.sh
-EXEEXT=
-SHORTSUFFIX=sun
-endif
-ifeq ($(OS_TARGET),qnx)
-BATCHEXT=.sh
-EXEEXT=
-SHORTSUFFIX=qnx
-endif
-ifeq ($(OS_TARGET),netware)
-EXEEXT=.nlm
-STATICLIBPREFIX=
-SHORTSUFFIX=nw
-IMPORTLIBPREFIX=imp
-endif
-ifeq ($(OS_TARGET),netwlibc)
-EXEEXT=.nlm
-STATICLIBPREFIX=
-SHORTSUFFIX=nwl
-IMPORTLIBPREFIX=imp
-endif
-ifeq ($(OS_TARGET),macos)
-BATCHEXT=
-EXEEXT=
-DEBUGSYMEXT=.xcoff
-SHORTSUFFIX=mac
-IMPORTLIBPREFIX=imp
-endif
-ifeq ($(OS_TARGET),darwin)
-BATCHEXT=.sh
-EXEEXT=
-HASSHAREDLIB=1
-SHORTSUFFIX=dwn
-endif
-ifeq ($(OS_TARGET),gba)
-EXEEXT=.gba
-SHAREDLIBEXT=.so
-SHORTSUFFIX=gba
-endif
-ifeq ($(OS_TARGET),symbian)
-SHAREDLIBEXT=.dll
-SHORTSUFFIX=symbian
-endif
-else
-ifeq ($(OS_TARGET),go32v1)
-PPUEXT=.pp1
-OEXT=.o1
-ASMEXT=.s1
-SMARTEXT=.sl1
-STATICLIBEXT=.a1
-SHAREDLIBEXT=.so1
-STATICLIBPREFIX=
-SHORTSUFFIX=v1
-IMPORTLIBPREFIX=
-endif
-ifeq ($(OS_TARGET),go32v2)
-STATICLIBPREFIX=
-SHORTSUFFIX=dos
-IMPORTLIBPREFIX=
-endif
-ifeq ($(OS_TARGET),watcom)
-STATICLIBPREFIX=
-SHORTSUFFIX=wat
-IMPORTLIBPREFIX=
-endif
-ifeq ($(OS_TARGET),linux)
-BATCHEXT=.sh
-EXEEXT=
-HASSHAREDLIB=1
-SHORTSUFFIX=lnx
-endif
-ifeq ($(OS_TARGET),freebsd)
-BATCHEXT=.sh
-EXEEXT=
-HASSHAREDLIB=1
-SHORTSUFFIX=fbs
-endif
-ifeq ($(OS_TARGET),netbsd)
-BATCHEXT=.sh
-EXEEXT=
-HASSHAREDLIB=1
-SHORTSUFFIX=nbs
-endif
-ifeq ($(OS_TARGET),openbsd)
-BATCHEXT=.sh
-EXEEXT=
-HASSHAREDLIB=1
-SHORTSUFFIX=obs
-endif
-ifeq ($(OS_TARGET),win32)
-PPUEXT=.ppw
-OEXT=.ow
-ASMEXT=.sw
-SMARTEXT=.slw
-STATICLIBEXT=.aw
-SHAREDLIBEXT=.dll
-SHORTSUFFIX=w32
-endif
-ifeq ($(OS_TARGET),os2)
-BATCHEXT=.cmd
-PPUEXT=.ppo
-ASMEXT=.so2
-OEXT=.oo2
-AOUTEXT=.out
-SMARTEXT=.sl2
-STATICLIBPREFIX=
-STATICLIBEXT=.ao2
-SHAREDLIBEXT=.dll
-SHORTSUFFIX=os2
-ECHO=echo
-IMPORTLIBPREFIX=
-endif
-ifeq ($(OS_TARGET),amiga)
-EXEEXT=
-PPUEXT=.ppu
-ASMEXT=.s
-OEXT=.o
-SMARTEXT=.sl
-STATICLIBEXT=.a
-SHAREDLIBEXT=.library
-SHORTSUFFIX=amg
-endif
-ifeq ($(OS_TARGET),atari)
-PPUEXT=.ppu
-ASMEXT=.s
-OEXT=.o
-SMARTEXT=.sl
-STATICLIBEXT=.a
-EXEEXT=.ttp
-SHORTSUFFIX=ata
-endif
-ifeq ($(OS_TARGET),beos)
-BATCHEXT=.sh
-PPUEXT=.ppu
-ASMEXT=.s
-OEXT=.o
-SMARTEXT=.sl
-STATICLIBEXT=.a
-EXEEXT=
-SHORTSUFFIX=be
-endif
-ifeq ($(OS_TARGET),solaris)
-BATCHEXT=.sh
-PPUEXT=.ppu
-ASMEXT=.s
-OEXT=.o
-SMARTEXT=.sl
-STATICLIBEXT=.a
-EXEEXT=
-SHORTSUFFIX=sun
-endif
-ifeq ($(OS_TARGET),qnx)
-BATCHEXT=.sh
-PPUEXT=.ppu
-ASMEXT=.s
-OEXT=.o
-SMARTEXT=.sl
-STATICLIBEXT=.a
-EXEEXT=
-SHORTSUFFIX=qnx
-endif
-ifeq ($(OS_TARGET),netware)
-STATICLIBPREFIX=
-PPUEXT=.ppu
-OEXT=.o
-ASMEXT=.s
-SMARTEXT=.sl
-STATICLIBEXT=.a
-SHAREDLIBEXT=.nlm
-EXEEXT=.nlm
-SHORTSUFFIX=nw
-IMPORTLIBPREFIX=imp
-endif
-ifeq ($(OS_TARGET),netwlibc)
-STATICLIBPREFIX=
-PPUEXT=.ppu
-OEXT=.o
-ASMEXT=.s
-SMARTEXT=.sl
-STATICLIBEXT=.a
-SHAREDLIBEXT=.nlm
-EXEEXT=.nlm
-SHORTSUFFIX=nwl
-IMPORTLIBPREFIX=imp
-endif
-ifeq ($(OS_TARGET),macos)
-BATCHEXT=
-PPUEXT=.ppu
-ASMEXT=.s
-OEXT=.o
-SMARTEXT=.sl
-STATICLIBEXT=.a
-EXEEXT=
-DEBUGSYMEXT=.xcoff
-SHORTSUFFIX=mac
-IMPORTLIBPREFIX=imp
-endif
-endif
-ifneq ($(findstring $(OS_SOURCE),$(LIMIT83fs)),)
-FPCMADE=fpcmade.$(SHORTSUFFIX)
-ZIPSUFFIX=$(SHORTSUFFIX)
-ZIPCROSSPREFIX=
-ZIPSOURCESUFFIX=src
-ZIPEXAMPLESUFFIX=exm
-else
-FPCMADE=fpcmade.$(TARGETSUFFIX)
-ZIPSOURCESUFFIX=.source
-ZIPEXAMPLESUFFIX=.examples
-ifdef CROSSCOMPILE
-ZIPSUFFIX=.$(SOURCESUFFIX)
-ZIPCROSSPREFIX=$(TARGETSUFFIX)-
-else
-ZIPSUFFIX=.$(TARGETSUFFIX)
-ZIPCROSSPREFIX=
-endif
-endif
-ifndef ECHO
-ECHO:=$(strip $(wildcard $(addsuffix /gecho$(SRCEXEEXT),$(SEARCHPATH))))
-ifeq ($(ECHO),)
-ECHO:=$(strip $(wildcard $(addsuffix /echo$(SRCEXEEXT),$(SEARCHPATH))))
-ifeq ($(ECHO),)
-ECHO= __missing_command_ECHO
-else
-ECHO:=$(firstword $(ECHO))
-endif
-else
-ECHO:=$(firstword $(ECHO))
-endif
-endif
-export ECHO
-ifndef DATE
-DATE:=$(strip $(wildcard $(addsuffix /gdate$(SRCEXEEXT),$(SEARCHPATH))))
-ifeq ($(DATE),)
-DATE:=$(strip $(wildcard $(addsuffix /date$(SRCEXEEXT),$(SEARCHPATH))))
-ifeq ($(DATE),)
-DATE= __missing_command_DATE
-else
-DATE:=$(firstword $(DATE))
-endif
-else
-DATE:=$(firstword $(DATE))
-endif
-endif
-export DATE
-ifndef GINSTALL
-GINSTALL:=$(strip $(wildcard $(addsuffix /ginstall$(SRCEXEEXT),$(SEARCHPATH))))
-ifeq ($(GINSTALL),)
-GINSTALL:=$(strip $(wildcard $(addsuffix /install$(SRCEXEEXT),$(SEARCHPATH))))
-ifeq ($(GINSTALL),)
-GINSTALL= __missing_command_GINSTALL
-else
-GINSTALL:=$(firstword $(GINSTALL))
-endif
-else
-GINSTALL:=$(firstword $(GINSTALL))
-endif
-endif
-export GINSTALL
-ifndef CPPROG
-CPPROG:=$(strip $(wildcard $(addsuffix /cp$(SRCEXEEXT),$(SEARCHPATH))))
-ifeq ($(CPPROG),)
-CPPROG= __missing_command_CPPROG
-else
-CPPROG:=$(firstword $(CPPROG))
-endif
-endif
-export CPPROG
-ifndef RMPROG
-RMPROG:=$(strip $(wildcard $(addsuffix /rm$(SRCEXEEXT),$(SEARCHPATH))))
-ifeq ($(RMPROG),)
-RMPROG= __missing_command_RMPROG
-else
-RMPROG:=$(firstword $(RMPROG))
-endif
-endif
-export RMPROG
-ifndef MVPROG
-MVPROG:=$(strip $(wildcard $(addsuffix /mv$(SRCEXEEXT),$(SEARCHPATH))))
-ifeq ($(MVPROG),)
-MVPROG= __missing_command_MVPROG
-else
-MVPROG:=$(firstword $(MVPROG))
-endif
-endif
-export MVPROG
-ifndef MKDIRPROG
-MKDIRPROG:=$(strip $(wildcard $(addsuffix /gmkdir$(SRCEXEEXT),$(SEARCHPATH))))
-ifeq ($(MKDIRPROG),)
-MKDIRPROG:=$(strip $(wildcard $(addsuffix /mkdir$(SRCEXEEXT),$(SEARCHPATH))))
-ifeq ($(MKDIRPROG),)
-MKDIRPROG= __missing_command_MKDIRPROG
-else
-MKDIRPROG:=$(firstword $(MKDIRPROG))
-endif
-else
-MKDIRPROG:=$(firstword $(MKDIRPROG))
-endif
-endif
-export MKDIRPROG
-ifndef ECHOREDIR
-ifndef inUnix
-ECHOREDIR=echo
-else
-ECHOREDIR=$(ECHO)
-endif
-endif
-ifndef COPY
-COPY:=$(CPPROG) -fp
-endif
-ifndef COPYTREE
-COPYTREE:=$(CPPROG) -Rfp
-endif
-ifndef MKDIRTREE
-MKDIRTREE:=$(MKDIRPROG) -p
-endif
-ifndef MOVE
-MOVE:=$(MVPROG) -f
-endif
-ifndef DEL
-DEL:=$(RMPROG) -f
-endif
-ifndef DELTREE
-DELTREE:=$(RMPROG) -rf
-endif
-ifndef INSTALL
-ifdef inUnix
-INSTALL:=$(GINSTALL) -c -m 644
-else
-INSTALL:=$(COPY)
-endif
-endif
-ifndef INSTALLEXE
-ifdef inUnix
-INSTALLEXE:=$(GINSTALL) -c -m 755
-else
-INSTALLEXE:=$(COPY)
-endif
-endif
-ifndef MKDIR
-MKDIR:=$(GINSTALL) -m 755 -d
-endif
-export ECHOREDIR COPY COPYTREE MOVE DEL DELTREE INSTALL INSTALLEXE MKDIR
-ifndef PPUMOVE
-PPUMOVE:=$(strip $(wildcard $(addsuffix /ppumove$(SRCEXEEXT),$(SEARCHPATH))))
-ifeq ($(PPUMOVE),)
-PPUMOVE= __missing_command_PPUMOVE
-else
-PPUMOVE:=$(firstword $(PPUMOVE))
-endif
-endif
-export PPUMOVE
-ifndef FPCMAKE
-FPCMAKE:=$(strip $(wildcard $(addsuffix /fpcmake$(SRCEXEEXT),$(SEARCHPATH))))
-ifeq ($(FPCMAKE),)
-FPCMAKE= __missing_command_FPCMAKE
-else
-FPCMAKE:=$(firstword $(FPCMAKE))
-endif
-endif
-export FPCMAKE
-ifndef ZIPPROG
-ZIPPROG:=$(strip $(wildcard $(addsuffix /zip$(SRCEXEEXT),$(SEARCHPATH))))
-ifeq ($(ZIPPROG),)
-ZIPPROG= __missing_command_ZIPPROG
-else
-ZIPPROG:=$(firstword $(ZIPPROG))
-endif
-endif
-export ZIPPROG
-ifndef TARPROG
-TARPROG:=$(strip $(wildcard $(addsuffix /gtar$(SRCEXEEXT),$(SEARCHPATH))))
-ifeq ($(TARPROG),)
-TARPROG:=$(strip $(wildcard $(addsuffix /tar$(SRCEXEEXT),$(SEARCHPATH))))
-ifeq ($(TARPROG),)
-TARPROG= __missing_command_TARPROG
-else
-TARPROG:=$(firstword $(TARPROG))
-endif
-else
-TARPROG:=$(firstword $(TARPROG))
-endif
-endif
-export TARPROG
-ASNAME=$(BINUTILSPREFIX)as
-LDNAME=$(BINUTILSPREFIX)ld
-ARNAME=$(BINUTILSPREFIX)ar
-RCNAME=$(BINUTILSPREFIX)rc
-ifneq ($(findstring 1.0.,$(FPC_VERSION)),)
-ifeq ($(OS_TARGET),win32)
-ifeq ($(CROSSBINDIR),)
-ASNAME=asw
-LDNAME=ldw
-ARNAME=arw
-endif
-endif
-endif
-ifndef ASPROG
-ifdef CROSSBINDIR
-ASPROG=$(CROSSBINDIR)/$(ASNAME)$(SRCEXEEXT)
-else
-ASPROG=$(ASNAME)
-endif
-endif
-ifndef LDPROG
-ifdef CROSSBINDIR
-LDPROG=$(CROSSBINDIR)/$(LDNAME)$(SRCEXEEXT)
-else
-LDPROG=$(LDNAME)
-endif
-endif
-ifndef RCPROG
-ifdef CROSSBINDIR
-RCPROG=$(CROSSBINDIR)/$(RCNAME)$(SRCEXEEXT)
-else
-RCPROG=$(RCNAME)
-endif
-endif
-ifndef ARPROG
-ifdef CROSSBINDIR
-ARPROG=$(CROSSBINDIR)/$(ARNAME)$(SRCEXEEXT)
-else
-ARPROG=$(ARNAME)
-endif
-endif
-AS=$(ASPROG)
-LD=$(LDPROG)
-RC=$(RCPROG)
-AR=$(ARPROG)
-PPAS=ppas$(SRCBATCHEXT)
-ifdef inUnix
-LDCONFIG=ldconfig
-else
-LDCONFIG=
-endif
-ifdef DATE
-DATESTR:=$(shell $(DATE) +%Y%m%d)
-else
-DATESTR=
-endif
-ifndef UPXPROG
-ifeq ($(OS_TARGET),go32v2)
-UPXPROG:=1
-endif
-ifeq ($(OS_TARGET),win32)
-UPXPROG:=1
-endif
-ifdef UPXPROG
-UPXPROG:=$(strip $(wildcard $(addsuffix /upx$(SRCEXEEXT),$(SEARCHPATH))))
-ifeq ($(UPXPROG),)
-UPXPROG=
-else
-UPXPROG:=$(firstword $(UPXPROG))
-endif
-else
-UPXPROG=
-endif
-endif
-export UPXPROG
-ZIPOPT=-9
-ZIPEXT=.zip
-ifeq ($(USETAR),bz2)
-TAROPT=vj
-TAREXT=.tar.bz2
-else
-TAROPT=vz
-TAREXT=.tar.gz
-endif
-override REQUIRE_PACKAGES=rtl libgbafpc
-ifeq ($(FULL_TARGET),i386-linux)
-REQUIRE_PACKAGES_RTL=1
-REQUIRE_PACKAGES_LIBGBAFPC=1
-endif
-ifeq ($(FULL_TARGET),i386-go32v2)
-REQUIRE_PACKAGES_RTL=1
-REQUIRE_PACKAGES_LIBGBAFPC=1
-endif
-ifeq ($(FULL_TARGET),i386-win32)
-REQUIRE_PACKAGES_RTL=1
-REQUIRE_PACKAGES_LIBGBAFPC=1
-endif
-ifeq ($(FULL_TARGET),i386-os2)
-REQUIRE_PACKAGES_RTL=1
-REQUIRE_PACKAGES_LIBGBAFPC=1
-endif
-ifeq ($(FULL_TARGET),i386-freebsd)
-REQUIRE_PACKAGES_RTL=1
-REQUIRE_PACKAGES_LIBGBAFPC=1
-endif
-ifeq ($(FULL_TARGET),i386-beos)
-REQUIRE_PACKAGES_RTL=1
-REQUIRE_PACKAGES_LIBGBAFPC=1
-endif
-ifeq ($(FULL_TARGET),i386-haiku)
-REQUIRE_PACKAGES_RTL=1
-REQUIRE_PACKAGES_LIBGBAFPC=1
-endif
-ifeq ($(FULL_TARGET),i386-netbsd)
-REQUIRE_PACKAGES_RTL=1
-REQUIRE_PACKAGES_LIBGBAFPC=1
-endif
-ifeq ($(FULL_TARGET),i386-solaris)
-REQUIRE_PACKAGES_RTL=1
-REQUIRE_PACKAGES_LIBGBAFPC=1
-endif
-ifeq ($(FULL_TARGET),i386-qnx)
-REQUIRE_PACKAGES_RTL=1
-REQUIRE_PACKAGES_LIBGBAFPC=1
-endif
-ifeq ($(FULL_TARGET),i386-netware)
-REQUIRE_PACKAGES_RTL=1
-REQUIRE_PACKAGES_LIBGBAFPC=1
-endif
-ifeq ($(FULL_TARGET),i386-openbsd)
-REQUIRE_PACKAGES_RTL=1
-REQUIRE_PACKAGES_LIBGBAFPC=1
-endif
-ifeq ($(FULL_TARGET),i386-wdosx)
-REQUIRE_PACKAGES_RTL=1
-REQUIRE_PACKAGES_LIBGBAFPC=1
-endif
-ifeq ($(FULL_TARGET),i386-darwin)
-REQUIRE_PACKAGES_RTL=1
-REQUIRE_PACKAGES_LIBGBAFPC=1
-endif
-ifeq ($(FULL_TARGET),i386-emx)
-REQUIRE_PACKAGES_RTL=1
-REQUIRE_PACKAGES_LIBGBAFPC=1
-endif
-ifeq ($(FULL_TARGET),i386-watcom)
-REQUIRE_PACKAGES_RTL=1
-REQUIRE_PACKAGES_LIBGBAFPC=1
-endif
-ifeq ($(FULL_TARGET),i386-netwlibc)
-REQUIRE_PACKAGES_RTL=1
-REQUIRE_PACKAGES_LIBGBAFPC=1
-endif
-ifeq ($(FULL_TARGET),i386-wince)
-REQUIRE_PACKAGES_RTL=1
-REQUIRE_PACKAGES_LIBGBAFPC=1
-endif
-ifeq ($(FULL_TARGET),i386-embedded)
-REQUIRE_PACKAGES_RTL=1
-REQUIRE_PACKAGES_LIBGBAFPC=1
-endif
-ifeq ($(FULL_TARGET),i386-symbian)
-REQUIRE_PACKAGES_RTL=1
-REQUIRE_PACKAGES_LIBGBAFPC=1
-endif
-ifeq ($(FULL_TARGET),m68k-linux)
-REQUIRE_PACKAGES_RTL=1
-REQUIRE_PACKAGES_LIBGBAFPC=1
-endif
-ifeq ($(FULL_TARGET),m68k-freebsd)
-REQUIRE_PACKAGES_RTL=1
-REQUIRE_PACKAGES_LIBGBAFPC=1
-endif
-ifeq ($(FULL_TARGET),m68k-netbsd)
-REQUIRE_PACKAGES_RTL=1
-REQUIRE_PACKAGES_LIBGBAFPC=1
-endif
-ifeq ($(FULL_TARGET),m68k-amiga)
-REQUIRE_PACKAGES_RTL=1
-REQUIRE_PACKAGES_LIBGBAFPC=1
-endif
-ifeq ($(FULL_TARGET),m68k-atari)
-REQUIRE_PACKAGES_RTL=1
-REQUIRE_PACKAGES_LIBGBAFPC=1
-endif
-ifeq ($(FULL_TARGET),m68k-openbsd)
-REQUIRE_PACKAGES_RTL=1
-REQUIRE_PACKAGES_LIBGBAFPC=1
-endif
-ifeq ($(FULL_TARGET),m68k-palmos)
-REQUIRE_PACKAGES_RTL=1
-REQUIRE_PACKAGES_LIBGBAFPC=1
-endif
-ifeq ($(FULL_TARGET),m68k-embedded)
-REQUIRE_PACKAGES_RTL=1
-REQUIRE_PACKAGES_LIBGBAFPC=1
-endif
-ifeq ($(FULL_TARGET),powerpc-linux)
-REQUIRE_PACKAGES_RTL=1
-REQUIRE_PACKAGES_LIBGBAFPC=1
-endif
-ifeq ($(FULL_TARGET),powerpc-netbsd)
-REQUIRE_PACKAGES_RTL=1
-REQUIRE_PACKAGES_LIBGBAFPC=1
-endif
-ifeq ($(FULL_TARGET),powerpc-amiga)
-REQUIRE_PACKAGES_RTL=1
-REQUIRE_PACKAGES_LIBGBAFPC=1
-endif
-ifeq ($(FULL_TARGET),powerpc-macos)
-REQUIRE_PACKAGES_RTL=1
-REQUIRE_PACKAGES_LIBGBAFPC=1
-endif
-ifeq ($(FULL_TARGET),powerpc-darwin)
-REQUIRE_PACKAGES_RTL=1
-REQUIRE_PACKAGES_LIBGBAFPC=1
-endif
-ifeq ($(FULL_TARGET),powerpc-morphos)
-REQUIRE_PACKAGES_RTL=1
-REQUIRE_PACKAGES_LIBGBAFPC=1
-endif
-ifeq ($(FULL_TARGET),powerpc-embedded)
-REQUIRE_PACKAGES_RTL=1
-REQUIRE_PACKAGES_LIBGBAFPC=1
-endif
-ifeq ($(FULL_TARGET),sparc-linux)
-REQUIRE_PACKAGES_RTL=1
-REQUIRE_PACKAGES_LIBGBAFPC=1
-endif
-ifeq ($(FULL_TARGET),sparc-netbsd)
-REQUIRE_PACKAGES_RTL=1
-REQUIRE_PACKAGES_LIBGBAFPC=1
-endif
-ifeq ($(FULL_TARGET),sparc-solaris)
-REQUIRE_PACKAGES_RTL=1
-REQUIRE_PACKAGES_LIBGBAFPC=1
-endif
-ifeq ($(FULL_TARGET),sparc-embedded)
-REQUIRE_PACKAGES_RTL=1
-REQUIRE_PACKAGES_LIBGBAFPC=1
-endif
-ifeq ($(FULL_TARGET),x86_64-linux)
-REQUIRE_PACKAGES_RTL=1
-REQUIRE_PACKAGES_LIBGBAFPC=1
-endif
-ifeq ($(FULL_TARGET),x86_64-freebsd)
-REQUIRE_PACKAGES_RTL=1
-REQUIRE_PACKAGES_LIBGBAFPC=1
-endif
-ifeq ($(FULL_TARGET),x86_64-darwin)
-REQUIRE_PACKAGES_RTL=1
-REQUIRE_PACKAGES_LIBGBAFPC=1
-endif
-ifeq ($(FULL_TARGET),x86_64-win64)
-REQUIRE_PACKAGES_RTL=1
-REQUIRE_PACKAGES_LIBGBAFPC=1
-endif
-ifeq ($(FULL_TARGET),x86_64-embedded)
-REQUIRE_PACKAGES_RTL=1
-REQUIRE_PACKAGES_LIBGBAFPC=1
-endif
-ifeq ($(FULL_TARGET),arm-linux)
-REQUIRE_PACKAGES_RTL=1
-REQUIRE_PACKAGES_LIBGBAFPC=1
-endif
-ifeq ($(FULL_TARGET),arm-palmos)
-REQUIRE_PACKAGES_RTL=1
-REQUIRE_PACKAGES_LIBGBAFPC=1
-endif
-ifeq ($(FULL_TARGET),arm-darwin)
-REQUIRE_PACKAGES_RTL=1
-REQUIRE_PACKAGES_LIBGBAFPC=1
-endif
-ifeq ($(FULL_TARGET),arm-wince)
-REQUIRE_PACKAGES_RTL=1
-REQUIRE_PACKAGES_LIBGBAFPC=1
-endif
-ifeq ($(FULL_TARGET),arm-gba)
-REQUIRE_PACKAGES_RTL=1
-REQUIRE_PACKAGES_LIBGBAFPC=1
-endif
-ifeq ($(FULL_TARGET),arm-nds)
-REQUIRE_PACKAGES_RTL=1
-REQUIRE_PACKAGES_LIBGBAFPC=1
-endif
-ifeq ($(FULL_TARGET),arm-embedded)
-REQUIRE_PACKAGES_RTL=1
-REQUIRE_PACKAGES_LIBGBAFPC=1
-endif
-ifeq ($(FULL_TARGET),arm-symbian)
-REQUIRE_PACKAGES_RTL=1
-REQUIRE_PACKAGES_LIBGBAFPC=1
-endif
-ifeq ($(FULL_TARGET),powerpc64-linux)
-REQUIRE_PACKAGES_RTL=1
-REQUIRE_PACKAGES_LIBGBAFPC=1
-endif
-ifeq ($(FULL_TARGET),powerpc64-darwin)
-REQUIRE_PACKAGES_RTL=1
-REQUIRE_PACKAGES_LIBGBAFPC=1
-endif
-ifeq ($(FULL_TARGET),powerpc64-embedded)
-REQUIRE_PACKAGES_RTL=1
-REQUIRE_PACKAGES_LIBGBAFPC=1
-endif
-ifeq ($(FULL_TARGET),avr-embedded)
-REQUIRE_PACKAGES_RTL=1
-REQUIRE_PACKAGES_LIBGBAFPC=1
-endif
-ifeq ($(FULL_TARGET),armeb-linux)
-REQUIRE_PACKAGES_RTL=1
-REQUIRE_PACKAGES_LIBGBAFPC=1
-endif
-ifeq ($(FULL_TARGET),armeb-embedded)
-REQUIRE_PACKAGES_RTL=1
-REQUIRE_PACKAGES_LIBGBAFPC=1
-endif
-ifdef REQUIRE_PACKAGES_RTL
-PACKAGEDIR_RTL:=$(firstword $(subst /Makefile.fpc,,$(strip $(wildcard $(addsuffix /rtl/Makefile.fpc,$(PACKAGESDIR))))))
-ifneq ($(PACKAGEDIR_RTL),)
-ifneq ($(wildcard $(PACKAGEDIR_RTL)/units/$(TARGETSUFFIX)),)
-UNITDIR_RTL=$(PACKAGEDIR_RTL)/units/$(TARGETSUFFIX)
-else
-UNITDIR_RTL=$(PACKAGEDIR_RTL)
-endif
-ifdef CHECKDEPEND
-$(PACKAGEDIR_RTL)/$(FPCMADE):
-	$(MAKE) -C $(PACKAGEDIR_RTL) $(FPCMADE)
-override ALLDEPENDENCIES+=$(PACKAGEDIR_RTL)/$(FPCMADE)
-endif
-else
-PACKAGEDIR_RTL=
-UNITDIR_RTL:=$(subst /Package.fpc,,$(strip $(wildcard $(addsuffix /rtl/Package.fpc,$(UNITSDIR)))))
-ifneq ($(UNITDIR_RTL),)
-UNITDIR_RTL:=$(firstword $(UNITDIR_RTL))
-else
-UNITDIR_RTL=
-endif
-endif
-ifdef UNITDIR_RTL
-override COMPILER_UNITDIR+=$(UNITDIR_RTL)
-endif
-endif
-ifdef REQUIRE_PACKAGES_LIBGBAFPC
-PACKAGEDIR_LIBGBAFPC:=$(firstword $(subst /Makefile.fpc,,$(strip $(wildcard $(addsuffix /libgbafpc/Makefile.fpc,$(PACKAGESDIR))))))
-ifneq ($(PACKAGEDIR_LIBGBAFPC),)
-ifneq ($(wildcard $(PACKAGEDIR_LIBGBAFPC)/units/$(TARGETSUFFIX)),)
-UNITDIR_LIBGBAFPC=$(PACKAGEDIR_LIBGBAFPC)/units/$(TARGETSUFFIX)
-else
-UNITDIR_LIBGBAFPC=$(PACKAGEDIR_LIBGBAFPC)
-endif
-ifdef CHECKDEPEND
-$(PACKAGEDIR_LIBGBAFPC)/$(FPCMADE):
-	$(MAKE) -C $(PACKAGEDIR_LIBGBAFPC) $(FPCMADE)
-override ALLDEPENDENCIES+=$(PACKAGEDIR_LIBGBAFPC)/$(FPCMADE)
-endif
-else
-PACKAGEDIR_LIBGBAFPC=
-UNITDIR_LIBGBAFPC:=$(subst /Package.fpc,,$(strip $(wildcard $(addsuffix /libgbafpc/Package.fpc,$(UNITSDIR)))))
-ifneq ($(UNITDIR_LIBGBAFPC),)
-UNITDIR_LIBGBAFPC:=$(firstword $(UNITDIR_LIBGBAFPC))
-else
-UNITDIR_LIBGBAFPC=
-endif
-endif
-ifdef UNITDIR_LIBGBAFPC
-override COMPILER_UNITDIR+=$(UNITDIR_LIBGBAFPC)
-endif
-endif
-ifndef NOCPUDEF
-override FPCOPTDEF=$(ARCH)
-endif
-ifneq ($(OS_TARGET),$(OS_SOURCE))
-override FPCOPT+=-T$(OS_TARGET)
-endif
-ifneq ($(CPU_TARGET),$(CPU_SOURCE))
-override FPCOPT+=-P$(ARCH)
-endif
-ifeq ($(OS_SOURCE),openbsd)
-override FPCOPT+=-FD$(NEW_BINUTILS_PATH)
-endif
-ifndef CROSSBOOTSTRAP
-ifneq ($(BINUTILSPREFIX),)
-override FPCOPT+=-XP$(BINUTILSPREFIX)
-endif
-ifneq ($(BINUTILSPREFIX),)
-override FPCOPT+=-Xr$(RLINKPATH)
-endif
-endif
-ifdef UNITDIR
-override FPCOPT+=$(addprefix -Fu,$(UNITDIR))
-endif
-ifdef LIBDIR
-override FPCOPT+=$(addprefix -Fl,$(LIBDIR))
-endif
-ifdef OBJDIR
-override FPCOPT+=$(addprefix -Fo,$(OBJDIR))
-endif
-ifdef INCDIR
-override FPCOPT+=$(addprefix -Fi,$(INCDIR))
-endif
-ifdef LINKSMART
-override FPCOPT+=-XX
-endif
-ifdef CREATESMART
-override FPCOPT+=-CX
-endif
-ifdef DEBUG
-override FPCOPT+=-gl
-override FPCOPTDEF+=DEBUG
-endif
-ifdef RELEASE
-ifneq ($(findstring 2.0.,$(FPC_VERSION)),)
-ifeq ($(CPU_TARGET),i386)
-FPCCPUOPT:=-OG2p3
-endif
-ifeq ($(CPU_TARGET),powerpc)
-FPCCPUOPT:=-O1r
-endif
-else
-FPCCPUOPT:=-O2
-endif
-override FPCOPT+=-Ur -Xs $(FPCCPUOPT) -n
-override FPCOPTDEF+=RELEASE
-endif
-ifdef STRIP
-override FPCOPT+=-Xs
-endif
-ifdef OPTIMIZE
-override FPCOPT+=-O2
-endif
-ifdef VERBOSE
-override FPCOPT+=-vwni
-endif
-ifdef COMPILER_OPTIONS
-override FPCOPT+=$(COMPILER_OPTIONS)
-endif
-ifdef COMPILER_UNITDIR
-override FPCOPT+=$(addprefix -Fu,$(COMPILER_UNITDIR))
-endif
-ifdef COMPILER_LIBRARYDIR
-override FPCOPT+=$(addprefix -Fl,$(COMPILER_LIBRARYDIR))
-endif
-ifdef COMPILER_OBJECTDIR
-override FPCOPT+=$(addprefix -Fo,$(COMPILER_OBJECTDIR))
-endif
-ifdef COMPILER_INCLUDEDIR
-override FPCOPT+=$(addprefix -Fi,$(COMPILER_INCLUDEDIR))
-endif
-ifdef CROSSBINDIR
-override FPCOPT+=-FD$(CROSSBINDIR)
-endif
-ifdef COMPILER_TARGETDIR
-override FPCOPT+=-FE$(COMPILER_TARGETDIR)
-ifeq ($(COMPILER_TARGETDIR),.)
-override TARGETDIRPREFIX=
-else
-override TARGETDIRPREFIX=$(COMPILER_TARGETDIR)/
-endif
-endif
-ifdef COMPILER_UNITTARGETDIR
-override FPCOPT+=-FU$(COMPILER_UNITTARGETDIR)
-ifeq ($(COMPILER_UNITTARGETDIR),.)
-override UNITTARGETDIRPREFIX=
-else
-override UNITTARGETDIRPREFIX=$(COMPILER_UNITTARGETDIR)/
-endif
-else
-ifdef COMPILER_TARGETDIR
-override COMPILER_UNITTARGETDIR=$(COMPILER_TARGETDIR)
-override UNITTARGETDIRPREFIX=$(TARGETDIRPREFIX)
-endif
-endif
-ifdef CREATESHARED
-override FPCOPT+=-Cg
-ifeq ($(CPU_TARGET),i386)
-override FPCOPT+=-Aas
-endif
-endif
-ifeq ($(findstring 2.0.,$(FPC_VERSION)),)
-ifeq ($(OS_TARGET),linux)
-ifeq ($(CPU_TARGET),x86_64)
-override FPCOPT+=-Cg
-endif
-endif
-endif
-ifdef LINKSHARED
-endif
-ifdef OPT
-override FPCOPT+=$(OPT)
-endif
-ifdef FPCOPTDEF
-override FPCOPT+=$(addprefix -d,$(FPCOPTDEF))
-endif
-ifdef CFGFILE
-override FPCOPT+=@$(CFGFILE)
-endif
-ifdef USEENV
-override FPCEXTCMD:=$(FPCOPT)
-override FPCOPT:=!FPCEXTCMD
-export FPCEXTCMD
-endif
-override AFULL_TARGET=$(CPU_TARGET)-$(OS_TARGET)
-override AFULL_SOURCE=$(CPU_SOURCE)-$(OS_SOURCE)
-ifneq ($(AFULL_TARGET),$(AFULL_SOURCE))
-override ACROSSCOMPILE=1
-endif
-ifdef ACROSSCOMPILE
-override FPCOPT+=$(CROSSOPT)
-endif
-override COMPILER:=$(FPC) $(FPCOPT)
-ifeq (,$(findstring -s ,$(COMPILER)))
-EXECPPAS=
-else
-ifeq ($(FULL_SOURCE),$(FULL_TARGET))
-ifdef RUNBATCH
-EXECPPAS:=@$(RUNBATCH) $(PPAS)
-else
-EXECPPAS:=@$(PPAS)
-endif
-endif
-endif
-.PHONY: fpc_loaders
-ifneq ($(TARGET_LOADERS),)
-override ALLTARGET+=fpc_loaders
-override CLEANTARGET+=fpc_loaders_clean
-override INSTALLTARGET+=fpc_loaders_install
-override LOADEROFILES:=$(addsuffix $(OEXT),$(TARGET_LOADERS))
-endif
-%$(OEXT): %$(LOADEREXT)
-ifdef COMPILER_UNITTARGETDIR
-	$(AS) -o $(COMPILER_UNITTARGETDIR)/$*$(OEXT) $<
-else
-	$(AS) -o $*$(OEXT) $<
-endif
-fpc_loaders: $(COMPILER_UNITTARGETDIR) $(LOADEROFILES)
-fpc_loaders_clean:
-ifdef COMPILER_UNITTARGETDIR
-	-$(DEL) $(addprefix $(COMPILER_UNITTARGETDIR)/,$(LOADEROFILES))
-else
-	-$(DEL) $(LOADEROFILES)
-endif
-fpc_loaders_install:
-	$(MKDIR) $(INSTALL_UNITDIR)
-ifdef COMPILER_UNITTARGETDIR
-	$(INSTALL) $(addprefix $(COMPILER_UNITTARGETDIR)/,$(LOADEROFILES)) $(INSTALL_UNITDIR)
-else
-	$(INSTALL) $(LOADEROFILES) $(INSTALL_UNITDIR)
-endif
-.PHONY: fpc_exes
-ifndef CROSSINSTALL
-ifneq ($(TARGET_PROGRAMS),)
-override EXEFILES=$(addsuffix $(EXEEXT),$(TARGET_PROGRAMS))
-override EXEOFILES:=$(addsuffix $(OEXT),$(TARGET_PROGRAMS)) $(addprefix $(STATICLIBPREFIX),$(addsuffix $(STATICLIBEXT),$(TARGET_PROGRAMS))) $(addprefix $(IMPORTLIBPREFIX),$(addsuffix $(STATICLIBEXT),$(TARGET_PROGRAMS)))
-override ALLTARGET+=fpc_exes
-override INSTALLEXEFILES+=$(EXEFILES)
-override CLEANEXEFILES+=$(EXEFILES) $(EXEOFILES)
-ifeq ($(OS_TARGET),os2)
-override CLEANEXEFILES+=$(addsuffix $(AOUTEXT),$(TARGET_PROGRAMS))
-endif
-ifeq ($(OS_TARGET),emx)
-override CLEANEXEFILES+=$(addsuffix $(AOUTEXT),$(TARGET_PROGRAMS))
-endif
-endif
-endif
-fpc_exes: $(COMPILER_TARGETDIR) $(COMPILER_UNITTARGETDIR) $(EXEFILES)
-ifdef TARGET_RSTS
-override RSTFILES=$(addsuffix $(RSTEXT),$(TARGET_RSTS))
-override CLEANRSTFILES+=$(RSTFILES)
-endif
-.PHONY: fpc_all fpc_smart fpc_debug fpc_release fpc_shared
-$(FPCMADE): $(ALLDEPENDENCIES) $(ALLTARGET)
-	@$(ECHOREDIR) Compiled > $(FPCMADE)
-fpc_all: $(FPCMADE)
-fpc_smart:
-	$(MAKE) all LINKSMART=1 CREATESMART=1
-fpc_debug:
-	$(MAKE) all DEBUG=1
-fpc_release:
-	$(MAKE) all RELEASE=1
-.SUFFIXES: $(EXEEXT) $(PPUEXT) $(OEXT) .pas .lpr .dpr .pp .rc .res
-$(COMPILER_UNITTARGETDIR):
-	$(MKDIRTREE) $(COMPILER_UNITTARGETDIR)
-$(COMPILER_TARGETDIR):
-	$(MKDIRTREE) $(COMPILER_TARGETDIR)
-%$(PPUEXT): %.pp
-	$(COMPILER) $<
-	$(EXECPPAS)
-%$(PPUEXT): %.pas
-	$(COMPILER) $<
-	$(EXECPPAS)
-%$(EXEEXT): %.pp
-	$(COMPILER) $<
-	$(EXECPPAS)
-%$(EXEEXT): %.pas
-	$(COMPILER) $<
-	$(EXECPPAS)
-%$(EXEEXT): %.lpr
-	$(COMPILER) $<
-	$(EXECPPAS)
-%$(EXEEXT): %.dpr
-	$(COMPILER) $<
-	$(EXECPPAS)
-%.res: %.rc
-	windres -i $< -o $@
-vpath %.pp $(COMPILER_SOURCEDIR) $(COMPILER_INCLUDEDIR)
-vpath %.pas $(COMPILER_SOURCEDIR) $(COMPILER_INCLUDEDIR)
-vpath %.lpr $(COMPILER_SOURCEDIR) $(COMPILER_INCLUDEDIR)
-vpath %.dpr $(COMPILER_SOURCEDIR) $(COMPILER_INCLUDEDIR)
-vpath %.inc $(COMPILER_INCLUDEDIR)
-vpath %$(OEXT) $(COMPILER_UNITTARGETDIR)
-vpath %$(PPUEXT) $(COMPILER_UNITTARGETDIR)
-.PHONY: fpc_shared
-override INSTALLTARGET+=fpc_shared_install
-ifndef SHARED_LIBVERSION
-SHARED_LIBVERSION=$(FPC_VERSION)
-endif
-ifndef SHARED_LIBNAME
-SHARED_LIBNAME=$(PACKAGE_NAME)
-endif
-ifndef SHARED_FULLNAME
-SHARED_FULLNAME=$(SHAREDLIBPREFIX)$(SHARED_LIBNAME)-$(SHARED_LIBVERSION)$(SHAREDLIBEXT)
-endif
-ifndef SHARED_LIBUNITS
-SHARED_LIBUNITS:=$(TARGET_UNITS) $(TARGET_IMPLICITUNITS)
-override SHARED_LIBUNITS:=$(filter-out $(INSTALL_BUILDUNIT),$(SHARED_LIBUNITS))
-endif
-fpc_shared:
-ifdef HASSHAREDLIB
-	$(MAKE) all CREATESHARED=1 LINKSHARED=1 CREATESMART=1
-ifneq ($(SHARED_BUILD),n)
-	$(PPUMOVE) -q $(SHARED_LIBUNITS) -i$(COMPILER_UNITTARGETDIR) -o$(SHARED_FULLNAME) -d$(COMPILER_UNITTARGETDIR)
-endif
-else
-	@$(ECHO) Shared Libraries not supported
-endif
-fpc_shared_install:
-ifneq ($(SHARED_BUILD),n)
-ifneq ($(SHARED_LIBUNITS),)
-ifneq ($(wildcard $(COMPILER_UNITTARGETDIR)/$(SHARED_FULLNAME)),)
-	$(INSTALL) $(COMPILER_UNITTARGETDIR)/$(SHARED_FULLNAME) $(INSTALL_SHAREDDIR)
-endif
-endif
-endif
-.PHONY: fpc_install fpc_sourceinstall fpc_exampleinstall
-ifdef INSTALL_UNITS
-override INSTALLPPUFILES+=$(addsuffix $(PPUEXT),$(INSTALL_UNITS))
-endif
-ifdef INSTALL_BUILDUNIT
-override INSTALLPPUFILES:=$(filter-out $(INSTALL_BUILDUNIT)$(PPUEXT),$(INSTALLPPUFILES))
-endif
-ifdef INSTALLPPUFILES
-override INSTALLPPULINKFILES:=$(subst $(PPUEXT),$(OEXT),$(INSTALLPPUFILES)) $(addprefix $(STATICLIBPREFIX),$(subst $(PPUEXT),$(STATICLIBEXT),$(INSTALLPPUFILES))) $(addprefix $(IMPORTLIBPREFIX),$(subst $(PPUEXT),$(STATICLIBEXT),$(INSTALLPPUFILES)))
-ifneq ($(UNITTARGETDIRPREFIX),)
-override INSTALLPPUFILES:=$(addprefix $(UNITTARGETDIRPREFIX),$(notdir $(INSTALLPPUFILES)))
-override INSTALLPPULINKFILES:=$(wildcard $(addprefix $(UNITTARGETDIRPREFIX),$(notdir $(INSTALLPPULINKFILES))))
-endif
-override INSTALL_CREATEPACKAGEFPC=1
-endif
-ifdef INSTALLEXEFILES
-ifneq ($(TARGETDIRPREFIX),)
-override INSTALLEXEFILES:=$(addprefix $(TARGETDIRPREFIX),$(notdir $(INSTALLEXEFILES)))
-endif
-endif
-fpc_install: all $(INSTALLTARGET)
-ifdef INSTALLEXEFILES
-	$(MKDIR) $(INSTALL_BINDIR)
-ifdef UPXPROG
-	-$(UPXPROG) $(INSTALLEXEFILES)
-endif
-	$(INSTALLEXE) $(INSTALLEXEFILES) $(INSTALL_BINDIR)
-endif
-ifdef INSTALL_CREATEPACKAGEFPC
-ifdef FPCMAKE
-ifdef PACKAGE_VERSION
-ifneq ($(wildcard Makefile.fpc),)
-	$(FPCMAKE) -p -T$(CPU_TARGET)-$(OS_TARGET) Makefile.fpc
-	$(MKDIR) $(INSTALL_UNITDIR)
-	$(INSTALL) Package.fpc $(INSTALL_UNITDIR)
-endif
-endif
-endif
-endif
-ifdef INSTALLPPUFILES
-	$(MKDIR) $(INSTALL_UNITDIR)
-	$(INSTALL) $(INSTALLPPUFILES) $(INSTALL_UNITDIR)
-ifneq ($(INSTALLPPULINKFILES),)
-	$(INSTALL) $(INSTALLPPULINKFILES) $(INSTALL_UNITDIR)
-endif
-ifneq ($(wildcard $(LIB_FULLNAME)),)
-	$(MKDIR) $(INSTALL_LIBDIR)
-	$(INSTALL) $(LIB_FULLNAME) $(INSTALL_LIBDIR)
-ifdef inUnix
-	ln -sf $(LIB_FULLNAME) $(INSTALL_LIBDIR)/$(LIB_NAME)
-endif
-endif
-endif
-ifdef INSTALL_FILES
-	$(MKDIR) $(INSTALL_DATADIR)
-	$(INSTALL) $(INSTALL_FILES) $(INSTALL_DATADIR)
-endif
-fpc_sourceinstall: distclean
-	$(MKDIR) $(INSTALL_SOURCEDIR)
-	$(COPYTREE) $(BASEDIR)/* $(INSTALL_SOURCEDIR)
-fpc_exampleinstall: $(addsuffix _distclean,$(TARGET_EXAMPLEDIRS))
-ifdef HASEXAMPLES
-	$(MKDIR) $(INSTALL_EXAMPLEDIR)
-endif
-ifdef EXAMPLESOURCEFILES
-	$(COPY) $(EXAMPLESOURCEFILES) $(INSTALL_EXAMPLEDIR)
-endif
-ifdef TARGET_EXAMPLEDIRS
-	$(COPYTREE) $(addsuffix /*,$(TARGET_EXAMPLEDIRS)) $(INSTALL_EXAMPLEDIR)
-endif
-.PHONY: fpc_clean fpc_cleanall fpc_distclean
-ifdef EXEFILES
-override CLEANEXEFILES:=$(addprefix $(TARGETDIRPREFIX),$(CLEANEXEFILES))
-endif
-ifdef CLEAN_UNITS
-override CLEANPPUFILES+=$(addsuffix $(PPUEXT),$(CLEAN_UNITS))
-endif
-ifdef CLEANPPUFILES
-override CLEANPPULINKFILES:=$(subst $(PPUEXT),$(OEXT),$(CLEANPPUFILES)) $(addprefix $(STATICLIBPREFIX),$(subst $(PPUEXT),$(STATICLIBEXT),$(CLEANPPUFILES))) $(addprefix $(IMPORTLIBPREFIX),$(subst $(PPUEXT),$(STATICLIBEXT),$(CLEANPPUFILES)))
-ifdef DEBUGSYMEXT
-override CLEANPPULINKFILES+=$(subst $(PPUEXT),$(DEBUGSYMEXT),$(CLEANPPUFILES))
-endif
-override CLEANPPUFILES:=$(addprefix $(UNITTARGETDIRPREFIX),$(CLEANPPUFILES))
-override CLEANPPULINKFILES:=$(wildcard $(addprefix $(UNITTARGETDIRPREFIX),$(CLEANPPULINKFILES)))
-endif
-fpc_clean: $(CLEANTARGET)
-ifdef CLEANEXEFILES
-	-$(DEL) $(CLEANEXEFILES)
-endif
-ifdef CLEANPPUFILES
-	-$(DEL) $(CLEANPPUFILES)
-endif
-ifneq ($(CLEANPPULINKFILES),)
-	-$(DEL) $(CLEANPPULINKFILES)
-endif
-ifdef CLEANRSTFILES
-	-$(DEL) $(addprefix $(UNITTARGETDIRPREFIX),$(CLEANRSTFILES))
-endif
-ifdef CLEAN_FILES
-	-$(DEL) $(CLEAN_FILES)
-endif
-ifdef LIB_NAME
-	-$(DEL) $(LIB_NAME) $(LIB_FULLNAME)
-endif
-	-$(DEL) $(FPCMADE) Package.fpc $(PPAS) script.res link.res $(FPCEXTFILE) $(REDIRFILE)
-	-$(DEL) *$(ASMEXT) *_ppas$(BATCHEXT)
-fpc_cleanall: $(CLEANTARGET)
-ifdef CLEANEXEFILES
-	-$(DEL) $(CLEANEXEFILES)
-endif
-ifdef COMPILER_UNITTARGETDIR
-ifdef CLEANPPUFILES
-	-$(DEL) $(CLEANPPUFILES)
-endif
-ifneq ($(CLEANPPULINKFILES),)
-	-$(DEL) $(CLEANPPULINKFILES)
-endif
-ifdef CLEANRSTFILES
-	-$(DEL) $(addprefix $(UNITTARGETDIRPREFIX),$(CLEANRSTFILES))
-endif
-endif
-	-$(DELTREE) units
-	-$(DEL) *$(OEXT) *$(PPUEXT) *$(RSTEXT) *$(ASMEXT) *$(STATICLIBEXT) *$(SHAREDLIBEXT) *$(PPLEXT)
-ifneq ($(PPUEXT),.ppu)
-	-$(DEL) *.o *.ppu *.a
-endif
-	-$(DELTREE) *$(SMARTEXT)
-	-$(DEL) fpcmade.* Package.fpc $(PPAS) script.res link.res $(FPCEXTFILE) $(REDIRFILE)
-	-$(DEL) *_ppas$(BATCHEXT)
-ifdef AOUTEXT
-	-$(DEL) *$(AOUTEXT)
-endif
-ifdef DEBUGSYMEXT
-	-$(DEL) *$(DEBUGSYMEXT)
-endif
-fpc_distclean: cleanall
-.PHONY: fpc_baseinfo
-override INFORULES+=fpc_baseinfo
-fpc_baseinfo:
-	@$(ECHO)
-	@$(ECHO)  == Package info ==
-	@$(ECHO)  Package Name..... $(PACKAGE_NAME)
-	@$(ECHO)  Package Version.. $(PACKAGE_VERSION)
-	@$(ECHO)
-	@$(ECHO)  == Configuration info ==
-	@$(ECHO)
-	@$(ECHO)  FPC.......... $(FPC)
-	@$(ECHO)  FPC Version.. $(FPC_VERSION)
-	@$(ECHO)  Source CPU... $(CPU_SOURCE)
-	@$(ECHO)  Target CPU... $(CPU_TARGET)
-	@$(ECHO)  Source OS.... $(OS_SOURCE)
-	@$(ECHO)  Target OS.... $(OS_TARGET)
-	@$(ECHO)  Full Source.. $(FULL_SOURCE)
-	@$(ECHO)  Full Target.. $(FULL_TARGET)
-	@$(ECHO)  SourceSuffix. $(SOURCESUFFIX)
-	@$(ECHO)  TargetSuffix. $(TARGETSUFFIX)
-	@$(ECHO)
-	@$(ECHO)  == Directory info ==
-	@$(ECHO)
-	@$(ECHO)  Required pkgs... $(REQUIRE_PACKAGES)
-	@$(ECHO)
-	@$(ECHO)  Basedir......... $(BASEDIR)
-	@$(ECHO)  FPCDir.......... $(FPCDIR)
-	@$(ECHO)  CrossBinDir..... $(CROSSBINDIR)
-	@$(ECHO)  UnitsDir........ $(UNITSDIR)
-	@$(ECHO)  PackagesDir..... $(PACKAGESDIR)
-	@$(ECHO)
-	@$(ECHO)  GCC library..... $(GCCLIBDIR)
-	@$(ECHO)  Other library... $(OTHERLIBDIR)
-	@$(ECHO)
-	@$(ECHO)  == Tools info ==
-	@$(ECHO)
-	@$(ECHO)  As........ $(AS)
-	@$(ECHO)  Ld........ $(LD)
-	@$(ECHO)  Ar........ $(AR)
-	@$(ECHO)  Rc........ $(RC)
-	@$(ECHO)
-	@$(ECHO)  Mv........ $(MVPROG)
-	@$(ECHO)  Cp........ $(CPPROG)
-	@$(ECHO)  Rm........ $(RMPROG)
-	@$(ECHO)  GInstall.. $(GINSTALL)
-	@$(ECHO)  Echo...... $(ECHO)
-	@$(ECHO)  Shell..... $(SHELL)
-	@$(ECHO)  Date...... $(DATE)
-	@$(ECHO)  FPCMake... $(FPCMAKE)
-	@$(ECHO)  PPUMove... $(PPUMOVE)
-	@$(ECHO)  Upx....... $(UPXPROG)
-	@$(ECHO)  Zip....... $(ZIPPROG)
-	@$(ECHO)
-	@$(ECHO)  == Object info ==
-	@$(ECHO)
-	@$(ECHO)  Target Loaders........ $(TARGET_LOADERS)
-	@$(ECHO)  Target Units.......... $(TARGET_UNITS)
-	@$(ECHO)  Target Implicit Units. $(TARGET_IMPLICITUNITS)
-	@$(ECHO)  Target Programs....... $(TARGET_PROGRAMS)
-	@$(ECHO)  Target Dirs........... $(TARGET_DIRS)
-	@$(ECHO)  Target Examples....... $(TARGET_EXAMPLES)
-	@$(ECHO)  Target ExampleDirs.... $(TARGET_EXAMPLEDIRS)
-	@$(ECHO)
-	@$(ECHO)  Clean Units......... $(CLEAN_UNITS)
-	@$(ECHO)  Clean Files......... $(CLEAN_FILES)
-	@$(ECHO)
-	@$(ECHO)  Install Units....... $(INSTALL_UNITS)
-	@$(ECHO)  Install Files....... $(INSTALL_FILES)
-	@$(ECHO)
-	@$(ECHO)  == Install info ==
-	@$(ECHO)
-	@$(ECHO)  DateStr.............. $(DATESTR)
-	@$(ECHO)  ZipName.............. $(ZIPNAME)
-	@$(ECHO)  ZipPrefix............ $(ZIPPREFIX)
-	@$(ECHO)  ZipCrossPrefix....... $(ZIPCROSSPREFIX)
-	@$(ECHO)  ZipSuffix............ $(ZIPSUFFIX)
-	@$(ECHO)  FullZipName.......... $(FULLZIPNAME)
-	@$(ECHO)  Install FPC Package.. $(INSTALL_FPCPACKAGE)
-	@$(ECHO)
-	@$(ECHO)  Install base dir..... $(INSTALL_BASEDIR)
-	@$(ECHO)  Install binary dir... $(INSTALL_BINDIR)
-	@$(ECHO)  Install library dir.. $(INSTALL_LIBDIR)
-	@$(ECHO)  Install units dir.... $(INSTALL_UNITDIR)
-	@$(ECHO)  Install source dir... $(INSTALL_SOURCEDIR)
-	@$(ECHO)  Install doc dir...... $(INSTALL_DOCDIR)
-	@$(ECHO)  Install example dir.. $(INSTALL_EXAMPLEDIR)
-	@$(ECHO)  Install data dir..... $(INSTALL_DATADIR)
-	@$(ECHO)
-	@$(ECHO)  Dist destination dir. $(DIST_DESTDIR)
-	@$(ECHO)  Dist zip name........ $(DIST_ZIPNAME)
-	@$(ECHO)
-.PHONY: fpc_info
-fpc_info: $(INFORULES)
-.PHONY: fpc_makefile fpc_makefiles fpc_makefile_sub1 fpc_makefile_sub2 \
-	fpc_makefile_dirs
-fpc_makefile:
-	$(FPCMAKE) -w -T$(OS_TARGET) Makefile.fpc
-fpc_makefile_sub1:
-ifdef TARGET_DIRS
-	$(FPCMAKE) -w -T$(OS_TARGET) $(addsuffix /Makefile.fpc,$(TARGET_DIRS))
-endif
-ifdef TARGET_EXAMPLEDIRS
-	$(FPCMAKE) -w -T$(OS_TARGET) $(addsuffix /Makefile.fpc,$(TARGET_EXAMPLEDIRS))
-endif
-fpc_makefile_sub2: $(addsuffix _makefile_dirs,$(TARGET_DIRS) $(TARGET_EXAMPLEDIRS))
-fpc_makefile_dirs: fpc_makefile_sub1 fpc_makefile_sub2
-fpc_makefiles: fpc_makefile fpc_makefile_dirs
-ifndef BIN2S
-BIN2S:=$(strip $(wildcard $(addsuffix /bin2s$(SRCEXEEXT),$(SEARCHPATH))))
-ifeq ($(BIN2S),)
-BIN2S= __missing_command_BIN2S
-else
-BIN2S:=$(firstword $(BIN2S))
-endif
-endif
-export BIN2S
-all: fpc_all
-debug: fpc_debug
-smart: fpc_smart
-release: fpc_release
-units: fpc_units
-examples:
-shared: fpc_shared
-install: fpc_install
-sourceinstall: fpc_sourceinstall
-exampleinstall: fpc_exampleinstall
-distinstall:
-zipinstall:
-zipsourceinstall:
-zipexampleinstall:
-zipdistinstall:
-clean: fpc_clean
-distclean: fpc_distclean
-cleanall: fpc_cleanall
-info: fpc_info
-makefiles: fpc_makefiles
-.PHONY: all debug smart release units examples shared install sourceinstall exampleinstall distinstall zipinstall zipsourceinstall zipexampleinstall zipdistinstall clean distclean cleanall info makefiles
-ifneq ($(wildcard fpcmake.loc),)
-include fpcmake.loc
-endif
-.NOTPARALLEL:
-ifneq ($(BIN2S),)
-data/r6502_portfont.bin.o:
-	$(BIN2S) data/r6502_portfont.bin > data/r6502_portfont.bin.s
-	$(AS) -o data/r6502_portfont.bin.o data/r6502_portfont.bin.s
-endif
diff --git a/packages/libgbafpc/examples/devkitPro/graphics/SimpleBGScroll/Makefile.fpc b/packages/libgbafpc/examples/devkitPro/graphics/SimpleBGScroll/Makefile.fpc
deleted file mode 100644
index 60a6e3d093..0000000000
--- a/packages/libgbafpc/examples/devkitPro/graphics/SimpleBGScroll/Makefile.fpc
+++ /dev/null
@@ -1,33 +0,0 @@
-#
-#   Makefile.fpc for Free Pascal libgbafpc 2.x.y Examples
-#
-
-[target]
-loaders=data/r6502_portfont.bin
-programs=SimpleBGScroll
-
-[require]
-packages=libgbafpc
-tools=bin2s
-
-[install]
-fpcpackage=y
-
-[default]
-cpu=arm
-target=gba
-fpcdir=../../../../../..
-
-[clean]
-files=*.elf data/*.o data/*.s
-units=*
-
-[prerules]
-
-[rules]
-.NOTPARALLEL:
-ifneq ($(BIN2S),)
-data/r6502_portfont.bin.o:
-        $(BIN2S) data/r6502_portfont.bin > data/r6502_portfont.bin.s
-        $(AS) -o data/r6502_portfont.bin.o data/r6502_portfont.bin.s
-endif
diff --git a/packages/libgbafpc/examples/devkitPro/graphics/SimpleBGScroll/SimpleBGScroll.pp b/packages/libgbafpc/examples/devkitPro/graphics/SimpleBGScroll/SimpleBGScroll.pp
deleted file mode 100644
index 817d158b00..0000000000
--- a/packages/libgbafpc/examples/devkitPro/graphics/SimpleBGScroll/SimpleBGScroll.pp
+++ /dev/null
@@ -1,162 +0,0 @@
-program SimpleBGScroll;
-
-uses
-  ctypes, gba;
-
-{$l data\r6502_portfont.bin.o}
-
-
-var
-  MAPADDRESS: pointer;
-  r6502_portfont_bin: array [0..0] of cuint8; cvar; external;
-  r6502_portfont_bin_size: array [0..0] of cuint32; cvar; external;
-  r6502_portfont_bin_end: array [0..0] of cuint8; cvar; external;
-
-const
-  DELAY = 2;			                  // slow things down
-  TILEWIDTH = 8;			              // how much to scroll
-  ROW = 10;			                    // what row to place text at
-
-// --------------------------------------------------------------------
-
-var 
-  palette: array [0..6] of u16;
-  
-// --------------------------------------------------------------------
-
-const 
-  message = '                                ' +
-            'Hello, this is an example of an oldschool simple tile scroller ' +
-            'not unlike how it was done in days of yore.  The ''@'' symbol ' +
-            'at the top of your screen is intentional, to dispel the illusion ' +
-            'of this scroller, to demonstrate the simple concept behind it. ' +
-            'Check out the source to learn how it works.  It is very simple! ' +
-            'This exercise brought to you by r6502...          ' +
-            'Text is about to restart... ';
-
-
-
-procedure updatescrolltext(idx: u32);
-var
-  i: integer;
-  temppointer: pu16;
-begin
-  temppointer := pu16(MAPADDRESS + (ROW * 32));
-
-  // write out a whole row of text to the map
-  for i :=0 to 31 do
-  begin
-    // check for end of message so we can wrap around properly
-    if (message[idx] = #0) then 
-      idx := 0;
-
-    // write a character - we subtract 32, because the font graphics
-    // start at tile 0, but our text is in ascii (starting at 32 and up)
-    // in other words, tile 0 is a space in our font, but in ascii a
-    // space is 32 so we must account for that difference between the two.
-    temppointer^ := Ord(message[idx]) - 32;
-    inc(temppointer); 
-    inc(idx);
-  end;
-end;
-
-
-var
-  i, scrollx, scrolldelay, textindex: integer;
-  temppointer: pu16;
-
-begin	
-  MAPADDRESS := MAP_BASE_ADR(31);    // our base map address
-  
-  palette[0] := RGB8($40,$80,$c0);
-  palette[1] := RGB8($FF,$FF,$FF);
-  palette[2] := RGB8($F5,$FF,$FF);
-  palette[3] := RGB8($DF,$FF,$F2);
-  palette[4] := RGB8($CA,$FF,$E2);
-  palette[5] := RGB8($B7,$FD,$D8);
-  palette[6] := RGB8($2C,$4F,$8B);
-
-  // Set up the interrupt handlers
-  irqInit();
-  // Enable Vblank Interrupt to allow VblankIntrWait
-  irqEnable(IRQ_VBLANK);
-
-  // Allow Interrupts
-  REG_IME^ := 1;
-
-  // load the palette for the background, 7 colors
-  temppointer := BG_COLORS;
-  
-  for i := 0 to 6 do
-  begin
-    temppointer^ := palette[i];
-    inc(temppointer);
-  end;
-
-  // load the font into gba video mem (48 characters, 4bit tiles)
-
-  CpuFastSet(@r6502_portfont_bin, pu16(VRAM), (r6502_portfont_bin_size[0] div 4) or COPY32);
-
-  // clear screen map with tile 0 ('space' tile) (256x256 halfwords)
-
-  //MAP_BASE_ADR(31) := nil;
-  CpuFastSet( MAP_BASE_ADR(31), MAP_BASE_ADR(31), FILL or COPY32 or ($800 div 4));
-
-  // set screen H and V scroll positions
-  BG_OFFSET[0].x := 0; 
-  BG_OFFSET[0].y := 0;
-
-  // initialize our variables
-  scrollx := 0;
-  textindex := 0;
-  scrolldelay := 0;
-
-  // put the '@' symbol on the top of the screen to show how
-  // the screen is only scrolling 7 pixels - to reveal the
-  // illusion of how the scroller works
-  pu16((MAPADDRESS + 1))^ := $20;	// 0x20 == '@'
-
-  // draw a row of text from beginning of message
-  updatescrolltext(0);
-
-  // set the screen base to 31 (0x600F800) and char base to 0 (0x6000000)
-  BGCTRL[0] := SCREEN_BASE(31);
-
-  // screen mode & background to display
-  SetMode( MODE_0 or BG0_ON );
-
-  while true do 
-  begin
-    VBlankIntrWait();
-
-    // check if we reached our delay
-    if (scrolldelay = DELAY) then
-    begin
-      // yes, the delay is complete, so let's reset it
-      scrolldelay := 0;
-
-      // check if we reached our scrollcount
-      if (scrollx = (TILEWIDTH-1)) then
-      begin
-        // yes, we've scrolled enough, so let's reset the count
-        scrollx := 0;
-
-        // check if we reached the end of our scrolltext
-        // and if so we need to restart our index
-        if (message[textindex] = #0) then 
-          textindex := 0
-        else 
-          inc(textindex);
-
-        // finally, let's update the scrolltext with the current text index
-        updatescrolltext(textindex);
-      end else 
-        inc(scrollx);
-    end else 
-      inc(scrolldelay);
-
-    // update the hardware horizontal scroll register
-    BG_OFFSET[0].x := scrollx;
-  end;
-end.
-
diff --git a/packages/libgbafpc/examples/devkitPro/graphics/SimpleBGScroll/data/r6502_portfont.bin b/packages/libgbafpc/examples/devkitPro/graphics/SimpleBGScroll/data/r6502_portfont.bin
deleted file mode 100644
index 19033760aea6773f59016c4bc6b02ed216f83705..0000000000000000000000000000000000000000
GIT binary patch
literal 0
HcmV?d00001

literal 3072
zcma);yRM@!5Qc|bTtkx@QKXJ!DK!O3O~cma62Jc=>^C+B=cZjpoaFF(#xwuiEb@<4
zfmbFz4d0f>@eI7zZ(T(J&c^!63$wnAP{K>ar^(!`6<HP|&IL%{SC>msU5u}rM&y1!
zcI{*7hrx^YL04Ju87nW>$%wrl+vTwcXw)rImi#J=)U_Or#=1p1(+}<}-Z)A2m#XU1
zGz3xLg1k&@nR!|sIrF#xi|W^XX+z8VGrIWFRf$@NeGUH2RyyCFpeEX<8&sb2qks6+
z{<4LA(1ZCR{pX$_zjDH^->U-}kdN_E2S=>*QY(L6TIlaRd)N~A_waA3vANchJ>F;R
z-}x^QuSWKv;tD}G2x=GXd!oP-_DUS`dIt7+i+yVTFbrqsz0Yw07k59Z0&ov*l)K6h
zT^{5o@%NVlkcV0HptB)AoPU*%_M>OTEqG^k`&AzMFkU&RKOEToPximczu}vGd46s=
zrhKRPMebvaQV!<$7T-W!;JC(pv8(%{{JJR5U$sN)A=FQv1Bl1-`2j!38xm0Di7kjH
z`yKp(d*V;+fvxqcc;S69R>e56W^3n#z~EmvFUf0s;D3VOS@|7I|3poQZx!+<;KV=j
zm*Tt2i%;zX`BUOg^J9}Y<R29j^r!rIiT?rfeJGDCzq0(uaCM*O_59|L^l#^9`S;5|
zSHW3GFcfP4Bf&YJT-5%g1){ly|K!(i{gsD4V?F%=|2O_Ld}w)7zt@l2S5zZBQJ+`z
zzwsY%>ZjuTEAcV*B|f|V;2FQ0|2hA8{bJKAf4O|8{ozSIe#ZYkQ~w?9r$1|c?B`4D
z@0uUfe>xw$kjv<QlxOIzsXu(RKabz)Uwfhe1`5E@pK|<4e8}%^>6XE-`Mcup{X4}c
z&Yp7APpF?8^_BI%V1MW@Z~c}2r~H(-SAKI37(7gsZM@VZgB*EU{SgL`%EM1gv8;Xd
z(691gwlIH7hZe)<KUb=s|J+U;71H>I^tT#c=4-F>)u+~`Va##T!#K5XU780C^|F?a
z5P!8Fd!q($gFJZB&j8E%+;+YN=lv#MBEQyWm=D_D!T>_GCNN9Su9zSVANnVH)qe5=
z`!@U8+BDifv_3mC@Ns;i0%E|dllt&6|GwcJ`O$NIfuBr2{&Rn^%-`;DqCV&!s$b(9
z+sC)@6x8b<dI0kE!QQF=$731({GtCE4vFi7|J;7IZ2WEfM*qLccZ(U|X7xU7iSdi^
zX*&q^`vpTcRK%e<5ML~Mqkomx{P1$K<hQ3ktofng)8?mhz%>xICkTM%M_fcuG=6)2
zyxE`OE%uA@pE;m?Alz?O{`#}tFZT_K*9V=CGt&+GeC%KE=ik=(+H<_7L|VcAa6gUr
zt8G3I-_l+5dRj2ur<ogOE3K2^9QqT{FG{_D7VM}U<$nZi^?G^cKbPuT#u2!do4J{j
okrVo#)R*?(V)PzV#-yLynclAgu5sJvyJx;1b-ru=by{D40o)3MGXMYp

diff --git a/packages/libgbafpc/examples/devkitPro/graphics/ansi_console/Makefile b/packages/libgbafpc/examples/devkitPro/graphics/ansi_console/Makefile
deleted file mode 100644
index fadf0ccdd9..0000000000
--- a/packages/libgbafpc/examples/devkitPro/graphics/ansi_console/Makefile
+++ /dev/null
@@ -1,2358 +0,0 @@
-#
-# Don't edit, this file is generated by FPCMake Version 2.0.0 [2009/08/02]
-#
-default: all
-MAKEFILETARGETS=i386-linux i386-go32v2 i386-win32 i386-os2 i386-freebsd i386-beos i386-haiku i386-netbsd i386-solaris i386-qnx i386-netware i386-openbsd i386-wdosx i386-darwin i386-emx i386-watcom i386-netwlibc i386-wince i386-embedded i386-symbian m68k-linux m68k-freebsd m68k-netbsd m68k-amiga m68k-atari m68k-openbsd m68k-palmos m68k-embedded powerpc-linux powerpc-netbsd powerpc-amiga powerpc-macos powerpc-darwin powerpc-morphos powerpc-embedded sparc-linux sparc-netbsd sparc-solaris sparc-embedded x86_64-linux x86_64-freebsd x86_64-darwin x86_64-win64 x86_64-embedded arm-linux arm-palmos arm-darwin arm-wince arm-gba arm-nds arm-embedded arm-symbian powerpc64-linux powerpc64-darwin powerpc64-embedded avr-embedded armeb-linux armeb-embedded
-BSDs = freebsd netbsd openbsd darwin
-UNIXs = linux $(BSDs) solaris qnx
-LIMIT83fs = go32v2 os2 emx watcom
-OSNeedsComspecToRunBatch = go32v2 watcom
-FORCE:
-.PHONY: FORCE
-override PATH:=$(patsubst %/,%,$(subst \,/,$(PATH)))
-ifneq ($(findstring darwin,$(OSTYPE)),)
-inUnix=1 #darwin
-SEARCHPATH:=$(filter-out .,$(subst :, ,$(PATH)))
-else
-ifeq ($(findstring ;,$(PATH)),)
-inUnix=1
-SEARCHPATH:=$(filter-out .,$(subst :, ,$(PATH)))
-else
-SEARCHPATH:=$(subst ;, ,$(PATH))
-endif
-endif
-SEARCHPATH+=$(patsubst %/,%,$(subst \,/,$(dir $(MAKE))))
-PWD:=$(strip $(wildcard $(addsuffix /pwd.exe,$(SEARCHPATH))))
-ifeq ($(PWD),)
-PWD:=$(strip $(wildcard $(addsuffix /pwd,$(SEARCHPATH))))
-ifeq ($(PWD),)
-$(error You need the GNU utils package to use this Makefile)
-else
-PWD:=$(firstword $(PWD))
-SRCEXEEXT=
-endif
-else
-PWD:=$(firstword $(PWD))
-SRCEXEEXT=.exe
-endif
-ifndef inUnix
-ifeq ($(OS),Windows_NT)
-inWinNT=1
-else
-ifdef OS2_SHELL
-inOS2=1
-endif
-endif
-else
-ifneq ($(findstring cygdrive,$(PATH)),)
-inCygWin=1
-endif
-endif
-ifdef inUnix
-SRCBATCHEXT=.sh
-else
-ifdef inOS2
-SRCBATCHEXT=.cmd
-else
-SRCBATCHEXT=.bat
-endif
-endif
-ifdef COMSPEC
-ifneq ($(findstring $(OS_SOURCE),$(OSNeedsComspecToRunBatch)),)
-ifndef RUNBATCH
-RUNBATCH=$(COMSPEC) /C
-endif
-endif
-endif
-ifdef inUnix
-PATHSEP=/
-else
-PATHSEP:=$(subst /,\,/)
-ifdef inCygWin
-PATHSEP=/
-endif
-endif
-ifdef PWD
-BASEDIR:=$(subst \,/,$(shell $(PWD)))
-ifdef inCygWin
-ifneq ($(findstring /cygdrive/,$(BASEDIR)),)
-BASENODIR:=$(patsubst /cygdrive%,%,$(BASEDIR))
-BASEDRIVE:=$(firstword $(subst /, ,$(BASENODIR)))
-BASEDIR:=$(subst /cygdrive/$(BASEDRIVE)/,$(BASEDRIVE):/,$(BASEDIR))
-endif
-endif
-else
-BASEDIR=.
-endif
-ifdef inOS2
-ifndef ECHO
-ECHO:=$(strip $(wildcard $(addsuffix /gecho$(SRCEXEEXT),$(SEARCHPATH))))
-ifeq ($(ECHO),)
-ECHO:=$(strip $(wildcard $(addsuffix /echo$(SRCEXEEXT),$(SEARCHPATH))))
-ifeq ($(ECHO),)
-ECHO=echo
-else
-ECHO:=$(firstword $(ECHO))
-endif
-else
-ECHO:=$(firstword $(ECHO))
-endif
-endif
-export ECHO
-endif
-override OS_TARGET_DEFAULT=gba
-override CPU_TARGET_DEFAULT=arm
-override DEFAULT_FPCDIR=../../../../../..
-ifndef FPC
-ifdef PP
-FPC=$(PP)
-endif
-endif
-ifndef FPC
-FPCPROG:=$(strip $(wildcard $(addsuffix /fpc$(SRCEXEEXT),$(SEARCHPATH))))
-ifneq ($(FPCPROG),)
-FPCPROG:=$(firstword $(FPCPROG))
-ifneq ($(CPU_TARGET),)
-FPC:=$(shell $(FPCPROG) -P$(CPU_TARGET) -PB)
-else
-FPC:=$(shell $(FPCPROG) -PB)
-endif
-ifneq ($(findstring Error,$(FPC)),)
-override FPC=$(firstword $(strip $(wildcard $(addsuffix /ppc386$(SRCEXEEXT),$(SEARCHPATH)))))
-else
-ifeq ($(strip $(wildcard $(FPC))),)
-FPC:=$(firstword $(FPCPROG))
-endif
-endif
-else
-override FPC=$(firstword $(strip $(wildcard $(addsuffix /ppc386$(SRCEXEEXT),$(SEARCHPATH)))))
-endif
-endif
-override FPC:=$(subst $(SRCEXEEXT),,$(FPC))
-override FPC:=$(subst \,/,$(FPC))$(SRCEXEEXT)
-FOUNDFPC:=$(strip $(wildcard $(FPC)))
-ifeq ($(FOUNDFPC),)
-FOUNDFPC=$(strip $(wildcard $(addsuffix /$(FPC),$(SEARCHPATH))))
-ifeq ($(FOUNDFPC),)
-$(error Compiler $(FPC) not found)
-endif
-endif
-ifndef FPC_COMPILERINFO
-FPC_COMPILERINFO:=$(shell $(FPC) -iVSPTPSOTO)
-endif
-ifndef FPC_VERSION
-FPC_VERSION:=$(word 1,$(FPC_COMPILERINFO))
-endif
-export FPC FPC_VERSION FPC_COMPILERINFO
-unexport CHECKDEPEND ALLDEPENDENCIES
-ifndef CPU_TARGET
-ifdef CPU_TARGET_DEFAULT
-CPU_TARGET=$(CPU_TARGET_DEFAULT)
-endif
-endif
-ifndef OS_TARGET
-ifdef OS_TARGET_DEFAULT
-OS_TARGET=$(OS_TARGET_DEFAULT)
-endif
-endif
-ifneq ($(words $(FPC_COMPILERINFO)),5)
-FPC_COMPILERINFO+=$(shell $(FPC) -iSP)
-FPC_COMPILERINFO+=$(shell $(FPC) -iTP)
-FPC_COMPILERINFO+=$(shell $(FPC) -iSO)
-FPC_COMPILERINFO+=$(shell $(FPC) -iTO)
-endif
-ifndef CPU_SOURCE
-CPU_SOURCE:=$(word 2,$(FPC_COMPILERINFO))
-endif
-ifndef CPU_TARGET
-CPU_TARGET:=$(word 3,$(FPC_COMPILERINFO))
-endif
-ifndef OS_SOURCE
-OS_SOURCE:=$(word 4,$(FPC_COMPILERINFO))
-endif
-ifndef OS_TARGET
-OS_TARGET:=$(word 5,$(FPC_COMPILERINFO))
-endif
-FULL_TARGET=$(CPU_TARGET)-$(OS_TARGET)
-FULL_SOURCE=$(CPU_SOURCE)-$(OS_SOURCE)
-ifeq ($(CPU_TARGET),armeb)
-ARCH=arm
-override FPCOPT+=-Cb
-else
-ifeq ($(CPU_TARGET),armel)
-ARCH=arm
-override FPCOPT+=-CaEABI
-else
-ARCH=$(CPU_TARGET)
-endif
-endif
-ifneq ($(findstring $(OS_SOURCE),$(LIMIT83fs)),)
-TARGETSUFFIX=$(OS_TARGET)
-SOURCESUFFIX=$(OS_SOURCE)
-else
-TARGETSUFFIX=$(FULL_TARGET)
-SOURCESUFFIX=$(FULL_SOURCE)
-endif
-ifneq ($(FULL_TARGET),$(FULL_SOURCE))
-CROSSCOMPILE=1
-endif
-ifeq ($(findstring makefile,$(MAKECMDGOALS)),)
-ifeq ($(findstring $(FULL_TARGET),$(MAKEFILETARGETS)),)
-$(error The Makefile doesn't support target $(FULL_TARGET), please run fpcmake first)
-endif
-endif
-ifneq ($(findstring $(OS_TARGET),$(BSDs)),)
-BSDhier=1
-endif
-ifeq ($(OS_TARGET),linux)
-linuxHier=1
-endif
-export OS_TARGET OS_SOURCE ARCH CPU_TARGET CPU_SOURCE FULL_TARGET FULL_SOURCE TARGETSUFFIX SOURCESUFFIX CROSSCOMPILE
-ifdef FPCDIR
-override FPCDIR:=$(subst \,/,$(FPCDIR))
-ifeq ($(wildcard $(addprefix $(FPCDIR)/,rtl units)),)
-override FPCDIR=wrong
-endif
-else
-override FPCDIR=wrong
-endif
-ifdef DEFAULT_FPCDIR
-ifeq ($(FPCDIR),wrong)
-override FPCDIR:=$(subst \,/,$(DEFAULT_FPCDIR))
-ifeq ($(wildcard $(addprefix $(FPCDIR)/,rtl units)),)
-override FPCDIR=wrong
-endif
-endif
-endif
-ifeq ($(FPCDIR),wrong)
-ifdef inUnix
-override FPCDIR=/usr/local/lib/fpc/$(FPC_VERSION)
-ifeq ($(wildcard $(FPCDIR)/units),)
-override FPCDIR=/usr/lib/fpc/$(FPC_VERSION)
-endif
-else
-override FPCDIR:=$(subst /$(FPC),,$(firstword $(strip $(wildcard $(addsuffix /$(FPC),$(SEARCHPATH))))))
-override FPCDIR:=$(FPCDIR)/..
-ifeq ($(wildcard $(addprefix $(FPCDIR)/,rtl units)),)
-override FPCDIR:=$(FPCDIR)/..
-ifeq ($(wildcard $(addprefix $(FPCDIR)/,rtl units)),)
-override FPCDIR:=$(BASEDIR)
-ifeq ($(wildcard $(addprefix $(FPCDIR)/,rtl units)),)
-override FPCDIR=c:/pp
-endif
-endif
-endif
-endif
-endif
-ifndef CROSSBINDIR
-CROSSBINDIR:=$(wildcard $(FPCDIR)/bin/$(TARGETSUFFIX))
-endif
-ifeq ($(OS_TARGET),darwin)
-ifeq ($(OS_SOURCE),darwin)
-DARWIN2DARWIN=1
-endif
-endif
-ifndef BINUTILSPREFIX
-ifndef CROSSBINDIR
-ifdef CROSSCOMPILE
-ifndef DARWIN2DARWIN
-BINUTILSPREFIX=$(CPU_TARGET)-$(OS_TARGET)-
-endif
-endif
-endif
-endif
-UNITSDIR:=$(wildcard $(FPCDIR)/units/$(TARGETSUFFIX))
-ifeq ($(UNITSDIR),)
-UNITSDIR:=$(wildcard $(FPCDIR)/units/$(OS_TARGET))
-endif
-PACKAGESDIR:=$(wildcard $(FPCDIR) $(FPCDIR)/packages $(FPCDIR)/packages/base $(FPCDIR)/packages/extra)
-ifeq ($(FULL_TARGET),i386-linux)
-override TARGET_PROGRAMS+=console
-endif
-ifeq ($(FULL_TARGET),i386-go32v2)
-override TARGET_PROGRAMS+=console
-endif
-ifeq ($(FULL_TARGET),i386-win32)
-override TARGET_PROGRAMS+=console
-endif
-ifeq ($(FULL_TARGET),i386-os2)
-override TARGET_PROGRAMS+=console
-endif
-ifeq ($(FULL_TARGET),i386-freebsd)
-override TARGET_PROGRAMS+=console
-endif
-ifeq ($(FULL_TARGET),i386-beos)
-override TARGET_PROGRAMS+=console
-endif
-ifeq ($(FULL_TARGET),i386-haiku)
-override TARGET_PROGRAMS+=console
-endif
-ifeq ($(FULL_TARGET),i386-netbsd)
-override TARGET_PROGRAMS+=console
-endif
-ifeq ($(FULL_TARGET),i386-solaris)
-override TARGET_PROGRAMS+=console
-endif
-ifeq ($(FULL_TARGET),i386-qnx)
-override TARGET_PROGRAMS+=console
-endif
-ifeq ($(FULL_TARGET),i386-netware)
-override TARGET_PROGRAMS+=console
-endif
-ifeq ($(FULL_TARGET),i386-openbsd)
-override TARGET_PROGRAMS+=console
-endif
-ifeq ($(FULL_TARGET),i386-wdosx)
-override TARGET_PROGRAMS+=console
-endif
-ifeq ($(FULL_TARGET),i386-darwin)
-override TARGET_PROGRAMS+=console
-endif
-ifeq ($(FULL_TARGET),i386-emx)
-override TARGET_PROGRAMS+=console
-endif
-ifeq ($(FULL_TARGET),i386-watcom)
-override TARGET_PROGRAMS+=console
-endif
-ifeq ($(FULL_TARGET),i386-netwlibc)
-override TARGET_PROGRAMS+=console
-endif
-ifeq ($(FULL_TARGET),i386-wince)
-override TARGET_PROGRAMS+=console
-endif
-ifeq ($(FULL_TARGET),i386-embedded)
-override TARGET_PROGRAMS+=console
-endif
-ifeq ($(FULL_TARGET),i386-symbian)
-override TARGET_PROGRAMS+=console
-endif
-ifeq ($(FULL_TARGET),m68k-linux)
-override TARGET_PROGRAMS+=console
-endif
-ifeq ($(FULL_TARGET),m68k-freebsd)
-override TARGET_PROGRAMS+=console
-endif
-ifeq ($(FULL_TARGET),m68k-netbsd)
-override TARGET_PROGRAMS+=console
-endif
-ifeq ($(FULL_TARGET),m68k-amiga)
-override TARGET_PROGRAMS+=console
-endif
-ifeq ($(FULL_TARGET),m68k-atari)
-override TARGET_PROGRAMS+=console
-endif
-ifeq ($(FULL_TARGET),m68k-openbsd)
-override TARGET_PROGRAMS+=console
-endif
-ifeq ($(FULL_TARGET),m68k-palmos)
-override TARGET_PROGRAMS+=console
-endif
-ifeq ($(FULL_TARGET),m68k-embedded)
-override TARGET_PROGRAMS+=console
-endif
-ifeq ($(FULL_TARGET),powerpc-linux)
-override TARGET_PROGRAMS+=console
-endif
-ifeq ($(FULL_TARGET),powerpc-netbsd)
-override TARGET_PROGRAMS+=console
-endif
-ifeq ($(FULL_TARGET),powerpc-amiga)
-override TARGET_PROGRAMS+=console
-endif
-ifeq ($(FULL_TARGET),powerpc-macos)
-override TARGET_PROGRAMS+=console
-endif
-ifeq ($(FULL_TARGET),powerpc-darwin)
-override TARGET_PROGRAMS+=console
-endif
-ifeq ($(FULL_TARGET),powerpc-morphos)
-override TARGET_PROGRAMS+=console
-endif
-ifeq ($(FULL_TARGET),powerpc-embedded)
-override TARGET_PROGRAMS+=console
-endif
-ifeq ($(FULL_TARGET),sparc-linux)
-override TARGET_PROGRAMS+=console
-endif
-ifeq ($(FULL_TARGET),sparc-netbsd)
-override TARGET_PROGRAMS+=console
-endif
-ifeq ($(FULL_TARGET),sparc-solaris)
-override TARGET_PROGRAMS+=console
-endif
-ifeq ($(FULL_TARGET),sparc-embedded)
-override TARGET_PROGRAMS+=console
-endif
-ifeq ($(FULL_TARGET),x86_64-linux)
-override TARGET_PROGRAMS+=console
-endif
-ifeq ($(FULL_TARGET),x86_64-freebsd)
-override TARGET_PROGRAMS+=console
-endif
-ifeq ($(FULL_TARGET),x86_64-darwin)
-override TARGET_PROGRAMS+=console
-endif
-ifeq ($(FULL_TARGET),x86_64-win64)
-override TARGET_PROGRAMS+=console
-endif
-ifeq ($(FULL_TARGET),x86_64-embedded)
-override TARGET_PROGRAMS+=console
-endif
-ifeq ($(FULL_TARGET),arm-linux)
-override TARGET_PROGRAMS+=console
-endif
-ifeq ($(FULL_TARGET),arm-palmos)
-override TARGET_PROGRAMS+=console
-endif
-ifeq ($(FULL_TARGET),arm-darwin)
-override TARGET_PROGRAMS+=console
-endif
-ifeq ($(FULL_TARGET),arm-wince)
-override TARGET_PROGRAMS+=console
-endif
-ifeq ($(FULL_TARGET),arm-gba)
-override TARGET_PROGRAMS+=console
-endif
-ifeq ($(FULL_TARGET),arm-nds)
-override TARGET_PROGRAMS+=console
-endif
-ifeq ($(FULL_TARGET),arm-embedded)
-override TARGET_PROGRAMS+=console
-endif
-ifeq ($(FULL_TARGET),arm-symbian)
-override TARGET_PROGRAMS+=console
-endif
-ifeq ($(FULL_TARGET),powerpc64-linux)
-override TARGET_PROGRAMS+=console
-endif
-ifeq ($(FULL_TARGET),powerpc64-darwin)
-override TARGET_PROGRAMS+=console
-endif
-ifeq ($(FULL_TARGET),powerpc64-embedded)
-override TARGET_PROGRAMS+=console
-endif
-ifeq ($(FULL_TARGET),avr-embedded)
-override TARGET_PROGRAMS+=console
-endif
-ifeq ($(FULL_TARGET),armeb-linux)
-override TARGET_PROGRAMS+=console
-endif
-ifeq ($(FULL_TARGET),armeb-embedded)
-override TARGET_PROGRAMS+=console
-endif
-ifeq ($(FULL_TARGET),i386-linux)
-override CLEAN_UNITS+=*
-endif
-ifeq ($(FULL_TARGET),i386-go32v2)
-override CLEAN_UNITS+=*
-endif
-ifeq ($(FULL_TARGET),i386-win32)
-override CLEAN_UNITS+=*
-endif
-ifeq ($(FULL_TARGET),i386-os2)
-override CLEAN_UNITS+=*
-endif
-ifeq ($(FULL_TARGET),i386-freebsd)
-override CLEAN_UNITS+=*
-endif
-ifeq ($(FULL_TARGET),i386-beos)
-override CLEAN_UNITS+=*
-endif
-ifeq ($(FULL_TARGET),i386-haiku)
-override CLEAN_UNITS+=*
-endif
-ifeq ($(FULL_TARGET),i386-netbsd)
-override CLEAN_UNITS+=*
-endif
-ifeq ($(FULL_TARGET),i386-solaris)
-override CLEAN_UNITS+=*
-endif
-ifeq ($(FULL_TARGET),i386-qnx)
-override CLEAN_UNITS+=*
-endif
-ifeq ($(FULL_TARGET),i386-netware)
-override CLEAN_UNITS+=*
-endif
-ifeq ($(FULL_TARGET),i386-openbsd)
-override CLEAN_UNITS+=*
-endif
-ifeq ($(FULL_TARGET),i386-wdosx)
-override CLEAN_UNITS+=*
-endif
-ifeq ($(FULL_TARGET),i386-darwin)
-override CLEAN_UNITS+=*
-endif
-ifeq ($(FULL_TARGET),i386-emx)
-override CLEAN_UNITS+=*
-endif
-ifeq ($(FULL_TARGET),i386-watcom)
-override CLEAN_UNITS+=*
-endif
-ifeq ($(FULL_TARGET),i386-netwlibc)
-override CLEAN_UNITS+=*
-endif
-ifeq ($(FULL_TARGET),i386-wince)
-override CLEAN_UNITS+=*
-endif
-ifeq ($(FULL_TARGET),i386-embedded)
-override CLEAN_UNITS+=*
-endif
-ifeq ($(FULL_TARGET),i386-symbian)
-override CLEAN_UNITS+=*
-endif
-ifeq ($(FULL_TARGET),m68k-linux)
-override CLEAN_UNITS+=*
-endif
-ifeq ($(FULL_TARGET),m68k-freebsd)
-override CLEAN_UNITS+=*
-endif
-ifeq ($(FULL_TARGET),m68k-netbsd)
-override CLEAN_UNITS+=*
-endif
-ifeq ($(FULL_TARGET),m68k-amiga)
-override CLEAN_UNITS+=*
-endif
-ifeq ($(FULL_TARGET),m68k-atari)
-override CLEAN_UNITS+=*
-endif
-ifeq ($(FULL_TARGET),m68k-openbsd)
-override CLEAN_UNITS+=*
-endif
-ifeq ($(FULL_TARGET),m68k-palmos)
-override CLEAN_UNITS+=*
-endif
-ifeq ($(FULL_TARGET),m68k-embedded)
-override CLEAN_UNITS+=*
-endif
-ifeq ($(FULL_TARGET),powerpc-linux)
-override CLEAN_UNITS+=*
-endif
-ifeq ($(FULL_TARGET),powerpc-netbsd)
-override CLEAN_UNITS+=*
-endif
-ifeq ($(FULL_TARGET),powerpc-amiga)
-override CLEAN_UNITS+=*
-endif
-ifeq ($(FULL_TARGET),powerpc-macos)
-override CLEAN_UNITS+=*
-endif
-ifeq ($(FULL_TARGET),powerpc-darwin)
-override CLEAN_UNITS+=*
-endif
-ifeq ($(FULL_TARGET),powerpc-morphos)
-override CLEAN_UNITS+=*
-endif
-ifeq ($(FULL_TARGET),powerpc-embedded)
-override CLEAN_UNITS+=*
-endif
-ifeq ($(FULL_TARGET),sparc-linux)
-override CLEAN_UNITS+=*
-endif
-ifeq ($(FULL_TARGET),sparc-netbsd)
-override CLEAN_UNITS+=*
-endif
-ifeq ($(FULL_TARGET),sparc-solaris)
-override CLEAN_UNITS+=*
-endif
-ifeq ($(FULL_TARGET),sparc-embedded)
-override CLEAN_UNITS+=*
-endif
-ifeq ($(FULL_TARGET),x86_64-linux)
-override CLEAN_UNITS+=*
-endif
-ifeq ($(FULL_TARGET),x86_64-freebsd)
-override CLEAN_UNITS+=*
-endif
-ifeq ($(FULL_TARGET),x86_64-darwin)
-override CLEAN_UNITS+=*
-endif
-ifeq ($(FULL_TARGET),x86_64-win64)
-override CLEAN_UNITS+=*
-endif
-ifeq ($(FULL_TARGET),x86_64-embedded)
-override CLEAN_UNITS+=*
-endif
-ifeq ($(FULL_TARGET),arm-linux)
-override CLEAN_UNITS+=*
-endif
-ifeq ($(FULL_TARGET),arm-palmos)
-override CLEAN_UNITS+=*
-endif
-ifeq ($(FULL_TARGET),arm-darwin)
-override CLEAN_UNITS+=*
-endif
-ifeq ($(FULL_TARGET),arm-wince)
-override CLEAN_UNITS+=*
-endif
-ifeq ($(FULL_TARGET),arm-gba)
-override CLEAN_UNITS+=*
-endif
-ifeq ($(FULL_TARGET),arm-nds)
-override CLEAN_UNITS+=*
-endif
-ifeq ($(FULL_TARGET),arm-embedded)
-override CLEAN_UNITS+=*
-endif
-ifeq ($(FULL_TARGET),arm-symbian)
-override CLEAN_UNITS+=*
-endif
-ifeq ($(FULL_TARGET),powerpc64-linux)
-override CLEAN_UNITS+=*
-endif
-ifeq ($(FULL_TARGET),powerpc64-darwin)
-override CLEAN_UNITS+=*
-endif
-ifeq ($(FULL_TARGET),powerpc64-embedded)
-override CLEAN_UNITS+=*
-endif
-ifeq ($(FULL_TARGET),avr-embedded)
-override CLEAN_UNITS+=*
-endif
-ifeq ($(FULL_TARGET),armeb-linux)
-override CLEAN_UNITS+=*
-endif
-ifeq ($(FULL_TARGET),armeb-embedded)
-override CLEAN_UNITS+=*
-endif
-ifeq ($(FULL_TARGET),i386-linux)
-override CLEAN_FILES+=*.elf
-endif
-ifeq ($(FULL_TARGET),i386-go32v2)
-override CLEAN_FILES+=*.elf
-endif
-ifeq ($(FULL_TARGET),i386-win32)
-override CLEAN_FILES+=*.elf
-endif
-ifeq ($(FULL_TARGET),i386-os2)
-override CLEAN_FILES+=*.elf
-endif
-ifeq ($(FULL_TARGET),i386-freebsd)
-override CLEAN_FILES+=*.elf
-endif
-ifeq ($(FULL_TARGET),i386-beos)
-override CLEAN_FILES+=*.elf
-endif
-ifeq ($(FULL_TARGET),i386-haiku)
-override CLEAN_FILES+=*.elf
-endif
-ifeq ($(FULL_TARGET),i386-netbsd)
-override CLEAN_FILES+=*.elf
-endif
-ifeq ($(FULL_TARGET),i386-solaris)
-override CLEAN_FILES+=*.elf
-endif
-ifeq ($(FULL_TARGET),i386-qnx)
-override CLEAN_FILES+=*.elf
-endif
-ifeq ($(FULL_TARGET),i386-netware)
-override CLEAN_FILES+=*.elf
-endif
-ifeq ($(FULL_TARGET),i386-openbsd)
-override CLEAN_FILES+=*.elf
-endif
-ifeq ($(FULL_TARGET),i386-wdosx)
-override CLEAN_FILES+=*.elf
-endif
-ifeq ($(FULL_TARGET),i386-darwin)
-override CLEAN_FILES+=*.elf
-endif
-ifeq ($(FULL_TARGET),i386-emx)
-override CLEAN_FILES+=*.elf
-endif
-ifeq ($(FULL_TARGET),i386-watcom)
-override CLEAN_FILES+=*.elf
-endif
-ifeq ($(FULL_TARGET),i386-netwlibc)
-override CLEAN_FILES+=*.elf
-endif
-ifeq ($(FULL_TARGET),i386-wince)
-override CLEAN_FILES+=*.elf
-endif
-ifeq ($(FULL_TARGET),i386-embedded)
-override CLEAN_FILES+=*.elf
-endif
-ifeq ($(FULL_TARGET),i386-symbian)
-override CLEAN_FILES+=*.elf
-endif
-ifeq ($(FULL_TARGET),m68k-linux)
-override CLEAN_FILES+=*.elf
-endif
-ifeq ($(FULL_TARGET),m68k-freebsd)
-override CLEAN_FILES+=*.elf
-endif
-ifeq ($(FULL_TARGET),m68k-netbsd)
-override CLEAN_FILES+=*.elf
-endif
-ifeq ($(FULL_TARGET),m68k-amiga)
-override CLEAN_FILES+=*.elf
-endif
-ifeq ($(FULL_TARGET),m68k-atari)
-override CLEAN_FILES+=*.elf
-endif
-ifeq ($(FULL_TARGET),m68k-openbsd)
-override CLEAN_FILES+=*.elf
-endif
-ifeq ($(FULL_TARGET),m68k-palmos)
-override CLEAN_FILES+=*.elf
-endif
-ifeq ($(FULL_TARGET),m68k-embedded)
-override CLEAN_FILES+=*.elf
-endif
-ifeq ($(FULL_TARGET),powerpc-linux)
-override CLEAN_FILES+=*.elf
-endif
-ifeq ($(FULL_TARGET),powerpc-netbsd)
-override CLEAN_FILES+=*.elf
-endif
-ifeq ($(FULL_TARGET),powerpc-amiga)
-override CLEAN_FILES+=*.elf
-endif
-ifeq ($(FULL_TARGET),powerpc-macos)
-override CLEAN_FILES+=*.elf
-endif
-ifeq ($(FULL_TARGET),powerpc-darwin)
-override CLEAN_FILES+=*.elf
-endif
-ifeq ($(FULL_TARGET),powerpc-morphos)
-override CLEAN_FILES+=*.elf
-endif
-ifeq ($(FULL_TARGET),powerpc-embedded)
-override CLEAN_FILES+=*.elf
-endif
-ifeq ($(FULL_TARGET),sparc-linux)
-override CLEAN_FILES+=*.elf
-endif
-ifeq ($(FULL_TARGET),sparc-netbsd)
-override CLEAN_FILES+=*.elf
-endif
-ifeq ($(FULL_TARGET),sparc-solaris)
-override CLEAN_FILES+=*.elf
-endif
-ifeq ($(FULL_TARGET),sparc-embedded)
-override CLEAN_FILES+=*.elf
-endif
-ifeq ($(FULL_TARGET),x86_64-linux)
-override CLEAN_FILES+=*.elf
-endif
-ifeq ($(FULL_TARGET),x86_64-freebsd)
-override CLEAN_FILES+=*.elf
-endif
-ifeq ($(FULL_TARGET),x86_64-darwin)
-override CLEAN_FILES+=*.elf
-endif
-ifeq ($(FULL_TARGET),x86_64-win64)
-override CLEAN_FILES+=*.elf
-endif
-ifeq ($(FULL_TARGET),x86_64-embedded)
-override CLEAN_FILES+=*.elf
-endif
-ifeq ($(FULL_TARGET),arm-linux)
-override CLEAN_FILES+=*.elf
-endif
-ifeq ($(FULL_TARGET),arm-palmos)
-override CLEAN_FILES+=*.elf
-endif
-ifeq ($(FULL_TARGET),arm-darwin)
-override CLEAN_FILES+=*.elf
-endif
-ifeq ($(FULL_TARGET),arm-wince)
-override CLEAN_FILES+=*.elf
-endif
-ifeq ($(FULL_TARGET),arm-gba)
-override CLEAN_FILES+=*.elf
-endif
-ifeq ($(FULL_TARGET),arm-nds)
-override CLEAN_FILES+=*.elf
-endif
-ifeq ($(FULL_TARGET),arm-embedded)
-override CLEAN_FILES+=*.elf
-endif
-ifeq ($(FULL_TARGET),arm-symbian)
-override CLEAN_FILES+=*.elf
-endif
-ifeq ($(FULL_TARGET),powerpc64-linux)
-override CLEAN_FILES+=*.elf
-endif
-ifeq ($(FULL_TARGET),powerpc64-darwin)
-override CLEAN_FILES+=*.elf
-endif
-ifeq ($(FULL_TARGET),powerpc64-embedded)
-override CLEAN_FILES+=*.elf
-endif
-ifeq ($(FULL_TARGET),avr-embedded)
-override CLEAN_FILES+=*.elf
-endif
-ifeq ($(FULL_TARGET),armeb-linux)
-override CLEAN_FILES+=*.elf
-endif
-ifeq ($(FULL_TARGET),armeb-embedded)
-override CLEAN_FILES+=*.elf
-endif
-override INSTALL_FPCPACKAGE=y
-ifdef REQUIRE_UNITSDIR
-override UNITSDIR+=$(REQUIRE_UNITSDIR)
-endif
-ifdef REQUIRE_PACKAGESDIR
-override PACKAGESDIR+=$(REQUIRE_PACKAGESDIR)
-endif
-ifdef ZIPINSTALL
-ifneq ($(findstring $(OS_TARGET),$(UNIXs)),)
-UNIXHier=1
-endif
-else
-ifneq ($(findstring $(OS_SOURCE),$(UNIXs)),)
-UNIXHier=1
-endif
-endif
-ifndef INSTALL_PREFIX
-ifdef PREFIX
-INSTALL_PREFIX=$(PREFIX)
-endif
-endif
-ifndef INSTALL_PREFIX
-ifdef UNIXHier
-INSTALL_PREFIX=/usr/local
-else
-ifdef INSTALL_FPCPACKAGE
-INSTALL_BASEDIR:=/pp
-else
-INSTALL_BASEDIR:=/$(PACKAGE_NAME)
-endif
-endif
-endif
-export INSTALL_PREFIX
-ifdef INSTALL_FPCSUBDIR
-export INSTALL_FPCSUBDIR
-endif
-ifndef DIST_DESTDIR
-DIST_DESTDIR:=$(BASEDIR)
-endif
-export DIST_DESTDIR
-ifndef COMPILER_UNITTARGETDIR
-ifdef PACKAGEDIR_MAIN
-COMPILER_UNITTARGETDIR=$(PACKAGEDIR_MAIN)/units/$(TARGETSUFFIX)
-else
-COMPILER_UNITTARGETDIR=units/$(TARGETSUFFIX)
-endif
-endif
-ifndef COMPILER_TARGETDIR
-COMPILER_TARGETDIR=.
-endif
-ifndef INSTALL_BASEDIR
-ifdef UNIXHier
-ifdef INSTALL_FPCPACKAGE
-INSTALL_BASEDIR:=$(INSTALL_PREFIX)/lib/fpc/$(FPC_VERSION)
-else
-INSTALL_BASEDIR:=$(INSTALL_PREFIX)/lib/$(PACKAGE_NAME)
-endif
-else
-INSTALL_BASEDIR:=$(INSTALL_PREFIX)
-endif
-endif
-ifndef INSTALL_BINDIR
-ifdef UNIXHier
-INSTALL_BINDIR:=$(INSTALL_PREFIX)/bin
-else
-INSTALL_BINDIR:=$(INSTALL_BASEDIR)/bin
-ifdef INSTALL_FPCPACKAGE
-ifdef CROSSCOMPILE
-ifdef CROSSINSTALL
-INSTALL_BINDIR:=$(INSTALL_BINDIR)/$(SOURCESUFFIX)
-else
-INSTALL_BINDIR:=$(INSTALL_BINDIR)/$(TARGETSUFFIX)
-endif
-else
-INSTALL_BINDIR:=$(INSTALL_BINDIR)/$(TARGETSUFFIX)
-endif
-endif
-endif
-endif
-ifndef INSTALL_UNITDIR
-INSTALL_UNITDIR:=$(INSTALL_BASEDIR)/units/$(TARGETSUFFIX)
-ifdef INSTALL_FPCPACKAGE
-ifdef PACKAGE_NAME
-INSTALL_UNITDIR:=$(INSTALL_UNITDIR)/$(PACKAGE_NAME)
-endif
-endif
-endif
-ifndef INSTALL_LIBDIR
-ifdef UNIXHier
-INSTALL_LIBDIR:=$(INSTALL_PREFIX)/lib
-else
-INSTALL_LIBDIR:=$(INSTALL_UNITDIR)
-endif
-endif
-ifndef INSTALL_SOURCEDIR
-ifdef UNIXHier
-ifdef BSDhier
-SRCPREFIXDIR=share/src
-else
-ifdef linuxHier
-SRCPREFIXDIR=share/src
-else
-SRCPREFIXDIR=src
-endif
-endif
-ifdef INSTALL_FPCPACKAGE
-ifdef INSTALL_FPCSUBDIR
-INSTALL_SOURCEDIR:=$(INSTALL_PREFIX)/$(SRCPREFIXDIR)/fpc-$(FPC_VERSION)/$(INSTALL_FPCSUBDIR)/$(PACKAGE_NAME)
-else
-INSTALL_SOURCEDIR:=$(INSTALL_PREFIX)/$(SRCPREFIXDIR)/fpc-$(FPC_VERSION)/$(PACKAGE_NAME)
-endif
-else
-INSTALL_SOURCEDIR:=$(INSTALL_PREFIX)/$(SRCPREFIXDIR)/$(PACKAGE_NAME)-$(PACKAGE_VERSION)
-endif
-else
-ifdef INSTALL_FPCPACKAGE
-ifdef INSTALL_FPCSUBDIR
-INSTALL_SOURCEDIR:=$(INSTALL_BASEDIR)/source/$(INSTALL_FPCSUBDIR)/$(PACKAGE_NAME)
-else
-INSTALL_SOURCEDIR:=$(INSTALL_BASEDIR)/source/$(PACKAGE_NAME)
-endif
-else
-INSTALL_SOURCEDIR:=$(INSTALL_BASEDIR)/source
-endif
-endif
-endif
-ifndef INSTALL_DOCDIR
-ifdef UNIXHier
-ifdef BSDhier
-DOCPREFIXDIR=share/doc
-else
-ifdef linuxHier
-DOCPREFIXDIR=share/doc
-else
-DOCPREFIXDIR=doc
-endif
-endif
-ifdef INSTALL_FPCPACKAGE
-INSTALL_DOCDIR:=$(INSTALL_PREFIX)/$(DOCPREFIXDIR)/fpc-$(FPC_VERSION)/$(PACKAGE_NAME)
-else
-INSTALL_DOCDIR:=$(INSTALL_PREFIX)/$(DOCPREFIXDIR)/$(PACKAGE_NAME)-$(PACKAGE_VERSION)
-endif
-else
-ifdef INSTALL_FPCPACKAGE
-INSTALL_DOCDIR:=$(INSTALL_BASEDIR)/doc/$(PACKAGE_NAME)
-else
-INSTALL_DOCDIR:=$(INSTALL_BASEDIR)/doc
-endif
-endif
-endif
-ifndef INSTALL_EXAMPLEDIR
-ifdef UNIXHier
-ifdef INSTALL_FPCPACKAGE
-ifdef BSDhier
-INSTALL_EXAMPLEDIR:=$(INSTALL_PREFIX)/share/examples/fpc-$(FPC_VERSION)/$(PACKAGE_NAME)
-else
-ifdef linuxHier
-INSTALL_EXAMPLEDIR:=$(INSTALL_DOCDIR)/examples
-else
-INSTALL_EXAMPLEDIR:=$(INSTALL_PREFIX)/doc/fpc-$(FPC_VERSION)/examples/$(PACKAGE_NAME)
-endif
-endif
-else
-ifdef BSDhier
-INSTALL_EXAMPLEDIR:=$(INSTALL_PREFIX)/share/examples/$(PACKAGE_NAME)-$(PACKAGE_VERSION)
-else
-ifdef linuxHier
-INSTALL_EXAMPLEDIR:=$(INSTALL_DOCDIR)/examples/$(PACKAGE_NAME)-$(PACKAGE_VERSION)
-else
-INSTALL_EXAMPLEDIR:=$(INSTALL_PREFIX)/doc/$(PACKAGE_NAME)-$(PACKAGE_VERSION)
-endif
-endif
-endif
-else
-ifdef INSTALL_FPCPACKAGE
-INSTALL_EXAMPLEDIR:=$(INSTALL_BASEDIR)/examples/$(PACKAGE_NAME)
-else
-INSTALL_EXAMPLEDIR:=$(INSTALL_BASEDIR)/examples
-endif
-endif
-endif
-ifndef INSTALL_DATADIR
-INSTALL_DATADIR=$(INSTALL_BASEDIR)
-endif
-ifndef INSTALL_SHAREDDIR
-INSTALL_SHAREDDIR=$(INSTALL_PREFIX)/lib
-endif
-ifdef CROSSCOMPILE
-ifndef CROSSBINDIR
-CROSSBINDIR:=$(wildcard $(CROSSTARGETDIR)/bin/$(SOURCESUFFIX))
-ifeq ($(CROSSBINDIR),)
-CROSSBINDIR:=$(wildcard $(INSTALL_BASEDIR)/cross/$(TARGETSUFFIX)/bin/$(FULL_SOURCE))
-endif
-endif
-else
-CROSSBINDIR=
-endif
-BATCHEXT=.bat
-LOADEREXT=.as
-EXEEXT=.exe
-PPLEXT=.ppl
-PPUEXT=.ppu
-OEXT=.o
-ASMEXT=.s
-SMARTEXT=.sl
-STATICLIBEXT=.a
-SHAREDLIBEXT=.so
-SHAREDLIBPREFIX=libfp
-STATICLIBPREFIX=libp
-IMPORTLIBPREFIX=libimp
-RSTEXT=.rst
-ifeq ($(findstring 1.0.,$(FPC_VERSION)),)
-ifeq ($(OS_TARGET),go32v1)
-STATICLIBPREFIX=
-SHORTSUFFIX=v1
-endif
-ifeq ($(OS_TARGET),go32v2)
-STATICLIBPREFIX=
-SHORTSUFFIX=dos
-IMPORTLIBPREFIX=
-endif
-ifeq ($(OS_TARGET),watcom)
-STATICLIBPREFIX=
-OEXT=.obj
-ASMEXT=.asm
-SHAREDLIBEXT=.dll
-SHORTSUFFIX=wat
-IMPORTLIBPREFIX=
-endif
-ifeq ($(OS_TARGET),linux)
-BATCHEXT=.sh
-EXEEXT=
-HASSHAREDLIB=1
-SHORTSUFFIX=lnx
-endif
-ifeq ($(OS_TARGET),freebsd)
-BATCHEXT=.sh
-EXEEXT=
-HASSHAREDLIB=1
-SHORTSUFFIX=fbs
-endif
-ifeq ($(OS_TARGET),netbsd)
-BATCHEXT=.sh
-EXEEXT=
-HASSHAREDLIB=1
-SHORTSUFFIX=nbs
-endif
-ifeq ($(OS_TARGET),openbsd)
-BATCHEXT=.sh
-EXEEXT=
-HASSHAREDLIB=1
-SHORTSUFFIX=obs
-endif
-ifeq ($(OS_TARGET),win32)
-SHAREDLIBEXT=.dll
-SHORTSUFFIX=w32
-endif
-ifeq ($(OS_TARGET),os2)
-BATCHEXT=.cmd
-AOUTEXT=.out
-STATICLIBPREFIX=
-SHAREDLIBEXT=.dll
-SHORTSUFFIX=os2
-ECHO=echo
-IMPORTLIBPREFIX=
-endif
-ifeq ($(OS_TARGET),emx)
-BATCHEXT=.cmd
-AOUTEXT=.out
-STATICLIBPREFIX=
-SHAREDLIBEXT=.dll
-SHORTSUFFIX=emx
-ECHO=echo
-IMPORTLIBPREFIX=
-endif
-ifeq ($(OS_TARGET),amiga)
-EXEEXT=
-SHAREDLIBEXT=.library
-SHORTSUFFIX=amg
-endif
-ifeq ($(OS_TARGET),morphos)
-EXEEXT=
-SHAREDLIBEXT=.library
-SHORTSUFFIX=mos
-endif
-ifeq ($(OS_TARGET),atari)
-EXEEXT=.ttp
-SHORTSUFFIX=ata
-endif
-ifeq ($(OS_TARGET),beos)
-BATCHEXT=.sh
-EXEEXT=
-SHORTSUFFIX=be
-endif
-ifeq ($(OS_TARGET),haiku)
-BATCHEXT=.sh
-EXEEXT=
-SHORTSUFFIX=hai
-endif
-ifeq ($(OS_TARGET),solaris)
-BATCHEXT=.sh
-EXEEXT=
-SHORTSUFFIX=sun
-endif
-ifeq ($(OS_TARGET),qnx)
-BATCHEXT=.sh
-EXEEXT=
-SHORTSUFFIX=qnx
-endif
-ifeq ($(OS_TARGET),netware)
-EXEEXT=.nlm
-STATICLIBPREFIX=
-SHORTSUFFIX=nw
-IMPORTLIBPREFIX=imp
-endif
-ifeq ($(OS_TARGET),netwlibc)
-EXEEXT=.nlm
-STATICLIBPREFIX=
-SHORTSUFFIX=nwl
-IMPORTLIBPREFIX=imp
-endif
-ifeq ($(OS_TARGET),macos)
-BATCHEXT=
-EXEEXT=
-DEBUGSYMEXT=.xcoff
-SHORTSUFFIX=mac
-IMPORTLIBPREFIX=imp
-endif
-ifeq ($(OS_TARGET),darwin)
-BATCHEXT=.sh
-EXEEXT=
-HASSHAREDLIB=1
-SHORTSUFFIX=dwn
-endif
-ifeq ($(OS_TARGET),gba)
-EXEEXT=.gba
-SHAREDLIBEXT=.so
-SHORTSUFFIX=gba
-endif
-ifeq ($(OS_TARGET),symbian)
-SHAREDLIBEXT=.dll
-SHORTSUFFIX=symbian
-endif
-else
-ifeq ($(OS_TARGET),go32v1)
-PPUEXT=.pp1
-OEXT=.o1
-ASMEXT=.s1
-SMARTEXT=.sl1
-STATICLIBEXT=.a1
-SHAREDLIBEXT=.so1
-STATICLIBPREFIX=
-SHORTSUFFIX=v1
-IMPORTLIBPREFIX=
-endif
-ifeq ($(OS_TARGET),go32v2)
-STATICLIBPREFIX=
-SHORTSUFFIX=dos
-IMPORTLIBPREFIX=
-endif
-ifeq ($(OS_TARGET),watcom)
-STATICLIBPREFIX=
-SHORTSUFFIX=wat
-IMPORTLIBPREFIX=
-endif
-ifeq ($(OS_TARGET),linux)
-BATCHEXT=.sh
-EXEEXT=
-HASSHAREDLIB=1
-SHORTSUFFIX=lnx
-endif
-ifeq ($(OS_TARGET),freebsd)
-BATCHEXT=.sh
-EXEEXT=
-HASSHAREDLIB=1
-SHORTSUFFIX=fbs
-endif
-ifeq ($(OS_TARGET),netbsd)
-BATCHEXT=.sh
-EXEEXT=
-HASSHAREDLIB=1
-SHORTSUFFIX=nbs
-endif
-ifeq ($(OS_TARGET),openbsd)
-BATCHEXT=.sh
-EXEEXT=
-HASSHAREDLIB=1
-SHORTSUFFIX=obs
-endif
-ifeq ($(OS_TARGET),win32)
-PPUEXT=.ppw
-OEXT=.ow
-ASMEXT=.sw
-SMARTEXT=.slw
-STATICLIBEXT=.aw
-SHAREDLIBEXT=.dll
-SHORTSUFFIX=w32
-endif
-ifeq ($(OS_TARGET),os2)
-BATCHEXT=.cmd
-PPUEXT=.ppo
-ASMEXT=.so2
-OEXT=.oo2
-AOUTEXT=.out
-SMARTEXT=.sl2
-STATICLIBPREFIX=
-STATICLIBEXT=.ao2
-SHAREDLIBEXT=.dll
-SHORTSUFFIX=os2
-ECHO=echo
-IMPORTLIBPREFIX=
-endif
-ifeq ($(OS_TARGET),amiga)
-EXEEXT=
-PPUEXT=.ppu
-ASMEXT=.s
-OEXT=.o
-SMARTEXT=.sl
-STATICLIBEXT=.a
-SHAREDLIBEXT=.library
-SHORTSUFFIX=amg
-endif
-ifeq ($(OS_TARGET),atari)
-PPUEXT=.ppu
-ASMEXT=.s
-OEXT=.o
-SMARTEXT=.sl
-STATICLIBEXT=.a
-EXEEXT=.ttp
-SHORTSUFFIX=ata
-endif
-ifeq ($(OS_TARGET),beos)
-BATCHEXT=.sh
-PPUEXT=.ppu
-ASMEXT=.s
-OEXT=.o
-SMARTEXT=.sl
-STATICLIBEXT=.a
-EXEEXT=
-SHORTSUFFIX=be
-endif
-ifeq ($(OS_TARGET),solaris)
-BATCHEXT=.sh
-PPUEXT=.ppu
-ASMEXT=.s
-OEXT=.o
-SMARTEXT=.sl
-STATICLIBEXT=.a
-EXEEXT=
-SHORTSUFFIX=sun
-endif
-ifeq ($(OS_TARGET),qnx)
-BATCHEXT=.sh
-PPUEXT=.ppu
-ASMEXT=.s
-OEXT=.o
-SMARTEXT=.sl
-STATICLIBEXT=.a
-EXEEXT=
-SHORTSUFFIX=qnx
-endif
-ifeq ($(OS_TARGET),netware)
-STATICLIBPREFIX=
-PPUEXT=.ppu
-OEXT=.o
-ASMEXT=.s
-SMARTEXT=.sl
-STATICLIBEXT=.a
-SHAREDLIBEXT=.nlm
-EXEEXT=.nlm
-SHORTSUFFIX=nw
-IMPORTLIBPREFIX=imp
-endif
-ifeq ($(OS_TARGET),netwlibc)
-STATICLIBPREFIX=
-PPUEXT=.ppu
-OEXT=.o
-ASMEXT=.s
-SMARTEXT=.sl
-STATICLIBEXT=.a
-SHAREDLIBEXT=.nlm
-EXEEXT=.nlm
-SHORTSUFFIX=nwl
-IMPORTLIBPREFIX=imp
-endif
-ifeq ($(OS_TARGET),macos)
-BATCHEXT=
-PPUEXT=.ppu
-ASMEXT=.s
-OEXT=.o
-SMARTEXT=.sl
-STATICLIBEXT=.a
-EXEEXT=
-DEBUGSYMEXT=.xcoff
-SHORTSUFFIX=mac
-IMPORTLIBPREFIX=imp
-endif
-endif
-ifneq ($(findstring $(OS_SOURCE),$(LIMIT83fs)),)
-FPCMADE=fpcmade.$(SHORTSUFFIX)
-ZIPSUFFIX=$(SHORTSUFFIX)
-ZIPCROSSPREFIX=
-ZIPSOURCESUFFIX=src
-ZIPEXAMPLESUFFIX=exm
-else
-FPCMADE=fpcmade.$(TARGETSUFFIX)
-ZIPSOURCESUFFIX=.source
-ZIPEXAMPLESUFFIX=.examples
-ifdef CROSSCOMPILE
-ZIPSUFFIX=.$(SOURCESUFFIX)
-ZIPCROSSPREFIX=$(TARGETSUFFIX)-
-else
-ZIPSUFFIX=.$(TARGETSUFFIX)
-ZIPCROSSPREFIX=
-endif
-endif
-ifndef ECHO
-ECHO:=$(strip $(wildcard $(addsuffix /gecho$(SRCEXEEXT),$(SEARCHPATH))))
-ifeq ($(ECHO),)
-ECHO:=$(strip $(wildcard $(addsuffix /echo$(SRCEXEEXT),$(SEARCHPATH))))
-ifeq ($(ECHO),)
-ECHO= __missing_command_ECHO
-else
-ECHO:=$(firstword $(ECHO))
-endif
-else
-ECHO:=$(firstword $(ECHO))
-endif
-endif
-export ECHO
-ifndef DATE
-DATE:=$(strip $(wildcard $(addsuffix /gdate$(SRCEXEEXT),$(SEARCHPATH))))
-ifeq ($(DATE),)
-DATE:=$(strip $(wildcard $(addsuffix /date$(SRCEXEEXT),$(SEARCHPATH))))
-ifeq ($(DATE),)
-DATE= __missing_command_DATE
-else
-DATE:=$(firstword $(DATE))
-endif
-else
-DATE:=$(firstword $(DATE))
-endif
-endif
-export DATE
-ifndef GINSTALL
-GINSTALL:=$(strip $(wildcard $(addsuffix /ginstall$(SRCEXEEXT),$(SEARCHPATH))))
-ifeq ($(GINSTALL),)
-GINSTALL:=$(strip $(wildcard $(addsuffix /install$(SRCEXEEXT),$(SEARCHPATH))))
-ifeq ($(GINSTALL),)
-GINSTALL= __missing_command_GINSTALL
-else
-GINSTALL:=$(firstword $(GINSTALL))
-endif
-else
-GINSTALL:=$(firstword $(GINSTALL))
-endif
-endif
-export GINSTALL
-ifndef CPPROG
-CPPROG:=$(strip $(wildcard $(addsuffix /cp$(SRCEXEEXT),$(SEARCHPATH))))
-ifeq ($(CPPROG),)
-CPPROG= __missing_command_CPPROG
-else
-CPPROG:=$(firstword $(CPPROG))
-endif
-endif
-export CPPROG
-ifndef RMPROG
-RMPROG:=$(strip $(wildcard $(addsuffix /rm$(SRCEXEEXT),$(SEARCHPATH))))
-ifeq ($(RMPROG),)
-RMPROG= __missing_command_RMPROG
-else
-RMPROG:=$(firstword $(RMPROG))
-endif
-endif
-export RMPROG
-ifndef MVPROG
-MVPROG:=$(strip $(wildcard $(addsuffix /mv$(SRCEXEEXT),$(SEARCHPATH))))
-ifeq ($(MVPROG),)
-MVPROG= __missing_command_MVPROG
-else
-MVPROG:=$(firstword $(MVPROG))
-endif
-endif
-export MVPROG
-ifndef MKDIRPROG
-MKDIRPROG:=$(strip $(wildcard $(addsuffix /gmkdir$(SRCEXEEXT),$(SEARCHPATH))))
-ifeq ($(MKDIRPROG),)
-MKDIRPROG:=$(strip $(wildcard $(addsuffix /mkdir$(SRCEXEEXT),$(SEARCHPATH))))
-ifeq ($(MKDIRPROG),)
-MKDIRPROG= __missing_command_MKDIRPROG
-else
-MKDIRPROG:=$(firstword $(MKDIRPROG))
-endif
-else
-MKDIRPROG:=$(firstword $(MKDIRPROG))
-endif
-endif
-export MKDIRPROG
-ifndef ECHOREDIR
-ifndef inUnix
-ECHOREDIR=echo
-else
-ECHOREDIR=$(ECHO)
-endif
-endif
-ifndef COPY
-COPY:=$(CPPROG) -fp
-endif
-ifndef COPYTREE
-COPYTREE:=$(CPPROG) -Rfp
-endif
-ifndef MKDIRTREE
-MKDIRTREE:=$(MKDIRPROG) -p
-endif
-ifndef MOVE
-MOVE:=$(MVPROG) -f
-endif
-ifndef DEL
-DEL:=$(RMPROG) -f
-endif
-ifndef DELTREE
-DELTREE:=$(RMPROG) -rf
-endif
-ifndef INSTALL
-ifdef inUnix
-INSTALL:=$(GINSTALL) -c -m 644
-else
-INSTALL:=$(COPY)
-endif
-endif
-ifndef INSTALLEXE
-ifdef inUnix
-INSTALLEXE:=$(GINSTALL) -c -m 755
-else
-INSTALLEXE:=$(COPY)
-endif
-endif
-ifndef MKDIR
-MKDIR:=$(GINSTALL) -m 755 -d
-endif
-export ECHOREDIR COPY COPYTREE MOVE DEL DELTREE INSTALL INSTALLEXE MKDIR
-ifndef PPUMOVE
-PPUMOVE:=$(strip $(wildcard $(addsuffix /ppumove$(SRCEXEEXT),$(SEARCHPATH))))
-ifeq ($(PPUMOVE),)
-PPUMOVE= __missing_command_PPUMOVE
-else
-PPUMOVE:=$(firstword $(PPUMOVE))
-endif
-endif
-export PPUMOVE
-ifndef FPCMAKE
-FPCMAKE:=$(strip $(wildcard $(addsuffix /fpcmake$(SRCEXEEXT),$(SEARCHPATH))))
-ifeq ($(FPCMAKE),)
-FPCMAKE= __missing_command_FPCMAKE
-else
-FPCMAKE:=$(firstword $(FPCMAKE))
-endif
-endif
-export FPCMAKE
-ifndef ZIPPROG
-ZIPPROG:=$(strip $(wildcard $(addsuffix /zip$(SRCEXEEXT),$(SEARCHPATH))))
-ifeq ($(ZIPPROG),)
-ZIPPROG= __missing_command_ZIPPROG
-else
-ZIPPROG:=$(firstword $(ZIPPROG))
-endif
-endif
-export ZIPPROG
-ifndef TARPROG
-TARPROG:=$(strip $(wildcard $(addsuffix /gtar$(SRCEXEEXT),$(SEARCHPATH))))
-ifeq ($(TARPROG),)
-TARPROG:=$(strip $(wildcard $(addsuffix /tar$(SRCEXEEXT),$(SEARCHPATH))))
-ifeq ($(TARPROG),)
-TARPROG= __missing_command_TARPROG
-else
-TARPROG:=$(firstword $(TARPROG))
-endif
-else
-TARPROG:=$(firstword $(TARPROG))
-endif
-endif
-export TARPROG
-ASNAME=$(BINUTILSPREFIX)as
-LDNAME=$(BINUTILSPREFIX)ld
-ARNAME=$(BINUTILSPREFIX)ar
-RCNAME=$(BINUTILSPREFIX)rc
-ifneq ($(findstring 1.0.,$(FPC_VERSION)),)
-ifeq ($(OS_TARGET),win32)
-ifeq ($(CROSSBINDIR),)
-ASNAME=asw
-LDNAME=ldw
-ARNAME=arw
-endif
-endif
-endif
-ifndef ASPROG
-ifdef CROSSBINDIR
-ASPROG=$(CROSSBINDIR)/$(ASNAME)$(SRCEXEEXT)
-else
-ASPROG=$(ASNAME)
-endif
-endif
-ifndef LDPROG
-ifdef CROSSBINDIR
-LDPROG=$(CROSSBINDIR)/$(LDNAME)$(SRCEXEEXT)
-else
-LDPROG=$(LDNAME)
-endif
-endif
-ifndef RCPROG
-ifdef CROSSBINDIR
-RCPROG=$(CROSSBINDIR)/$(RCNAME)$(SRCEXEEXT)
-else
-RCPROG=$(RCNAME)
-endif
-endif
-ifndef ARPROG
-ifdef CROSSBINDIR
-ARPROG=$(CROSSBINDIR)/$(ARNAME)$(SRCEXEEXT)
-else
-ARPROG=$(ARNAME)
-endif
-endif
-AS=$(ASPROG)
-LD=$(LDPROG)
-RC=$(RCPROG)
-AR=$(ARPROG)
-PPAS=ppas$(SRCBATCHEXT)
-ifdef inUnix
-LDCONFIG=ldconfig
-else
-LDCONFIG=
-endif
-ifdef DATE
-DATESTR:=$(shell $(DATE) +%Y%m%d)
-else
-DATESTR=
-endif
-ifndef UPXPROG
-ifeq ($(OS_TARGET),go32v2)
-UPXPROG:=1
-endif
-ifeq ($(OS_TARGET),win32)
-UPXPROG:=1
-endif
-ifdef UPXPROG
-UPXPROG:=$(strip $(wildcard $(addsuffix /upx$(SRCEXEEXT),$(SEARCHPATH))))
-ifeq ($(UPXPROG),)
-UPXPROG=
-else
-UPXPROG:=$(firstword $(UPXPROG))
-endif
-else
-UPXPROG=
-endif
-endif
-export UPXPROG
-ZIPOPT=-9
-ZIPEXT=.zip
-ifeq ($(USETAR),bz2)
-TAROPT=vj
-TAREXT=.tar.bz2
-else
-TAROPT=vz
-TAREXT=.tar.gz
-endif
-override REQUIRE_PACKAGES=rtl libgbafpc
-ifeq ($(FULL_TARGET),i386-linux)
-REQUIRE_PACKAGES_RTL=1
-REQUIRE_PACKAGES_LIBGBAFPC=1
-endif
-ifeq ($(FULL_TARGET),i386-go32v2)
-REQUIRE_PACKAGES_RTL=1
-REQUIRE_PACKAGES_LIBGBAFPC=1
-endif
-ifeq ($(FULL_TARGET),i386-win32)
-REQUIRE_PACKAGES_RTL=1
-REQUIRE_PACKAGES_LIBGBAFPC=1
-endif
-ifeq ($(FULL_TARGET),i386-os2)
-REQUIRE_PACKAGES_RTL=1
-REQUIRE_PACKAGES_LIBGBAFPC=1
-endif
-ifeq ($(FULL_TARGET),i386-freebsd)
-REQUIRE_PACKAGES_RTL=1
-REQUIRE_PACKAGES_LIBGBAFPC=1
-endif
-ifeq ($(FULL_TARGET),i386-beos)
-REQUIRE_PACKAGES_RTL=1
-REQUIRE_PACKAGES_LIBGBAFPC=1
-endif
-ifeq ($(FULL_TARGET),i386-haiku)
-REQUIRE_PACKAGES_RTL=1
-REQUIRE_PACKAGES_LIBGBAFPC=1
-endif
-ifeq ($(FULL_TARGET),i386-netbsd)
-REQUIRE_PACKAGES_RTL=1
-REQUIRE_PACKAGES_LIBGBAFPC=1
-endif
-ifeq ($(FULL_TARGET),i386-solaris)
-REQUIRE_PACKAGES_RTL=1
-REQUIRE_PACKAGES_LIBGBAFPC=1
-endif
-ifeq ($(FULL_TARGET),i386-qnx)
-REQUIRE_PACKAGES_RTL=1
-REQUIRE_PACKAGES_LIBGBAFPC=1
-endif
-ifeq ($(FULL_TARGET),i386-netware)
-REQUIRE_PACKAGES_RTL=1
-REQUIRE_PACKAGES_LIBGBAFPC=1
-endif
-ifeq ($(FULL_TARGET),i386-openbsd)
-REQUIRE_PACKAGES_RTL=1
-REQUIRE_PACKAGES_LIBGBAFPC=1
-endif
-ifeq ($(FULL_TARGET),i386-wdosx)
-REQUIRE_PACKAGES_RTL=1
-REQUIRE_PACKAGES_LIBGBAFPC=1
-endif
-ifeq ($(FULL_TARGET),i386-darwin)
-REQUIRE_PACKAGES_RTL=1
-REQUIRE_PACKAGES_LIBGBAFPC=1
-endif
-ifeq ($(FULL_TARGET),i386-emx)
-REQUIRE_PACKAGES_RTL=1
-REQUIRE_PACKAGES_LIBGBAFPC=1
-endif
-ifeq ($(FULL_TARGET),i386-watcom)
-REQUIRE_PACKAGES_RTL=1
-REQUIRE_PACKAGES_LIBGBAFPC=1
-endif
-ifeq ($(FULL_TARGET),i386-netwlibc)
-REQUIRE_PACKAGES_RTL=1
-REQUIRE_PACKAGES_LIBGBAFPC=1
-endif
-ifeq ($(FULL_TARGET),i386-wince)
-REQUIRE_PACKAGES_RTL=1
-REQUIRE_PACKAGES_LIBGBAFPC=1
-endif
-ifeq ($(FULL_TARGET),i386-embedded)
-REQUIRE_PACKAGES_RTL=1
-REQUIRE_PACKAGES_LIBGBAFPC=1
-endif
-ifeq ($(FULL_TARGET),i386-symbian)
-REQUIRE_PACKAGES_RTL=1
-REQUIRE_PACKAGES_LIBGBAFPC=1
-endif
-ifeq ($(FULL_TARGET),m68k-linux)
-REQUIRE_PACKAGES_RTL=1
-REQUIRE_PACKAGES_LIBGBAFPC=1
-endif
-ifeq ($(FULL_TARGET),m68k-freebsd)
-REQUIRE_PACKAGES_RTL=1
-REQUIRE_PACKAGES_LIBGBAFPC=1
-endif
-ifeq ($(FULL_TARGET),m68k-netbsd)
-REQUIRE_PACKAGES_RTL=1
-REQUIRE_PACKAGES_LIBGBAFPC=1
-endif
-ifeq ($(FULL_TARGET),m68k-amiga)
-REQUIRE_PACKAGES_RTL=1
-REQUIRE_PACKAGES_LIBGBAFPC=1
-endif
-ifeq ($(FULL_TARGET),m68k-atari)
-REQUIRE_PACKAGES_RTL=1
-REQUIRE_PACKAGES_LIBGBAFPC=1
-endif
-ifeq ($(FULL_TARGET),m68k-openbsd)
-REQUIRE_PACKAGES_RTL=1
-REQUIRE_PACKAGES_LIBGBAFPC=1
-endif
-ifeq ($(FULL_TARGET),m68k-palmos)
-REQUIRE_PACKAGES_RTL=1
-REQUIRE_PACKAGES_LIBGBAFPC=1
-endif
-ifeq ($(FULL_TARGET),m68k-embedded)
-REQUIRE_PACKAGES_RTL=1
-REQUIRE_PACKAGES_LIBGBAFPC=1
-endif
-ifeq ($(FULL_TARGET),powerpc-linux)
-REQUIRE_PACKAGES_RTL=1
-REQUIRE_PACKAGES_LIBGBAFPC=1
-endif
-ifeq ($(FULL_TARGET),powerpc-netbsd)
-REQUIRE_PACKAGES_RTL=1
-REQUIRE_PACKAGES_LIBGBAFPC=1
-endif
-ifeq ($(FULL_TARGET),powerpc-amiga)
-REQUIRE_PACKAGES_RTL=1
-REQUIRE_PACKAGES_LIBGBAFPC=1
-endif
-ifeq ($(FULL_TARGET),powerpc-macos)
-REQUIRE_PACKAGES_RTL=1
-REQUIRE_PACKAGES_LIBGBAFPC=1
-endif
-ifeq ($(FULL_TARGET),powerpc-darwin)
-REQUIRE_PACKAGES_RTL=1
-REQUIRE_PACKAGES_LIBGBAFPC=1
-endif
-ifeq ($(FULL_TARGET),powerpc-morphos)
-REQUIRE_PACKAGES_RTL=1
-REQUIRE_PACKAGES_LIBGBAFPC=1
-endif
-ifeq ($(FULL_TARGET),powerpc-embedded)
-REQUIRE_PACKAGES_RTL=1
-REQUIRE_PACKAGES_LIBGBAFPC=1
-endif
-ifeq ($(FULL_TARGET),sparc-linux)
-REQUIRE_PACKAGES_RTL=1
-REQUIRE_PACKAGES_LIBGBAFPC=1
-endif
-ifeq ($(FULL_TARGET),sparc-netbsd)
-REQUIRE_PACKAGES_RTL=1
-REQUIRE_PACKAGES_LIBGBAFPC=1
-endif
-ifeq ($(FULL_TARGET),sparc-solaris)
-REQUIRE_PACKAGES_RTL=1
-REQUIRE_PACKAGES_LIBGBAFPC=1
-endif
-ifeq ($(FULL_TARGET),sparc-embedded)
-REQUIRE_PACKAGES_RTL=1
-REQUIRE_PACKAGES_LIBGBAFPC=1
-endif
-ifeq ($(FULL_TARGET),x86_64-linux)
-REQUIRE_PACKAGES_RTL=1
-REQUIRE_PACKAGES_LIBGBAFPC=1
-endif
-ifeq ($(FULL_TARGET),x86_64-freebsd)
-REQUIRE_PACKAGES_RTL=1
-REQUIRE_PACKAGES_LIBGBAFPC=1
-endif
-ifeq ($(FULL_TARGET),x86_64-darwin)
-REQUIRE_PACKAGES_RTL=1
-REQUIRE_PACKAGES_LIBGBAFPC=1
-endif
-ifeq ($(FULL_TARGET),x86_64-win64)
-REQUIRE_PACKAGES_RTL=1
-REQUIRE_PACKAGES_LIBGBAFPC=1
-endif
-ifeq ($(FULL_TARGET),x86_64-embedded)
-REQUIRE_PACKAGES_RTL=1
-REQUIRE_PACKAGES_LIBGBAFPC=1
-endif
-ifeq ($(FULL_TARGET),arm-linux)
-REQUIRE_PACKAGES_RTL=1
-REQUIRE_PACKAGES_LIBGBAFPC=1
-endif
-ifeq ($(FULL_TARGET),arm-palmos)
-REQUIRE_PACKAGES_RTL=1
-REQUIRE_PACKAGES_LIBGBAFPC=1
-endif
-ifeq ($(FULL_TARGET),arm-darwin)
-REQUIRE_PACKAGES_RTL=1
-REQUIRE_PACKAGES_LIBGBAFPC=1
-endif
-ifeq ($(FULL_TARGET),arm-wince)
-REQUIRE_PACKAGES_RTL=1
-REQUIRE_PACKAGES_LIBGBAFPC=1
-endif
-ifeq ($(FULL_TARGET),arm-gba)
-REQUIRE_PACKAGES_RTL=1
-REQUIRE_PACKAGES_LIBGBAFPC=1
-endif
-ifeq ($(FULL_TARGET),arm-nds)
-REQUIRE_PACKAGES_RTL=1
-REQUIRE_PACKAGES_LIBGBAFPC=1
-endif
-ifeq ($(FULL_TARGET),arm-embedded)
-REQUIRE_PACKAGES_RTL=1
-REQUIRE_PACKAGES_LIBGBAFPC=1
-endif
-ifeq ($(FULL_TARGET),arm-symbian)
-REQUIRE_PACKAGES_RTL=1
-REQUIRE_PACKAGES_LIBGBAFPC=1
-endif
-ifeq ($(FULL_TARGET),powerpc64-linux)
-REQUIRE_PACKAGES_RTL=1
-REQUIRE_PACKAGES_LIBGBAFPC=1
-endif
-ifeq ($(FULL_TARGET),powerpc64-darwin)
-REQUIRE_PACKAGES_RTL=1
-REQUIRE_PACKAGES_LIBGBAFPC=1
-endif
-ifeq ($(FULL_TARGET),powerpc64-embedded)
-REQUIRE_PACKAGES_RTL=1
-REQUIRE_PACKAGES_LIBGBAFPC=1
-endif
-ifeq ($(FULL_TARGET),avr-embedded)
-REQUIRE_PACKAGES_RTL=1
-REQUIRE_PACKAGES_LIBGBAFPC=1
-endif
-ifeq ($(FULL_TARGET),armeb-linux)
-REQUIRE_PACKAGES_RTL=1
-REQUIRE_PACKAGES_LIBGBAFPC=1
-endif
-ifeq ($(FULL_TARGET),armeb-embedded)
-REQUIRE_PACKAGES_RTL=1
-REQUIRE_PACKAGES_LIBGBAFPC=1
-endif
-ifdef REQUIRE_PACKAGES_RTL
-PACKAGEDIR_RTL:=$(firstword $(subst /Makefile.fpc,,$(strip $(wildcard $(addsuffix /rtl/Makefile.fpc,$(PACKAGESDIR))))))
-ifneq ($(PACKAGEDIR_RTL),)
-ifneq ($(wildcard $(PACKAGEDIR_RTL)/units/$(TARGETSUFFIX)),)
-UNITDIR_RTL=$(PACKAGEDIR_RTL)/units/$(TARGETSUFFIX)
-else
-UNITDIR_RTL=$(PACKAGEDIR_RTL)
-endif
-ifdef CHECKDEPEND
-$(PACKAGEDIR_RTL)/$(FPCMADE):
-	$(MAKE) -C $(PACKAGEDIR_RTL) $(FPCMADE)
-override ALLDEPENDENCIES+=$(PACKAGEDIR_RTL)/$(FPCMADE)
-endif
-else
-PACKAGEDIR_RTL=
-UNITDIR_RTL:=$(subst /Package.fpc,,$(strip $(wildcard $(addsuffix /rtl/Package.fpc,$(UNITSDIR)))))
-ifneq ($(UNITDIR_RTL),)
-UNITDIR_RTL:=$(firstword $(UNITDIR_RTL))
-else
-UNITDIR_RTL=
-endif
-endif
-ifdef UNITDIR_RTL
-override COMPILER_UNITDIR+=$(UNITDIR_RTL)
-endif
-endif
-ifdef REQUIRE_PACKAGES_LIBGBAFPC
-PACKAGEDIR_LIBGBAFPC:=$(firstword $(subst /Makefile.fpc,,$(strip $(wildcard $(addsuffix /libgbafpc/Makefile.fpc,$(PACKAGESDIR))))))
-ifneq ($(PACKAGEDIR_LIBGBAFPC),)
-ifneq ($(wildcard $(PACKAGEDIR_LIBGBAFPC)/units/$(TARGETSUFFIX)),)
-UNITDIR_LIBGBAFPC=$(PACKAGEDIR_LIBGBAFPC)/units/$(TARGETSUFFIX)
-else
-UNITDIR_LIBGBAFPC=$(PACKAGEDIR_LIBGBAFPC)
-endif
-ifdef CHECKDEPEND
-$(PACKAGEDIR_LIBGBAFPC)/$(FPCMADE):
-	$(MAKE) -C $(PACKAGEDIR_LIBGBAFPC) $(FPCMADE)
-override ALLDEPENDENCIES+=$(PACKAGEDIR_LIBGBAFPC)/$(FPCMADE)
-endif
-else
-PACKAGEDIR_LIBGBAFPC=
-UNITDIR_LIBGBAFPC:=$(subst /Package.fpc,,$(strip $(wildcard $(addsuffix /libgbafpc/Package.fpc,$(UNITSDIR)))))
-ifneq ($(UNITDIR_LIBGBAFPC),)
-UNITDIR_LIBGBAFPC:=$(firstword $(UNITDIR_LIBGBAFPC))
-else
-UNITDIR_LIBGBAFPC=
-endif
-endif
-ifdef UNITDIR_LIBGBAFPC
-override COMPILER_UNITDIR+=$(UNITDIR_LIBGBAFPC)
-endif
-endif
-ifndef NOCPUDEF
-override FPCOPTDEF=$(ARCH)
-endif
-ifneq ($(OS_TARGET),$(OS_SOURCE))
-override FPCOPT+=-T$(OS_TARGET)
-endif
-ifneq ($(CPU_TARGET),$(CPU_SOURCE))
-override FPCOPT+=-P$(ARCH)
-endif
-ifeq ($(OS_SOURCE),openbsd)
-override FPCOPT+=-FD$(NEW_BINUTILS_PATH)
-endif
-ifndef CROSSBOOTSTRAP
-ifneq ($(BINUTILSPREFIX),)
-override FPCOPT+=-XP$(BINUTILSPREFIX)
-endif
-ifneq ($(BINUTILSPREFIX),)
-override FPCOPT+=-Xr$(RLINKPATH)
-endif
-endif
-ifdef UNITDIR
-override FPCOPT+=$(addprefix -Fu,$(UNITDIR))
-endif
-ifdef LIBDIR
-override FPCOPT+=$(addprefix -Fl,$(LIBDIR))
-endif
-ifdef OBJDIR
-override FPCOPT+=$(addprefix -Fo,$(OBJDIR))
-endif
-ifdef INCDIR
-override FPCOPT+=$(addprefix -Fi,$(INCDIR))
-endif
-ifdef LINKSMART
-override FPCOPT+=-XX
-endif
-ifdef CREATESMART
-override FPCOPT+=-CX
-endif
-ifdef DEBUG
-override FPCOPT+=-gl
-override FPCOPTDEF+=DEBUG
-endif
-ifdef RELEASE
-ifneq ($(findstring 2.0.,$(FPC_VERSION)),)
-ifeq ($(CPU_TARGET),i386)
-FPCCPUOPT:=-OG2p3
-endif
-ifeq ($(CPU_TARGET),powerpc)
-FPCCPUOPT:=-O1r
-endif
-else
-FPCCPUOPT:=-O2
-endif
-override FPCOPT+=-Ur -Xs $(FPCCPUOPT) -n
-override FPCOPTDEF+=RELEASE
-endif
-ifdef STRIP
-override FPCOPT+=-Xs
-endif
-ifdef OPTIMIZE
-override FPCOPT+=-O2
-endif
-ifdef VERBOSE
-override FPCOPT+=-vwni
-endif
-ifdef COMPILER_OPTIONS
-override FPCOPT+=$(COMPILER_OPTIONS)
-endif
-ifdef COMPILER_UNITDIR
-override FPCOPT+=$(addprefix -Fu,$(COMPILER_UNITDIR))
-endif
-ifdef COMPILER_LIBRARYDIR
-override FPCOPT+=$(addprefix -Fl,$(COMPILER_LIBRARYDIR))
-endif
-ifdef COMPILER_OBJECTDIR
-override FPCOPT+=$(addprefix -Fo,$(COMPILER_OBJECTDIR))
-endif
-ifdef COMPILER_INCLUDEDIR
-override FPCOPT+=$(addprefix -Fi,$(COMPILER_INCLUDEDIR))
-endif
-ifdef CROSSBINDIR
-override FPCOPT+=-FD$(CROSSBINDIR)
-endif
-ifdef COMPILER_TARGETDIR
-override FPCOPT+=-FE$(COMPILER_TARGETDIR)
-ifeq ($(COMPILER_TARGETDIR),.)
-override TARGETDIRPREFIX=
-else
-override TARGETDIRPREFIX=$(COMPILER_TARGETDIR)/
-endif
-endif
-ifdef COMPILER_UNITTARGETDIR
-override FPCOPT+=-FU$(COMPILER_UNITTARGETDIR)
-ifeq ($(COMPILER_UNITTARGETDIR),.)
-override UNITTARGETDIRPREFIX=
-else
-override UNITTARGETDIRPREFIX=$(COMPILER_UNITTARGETDIR)/
-endif
-else
-ifdef COMPILER_TARGETDIR
-override COMPILER_UNITTARGETDIR=$(COMPILER_TARGETDIR)
-override UNITTARGETDIRPREFIX=$(TARGETDIRPREFIX)
-endif
-endif
-ifdef CREATESHARED
-override FPCOPT+=-Cg
-ifeq ($(CPU_TARGET),i386)
-override FPCOPT+=-Aas
-endif
-endif
-ifeq ($(findstring 2.0.,$(FPC_VERSION)),)
-ifeq ($(OS_TARGET),linux)
-ifeq ($(CPU_TARGET),x86_64)
-override FPCOPT+=-Cg
-endif
-endif
-endif
-ifdef LINKSHARED
-endif
-ifdef OPT
-override FPCOPT+=$(OPT)
-endif
-ifdef FPCOPTDEF
-override FPCOPT+=$(addprefix -d,$(FPCOPTDEF))
-endif
-ifdef CFGFILE
-override FPCOPT+=@$(CFGFILE)
-endif
-ifdef USEENV
-override FPCEXTCMD:=$(FPCOPT)
-override FPCOPT:=!FPCEXTCMD
-export FPCEXTCMD
-endif
-override AFULL_TARGET=$(CPU_TARGET)-$(OS_TARGET)
-override AFULL_SOURCE=$(CPU_SOURCE)-$(OS_SOURCE)
-ifneq ($(AFULL_TARGET),$(AFULL_SOURCE))
-override ACROSSCOMPILE=1
-endif
-ifdef ACROSSCOMPILE
-override FPCOPT+=$(CROSSOPT)
-endif
-override COMPILER:=$(FPC) $(FPCOPT)
-ifeq (,$(findstring -s ,$(COMPILER)))
-EXECPPAS=
-else
-ifeq ($(FULL_SOURCE),$(FULL_TARGET))
-ifdef RUNBATCH
-EXECPPAS:=@$(RUNBATCH) $(PPAS)
-else
-EXECPPAS:=@$(PPAS)
-endif
-endif
-endif
-.PHONY: fpc_exes
-ifndef CROSSINSTALL
-ifneq ($(TARGET_PROGRAMS),)
-override EXEFILES=$(addsuffix $(EXEEXT),$(TARGET_PROGRAMS))
-override EXEOFILES:=$(addsuffix $(OEXT),$(TARGET_PROGRAMS)) $(addprefix $(STATICLIBPREFIX),$(addsuffix $(STATICLIBEXT),$(TARGET_PROGRAMS))) $(addprefix $(IMPORTLIBPREFIX),$(addsuffix $(STATICLIBEXT),$(TARGET_PROGRAMS)))
-override ALLTARGET+=fpc_exes
-override INSTALLEXEFILES+=$(EXEFILES)
-override CLEANEXEFILES+=$(EXEFILES) $(EXEOFILES)
-ifeq ($(OS_TARGET),os2)
-override CLEANEXEFILES+=$(addsuffix $(AOUTEXT),$(TARGET_PROGRAMS))
-endif
-ifeq ($(OS_TARGET),emx)
-override CLEANEXEFILES+=$(addsuffix $(AOUTEXT),$(TARGET_PROGRAMS))
-endif
-endif
-endif
-fpc_exes: $(COMPILER_TARGETDIR) $(COMPILER_UNITTARGETDIR) $(EXEFILES)
-ifdef TARGET_RSTS
-override RSTFILES=$(addsuffix $(RSTEXT),$(TARGET_RSTS))
-override CLEANRSTFILES+=$(RSTFILES)
-endif
-.PHONY: fpc_all fpc_smart fpc_debug fpc_release fpc_shared
-$(FPCMADE): $(ALLDEPENDENCIES) $(ALLTARGET)
-	@$(ECHOREDIR) Compiled > $(FPCMADE)
-fpc_all: $(FPCMADE)
-fpc_smart:
-	$(MAKE) all LINKSMART=1 CREATESMART=1
-fpc_debug:
-	$(MAKE) all DEBUG=1
-fpc_release:
-	$(MAKE) all RELEASE=1
-.SUFFIXES: $(EXEEXT) $(PPUEXT) $(OEXT) .pas .lpr .dpr .pp .rc .res
-$(COMPILER_UNITTARGETDIR):
-	$(MKDIRTREE) $(COMPILER_UNITTARGETDIR)
-$(COMPILER_TARGETDIR):
-	$(MKDIRTREE) $(COMPILER_TARGETDIR)
-%$(PPUEXT): %.pp
-	$(COMPILER) $<
-	$(EXECPPAS)
-%$(PPUEXT): %.pas
-	$(COMPILER) $<
-	$(EXECPPAS)
-%$(EXEEXT): %.pp
-	$(COMPILER) $<
-	$(EXECPPAS)
-%$(EXEEXT): %.pas
-	$(COMPILER) $<
-	$(EXECPPAS)
-%$(EXEEXT): %.lpr
-	$(COMPILER) $<
-	$(EXECPPAS)
-%$(EXEEXT): %.dpr
-	$(COMPILER) $<
-	$(EXECPPAS)
-%.res: %.rc
-	windres -i $< -o $@
-vpath %.pp $(COMPILER_SOURCEDIR) $(COMPILER_INCLUDEDIR)
-vpath %.pas $(COMPILER_SOURCEDIR) $(COMPILER_INCLUDEDIR)
-vpath %.lpr $(COMPILER_SOURCEDIR) $(COMPILER_INCLUDEDIR)
-vpath %.dpr $(COMPILER_SOURCEDIR) $(COMPILER_INCLUDEDIR)
-vpath %.inc $(COMPILER_INCLUDEDIR)
-vpath %$(OEXT) $(COMPILER_UNITTARGETDIR)
-vpath %$(PPUEXT) $(COMPILER_UNITTARGETDIR)
-.PHONY: fpc_shared
-override INSTALLTARGET+=fpc_shared_install
-ifndef SHARED_LIBVERSION
-SHARED_LIBVERSION=$(FPC_VERSION)
-endif
-ifndef SHARED_LIBNAME
-SHARED_LIBNAME=$(PACKAGE_NAME)
-endif
-ifndef SHARED_FULLNAME
-SHARED_FULLNAME=$(SHAREDLIBPREFIX)$(SHARED_LIBNAME)-$(SHARED_LIBVERSION)$(SHAREDLIBEXT)
-endif
-ifndef SHARED_LIBUNITS
-SHARED_LIBUNITS:=$(TARGET_UNITS) $(TARGET_IMPLICITUNITS)
-override SHARED_LIBUNITS:=$(filter-out $(INSTALL_BUILDUNIT),$(SHARED_LIBUNITS))
-endif
-fpc_shared:
-ifdef HASSHAREDLIB
-	$(MAKE) all CREATESHARED=1 LINKSHARED=1 CREATESMART=1
-ifneq ($(SHARED_BUILD),n)
-	$(PPUMOVE) -q $(SHARED_LIBUNITS) -i$(COMPILER_UNITTARGETDIR) -o$(SHARED_FULLNAME) -d$(COMPILER_UNITTARGETDIR)
-endif
-else
-	@$(ECHO) Shared Libraries not supported
-endif
-fpc_shared_install:
-ifneq ($(SHARED_BUILD),n)
-ifneq ($(SHARED_LIBUNITS),)
-ifneq ($(wildcard $(COMPILER_UNITTARGETDIR)/$(SHARED_FULLNAME)),)
-	$(INSTALL) $(COMPILER_UNITTARGETDIR)/$(SHARED_FULLNAME) $(INSTALL_SHAREDDIR)
-endif
-endif
-endif
-.PHONY: fpc_install fpc_sourceinstall fpc_exampleinstall
-ifdef INSTALL_UNITS
-override INSTALLPPUFILES+=$(addsuffix $(PPUEXT),$(INSTALL_UNITS))
-endif
-ifdef INSTALL_BUILDUNIT
-override INSTALLPPUFILES:=$(filter-out $(INSTALL_BUILDUNIT)$(PPUEXT),$(INSTALLPPUFILES))
-endif
-ifdef INSTALLPPUFILES
-override INSTALLPPULINKFILES:=$(subst $(PPUEXT),$(OEXT),$(INSTALLPPUFILES)) $(addprefix $(STATICLIBPREFIX),$(subst $(PPUEXT),$(STATICLIBEXT),$(INSTALLPPUFILES))) $(addprefix $(IMPORTLIBPREFIX),$(subst $(PPUEXT),$(STATICLIBEXT),$(INSTALLPPUFILES)))
-ifneq ($(UNITTARGETDIRPREFIX),)
-override INSTALLPPUFILES:=$(addprefix $(UNITTARGETDIRPREFIX),$(notdir $(INSTALLPPUFILES)))
-override INSTALLPPULINKFILES:=$(wildcard $(addprefix $(UNITTARGETDIRPREFIX),$(notdir $(INSTALLPPULINKFILES))))
-endif
-override INSTALL_CREATEPACKAGEFPC=1
-endif
-ifdef INSTALLEXEFILES
-ifneq ($(TARGETDIRPREFIX),)
-override INSTALLEXEFILES:=$(addprefix $(TARGETDIRPREFIX),$(notdir $(INSTALLEXEFILES)))
-endif
-endif
-fpc_install: all $(INSTALLTARGET)
-ifdef INSTALLEXEFILES
-	$(MKDIR) $(INSTALL_BINDIR)
-ifdef UPXPROG
-	-$(UPXPROG) $(INSTALLEXEFILES)
-endif
-	$(INSTALLEXE) $(INSTALLEXEFILES) $(INSTALL_BINDIR)
-endif
-ifdef INSTALL_CREATEPACKAGEFPC
-ifdef FPCMAKE
-ifdef PACKAGE_VERSION
-ifneq ($(wildcard Makefile.fpc),)
-	$(FPCMAKE) -p -T$(CPU_TARGET)-$(OS_TARGET) Makefile.fpc
-	$(MKDIR) $(INSTALL_UNITDIR)
-	$(INSTALL) Package.fpc $(INSTALL_UNITDIR)
-endif
-endif
-endif
-endif
-ifdef INSTALLPPUFILES
-	$(MKDIR) $(INSTALL_UNITDIR)
-	$(INSTALL) $(INSTALLPPUFILES) $(INSTALL_UNITDIR)
-ifneq ($(INSTALLPPULINKFILES),)
-	$(INSTALL) $(INSTALLPPULINKFILES) $(INSTALL_UNITDIR)
-endif
-ifneq ($(wildcard $(LIB_FULLNAME)),)
-	$(MKDIR) $(INSTALL_LIBDIR)
-	$(INSTALL) $(LIB_FULLNAME) $(INSTALL_LIBDIR)
-ifdef inUnix
-	ln -sf $(LIB_FULLNAME) $(INSTALL_LIBDIR)/$(LIB_NAME)
-endif
-endif
-endif
-ifdef INSTALL_FILES
-	$(MKDIR) $(INSTALL_DATADIR)
-	$(INSTALL) $(INSTALL_FILES) $(INSTALL_DATADIR)
-endif
-fpc_sourceinstall: distclean
-	$(MKDIR) $(INSTALL_SOURCEDIR)
-	$(COPYTREE) $(BASEDIR)/* $(INSTALL_SOURCEDIR)
-fpc_exampleinstall: $(addsuffix _distclean,$(TARGET_EXAMPLEDIRS))
-ifdef HASEXAMPLES
-	$(MKDIR) $(INSTALL_EXAMPLEDIR)
-endif
-ifdef EXAMPLESOURCEFILES
-	$(COPY) $(EXAMPLESOURCEFILES) $(INSTALL_EXAMPLEDIR)
-endif
-ifdef TARGET_EXAMPLEDIRS
-	$(COPYTREE) $(addsuffix /*,$(TARGET_EXAMPLEDIRS)) $(INSTALL_EXAMPLEDIR)
-endif
-.PHONY: fpc_clean fpc_cleanall fpc_distclean
-ifdef EXEFILES
-override CLEANEXEFILES:=$(addprefix $(TARGETDIRPREFIX),$(CLEANEXEFILES))
-endif
-ifdef CLEAN_UNITS
-override CLEANPPUFILES+=$(addsuffix $(PPUEXT),$(CLEAN_UNITS))
-endif
-ifdef CLEANPPUFILES
-override CLEANPPULINKFILES:=$(subst $(PPUEXT),$(OEXT),$(CLEANPPUFILES)) $(addprefix $(STATICLIBPREFIX),$(subst $(PPUEXT),$(STATICLIBEXT),$(CLEANPPUFILES))) $(addprefix $(IMPORTLIBPREFIX),$(subst $(PPUEXT),$(STATICLIBEXT),$(CLEANPPUFILES)))
-ifdef DEBUGSYMEXT
-override CLEANPPULINKFILES+=$(subst $(PPUEXT),$(DEBUGSYMEXT),$(CLEANPPUFILES))
-endif
-override CLEANPPUFILES:=$(addprefix $(UNITTARGETDIRPREFIX),$(CLEANPPUFILES))
-override CLEANPPULINKFILES:=$(wildcard $(addprefix $(UNITTARGETDIRPREFIX),$(CLEANPPULINKFILES)))
-endif
-fpc_clean: $(CLEANTARGET)
-ifdef CLEANEXEFILES
-	-$(DEL) $(CLEANEXEFILES)
-endif
-ifdef CLEANPPUFILES
-	-$(DEL) $(CLEANPPUFILES)
-endif
-ifneq ($(CLEANPPULINKFILES),)
-	-$(DEL) $(CLEANPPULINKFILES)
-endif
-ifdef CLEANRSTFILES
-	-$(DEL) $(addprefix $(UNITTARGETDIRPREFIX),$(CLEANRSTFILES))
-endif
-ifdef CLEAN_FILES
-	-$(DEL) $(CLEAN_FILES)
-endif
-ifdef LIB_NAME
-	-$(DEL) $(LIB_NAME) $(LIB_FULLNAME)
-endif
-	-$(DEL) $(FPCMADE) Package.fpc $(PPAS) script.res link.res $(FPCEXTFILE) $(REDIRFILE)
-	-$(DEL) *$(ASMEXT) *_ppas$(BATCHEXT)
-fpc_cleanall: $(CLEANTARGET)
-ifdef CLEANEXEFILES
-	-$(DEL) $(CLEANEXEFILES)
-endif
-ifdef COMPILER_UNITTARGETDIR
-ifdef CLEANPPUFILES
-	-$(DEL) $(CLEANPPUFILES)
-endif
-ifneq ($(CLEANPPULINKFILES),)
-	-$(DEL) $(CLEANPPULINKFILES)
-endif
-ifdef CLEANRSTFILES
-	-$(DEL) $(addprefix $(UNITTARGETDIRPREFIX),$(CLEANRSTFILES))
-endif
-endif
-	-$(DELTREE) units
-	-$(DEL) *$(OEXT) *$(PPUEXT) *$(RSTEXT) *$(ASMEXT) *$(STATICLIBEXT) *$(SHAREDLIBEXT) *$(PPLEXT)
-ifneq ($(PPUEXT),.ppu)
-	-$(DEL) *.o *.ppu *.a
-endif
-	-$(DELTREE) *$(SMARTEXT)
-	-$(DEL) fpcmade.* Package.fpc $(PPAS) script.res link.res $(FPCEXTFILE) $(REDIRFILE)
-	-$(DEL) *_ppas$(BATCHEXT)
-ifdef AOUTEXT
-	-$(DEL) *$(AOUTEXT)
-endif
-ifdef DEBUGSYMEXT
-	-$(DEL) *$(DEBUGSYMEXT)
-endif
-fpc_distclean: cleanall
-.PHONY: fpc_baseinfo
-override INFORULES+=fpc_baseinfo
-fpc_baseinfo:
-	@$(ECHO)
-	@$(ECHO)  == Package info ==
-	@$(ECHO)  Package Name..... $(PACKAGE_NAME)
-	@$(ECHO)  Package Version.. $(PACKAGE_VERSION)
-	@$(ECHO)
-	@$(ECHO)  == Configuration info ==
-	@$(ECHO)
-	@$(ECHO)  FPC.......... $(FPC)
-	@$(ECHO)  FPC Version.. $(FPC_VERSION)
-	@$(ECHO)  Source CPU... $(CPU_SOURCE)
-	@$(ECHO)  Target CPU... $(CPU_TARGET)
-	@$(ECHO)  Source OS.... $(OS_SOURCE)
-	@$(ECHO)  Target OS.... $(OS_TARGET)
-	@$(ECHO)  Full Source.. $(FULL_SOURCE)
-	@$(ECHO)  Full Target.. $(FULL_TARGET)
-	@$(ECHO)  SourceSuffix. $(SOURCESUFFIX)
-	@$(ECHO)  TargetSuffix. $(TARGETSUFFIX)
-	@$(ECHO)
-	@$(ECHO)  == Directory info ==
-	@$(ECHO)
-	@$(ECHO)  Required pkgs... $(REQUIRE_PACKAGES)
-	@$(ECHO)
-	@$(ECHO)  Basedir......... $(BASEDIR)
-	@$(ECHO)  FPCDir.......... $(FPCDIR)
-	@$(ECHO)  CrossBinDir..... $(CROSSBINDIR)
-	@$(ECHO)  UnitsDir........ $(UNITSDIR)
-	@$(ECHO)  PackagesDir..... $(PACKAGESDIR)
-	@$(ECHO)
-	@$(ECHO)  GCC library..... $(GCCLIBDIR)
-	@$(ECHO)  Other library... $(OTHERLIBDIR)
-	@$(ECHO)
-	@$(ECHO)  == Tools info ==
-	@$(ECHO)
-	@$(ECHO)  As........ $(AS)
-	@$(ECHO)  Ld........ $(LD)
-	@$(ECHO)  Ar........ $(AR)
-	@$(ECHO)  Rc........ $(RC)
-	@$(ECHO)
-	@$(ECHO)  Mv........ $(MVPROG)
-	@$(ECHO)  Cp........ $(CPPROG)
-	@$(ECHO)  Rm........ $(RMPROG)
-	@$(ECHO)  GInstall.. $(GINSTALL)
-	@$(ECHO)  Echo...... $(ECHO)
-	@$(ECHO)  Shell..... $(SHELL)
-	@$(ECHO)  Date...... $(DATE)
-	@$(ECHO)  FPCMake... $(FPCMAKE)
-	@$(ECHO)  PPUMove... $(PPUMOVE)
-	@$(ECHO)  Upx....... $(UPXPROG)
-	@$(ECHO)  Zip....... $(ZIPPROG)
-	@$(ECHO)
-	@$(ECHO)  == Object info ==
-	@$(ECHO)
-	@$(ECHO)  Target Loaders........ $(TARGET_LOADERS)
-	@$(ECHO)  Target Units.......... $(TARGET_UNITS)
-	@$(ECHO)  Target Implicit Units. $(TARGET_IMPLICITUNITS)
-	@$(ECHO)  Target Programs....... $(TARGET_PROGRAMS)
-	@$(ECHO)  Target Dirs........... $(TARGET_DIRS)
-	@$(ECHO)  Target Examples....... $(TARGET_EXAMPLES)
-	@$(ECHO)  Target ExampleDirs.... $(TARGET_EXAMPLEDIRS)
-	@$(ECHO)
-	@$(ECHO)  Clean Units......... $(CLEAN_UNITS)
-	@$(ECHO)  Clean Files......... $(CLEAN_FILES)
-	@$(ECHO)
-	@$(ECHO)  Install Units....... $(INSTALL_UNITS)
-	@$(ECHO)  Install Files....... $(INSTALL_FILES)
-	@$(ECHO)
-	@$(ECHO)  == Install info ==
-	@$(ECHO)
-	@$(ECHO)  DateStr.............. $(DATESTR)
-	@$(ECHO)  ZipName.............. $(ZIPNAME)
-	@$(ECHO)  ZipPrefix............ $(ZIPPREFIX)
-	@$(ECHO)  ZipCrossPrefix....... $(ZIPCROSSPREFIX)
-	@$(ECHO)  ZipSuffix............ $(ZIPSUFFIX)
-	@$(ECHO)  FullZipName.......... $(FULLZIPNAME)
-	@$(ECHO)  Install FPC Package.. $(INSTALL_FPCPACKAGE)
-	@$(ECHO)
-	@$(ECHO)  Install base dir..... $(INSTALL_BASEDIR)
-	@$(ECHO)  Install binary dir... $(INSTALL_BINDIR)
-	@$(ECHO)  Install library dir.. $(INSTALL_LIBDIR)
-	@$(ECHO)  Install units dir.... $(INSTALL_UNITDIR)
-	@$(ECHO)  Install source dir... $(INSTALL_SOURCEDIR)
-	@$(ECHO)  Install doc dir...... $(INSTALL_DOCDIR)
-	@$(ECHO)  Install example dir.. $(INSTALL_EXAMPLEDIR)
-	@$(ECHO)  Install data dir..... $(INSTALL_DATADIR)
-	@$(ECHO)
-	@$(ECHO)  Dist destination dir. $(DIST_DESTDIR)
-	@$(ECHO)  Dist zip name........ $(DIST_ZIPNAME)
-	@$(ECHO)
-.PHONY: fpc_info
-fpc_info: $(INFORULES)
-.PHONY: fpc_makefile fpc_makefiles fpc_makefile_sub1 fpc_makefile_sub2 \
-	fpc_makefile_dirs
-fpc_makefile:
-	$(FPCMAKE) -w -T$(OS_TARGET) Makefile.fpc
-fpc_makefile_sub1:
-ifdef TARGET_DIRS
-	$(FPCMAKE) -w -T$(OS_TARGET) $(addsuffix /Makefile.fpc,$(TARGET_DIRS))
-endif
-ifdef TARGET_EXAMPLEDIRS
-	$(FPCMAKE) -w -T$(OS_TARGET) $(addsuffix /Makefile.fpc,$(TARGET_EXAMPLEDIRS))
-endif
-fpc_makefile_sub2: $(addsuffix _makefile_dirs,$(TARGET_DIRS) $(TARGET_EXAMPLEDIRS))
-fpc_makefile_dirs: fpc_makefile_sub1 fpc_makefile_sub2
-fpc_makefiles: fpc_makefile fpc_makefile_dirs
-all: fpc_all
-debug: fpc_debug
-smart: fpc_smart
-release: fpc_release
-units: fpc_units
-examples:
-shared: fpc_shared
-install: fpc_install
-sourceinstall: fpc_sourceinstall
-exampleinstall: fpc_exampleinstall
-distinstall:
-zipinstall:
-zipsourceinstall:
-zipexampleinstall:
-zipdistinstall:
-clean: fpc_clean
-distclean: fpc_distclean
-cleanall: fpc_cleanall
-info: fpc_info
-makefiles: fpc_makefiles
-.PHONY: all debug smart release units examples shared install sourceinstall exampleinstall distinstall zipinstall zipsourceinstall zipexampleinstall zipdistinstall clean distclean cleanall info makefiles
-ifneq ($(wildcard fpcmake.loc),)
-include fpcmake.loc
-endif
-.NOTPARALLEL:
diff --git a/packages/libgbafpc/examples/devkitPro/graphics/ansi_console/Makefile.fpc b/packages/libgbafpc/examples/devkitPro/graphics/ansi_console/Makefile.fpc
deleted file mode 100644
index 69a791d957..0000000000
--- a/packages/libgbafpc/examples/devkitPro/graphics/ansi_console/Makefile.fpc
+++ /dev/null
@@ -1,26 +0,0 @@
-#
-#   Makefile.fpc for Free Pascal libgbafpc 2.x.y Examples
-#
-
-[target]
-programs=console
-
-[require]
-packages=libgbafpc
-
-[install]
-fpcpackage=y
-
-[default]
-cpu=arm
-target=gba
-fpcdir=../../../../../..
-
-[clean]
-files=*.elf
-units=*
-
-[prerules]
-
-[rules]
-.NOTPARALLEL:
diff --git a/packages/libgbafpc/examples/devkitPro/graphics/ansi_console/console.pp b/packages/libgbafpc/examples/devkitPro/graphics/ansi_console/console.pp
deleted file mode 100644
index 98173fc6dc..0000000000
--- a/packages/libgbafpc/examples/devkitPro/graphics/ansi_console/console.pp
+++ /dev/null
@@ -1,60 +0,0 @@
-program console;
-
-uses
-  gba;
-
-begin
-  // the vblank interrupt must be enabled for VBlankIntrWait() to work
-  // since the default dispatcher handles the bios flags no vblank handler
-  // is required
-  irqInit();
-  
-  irqEnable(IRQ_VBLANK);
-  
-  // initialise the console
-  // setting NULL & 0 for the font address & size uses the default font
-  // The font should be a complete 1bit 8x8 ASCII font
-  consoleInit(  0,		// charbase
-                4,		// mapbase
-                0,		// background number
-                nil,	// font
-                0, 		// font size
-                15		// 16 color palette
-             );
-
-  // set the screen colors, color 0 is the background color
-  // the foreground color is index 1 of the selected 16 color palette
-  BG_COLORS[0] := RGB8(58,110,165);
-  BG_COLORS[241] := RGB5(31,31,31);
-  
-  SetMode(MODE_0 or BG0_ON);
-  
-  // ansi escape sequence to clear screen and home cursor
-  // /x1b[line;columnH
-  iprintf(#27'[2J');
-  
-  // ansi escape sequence to set print co-ordinates
-  // /x1b[line;columnH
-  iprintf(#27'[10;10H' + 'Hello World!');
-  
-  // ansi escape sequence to move cursor up
-  // /x1b[linesA
-  iprintf(#27'[10A' + 'Line 0');
-  
-  // ansi escape sequence to move cursor left
-  // /x1b[columnsD
-  iprintf(#27'[28D' + 'Column 0');
-  
-  // ansi escape sequence to move cursor down
-  // /x1b[linesB
-  iprintf(#27'[19B' + 'Line 19');
-  
-  // ansi escape sequence to move cursor right
-  // /x1b[columnsC
-  iprintf(#27'[5C' + 'Column 20');
-  
-  while true do
-    VBlankIntrWait();
-  
-end.
-
diff --git a/packages/libgbafpc/examples/devkitPro/template/Makefile b/packages/libgbafpc/examples/devkitPro/template/Makefile
deleted file mode 100644
index 6d1cdb15af..0000000000
--- a/packages/libgbafpc/examples/devkitPro/template/Makefile
+++ /dev/null
@@ -1,2358 +0,0 @@
-#
-# Don't edit, this file is generated by FPCMake Version 2.0.0 [2009/08/02]
-#
-default: all
-MAKEFILETARGETS=i386-linux i386-go32v2 i386-win32 i386-os2 i386-freebsd i386-beos i386-haiku i386-netbsd i386-solaris i386-qnx i386-netware i386-openbsd i386-wdosx i386-darwin i386-emx i386-watcom i386-netwlibc i386-wince i386-embedded i386-symbian m68k-linux m68k-freebsd m68k-netbsd m68k-amiga m68k-atari m68k-openbsd m68k-palmos m68k-embedded powerpc-linux powerpc-netbsd powerpc-amiga powerpc-macos powerpc-darwin powerpc-morphos powerpc-embedded sparc-linux sparc-netbsd sparc-solaris sparc-embedded x86_64-linux x86_64-freebsd x86_64-darwin x86_64-win64 x86_64-embedded arm-linux arm-palmos arm-darwin arm-wince arm-gba arm-nds arm-embedded arm-symbian powerpc64-linux powerpc64-darwin powerpc64-embedded avr-embedded armeb-linux armeb-embedded
-BSDs = freebsd netbsd openbsd darwin
-UNIXs = linux $(BSDs) solaris qnx
-LIMIT83fs = go32v2 os2 emx watcom
-OSNeedsComspecToRunBatch = go32v2 watcom
-FORCE:
-.PHONY: FORCE
-override PATH:=$(patsubst %/,%,$(subst \,/,$(PATH)))
-ifneq ($(findstring darwin,$(OSTYPE)),)
-inUnix=1 #darwin
-SEARCHPATH:=$(filter-out .,$(subst :, ,$(PATH)))
-else
-ifeq ($(findstring ;,$(PATH)),)
-inUnix=1
-SEARCHPATH:=$(filter-out .,$(subst :, ,$(PATH)))
-else
-SEARCHPATH:=$(subst ;, ,$(PATH))
-endif
-endif
-SEARCHPATH+=$(patsubst %/,%,$(subst \,/,$(dir $(MAKE))))
-PWD:=$(strip $(wildcard $(addsuffix /pwd.exe,$(SEARCHPATH))))
-ifeq ($(PWD),)
-PWD:=$(strip $(wildcard $(addsuffix /pwd,$(SEARCHPATH))))
-ifeq ($(PWD),)
-$(error You need the GNU utils package to use this Makefile)
-else
-PWD:=$(firstword $(PWD))
-SRCEXEEXT=
-endif
-else
-PWD:=$(firstword $(PWD))
-SRCEXEEXT=.exe
-endif
-ifndef inUnix
-ifeq ($(OS),Windows_NT)
-inWinNT=1
-else
-ifdef OS2_SHELL
-inOS2=1
-endif
-endif
-else
-ifneq ($(findstring cygdrive,$(PATH)),)
-inCygWin=1
-endif
-endif
-ifdef inUnix
-SRCBATCHEXT=.sh
-else
-ifdef inOS2
-SRCBATCHEXT=.cmd
-else
-SRCBATCHEXT=.bat
-endif
-endif
-ifdef COMSPEC
-ifneq ($(findstring $(OS_SOURCE),$(OSNeedsComspecToRunBatch)),)
-ifndef RUNBATCH
-RUNBATCH=$(COMSPEC) /C
-endif
-endif
-endif
-ifdef inUnix
-PATHSEP=/
-else
-PATHSEP:=$(subst /,\,/)
-ifdef inCygWin
-PATHSEP=/
-endif
-endif
-ifdef PWD
-BASEDIR:=$(subst \,/,$(shell $(PWD)))
-ifdef inCygWin
-ifneq ($(findstring /cygdrive/,$(BASEDIR)),)
-BASENODIR:=$(patsubst /cygdrive%,%,$(BASEDIR))
-BASEDRIVE:=$(firstword $(subst /, ,$(BASENODIR)))
-BASEDIR:=$(subst /cygdrive/$(BASEDRIVE)/,$(BASEDRIVE):/,$(BASEDIR))
-endif
-endif
-else
-BASEDIR=.
-endif
-ifdef inOS2
-ifndef ECHO
-ECHO:=$(strip $(wildcard $(addsuffix /gecho$(SRCEXEEXT),$(SEARCHPATH))))
-ifeq ($(ECHO),)
-ECHO:=$(strip $(wildcard $(addsuffix /echo$(SRCEXEEXT),$(SEARCHPATH))))
-ifeq ($(ECHO),)
-ECHO=echo
-else
-ECHO:=$(firstword $(ECHO))
-endif
-else
-ECHO:=$(firstword $(ECHO))
-endif
-endif
-export ECHO
-endif
-override OS_TARGET_DEFAULT=gba
-override CPU_TARGET_DEFAULT=arm
-override DEFAULT_FPCDIR=../../../../..
-ifndef FPC
-ifdef PP
-FPC=$(PP)
-endif
-endif
-ifndef FPC
-FPCPROG:=$(strip $(wildcard $(addsuffix /fpc$(SRCEXEEXT),$(SEARCHPATH))))
-ifneq ($(FPCPROG),)
-FPCPROG:=$(firstword $(FPCPROG))
-ifneq ($(CPU_TARGET),)
-FPC:=$(shell $(FPCPROG) -P$(CPU_TARGET) -PB)
-else
-FPC:=$(shell $(FPCPROG) -PB)
-endif
-ifneq ($(findstring Error,$(FPC)),)
-override FPC=$(firstword $(strip $(wildcard $(addsuffix /ppc386$(SRCEXEEXT),$(SEARCHPATH)))))
-else
-ifeq ($(strip $(wildcard $(FPC))),)
-FPC:=$(firstword $(FPCPROG))
-endif
-endif
-else
-override FPC=$(firstword $(strip $(wildcard $(addsuffix /ppc386$(SRCEXEEXT),$(SEARCHPATH)))))
-endif
-endif
-override FPC:=$(subst $(SRCEXEEXT),,$(FPC))
-override FPC:=$(subst \,/,$(FPC))$(SRCEXEEXT)
-FOUNDFPC:=$(strip $(wildcard $(FPC)))
-ifeq ($(FOUNDFPC),)
-FOUNDFPC=$(strip $(wildcard $(addsuffix /$(FPC),$(SEARCHPATH))))
-ifeq ($(FOUNDFPC),)
-$(error Compiler $(FPC) not found)
-endif
-endif
-ifndef FPC_COMPILERINFO
-FPC_COMPILERINFO:=$(shell $(FPC) -iVSPTPSOTO)
-endif
-ifndef FPC_VERSION
-FPC_VERSION:=$(word 1,$(FPC_COMPILERINFO))
-endif
-export FPC FPC_VERSION FPC_COMPILERINFO
-unexport CHECKDEPEND ALLDEPENDENCIES
-ifndef CPU_TARGET
-ifdef CPU_TARGET_DEFAULT
-CPU_TARGET=$(CPU_TARGET_DEFAULT)
-endif
-endif
-ifndef OS_TARGET
-ifdef OS_TARGET_DEFAULT
-OS_TARGET=$(OS_TARGET_DEFAULT)
-endif
-endif
-ifneq ($(words $(FPC_COMPILERINFO)),5)
-FPC_COMPILERINFO+=$(shell $(FPC) -iSP)
-FPC_COMPILERINFO+=$(shell $(FPC) -iTP)
-FPC_COMPILERINFO+=$(shell $(FPC) -iSO)
-FPC_COMPILERINFO+=$(shell $(FPC) -iTO)
-endif
-ifndef CPU_SOURCE
-CPU_SOURCE:=$(word 2,$(FPC_COMPILERINFO))
-endif
-ifndef CPU_TARGET
-CPU_TARGET:=$(word 3,$(FPC_COMPILERINFO))
-endif
-ifndef OS_SOURCE
-OS_SOURCE:=$(word 4,$(FPC_COMPILERINFO))
-endif
-ifndef OS_TARGET
-OS_TARGET:=$(word 5,$(FPC_COMPILERINFO))
-endif
-FULL_TARGET=$(CPU_TARGET)-$(OS_TARGET)
-FULL_SOURCE=$(CPU_SOURCE)-$(OS_SOURCE)
-ifeq ($(CPU_TARGET),armeb)
-ARCH=arm
-override FPCOPT+=-Cb
-else
-ifeq ($(CPU_TARGET),armel)
-ARCH=arm
-override FPCOPT+=-CaEABI
-else
-ARCH=$(CPU_TARGET)
-endif
-endif
-ifneq ($(findstring $(OS_SOURCE),$(LIMIT83fs)),)
-TARGETSUFFIX=$(OS_TARGET)
-SOURCESUFFIX=$(OS_SOURCE)
-else
-TARGETSUFFIX=$(FULL_TARGET)
-SOURCESUFFIX=$(FULL_SOURCE)
-endif
-ifneq ($(FULL_TARGET),$(FULL_SOURCE))
-CROSSCOMPILE=1
-endif
-ifeq ($(findstring makefile,$(MAKECMDGOALS)),)
-ifeq ($(findstring $(FULL_TARGET),$(MAKEFILETARGETS)),)
-$(error The Makefile doesn't support target $(FULL_TARGET), please run fpcmake first)
-endif
-endif
-ifneq ($(findstring $(OS_TARGET),$(BSDs)),)
-BSDhier=1
-endif
-ifeq ($(OS_TARGET),linux)
-linuxHier=1
-endif
-export OS_TARGET OS_SOURCE ARCH CPU_TARGET CPU_SOURCE FULL_TARGET FULL_SOURCE TARGETSUFFIX SOURCESUFFIX CROSSCOMPILE
-ifdef FPCDIR
-override FPCDIR:=$(subst \,/,$(FPCDIR))
-ifeq ($(wildcard $(addprefix $(FPCDIR)/,rtl units)),)
-override FPCDIR=wrong
-endif
-else
-override FPCDIR=wrong
-endif
-ifdef DEFAULT_FPCDIR
-ifeq ($(FPCDIR),wrong)
-override FPCDIR:=$(subst \,/,$(DEFAULT_FPCDIR))
-ifeq ($(wildcard $(addprefix $(FPCDIR)/,rtl units)),)
-override FPCDIR=wrong
-endif
-endif
-endif
-ifeq ($(FPCDIR),wrong)
-ifdef inUnix
-override FPCDIR=/usr/local/lib/fpc/$(FPC_VERSION)
-ifeq ($(wildcard $(FPCDIR)/units),)
-override FPCDIR=/usr/lib/fpc/$(FPC_VERSION)
-endif
-else
-override FPCDIR:=$(subst /$(FPC),,$(firstword $(strip $(wildcard $(addsuffix /$(FPC),$(SEARCHPATH))))))
-override FPCDIR:=$(FPCDIR)/..
-ifeq ($(wildcard $(addprefix $(FPCDIR)/,rtl units)),)
-override FPCDIR:=$(FPCDIR)/..
-ifeq ($(wildcard $(addprefix $(FPCDIR)/,rtl units)),)
-override FPCDIR:=$(BASEDIR)
-ifeq ($(wildcard $(addprefix $(FPCDIR)/,rtl units)),)
-override FPCDIR=c:/pp
-endif
-endif
-endif
-endif
-endif
-ifndef CROSSBINDIR
-CROSSBINDIR:=$(wildcard $(FPCDIR)/bin/$(TARGETSUFFIX))
-endif
-ifeq ($(OS_TARGET),darwin)
-ifeq ($(OS_SOURCE),darwin)
-DARWIN2DARWIN=1
-endif
-endif
-ifndef BINUTILSPREFIX
-ifndef CROSSBINDIR
-ifdef CROSSCOMPILE
-ifndef DARWIN2DARWIN
-BINUTILSPREFIX=$(CPU_TARGET)-$(OS_TARGET)-
-endif
-endif
-endif
-endif
-UNITSDIR:=$(wildcard $(FPCDIR)/units/$(TARGETSUFFIX))
-ifeq ($(UNITSDIR),)
-UNITSDIR:=$(wildcard $(FPCDIR)/units/$(OS_TARGET))
-endif
-PACKAGESDIR:=$(wildcard $(FPCDIR) $(FPCDIR)/packages $(FPCDIR)/packages/base $(FPCDIR)/packages/extra)
-ifeq ($(FULL_TARGET),i386-linux)
-override TARGET_PROGRAMS+=template
-endif
-ifeq ($(FULL_TARGET),i386-go32v2)
-override TARGET_PROGRAMS+=template
-endif
-ifeq ($(FULL_TARGET),i386-win32)
-override TARGET_PROGRAMS+=template
-endif
-ifeq ($(FULL_TARGET),i386-os2)
-override TARGET_PROGRAMS+=template
-endif
-ifeq ($(FULL_TARGET),i386-freebsd)
-override TARGET_PROGRAMS+=template
-endif
-ifeq ($(FULL_TARGET),i386-beos)
-override TARGET_PROGRAMS+=template
-endif
-ifeq ($(FULL_TARGET),i386-haiku)
-override TARGET_PROGRAMS+=template
-endif
-ifeq ($(FULL_TARGET),i386-netbsd)
-override TARGET_PROGRAMS+=template
-endif
-ifeq ($(FULL_TARGET),i386-solaris)
-override TARGET_PROGRAMS+=template
-endif
-ifeq ($(FULL_TARGET),i386-qnx)
-override TARGET_PROGRAMS+=template
-endif
-ifeq ($(FULL_TARGET),i386-netware)
-override TARGET_PROGRAMS+=template
-endif
-ifeq ($(FULL_TARGET),i386-openbsd)
-override TARGET_PROGRAMS+=template
-endif
-ifeq ($(FULL_TARGET),i386-wdosx)
-override TARGET_PROGRAMS+=template
-endif
-ifeq ($(FULL_TARGET),i386-darwin)
-override TARGET_PROGRAMS+=template
-endif
-ifeq ($(FULL_TARGET),i386-emx)
-override TARGET_PROGRAMS+=template
-endif
-ifeq ($(FULL_TARGET),i386-watcom)
-override TARGET_PROGRAMS+=template
-endif
-ifeq ($(FULL_TARGET),i386-netwlibc)
-override TARGET_PROGRAMS+=template
-endif
-ifeq ($(FULL_TARGET),i386-wince)
-override TARGET_PROGRAMS+=template
-endif
-ifeq ($(FULL_TARGET),i386-embedded)
-override TARGET_PROGRAMS+=template
-endif
-ifeq ($(FULL_TARGET),i386-symbian)
-override TARGET_PROGRAMS+=template
-endif
-ifeq ($(FULL_TARGET),m68k-linux)
-override TARGET_PROGRAMS+=template
-endif
-ifeq ($(FULL_TARGET),m68k-freebsd)
-override TARGET_PROGRAMS+=template
-endif
-ifeq ($(FULL_TARGET),m68k-netbsd)
-override TARGET_PROGRAMS+=template
-endif
-ifeq ($(FULL_TARGET),m68k-amiga)
-override TARGET_PROGRAMS+=template
-endif
-ifeq ($(FULL_TARGET),m68k-atari)
-override TARGET_PROGRAMS+=template
-endif
-ifeq ($(FULL_TARGET),m68k-openbsd)
-override TARGET_PROGRAMS+=template
-endif
-ifeq ($(FULL_TARGET),m68k-palmos)
-override TARGET_PROGRAMS+=template
-endif
-ifeq ($(FULL_TARGET),m68k-embedded)
-override TARGET_PROGRAMS+=template
-endif
-ifeq ($(FULL_TARGET),powerpc-linux)
-override TARGET_PROGRAMS+=template
-endif
-ifeq ($(FULL_TARGET),powerpc-netbsd)
-override TARGET_PROGRAMS+=template
-endif
-ifeq ($(FULL_TARGET),powerpc-amiga)
-override TARGET_PROGRAMS+=template
-endif
-ifeq ($(FULL_TARGET),powerpc-macos)
-override TARGET_PROGRAMS+=template
-endif
-ifeq ($(FULL_TARGET),powerpc-darwin)
-override TARGET_PROGRAMS+=template
-endif
-ifeq ($(FULL_TARGET),powerpc-morphos)
-override TARGET_PROGRAMS+=template
-endif
-ifeq ($(FULL_TARGET),powerpc-embedded)
-override TARGET_PROGRAMS+=template
-endif
-ifeq ($(FULL_TARGET),sparc-linux)
-override TARGET_PROGRAMS+=template
-endif
-ifeq ($(FULL_TARGET),sparc-netbsd)
-override TARGET_PROGRAMS+=template
-endif
-ifeq ($(FULL_TARGET),sparc-solaris)
-override TARGET_PROGRAMS+=template
-endif
-ifeq ($(FULL_TARGET),sparc-embedded)
-override TARGET_PROGRAMS+=template
-endif
-ifeq ($(FULL_TARGET),x86_64-linux)
-override TARGET_PROGRAMS+=template
-endif
-ifeq ($(FULL_TARGET),x86_64-freebsd)
-override TARGET_PROGRAMS+=template
-endif
-ifeq ($(FULL_TARGET),x86_64-darwin)
-override TARGET_PROGRAMS+=template
-endif
-ifeq ($(FULL_TARGET),x86_64-win64)
-override TARGET_PROGRAMS+=template
-endif
-ifeq ($(FULL_TARGET),x86_64-embedded)
-override TARGET_PROGRAMS+=template
-endif
-ifeq ($(FULL_TARGET),arm-linux)
-override TARGET_PROGRAMS+=template
-endif
-ifeq ($(FULL_TARGET),arm-palmos)
-override TARGET_PROGRAMS+=template
-endif
-ifeq ($(FULL_TARGET),arm-darwin)
-override TARGET_PROGRAMS+=template
-endif
-ifeq ($(FULL_TARGET),arm-wince)
-override TARGET_PROGRAMS+=template
-endif
-ifeq ($(FULL_TARGET),arm-gba)
-override TARGET_PROGRAMS+=template
-endif
-ifeq ($(FULL_TARGET),arm-nds)
-override TARGET_PROGRAMS+=template
-endif
-ifeq ($(FULL_TARGET),arm-embedded)
-override TARGET_PROGRAMS+=template
-endif
-ifeq ($(FULL_TARGET),arm-symbian)
-override TARGET_PROGRAMS+=template
-endif
-ifeq ($(FULL_TARGET),powerpc64-linux)
-override TARGET_PROGRAMS+=template
-endif
-ifeq ($(FULL_TARGET),powerpc64-darwin)
-override TARGET_PROGRAMS+=template
-endif
-ifeq ($(FULL_TARGET),powerpc64-embedded)
-override TARGET_PROGRAMS+=template
-endif
-ifeq ($(FULL_TARGET),avr-embedded)
-override TARGET_PROGRAMS+=template
-endif
-ifeq ($(FULL_TARGET),armeb-linux)
-override TARGET_PROGRAMS+=template
-endif
-ifeq ($(FULL_TARGET),armeb-embedded)
-override TARGET_PROGRAMS+=template
-endif
-ifeq ($(FULL_TARGET),i386-linux)
-override CLEAN_UNITS+=*
-endif
-ifeq ($(FULL_TARGET),i386-go32v2)
-override CLEAN_UNITS+=*
-endif
-ifeq ($(FULL_TARGET),i386-win32)
-override CLEAN_UNITS+=*
-endif
-ifeq ($(FULL_TARGET),i386-os2)
-override CLEAN_UNITS+=*
-endif
-ifeq ($(FULL_TARGET),i386-freebsd)
-override CLEAN_UNITS+=*
-endif
-ifeq ($(FULL_TARGET),i386-beos)
-override CLEAN_UNITS+=*
-endif
-ifeq ($(FULL_TARGET),i386-haiku)
-override CLEAN_UNITS+=*
-endif
-ifeq ($(FULL_TARGET),i386-netbsd)
-override CLEAN_UNITS+=*
-endif
-ifeq ($(FULL_TARGET),i386-solaris)
-override CLEAN_UNITS+=*
-endif
-ifeq ($(FULL_TARGET),i386-qnx)
-override CLEAN_UNITS+=*
-endif
-ifeq ($(FULL_TARGET),i386-netware)
-override CLEAN_UNITS+=*
-endif
-ifeq ($(FULL_TARGET),i386-openbsd)
-override CLEAN_UNITS+=*
-endif
-ifeq ($(FULL_TARGET),i386-wdosx)
-override CLEAN_UNITS+=*
-endif
-ifeq ($(FULL_TARGET),i386-darwin)
-override CLEAN_UNITS+=*
-endif
-ifeq ($(FULL_TARGET),i386-emx)
-override CLEAN_UNITS+=*
-endif
-ifeq ($(FULL_TARGET),i386-watcom)
-override CLEAN_UNITS+=*
-endif
-ifeq ($(FULL_TARGET),i386-netwlibc)
-override CLEAN_UNITS+=*
-endif
-ifeq ($(FULL_TARGET),i386-wince)
-override CLEAN_UNITS+=*
-endif
-ifeq ($(FULL_TARGET),i386-embedded)
-override CLEAN_UNITS+=*
-endif
-ifeq ($(FULL_TARGET),i386-symbian)
-override CLEAN_UNITS+=*
-endif
-ifeq ($(FULL_TARGET),m68k-linux)
-override CLEAN_UNITS+=*
-endif
-ifeq ($(FULL_TARGET),m68k-freebsd)
-override CLEAN_UNITS+=*
-endif
-ifeq ($(FULL_TARGET),m68k-netbsd)
-override CLEAN_UNITS+=*
-endif
-ifeq ($(FULL_TARGET),m68k-amiga)
-override CLEAN_UNITS+=*
-endif
-ifeq ($(FULL_TARGET),m68k-atari)
-override CLEAN_UNITS+=*
-endif
-ifeq ($(FULL_TARGET),m68k-openbsd)
-override CLEAN_UNITS+=*
-endif
-ifeq ($(FULL_TARGET),m68k-palmos)
-override CLEAN_UNITS+=*
-endif
-ifeq ($(FULL_TARGET),m68k-embedded)
-override CLEAN_UNITS+=*
-endif
-ifeq ($(FULL_TARGET),powerpc-linux)
-override CLEAN_UNITS+=*
-endif
-ifeq ($(FULL_TARGET),powerpc-netbsd)
-override CLEAN_UNITS+=*
-endif
-ifeq ($(FULL_TARGET),powerpc-amiga)
-override CLEAN_UNITS+=*
-endif
-ifeq ($(FULL_TARGET),powerpc-macos)
-override CLEAN_UNITS+=*
-endif
-ifeq ($(FULL_TARGET),powerpc-darwin)
-override CLEAN_UNITS+=*
-endif
-ifeq ($(FULL_TARGET),powerpc-morphos)
-override CLEAN_UNITS+=*
-endif
-ifeq ($(FULL_TARGET),powerpc-embedded)
-override CLEAN_UNITS+=*
-endif
-ifeq ($(FULL_TARGET),sparc-linux)
-override CLEAN_UNITS+=*
-endif
-ifeq ($(FULL_TARGET),sparc-netbsd)
-override CLEAN_UNITS+=*
-endif
-ifeq ($(FULL_TARGET),sparc-solaris)
-override CLEAN_UNITS+=*
-endif
-ifeq ($(FULL_TARGET),sparc-embedded)
-override CLEAN_UNITS+=*
-endif
-ifeq ($(FULL_TARGET),x86_64-linux)
-override CLEAN_UNITS+=*
-endif
-ifeq ($(FULL_TARGET),x86_64-freebsd)
-override CLEAN_UNITS+=*
-endif
-ifeq ($(FULL_TARGET),x86_64-darwin)
-override CLEAN_UNITS+=*
-endif
-ifeq ($(FULL_TARGET),x86_64-win64)
-override CLEAN_UNITS+=*
-endif
-ifeq ($(FULL_TARGET),x86_64-embedded)
-override CLEAN_UNITS+=*
-endif
-ifeq ($(FULL_TARGET),arm-linux)
-override CLEAN_UNITS+=*
-endif
-ifeq ($(FULL_TARGET),arm-palmos)
-override CLEAN_UNITS+=*
-endif
-ifeq ($(FULL_TARGET),arm-darwin)
-override CLEAN_UNITS+=*
-endif
-ifeq ($(FULL_TARGET),arm-wince)
-override CLEAN_UNITS+=*
-endif
-ifeq ($(FULL_TARGET),arm-gba)
-override CLEAN_UNITS+=*
-endif
-ifeq ($(FULL_TARGET),arm-nds)
-override CLEAN_UNITS+=*
-endif
-ifeq ($(FULL_TARGET),arm-embedded)
-override CLEAN_UNITS+=*
-endif
-ifeq ($(FULL_TARGET),arm-symbian)
-override CLEAN_UNITS+=*
-endif
-ifeq ($(FULL_TARGET),powerpc64-linux)
-override CLEAN_UNITS+=*
-endif
-ifeq ($(FULL_TARGET),powerpc64-darwin)
-override CLEAN_UNITS+=*
-endif
-ifeq ($(FULL_TARGET),powerpc64-embedded)
-override CLEAN_UNITS+=*
-endif
-ifeq ($(FULL_TARGET),avr-embedded)
-override CLEAN_UNITS+=*
-endif
-ifeq ($(FULL_TARGET),armeb-linux)
-override CLEAN_UNITS+=*
-endif
-ifeq ($(FULL_TARGET),armeb-embedded)
-override CLEAN_UNITS+=*
-endif
-ifeq ($(FULL_TARGET),i386-linux)
-override CLEAN_FILES+=*.elf
-endif
-ifeq ($(FULL_TARGET),i386-go32v2)
-override CLEAN_FILES+=*.elf
-endif
-ifeq ($(FULL_TARGET),i386-win32)
-override CLEAN_FILES+=*.elf
-endif
-ifeq ($(FULL_TARGET),i386-os2)
-override CLEAN_FILES+=*.elf
-endif
-ifeq ($(FULL_TARGET),i386-freebsd)
-override CLEAN_FILES+=*.elf
-endif
-ifeq ($(FULL_TARGET),i386-beos)
-override CLEAN_FILES+=*.elf
-endif
-ifeq ($(FULL_TARGET),i386-haiku)
-override CLEAN_FILES+=*.elf
-endif
-ifeq ($(FULL_TARGET),i386-netbsd)
-override CLEAN_FILES+=*.elf
-endif
-ifeq ($(FULL_TARGET),i386-solaris)
-override CLEAN_FILES+=*.elf
-endif
-ifeq ($(FULL_TARGET),i386-qnx)
-override CLEAN_FILES+=*.elf
-endif
-ifeq ($(FULL_TARGET),i386-netware)
-override CLEAN_FILES+=*.elf
-endif
-ifeq ($(FULL_TARGET),i386-openbsd)
-override CLEAN_FILES+=*.elf
-endif
-ifeq ($(FULL_TARGET),i386-wdosx)
-override CLEAN_FILES+=*.elf
-endif
-ifeq ($(FULL_TARGET),i386-darwin)
-override CLEAN_FILES+=*.elf
-endif
-ifeq ($(FULL_TARGET),i386-emx)
-override CLEAN_FILES+=*.elf
-endif
-ifeq ($(FULL_TARGET),i386-watcom)
-override CLEAN_FILES+=*.elf
-endif
-ifeq ($(FULL_TARGET),i386-netwlibc)
-override CLEAN_FILES+=*.elf
-endif
-ifeq ($(FULL_TARGET),i386-wince)
-override CLEAN_FILES+=*.elf
-endif
-ifeq ($(FULL_TARGET),i386-embedded)
-override CLEAN_FILES+=*.elf
-endif
-ifeq ($(FULL_TARGET),i386-symbian)
-override CLEAN_FILES+=*.elf
-endif
-ifeq ($(FULL_TARGET),m68k-linux)
-override CLEAN_FILES+=*.elf
-endif
-ifeq ($(FULL_TARGET),m68k-freebsd)
-override CLEAN_FILES+=*.elf
-endif
-ifeq ($(FULL_TARGET),m68k-netbsd)
-override CLEAN_FILES+=*.elf
-endif
-ifeq ($(FULL_TARGET),m68k-amiga)
-override CLEAN_FILES+=*.elf
-endif
-ifeq ($(FULL_TARGET),m68k-atari)
-override CLEAN_FILES+=*.elf
-endif
-ifeq ($(FULL_TARGET),m68k-openbsd)
-override CLEAN_FILES+=*.elf
-endif
-ifeq ($(FULL_TARGET),m68k-palmos)
-override CLEAN_FILES+=*.elf
-endif
-ifeq ($(FULL_TARGET),m68k-embedded)
-override CLEAN_FILES+=*.elf
-endif
-ifeq ($(FULL_TARGET),powerpc-linux)
-override CLEAN_FILES+=*.elf
-endif
-ifeq ($(FULL_TARGET),powerpc-netbsd)
-override CLEAN_FILES+=*.elf
-endif
-ifeq ($(FULL_TARGET),powerpc-amiga)
-override CLEAN_FILES+=*.elf
-endif
-ifeq ($(FULL_TARGET),powerpc-macos)
-override CLEAN_FILES+=*.elf
-endif
-ifeq ($(FULL_TARGET),powerpc-darwin)
-override CLEAN_FILES+=*.elf
-endif
-ifeq ($(FULL_TARGET),powerpc-morphos)
-override CLEAN_FILES+=*.elf
-endif
-ifeq ($(FULL_TARGET),powerpc-embedded)
-override CLEAN_FILES+=*.elf
-endif
-ifeq ($(FULL_TARGET),sparc-linux)
-override CLEAN_FILES+=*.elf
-endif
-ifeq ($(FULL_TARGET),sparc-netbsd)
-override CLEAN_FILES+=*.elf
-endif
-ifeq ($(FULL_TARGET),sparc-solaris)
-override CLEAN_FILES+=*.elf
-endif
-ifeq ($(FULL_TARGET),sparc-embedded)
-override CLEAN_FILES+=*.elf
-endif
-ifeq ($(FULL_TARGET),x86_64-linux)
-override CLEAN_FILES+=*.elf
-endif
-ifeq ($(FULL_TARGET),x86_64-freebsd)
-override CLEAN_FILES+=*.elf
-endif
-ifeq ($(FULL_TARGET),x86_64-darwin)
-override CLEAN_FILES+=*.elf
-endif
-ifeq ($(FULL_TARGET),x86_64-win64)
-override CLEAN_FILES+=*.elf
-endif
-ifeq ($(FULL_TARGET),x86_64-embedded)
-override CLEAN_FILES+=*.elf
-endif
-ifeq ($(FULL_TARGET),arm-linux)
-override CLEAN_FILES+=*.elf
-endif
-ifeq ($(FULL_TARGET),arm-palmos)
-override CLEAN_FILES+=*.elf
-endif
-ifeq ($(FULL_TARGET),arm-darwin)
-override CLEAN_FILES+=*.elf
-endif
-ifeq ($(FULL_TARGET),arm-wince)
-override CLEAN_FILES+=*.elf
-endif
-ifeq ($(FULL_TARGET),arm-gba)
-override CLEAN_FILES+=*.elf
-endif
-ifeq ($(FULL_TARGET),arm-nds)
-override CLEAN_FILES+=*.elf
-endif
-ifeq ($(FULL_TARGET),arm-embedded)
-override CLEAN_FILES+=*.elf
-endif
-ifeq ($(FULL_TARGET),arm-symbian)
-override CLEAN_FILES+=*.elf
-endif
-ifeq ($(FULL_TARGET),powerpc64-linux)
-override CLEAN_FILES+=*.elf
-endif
-ifeq ($(FULL_TARGET),powerpc64-darwin)
-override CLEAN_FILES+=*.elf
-endif
-ifeq ($(FULL_TARGET),powerpc64-embedded)
-override CLEAN_FILES+=*.elf
-endif
-ifeq ($(FULL_TARGET),avr-embedded)
-override CLEAN_FILES+=*.elf
-endif
-ifeq ($(FULL_TARGET),armeb-linux)
-override CLEAN_FILES+=*.elf
-endif
-ifeq ($(FULL_TARGET),armeb-embedded)
-override CLEAN_FILES+=*.elf
-endif
-override INSTALL_FPCPACKAGE=y
-ifdef REQUIRE_UNITSDIR
-override UNITSDIR+=$(REQUIRE_UNITSDIR)
-endif
-ifdef REQUIRE_PACKAGESDIR
-override PACKAGESDIR+=$(REQUIRE_PACKAGESDIR)
-endif
-ifdef ZIPINSTALL
-ifneq ($(findstring $(OS_TARGET),$(UNIXs)),)
-UNIXHier=1
-endif
-else
-ifneq ($(findstring $(OS_SOURCE),$(UNIXs)),)
-UNIXHier=1
-endif
-endif
-ifndef INSTALL_PREFIX
-ifdef PREFIX
-INSTALL_PREFIX=$(PREFIX)
-endif
-endif
-ifndef INSTALL_PREFIX
-ifdef UNIXHier
-INSTALL_PREFIX=/usr/local
-else
-ifdef INSTALL_FPCPACKAGE
-INSTALL_BASEDIR:=/pp
-else
-INSTALL_BASEDIR:=/$(PACKAGE_NAME)
-endif
-endif
-endif
-export INSTALL_PREFIX
-ifdef INSTALL_FPCSUBDIR
-export INSTALL_FPCSUBDIR
-endif
-ifndef DIST_DESTDIR
-DIST_DESTDIR:=$(BASEDIR)
-endif
-export DIST_DESTDIR
-ifndef COMPILER_UNITTARGETDIR
-ifdef PACKAGEDIR_MAIN
-COMPILER_UNITTARGETDIR=$(PACKAGEDIR_MAIN)/units/$(TARGETSUFFIX)
-else
-COMPILER_UNITTARGETDIR=units/$(TARGETSUFFIX)
-endif
-endif
-ifndef COMPILER_TARGETDIR
-COMPILER_TARGETDIR=.
-endif
-ifndef INSTALL_BASEDIR
-ifdef UNIXHier
-ifdef INSTALL_FPCPACKAGE
-INSTALL_BASEDIR:=$(INSTALL_PREFIX)/lib/fpc/$(FPC_VERSION)
-else
-INSTALL_BASEDIR:=$(INSTALL_PREFIX)/lib/$(PACKAGE_NAME)
-endif
-else
-INSTALL_BASEDIR:=$(INSTALL_PREFIX)
-endif
-endif
-ifndef INSTALL_BINDIR
-ifdef UNIXHier
-INSTALL_BINDIR:=$(INSTALL_PREFIX)/bin
-else
-INSTALL_BINDIR:=$(INSTALL_BASEDIR)/bin
-ifdef INSTALL_FPCPACKAGE
-ifdef CROSSCOMPILE
-ifdef CROSSINSTALL
-INSTALL_BINDIR:=$(INSTALL_BINDIR)/$(SOURCESUFFIX)
-else
-INSTALL_BINDIR:=$(INSTALL_BINDIR)/$(TARGETSUFFIX)
-endif
-else
-INSTALL_BINDIR:=$(INSTALL_BINDIR)/$(TARGETSUFFIX)
-endif
-endif
-endif
-endif
-ifndef INSTALL_UNITDIR
-INSTALL_UNITDIR:=$(INSTALL_BASEDIR)/units/$(TARGETSUFFIX)
-ifdef INSTALL_FPCPACKAGE
-ifdef PACKAGE_NAME
-INSTALL_UNITDIR:=$(INSTALL_UNITDIR)/$(PACKAGE_NAME)
-endif
-endif
-endif
-ifndef INSTALL_LIBDIR
-ifdef UNIXHier
-INSTALL_LIBDIR:=$(INSTALL_PREFIX)/lib
-else
-INSTALL_LIBDIR:=$(INSTALL_UNITDIR)
-endif
-endif
-ifndef INSTALL_SOURCEDIR
-ifdef UNIXHier
-ifdef BSDhier
-SRCPREFIXDIR=share/src
-else
-ifdef linuxHier
-SRCPREFIXDIR=share/src
-else
-SRCPREFIXDIR=src
-endif
-endif
-ifdef INSTALL_FPCPACKAGE
-ifdef INSTALL_FPCSUBDIR
-INSTALL_SOURCEDIR:=$(INSTALL_PREFIX)/$(SRCPREFIXDIR)/fpc-$(FPC_VERSION)/$(INSTALL_FPCSUBDIR)/$(PACKAGE_NAME)
-else
-INSTALL_SOURCEDIR:=$(INSTALL_PREFIX)/$(SRCPREFIXDIR)/fpc-$(FPC_VERSION)/$(PACKAGE_NAME)
-endif
-else
-INSTALL_SOURCEDIR:=$(INSTALL_PREFIX)/$(SRCPREFIXDIR)/$(PACKAGE_NAME)-$(PACKAGE_VERSION)
-endif
-else
-ifdef INSTALL_FPCPACKAGE
-ifdef INSTALL_FPCSUBDIR
-INSTALL_SOURCEDIR:=$(INSTALL_BASEDIR)/source/$(INSTALL_FPCSUBDIR)/$(PACKAGE_NAME)
-else
-INSTALL_SOURCEDIR:=$(INSTALL_BASEDIR)/source/$(PACKAGE_NAME)
-endif
-else
-INSTALL_SOURCEDIR:=$(INSTALL_BASEDIR)/source
-endif
-endif
-endif
-ifndef INSTALL_DOCDIR
-ifdef UNIXHier
-ifdef BSDhier
-DOCPREFIXDIR=share/doc
-else
-ifdef linuxHier
-DOCPREFIXDIR=share/doc
-else
-DOCPREFIXDIR=doc
-endif
-endif
-ifdef INSTALL_FPCPACKAGE
-INSTALL_DOCDIR:=$(INSTALL_PREFIX)/$(DOCPREFIXDIR)/fpc-$(FPC_VERSION)/$(PACKAGE_NAME)
-else
-INSTALL_DOCDIR:=$(INSTALL_PREFIX)/$(DOCPREFIXDIR)/$(PACKAGE_NAME)-$(PACKAGE_VERSION)
-endif
-else
-ifdef INSTALL_FPCPACKAGE
-INSTALL_DOCDIR:=$(INSTALL_BASEDIR)/doc/$(PACKAGE_NAME)
-else
-INSTALL_DOCDIR:=$(INSTALL_BASEDIR)/doc
-endif
-endif
-endif
-ifndef INSTALL_EXAMPLEDIR
-ifdef UNIXHier
-ifdef INSTALL_FPCPACKAGE
-ifdef BSDhier
-INSTALL_EXAMPLEDIR:=$(INSTALL_PREFIX)/share/examples/fpc-$(FPC_VERSION)/$(PACKAGE_NAME)
-else
-ifdef linuxHier
-INSTALL_EXAMPLEDIR:=$(INSTALL_DOCDIR)/examples
-else
-INSTALL_EXAMPLEDIR:=$(INSTALL_PREFIX)/doc/fpc-$(FPC_VERSION)/examples/$(PACKAGE_NAME)
-endif
-endif
-else
-ifdef BSDhier
-INSTALL_EXAMPLEDIR:=$(INSTALL_PREFIX)/share/examples/$(PACKAGE_NAME)-$(PACKAGE_VERSION)
-else
-ifdef linuxHier
-INSTALL_EXAMPLEDIR:=$(INSTALL_DOCDIR)/examples/$(PACKAGE_NAME)-$(PACKAGE_VERSION)
-else
-INSTALL_EXAMPLEDIR:=$(INSTALL_PREFIX)/doc/$(PACKAGE_NAME)-$(PACKAGE_VERSION)
-endif
-endif
-endif
-else
-ifdef INSTALL_FPCPACKAGE
-INSTALL_EXAMPLEDIR:=$(INSTALL_BASEDIR)/examples/$(PACKAGE_NAME)
-else
-INSTALL_EXAMPLEDIR:=$(INSTALL_BASEDIR)/examples
-endif
-endif
-endif
-ifndef INSTALL_DATADIR
-INSTALL_DATADIR=$(INSTALL_BASEDIR)
-endif
-ifndef INSTALL_SHAREDDIR
-INSTALL_SHAREDDIR=$(INSTALL_PREFIX)/lib
-endif
-ifdef CROSSCOMPILE
-ifndef CROSSBINDIR
-CROSSBINDIR:=$(wildcard $(CROSSTARGETDIR)/bin/$(SOURCESUFFIX))
-ifeq ($(CROSSBINDIR),)
-CROSSBINDIR:=$(wildcard $(INSTALL_BASEDIR)/cross/$(TARGETSUFFIX)/bin/$(FULL_SOURCE))
-endif
-endif
-else
-CROSSBINDIR=
-endif
-BATCHEXT=.bat
-LOADEREXT=.as
-EXEEXT=.exe
-PPLEXT=.ppl
-PPUEXT=.ppu
-OEXT=.o
-ASMEXT=.s
-SMARTEXT=.sl
-STATICLIBEXT=.a
-SHAREDLIBEXT=.so
-SHAREDLIBPREFIX=libfp
-STATICLIBPREFIX=libp
-IMPORTLIBPREFIX=libimp
-RSTEXT=.rst
-ifeq ($(findstring 1.0.,$(FPC_VERSION)),)
-ifeq ($(OS_TARGET),go32v1)
-STATICLIBPREFIX=
-SHORTSUFFIX=v1
-endif
-ifeq ($(OS_TARGET),go32v2)
-STATICLIBPREFIX=
-SHORTSUFFIX=dos
-IMPORTLIBPREFIX=
-endif
-ifeq ($(OS_TARGET),watcom)
-STATICLIBPREFIX=
-OEXT=.obj
-ASMEXT=.asm
-SHAREDLIBEXT=.dll
-SHORTSUFFIX=wat
-IMPORTLIBPREFIX=
-endif
-ifeq ($(OS_TARGET),linux)
-BATCHEXT=.sh
-EXEEXT=
-HASSHAREDLIB=1
-SHORTSUFFIX=lnx
-endif
-ifeq ($(OS_TARGET),freebsd)
-BATCHEXT=.sh
-EXEEXT=
-HASSHAREDLIB=1
-SHORTSUFFIX=fbs
-endif
-ifeq ($(OS_TARGET),netbsd)
-BATCHEXT=.sh
-EXEEXT=
-HASSHAREDLIB=1
-SHORTSUFFIX=nbs
-endif
-ifeq ($(OS_TARGET),openbsd)
-BATCHEXT=.sh
-EXEEXT=
-HASSHAREDLIB=1
-SHORTSUFFIX=obs
-endif
-ifeq ($(OS_TARGET),win32)
-SHAREDLIBEXT=.dll
-SHORTSUFFIX=w32
-endif
-ifeq ($(OS_TARGET),os2)
-BATCHEXT=.cmd
-AOUTEXT=.out
-STATICLIBPREFIX=
-SHAREDLIBEXT=.dll
-SHORTSUFFIX=os2
-ECHO=echo
-IMPORTLIBPREFIX=
-endif
-ifeq ($(OS_TARGET),emx)
-BATCHEXT=.cmd
-AOUTEXT=.out
-STATICLIBPREFIX=
-SHAREDLIBEXT=.dll
-SHORTSUFFIX=emx
-ECHO=echo
-IMPORTLIBPREFIX=
-endif
-ifeq ($(OS_TARGET),amiga)
-EXEEXT=
-SHAREDLIBEXT=.library
-SHORTSUFFIX=amg
-endif
-ifeq ($(OS_TARGET),morphos)
-EXEEXT=
-SHAREDLIBEXT=.library
-SHORTSUFFIX=mos
-endif
-ifeq ($(OS_TARGET),atari)
-EXEEXT=.ttp
-SHORTSUFFIX=ata
-endif
-ifeq ($(OS_TARGET),beos)
-BATCHEXT=.sh
-EXEEXT=
-SHORTSUFFIX=be
-endif
-ifeq ($(OS_TARGET),haiku)
-BATCHEXT=.sh
-EXEEXT=
-SHORTSUFFIX=hai
-endif
-ifeq ($(OS_TARGET),solaris)
-BATCHEXT=.sh
-EXEEXT=
-SHORTSUFFIX=sun
-endif
-ifeq ($(OS_TARGET),qnx)
-BATCHEXT=.sh
-EXEEXT=
-SHORTSUFFIX=qnx
-endif
-ifeq ($(OS_TARGET),netware)
-EXEEXT=.nlm
-STATICLIBPREFIX=
-SHORTSUFFIX=nw
-IMPORTLIBPREFIX=imp
-endif
-ifeq ($(OS_TARGET),netwlibc)
-EXEEXT=.nlm
-STATICLIBPREFIX=
-SHORTSUFFIX=nwl
-IMPORTLIBPREFIX=imp
-endif
-ifeq ($(OS_TARGET),macos)
-BATCHEXT=
-EXEEXT=
-DEBUGSYMEXT=.xcoff
-SHORTSUFFIX=mac
-IMPORTLIBPREFIX=imp
-endif
-ifeq ($(OS_TARGET),darwin)
-BATCHEXT=.sh
-EXEEXT=
-HASSHAREDLIB=1
-SHORTSUFFIX=dwn
-endif
-ifeq ($(OS_TARGET),gba)
-EXEEXT=.gba
-SHAREDLIBEXT=.so
-SHORTSUFFIX=gba
-endif
-ifeq ($(OS_TARGET),symbian)
-SHAREDLIBEXT=.dll
-SHORTSUFFIX=symbian
-endif
-else
-ifeq ($(OS_TARGET),go32v1)
-PPUEXT=.pp1
-OEXT=.o1
-ASMEXT=.s1
-SMARTEXT=.sl1
-STATICLIBEXT=.a1
-SHAREDLIBEXT=.so1
-STATICLIBPREFIX=
-SHORTSUFFIX=v1
-IMPORTLIBPREFIX=
-endif
-ifeq ($(OS_TARGET),go32v2)
-STATICLIBPREFIX=
-SHORTSUFFIX=dos
-IMPORTLIBPREFIX=
-endif
-ifeq ($(OS_TARGET),watcom)
-STATICLIBPREFIX=
-SHORTSUFFIX=wat
-IMPORTLIBPREFIX=
-endif
-ifeq ($(OS_TARGET),linux)
-BATCHEXT=.sh
-EXEEXT=
-HASSHAREDLIB=1
-SHORTSUFFIX=lnx
-endif
-ifeq ($(OS_TARGET),freebsd)
-BATCHEXT=.sh
-EXEEXT=
-HASSHAREDLIB=1
-SHORTSUFFIX=fbs
-endif
-ifeq ($(OS_TARGET),netbsd)
-BATCHEXT=.sh
-EXEEXT=
-HASSHAREDLIB=1
-SHORTSUFFIX=nbs
-endif
-ifeq ($(OS_TARGET),openbsd)
-BATCHEXT=.sh
-EXEEXT=
-HASSHAREDLIB=1
-SHORTSUFFIX=obs
-endif
-ifeq ($(OS_TARGET),win32)
-PPUEXT=.ppw
-OEXT=.ow
-ASMEXT=.sw
-SMARTEXT=.slw
-STATICLIBEXT=.aw
-SHAREDLIBEXT=.dll
-SHORTSUFFIX=w32
-endif
-ifeq ($(OS_TARGET),os2)
-BATCHEXT=.cmd
-PPUEXT=.ppo
-ASMEXT=.so2
-OEXT=.oo2
-AOUTEXT=.out
-SMARTEXT=.sl2
-STATICLIBPREFIX=
-STATICLIBEXT=.ao2
-SHAREDLIBEXT=.dll
-SHORTSUFFIX=os2
-ECHO=echo
-IMPORTLIBPREFIX=
-endif
-ifeq ($(OS_TARGET),amiga)
-EXEEXT=
-PPUEXT=.ppu
-ASMEXT=.s
-OEXT=.o
-SMARTEXT=.sl
-STATICLIBEXT=.a
-SHAREDLIBEXT=.library
-SHORTSUFFIX=amg
-endif
-ifeq ($(OS_TARGET),atari)
-PPUEXT=.ppu
-ASMEXT=.s
-OEXT=.o
-SMARTEXT=.sl
-STATICLIBEXT=.a
-EXEEXT=.ttp
-SHORTSUFFIX=ata
-endif
-ifeq ($(OS_TARGET),beos)
-BATCHEXT=.sh
-PPUEXT=.ppu
-ASMEXT=.s
-OEXT=.o
-SMARTEXT=.sl
-STATICLIBEXT=.a
-EXEEXT=
-SHORTSUFFIX=be
-endif
-ifeq ($(OS_TARGET),solaris)
-BATCHEXT=.sh
-PPUEXT=.ppu
-ASMEXT=.s
-OEXT=.o
-SMARTEXT=.sl
-STATICLIBEXT=.a
-EXEEXT=
-SHORTSUFFIX=sun
-endif
-ifeq ($(OS_TARGET),qnx)
-BATCHEXT=.sh
-PPUEXT=.ppu
-ASMEXT=.s
-OEXT=.o
-SMARTEXT=.sl
-STATICLIBEXT=.a
-EXEEXT=
-SHORTSUFFIX=qnx
-endif
-ifeq ($(OS_TARGET),netware)
-STATICLIBPREFIX=
-PPUEXT=.ppu
-OEXT=.o
-ASMEXT=.s
-SMARTEXT=.sl
-STATICLIBEXT=.a
-SHAREDLIBEXT=.nlm
-EXEEXT=.nlm
-SHORTSUFFIX=nw
-IMPORTLIBPREFIX=imp
-endif
-ifeq ($(OS_TARGET),netwlibc)
-STATICLIBPREFIX=
-PPUEXT=.ppu
-OEXT=.o
-ASMEXT=.s
-SMARTEXT=.sl
-STATICLIBEXT=.a
-SHAREDLIBEXT=.nlm
-EXEEXT=.nlm
-SHORTSUFFIX=nwl
-IMPORTLIBPREFIX=imp
-endif
-ifeq ($(OS_TARGET),macos)
-BATCHEXT=
-PPUEXT=.ppu
-ASMEXT=.s
-OEXT=.o
-SMARTEXT=.sl
-STATICLIBEXT=.a
-EXEEXT=
-DEBUGSYMEXT=.xcoff
-SHORTSUFFIX=mac
-IMPORTLIBPREFIX=imp
-endif
-endif
-ifneq ($(findstring $(OS_SOURCE),$(LIMIT83fs)),)
-FPCMADE=fpcmade.$(SHORTSUFFIX)
-ZIPSUFFIX=$(SHORTSUFFIX)
-ZIPCROSSPREFIX=
-ZIPSOURCESUFFIX=src
-ZIPEXAMPLESUFFIX=exm
-else
-FPCMADE=fpcmade.$(TARGETSUFFIX)
-ZIPSOURCESUFFIX=.source
-ZIPEXAMPLESUFFIX=.examples
-ifdef CROSSCOMPILE
-ZIPSUFFIX=.$(SOURCESUFFIX)
-ZIPCROSSPREFIX=$(TARGETSUFFIX)-
-else
-ZIPSUFFIX=.$(TARGETSUFFIX)
-ZIPCROSSPREFIX=
-endif
-endif
-ifndef ECHO
-ECHO:=$(strip $(wildcard $(addsuffix /gecho$(SRCEXEEXT),$(SEARCHPATH))))
-ifeq ($(ECHO),)
-ECHO:=$(strip $(wildcard $(addsuffix /echo$(SRCEXEEXT),$(SEARCHPATH))))
-ifeq ($(ECHO),)
-ECHO= __missing_command_ECHO
-else
-ECHO:=$(firstword $(ECHO))
-endif
-else
-ECHO:=$(firstword $(ECHO))
-endif
-endif
-export ECHO
-ifndef DATE
-DATE:=$(strip $(wildcard $(addsuffix /gdate$(SRCEXEEXT),$(SEARCHPATH))))
-ifeq ($(DATE),)
-DATE:=$(strip $(wildcard $(addsuffix /date$(SRCEXEEXT),$(SEARCHPATH))))
-ifeq ($(DATE),)
-DATE= __missing_command_DATE
-else
-DATE:=$(firstword $(DATE))
-endif
-else
-DATE:=$(firstword $(DATE))
-endif
-endif
-export DATE
-ifndef GINSTALL
-GINSTALL:=$(strip $(wildcard $(addsuffix /ginstall$(SRCEXEEXT),$(SEARCHPATH))))
-ifeq ($(GINSTALL),)
-GINSTALL:=$(strip $(wildcard $(addsuffix /install$(SRCEXEEXT),$(SEARCHPATH))))
-ifeq ($(GINSTALL),)
-GINSTALL= __missing_command_GINSTALL
-else
-GINSTALL:=$(firstword $(GINSTALL))
-endif
-else
-GINSTALL:=$(firstword $(GINSTALL))
-endif
-endif
-export GINSTALL
-ifndef CPPROG
-CPPROG:=$(strip $(wildcard $(addsuffix /cp$(SRCEXEEXT),$(SEARCHPATH))))
-ifeq ($(CPPROG),)
-CPPROG= __missing_command_CPPROG
-else
-CPPROG:=$(firstword $(CPPROG))
-endif
-endif
-export CPPROG
-ifndef RMPROG
-RMPROG:=$(strip $(wildcard $(addsuffix /rm$(SRCEXEEXT),$(SEARCHPATH))))
-ifeq ($(RMPROG),)
-RMPROG= __missing_command_RMPROG
-else
-RMPROG:=$(firstword $(RMPROG))
-endif
-endif
-export RMPROG
-ifndef MVPROG
-MVPROG:=$(strip $(wildcard $(addsuffix /mv$(SRCEXEEXT),$(SEARCHPATH))))
-ifeq ($(MVPROG),)
-MVPROG= __missing_command_MVPROG
-else
-MVPROG:=$(firstword $(MVPROG))
-endif
-endif
-export MVPROG
-ifndef MKDIRPROG
-MKDIRPROG:=$(strip $(wildcard $(addsuffix /gmkdir$(SRCEXEEXT),$(SEARCHPATH))))
-ifeq ($(MKDIRPROG),)
-MKDIRPROG:=$(strip $(wildcard $(addsuffix /mkdir$(SRCEXEEXT),$(SEARCHPATH))))
-ifeq ($(MKDIRPROG),)
-MKDIRPROG= __missing_command_MKDIRPROG
-else
-MKDIRPROG:=$(firstword $(MKDIRPROG))
-endif
-else
-MKDIRPROG:=$(firstword $(MKDIRPROG))
-endif
-endif
-export MKDIRPROG
-ifndef ECHOREDIR
-ifndef inUnix
-ECHOREDIR=echo
-else
-ECHOREDIR=$(ECHO)
-endif
-endif
-ifndef COPY
-COPY:=$(CPPROG) -fp
-endif
-ifndef COPYTREE
-COPYTREE:=$(CPPROG) -Rfp
-endif
-ifndef MKDIRTREE
-MKDIRTREE:=$(MKDIRPROG) -p
-endif
-ifndef MOVE
-MOVE:=$(MVPROG) -f
-endif
-ifndef DEL
-DEL:=$(RMPROG) -f
-endif
-ifndef DELTREE
-DELTREE:=$(RMPROG) -rf
-endif
-ifndef INSTALL
-ifdef inUnix
-INSTALL:=$(GINSTALL) -c -m 644
-else
-INSTALL:=$(COPY)
-endif
-endif
-ifndef INSTALLEXE
-ifdef inUnix
-INSTALLEXE:=$(GINSTALL) -c -m 755
-else
-INSTALLEXE:=$(COPY)
-endif
-endif
-ifndef MKDIR
-MKDIR:=$(GINSTALL) -m 755 -d
-endif
-export ECHOREDIR COPY COPYTREE MOVE DEL DELTREE INSTALL INSTALLEXE MKDIR
-ifndef PPUMOVE
-PPUMOVE:=$(strip $(wildcard $(addsuffix /ppumove$(SRCEXEEXT),$(SEARCHPATH))))
-ifeq ($(PPUMOVE),)
-PPUMOVE= __missing_command_PPUMOVE
-else
-PPUMOVE:=$(firstword $(PPUMOVE))
-endif
-endif
-export PPUMOVE
-ifndef FPCMAKE
-FPCMAKE:=$(strip $(wildcard $(addsuffix /fpcmake$(SRCEXEEXT),$(SEARCHPATH))))
-ifeq ($(FPCMAKE),)
-FPCMAKE= __missing_command_FPCMAKE
-else
-FPCMAKE:=$(firstword $(FPCMAKE))
-endif
-endif
-export FPCMAKE
-ifndef ZIPPROG
-ZIPPROG:=$(strip $(wildcard $(addsuffix /zip$(SRCEXEEXT),$(SEARCHPATH))))
-ifeq ($(ZIPPROG),)
-ZIPPROG= __missing_command_ZIPPROG
-else
-ZIPPROG:=$(firstword $(ZIPPROG))
-endif
-endif
-export ZIPPROG
-ifndef TARPROG
-TARPROG:=$(strip $(wildcard $(addsuffix /gtar$(SRCEXEEXT),$(SEARCHPATH))))
-ifeq ($(TARPROG),)
-TARPROG:=$(strip $(wildcard $(addsuffix /tar$(SRCEXEEXT),$(SEARCHPATH))))
-ifeq ($(TARPROG),)
-TARPROG= __missing_command_TARPROG
-else
-TARPROG:=$(firstword $(TARPROG))
-endif
-else
-TARPROG:=$(firstword $(TARPROG))
-endif
-endif
-export TARPROG
-ASNAME=$(BINUTILSPREFIX)as
-LDNAME=$(BINUTILSPREFIX)ld
-ARNAME=$(BINUTILSPREFIX)ar
-RCNAME=$(BINUTILSPREFIX)rc
-ifneq ($(findstring 1.0.,$(FPC_VERSION)),)
-ifeq ($(OS_TARGET),win32)
-ifeq ($(CROSSBINDIR),)
-ASNAME=asw
-LDNAME=ldw
-ARNAME=arw
-endif
-endif
-endif
-ifndef ASPROG
-ifdef CROSSBINDIR
-ASPROG=$(CROSSBINDIR)/$(ASNAME)$(SRCEXEEXT)
-else
-ASPROG=$(ASNAME)
-endif
-endif
-ifndef LDPROG
-ifdef CROSSBINDIR
-LDPROG=$(CROSSBINDIR)/$(LDNAME)$(SRCEXEEXT)
-else
-LDPROG=$(LDNAME)
-endif
-endif
-ifndef RCPROG
-ifdef CROSSBINDIR
-RCPROG=$(CROSSBINDIR)/$(RCNAME)$(SRCEXEEXT)
-else
-RCPROG=$(RCNAME)
-endif
-endif
-ifndef ARPROG
-ifdef CROSSBINDIR
-ARPROG=$(CROSSBINDIR)/$(ARNAME)$(SRCEXEEXT)
-else
-ARPROG=$(ARNAME)
-endif
-endif
-AS=$(ASPROG)
-LD=$(LDPROG)
-RC=$(RCPROG)
-AR=$(ARPROG)
-PPAS=ppas$(SRCBATCHEXT)
-ifdef inUnix
-LDCONFIG=ldconfig
-else
-LDCONFIG=
-endif
-ifdef DATE
-DATESTR:=$(shell $(DATE) +%Y%m%d)
-else
-DATESTR=
-endif
-ifndef UPXPROG
-ifeq ($(OS_TARGET),go32v2)
-UPXPROG:=1
-endif
-ifeq ($(OS_TARGET),win32)
-UPXPROG:=1
-endif
-ifdef UPXPROG
-UPXPROG:=$(strip $(wildcard $(addsuffix /upx$(SRCEXEEXT),$(SEARCHPATH))))
-ifeq ($(UPXPROG),)
-UPXPROG=
-else
-UPXPROG:=$(firstword $(UPXPROG))
-endif
-else
-UPXPROG=
-endif
-endif
-export UPXPROG
-ZIPOPT=-9
-ZIPEXT=.zip
-ifeq ($(USETAR),bz2)
-TAROPT=vj
-TAREXT=.tar.bz2
-else
-TAROPT=vz
-TAREXT=.tar.gz
-endif
-override REQUIRE_PACKAGES=rtl libgbafpc
-ifeq ($(FULL_TARGET),i386-linux)
-REQUIRE_PACKAGES_RTL=1
-REQUIRE_PACKAGES_LIBGBAFPC=1
-endif
-ifeq ($(FULL_TARGET),i386-go32v2)
-REQUIRE_PACKAGES_RTL=1
-REQUIRE_PACKAGES_LIBGBAFPC=1
-endif
-ifeq ($(FULL_TARGET),i386-win32)
-REQUIRE_PACKAGES_RTL=1
-REQUIRE_PACKAGES_LIBGBAFPC=1
-endif
-ifeq ($(FULL_TARGET),i386-os2)
-REQUIRE_PACKAGES_RTL=1
-REQUIRE_PACKAGES_LIBGBAFPC=1
-endif
-ifeq ($(FULL_TARGET),i386-freebsd)
-REQUIRE_PACKAGES_RTL=1
-REQUIRE_PACKAGES_LIBGBAFPC=1
-endif
-ifeq ($(FULL_TARGET),i386-beos)
-REQUIRE_PACKAGES_RTL=1
-REQUIRE_PACKAGES_LIBGBAFPC=1
-endif
-ifeq ($(FULL_TARGET),i386-haiku)
-REQUIRE_PACKAGES_RTL=1
-REQUIRE_PACKAGES_LIBGBAFPC=1
-endif
-ifeq ($(FULL_TARGET),i386-netbsd)
-REQUIRE_PACKAGES_RTL=1
-REQUIRE_PACKAGES_LIBGBAFPC=1
-endif
-ifeq ($(FULL_TARGET),i386-solaris)
-REQUIRE_PACKAGES_RTL=1
-REQUIRE_PACKAGES_LIBGBAFPC=1
-endif
-ifeq ($(FULL_TARGET),i386-qnx)
-REQUIRE_PACKAGES_RTL=1
-REQUIRE_PACKAGES_LIBGBAFPC=1
-endif
-ifeq ($(FULL_TARGET),i386-netware)
-REQUIRE_PACKAGES_RTL=1
-REQUIRE_PACKAGES_LIBGBAFPC=1
-endif
-ifeq ($(FULL_TARGET),i386-openbsd)
-REQUIRE_PACKAGES_RTL=1
-REQUIRE_PACKAGES_LIBGBAFPC=1
-endif
-ifeq ($(FULL_TARGET),i386-wdosx)
-REQUIRE_PACKAGES_RTL=1
-REQUIRE_PACKAGES_LIBGBAFPC=1
-endif
-ifeq ($(FULL_TARGET),i386-darwin)
-REQUIRE_PACKAGES_RTL=1
-REQUIRE_PACKAGES_LIBGBAFPC=1
-endif
-ifeq ($(FULL_TARGET),i386-emx)
-REQUIRE_PACKAGES_RTL=1
-REQUIRE_PACKAGES_LIBGBAFPC=1
-endif
-ifeq ($(FULL_TARGET),i386-watcom)
-REQUIRE_PACKAGES_RTL=1
-REQUIRE_PACKAGES_LIBGBAFPC=1
-endif
-ifeq ($(FULL_TARGET),i386-netwlibc)
-REQUIRE_PACKAGES_RTL=1
-REQUIRE_PACKAGES_LIBGBAFPC=1
-endif
-ifeq ($(FULL_TARGET),i386-wince)
-REQUIRE_PACKAGES_RTL=1
-REQUIRE_PACKAGES_LIBGBAFPC=1
-endif
-ifeq ($(FULL_TARGET),i386-embedded)
-REQUIRE_PACKAGES_RTL=1
-REQUIRE_PACKAGES_LIBGBAFPC=1
-endif
-ifeq ($(FULL_TARGET),i386-symbian)
-REQUIRE_PACKAGES_RTL=1
-REQUIRE_PACKAGES_LIBGBAFPC=1
-endif
-ifeq ($(FULL_TARGET),m68k-linux)
-REQUIRE_PACKAGES_RTL=1
-REQUIRE_PACKAGES_LIBGBAFPC=1
-endif
-ifeq ($(FULL_TARGET),m68k-freebsd)
-REQUIRE_PACKAGES_RTL=1
-REQUIRE_PACKAGES_LIBGBAFPC=1
-endif
-ifeq ($(FULL_TARGET),m68k-netbsd)
-REQUIRE_PACKAGES_RTL=1
-REQUIRE_PACKAGES_LIBGBAFPC=1
-endif
-ifeq ($(FULL_TARGET),m68k-amiga)
-REQUIRE_PACKAGES_RTL=1
-REQUIRE_PACKAGES_LIBGBAFPC=1
-endif
-ifeq ($(FULL_TARGET),m68k-atari)
-REQUIRE_PACKAGES_RTL=1
-REQUIRE_PACKAGES_LIBGBAFPC=1
-endif
-ifeq ($(FULL_TARGET),m68k-openbsd)
-REQUIRE_PACKAGES_RTL=1
-REQUIRE_PACKAGES_LIBGBAFPC=1
-endif
-ifeq ($(FULL_TARGET),m68k-palmos)
-REQUIRE_PACKAGES_RTL=1
-REQUIRE_PACKAGES_LIBGBAFPC=1
-endif
-ifeq ($(FULL_TARGET),m68k-embedded)
-REQUIRE_PACKAGES_RTL=1
-REQUIRE_PACKAGES_LIBGBAFPC=1
-endif
-ifeq ($(FULL_TARGET),powerpc-linux)
-REQUIRE_PACKAGES_RTL=1
-REQUIRE_PACKAGES_LIBGBAFPC=1
-endif
-ifeq ($(FULL_TARGET),powerpc-netbsd)
-REQUIRE_PACKAGES_RTL=1
-REQUIRE_PACKAGES_LIBGBAFPC=1
-endif
-ifeq ($(FULL_TARGET),powerpc-amiga)
-REQUIRE_PACKAGES_RTL=1
-REQUIRE_PACKAGES_LIBGBAFPC=1
-endif
-ifeq ($(FULL_TARGET),powerpc-macos)
-REQUIRE_PACKAGES_RTL=1
-REQUIRE_PACKAGES_LIBGBAFPC=1
-endif
-ifeq ($(FULL_TARGET),powerpc-darwin)
-REQUIRE_PACKAGES_RTL=1
-REQUIRE_PACKAGES_LIBGBAFPC=1
-endif
-ifeq ($(FULL_TARGET),powerpc-morphos)
-REQUIRE_PACKAGES_RTL=1
-REQUIRE_PACKAGES_LIBGBAFPC=1
-endif
-ifeq ($(FULL_TARGET),powerpc-embedded)
-REQUIRE_PACKAGES_RTL=1
-REQUIRE_PACKAGES_LIBGBAFPC=1
-endif
-ifeq ($(FULL_TARGET),sparc-linux)
-REQUIRE_PACKAGES_RTL=1
-REQUIRE_PACKAGES_LIBGBAFPC=1
-endif
-ifeq ($(FULL_TARGET),sparc-netbsd)
-REQUIRE_PACKAGES_RTL=1
-REQUIRE_PACKAGES_LIBGBAFPC=1
-endif
-ifeq ($(FULL_TARGET),sparc-solaris)
-REQUIRE_PACKAGES_RTL=1
-REQUIRE_PACKAGES_LIBGBAFPC=1
-endif
-ifeq ($(FULL_TARGET),sparc-embedded)
-REQUIRE_PACKAGES_RTL=1
-REQUIRE_PACKAGES_LIBGBAFPC=1
-endif
-ifeq ($(FULL_TARGET),x86_64-linux)
-REQUIRE_PACKAGES_RTL=1
-REQUIRE_PACKAGES_LIBGBAFPC=1
-endif
-ifeq ($(FULL_TARGET),x86_64-freebsd)
-REQUIRE_PACKAGES_RTL=1
-REQUIRE_PACKAGES_LIBGBAFPC=1
-endif
-ifeq ($(FULL_TARGET),x86_64-darwin)
-REQUIRE_PACKAGES_RTL=1
-REQUIRE_PACKAGES_LIBGBAFPC=1
-endif
-ifeq ($(FULL_TARGET),x86_64-win64)
-REQUIRE_PACKAGES_RTL=1
-REQUIRE_PACKAGES_LIBGBAFPC=1
-endif
-ifeq ($(FULL_TARGET),x86_64-embedded)
-REQUIRE_PACKAGES_RTL=1
-REQUIRE_PACKAGES_LIBGBAFPC=1
-endif
-ifeq ($(FULL_TARGET),arm-linux)
-REQUIRE_PACKAGES_RTL=1
-REQUIRE_PACKAGES_LIBGBAFPC=1
-endif
-ifeq ($(FULL_TARGET),arm-palmos)
-REQUIRE_PACKAGES_RTL=1
-REQUIRE_PACKAGES_LIBGBAFPC=1
-endif
-ifeq ($(FULL_TARGET),arm-darwin)
-REQUIRE_PACKAGES_RTL=1
-REQUIRE_PACKAGES_LIBGBAFPC=1
-endif
-ifeq ($(FULL_TARGET),arm-wince)
-REQUIRE_PACKAGES_RTL=1
-REQUIRE_PACKAGES_LIBGBAFPC=1
-endif
-ifeq ($(FULL_TARGET),arm-gba)
-REQUIRE_PACKAGES_RTL=1
-REQUIRE_PACKAGES_LIBGBAFPC=1
-endif
-ifeq ($(FULL_TARGET),arm-nds)
-REQUIRE_PACKAGES_RTL=1
-REQUIRE_PACKAGES_LIBGBAFPC=1
-endif
-ifeq ($(FULL_TARGET),arm-embedded)
-REQUIRE_PACKAGES_RTL=1
-REQUIRE_PACKAGES_LIBGBAFPC=1
-endif
-ifeq ($(FULL_TARGET),arm-symbian)
-REQUIRE_PACKAGES_RTL=1
-REQUIRE_PACKAGES_LIBGBAFPC=1
-endif
-ifeq ($(FULL_TARGET),powerpc64-linux)
-REQUIRE_PACKAGES_RTL=1
-REQUIRE_PACKAGES_LIBGBAFPC=1
-endif
-ifeq ($(FULL_TARGET),powerpc64-darwin)
-REQUIRE_PACKAGES_RTL=1
-REQUIRE_PACKAGES_LIBGBAFPC=1
-endif
-ifeq ($(FULL_TARGET),powerpc64-embedded)
-REQUIRE_PACKAGES_RTL=1
-REQUIRE_PACKAGES_LIBGBAFPC=1
-endif
-ifeq ($(FULL_TARGET),avr-embedded)
-REQUIRE_PACKAGES_RTL=1
-REQUIRE_PACKAGES_LIBGBAFPC=1
-endif
-ifeq ($(FULL_TARGET),armeb-linux)
-REQUIRE_PACKAGES_RTL=1
-REQUIRE_PACKAGES_LIBGBAFPC=1
-endif
-ifeq ($(FULL_TARGET),armeb-embedded)
-REQUIRE_PACKAGES_RTL=1
-REQUIRE_PACKAGES_LIBGBAFPC=1
-endif
-ifdef REQUIRE_PACKAGES_RTL
-PACKAGEDIR_RTL:=$(firstword $(subst /Makefile.fpc,,$(strip $(wildcard $(addsuffix /rtl/Makefile.fpc,$(PACKAGESDIR))))))
-ifneq ($(PACKAGEDIR_RTL),)
-ifneq ($(wildcard $(PACKAGEDIR_RTL)/units/$(TARGETSUFFIX)),)
-UNITDIR_RTL=$(PACKAGEDIR_RTL)/units/$(TARGETSUFFIX)
-else
-UNITDIR_RTL=$(PACKAGEDIR_RTL)
-endif
-ifdef CHECKDEPEND
-$(PACKAGEDIR_RTL)/$(FPCMADE):
-	$(MAKE) -C $(PACKAGEDIR_RTL) $(FPCMADE)
-override ALLDEPENDENCIES+=$(PACKAGEDIR_RTL)/$(FPCMADE)
-endif
-else
-PACKAGEDIR_RTL=
-UNITDIR_RTL:=$(subst /Package.fpc,,$(strip $(wildcard $(addsuffix /rtl/Package.fpc,$(UNITSDIR)))))
-ifneq ($(UNITDIR_RTL),)
-UNITDIR_RTL:=$(firstword $(UNITDIR_RTL))
-else
-UNITDIR_RTL=
-endif
-endif
-ifdef UNITDIR_RTL
-override COMPILER_UNITDIR+=$(UNITDIR_RTL)
-endif
-endif
-ifdef REQUIRE_PACKAGES_LIBGBAFPC
-PACKAGEDIR_LIBGBAFPC:=$(firstword $(subst /Makefile.fpc,,$(strip $(wildcard $(addsuffix /libgbafpc/Makefile.fpc,$(PACKAGESDIR))))))
-ifneq ($(PACKAGEDIR_LIBGBAFPC),)
-ifneq ($(wildcard $(PACKAGEDIR_LIBGBAFPC)/units/$(TARGETSUFFIX)),)
-UNITDIR_LIBGBAFPC=$(PACKAGEDIR_LIBGBAFPC)/units/$(TARGETSUFFIX)
-else
-UNITDIR_LIBGBAFPC=$(PACKAGEDIR_LIBGBAFPC)
-endif
-ifdef CHECKDEPEND
-$(PACKAGEDIR_LIBGBAFPC)/$(FPCMADE):
-	$(MAKE) -C $(PACKAGEDIR_LIBGBAFPC) $(FPCMADE)
-override ALLDEPENDENCIES+=$(PACKAGEDIR_LIBGBAFPC)/$(FPCMADE)
-endif
-else
-PACKAGEDIR_LIBGBAFPC=
-UNITDIR_LIBGBAFPC:=$(subst /Package.fpc,,$(strip $(wildcard $(addsuffix /libgbafpc/Package.fpc,$(UNITSDIR)))))
-ifneq ($(UNITDIR_LIBGBAFPC),)
-UNITDIR_LIBGBAFPC:=$(firstword $(UNITDIR_LIBGBAFPC))
-else
-UNITDIR_LIBGBAFPC=
-endif
-endif
-ifdef UNITDIR_LIBGBAFPC
-override COMPILER_UNITDIR+=$(UNITDIR_LIBGBAFPC)
-endif
-endif
-ifndef NOCPUDEF
-override FPCOPTDEF=$(ARCH)
-endif
-ifneq ($(OS_TARGET),$(OS_SOURCE))
-override FPCOPT+=-T$(OS_TARGET)
-endif
-ifneq ($(CPU_TARGET),$(CPU_SOURCE))
-override FPCOPT+=-P$(ARCH)
-endif
-ifeq ($(OS_SOURCE),openbsd)
-override FPCOPT+=-FD$(NEW_BINUTILS_PATH)
-endif
-ifndef CROSSBOOTSTRAP
-ifneq ($(BINUTILSPREFIX),)
-override FPCOPT+=-XP$(BINUTILSPREFIX)
-endif
-ifneq ($(BINUTILSPREFIX),)
-override FPCOPT+=-Xr$(RLINKPATH)
-endif
-endif
-ifdef UNITDIR
-override FPCOPT+=$(addprefix -Fu,$(UNITDIR))
-endif
-ifdef LIBDIR
-override FPCOPT+=$(addprefix -Fl,$(LIBDIR))
-endif
-ifdef OBJDIR
-override FPCOPT+=$(addprefix -Fo,$(OBJDIR))
-endif
-ifdef INCDIR
-override FPCOPT+=$(addprefix -Fi,$(INCDIR))
-endif
-ifdef LINKSMART
-override FPCOPT+=-XX
-endif
-ifdef CREATESMART
-override FPCOPT+=-CX
-endif
-ifdef DEBUG
-override FPCOPT+=-gl
-override FPCOPTDEF+=DEBUG
-endif
-ifdef RELEASE
-ifneq ($(findstring 2.0.,$(FPC_VERSION)),)
-ifeq ($(CPU_TARGET),i386)
-FPCCPUOPT:=-OG2p3
-endif
-ifeq ($(CPU_TARGET),powerpc)
-FPCCPUOPT:=-O1r
-endif
-else
-FPCCPUOPT:=-O2
-endif
-override FPCOPT+=-Ur -Xs $(FPCCPUOPT) -n
-override FPCOPTDEF+=RELEASE
-endif
-ifdef STRIP
-override FPCOPT+=-Xs
-endif
-ifdef OPTIMIZE
-override FPCOPT+=-O2
-endif
-ifdef VERBOSE
-override FPCOPT+=-vwni
-endif
-ifdef COMPILER_OPTIONS
-override FPCOPT+=$(COMPILER_OPTIONS)
-endif
-ifdef COMPILER_UNITDIR
-override FPCOPT+=$(addprefix -Fu,$(COMPILER_UNITDIR))
-endif
-ifdef COMPILER_LIBRARYDIR
-override FPCOPT+=$(addprefix -Fl,$(COMPILER_LIBRARYDIR))
-endif
-ifdef COMPILER_OBJECTDIR
-override FPCOPT+=$(addprefix -Fo,$(COMPILER_OBJECTDIR))
-endif
-ifdef COMPILER_INCLUDEDIR
-override FPCOPT+=$(addprefix -Fi,$(COMPILER_INCLUDEDIR))
-endif
-ifdef CROSSBINDIR
-override FPCOPT+=-FD$(CROSSBINDIR)
-endif
-ifdef COMPILER_TARGETDIR
-override FPCOPT+=-FE$(COMPILER_TARGETDIR)
-ifeq ($(COMPILER_TARGETDIR),.)
-override TARGETDIRPREFIX=
-else
-override TARGETDIRPREFIX=$(COMPILER_TARGETDIR)/
-endif
-endif
-ifdef COMPILER_UNITTARGETDIR
-override FPCOPT+=-FU$(COMPILER_UNITTARGETDIR)
-ifeq ($(COMPILER_UNITTARGETDIR),.)
-override UNITTARGETDIRPREFIX=
-else
-override UNITTARGETDIRPREFIX=$(COMPILER_UNITTARGETDIR)/
-endif
-else
-ifdef COMPILER_TARGETDIR
-override COMPILER_UNITTARGETDIR=$(COMPILER_TARGETDIR)
-override UNITTARGETDIRPREFIX=$(TARGETDIRPREFIX)
-endif
-endif
-ifdef CREATESHARED
-override FPCOPT+=-Cg
-ifeq ($(CPU_TARGET),i386)
-override FPCOPT+=-Aas
-endif
-endif
-ifeq ($(findstring 2.0.,$(FPC_VERSION)),)
-ifeq ($(OS_TARGET),linux)
-ifeq ($(CPU_TARGET),x86_64)
-override FPCOPT+=-Cg
-endif
-endif
-endif
-ifdef LINKSHARED
-endif
-ifdef OPT
-override FPCOPT+=$(OPT)
-endif
-ifdef FPCOPTDEF
-override FPCOPT+=$(addprefix -d,$(FPCOPTDEF))
-endif
-ifdef CFGFILE
-override FPCOPT+=@$(CFGFILE)
-endif
-ifdef USEENV
-override FPCEXTCMD:=$(FPCOPT)
-override FPCOPT:=!FPCEXTCMD
-export FPCEXTCMD
-endif
-override AFULL_TARGET=$(CPU_TARGET)-$(OS_TARGET)
-override AFULL_SOURCE=$(CPU_SOURCE)-$(OS_SOURCE)
-ifneq ($(AFULL_TARGET),$(AFULL_SOURCE))
-override ACROSSCOMPILE=1
-endif
-ifdef ACROSSCOMPILE
-override FPCOPT+=$(CROSSOPT)
-endif
-override COMPILER:=$(FPC) $(FPCOPT)
-ifeq (,$(findstring -s ,$(COMPILER)))
-EXECPPAS=
-else
-ifeq ($(FULL_SOURCE),$(FULL_TARGET))
-ifdef RUNBATCH
-EXECPPAS:=@$(RUNBATCH) $(PPAS)
-else
-EXECPPAS:=@$(PPAS)
-endif
-endif
-endif
-.PHONY: fpc_exes
-ifndef CROSSINSTALL
-ifneq ($(TARGET_PROGRAMS),)
-override EXEFILES=$(addsuffix $(EXEEXT),$(TARGET_PROGRAMS))
-override EXEOFILES:=$(addsuffix $(OEXT),$(TARGET_PROGRAMS)) $(addprefix $(STATICLIBPREFIX),$(addsuffix $(STATICLIBEXT),$(TARGET_PROGRAMS))) $(addprefix $(IMPORTLIBPREFIX),$(addsuffix $(STATICLIBEXT),$(TARGET_PROGRAMS)))
-override ALLTARGET+=fpc_exes
-override INSTALLEXEFILES+=$(EXEFILES)
-override CLEANEXEFILES+=$(EXEFILES) $(EXEOFILES)
-ifeq ($(OS_TARGET),os2)
-override CLEANEXEFILES+=$(addsuffix $(AOUTEXT),$(TARGET_PROGRAMS))
-endif
-ifeq ($(OS_TARGET),emx)
-override CLEANEXEFILES+=$(addsuffix $(AOUTEXT),$(TARGET_PROGRAMS))
-endif
-endif
-endif
-fpc_exes: $(COMPILER_TARGETDIR) $(COMPILER_UNITTARGETDIR) $(EXEFILES)
-ifdef TARGET_RSTS
-override RSTFILES=$(addsuffix $(RSTEXT),$(TARGET_RSTS))
-override CLEANRSTFILES+=$(RSTFILES)
-endif
-.PHONY: fpc_all fpc_smart fpc_debug fpc_release fpc_shared
-$(FPCMADE): $(ALLDEPENDENCIES) $(ALLTARGET)
-	@$(ECHOREDIR) Compiled > $(FPCMADE)
-fpc_all: $(FPCMADE)
-fpc_smart:
-	$(MAKE) all LINKSMART=1 CREATESMART=1
-fpc_debug:
-	$(MAKE) all DEBUG=1
-fpc_release:
-	$(MAKE) all RELEASE=1
-.SUFFIXES: $(EXEEXT) $(PPUEXT) $(OEXT) .pas .lpr .dpr .pp .rc .res
-$(COMPILER_UNITTARGETDIR):
-	$(MKDIRTREE) $(COMPILER_UNITTARGETDIR)
-$(COMPILER_TARGETDIR):
-	$(MKDIRTREE) $(COMPILER_TARGETDIR)
-%$(PPUEXT): %.pp
-	$(COMPILER) $<
-	$(EXECPPAS)
-%$(PPUEXT): %.pas
-	$(COMPILER) $<
-	$(EXECPPAS)
-%$(EXEEXT): %.pp
-	$(COMPILER) $<
-	$(EXECPPAS)
-%$(EXEEXT): %.pas
-	$(COMPILER) $<
-	$(EXECPPAS)
-%$(EXEEXT): %.lpr
-	$(COMPILER) $<
-	$(EXECPPAS)
-%$(EXEEXT): %.dpr
-	$(COMPILER) $<
-	$(EXECPPAS)
-%.res: %.rc
-	windres -i $< -o $@
-vpath %.pp $(COMPILER_SOURCEDIR) $(COMPILER_INCLUDEDIR)
-vpath %.pas $(COMPILER_SOURCEDIR) $(COMPILER_INCLUDEDIR)
-vpath %.lpr $(COMPILER_SOURCEDIR) $(COMPILER_INCLUDEDIR)
-vpath %.dpr $(COMPILER_SOURCEDIR) $(COMPILER_INCLUDEDIR)
-vpath %.inc $(COMPILER_INCLUDEDIR)
-vpath %$(OEXT) $(COMPILER_UNITTARGETDIR)
-vpath %$(PPUEXT) $(COMPILER_UNITTARGETDIR)
-.PHONY: fpc_shared
-override INSTALLTARGET+=fpc_shared_install
-ifndef SHARED_LIBVERSION
-SHARED_LIBVERSION=$(FPC_VERSION)
-endif
-ifndef SHARED_LIBNAME
-SHARED_LIBNAME=$(PACKAGE_NAME)
-endif
-ifndef SHARED_FULLNAME
-SHARED_FULLNAME=$(SHAREDLIBPREFIX)$(SHARED_LIBNAME)-$(SHARED_LIBVERSION)$(SHAREDLIBEXT)
-endif
-ifndef SHARED_LIBUNITS
-SHARED_LIBUNITS:=$(TARGET_UNITS) $(TARGET_IMPLICITUNITS)
-override SHARED_LIBUNITS:=$(filter-out $(INSTALL_BUILDUNIT),$(SHARED_LIBUNITS))
-endif
-fpc_shared:
-ifdef HASSHAREDLIB
-	$(MAKE) all CREATESHARED=1 LINKSHARED=1 CREATESMART=1
-ifneq ($(SHARED_BUILD),n)
-	$(PPUMOVE) -q $(SHARED_LIBUNITS) -i$(COMPILER_UNITTARGETDIR) -o$(SHARED_FULLNAME) -d$(COMPILER_UNITTARGETDIR)
-endif
-else
-	@$(ECHO) Shared Libraries not supported
-endif
-fpc_shared_install:
-ifneq ($(SHARED_BUILD),n)
-ifneq ($(SHARED_LIBUNITS),)
-ifneq ($(wildcard $(COMPILER_UNITTARGETDIR)/$(SHARED_FULLNAME)),)
-	$(INSTALL) $(COMPILER_UNITTARGETDIR)/$(SHARED_FULLNAME) $(INSTALL_SHAREDDIR)
-endif
-endif
-endif
-.PHONY: fpc_install fpc_sourceinstall fpc_exampleinstall
-ifdef INSTALL_UNITS
-override INSTALLPPUFILES+=$(addsuffix $(PPUEXT),$(INSTALL_UNITS))
-endif
-ifdef INSTALL_BUILDUNIT
-override INSTALLPPUFILES:=$(filter-out $(INSTALL_BUILDUNIT)$(PPUEXT),$(INSTALLPPUFILES))
-endif
-ifdef INSTALLPPUFILES
-override INSTALLPPULINKFILES:=$(subst $(PPUEXT),$(OEXT),$(INSTALLPPUFILES)) $(addprefix $(STATICLIBPREFIX),$(subst $(PPUEXT),$(STATICLIBEXT),$(INSTALLPPUFILES))) $(addprefix $(IMPORTLIBPREFIX),$(subst $(PPUEXT),$(STATICLIBEXT),$(INSTALLPPUFILES)))
-ifneq ($(UNITTARGETDIRPREFIX),)
-override INSTALLPPUFILES:=$(addprefix $(UNITTARGETDIRPREFIX),$(notdir $(INSTALLPPUFILES)))
-override INSTALLPPULINKFILES:=$(wildcard $(addprefix $(UNITTARGETDIRPREFIX),$(notdir $(INSTALLPPULINKFILES))))
-endif
-override INSTALL_CREATEPACKAGEFPC=1
-endif
-ifdef INSTALLEXEFILES
-ifneq ($(TARGETDIRPREFIX),)
-override INSTALLEXEFILES:=$(addprefix $(TARGETDIRPREFIX),$(notdir $(INSTALLEXEFILES)))
-endif
-endif
-fpc_install: all $(INSTALLTARGET)
-ifdef INSTALLEXEFILES
-	$(MKDIR) $(INSTALL_BINDIR)
-ifdef UPXPROG
-	-$(UPXPROG) $(INSTALLEXEFILES)
-endif
-	$(INSTALLEXE) $(INSTALLEXEFILES) $(INSTALL_BINDIR)
-endif
-ifdef INSTALL_CREATEPACKAGEFPC
-ifdef FPCMAKE
-ifdef PACKAGE_VERSION
-ifneq ($(wildcard Makefile.fpc),)
-	$(FPCMAKE) -p -T$(CPU_TARGET)-$(OS_TARGET) Makefile.fpc
-	$(MKDIR) $(INSTALL_UNITDIR)
-	$(INSTALL) Package.fpc $(INSTALL_UNITDIR)
-endif
-endif
-endif
-endif
-ifdef INSTALLPPUFILES
-	$(MKDIR) $(INSTALL_UNITDIR)
-	$(INSTALL) $(INSTALLPPUFILES) $(INSTALL_UNITDIR)
-ifneq ($(INSTALLPPULINKFILES),)
-	$(INSTALL) $(INSTALLPPULINKFILES) $(INSTALL_UNITDIR)
-endif
-ifneq ($(wildcard $(LIB_FULLNAME)),)
-	$(MKDIR) $(INSTALL_LIBDIR)
-	$(INSTALL) $(LIB_FULLNAME) $(INSTALL_LIBDIR)
-ifdef inUnix
-	ln -sf $(LIB_FULLNAME) $(INSTALL_LIBDIR)/$(LIB_NAME)
-endif
-endif
-endif
-ifdef INSTALL_FILES
-	$(MKDIR) $(INSTALL_DATADIR)
-	$(INSTALL) $(INSTALL_FILES) $(INSTALL_DATADIR)
-endif
-fpc_sourceinstall: distclean
-	$(MKDIR) $(INSTALL_SOURCEDIR)
-	$(COPYTREE) $(BASEDIR)/* $(INSTALL_SOURCEDIR)
-fpc_exampleinstall: $(addsuffix _distclean,$(TARGET_EXAMPLEDIRS))
-ifdef HASEXAMPLES
-	$(MKDIR) $(INSTALL_EXAMPLEDIR)
-endif
-ifdef EXAMPLESOURCEFILES
-	$(COPY) $(EXAMPLESOURCEFILES) $(INSTALL_EXAMPLEDIR)
-endif
-ifdef TARGET_EXAMPLEDIRS
-	$(COPYTREE) $(addsuffix /*,$(TARGET_EXAMPLEDIRS)) $(INSTALL_EXAMPLEDIR)
-endif
-.PHONY: fpc_clean fpc_cleanall fpc_distclean
-ifdef EXEFILES
-override CLEANEXEFILES:=$(addprefix $(TARGETDIRPREFIX),$(CLEANEXEFILES))
-endif
-ifdef CLEAN_UNITS
-override CLEANPPUFILES+=$(addsuffix $(PPUEXT),$(CLEAN_UNITS))
-endif
-ifdef CLEANPPUFILES
-override CLEANPPULINKFILES:=$(subst $(PPUEXT),$(OEXT),$(CLEANPPUFILES)) $(addprefix $(STATICLIBPREFIX),$(subst $(PPUEXT),$(STATICLIBEXT),$(CLEANPPUFILES))) $(addprefix $(IMPORTLIBPREFIX),$(subst $(PPUEXT),$(STATICLIBEXT),$(CLEANPPUFILES)))
-ifdef DEBUGSYMEXT
-override CLEANPPULINKFILES+=$(subst $(PPUEXT),$(DEBUGSYMEXT),$(CLEANPPUFILES))
-endif
-override CLEANPPUFILES:=$(addprefix $(UNITTARGETDIRPREFIX),$(CLEANPPUFILES))
-override CLEANPPULINKFILES:=$(wildcard $(addprefix $(UNITTARGETDIRPREFIX),$(CLEANPPULINKFILES)))
-endif
-fpc_clean: $(CLEANTARGET)
-ifdef CLEANEXEFILES
-	-$(DEL) $(CLEANEXEFILES)
-endif
-ifdef CLEANPPUFILES
-	-$(DEL) $(CLEANPPUFILES)
-endif
-ifneq ($(CLEANPPULINKFILES),)
-	-$(DEL) $(CLEANPPULINKFILES)
-endif
-ifdef CLEANRSTFILES
-	-$(DEL) $(addprefix $(UNITTARGETDIRPREFIX),$(CLEANRSTFILES))
-endif
-ifdef CLEAN_FILES
-	-$(DEL) $(CLEAN_FILES)
-endif
-ifdef LIB_NAME
-	-$(DEL) $(LIB_NAME) $(LIB_FULLNAME)
-endif
-	-$(DEL) $(FPCMADE) Package.fpc $(PPAS) script.res link.res $(FPCEXTFILE) $(REDIRFILE)
-	-$(DEL) *$(ASMEXT) *_ppas$(BATCHEXT)
-fpc_cleanall: $(CLEANTARGET)
-ifdef CLEANEXEFILES
-	-$(DEL) $(CLEANEXEFILES)
-endif
-ifdef COMPILER_UNITTARGETDIR
-ifdef CLEANPPUFILES
-	-$(DEL) $(CLEANPPUFILES)
-endif
-ifneq ($(CLEANPPULINKFILES),)
-	-$(DEL) $(CLEANPPULINKFILES)
-endif
-ifdef CLEANRSTFILES
-	-$(DEL) $(addprefix $(UNITTARGETDIRPREFIX),$(CLEANRSTFILES))
-endif
-endif
-	-$(DELTREE) units
-	-$(DEL) *$(OEXT) *$(PPUEXT) *$(RSTEXT) *$(ASMEXT) *$(STATICLIBEXT) *$(SHAREDLIBEXT) *$(PPLEXT)
-ifneq ($(PPUEXT),.ppu)
-	-$(DEL) *.o *.ppu *.a
-endif
-	-$(DELTREE) *$(SMARTEXT)
-	-$(DEL) fpcmade.* Package.fpc $(PPAS) script.res link.res $(FPCEXTFILE) $(REDIRFILE)
-	-$(DEL) *_ppas$(BATCHEXT)
-ifdef AOUTEXT
-	-$(DEL) *$(AOUTEXT)
-endif
-ifdef DEBUGSYMEXT
-	-$(DEL) *$(DEBUGSYMEXT)
-endif
-fpc_distclean: cleanall
-.PHONY: fpc_baseinfo
-override INFORULES+=fpc_baseinfo
-fpc_baseinfo:
-	@$(ECHO)
-	@$(ECHO)  == Package info ==
-	@$(ECHO)  Package Name..... $(PACKAGE_NAME)
-	@$(ECHO)  Package Version.. $(PACKAGE_VERSION)
-	@$(ECHO)
-	@$(ECHO)  == Configuration info ==
-	@$(ECHO)
-	@$(ECHO)  FPC.......... $(FPC)
-	@$(ECHO)  FPC Version.. $(FPC_VERSION)
-	@$(ECHO)  Source CPU... $(CPU_SOURCE)
-	@$(ECHO)  Target CPU... $(CPU_TARGET)
-	@$(ECHO)  Source OS.... $(OS_SOURCE)
-	@$(ECHO)  Target OS.... $(OS_TARGET)
-	@$(ECHO)  Full Source.. $(FULL_SOURCE)
-	@$(ECHO)  Full Target.. $(FULL_TARGET)
-	@$(ECHO)  SourceSuffix. $(SOURCESUFFIX)
-	@$(ECHO)  TargetSuffix. $(TARGETSUFFIX)
-	@$(ECHO)
-	@$(ECHO)  == Directory info ==
-	@$(ECHO)
-	@$(ECHO)  Required pkgs... $(REQUIRE_PACKAGES)
-	@$(ECHO)
-	@$(ECHO)  Basedir......... $(BASEDIR)
-	@$(ECHO)  FPCDir.......... $(FPCDIR)
-	@$(ECHO)  CrossBinDir..... $(CROSSBINDIR)
-	@$(ECHO)  UnitsDir........ $(UNITSDIR)
-	@$(ECHO)  PackagesDir..... $(PACKAGESDIR)
-	@$(ECHO)
-	@$(ECHO)  GCC library..... $(GCCLIBDIR)
-	@$(ECHO)  Other library... $(OTHERLIBDIR)
-	@$(ECHO)
-	@$(ECHO)  == Tools info ==
-	@$(ECHO)
-	@$(ECHO)  As........ $(AS)
-	@$(ECHO)  Ld........ $(LD)
-	@$(ECHO)  Ar........ $(AR)
-	@$(ECHO)  Rc........ $(RC)
-	@$(ECHO)
-	@$(ECHO)  Mv........ $(MVPROG)
-	@$(ECHO)  Cp........ $(CPPROG)
-	@$(ECHO)  Rm........ $(RMPROG)
-	@$(ECHO)  GInstall.. $(GINSTALL)
-	@$(ECHO)  Echo...... $(ECHO)
-	@$(ECHO)  Shell..... $(SHELL)
-	@$(ECHO)  Date...... $(DATE)
-	@$(ECHO)  FPCMake... $(FPCMAKE)
-	@$(ECHO)  PPUMove... $(PPUMOVE)
-	@$(ECHO)  Upx....... $(UPXPROG)
-	@$(ECHO)  Zip....... $(ZIPPROG)
-	@$(ECHO)
-	@$(ECHO)  == Object info ==
-	@$(ECHO)
-	@$(ECHO)  Target Loaders........ $(TARGET_LOADERS)
-	@$(ECHO)  Target Units.......... $(TARGET_UNITS)
-	@$(ECHO)  Target Implicit Units. $(TARGET_IMPLICITUNITS)
-	@$(ECHO)  Target Programs....... $(TARGET_PROGRAMS)
-	@$(ECHO)  Target Dirs........... $(TARGET_DIRS)
-	@$(ECHO)  Target Examples....... $(TARGET_EXAMPLES)
-	@$(ECHO)  Target ExampleDirs.... $(TARGET_EXAMPLEDIRS)
-	@$(ECHO)
-	@$(ECHO)  Clean Units......... $(CLEAN_UNITS)
-	@$(ECHO)  Clean Files......... $(CLEAN_FILES)
-	@$(ECHO)
-	@$(ECHO)  Install Units....... $(INSTALL_UNITS)
-	@$(ECHO)  Install Files....... $(INSTALL_FILES)
-	@$(ECHO)
-	@$(ECHO)  == Install info ==
-	@$(ECHO)
-	@$(ECHO)  DateStr.............. $(DATESTR)
-	@$(ECHO)  ZipName.............. $(ZIPNAME)
-	@$(ECHO)  ZipPrefix............ $(ZIPPREFIX)
-	@$(ECHO)  ZipCrossPrefix....... $(ZIPCROSSPREFIX)
-	@$(ECHO)  ZipSuffix............ $(ZIPSUFFIX)
-	@$(ECHO)  FullZipName.......... $(FULLZIPNAME)
-	@$(ECHO)  Install FPC Package.. $(INSTALL_FPCPACKAGE)
-	@$(ECHO)
-	@$(ECHO)  Install base dir..... $(INSTALL_BASEDIR)
-	@$(ECHO)  Install binary dir... $(INSTALL_BINDIR)
-	@$(ECHO)  Install library dir.. $(INSTALL_LIBDIR)
-	@$(ECHO)  Install units dir.... $(INSTALL_UNITDIR)
-	@$(ECHO)  Install source dir... $(INSTALL_SOURCEDIR)
-	@$(ECHO)  Install doc dir...... $(INSTALL_DOCDIR)
-	@$(ECHO)  Install example dir.. $(INSTALL_EXAMPLEDIR)
-	@$(ECHO)  Install data dir..... $(INSTALL_DATADIR)
-	@$(ECHO)
-	@$(ECHO)  Dist destination dir. $(DIST_DESTDIR)
-	@$(ECHO)  Dist zip name........ $(DIST_ZIPNAME)
-	@$(ECHO)
-.PHONY: fpc_info
-fpc_info: $(INFORULES)
-.PHONY: fpc_makefile fpc_makefiles fpc_makefile_sub1 fpc_makefile_sub2 \
-	fpc_makefile_dirs
-fpc_makefile:
-	$(FPCMAKE) -w -T$(OS_TARGET) Makefile.fpc
-fpc_makefile_sub1:
-ifdef TARGET_DIRS
-	$(FPCMAKE) -w -T$(OS_TARGET) $(addsuffix /Makefile.fpc,$(TARGET_DIRS))
-endif
-ifdef TARGET_EXAMPLEDIRS
-	$(FPCMAKE) -w -T$(OS_TARGET) $(addsuffix /Makefile.fpc,$(TARGET_EXAMPLEDIRS))
-endif
-fpc_makefile_sub2: $(addsuffix _makefile_dirs,$(TARGET_DIRS) $(TARGET_EXAMPLEDIRS))
-fpc_makefile_dirs: fpc_makefile_sub1 fpc_makefile_sub2
-fpc_makefiles: fpc_makefile fpc_makefile_dirs
-all: fpc_all
-debug: fpc_debug
-smart: fpc_smart
-release: fpc_release
-units: fpc_units
-examples:
-shared: fpc_shared
-install: fpc_install
-sourceinstall: fpc_sourceinstall
-exampleinstall: fpc_exampleinstall
-distinstall:
-zipinstall:
-zipsourceinstall:
-zipexampleinstall:
-zipdistinstall:
-clean: fpc_clean
-distclean: fpc_distclean
-cleanall: fpc_cleanall
-info: fpc_info
-makefiles: fpc_makefiles
-.PHONY: all debug smart release units examples shared install sourceinstall exampleinstall distinstall zipinstall zipsourceinstall zipexampleinstall zipdistinstall clean distclean cleanall info makefiles
-ifneq ($(wildcard fpcmake.loc),)
-include fpcmake.loc
-endif
-.NOTPARALLEL:
diff --git a/packages/libgbafpc/examples/devkitPro/template/Makefile.fpc b/packages/libgbafpc/examples/devkitPro/template/Makefile.fpc
deleted file mode 100644
index 5c1c052b1b..0000000000
--- a/packages/libgbafpc/examples/devkitPro/template/Makefile.fpc
+++ /dev/null
@@ -1,26 +0,0 @@
-#
-#   Makefile.fpc for Free Pascal libgbafpc 2.x.y Examples
-#
-
-[target]
-programs=template
-
-[require]
-packages=libgbafpc
-
-[install]
-fpcpackage=y
-
-[default]
-cpu=arm
-target=gba
-fpcdir=../../../../..
-
-[clean]
-files=*.elf
-units=*
-
-[prerules]
-
-[rules]
-.NOTPARALLEL:
diff --git a/packages/libgbafpc/examples/devkitPro/template/template.pp b/packages/libgbafpc/examples/devkitPro/template/template.pp
deleted file mode 100644
index 5a300dd4d0..0000000000
--- a/packages/libgbafpc/examples/devkitPro/template/template.pp
+++ /dev/null
@@ -1,45 +0,0 @@
-program template;
-
-uses
-  ctypes, gba;
-  
-
-
-var
-  frame: integer = 0;
-  zbuffer: array [0..239, 0..159] of u8; cvar; external;  //EWRAM_BSS;
-
-
-procedure Vblank();
-begin
-	frame := frame + 1;
-end;
-
-begin
-
-	// the vblank interrupt must be enabled for VBlankIntrWait() to work
-	// since the default dispatcher handles the bios flags no vblank handler
-	// is required
-	irqInit();
-	irqSet(IRQ_VBLANK, @Vblank);
-	irqEnable(IRQ_VBLANK);
-
-	consoleInit(0, 4, 0, nil, 0, 15);
-
-	BG_COLORS[0] := RGB8(58,110,165);
-	BG_COLORS[241] := RGB5(31,31,31);
-
-	SetMode(MODE_0 or BG0_ON);
-
-	// ansi escape sequence to set print co-ordinates
-	// /x1b[line;columnH
-	iprintf(#27'[10;10H' + 'Hello World!'#10);
-	iprintf('%x', getmem(200));
-	while true do
-	begin
-		VBlankIntrWait();
-		scanKeys();
-  end;
-end.
-
-
diff --git a/packages/libndsfpc/examples/RealTimeClock/Watch/watch.pp b/packages/libndsfpc/examples/RealTimeClock/Watch/watch.pp
index 70fea7d2d6..b29ffaad48 100644
--- a/packages/libndsfpc/examples/RealTimeClock/Watch/watch.pp
+++ b/packages/libndsfpc/examples/RealTimeClock/Watch/watch.pp
@@ -1,5 +1,7 @@
 program watch;
 
+{$mode objfpc}
+
 uses
   ctypes, nds9;
   
diff --git a/packages/libndsfpc/examples/audio/maxmod/audio_modes/Makefile.fpc b/packages/libndsfpc/examples/audio/maxmod/audio_modes/Makefile.fpc
index 4f0a0c535c..2c4810ef2e 100644
--- a/packages/libndsfpc/examples/audio/maxmod/audio_modes/Makefile.fpc
+++ b/packages/libndsfpc/examples/audio/maxmod/audio_modes/Makefile.fpc
@@ -20,8 +20,9 @@ target=nds
 fpcdir=../../../../../..
 
 [clean]
-files=*.elf *.o *.s *.nds *.nef *.h *.bin \
-       $(BUILD)/*
+files=*.elf *.o *.s *.nds *.nef *.h *.bin *.map \
+       $(BUILD)/* \
+       $(INC)/*
 units=*
 
 [prerules]
@@ -31,7 +32,16 @@ GFX_FILES = $(foreach dir,gfx,$(notdir $(wildcard $(dir)/*.png)))
 
 [rules]
 .NOTPARALLEL:
+clean: dir_delete fpc_clean fpc_cleanall
 all: direc fpc_all 
+
+#
+# Delete temp directories
+#
+dir_delete:
+        @$(DELTREE) $(CURDIR)/$(BUILD)
+        @$(DELTREE) $(CURDIR)/$(INC)
+
 direc:
 ifneq ($(BUILD), $(CURDIR))
         $(MKDIR) $(BUILD)
diff --git a/packages/libndsfpc/examples/audio/maxmod/audio_modes/audio_modes.pp b/packages/libndsfpc/examples/audio/maxmod/audio_modes/audio_modes.pp
index 3e04d4aad0..a4de9cfdde 100644
--- a/packages/libndsfpc/examples/audio/maxmod/audio_modes/audio_modes.pp
+++ b/packages/libndsfpc/examples/audio/maxmod/audio_modes/audio_modes.pp
@@ -1,6 +1,7 @@
 program AudioModes;
 {$L build/soundbank.bin.o}
 
+{$mode objfpc}
 uses
   ctypes, nds9, maxmod9;
   
@@ -42,31 +43,22 @@ const
   MSL_NSAMPS	= 65;
   MSL_BANKSIZE	= 68;
 
-
-
-//---------------------------------------------
-  SHOW_TEXT = #10 +
-
-'   Maxmod Audio Modes Example'#10#10 +
-
-' Song: '#10 +
-' Mode: '#10#10 +
-
-' Left/Right: Select Song'#10 +
-' Up/Down: Change Audio Mode'#10 +
-' A: Start Playback'#10 +
-' B: Stop Playback'#10#10 +
-
-' Tip: Play subtonal with the'#10 +
-' extended mode or else it won''t'#10 +
-' sound right.'#10#10 +
-
-' Another Tip: The interpolated'#10 +
-' mode doesn''t work in current'#10 +
-' emulators.';
-//---------------------------------------------
-
-
+  SHOW_TEXT: pchar =  #10 +
+                      '   Maxmod Audio Modes Example'#10#10 +
+                      ' Song: '#10 +
+                      ' Mode: '#10#10 +
+                      ' Left/Right: Select Song'#10 +
+                      ' Up/Down: Change Audio Mode'#10 +
+                      ' A: Start Playback'#10 +
+                      ' B: Stop Playback'#10#10 +
+                      
+                      ' Tip: Play subtonal with the'#10 +
+                      ' extended mode or else it won''t'#10 +
+                      ' sound right.'#10#10 +
+                      
+                      ' Another Tip: The interpolated'#10 +
+                      ' mode doesn''t work in current'#10 +
+                      ' emulators.';
 
 
 var
diff --git a/packages/libndsfpc/examples/audio/maxmod/basic_sound/basic_sound.pp b/packages/libndsfpc/examples/audio/maxmod/basic_sound/basic_sound.pp
index e148864fd2..162a2772ea 100644
--- a/packages/libndsfpc/examples/audio/maxmod/basic_sound/basic_sound.pp
+++ b/packages/libndsfpc/examples/audio/maxmod/basic_sound/basic_sound.pp
@@ -59,13 +59,13 @@ begin
 
 	// ansi escape sequence to clear screen and home cursor
 	// /x1b[line;columnH
-	iprintf(#27 + '[2J');
+	iprintf(#$1b'[2J');
 
 	// ansi escape sequence to set print co-ordinates
 	// /x1b[line;columnH
-	iprintf(#27 + '[0;8HMaxMod Audio demo');
-	iprintf(#27 + '[3;0HHold A for ambulance sound');
-	iprintf(#27 + '[4;0HPress B for boom sound');
+	iprintf(#$1b'[0;8HMaxMod Audio demo');
+	iprintf(#$1b'[3;0HHold A for ambulance sound');
+	iprintf(#$1b'[4;0HPress B for boom sound');
 	
 	// sound effect handle (for cancelling it later)
 	amb := 0;
diff --git a/packages/libndsfpc/examples/audio/maxmod/song_events_example/song_events_example.pp b/packages/libndsfpc/examples/audio/maxmod/song_events_example/song_events_example.pp
index b5cc199eda..46ad293f63 100644
--- a/packages/libndsfpc/examples/audio/maxmod/song_events_example/song_events_example.pp
+++ b/packages/libndsfpc/examples/audio/maxmod/song_events_example/song_events_example.pp
@@ -33,7 +33,7 @@ var
 //---------------------------------------------------------------------------------
 // callback function to handle song events
 //---------------------------------------------------------------------------------
-function myEventHandler(msg, param: mm_word): pmm_word;
+function myEventHandler(msg, param: mm_word): mm_callback;//pmm_word;
 begin
   case msg of
 
diff --git a/packages/libndsfpc/examples/audio/maxmod/song_events_example2/song_events_example2.pp b/packages/libndsfpc/examples/audio/maxmod/song_events_example2/song_events_example2.pp
index 293cdc04d4..279ab05574 100644
--- a/packages/libndsfpc/examples/audio/maxmod/song_events_example2/song_events_example2.pp
+++ b/packages/libndsfpc/examples/audio/maxmod/song_events_example2/song_events_example2.pp
@@ -37,7 +37,7 @@ var
   sprites: array[0..4] of MySprite;
 
 
-function myEventHandler(msg, param: mm_word): mm_word;
+function myEventHandler(msg, param: mm_word): mm_callback;
 begin
   case msg of
     MMCB_SONGMESSAGE:	// process song messages
@@ -50,7 +50,7 @@ begin
     end;
     MMCB_SONGFINISHED:;	// process song finish message (only triggered in songs played with MM_PLAY_ONCE)
   end;
-  result := 0;
+  result := nil;
 end;
 
 
diff --git a/packages/libndsfpc/examples/audio/micrecord/micrecord.pp b/packages/libndsfpc/examples/audio/micrecord/micrecord.pp
index a022ecab26..441d78b6f5 100644
--- a/packages/libndsfpc/examples/audio/micrecord/micrecord.pp
+++ b/packages/libndsfpc/examples/audio/micrecord/micrecord.pp
@@ -1,5 +1,7 @@
 program micrecord;
 
+{$mode objfpc}
+
 uses
   ctypes, nds9, maxmod9;
 
diff --git a/packages/libndsfpc/examples/card/eeprom/eeprom.pp b/packages/libndsfpc/examples/card/eeprom/eeprom.pp
index 736d5eb4ec..82afe327fe 100644
--- a/packages/libndsfpc/examples/card/eeprom/eeprom.pp
+++ b/packages/libndsfpc/examples/card/eeprom/eeprom.pp
@@ -1,5 +1,7 @@
 program eeprom;
 
+{$mode objfpc}
+
 uses
   ctypes, nds9, sysutils;
 
diff --git a/packages/libndsfpc/examples/debugging/exceptionTest/exceptionTest.pp b/packages/libndsfpc/examples/debugging/exceptionTest/exceptionTest.pp
index 086a1c6307..8ddd5e6cbd 100644
--- a/packages/libndsfpc/examples/debugging/exceptionTest/exceptionTest.pp
+++ b/packages/libndsfpc/examples/debugging/exceptionTest/exceptionTest.pp
@@ -1,6 +1,5 @@
-program main;
+program exceptionTest;
 
-{$apptype arm9}
 {$mode objfpc}
 
 uses
diff --git a/packages/libndsfpc/examples/ds_motion/dsMotion.pp b/packages/libndsfpc/examples/ds_motion/dsMotion.pp
index 18f8baae05..4ea2239f8e 100644
--- a/packages/libndsfpc/examples/ds_motion/dsMotion.pp
+++ b/packages/libndsfpc/examples/ds_motion/dsMotion.pp
@@ -1,5 +1,6 @@
 program dsMotion;
 
+{$mode objfpc}
 
 uses
   ctypes, nds9;
diff --git a/packages/libndsfpc/examples/dswifi/ap_search/apSearch.pp b/packages/libndsfpc/examples/dswifi/ap_search/apSearch.pp
index 1d63d8b340..de76752e1d 100644
--- a/packages/libndsfpc/examples/dswifi/ap_search/apSearch.pp
+++ b/packages/libndsfpc/examples/dswifi/ap_search/apSearch.pp
@@ -1,11 +1,7 @@
 program apSearch;
 
-{$apptype arm9}
-{$define ARM9}
-
 {$mode objfpc}
 
-
 uses
   ctypes, nds9, dswifi9;
 
@@ -57,7 +53,7 @@ begin
 end;
 
 //---------------------------------------------------------------------------------
-function keyPressed(c: cint): pointer;
+procedure keyPressed(c: cint);
 begin
   if (c > 0) then
     iprintf('%c', c);
diff --git a/packages/libndsfpc/examples/dswifi/autoconnect/autoconnect.pp b/packages/libndsfpc/examples/dswifi/autoconnect/autoconnect.pp
index 8cfef65e91..320f17d1f1 100644
--- a/packages/libndsfpc/examples/dswifi/autoconnect/autoconnect.pp
+++ b/packages/libndsfpc/examples/dswifi/autoconnect/autoconnect.pp
@@ -1,15 +1,10 @@
 program autoconnect;
 
-{$apptype arm9}
-{$define ARM9}
-
 {$mode objfpc}
 
-
 uses
   ctypes, nds9, dswifi9;
 
-
 var
 	ip, gateway, mask, dns1, dns2: in_addr;
 
diff --git a/packages/libndsfpc/examples/filesystem/embedded_gbfs/embedded_gbfs.pp b/packages/libndsfpc/examples/filesystem/embedded_gbfs/embedded_gbfs.pp
index 5c1d3461d9..45b5ae26c4 100644
--- a/packages/libndsfpc/examples/filesystem/embedded_gbfs/embedded_gbfs.pp
+++ b/packages/libndsfpc/examples/filesystem/embedded_gbfs/embedded_gbfs.pp
@@ -1,4 +1,5 @@
 program embedded_gbfs;
+{$mode objfpc}
 {$L build/data.gbfs.o}
 uses
   ctypes, nds9, gbfs;
diff --git a/packages/libndsfpc/examples/filesystem/libfat/access_dir/access_dir.pp b/packages/libndsfpc/examples/filesystem/libfat/access_dir/access_dir.pp
index af65fd1cc4..f8f924c7d9 100644
--- a/packages/libndsfpc/examples/filesystem/libfat/access_dir/access_dir.pp
+++ b/packages/libndsfpc/examples/filesystem/libfat/access_dir/access_dir.pp
@@ -1,6 +1,5 @@
 program access_dir;
 
-{$apptype arm9}
 {$mode objfpc}
 
 uses
diff --git a/packages/libndsfpc/examples/graphics/3D/3D_Both_Screens/3DBothScreens.pp b/packages/libndsfpc/examples/graphics/3D/3D_Both_Screens/3DBothScreens.pp
index 49454d5cce..7310542d7c 100644
--- a/packages/libndsfpc/examples/graphics/3D/3D_Both_Screens/3DBothScreens.pp
+++ b/packages/libndsfpc/examples/graphics/3D/3D_Both_Screens/3DBothScreens.pp
@@ -1,5 +1,7 @@
 program BothScreens3D;
 
+{$mode objfpc}
+
 uses
   ctypes, nds9;
 
diff --git a/packages/libndsfpc/examples/graphics/3D/BoxTest/BoxTest.pp b/packages/libndsfpc/examples/graphics/3D/BoxTest/BoxTest.pp
index c84dcb461c..6a6c8a5e49 100644
--- a/packages/libndsfpc/examples/graphics/3D/BoxTest/BoxTest.pp
+++ b/packages/libndsfpc/examples/graphics/3D/BoxTest/BoxTest.pp
@@ -1,5 +1,7 @@
 program Box_Test;
 
+{$mode objfpc}
+
 uses
   ctypes, nds9;
 
diff --git a/packages/libndsfpc/examples/graphics/3D/Display_List/DisplayList.pp b/packages/libndsfpc/examples/graphics/3D/Display_List/DisplayList.pp
index bdf3068f92..119e58565c 100644
--- a/packages/libndsfpc/examples/graphics/3D/Display_List/DisplayList.pp
+++ b/packages/libndsfpc/examples/graphics/3D/Display_List/DisplayList.pp
@@ -1,5 +1,7 @@
 program DisplayList;
 
+{$mode objfpc}
+
 uses
   ctypes, nds9;
 
diff --git a/packages/libndsfpc/examples/graphics/3D/Display_List_2/DisplayList2.pp b/packages/libndsfpc/examples/graphics/3D/Display_List_2/DisplayList2.pp
index 9d9f13ed22..d61890480d 100644
--- a/packages/libndsfpc/examples/graphics/3D/Display_List_2/DisplayList2.pp
+++ b/packages/libndsfpc/examples/graphics/3D/Display_List_2/DisplayList2.pp
@@ -1,5 +1,7 @@
 program DisplayList2;
 {$L build/teapot.bin.o}
+{$mode objfpc}
+
 uses
   ctypes, nds9;
 
diff --git a/packages/libndsfpc/examples/graphics/3D/Env_Mapping/EnvMapping.pp b/packages/libndsfpc/examples/graphics/3D/Env_Mapping/EnvMapping.pp
index 14bddced35..3d4602b8b6 100644
--- a/packages/libndsfpc/examples/graphics/3D/Env_Mapping/EnvMapping.pp
+++ b/packages/libndsfpc/examples/graphics/3D/Env_Mapping/EnvMapping.pp
@@ -2,6 +2,8 @@ program EnvMapping;
 {$L build/teapot.bin.o}
 {$L build/cafe.bin.o}
 
+{$mode objfpc}
+
 uses
   ctypes, nds9;
 
diff --git a/packages/libndsfpc/examples/graphics/3D/Mixed_Text_3D/MixedText3D.pp b/packages/libndsfpc/examples/graphics/3D/Mixed_Text_3D/MixedText3D.pp
index a3668624c5..ad713cc621 100644
--- a/packages/libndsfpc/examples/graphics/3D/Mixed_Text_3D/MixedText3D.pp
+++ b/packages/libndsfpc/examples/graphics/3D/Mixed_Text_3D/MixedText3D.pp
@@ -1,5 +1,7 @@
 program MixedText3D;
 
+{$mode objfpc}
+
 uses
   ctypes, nds9, math;
 
diff --git a/packages/libndsfpc/examples/graphics/3D/Paletted_Cube/PalettedCube.pp b/packages/libndsfpc/examples/graphics/3D/Paletted_Cube/PalettedCube.pp
index 55c1296b71..4ef79b1e1e 100644
--- a/packages/libndsfpc/examples/graphics/3D/Paletted_Cube/PalettedCube.pp
+++ b/packages/libndsfpc/examples/graphics/3D/Paletted_Cube/PalettedCube.pp
@@ -19,6 +19,8 @@ program PalettedCube;
 {$L build/texture9_RGB32_A3_pal.bin.o}
 {$L build/texture9_RGB32_A3_tex.bin.o}
 
+{$mode objfpc}
+
 uses
   ctypes, nds9;
 
diff --git a/packages/libndsfpc/examples/graphics/3D/Picking/Picking.pp b/packages/libndsfpc/examples/graphics/3D/Picking/Picking.pp
index 419d30712c..01c2357436 100644
--- a/packages/libndsfpc/examples/graphics/3D/Picking/Picking.pp
+++ b/packages/libndsfpc/examples/graphics/3D/Picking/Picking.pp
@@ -3,6 +3,8 @@ program picking;
 {$L build/cylinder.bin.o}
 {$L build/sphere.bin.o}
 
+{$mode objfpc}
+
 uses
   ctypes, nds9;
   
diff --git a/packages/libndsfpc/examples/graphics/3D/Simple_Quad/SimpleQuad.pp b/packages/libndsfpc/examples/graphics/3D/Simple_Quad/SimpleQuad.pp
index 956db8516c..bcb0d2e806 100644
--- a/packages/libndsfpc/examples/graphics/3D/Simple_Quad/SimpleQuad.pp
+++ b/packages/libndsfpc/examples/graphics/3D/Simple_Quad/SimpleQuad.pp
@@ -1,9 +1,10 @@
 program SimpleQuad;
 
+{$mode objfpc}
+
 uses
   ctypes, nds9;
 
-
 var
   rotateX: cfloat = 0.0;
   rotateY: cfloat = 0.0;
diff --git a/packages/libndsfpc/examples/graphics/3D/Simple_Tri/SimpleTri.pp b/packages/libndsfpc/examples/graphics/3D/Simple_Tri/SimpleTri.pp
index 0217adfbab..7a8e19d47c 100644
--- a/packages/libndsfpc/examples/graphics/3D/Simple_Tri/SimpleTri.pp
+++ b/packages/libndsfpc/examples/graphics/3D/Simple_Tri/SimpleTri.pp
@@ -1,5 +1,7 @@
 program SimpleTri;
 
+{$mode objfpc}
+
 uses
   ctypes, nds9;
 
diff --git a/packages/libndsfpc/examples/graphics/3D/Textured_Cube/TexturedCube.pp b/packages/libndsfpc/examples/graphics/3D/Textured_Cube/TexturedCube.pp
index d12c2707e3..01f2c70f35 100644
--- a/packages/libndsfpc/examples/graphics/3D/Textured_Cube/TexturedCube.pp
+++ b/packages/libndsfpc/examples/graphics/3D/Textured_Cube/TexturedCube.pp
@@ -2,8 +2,6 @@ program TexturedCube;
 
 {$L build/texture.bin.o}
 
-{$apptype arm9}
-
 {$mode objfpc}
 
 uses
diff --git a/packages/libndsfpc/examples/graphics/3D/Textured_Quad/TexturedQuad.pp b/packages/libndsfpc/examples/graphics/3D/Textured_Quad/TexturedQuad.pp
index c8c63e7959..da51d3cd59 100644
--- a/packages/libndsfpc/examples/graphics/3D/Textured_Quad/TexturedQuad.pp
+++ b/packages/libndsfpc/examples/graphics/3D/Textured_Quad/TexturedQuad.pp
@@ -1,6 +1,6 @@
 program TextureQuad;
 {$L build/texture.bin.o}
-
+{$mode objfpc}
 uses
   ctypes, nds9;
 
diff --git a/packages/libndsfpc/examples/graphics/3D/Toon_Shading/ToonShading.pp b/packages/libndsfpc/examples/graphics/3D/Toon_Shading/ToonShading.pp
index 4588ba003e..80d217dd0a 100644
--- a/packages/libndsfpc/examples/graphics/3D/Toon_Shading/ToonShading.pp
+++ b/packages/libndsfpc/examples/graphics/3D/Toon_Shading/ToonShading.pp
@@ -2,6 +2,7 @@ program ToonShading;
 //NB: This would look better if the object had a bit of texturing too (eyes, nose etc)
 
 {$L build/statue.bin.o}
+{$mode objfpc}
 
 uses
   ctypes, nds9;
diff --git a/packages/libndsfpc/examples/graphics/Backgrounds/16bit_color_bmp/16bitColorBmp.pp b/packages/libndsfpc/examples/graphics/Backgrounds/16bit_color_bmp/16bitColorBmp.pp
index daea693512..07f3e79293 100644
--- a/packages/libndsfpc/examples/graphics/Backgrounds/16bit_color_bmp/16bitColorBmp.pp
+++ b/packages/libndsfpc/examples/graphics/Backgrounds/16bit_color_bmp/16bitColorBmp.pp
@@ -1,6 +1,8 @@
 program bmp_16bit_color;
 {$L build/drunkenlogo.o}
 
+{$mode objfpc}
+
 uses
   ctypes, nds9;
 
diff --git a/packages/libndsfpc/examples/graphics/Backgrounds/256_color_bmp/256ColorBmp.pp b/packages/libndsfpc/examples/graphics/Backgrounds/256_color_bmp/256ColorBmp.pp
index 6c1c5232e3..2b793689cd 100644
--- a/packages/libndsfpc/examples/graphics/Backgrounds/256_color_bmp/256ColorBmp.pp
+++ b/packages/libndsfpc/examples/graphics/Backgrounds/256_color_bmp/256ColorBmp.pp
@@ -1,8 +1,6 @@
 program bmp_256_color;
 {$L build/drunkenlogo.o}
 
-{$apptype arm9}
-
 {$mode objfpc}
 
 uses
diff --git a/packages/libndsfpc/examples/graphics/Backgrounds/Double_Buffer/DoubleBuffer.pp b/packages/libndsfpc/examples/graphics/Backgrounds/Double_Buffer/DoubleBuffer.pp
index 91585ea6ec..fc36e116ad 100644
--- a/packages/libndsfpc/examples/graphics/Backgrounds/Double_Buffer/DoubleBuffer.pp
+++ b/packages/libndsfpc/examples/graphics/Backgrounds/Double_Buffer/DoubleBuffer.pp
@@ -1,5 +1,7 @@
 program DoubleBuffer;
 
+{$mode objfpc}
+
 uses
   ctypes, nds9;
 
diff --git a/packages/libndsfpc/examples/graphics/Backgrounds/all_in_one/BackgroundAllInOne.pp b/packages/libndsfpc/examples/graphics/Backgrounds/all_in_one/BackgroundAllInOne.pp
index 58e6311279..4d749f33d3 100644
--- a/packages/libndsfpc/examples/graphics/Backgrounds/all_in_one/BackgroundAllInOne.pp
+++ b/packages/libndsfpc/examples/graphics/Backgrounds/all_in_one/BackgroundAllInOne.pp
@@ -3,6 +3,8 @@ program AllInOne;
 {$L build/TextBackgrounds.o}
 {$L build/Multilayer.o}
 
+{$mode objfpc}
+
 uses
   ctypes, nds9, basic, advanced, handmade, scrolling;
 
diff --git a/packages/libndsfpc/examples/graphics/Backgrounds/rotation/Rotation.pp b/packages/libndsfpc/examples/graphics/Backgrounds/rotation/Rotation.pp
index f20cb4b1a9..940ed8125d 100644
--- a/packages/libndsfpc/examples/graphics/Backgrounds/rotation/Rotation.pp
+++ b/packages/libndsfpc/examples/graphics/Backgrounds/rotation/Rotation.pp
@@ -2,6 +2,8 @@ program BG_Rotation;
 {$L build/drunkenlogo.bin.o}
 {$L build/palette.bin.o}
 
+{$mode objfpc}
+
 uses
   ctypes, nds9;
 
diff --git a/packages/libndsfpc/examples/graphics/Printing/ansi_console/AnsiConsole.pp b/packages/libndsfpc/examples/graphics/Printing/ansi_console/AnsiConsole.pp
index caf0f450e4..614fe813e5 100644
--- a/packages/libndsfpc/examples/graphics/Printing/ansi_console/AnsiConsole.pp
+++ b/packages/libndsfpc/examples/graphics/Printing/ansi_console/AnsiConsole.pp
@@ -1,5 +1,7 @@
 program AnsiConsole;
 
+{$mode objfpc}
+
 uses
   ctypes, nds9;
 
diff --git a/packages/libndsfpc/examples/graphics/Printing/console_windows/ConsoleWindows.pp b/packages/libndsfpc/examples/graphics/Printing/console_windows/ConsoleWindows.pp
index 830db2628b..f38c4252df 100644
--- a/packages/libndsfpc/examples/graphics/Printing/console_windows/ConsoleWindows.pp
+++ b/packages/libndsfpc/examples/graphics/Printing/console_windows/ConsoleWindows.pp
@@ -1,5 +1,7 @@
 program ConsoleWindows;
 
+{$mode objfpc}
+
 uses
   ctypes, nds9;
 
diff --git a/packages/libndsfpc/examples/graphics/Printing/custom_font/CustomFont.pp b/packages/libndsfpc/examples/graphics/Printing/custom_font/CustomFont.pp
index cdfb207cff..02bba9dba8 100644
--- a/packages/libndsfpc/examples/graphics/Printing/custom_font/CustomFont.pp
+++ b/packages/libndsfpc/examples/graphics/Printing/custom_font/CustomFont.pp
@@ -1,6 +1,8 @@
 program custom_font;
 {$L build/font.o}
 
+{$mode objfpc}
+
 uses
   ctypes, nds9;
 
@@ -19,8 +21,8 @@ var
 
 
 begin
-	videoSetModeSub(MODE_0_2D);	
-	vramSetBankC(VRAM_C_SUB_BG); 
+	videoSetModeSub(MODE_0_2D);
+	vramSetBankC(VRAM_C_SUB_BG);
 
 	console := consoleInit(nil, 0, BgType_Text4bpp, BgSize_T_256x256, map_base, tile_base, false, false);
 
@@ -33,7 +35,7 @@ begin
 	font.convertSingleColor := false;
 
 	consoleSetFont(console, @font);
-	
+
 	printf('Custom Font Demo'#10);
 	printf('   by Poffy'#10);
 	printf('modified by WinterMute'#10);
diff --git a/packages/libndsfpc/examples/graphics/Printing/print_both_screens/printBothScreens.pp b/packages/libndsfpc/examples/graphics/Printing/print_both_screens/printBothScreens.pp
index 0964142730..a9a72013a8 100644
--- a/packages/libndsfpc/examples/graphics/Printing/print_both_screens/printBothScreens.pp
+++ b/packages/libndsfpc/examples/graphics/Printing/print_both_screens/printBothScreens.pp
@@ -1,7 +1,5 @@
 program printBothScreens;
 
-{$apptype arm9}
-
 {$mode objfpc}
 
 uses
@@ -10,7 +8,6 @@ uses
 var
 	touch: touchPosition;
 	topScreen, bottomScreen: PrintConsole;
-//	p: PrintConsole;
 
 begin
 	videoSetMode(MODE_0_2D);
@@ -22,13 +19,6 @@ begin
 	consoleInit(@topScreen, 3,BgType_Text4bpp, BgSize_T_256x256, 31, 0, true, true);
 	consoleInit(@bottomScreen, 3,BgType_Text4bpp, BgSize_T_256x256, 31, 0, false, true);
 
-
-{
-  topScreen := consoleInit(nil, 3, BgType_Text4bpp, BgSize_T_256x256, 31, 0, true);
-  p := topScreen^;
-  bottomScreen := consoleInit(nil, 3, BgType_Text4bpp, BgSize_T_256x256, 31, 0, false);
-  topScreen := @p;
-}
 	consoleSelect(@topScreen);
 	
 	iprintf(#10#10#9'Hello DS dev''rs'#10);
diff --git a/packages/libndsfpc/examples/graphics/Printing/rotscale_text/RotscaleText.pp b/packages/libndsfpc/examples/graphics/Printing/rotscale_text/RotscaleText.pp
index 1dc4af6e4c..4cc2b900ac 100644
--- a/packages/libndsfpc/examples/graphics/Printing/rotscale_text/RotscaleText.pp
+++ b/packages/libndsfpc/examples/graphics/Printing/rotscale_text/RotscaleText.pp
@@ -1,6 +1,8 @@
 program RotscaleText;
 {$L build/font.o}
 
+{$mode objfpc}
+
 uses
   ctypes, nds9;
 
diff --git a/packages/libndsfpc/examples/graphics/Sprites/allocation_test/AllocationTest.pp b/packages/libndsfpc/examples/graphics/Sprites/allocation_test/AllocationTest.pp
index e2951fca2a..0da475774d 100644
--- a/packages/libndsfpc/examples/graphics/Sprites/allocation_test/AllocationTest.pp
+++ b/packages/libndsfpc/examples/graphics/Sprites/allocation_test/AllocationTest.pp
@@ -1,6 +1,7 @@
 program AllocationTest;
 
 {$mode objfpc}
+
 uses
   ctypes, nds9;
 
@@ -120,7 +121,7 @@ var
 begin
   //sort our sprites on z
   //a more efficient way would be to keep a sorted list of sprites
-  qsort(@sprites, SPRITE_MAX, sizeof(TMySprite), @zsort);
+  qsort(@sprites, SPRITE_MAX, sizeof(TMySprite), TSort(@zsort));
 
   //set oam to values required by my sprite
   for i := 0 to SPRITE_MAX - 1 do
@@ -178,7 +179,7 @@ begin
 end;
 
 var
-  memUsageTemp: cint;// = $FFFFFFFF;
+  memUsageTemp: longint;// = $FFFFFFFF;
 
 begin
   randomize;
diff --git a/packages/libndsfpc/examples/graphics/Sprites/animate_simple/AnimateSimple.pp b/packages/libndsfpc/examples/graphics/Sprites/animate_simple/AnimateSimple.pp
index 4b410d2dee..ab3beeaf49 100644
--- a/packages/libndsfpc/examples/graphics/Sprites/animate_simple/AnimateSimple.pp
+++ b/packages/libndsfpc/examples/graphics/Sprites/animate_simple/AnimateSimple.pp
@@ -42,10 +42,11 @@ program AnimateSimple;
 {$L build/man.o}
 {$L build/woman.o}
 
+{$mode objfpc}
+
 uses
   ctypes, nds9;
 
-
 var
   manTiles: array [0..3071] of cuint; cvar; external;
   manPal: array [0..255] of cushort; cvar; external;
diff --git a/packages/libndsfpc/examples/graphics/Sprites/bitmap_sprites/BitmapSprites.pp b/packages/libndsfpc/examples/graphics/Sprites/bitmap_sprites/BitmapSprites.pp
index 261e6c08ab..03424e54da 100644
--- a/packages/libndsfpc/examples/graphics/Sprites/bitmap_sprites/BitmapSprites.pp
+++ b/packages/libndsfpc/examples/graphics/Sprites/bitmap_sprites/BitmapSprites.pp
@@ -1,5 +1,7 @@
 program BitmapSprites;
 
+{$mode objfpc}
+
 uses
   ctypes, nds9;
 
diff --git a/packages/libndsfpc/examples/graphics/Sprites/fire_and_sprites/FireAndSprites.pp b/packages/libndsfpc/examples/graphics/Sprites/fire_and_sprites/FireAndSprites.pp
index a5ceb5dcea..11b1e3b454 100644
--- a/packages/libndsfpc/examples/graphics/Sprites/fire_and_sprites/FireAndSprites.pp
+++ b/packages/libndsfpc/examples/graphics/Sprites/fire_and_sprites/FireAndSprites.pp
@@ -1,6 +1,8 @@
 program FireAndSprites;
 {$L build/ball.pcx.o}
 
+{$mode objfpc}
+
 uses
   ctypes, nds9;
   
diff --git a/packages/libndsfpc/examples/graphics/Sprites/simple/Simple.pp b/packages/libndsfpc/examples/graphics/Sprites/simple/Simple.pp
index 348ea1c630..f2c3a4faa4 100644
--- a/packages/libndsfpc/examples/graphics/Sprites/simple/Simple.pp
+++ b/packages/libndsfpc/examples/graphics/Sprites/simple/Simple.pp
@@ -1,9 +1,10 @@
 program Simple;
 
+{$mode objfpc}
+
 uses
   ctypes, nds9;
 
-
 var
 	i: integer;
 	touch: touchPosition;
@@ -39,42 +40,42 @@ begin
 			touchRead(touch);
 
 		oamSet(oamMain, //main graphics engine context
-			0,           //oam index (0 to 127)  
+			0,           //oam index (0 to 127)
 			touch.px, touch.py,   //x and y pixle location of the sprite
 			0,                    //priority, lower renders last (on top)
-			0,					  //this is the palette index if multiple palettes or the alpha value if bmp sprite	
-			SpriteSize_16x16,     
-			SpriteColorFormat_256Color, 
+			0,					  //this is the palette index if multiple palettes or the alpha value if bmp sprite
+			SpriteSize_16x16,
+			SpriteColorFormat_256Color,
 			gfx,                  //pointer to the loaded graphics
-			-1,                  //sprite rotation data  
+			-1,                  //sprite rotation data
 			false,               //double the size when rotating?
 			false,			//hide the sprite?
 			false, false, //vflip, hflip
 			false	//apply mosaic
-			);              
-		
-		
+			);
+
+
 		oamSet(oamSub,
-			0, 
-			touch.px, 
-			touch.py, 
-			0, 
 			0,
-			SpriteSize_16x16, 
-			SpriteColorFormat_256Color, 
-			gfxSub, 
-			-1, 
-			false, 
-			false,			
-			false, false, 
-			false	
-			);              
-	
+			touch.px,
+			touch.py,
+			0,
+			0,
+			SpriteSize_16x16,
+			SpriteColorFormat_256Color,
+			gfxSub,
+			-1,
+			false,
+			false,
+			false, false,
+			false
+			);
+
 		swiWaitForVBlank();
 
-		
+
 		oamUpdate(oamMain);
 		oamUpdate(oamSub);
 	end;
 
-end.
+end.
\ No newline at end of file
diff --git a/packages/libndsfpc/examples/graphics/Sprites/sprite_extended_palettes/SpriteExtendedPalettes.pp b/packages/libndsfpc/examples/graphics/Sprites/sprite_extended_palettes/SpriteExtendedPalettes.pp
index b742c3f02a..0c3221136a 100644
--- a/packages/libndsfpc/examples/graphics/Sprites/sprite_extended_palettes/SpriteExtendedPalettes.pp
+++ b/packages/libndsfpc/examples/graphics/Sprites/sprite_extended_palettes/SpriteExtendedPalettes.pp
@@ -1,5 +1,7 @@
 program SpriteExtendedPalettes;
 
+{$mode objfpc}
+
 uses
   ctypes, nds9;
 
@@ -32,8 +34,8 @@ begin
 	//------------------------------------------------------------------
 	vramSetBankF(VRAM_F_LCD);
 
-	VRAM_F_EXT_PALETTE[0][1] := RGB15(31,0,0);
-	VRAM_F_EXT_PALETTE[1][1] := RGB15(0,31,0);
+	VRAM_F_EXT_PALETTE^[0][1] := RGB15(31,0,0);
+	VRAM_F_EXT_PALETTE^[1][1] := RGB15(0,31,0);
 
 	// set vram to ex palette
 	vramSetBankF(VRAM_F_SPRITE_EXT_PALETTE);
@@ -46,40 +48,40 @@ begin
 			touchRead(touch);
 
 		oamSet(oamMain, //main graphics engine context
-			0,           //oam index (0 to 127)  
+			0,           //oam index (0 to 127)
 			touch.px, touch.py,   //x and y pixle location of the sprite
 			0,                    //priority, lower renders last (on top)
-			0,					  //this is the palette index if multiple palettes or the alpha value if bmp sprite	
-			SpriteSize_16x16,     
-			SpriteColorFormat_256Color, 
+			0,					  //this is the palette index if multiple palettes or the alpha value if bmp sprite
+			SpriteSize_16x16,
+			SpriteColorFormat_256Color,
 			gfx1,                  //pointer to the loaded graphics
-			-1,                  //sprite rotation data  
+			-1,                  //sprite rotation data
 			false,               //double the size when rotating?
 			false,			//hide the sprite?
 			false, false, //vflip, hflip
 			false	//apply mosaic
-			);              
-		
-		
+			);
+
+
 		oamSet(oamMain,
-			1, 
-			SCREEN_WIDTH - touch.px, 
-			SCREEN_HEIGHT - touch.py, 
-			0, 
+			1,
+			SCREEN_WIDTH - touch.px,
+			SCREEN_HEIGHT - touch.py,
+			0,
 			1,  //use second palette
-			SpriteSize_16x16, 
-			SpriteColorFormat_256Color, 
-			gfx2, 
-			-1, 
-			false, 
-			false,			
-			false, false, 
-			false	
-			);              
-	
+			SpriteSize_16x16,
+			SpriteColorFormat_256Color,
+			gfx2,
+			-1,
+			false,
+			false,
+			false, false,
+			false
+			);
+
 		swiWaitForVBlank();
 
-		
+
 		oamUpdate(oamMain);
   end;
-end.
+end.
\ No newline at end of file
diff --git a/packages/libndsfpc/examples/graphics/Sprites/sprite_rotate/SpriteRotate.pp b/packages/libndsfpc/examples/graphics/Sprites/sprite_rotate/SpriteRotate.pp
index decc5d9ba6..e5d6e12d04 100644
--- a/packages/libndsfpc/examples/graphics/Sprites/sprite_rotate/SpriteRotate.pp
+++ b/packages/libndsfpc/examples/graphics/Sprites/sprite_rotate/SpriteRotate.pp
@@ -1,5 +1,7 @@
 program SpriteRotate;
 
+{$mode objfpc}
+
 uses
   ctypes, nds9;
 
@@ -40,43 +42,43 @@ begin
 		// width (20 - 16, 20 - 16, )
 		//-------------------------------------------------------------------------
 		oamRotateScale(oamMain, 0, angle, intToFixed(1, 8), intToFixed(1, 8));
-    
+
 		oamSet(oamMain, //main graphics engine context
-			0,           //oam index (0 to 127)  
+			0,           //oam index (0 to 127)
 			20 - 16, 20 - 16,   //x and y pixle location of the sprite
 			0,                    //priority, lower renders last (on top)
-			0,					  //this is the palette index if multiple palettes or the alpha value if bmp sprite	
-			SpriteSize_32x32,     
-			SpriteColorFormat_256Color, 
+			0,					  //this is the palette index if multiple palettes or the alpha value if bmp sprite
+			SpriteSize_32x32,
+			SpriteColorFormat_256Color,
 			gfx,                  //pointer to the loaded graphics
-			0,                  //sprite rotation/scale matrix index 
+			0,                  //sprite rotation/scale matrix index
 			true,               //double the size when rotating?
 			false,			//hide the sprite?
 			false, false, //vflip, hflip
 			false	//apply mosaic
-			);              
-		
+			);
+
 		//-------------------------------------------------------------------------
 		// Because the sprite below has size double set to false it can never be larger than
-		// 32x32 causing it to clip as it rotates.  
+		// 32x32 causing it to clip as it rotates.
 		//-------------------------------------------------------------------------
 		oamSet(oamMain, //main graphics engine context
-			1,           //oam index (0 to 127)  
+			1,           //oam index (0 to 127)
 			204, 20,   //x and y pixle location of the sprite
 			0,                    //priority, lower renders last (on top)
-			0,					  //this is the palette index if multiple palettes or the alpha value if bmp sprite	
-			SpriteSize_32x32,     
-			SpriteColorFormat_256Color, 
+			0,					  //this is the palette index if multiple palettes or the alpha value if bmp sprite
+			SpriteSize_32x32,
+			SpriteColorFormat_256Color,
 			gfx,                  //pointer to the loaded graphics
-			0,                  //sprite rotation/scale matrix index 
+			0,                  //sprite rotation/scale matrix index
 			false,               //double the size when rotating?
 			false,			//hide the sprite?
 			false, false, //vflip, hflip
 			false	//apply mosaic
-			);              
+			);
 		swiWaitForVBlank();
 
-		
+
 		oamUpdate(oamMain);
 	end;
-end.
+end.
\ No newline at end of file
diff --git a/packages/libndsfpc/examples/hello_world/helloWorld.pp b/packages/libndsfpc/examples/hello_world/helloWorld.pp
index d556d20cac..51969878b4 100644
--- a/packages/libndsfpc/examples/hello_world/helloWorld.pp
+++ b/packages/libndsfpc/examples/hello_world/helloWorld.pp
@@ -1,5 +1,7 @@
 program hello_world;
 
+{$mode objfpc}
+
 uses
   ctypes, nds9;
 
diff --git a/packages/libndsfpc/examples/input/keyboard/keyboard_async/keyboardAsync.pp b/packages/libndsfpc/examples/input/keyboard/keyboard_async/keyboardAsync.pp
index de174f1e62..a4b73671b8 100644
--- a/packages/libndsfpc/examples/input/keyboard/keyboard_async/keyboardAsync.pp
+++ b/packages/libndsfpc/examples/input/keyboard/keyboard_async/keyboardAsync.pp
@@ -1,5 +1,7 @@
 program keyboardAsync;
 
+{$mode objfpc}
+
 uses
   ctypes, nds9;
   
diff --git a/packages/libndsfpc/examples/input/keyboard/keyboard_stdin/keyboardStdin.pp b/packages/libndsfpc/examples/input/keyboard/keyboard_stdin/keyboardStdin.pp
index 1346d08ba7..55c5d2da4c 100644
--- a/packages/libndsfpc/examples/input/keyboard/keyboard_stdin/keyboardStdin.pp
+++ b/packages/libndsfpc/examples/input/keyboard/keyboard_stdin/keyboardStdin.pp
@@ -1,9 +1,11 @@
 program keyboardStdin;
 
+{$mode objfpc}
+
 uses
   ctypes, nds9;
   
-function OnKeyPressed(key: cint): pointer;
+procedure OnKeyPressed(key: cint);
 begin
   if (key > 0) then
     iprintf('%c', key);
diff --git a/packages/libndsfpc/src/fat/fat.pp b/packages/libndsfpc/src/fat/fat.pp
index 9728cca946..d5a635f775 100644
--- a/packages/libndsfpc/src/fat/fat.pp
+++ b/packages/libndsfpc/src/fat/fat.pp
@@ -21,14 +21,14 @@ uses
 {$linklib sysbase}
 
 {$define NDS_INTERFACE}
-{$include fathelper.inc}
+{ $include fathelper.inc}
 {$include ../nds/disc_io.inc}
 {$include fat.inc}
 {$undef NDS_INTERFACE}
 
 implementation
 {$define NDS_IMPLEMENTATION}
-{$include fathelper.inc}
+{ $include fathelper.inc}
 {$include ../nds/disc_io.inc}
 {$include fat.inc}
 {$undef NDS_IMPLEMENTATION}
diff --git a/packages/libndsfpc/src/fat/filesystem.pp b/packages/libndsfpc/src/fat/filesystem.pp
index 60dd9e5ef2..fda4901ec5 100644
--- a/packages/libndsfpc/src/fat/filesystem.pp
+++ b/packages/libndsfpc/src/fat/filesystem.pp
@@ -21,14 +21,14 @@ uses
 {$linklib sysbase}
 
 {$define NDS_INTERFACE}
-{$include fathelper.inc}
+{ $include fathelper.inc}
 {$include ../nds/disc_io.inc}
 {$include filesystem.inc}
 {$undef NDS_INTERFACE}
 
 implementation
 {$define NDS_IMPLEMENTATION}
-{$include fathelper.inc}
+{ $include fathelper.inc}
 {$include ../nds/disc_io.inc}
 {$include filesystem.inc}
 {$undef NDS_IMPLEMENTATION}
diff --git a/packages/libndsfpc/src/maxmod/inc/maxmod.inc b/packages/libndsfpc/src/maxmod/inc/maxmod.inc
index bded1a0140..6d46718599 100644
--- a/packages/libndsfpc/src/maxmod/inc/maxmod.inc
+++ b/packages/libndsfpc/src/maxmod/inc/maxmod.inc
@@ -59,7 +59,7 @@ procedure mmSetModuleTempo(tempo: mm_word); cdecl; external;
 procedure mmSetModulePitch(pitch: mm_word); cdecl; external;
 procedure mmPlayModule(address, mode, layer: mm_word); cdecl; external;
 function mmEffect(sample_ID: mm_word): mm_sfxhand; cdecl; external;
-function mmEffectEx(sound: pmm_sound_effect): mm_sfxhand; cdecl; external;
+function mmEffectEx(var sound: mm_sound_effect): mm_sfxhand; cdecl; external;
 procedure mmEffectVolume(handle: mm_sfxhand; volume: mm_word); cdecl; external;
 procedure mmEffectPanning(handle: mm_sfxhand; panning: mm_byte); cdecl; external;
 procedure mmEffectRate(handle: mm_sfxhand; rate: mm_word); cdecl; external;
diff --git a/packages/libndsfpc/src/nds/arm7/clock.inc b/packages/libndsfpc/src/nds/arm7/clock.inc
index 18bea363f1..0d3a801dc3 100644
--- a/packages/libndsfpc/src/nds/arm7/clock.inc
+++ b/packages/libndsfpc/src/nds/arm7/clock.inc
@@ -104,4 +104,5 @@ procedure BCDToInteger(var data: cuint8; length: cuint32); cdecl; external;
 procedure integerToBCD(var data: cuint8; length: cuint32); cdecl; external;
 
 procedure initClockIRQ(); cdecl; external;
+procedure resyncClock(); cdecl; external;
 {$endif NDS_INTERFACE}
diff --git a/packages/libndsfpc/src/nds/arm9/background.inc b/packages/libndsfpc/src/nds/arm9/background.inc
index 4d50611514..012b5b0579 100644
--- a/packages/libndsfpc/src/nds/arm9/background.inc
+++ b/packages/libndsfpc/src/nds/arm9/background.inc
@@ -515,15 +515,15 @@ end;
 procedure bgSetMosaic(dx, dy: cuint); inline;
 begin
   sassert( (dx < 16) and (dy < 16), 'Mosaic range is 0 to 15');
-  MOSAIC_CR^ := MOSAIC_CR^ and not $FF;
-  MOSAIC_CR^ := MOSAIC_CR^ or (dx or (dy shl 4));
+  mosaicShadow := (mosaicShadow and $ff00) or (dx or (dy shl 4));
+  REG_MOSAIC^ := mosaicShadow;
 end;
 
 procedure bgSetMosaicSub(dx, dy: cuint); inline;
 begin
   sassert( (dx < 16) and (dy < 16), 'Mosaic range is 0 to 15');
-  SUB_MOSAIC_CR^ := SUB_MOSAIC_CR^ and not $FF;
-  SUB_MOSAIC_CR^ := SUB_MOSAIC_CR^ or (dx or (dy shl 4));	 	 
+  mosaicShadowSub := (mosaicShadowSub and $ff00) or (dx or (dy shl 4));
+  REG_MOSAIC_SUB^ := mosaicShadowSub;
 end;
 
 
diff --git a/packages/libndsfpc/src/nds/arm9/keyboard.inc b/packages/libndsfpc/src/nds/arm9/keyboard.inc
index cf64767718..b8660dd7c6 100644
--- a/packages/libndsfpc/src/nds/arm9/keyboard.inc
+++ b/packages/libndsfpc/src/nds/arm9/keyboard.inc
@@ -42,8 +42,8 @@
 {$ifdef NDS_INTERFACE}
 
 type
-  KeyChangeCallback = function(key: cint): pointer;
-//  KeyChangeCallback = procedure(key: cint) of object;
+//  KeyChangeCallback = function(key: cint): pointer;
+  KeyChangeCallback = procedure(key: cint);
   PKeyChangeCallback = ^KeyChangeCallback;
 
   KeyboardState = integer;
@@ -99,6 +99,6 @@ procedure keyboardShow(); cdecl; external;
 procedure keyboardHide(); cdecl; external;
 function keyboardGetKey(x, y: cint): cint; cdecl; external;
 procedure keyboardGetString(buffer: pchar; maxLen: cint); cdecl; external;
-function keboardGetChar(): cint; cdecl; external;
+function keyboardGetChar(): cint; cdecl; external;
 function keyboardUpdate(): cint; cdecl; external;
 {$endif NDS_INTERFACE}
diff --git a/packages/libndsfpc/src/nds/arm9/sound.inc b/packages/libndsfpc/src/nds/arm9/sound.inc
index b2cde137ae..34b18a9a29 100644
--- a/packages/libndsfpc/src/nds/arm9/sound.inc
+++ b/packages/libndsfpc/src/nds/arm9/sound.inc
@@ -80,6 +80,8 @@ function soundPlayNoise(freq: cuint16; volume, pan: cuint8): cint; cdecl; extern
 
 procedure soundPause(soundId: cint); cdecl; external;
 
+procedure soundSetWaveDuty(soundId: cint; cycle: DutyCycle); cdecl; external;
+
 procedure soundKill(soundId: cint); cdecl; external;
 
 procedure soundResume(soundId: cint); cdecl; external;
diff --git a/packages/libndsfpc/src/nds/arm9/sprite.inc b/packages/libndsfpc/src/nds/arm9/sprite.inc
index 28b532e8ad..79eb8df2a9 100644
--- a/packages/libndsfpc/src/nds/arm9/sprite.inc
+++ b/packages/libndsfpc/src/nds/arm9/sprite.inc
@@ -299,6 +299,7 @@ function oamAllocateGfx(var oam: OamState; size: SpriteSize; colorFormat: Sprite
 procedure oamFreeGfx(var oam: OamState; const gfxOffset: pointer); cdecl; external;
 
 procedure oamSetMosaic(dx, dy: cuint); inline;
+procedure oamSetMosaicSub(dx, dy: cuint); inline;
 
 procedure oamSet( var oam: OamState; 
                   id, x, y, priority, palette_alpha: cint; 
@@ -310,6 +311,8 @@ procedure oamSet( var oam: OamState;
 procedure oamClear(var oam: OamState; start, count: cint); cdecl; external;
 procedure oamUpdate(var oam: OamState); cdecl; external;
 procedure oamRotateScale(var oam: OamState; rotId, angle, sx, sy: cint); cdecl; external;
+procedure oamAffineTransformation(var oam: OamState; rotId, hdx, hdy, vdx, vdy: cint); inline;
+
 function oamCountFragments(var oam: OamState): cint; cdecl; external;
 procedure oamAllocReset(var oam: OamState); cdecl; external;
 function oamGfxPtrToOffset(const offset: pointer): cuint; cdecl; external;
@@ -364,8 +367,25 @@ end;
 procedure oamSetMosaic(dx, dy: cuint); inline;
 begin
   sassert((dx < 16) and (dy < 16), 'Mosaic range is 0 to 15');
-  MOSAIC_CR^ :=  MOSAIC_CR^ and not ($FF00);
-  MOSAIC_CR^ := MOSAIC_CR^ or ((dx shl 8) or (dy shl 12));
+  mosaicShadow := ( mosaicShadow and $00ff) or (dx shl 8) or (dy shl 12);
+  REG_MOSAIC^ := mosaicShadow;
 end;
 
+procedure oamSetMosaicSub(dx, dy: cuint); inline;
+begin
+  sassert((dx < 16) and (dy < 16), 'Mosaic range is 0 to 15');
+  mosaicShadowSub := (mosaicShadowSub and $00ff) or (dx shl 8) or (dy shl 12);
+  REG_MOSAIC_SUB^ := mosaicShadowSub;
+end;
+
+procedure oamAffineTransformation(var oam: OamState; rotId, hdx, hdy, vdx, vdy: cint); inline;
+begin
+  sassert((rotId >= 0) and (rotId < 32), 'oamAffineTransformation() rotId is out of bounds, must be 0-31');
+  oam.oamRotationMemory[rotId].hdx := hdx shr 12;
+  oam.oamRotationMemory[rotId].hdy := hdy shr 12;
+  oam.oamRotationMemory[rotId].vdx := vdx shr 12;
+  oam.oamRotationMemory[rotId].vdy := vdy shr 12;
+end;
+
+
 {$endif NDS_IMPLEMENTATION}
diff --git a/packages/libndsfpc/src/nds/arm9/video.inc b/packages/libndsfpc/src/nds/arm9/video.inc
index 8eaec5a298..f8ff9565dc 100644
--- a/packages/libndsfpc/src/nds/arm9/video.inc
+++ b/packages/libndsfpc/src/nds/arm9/video.inc
@@ -43,6 +43,10 @@
 {$endif ARM9}
 
 {$ifdef NDS_INTERFACE}
+var
+  mosaicShadow: cuint16; cvar; external;
+  mosaicShadowSub: cuint16; cvar; external;
+
 const
   BG_PALETTE          : pcuint16 = pointer($05000000);
   BG_PALETTE_SUB      : pcuint16 = pointer($05000400);
@@ -244,10 +248,10 @@ type
   P_ext_palette = ^_ext_palette;
 
 var
-  VRAM_E_EXT_PALETTE : P_palette absolute VRAM_E;
-  VRAM_F_EXT_PALETTE : P_palette absolute VRAM_F;
-  VRAM_G_EXT_PALETTE : P_palette absolute VRAM_G;
-  VRAM_H_EXT_PALETTE : P_palette absolute VRAM_H;
+  VRAM_E_EXT_PALETTE : P_ext_palette absolute VRAM_E;
+  VRAM_F_EXT_PALETTE : P_ext_palette absolute VRAM_F;
+  VRAM_G_EXT_PALETTE : P_ext_palette absolute VRAM_G;
+  VRAM_H_EXT_PALETTE : P_ext_palette absolute VRAM_H;
 
 function vramSetMainBanks(a: VRAM_A_TYPE; b: VRAM_B_TYPE; c: VRAM_C_TYPE; d: VRAM_D_TYPE): cuint32; cdecl; external;
 procedure vramRestoreMainBanks(vramTemp: cuint32); cdecl; external;
@@ -375,8 +379,8 @@ const
   SUB_WIN_IN     : pcuint16 = pointer($04001048);
   SUB_WIN_OUT    : pcuint16 = pointer($0400104A);
 
-  MOSAIC_CR      : pcuint16 = pointer($0400004C);
-  SUB_MOSAIC_CR  : pcuint16 = pointer($0400104C);
+  REG_MOSAIC     : pcuint16 = pointer($0400004C);
+  REG_MOSAIC_SUB : pcuint16 = pointer($0400104C);
 
   REG_BLDCNT     : pcuint16 = pointer($04000050);
   REG_BLDY       : pcuint16 = pointer($04000054);
diff --git a/packages/libndsfpc/src/nds/arm9/videoGL.inc b/packages/libndsfpc/src/nds/arm9/videoGL.inc
index 4be9d7a90c..669680b6bf 100644
--- a/packages/libndsfpc/src/nds/arm9/videoGL.inc
+++ b/packages/libndsfpc/src/nds/arm9/videoGL.inc
@@ -75,7 +75,7 @@ const
 
 function inttof32(n: cint): cint32; inline;
 function f32toint(n: cint32): cint; inline;
-function floattof32(n: cfloat): cint32; inline;
+function floattof32(n: cfloat): cint32; inline;  //inlining it makes impossible to pass it to another function :/
 function f32tofloat(n: cint32): cfloat; inline;
 
 type
@@ -89,7 +89,7 @@ function TEXTURE_PACK(u, v: cint): cint; inline;
 //function TEXTURE_PACK(u, v: cshort): cuint; inline;
 
 type
-  v16 = cuint16; //cshort?       // vertex 4.12 fixed format
+  v16 = cshort;//cuint16?       // vertex 4.12 fixed format
 
 function inttov16(n: cint): cint{v16}; inline;
 function f32tov16(n: cint32): v16; inline; 
diff --git a/packages/libndsfpc/src/nds/bios.inc b/packages/libndsfpc/src/nds/bios.inc
index 975b75b76d..f44d3721f1 100644
--- a/packages/libndsfpc/src/nds/bios.inc
+++ b/packages/libndsfpc/src/nds/bios.inc
@@ -69,10 +69,6 @@ procedure swiSoftReset(); cdecl; external;
 
 procedure swiDelay(duration: cuint32); cdecl; external;
 
-procedure swiIntrWait(waitForSet: cint; flags: cuint32); cdecl; external;
-
-procedure swiWaitForVBlank(); cdecl; external;
-
 function swiDivide(numerator, divisor: cint): cint; cdecl; external;
 function swiRemainder(numerator, divisor: cint): cint; cdecl; external;
 procedure swiDivMod(numerator, divisor: cint; var result, remainder: cint); cdecl; external;
diff --git a/packages/libndsfpc/src/nds/dynamicArray.inc b/packages/libndsfpc/src/nds/dynamicArray.inc
index e8dd592d13..a8340d19f9 100644
--- a/packages/libndsfpc/src/nds/dynamicArray.inc
+++ b/packages/libndsfpc/src/nds/dynamicArray.inc
@@ -86,11 +86,15 @@ var
 begin
 	if (index >= v^.cur_size) then 
 	begin
+		v^.data := ReAllocMem(v^.data, sizeof(pointer) * v^.cur_size * 2);
+		FillChar(pointer(integer(v^.data^^) + v^.cur_size)^, sizeof(pointer) * v^.cur_size, 0);
 		v^.cur_size := v^.cur_size * 2;
-		v^.data := ReAllocMem(v^.data, sizeof(pointer) * v^.cur_size);
 	end;
+	{
 	i := integer(v^.data);
 	i := i + index;
   pointer(i) := item;
+  }
+  v^.data[index] := item;
 end;
 {$endif NDS_IMPLEMENTATION}
diff --git a/packages/libndsfpc/src/nds/fifocommon.inc b/packages/libndsfpc/src/nds/fifocommon.inc
index d92cbe7a16..59c2ca1568 100644
--- a/packages/libndsfpc/src/nds/fifocommon.inc
+++ b/packages/libndsfpc/src/nds/fifocommon.inc
@@ -47,11 +47,11 @@ const
   FIFO_PM     : FifoChannels = 0;
   FIFO_SOUND  : FifoChannels = 1;
   FIFO_SYSTEM : FifoChannels = 2;
-  FIFO_RSDV_01: FifoChannels = 3;
-  FIFO_RSVD_02: FifoChannels = 4;
-  FIFO_RSVD_03: FifoChannels = 5;
-  FIFO_DSWIFI : FifoChannels = 6;
-  FIFO_MAXMOD : FifoChannels = 7;
+  FIFO_MAXMOD : FifoChannels = 3;
+  FIFO_DSWIFI : FifoChannels = 4;
+  FIFO_RSVD_01: FifoChannels = 5;
+  FIFO_RSVD_02: FifoChannels = 6;
+  FIFO_RSVD_03: FifoChannels = 7;
   FIFO_USER_01: FifoChannels = 8;
   FIFO_USER_02: FifoChannels = 9;
   FIFO_USER_03: FifoChannels = 10;	    
@@ -65,16 +65,17 @@ const
 type
   FifoSoundCommand = integer;
 const
-  SOUND_SET_PAN         : FifoSoundCommand = (0 shl 20);
-  SOUND_SET_VOLUME      : FifoSoundCommand = (1 shl 20);
-  SOUND_SET_FREQ        : FifoSoundCommand = (2 shl 20);
-  SOUND_MASTER_ENABLE   : FifoSoundCommand = (3 shl 20);
-  SOUND_MASTER_DISABLE  : FifoSoundCommand = (4 shl 20);
-  SOUND_PAUSE           : FifoSoundCommand = (5 shl 20);
-  SOUND_RESUME          : FifoSoundCommand = (6 shl 20);
-  SOUND_KILL            : FifoSoundCommand = (7 shl 20);
-  SOUND_SET_MASTER_VOL  : FifoSoundCommand = (8 shl 20);
-  MIC_STOP              : FifoSoundCommand = (9 shl 20);
+  SOUND_SET_PAN         : FifoSoundCommand = ( 0 shl 20);
+  SOUND_SET_VOLUME      : FifoSoundCommand = ( 1 shl 20);
+  SOUND_SET_FREQ        : FifoSoundCommand = ( 2 shl 20);
+  SOUND_SET_WAVEDUTY    : FifoSoundCommand = ( 3 shl 20);
+  SOUND_MASTER_ENABLE   : FifoSoundCommand = ( 4 shl 20);
+  SOUND_MASTER_DISABLE  : FifoSoundCommand = ( 5 shl 20);
+  SOUND_PAUSE           : FifoSoundCommand = ( 6 shl 20);
+  SOUND_RESUME          : FifoSoundCommand = ( 7 shl 20);
+  SOUND_KILL            : FifoSoundCommand = ( 8 shl 20);
+  SET_MASTER_VOL        : FifoSoundCommand = ( 9 shl 20);
+  MIC_STOP              : FifoSoundCommand = (10 shl 20);
 
 type
   FifoSystemCommands = integer;
@@ -99,6 +100,7 @@ const
   WIFI_ENABLE   : FifoWifiCommands = 0;
   WIFI_DISABLE  : FifoWifiCommands = 1;
   WIFI_SYNC     : FifoWifiCommands = 2;
+  WIFI_STARTUP  : FifoWifiCommands = 3;
 
 type
   PM_LedBlinkMode = integer;
@@ -107,18 +109,8 @@ const
   PM_LED_SLEEP: PM_LedBlinkMode = (1 shl 4);
   PM_LED_BLINK: PM_LedBlinkMode = (3 shl 4);
 
-const
-  FIFO_CHANNEL_BITS = 4;
-  FIFO_MAX_DATA_BYTES = 128;
-
-{$ifdef ARM9}
-  FIFO_BUFFER_ENTRIES = 512;
-{$else ARM9} // ARM7
-  FIFO_BUFFER_ENTRIES = 256;
-{$endif ARM9}
-
-var
-  fifo_buffer: array [0..FIFO_BUFFER_ENTRIES*2-1] of cuint32; cvar; external;
+//var
+//  fifo_buffer: array [0..FIFO_BUFFER_ENTRIES*2-1] of cuint32; cvar; external;
 
 
 {$ifdef FIFO_RIGOROUS_ERROR_CHECKING}
@@ -140,237 +132,23 @@ function fifoSetAddressHandler(channel: integer; newhandler: FifoAddressHandlerF
 function fifoSetValue32Handler(channel: integer; newhandler: FifoValue32HandlerFunc; userdata: pointer): cbool; cdecl; external;
 function fifoSetDatamsgHandler(channel: integer; newhandler: FifoDatamsgHandlerFunc; userdata: pointer): cbool; cdecl; external;
 
-procedure fifoForceAddressHandler(channel: integer; newhandler: FifoAddressHandlerFunc; userdata: pointer); cdecl; external;
-procedure fifoForceValue32Handler(channel: integer; newhandler: FifoValue32HandlerFunc; userdata: pointer); cdecl; external;
-procedure fifoForceDatamsgHandler(channel: integer; newhandler: FifoDatamsgHandlerFunc; userdata: pointer); cdecl; external;
-
 function fifoCheckAddress(channel: integer): cbool; cdecl; external;
 function fifoCheckValue32(channel: integer): cbool; cdecl; external;
 function fifoCheckDatamsg(channel: integer): cbool; cdecl; external;
 
 function fifoCheckDatamsgLength(channel: integer): cint; cdecl; external;
 
-function fifoCountDatamsg(channel: integer): cint; cdecl; external;
-
 function fifoGetAddress(channel: integer): pointer; cdecl; external;
 
 function fifoGetValue32(channel: integer): cuint32; cdecl; external;
 
-
 function fifoGetDatamsg(channel, buffersize: cint; destbuffer: pcuint8): cint; cdecl; external;
 
-function fifoGetBufferUsage(): cint; cdecl; external;
-
-function fifoGetLostWordCount(): cint; cdecl; external;
-
-
-
-procedure fifoInternalSendInterrupt(); cdecl; external;
-procedure fifoInternalRecvInterrupt(); cdecl; external;
-procedure fifoInternalProtect(); cdecl; external;
-procedure fifoInternalUnprotect(); cdecl; external;
-function fifoInternalSend(firstword: cuint32; extrawordcount: cint; wordlist: pcuint32): cbool; cdecl; external;
-procedure fifoInternalBeginSend(); cdecl; external;
-function fifoInternalRecvPeek(): cuint32; cdecl; external;
-function fifoInternalRecvPopFirst(): cuint32; cdecl; external;
-function fifoInternalRecvWordCount(): cint; cdecl; external;
-function fifoInternalRecvPushBack(word: cuint32): cbool; cdecl; external;
-function fifoInternalSendEmpty(): cbool; cdecl; external;
-function fifoInternalSendDeque(): cuint32; cdecl; external;
-function fifoInternalSendEnqueue(word: cuint32): cbool; cdecl; external;
-function fifoInternalAllocFreeBlock(): cint; cdecl; external;
-procedure fifoInternalFreeBlock(blockid: cint); cdecl; external;
-function fifoInternalFreeCheck(num_words: cint): cbool; cdecl; external;
-
-
-
-
-// And some aspects of the configuration can't be changed
-//  please don't edit below this line.
-
-const
-  FIFO_ADDRESSDATA_SHIFT = 0;
-  FIFO_MINADDRESSDATABITS = 22;
-  FIFO_ADDRESSDATA_MASK = $003FFFFF;
-  FIFO_ADDRESSBASE = $02000000;
-  FIFO_ADDRESSCOMPATIBLE = $FFC00000;
-
-  FIFO_NUM_CHANNELS = (1 shl FIFO_CHANNEL_BITS);
-  FIFO_CHANNEL_SHIFT = (32 - FIFO_CHANNEL_BITS);
-  FIFO_CHANNEL_MASK = ((1 shl FIFO_CHANNEL_BITS) - 1);
-
-  FIFO_ADDRESSBIT_SHIFT = (FIFO_CHANNEL_SHIFT - 1);
-  FIFO_ADDRESSBIT = (1 shl FIFO_ADDRESSBIT_SHIFT);
-
-  FIFO_IMMEDIATEBIT_SHIFT = (FIFO_CHANNEL_SHIFT - 2);
-  FIFO_IMMEDIATEBIT = (1 shl FIFO_IMMEDIATEBIT_SHIFT);
-
-  FIFO_EXTRABIT_SHIFT = (FIFO_CHANNEL_SHIFT - 3);
-  FIFO_EXTRABIT = (1 shl FIFO_EXTRABIT_SHIFT);
-
-
-  FIFO_VALUE32_MASK = (FIFO_EXTRABIT - 1);
-
-
-  FIFO_BUFFER_TERMINATE = $FFFF;
-  FIFO_BUFFER_NEXTMASK = $FFFF;
-
-
-{ $IF (FIFO_MINADDRESSDATABITS + FIFO_CHANNEL_BITS + 1) > 32}
-  { $ERROR Too many channel bits - control word isn't big enough for address packet}
-{ $ENDIF}
-
-
-
-
-function FIFO_PACK_ADDRESS(channel, address: cint): cint; inline;
-function FIFO_VALUE32_NEEDEXTRA(value32: cint32): boolean; inline;
-function FIFO_PACK_VALUE32(channel, value32: cint): cint; inline; 
-function FIFO_PACK_VALUE32_EXTRA(channel: cint): cint; inline;
-function FIFO_IS_ADDRESS_COMPATIBLE(address: cint): boolean; inline;
-function FIFO_PACK_DATAMSG_HEADER(channel, numwords: cint): cint; inline;
-function FIFO_IS_ADDRESS(dataword: cint): boolean; inline; 
-function FIFO_IS_VALUE32(dataword: cint): boolean; inline;
-function FIFO_IS_DATA(dataword: cint): boolean; inline;
-function FIFO_UNPACK_CHANNEL(dataword: cint): cint; inline;
-function FIFO_UNPACK_ADDRESS(dataword: cint): pointer; inline;
-function FIFO_UNPACK_VALUE32_NEEDEXTRA(dataword: cint): boolean; inline;
-function FIFO_UNPACK_VALUE32_NOEXTRA(dataword: cint): cint; inline;
-function FIFO_UNPACK_DATALENGTH(dataword: cint): cint; inline;
-
-const
-  FIFO_BUFFERCONTROL_UNUSED = 0;
-  FIFO_BUFFERCONTROL_SENDWORD = 1;
-  FIFO_BUFFERCONTROL_RECVWORD = 2;
-  FIFO_BUFFERCONTROL_ADDRESS = 3;
-  FIFO_BUFFERCONTROL_VALUE32 = 4;
-  FIFO_BUFFERCONTROL_DATASTART = 5;
-  FIFO_BUFFERCONTROL_DATA = 6;
-
-function FIFO_BUFFER_DATA(index: cint): cint; inline; 
-function FIFO_BUFFER_DATA_BYTE(index, byteindex: cint): pcuint8; inline;
-function FIFO_BUFFER_GETNEXT(index: cint): cint; inline; 
-function FIFO_BUFFER_GETCONTROL(index: cint): cint; inline; 
-function FIFO_BUFFER_GETEXTRA(index: cint): cint; inline; 
-procedure FIFO_BUFFER_SETCONTROL(index,next,control,extra: cint); inline; 
-procedure FIFO_BUFFER_SETNEXT(index, next: cint); inline;
-
-
 {$endif NDS_INTERFACE}
 
 
 
 {$ifdef NDS_IMPLEMENTATION}
 
-function FIFO_PACK_ADDRESS(channel, address: cint): cint; inline;
-begin
-  result := ((channel) shl FIFO_CHANNEL_SHIFT) or 
-            FIFO_ADDRESSBIT or 
-            ((address shr FIFO_ADDRESSDATA_SHIFT) and FIFO_ADDRESSDATA_MASK);
-end; 
-
-function FIFO_VALUE32_NEEDEXTRA(value32: cint32): boolean; inline;
-begin
-  result :=  (value32 and (not FIFO_VALUE32_MASK)) <> 0; 
-end;
-
-function FIFO_PACK_VALUE32(channel, value32: cint): cint; inline; 
-begin
-  result := (channel shl FIFO_CHANNEL_SHIFT) or
-            FIFO_IMMEDIATEBIT or 
-            (value32 and FIFO_VALUE32_MASK);
-end; 
-
-function FIFO_PACK_VALUE32_EXTRA(channel: cint): cint; inline;
-begin
-  result :=  (channel shl FIFO_CHANNEL_SHIFT) or FIFO_IMMEDIATEBIT or FIFO_EXTRABIT;
-end;
-
-function FIFO_IS_ADDRESS_COMPATIBLE(address: cint): boolean; inline;
-begin
-  result := (address and FIFO_ADDRESSCOMPATIBLE) = FIFO_ADDRESSBASE;
-end;
-
-function FIFO_PACK_DATAMSG_HEADER(channel, numwords: cint): cint; inline;
-begin
-  result :=  (channel shl FIFO_CHANNEL_SHIFT) or (numwords and FIFO_VALUE32_MASK);
-end;
-
-function FIFO_IS_ADDRESS(dataword: cint): boolean; inline; 
-begin
-  result := (dataword and FIFO_ADDRESSBIT) <> 0;
-end;
-
-function FIFO_IS_VALUE32(dataword: cint): boolean; inline;
-begin
-  result := ((dataword and FIFO_ADDRESSBIT) = 0) and ((dataword and FIFO_IMMEDIATEBIT) <> 0);
-end;
-
-function FIFO_IS_DATA(dataword: cint): boolean; inline;
-begin
-  result := (dataword and (FIFO_ADDRESSBIT or FIFO_IMMEDIATEBIT)) = 0;
-end;
-
-function FIFO_UNPACK_CHANNEL(dataword: cint): cint; inline;
-begin
-  result := (dataword shr FIFO_CHANNEL_SHIFT) and FIFO_CHANNEL_MASK;
-end;
-
-function FIFO_UNPACK_ADDRESS(dataword: cint): pointer; inline;
-begin
-  result := pointer(((dataword and FIFO_ADDRESSDATA_MASK) shl FIFO_ADDRESSDATA_SHIFT) or FIFO_ADDRESSBASE);
-end; 
-
-function FIFO_UNPACK_VALUE32_NEEDEXTRA(dataword: cint): boolean; inline;
-begin
-  result := (dataword and FIFO_EXTRABIT) <> 0;
-end;
-
-function FIFO_UNPACK_VALUE32_NOEXTRA(dataword: cint): cint; inline;
-begin
-  result := (dataword and FIFO_VALUE32_MASK);
-end;
-
-function FIFO_UNPACK_DATALENGTH(dataword: cint): cint; inline;
-begin
-  result := (dataword and FIFO_VALUE32_MASK);
-end;
-
-function FIFO_BUFFER_DATA(index: cint): cint; inline; 
-begin
-  result := fifo_buffer[(index)*2+1];
-end;
-
-function FIFO_BUFFER_DATA_BYTE(index, byteindex: cint): pcuint8; inline;
-begin
-// ((u8*)(&fifo_buffer[(index)*2+1]))[(byteindex)]
-/////////  result := pcuint8(pointer(fifo_buffer[index*2+1]))[byteindex];
-end;
-
-
-function FIFO_BUFFER_GETNEXT(index: cint): cint; inline; 
-begin
-  result := (fifo_buffer[(index)*2] and FIFO_BUFFER_NEXTMASK);
-end;
-
-function FIFO_BUFFER_GETCONTROL(index: cint): cint; inline; 
-begin
-  result := (fifo_buffer[(index)*2] shr 28);
-end;
-
-function FIFO_BUFFER_GETEXTRA(index: cint): cint; inline; 
-begin
-  result := ((fifo_buffer[(index)*2] shr 16) and $FFF);
-end;
-
-procedure FIFO_BUFFER_SETCONTROL(index,next,control,extra: cint); inline; 
-begin
-  fifo_buffer[(index)*2] := (next and FIFO_BUFFER_NEXTMASK) or (control shl 28) or ((extra and $FFF) shl 16);
-end;  
-  
-procedure FIFO_BUFFER_SETNEXT(index, next: cint); inline;
-begin
-  fifo_buffer[(index)*2] :=  (next and FIFO_BUFFER_NEXTMASK) or (fifo_buffer[(index)*2] and (not FIFO_BUFFER_NEXTMASK)); 
-end;
 
 {$endif NDS_IMPLEMENTATION}
diff --git a/packages/libndsfpc/src/nds/fifomessages.inc b/packages/libndsfpc/src/nds/fifomessages.inc
index 4827b22aa7..ca54b212bc 100644
--- a/packages/libndsfpc/src/nds/fifomessages.inc
+++ b/packages/libndsfpc/src/nds/fifomessages.inc
@@ -43,62 +43,52 @@ type
 {$PACKRECORDS 4} 
   FifoMessage = record
     _type: cuint16;
-    empty: array[0..31] of cuint8; 
+    case integer of
+      0: (
+        SundPlay: record
+          _type: cuint16;
+          data: pointer;
+          loopPoint: cuint16;
+          dataSize: cuint16;
+          freq: cuint16;
+          volume: cuint8;
+          pan: cuint8;
+          loop: cbool;
+          format: cuint8;
+        end;
+      );
+      1: (
+        SoundPsg: record
+          freq: cuint16;
+          dutyCycle: cuint8;
+          volume: cuint8;
+          pan: cuint8;
+        end;
+      );
+      2: (
+        MicRecord: record
+          buffer: pointer;
+          bufferLength: cuint32;
+          freq: cuint16;
+          format: cuint8;
+        end;
+      );
+      3: (
+        MicBufferFull: record
+          buffer: pointer;
+          length: cuint32;
+        end;
+      );
+      4: (
+        SystemInput: record
+          touch: touchPosition;
+          keys: cuint16;
+        end;
+      );
   end;
   TFifoMessage = FifoMessage;
   PFifoMessage = ^FifoMessage;
 
-  SoundPlayMsg = record
-    _type: cuint16; 	
-    data: pointer;
-    loopPoint: cuint16;
-    dataSize: cuint16;
-    freq: cuint16;
-    volume: cuint8;
-    pan: cuint8;
-    loop: cbool;
-    format: cuint8;
-  end;
-  TSoundPlayMsg = SoundPlayMsg;
-  PSoundPlayMsg = ^SoundPlayMsg;
-
-  SoundPsgMsg = record
-    _type: cuint16;
-    freq: cuint16;	
-    dutyCycle: cuint8;
-    volume: cuint8;
-    pan: cuint8;
-  end;
-  TSoundPsgMsg = SoundPsgMsg;
-  PSoundPsgMsg = ^SoundPsgMsg; 
-
-  MicRecordMsg = record
-    _type: cuint16;
-    buffer: pointer;
-    bufferLength: cuint32;
-    freq: cuint16;
-    format: cuint8;
-  end;
-  TMicRecordMsg = MicRecordMsg;
-  PMicRecordMsg = ^MicRecordMsg;
-
-  MicBufferFullMsg = record
-    _type: cuint16;
-    buffer: pointer;
-    length: cuint32;
-  end;
-  TMicBufferFullMsg = MicBufferFullMsg;
-  PMicBufferFullMsg = ^MicBufferFullMsg; 
-
-
-  SystemInputMsg = record
-    _type: cuint16;
-    touch: touchPosition;
-    keys: cuint16;
-  end;
-  TSystemInputMsg = SystemInputMsg; 
-  PSystemInputMsg = ^SystemInputMsg;
-  
 {$PACKRECORDS C}   
 {$endif NDS_INTERFACE}
 
diff --git a/packages/libndsfpc/src/nds/interrupts.inc b/packages/libndsfpc/src/nds/interrupts.inc
index 5e0d6f7f23..4863929f1c 100644
--- a/packages/libndsfpc/src/nds/interrupts.inc
+++ b/packages/libndsfpc/src/nds/interrupts.inc
@@ -122,6 +122,11 @@ procedure irqInitHandler(handler: TVoidFunctionPointer); cdecl; external;
 procedure irqInitHandler(handler: pointer); cdecl; external;
 procedure irqEnable(irq: cuint32); cdecl; external;
 procedure irqDisable(irq: cuint32); cdecl; external;
+
+procedure swiIntrWait(waitForSet: cint; flags: cuint32); cdecl; external;
+procedure swiWaitForVBlank(); cdecl; external;
+function enterCriticalSection(): cint; inline;
+procedure leaveCriticalSection(oldIME: cint); inline;
 {$endif NDS_INTERFACE}
 
 {$ifdef NDS_IMPLEMENTATION}
@@ -131,5 +136,19 @@ begin
   result := (1 shl (n + 3));
 end;
 
+function enterCriticalSection(): cint; inline;
+var
+  oldIME: cint;
+begin
+  oldIME := REG_IME^;
+  REG_IME^ := 0;
+  result := oldIME;
+end;
+
+procedure leaveCriticalSection(oldIME: cint); inline;
+begin
+  REG_IME^ := oldIME;
+end;
+
 {$endif NDS_IMPLEMENTATION}
 
diff --git a/packages/libndsfpc/src/nds/ndsinclude.inc b/packages/libndsfpc/src/nds/ndsinclude.inc
index 7b6531d5bd..2a244917c2 100644
--- a/packages/libndsfpc/src/nds/ndsinclude.inc
+++ b/packages/libndsfpc/src/nds/ndsinclude.inc
@@ -1,5 +1,5 @@
 
-{$include helper.inc}
+{ $include helper.inc}
 {$include ndstypes.inc}
 {$include bios.inc}
 {$include card.inc}
diff --git a/packages/libndsfpc/src/nds/registers_alt.inc b/packages/libndsfpc/src/nds/registers_alt.inc
index 3415cfd143..01b258a348 100644
--- a/packages/libndsfpc/src/nds/registers_alt.inc
+++ b/packages/libndsfpc/src/nds/registers_alt.inc
@@ -111,10 +111,8 @@ const
   REG_WININ		: pcuint16 = pointer($4000048);
   REG_WINOUT		: pcuint16 = pointer($400004A);
   
-  REG_MOSAIC		: pcuint32 = pointer($400004C);
-  REG_MOSAIC_L	: pcuint32 = pointer($400004C);
-  REG_MOSAIC_H	: pcuint32 = pointer($400004E);
-  
+  MOSAIC_CR = REG_MOSAIC;
+
   BLEND_CR = REG_BLDCNT;
   BLEND_AB = REG_BLDALPHA;
   BLEND_Y = REG_BLDY;
@@ -171,13 +169,11 @@ const
   REG_WIN0V_SUB		: pcuint16 = pointer($4001044);
   REG_WIN1V_SUB		: pcuint16 = pointer($4001046);
   REG_WININ_SUB		: pcuint16 = pointer($4001048);
-  REG_WINOUT_SUB		: pcuint16 = pointer($400104A);
+  REG_WINOUT_SUB	: pcuint16 = pointer($400104A);
   
-  REG_MOSAIC_SUB		: pcuint32 = pointer($400104C);
-  REG_MOSAIC_L_SUB	: pcuint16 = pointer($400104C);
-  REG_MOSAIC_H_SUB	: pcuint16 = pointer($400104E);
+  SUB_MOSAIC_CR = REG_MOSAIC_SUB;
   
-  REG_BLDMOD_SUB	: pcuint16 = pointer($4001050);
+  REG_BLDMOD_SUB: pcuint16 = pointer($4001050);
   REG_COLV_SUB	: pcuint16 = pointer($4001052);
   REG_COLY_SUB	: pcuint16 = pointer($4001054);
   
diff --git a/packages/libndsfpc/src/nds/system.inc b/packages/libndsfpc/src/nds/system.inc
index d2d440d25d..8442e11fa0 100644
--- a/packages/libndsfpc/src/nds/system.inc
+++ b/packages/libndsfpc/src/nds/system.inc
@@ -76,15 +76,17 @@ const
 	POWER_3D_CORE  : PM_Bits = PM_ARM9_DIRECT or (1 shl 3);
 	POWER_2D_B     : PM_Bits = PM_ARM9_DIRECT or (1 shl 9);
 	POWER_SWAP_LCDS: PM_Bits = PM_ARM9_DIRECT or (1 shl 15);
-	POWER_ALL_2D   : PM_Bits = PM_ARM9_DIRECT or (1 shl 0) or (1 shl 1) or (1 shl 9);
-	POWER_ALL      : PM_Bits = PM_ARM9_DIRECT or (1 shl 0) or (1 shl 1) or (1 shl 9) or (1 shl 3) or (1 shl 2);
+//	POWER_ALL_2D   : PM_Bits = PM_ARM9_DIRECT or POWER_LCD or POWER_2D_A or POWER_2D_B;
+	POWER_ALL_2D   : PM_Bits = (1 shl 16) or (1 shl 0) or (1 shl 1) or (1 shl 9);
+//	POWER_ALL      : PM_Bits = PM_ARM9_DIRECT or POWER_ALL_2D or POWER_3D_CORE or POWER_MATRIX;
+	POWER_ALL      : PM_Bits = (1 shl 16) or (1 shl 0) or (1 shl 1) or (1 shl 9) or (1 shl 3) or (1 shl 2);
 
 procedure sleep(); cdecl; external;
 
 {$ifdef ARM9}
-procedure powerOn(bits: PM_Bits); cdecl; external;
-procedure powerOff(bits: PM_Bits); cdecl; external;
-procedure ledBlink(bm: PM_LedBlinkMode); cdecl; external;
+procedure powerOn(bits: cint); cdecl; external;
+procedure powerOff(bits: cint); cdecl; external;
+procedure ledBlink(bm: cint); cdecl; external;
 
 procedure systemMsgHandler(bytes: cint; user_data: pointer); cdecl; external;
 procedure powerValueHandler(value: cuint32; data: pointer); cdecl; external;
@@ -143,7 +145,7 @@ function readPowerManagement(reg: cint): cint; inline;
 
 procedure powerOn(bits: PM_Bits); inline;
 procedure powerOff(bits: PM_Bits); inline;
-
+procedure systemShutDown(); inline;
 procedure readUserSettings(); cdecl; external;
 {$endif ARM7}
 
@@ -277,6 +279,11 @@ procedure powerOff(bits: PM_Bits); inline;
 begin
 	REG_POWERCNT^ := REG_POWERCNT^ and not bits;
 end;
+
+procedure systemShutDown(); inline;
+begin
+  powerOn(PM_SYSTEM_PWR);
+end;
 {$endif ARM7}
 {$endif NDS_IMPLEMENTATION}
 
diff --git a/packages/libndsfpc/src/nds/timers.inc b/packages/libndsfpc/src/nds/timers.inc
index 8e5b051638..7e11397e9b 100644
--- a/packages/libndsfpc/src/nds/timers.inc
+++ b/packages/libndsfpc/src/nds/timers.inc
@@ -86,7 +86,8 @@ const
   TIMER_DIV_1024  = (3);
 
 procedure timerStop(channel: cint); inline;
-
+procedure cpuStartTiming(timer: cuint32); cdecl; external;
+function cpuEndTiming(): cuint32; cdecl; external;
 {$endif NDS_INTERFACE}
 
 
diff --git a/rtl/nds/libc.inc b/rtl/nds/libc.inc
new file mode 100644
index 0000000000..15ced61e7a
--- /dev/null
+++ b/rtl/nds/libc.inc
@@ -0,0 +1,56 @@
+{
+    This file is part of the Free Component Library (FCL)
+    Copyright (c) 1999-2002 by the Free Pascal development team
+
+    BIOS functions unit for Nintendo DS
+    Copyright (c) 2006 by Francesco Lombardi
+
+    See the file COPYING.FPC, included in this distribution,
+    for details about the copyright.
+
+    This program is distributed in the hope that it will be useful,
+    but WITHOUT ANY WARRANTY; without even the implied warranty of
+    MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
+
+ *****************************************************************************}
+
+function __errno: plongint;  cdecl; export;
+begin
+
+end;
+
+
+function S_ISBLK(m: longint): boolean; inline;
+begin
+  result := (m and _IFMT) = _IFBLK;
+end;
+
+function S_ISCHR(m: longint): boolean; inline;
+begin
+  result := (m and _IFMT) = _IFCHR;
+end;
+
+function S_ISDIR(m: longint): boolean; inline;
+begin
+  result := (m and _IFMT) = _IFDIR;
+end;
+
+function S_ISFIFO(m: longint): boolean; inline;
+begin
+  result := (m and _IFMT) = _IFIFO;
+end;
+
+function S_ISREG(m: longint): boolean; inline;
+begin
+  result := (m and _IFMT) = _IFREG;
+end;
+
+function S_ISLNK(m: longint): boolean; inline;
+begin
+  result := (m and _IFMT) = _IFLNK;
+end;
+
+function S_ISSOCK(m: longint): boolean; inline;
+begin
+  result := (m and _IFMT) = _IFSOCK;
+end;
diff --git a/rtl/nds/libch.inc b/rtl/nds/libch.inc
new file mode 100644
index 0000000000..d72e5508d6
--- /dev/null
+++ b/rtl/nds/libch.inc
@@ -0,0 +1,199 @@
+{
+    This file is part of the Free Component Library (FCL)
+    Copyright (c) 1999-2002 by the Free Pascal development team
+
+    BIOS functions unit for Nintendo DS
+    Copyright (c) 2006 by Francesco Lombardi
+
+    See the file COPYING.FPC, included in this distribution,
+    for details about the copyright.
+
+    This program is distributed in the hope that it will be useful,
+    but WITHOUT ANY WARRANTY; without even the implied warranty of
+    MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
+
+ *****************************************************************************}
+
+type
+  time_t = longint;
+  ptime_t = ^time_t;
+
+  Ptm = ^tm;
+  tm = record
+    tm_sec: longint;
+    tm_min: longint;
+    tm_hour: longint;
+    tm_mday: longint;
+    tm_mon: longint;
+    tm_year: longint;
+    tm_wday: longint;
+    tm_yday: longint;
+    tm_isdst: longint;
+  end;
+
+
+(* Some libc functions *)
+//function printf(format: Pchar; args: array of const): longint; cdecl; external;
+function printf(format: Pchar): longint; cdecl; varargs; external;
+//function sprintf(s: Pchar; format: Pchar; args: array of const): longint; cdecl; external;
+function sprintf(s: Pchar; format: Pchar): longint; varargs; cdecl; external;
+//function iprintf(format: Pchar; args: array of const): longint; cdecl; external;
+function iprintf(format: Pchar): longint; varargs; cdecl; external;
+//function scanf(format: Pchar; args: array of const): longint; cdecl; external;
+function scanf(format: Pchar): longint; cdecl; varargs; external;
+//function sscanf(s: Pchar; format: Pchar; args: array of const): longint; cdecl; external;
+function sscanf(s: Pchar; format: Pchar): longint; cdecl; varargs; external;
+function strcmp(s1: Pchar; s2: Pchar): longint; cdecl; external;
+
+function malloc(size: integer): pointer; cdecl; external;
+function realloc(ptr: pointer; size: integer): pointer; cdecl; external;
+procedure free(ptr: pointer); cdecl; external;
+function memcpy(dest: pointer; src: pointer; n: integer): pointer; cdecl; external;
+
+function gmtime(timer: ptime_t): ptm; cdecl; external;
+function time(timer: ptime_t): time_t; cdecl; external;
+
+type
+  TSort = function (const a, b: pointer): integer;
+procedure qsort(__base: pointer; __nmemb: integer; __size: integer; __compar: TSort); cdecl; external;
+
+function __errno: plongint; cdecl; export;
+
+type
+  _FILE = record
+    firstCluster: longword;
+    length: longword;
+    curPos: longword;
+    curClus: longword;                       // Current cluster to read from
+    curSect: integer;                     // Current sector within cluster
+    curByte: integer;                     // Current byte within sector
+    readBuffer: array [0..511] of byte;   // Buffer used for unaligned reads
+    appClus: longword;                       // Cluster to append to
+    appSect: integer;                     // Sector within cluster for appending
+    appByte: integer;                     // Byte within sector for appending
+    read: boolean;                        // Can read from file
+    write: boolean;                       // Can write to file
+    append: boolean;                      // Can append to file
+    inUse: boolean;                       // This file is open
+    dirEntSector: longword;                  // The sector where the directory entry is stored
+    dirEntOffset: integer;                // The offset within the directory sector
+  end;
+  P_FILE = ^_FILE;
+
+const
+  SEEK_SET = 0;
+  SEEK_CUR = 1;
+  SEEK_END = 2;
+
+(*
+  ------------------------------------------------------------------------------
+    Directory iterator for mantaining state between dir* calls
+  ------------------------------------------------------------------------------
+*)
+type
+  DIR_ITER = record
+    device: longint;
+    dirStruct: pointer;
+  end;
+  PDIR_ITER = ^DIR_ITER;
+
+  stat = packed record
+    st_dev: longint;
+    st_ino: longword;
+    st_mode : longword;
+    st_nlink : word;
+    st_uid : word;
+    st_gid : word;
+    st_rdev : longint;
+    st_size : longint;
+    st_atime : longint;
+
+    st_spare1: longint;
+    st_mtime: longint;
+    st_spare2: longint;
+    st_ctime: longint;
+    st_spare3: longint;
+    st_blksize: longint;
+    st_blocks: longint;
+    st_spare4: array [0..1] of longint;
+  end;
+  TStat = stat;
+  PStat = ^stat;
+
+const
+  _IFMT    = 0170000;   // type of file
+  _IFDIR   = 0040000;   // directory
+  _IFCHR   = 0020000; 	// character special
+  _IFBLK   = 0060000; 	// block special
+  _IFREG   = 0100000; 	// regular
+  _IFLNK   = 0120000; 	// symbolic link
+  _IFSOCK  = 0140000; 	// socket
+  _IFIFO   = 0010000; 	// fifo
+
+  S_BLKSIZE = 1024;  // size of a block
+
+  S_ISUID = 0004000; // set user id on execution
+  S_ISGID = 0002000; // set group id on execution
+
+  NAME_MAX = 767;
+
+function S_ISBLK(m: longint): boolean; inline;
+function S_ISCHR(m: longint): boolean; inline;
+function S_ISDIR(m: longint): boolean; inline;
+function S_ISFIFO(m: longint): boolean; inline;
+function S_ISREG(m: longint): boolean; inline;
+function S_ISLNK(m: longint): boolean; inline;
+function S_ISSOCK(m: longint): boolean; inline;
+
+
+type
+  dirent = record
+    d_ino: longint;
+    d_name: array [0..NAME_MAX] of char;
+  end;
+  PDirent = ^dirent;
+  PPDirent = ^PDirent;
+
+  DIR = record
+    position: longint;
+    dirData: PDIR_ITER;
+    fileData: dirent;
+  end;
+  PDIR = ^DIR;
+
+(* DIR handling *)
+function closedir(dirp: PDIR): longint; cdecl; external;
+function opendir(const dirname: pchar): PDIR; cdecl; external;
+function readdir(dirp: PDIR): PDirent; cdecl; external;
+function readdir_r(dirp: PDIR; entry: PDirent; result: PPDirent): longint; cdecl; external;
+procedure rewinddir(dirp: PDIR); cdecl; external;
+procedure seekdir(dirp: PDIR; loc: longint); cdecl; external;
+function telldir(dirp: PDIR): longint; cdecl; external;
+
+
+function diropen(const path: pchar): PDIR_ITER; cdecl; external;
+function dirreset(dirState: PDIR_ITER): longint; cdecl; external;
+function dirnext(dirState: PDIR_ITER; filename: pchar; filestat: Pstat): longint; cdecl; external;
+function dirclose(dirState: PDIR_ITER): longint; cdecl; external;
+
+(* File handling *)
+function fopen(filename: Pchar; modes: Pchar): P_FILE; cdecl; external;
+function fread(ptr: pointer; size: longint; n: longint; stream: P_FILE): longint; cdecl; external;
+function fread(var ptr; size: longint; n: longint; var stream: _FILE): longint; cdecl; external;
+function fwrite(ptr: pointer; size: longint; n: longint; s: P_FILE): longint; cdecl; external;
+function fwrite(var ptr; size: longint; n: longint; var s: _FILE): longint; cdecl; external;
+function ftell(stream: P_FILE): longint; cdecl; external;
+function ftell(var stream: _FILE): longint; cdecl; external;
+function fseek(stream: P_FILE; off: longint; whence: longint): longint; cdecl; external;
+function fseek(var stream: _FILE; off: longint; whence: longint): longint; cdecl; external;
+function fclose(stream: P_FILE): longint; cdecl; external;
+function fclose(var stream: _FILE): longint; cdecl; external;
+function isatty(fildes: longint): longint; cdecl; external;
+function fileno(para1: P_FILE): longint; cdecl; external;
+function fileno(var para1: _FILE): longint; cdecl; external;
+function fstat(fildes: longint; buf: PStat): longint; cdecl; external;
+function fstat(fildes: longint; var buf: TStat): longint; cdecl; external;
+function _stat(__file:Pchar; var __buf:Tstat):longint; cdecl; external name 'stat';
+function ftruncate(fildes: longint; len: longint): longint; cdecl; external;
+function unlink(path: Pchar): longint; cdecl; external;
+function rename(para1: Pchar; para2: Pchar): longint; cdecl; external;
diff --git a/rtl/nds/nds.inc b/rtl/nds/nds.inc
index 4f33386ea9..99a56790a7 100644
--- a/rtl/nds/nds.inc
+++ b/rtl/nds/nds.inc
@@ -35,4 +35,3 @@ procedure AssignDevice(const FIOD: TFileIODevice);
 begin
   FileIODevice := FIOD;
 end;
- 
diff --git a/rtl/nds/ndsh.inc b/rtl/nds/ndsh.inc
index 6af49ef62b..78638ff5c6 100644
--- a/rtl/nds/ndsh.inc
+++ b/rtl/nds/ndsh.inc
@@ -14,70 +14,19 @@
 
  *****************************************************************************}
 
-(*
 type
-  TStat = packed record
-    st_dev: qword;
-    __pad1: word;
-    __align_pad1: word;
-    st_ino: dword;
-    st_mode : dword;
-    st_nlink : dword;
-    st_uid : dword;
-    st_gid : dword;
-    st_rdev : qword;
-    __pad2 : word;
-    __align_pad2 : word;
-    st_size : longint;
-    st_blksize : longint;
-    st_blocks : longint;
-    st_atime : longint;
-    __unused1 : dword;
-    st_mtime : longint;
-    __unused2 : dword;
-    st_ctime : longint;
-    __unused3 : dword;
-    __unused4 : dword;
-    __unused5 : dword;
-  end;
-  PStat = ^TStat;
-*)
-  (* libc file handling types and routines *)
-(*
-  _FILE = record
-    firstCluster: longword;
-    length: longword;
-    curPos: longword;
-    curClus: longword;                    // Current cluster to read from
-    curSect: integer;                     // Current sector within cluster
-    curByte: integer;                     // Current byte within sector
-    readBuffer: array [0..511] of byte;	  // Buffer used for unaligned reads
-    appClus: longword;			              // Cluster to append to
-    appSect: integer;			                // Sector within cluster for appending
-    appByte: integer;			                // Byte within sector for appending
-    read: boolean;                        // Can read from file
-    write: boolean;                       // Can write to file
-    append: boolean;                      // Can append to file
-    inUse: boolean;                       // This file is open
-    dirEntSector: longword;               // The sector where the directory entry is stored
-    dirEntOffset: integer;                // The offset within the directory sector
-  end;
-  P_FILE = ^_FILE;
-*)
-
-type
-    TDoOpen     = procedure (var f; p: pchar; flags: longint);
-    TDoClose    = procedure (handle: THandle);
-    TDoWrite    = function  (h: THandle; addr: pointer; len: longint): longint;
-    TDoRead     = function  (h: THandle; addr: pointer; len: longint): longint;
-    TDoSeek     = procedure (handle: THandle; pos: longint);
-    TDoSeekend  = function  (handle: THandle): longint;
-    TDoErase    = procedure (p: pchar);
-    TDoRename   = procedure (p1, p2: pchar);
-    TDoFilepos  = function  (handle: THandle): longint;
-    TDoFilesize = function  (handle: THandle): longint;
-    TDoTruncate = procedure (handle: THandle; pos: longint);
-    TDoIsdevice = function  (handle: THandle): boolean;
+  TDoOpen     = procedure (var f; p: pchar; flags: longint);
+  TDoClose    = procedure (handle: THandle);
+  TDoWrite    = function  (h: THandle; addr: pointer; len: longint): longint;
+  TDoRead     = function  (h: THandle; addr: pointer; len: longint): longint;
+  TDoSeek     = procedure (handle: THandle; pos: longint);
+  TDoSeekend  = function  (handle: THandle): longint;
+  TDoErase    = procedure (p: pchar);
+  TDoRename   = procedure (p1, p2: pchar);
+  TDoFilepos  = function  (handle: THandle): longint;
+  TDoFilesize = function  (handle: THandle): longint;
+  TDoTruncate = procedure (handle: THandle; pos: longint);
+  TDoIsdevice = function  (handle: THandle): boolean;
 
   TFileIO = packed record
     DoOpen    : TDoOpen; 
@@ -95,7 +44,6 @@ type
   end;
   PFileIO = ^TFileIO;
 
-
   TDoMkdir  = procedure (const s: string);
   TDoRmdir  = procedure (const s: string);
   TDoChdir  = procedure (const s: string);
@@ -122,10 +70,8 @@ function IsARM9(): boolean;
 procedure AssignDevice(const FIOD: TFileIODevice);
 
 var
-  FileIODevice: TFileIODevice = 
-    (
-      FileIO: 
-        ( 
+  FileIODevice: TFileIODevice = (
+    FileIO: ( 
               DoOpen: nil;
               DoClose: nil;
               DoWrite: nil;
@@ -138,14 +84,11 @@ var
               DoFilesize: nil;
               DoTruncate: nil;
               DoIsdevice: nil;
-        );
-      DirIO:  
-        ( 
+            );
+    DirIO:  ( 
               DoMkdir:  nil;
               DoRmdir:  nil;
               DoChdir:  nil;
               DoGetdir: nil;
-        );
+            );
   );
- 
-  
diff --git a/rtl/nds/system.pp b/rtl/nds/system.pp
index e28174a065..bf512d9c58 100644
--- a/rtl/nds/system.pp
+++ b/rtl/nds/system.pp
@@ -27,6 +27,7 @@ interface
 {$i systemh.inc}
 {$i ndsbiosh.inc}
 {$i ndsh.inc}
+{$i libch.inc}
 
 
 
@@ -92,6 +93,7 @@ implementation
 {$i system.inc}
 {$i ndsbios.inc}
 {$i nds.inc}
+{$i libc.inc}
 
 
 
@@ -182,8 +184,7 @@ begin
 { OS specific startup }
 
 { Set up signals handlers }
-  if IsARM9 then
-    fpc_cpucodeinit;
+  fpc_cpucodeinit;
 
 { Setup heap }
   InitHeap;