Răsfoiți Sursa

* 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 -

Legolas 16 ani în urmă
părinte
comite
3f9327d340
92 a modificat fișierele cu 608 adăugiri și 13552 ștergeri
  1. 2 20
      .gitattributes
  2. 0 2576
      packages/libgbafpc/examples/devkitPro/audio/PlayBoyScout/Makefile
  3. 0 36
      packages/libgbafpc/examples/devkitPro/audio/PlayBoyScout/Makefile.fpc
  4. 0 73
      packages/libgbafpc/examples/devkitPro/audio/PlayBoyScout/PlayBoyScout.pp
  5. BIN
      packages/libgbafpc/examples/devkitPro/audio/PlayBoyScout/data/ScoutSplash.pcx
  6. BIN
      packages/libgbafpc/examples/devkitPro/audio/PlayBoyScout/data/tune.bgf
  7. 0 2574
      packages/libgbafpc/examples/devkitPro/graphics/PCXView/Makefile
  8. 0 34
      packages/libgbafpc/examples/devkitPro/graphics/PCXView/Makefile.fpc
  9. BIN
      packages/libgbafpc/examples/devkitPro/graphics/PCXView/data/ScoutSplash.pcx
  10. BIN
      packages/libgbafpc/examples/devkitPro/graphics/PCXView/data/splash.pcx
  11. 0 46
      packages/libgbafpc/examples/devkitPro/graphics/PCXView/pcx_view.pp
  12. 0 2573
      packages/libgbafpc/examples/devkitPro/graphics/SimpleBGScroll/Makefile
  13. 0 33
      packages/libgbafpc/examples/devkitPro/graphics/SimpleBGScroll/Makefile.fpc
  14. 0 162
      packages/libgbafpc/examples/devkitPro/graphics/SimpleBGScroll/SimpleBGScroll.pp
  15. BIN
      packages/libgbafpc/examples/devkitPro/graphics/SimpleBGScroll/data/r6502_portfont.bin
  16. 0 2358
      packages/libgbafpc/examples/devkitPro/graphics/ansi_console/Makefile
  17. 0 26
      packages/libgbafpc/examples/devkitPro/graphics/ansi_console/Makefile.fpc
  18. 0 60
      packages/libgbafpc/examples/devkitPro/graphics/ansi_console/console.pp
  19. 0 2358
      packages/libgbafpc/examples/devkitPro/template/Makefile
  20. 0 26
      packages/libgbafpc/examples/devkitPro/template/Makefile.fpc
  21. 0 45
      packages/libgbafpc/examples/devkitPro/template/template.pp
  22. 2 0
      packages/libndsfpc/examples/RealTimeClock/Watch/watch.pp
  23. 12 2
      packages/libndsfpc/examples/audio/maxmod/audio_modes/Makefile.fpc
  24. 17 25
      packages/libndsfpc/examples/audio/maxmod/audio_modes/audio_modes.pp
  25. 4 4
      packages/libndsfpc/examples/audio/maxmod/basic_sound/basic_sound.pp
  26. 1 1
      packages/libndsfpc/examples/audio/maxmod/song_events_example/song_events_example.pp
  27. 2 2
      packages/libndsfpc/examples/audio/maxmod/song_events_example2/song_events_example2.pp
  28. 2 0
      packages/libndsfpc/examples/audio/micrecord/micrecord.pp
  29. 2 0
      packages/libndsfpc/examples/card/eeprom/eeprom.pp
  30. 1 2
      packages/libndsfpc/examples/debugging/exceptionTest/exceptionTest.pp
  31. 1 0
      packages/libndsfpc/examples/ds_motion/dsMotion.pp
  32. 1 5
      packages/libndsfpc/examples/dswifi/ap_search/apSearch.pp
  33. 0 5
      packages/libndsfpc/examples/dswifi/autoconnect/autoconnect.pp
  34. 1 0
      packages/libndsfpc/examples/filesystem/embedded_gbfs/embedded_gbfs.pp
  35. 0 1
      packages/libndsfpc/examples/filesystem/libfat/access_dir/access_dir.pp
  36. 2 0
      packages/libndsfpc/examples/graphics/3D/3D_Both_Screens/3DBothScreens.pp
  37. 2 0
      packages/libndsfpc/examples/graphics/3D/BoxTest/BoxTest.pp
  38. 2 0
      packages/libndsfpc/examples/graphics/3D/Display_List/DisplayList.pp
  39. 2 0
      packages/libndsfpc/examples/graphics/3D/Display_List_2/DisplayList2.pp
  40. 2 0
      packages/libndsfpc/examples/graphics/3D/Env_Mapping/EnvMapping.pp
  41. 2 0
      packages/libndsfpc/examples/graphics/3D/Mixed_Text_3D/MixedText3D.pp
  42. 2 0
      packages/libndsfpc/examples/graphics/3D/Paletted_Cube/PalettedCube.pp
  43. 2 0
      packages/libndsfpc/examples/graphics/3D/Picking/Picking.pp
  44. 2 1
      packages/libndsfpc/examples/graphics/3D/Simple_Quad/SimpleQuad.pp
  45. 2 0
      packages/libndsfpc/examples/graphics/3D/Simple_Tri/SimpleTri.pp
  46. 0 2
      packages/libndsfpc/examples/graphics/3D/Textured_Cube/TexturedCube.pp
  47. 1 1
      packages/libndsfpc/examples/graphics/3D/Textured_Quad/TexturedQuad.pp
  48. 1 0
      packages/libndsfpc/examples/graphics/3D/Toon_Shading/ToonShading.pp
  49. 2 0
      packages/libndsfpc/examples/graphics/Backgrounds/16bit_color_bmp/16bitColorBmp.pp
  50. 0 2
      packages/libndsfpc/examples/graphics/Backgrounds/256_color_bmp/256ColorBmp.pp
  51. 2 0
      packages/libndsfpc/examples/graphics/Backgrounds/Double_Buffer/DoubleBuffer.pp
  52. 2 0
      packages/libndsfpc/examples/graphics/Backgrounds/all_in_one/BackgroundAllInOne.pp
  53. 2 0
      packages/libndsfpc/examples/graphics/Backgrounds/rotation/Rotation.pp
  54. 2 0
      packages/libndsfpc/examples/graphics/Printing/ansi_console/AnsiConsole.pp
  55. 2 0
      packages/libndsfpc/examples/graphics/Printing/console_windows/ConsoleWindows.pp
  56. 5 3
      packages/libndsfpc/examples/graphics/Printing/custom_font/CustomFont.pp
  57. 0 10
      packages/libndsfpc/examples/graphics/Printing/print_both_screens/printBothScreens.pp
  58. 2 0
      packages/libndsfpc/examples/graphics/Printing/rotscale_text/RotscaleText.pp
  59. 3 2
      packages/libndsfpc/examples/graphics/Sprites/allocation_test/AllocationTest.pp
  60. 2 1
      packages/libndsfpc/examples/graphics/Sprites/animate_simple/AnimateSimple.pp
  61. 2 0
      packages/libndsfpc/examples/graphics/Sprites/bitmap_sprites/BitmapSprites.pp
  62. 2 0
      packages/libndsfpc/examples/graphics/Sprites/fire_and_sprites/FireAndSprites.pp
  63. 26 25
      packages/libndsfpc/examples/graphics/Sprites/simple/Simple.pp
  64. 28 26
      packages/libndsfpc/examples/graphics/Sprites/sprite_extended_palettes/SpriteExtendedPalettes.pp
  65. 19 17
      packages/libndsfpc/examples/graphics/Sprites/sprite_rotate/SpriteRotate.pp
  66. 2 0
      packages/libndsfpc/examples/hello_world/helloWorld.pp
  67. 2 0
      packages/libndsfpc/examples/input/keyboard/keyboard_async/keyboardAsync.pp
  68. 3 1
      packages/libndsfpc/examples/input/keyboard/keyboard_stdin/keyboardStdin.pp
  69. 2 2
      packages/libndsfpc/src/fat/fat.pp
  70. 2 2
      packages/libndsfpc/src/fat/filesystem.pp
  71. 1 1
      packages/libndsfpc/src/maxmod/inc/maxmod.inc
  72. 1 0
      packages/libndsfpc/src/nds/arm7/clock.inc
  73. 4 4
      packages/libndsfpc/src/nds/arm9/background.inc
  74. 3 3
      packages/libndsfpc/src/nds/arm9/keyboard.inc
  75. 2 0
      packages/libndsfpc/src/nds/arm9/sound.inc
  76. 22 2
      packages/libndsfpc/src/nds/arm9/sprite.inc
  77. 10 6
      packages/libndsfpc/src/nds/arm9/video.inc
  78. 2 2
      packages/libndsfpc/src/nds/arm9/videoGL.inc
  79. 0 4
      packages/libndsfpc/src/nds/bios.inc
  80. 5 1
      packages/libndsfpc/src/nds/dynamicArray.inc
  81. 19 241
      packages/libndsfpc/src/nds/fifocommon.inc
  82. 42 52
      packages/libndsfpc/src/nds/fifomessages.inc
  83. 19 0
      packages/libndsfpc/src/nds/interrupts.inc
  84. 1 1
      packages/libndsfpc/src/nds/ndsinclude.inc
  85. 5 9
      packages/libndsfpc/src/nds/registers_alt.inc
  86. 13 6
      packages/libndsfpc/src/nds/system.inc
  87. 2 1
      packages/libndsfpc/src/nds/timers.inc
  88. 56 0
      rtl/nds/libc.inc
  89. 199 0
      rtl/nds/libch.inc
  90. 0 1
      rtl/nds/nds.inc
  91. 17 74
      rtl/nds/ndsh.inc
  92. 3 2
      rtl/nds/system.pp

+ 2 - 20
.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/PlayBoyScout.pp svneol=native#text/plain
 packages/libgbafpc/examples/audio/PlayBoyScout/data/ScoutSplash.pcx -text
 packages/libgbafpc/examples/audio/PlayBoyScout/data/ScoutSplash.pcx -text
 packages/libgbafpc/examples/audio/PlayBoyScout/data/tune.bgf -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 svneol=native#text/plain
 packages/libgbafpc/examples/graphics/Makefile.fpc svneol=native#text/plain
 packages/libgbafpc/examples/graphics/Makefile.fpc svneol=native#text/plain
 packages/libgbafpc/examples/graphics/PCXView/Makefile 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/cprt07.as svneol=native#text/plain
 rtl/nds/cprt09.as svneol=native#text/plain
 rtl/nds/cprt09.as svneol=native#text/plain
 rtl/nds/dos.pp 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/nds.inc svneol=native#text/plain
 rtl/nds/ndsbios.inc svneol=native#text/plain
 rtl/nds/ndsbios.inc svneol=native#text/plain
 rtl/nds/ndsbiosh.inc svneol=native#text/plain
 rtl/nds/ndsbiosh.inc svneol=native#text/plain

+ 0 - 2576
packages/libgbafpc/examples/devkitPro/audio/PlayBoyScout/Makefile

@@ -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

+ 0 - 36
packages/libgbafpc/examples/devkitPro/audio/PlayBoyScout/Makefile.fpc

@@ -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

+ 0 - 73
packages/libgbafpc/examples/devkitPro/audio/PlayBoyScout/PlayBoyScout.pp

@@ -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.
-
-

BIN
packages/libgbafpc/examples/devkitPro/audio/PlayBoyScout/data/ScoutSplash.pcx


BIN
packages/libgbafpc/examples/devkitPro/audio/PlayBoyScout/data/tune.bgf


+ 0 - 2574
packages/libgbafpc/examples/devkitPro/graphics/PCXView/Makefile

@@ -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

+ 0 - 34
packages/libgbafpc/examples/devkitPro/graphics/PCXView/Makefile.fpc

@@ -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

BIN
packages/libgbafpc/examples/devkitPro/graphics/PCXView/data/ScoutSplash.pcx


BIN
packages/libgbafpc/examples/devkitPro/graphics/PCXView/data/splash.pcx


+ 0 - 46
packages/libgbafpc/examples/devkitPro/graphics/PCXView/pcx_view.pp

@@ -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.
-
-

+ 0 - 2573
packages/libgbafpc/examples/devkitPro/graphics/SimpleBGScroll/Makefile

@@ -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

+ 0 - 33
packages/libgbafpc/examples/devkitPro/graphics/SimpleBGScroll/Makefile.fpc

@@ -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

+ 0 - 162
packages/libgbafpc/examples/devkitPro/graphics/SimpleBGScroll/SimpleBGScroll.pp

@@ -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.
-

BIN
packages/libgbafpc/examples/devkitPro/graphics/SimpleBGScroll/data/r6502_portfont.bin


+ 0 - 2358
packages/libgbafpc/examples/devkitPro/graphics/ansi_console/Makefile

@@ -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:

+ 0 - 26
packages/libgbafpc/examples/devkitPro/graphics/ansi_console/Makefile.fpc

@@ -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:

+ 0 - 60
packages/libgbafpc/examples/devkitPro/graphics/ansi_console/console.pp

@@ -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.
-

+ 0 - 2358
packages/libgbafpc/examples/devkitPro/template/Makefile

@@ -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:

+ 0 - 26
packages/libgbafpc/examples/devkitPro/template/Makefile.fpc

@@ -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:

+ 0 - 45
packages/libgbafpc/examples/devkitPro/template/template.pp

@@ -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.
-
-

+ 2 - 0
packages/libndsfpc/examples/RealTimeClock/Watch/watch.pp

@@ -1,5 +1,7 @@
 program watch;
 program watch;
 
 
+{$mode objfpc}
+
 uses
 uses
   ctypes, nds9;
   ctypes, nds9;
   
   

+ 12 - 2
packages/libndsfpc/examples/audio/maxmod/audio_modes/Makefile.fpc

@@ -20,8 +20,9 @@ target=nds
 fpcdir=../../../../../..
 fpcdir=../../../../../..
 
 
 [clean]
 [clean]
-files=*.elf *.o *.s *.nds *.nef *.h *.bin \
-       $(BUILD)/*
+files=*.elf *.o *.s *.nds *.nef *.h *.bin *.map \
+       $(BUILD)/* \
+       $(INC)/*
 units=*
 units=*
 
 
 [prerules]
 [prerules]
@@ -31,7 +32,16 @@ GFX_FILES = $(foreach dir,gfx,$(notdir $(wildcard $(dir)/*.png)))
 
 
 [rules]
 [rules]
 .NOTPARALLEL:
 .NOTPARALLEL:
+clean: dir_delete fpc_clean fpc_cleanall
 all: direc fpc_all 
 all: direc fpc_all 
+
+#
+# Delete temp directories
+#
+dir_delete:
+        @$(DELTREE) $(CURDIR)/$(BUILD)
+        @$(DELTREE) $(CURDIR)/$(INC)
+
 direc:
 direc:
 ifneq ($(BUILD), $(CURDIR))
 ifneq ($(BUILD), $(CURDIR))
         $(MKDIR) $(BUILD)
         $(MKDIR) $(BUILD)

+ 17 - 25
packages/libndsfpc/examples/audio/maxmod/audio_modes/audio_modes.pp

@@ -1,6 +1,7 @@
 program AudioModes;
 program AudioModes;
 {$L build/soundbank.bin.o}
 {$L build/soundbank.bin.o}
 
 
+{$mode objfpc}
 uses
 uses
   ctypes, nds9, maxmod9;
   ctypes, nds9, maxmod9;
   
   
@@ -42,31 +43,22 @@ const
   MSL_NSAMPS	= 65;
   MSL_NSAMPS	= 65;
   MSL_BANKSIZE	= 68;
   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
 var

+ 4 - 4
packages/libndsfpc/examples/audio/maxmod/basic_sound/basic_sound.pp

@@ -59,13 +59,13 @@ begin
 
 
 	// ansi escape sequence to clear screen and home cursor
 	// ansi escape sequence to clear screen and home cursor
 	// /x1b[line;columnH
 	// /x1b[line;columnH
-	iprintf(#27 + '[2J');
+	iprintf(#$1b'[2J');
 
 
 	// ansi escape sequence to set print co-ordinates
 	// ansi escape sequence to set print co-ordinates
 	// /x1b[line;columnH
 	// /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)
 	// sound effect handle (for cancelling it later)
 	amb := 0;
 	amb := 0;

+ 1 - 1
packages/libndsfpc/examples/audio/maxmod/song_events_example/song_events_example.pp

@@ -33,7 +33,7 @@ var
 //---------------------------------------------------------------------------------
 //---------------------------------------------------------------------------------
 // callback function to handle song events
 // 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
 begin
   case msg of
   case msg of
 
 

+ 2 - 2
packages/libndsfpc/examples/audio/maxmod/song_events_example2/song_events_example2.pp

@@ -37,7 +37,7 @@ var
   sprites: array[0..4] of MySprite;
   sprites: array[0..4] of MySprite;
 
 
 
 
-function myEventHandler(msg, param: mm_word): mm_word;
+function myEventHandler(msg, param: mm_word): mm_callback;
 begin
 begin
   case msg of
   case msg of
     MMCB_SONGMESSAGE:	// process song messages
     MMCB_SONGMESSAGE:	// process song messages
@@ -50,7 +50,7 @@ begin
     end;
     end;
     MMCB_SONGFINISHED:;	// process song finish message (only triggered in songs played with MM_PLAY_ONCE)
     MMCB_SONGFINISHED:;	// process song finish message (only triggered in songs played with MM_PLAY_ONCE)
   end;
   end;
-  result := 0;
+  result := nil;
 end;
 end;
 
 
 
 

+ 2 - 0
packages/libndsfpc/examples/audio/micrecord/micrecord.pp

@@ -1,5 +1,7 @@
 program micrecord;
 program micrecord;
 
 
+{$mode objfpc}
+
 uses
 uses
   ctypes, nds9, maxmod9;
   ctypes, nds9, maxmod9;
 
 

+ 2 - 0
packages/libndsfpc/examples/card/eeprom/eeprom.pp

@@ -1,5 +1,7 @@
 program eeprom;
 program eeprom;
 
 
+{$mode objfpc}
+
 uses
 uses
   ctypes, nds9, sysutils;
   ctypes, nds9, sysutils;
 
 

+ 1 - 2
packages/libndsfpc/examples/debugging/exceptionTest/exceptionTest.pp

@@ -1,6 +1,5 @@
-program main;
+program exceptionTest;
 
 
-{$apptype arm9}
 {$mode objfpc}
 {$mode objfpc}
 
 
 uses
 uses

+ 1 - 0
packages/libndsfpc/examples/ds_motion/dsMotion.pp

@@ -1,5 +1,6 @@
 program dsMotion;
 program dsMotion;
 
 
+{$mode objfpc}
 
 
 uses
 uses
   ctypes, nds9;
   ctypes, nds9;

+ 1 - 5
packages/libndsfpc/examples/dswifi/ap_search/apSearch.pp

@@ -1,11 +1,7 @@
 program apSearch;
 program apSearch;
 
 
-{$apptype arm9}
-{$define ARM9}
-
 {$mode objfpc}
 {$mode objfpc}
 
 
-
 uses
 uses
   ctypes, nds9, dswifi9;
   ctypes, nds9, dswifi9;
 
 
@@ -57,7 +53,7 @@ begin
 end;
 end;
 
 
 //---------------------------------------------------------------------------------
 //---------------------------------------------------------------------------------
-function keyPressed(c: cint): pointer;
+procedure keyPressed(c: cint);
 begin
 begin
   if (c > 0) then
   if (c > 0) then
     iprintf('%c', c);
     iprintf('%c', c);

+ 0 - 5
packages/libndsfpc/examples/dswifi/autoconnect/autoconnect.pp

@@ -1,15 +1,10 @@
 program autoconnect;
 program autoconnect;
 
 
-{$apptype arm9}
-{$define ARM9}
-
 {$mode objfpc}
 {$mode objfpc}
 
 
-
 uses
 uses
   ctypes, nds9, dswifi9;
   ctypes, nds9, dswifi9;
 
 
-
 var
 var
 	ip, gateway, mask, dns1, dns2: in_addr;
 	ip, gateway, mask, dns1, dns2: in_addr;
 
 

+ 1 - 0
packages/libndsfpc/examples/filesystem/embedded_gbfs/embedded_gbfs.pp

@@ -1,4 +1,5 @@
 program embedded_gbfs;
 program embedded_gbfs;
+{$mode objfpc}
 {$L build/data.gbfs.o}
 {$L build/data.gbfs.o}
 uses
 uses
   ctypes, nds9, gbfs;
   ctypes, nds9, gbfs;

+ 0 - 1
packages/libndsfpc/examples/filesystem/libfat/access_dir/access_dir.pp

@@ -1,6 +1,5 @@
 program access_dir;
 program access_dir;
 
 
-{$apptype arm9}
 {$mode objfpc}
 {$mode objfpc}
 
 
 uses
 uses

+ 2 - 0
packages/libndsfpc/examples/graphics/3D/3D_Both_Screens/3DBothScreens.pp

@@ -1,5 +1,7 @@
 program BothScreens3D;
 program BothScreens3D;
 
 
+{$mode objfpc}
+
 uses
 uses
   ctypes, nds9;
   ctypes, nds9;
 
 

+ 2 - 0
packages/libndsfpc/examples/graphics/3D/BoxTest/BoxTest.pp

@@ -1,5 +1,7 @@
 program Box_Test;
 program Box_Test;
 
 
+{$mode objfpc}
+
 uses
 uses
   ctypes, nds9;
   ctypes, nds9;
 
 

+ 2 - 0
packages/libndsfpc/examples/graphics/3D/Display_List/DisplayList.pp

@@ -1,5 +1,7 @@
 program DisplayList;
 program DisplayList;
 
 
+{$mode objfpc}
+
 uses
 uses
   ctypes, nds9;
   ctypes, nds9;
 
 

+ 2 - 0
packages/libndsfpc/examples/graphics/3D/Display_List_2/DisplayList2.pp

@@ -1,5 +1,7 @@
 program DisplayList2;
 program DisplayList2;
 {$L build/teapot.bin.o}
 {$L build/teapot.bin.o}
+{$mode objfpc}
+
 uses
 uses
   ctypes, nds9;
   ctypes, nds9;
 
 

+ 2 - 0
packages/libndsfpc/examples/graphics/3D/Env_Mapping/EnvMapping.pp

@@ -2,6 +2,8 @@ program EnvMapping;
 {$L build/teapot.bin.o}
 {$L build/teapot.bin.o}
 {$L build/cafe.bin.o}
 {$L build/cafe.bin.o}
 
 
+{$mode objfpc}
+
 uses
 uses
   ctypes, nds9;
   ctypes, nds9;
 
 

+ 2 - 0
packages/libndsfpc/examples/graphics/3D/Mixed_Text_3D/MixedText3D.pp

@@ -1,5 +1,7 @@
 program MixedText3D;
 program MixedText3D;
 
 
+{$mode objfpc}
+
 uses
 uses
   ctypes, nds9, math;
   ctypes, nds9, math;
 
 

+ 2 - 0
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_pal.bin.o}
 {$L build/texture9_RGB32_A3_tex.bin.o}
 {$L build/texture9_RGB32_A3_tex.bin.o}
 
 
+{$mode objfpc}
+
 uses
 uses
   ctypes, nds9;
   ctypes, nds9;
 
 

+ 2 - 0
packages/libndsfpc/examples/graphics/3D/Picking/Picking.pp

@@ -3,6 +3,8 @@ program picking;
 {$L build/cylinder.bin.o}
 {$L build/cylinder.bin.o}
 {$L build/sphere.bin.o}
 {$L build/sphere.bin.o}
 
 
+{$mode objfpc}
+
 uses
 uses
   ctypes, nds9;
   ctypes, nds9;
   
   

+ 2 - 1
packages/libndsfpc/examples/graphics/3D/Simple_Quad/SimpleQuad.pp

@@ -1,9 +1,10 @@
 program SimpleQuad;
 program SimpleQuad;
 
 
+{$mode objfpc}
+
 uses
 uses
   ctypes, nds9;
   ctypes, nds9;
 
 
-
 var
 var
   rotateX: cfloat = 0.0;
   rotateX: cfloat = 0.0;
   rotateY: cfloat = 0.0;
   rotateY: cfloat = 0.0;

+ 2 - 0
packages/libndsfpc/examples/graphics/3D/Simple_Tri/SimpleTri.pp

@@ -1,5 +1,7 @@
 program SimpleTri;
 program SimpleTri;
 
 
+{$mode objfpc}
+
 uses
 uses
   ctypes, nds9;
   ctypes, nds9;
 
 

+ 0 - 2
packages/libndsfpc/examples/graphics/3D/Textured_Cube/TexturedCube.pp

@@ -2,8 +2,6 @@ program TexturedCube;
 
 
 {$L build/texture.bin.o}
 {$L build/texture.bin.o}
 
 
-{$apptype arm9}
-
 {$mode objfpc}
 {$mode objfpc}
 
 
 uses
 uses

+ 1 - 1
packages/libndsfpc/examples/graphics/3D/Textured_Quad/TexturedQuad.pp

@@ -1,6 +1,6 @@
 program TextureQuad;
 program TextureQuad;
 {$L build/texture.bin.o}
 {$L build/texture.bin.o}
-
+{$mode objfpc}
 uses
 uses
   ctypes, nds9;
   ctypes, nds9;
 
 

+ 1 - 0
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)
 //NB: This would look better if the object had a bit of texturing too (eyes, nose etc)
 
 
 {$L build/statue.bin.o}
 {$L build/statue.bin.o}
+{$mode objfpc}
 
 
 uses
 uses
   ctypes, nds9;
   ctypes, nds9;

+ 2 - 0
packages/libndsfpc/examples/graphics/Backgrounds/16bit_color_bmp/16bitColorBmp.pp

@@ -1,6 +1,8 @@
 program bmp_16bit_color;
 program bmp_16bit_color;
 {$L build/drunkenlogo.o}
 {$L build/drunkenlogo.o}
 
 
+{$mode objfpc}
+
 uses
 uses
   ctypes, nds9;
   ctypes, nds9;
 
 

+ 0 - 2
packages/libndsfpc/examples/graphics/Backgrounds/256_color_bmp/256ColorBmp.pp

@@ -1,8 +1,6 @@
 program bmp_256_color;
 program bmp_256_color;
 {$L build/drunkenlogo.o}
 {$L build/drunkenlogo.o}
 
 
-{$apptype arm9}
-
 {$mode objfpc}
 {$mode objfpc}
 
 
 uses
 uses

+ 2 - 0
packages/libndsfpc/examples/graphics/Backgrounds/Double_Buffer/DoubleBuffer.pp

@@ -1,5 +1,7 @@
 program DoubleBuffer;
 program DoubleBuffer;
 
 
+{$mode objfpc}
+
 uses
 uses
   ctypes, nds9;
   ctypes, nds9;
 
 

+ 2 - 0
packages/libndsfpc/examples/graphics/Backgrounds/all_in_one/BackgroundAllInOne.pp

@@ -3,6 +3,8 @@ program AllInOne;
 {$L build/TextBackgrounds.o}
 {$L build/TextBackgrounds.o}
 {$L build/Multilayer.o}
 {$L build/Multilayer.o}
 
 
+{$mode objfpc}
+
 uses
 uses
   ctypes, nds9, basic, advanced, handmade, scrolling;
   ctypes, nds9, basic, advanced, handmade, scrolling;
 
 

+ 2 - 0
packages/libndsfpc/examples/graphics/Backgrounds/rotation/Rotation.pp

@@ -2,6 +2,8 @@ program BG_Rotation;
 {$L build/drunkenlogo.bin.o}
 {$L build/drunkenlogo.bin.o}
 {$L build/palette.bin.o}
 {$L build/palette.bin.o}
 
 
+{$mode objfpc}
+
 uses
 uses
   ctypes, nds9;
   ctypes, nds9;
 
 

+ 2 - 0
packages/libndsfpc/examples/graphics/Printing/ansi_console/AnsiConsole.pp

@@ -1,5 +1,7 @@
 program AnsiConsole;
 program AnsiConsole;
 
 
+{$mode objfpc}
+
 uses
 uses
   ctypes, nds9;
   ctypes, nds9;
 
 

+ 2 - 0
packages/libndsfpc/examples/graphics/Printing/console_windows/ConsoleWindows.pp

@@ -1,5 +1,7 @@
 program ConsoleWindows;
 program ConsoleWindows;
 
 
+{$mode objfpc}
+
 uses
 uses
   ctypes, nds9;
   ctypes, nds9;
 
 

+ 5 - 3
packages/libndsfpc/examples/graphics/Printing/custom_font/CustomFont.pp

@@ -1,6 +1,8 @@
 program custom_font;
 program custom_font;
 {$L build/font.o}
 {$L build/font.o}
 
 
+{$mode objfpc}
+
 uses
 uses
   ctypes, nds9;
   ctypes, nds9;
 
 
@@ -19,8 +21,8 @@ var
 
 
 
 
 begin
 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);
 	console := consoleInit(nil, 0, BgType_Text4bpp, BgSize_T_256x256, map_base, tile_base, false, false);
 
 
@@ -33,7 +35,7 @@ begin
 	font.convertSingleColor := false;
 	font.convertSingleColor := false;
 
 
 	consoleSetFont(console, @font);
 	consoleSetFont(console, @font);
-	
+
 	printf('Custom Font Demo'#10);
 	printf('Custom Font Demo'#10);
 	printf('   by Poffy'#10);
 	printf('   by Poffy'#10);
 	printf('modified by WinterMute'#10);
 	printf('modified by WinterMute'#10);

+ 0 - 10
packages/libndsfpc/examples/graphics/Printing/print_both_screens/printBothScreens.pp

@@ -1,7 +1,5 @@
 program printBothScreens;
 program printBothScreens;
 
 
-{$apptype arm9}
-
 {$mode objfpc}
 {$mode objfpc}
 
 
 uses
 uses
@@ -10,7 +8,6 @@ uses
 var
 var
 	touch: touchPosition;
 	touch: touchPosition;
 	topScreen, bottomScreen: PrintConsole;
 	topScreen, bottomScreen: PrintConsole;
-//	p: PrintConsole;
 
 
 begin
 begin
 	videoSetMode(MODE_0_2D);
 	videoSetMode(MODE_0_2D);
@@ -22,13 +19,6 @@ begin
 	consoleInit(@topScreen, 3,BgType_Text4bpp, BgSize_T_256x256, 31, 0, true, true);
 	consoleInit(@topScreen, 3,BgType_Text4bpp, BgSize_T_256x256, 31, 0, true, true);
 	consoleInit(@bottomScreen, 3,BgType_Text4bpp, BgSize_T_256x256, 31, 0, false, 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);
 	consoleSelect(@topScreen);
 	
 	
 	iprintf(#10#10#9'Hello DS dev''rs'#10);
 	iprintf(#10#10#9'Hello DS dev''rs'#10);

+ 2 - 0
packages/libndsfpc/examples/graphics/Printing/rotscale_text/RotscaleText.pp

@@ -1,6 +1,8 @@
 program RotscaleText;
 program RotscaleText;
 {$L build/font.o}
 {$L build/font.o}
 
 
+{$mode objfpc}
+
 uses
 uses
   ctypes, nds9;
   ctypes, nds9;
 
 

+ 3 - 2
packages/libndsfpc/examples/graphics/Sprites/allocation_test/AllocationTest.pp

@@ -1,6 +1,7 @@
 program AllocationTest;
 program AllocationTest;
 
 
 {$mode objfpc}
 {$mode objfpc}
+
 uses
 uses
   ctypes, nds9;
   ctypes, nds9;
 
 
@@ -120,7 +121,7 @@ var
 begin
 begin
   //sort our sprites on z
   //sort our sprites on z
   //a more efficient way would be to keep a sorted list of sprites
   //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
   //set oam to values required by my sprite
   for i := 0 to SPRITE_MAX - 1 do
   for i := 0 to SPRITE_MAX - 1 do
@@ -178,7 +179,7 @@ begin
 end;
 end;
 
 
 var
 var
-  memUsageTemp: cint;// = $FFFFFFFF;
+  memUsageTemp: longint;// = $FFFFFFFF;
 
 
 begin
 begin
   randomize;
   randomize;

+ 2 - 1
packages/libndsfpc/examples/graphics/Sprites/animate_simple/AnimateSimple.pp

@@ -42,10 +42,11 @@ program AnimateSimple;
 {$L build/man.o}
 {$L build/man.o}
 {$L build/woman.o}
 {$L build/woman.o}
 
 
+{$mode objfpc}
+
 uses
 uses
   ctypes, nds9;
   ctypes, nds9;
 
 
-
 var
 var
   manTiles: array [0..3071] of cuint; cvar; external;
   manTiles: array [0..3071] of cuint; cvar; external;
   manPal: array [0..255] of cushort; cvar; external;
   manPal: array [0..255] of cushort; cvar; external;

+ 2 - 0
packages/libndsfpc/examples/graphics/Sprites/bitmap_sprites/BitmapSprites.pp

@@ -1,5 +1,7 @@
 program BitmapSprites;
 program BitmapSprites;
 
 
+{$mode objfpc}
+
 uses
 uses
   ctypes, nds9;
   ctypes, nds9;
 
 

+ 2 - 0
packages/libndsfpc/examples/graphics/Sprites/fire_and_sprites/FireAndSprites.pp

@@ -1,6 +1,8 @@
 program FireAndSprites;
 program FireAndSprites;
 {$L build/ball.pcx.o}
 {$L build/ball.pcx.o}
 
 
+{$mode objfpc}
+
 uses
 uses
   ctypes, nds9;
   ctypes, nds9;
   
   

+ 26 - 25
packages/libndsfpc/examples/graphics/Sprites/simple/Simple.pp

@@ -1,9 +1,10 @@
 program Simple;
 program Simple;
 
 
+{$mode objfpc}
+
 uses
 uses
   ctypes, nds9;
   ctypes, nds9;
 
 
-
 var
 var
 	i: integer;
 	i: integer;
 	touch: touchPosition;
 	touch: touchPosition;
@@ -39,42 +40,42 @@ begin
 			touchRead(touch);
 			touchRead(touch);
 
 
 		oamSet(oamMain, //main graphics engine context
 		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
 			touch.px, touch.py,   //x and y pixle location of the sprite
 			0,                    //priority, lower renders last (on top)
 			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
 			gfx,                  //pointer to the loaded graphics
-			-1,                  //sprite rotation data  
+			-1,                  //sprite rotation data
 			false,               //double the size when rotating?
 			false,               //double the size when rotating?
 			false,			//hide the sprite?
 			false,			//hide the sprite?
 			false, false, //vflip, hflip
 			false, false, //vflip, hflip
 			false	//apply mosaic
 			false	//apply mosaic
-			);              
-		
-		
+			);
+
+
 		oamSet(oamSub,
 		oamSet(oamSub,
-			0, 
-			touch.px, 
-			touch.py, 
-			0, 
 			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();
 		swiWaitForVBlank();
 
 
-		
+
 		oamUpdate(oamMain);
 		oamUpdate(oamMain);
 		oamUpdate(oamSub);
 		oamUpdate(oamSub);
 	end;
 	end;
 
 
-end.
+end.

+ 28 - 26
packages/libndsfpc/examples/graphics/Sprites/sprite_extended_palettes/SpriteExtendedPalettes.pp

@@ -1,5 +1,7 @@
 program SpriteExtendedPalettes;
 program SpriteExtendedPalettes;
 
 
+{$mode objfpc}
+
 uses
 uses
   ctypes, nds9;
   ctypes, nds9;
 
 
@@ -32,8 +34,8 @@ begin
 	//------------------------------------------------------------------
 	//------------------------------------------------------------------
 	vramSetBankF(VRAM_F_LCD);
 	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
 	// set vram to ex palette
 	vramSetBankF(VRAM_F_SPRITE_EXT_PALETTE);
 	vramSetBankF(VRAM_F_SPRITE_EXT_PALETTE);
@@ -46,40 +48,40 @@ begin
 			touchRead(touch);
 			touchRead(touch);
 
 
 		oamSet(oamMain, //main graphics engine context
 		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
 			touch.px, touch.py,   //x and y pixle location of the sprite
 			0,                    //priority, lower renders last (on top)
 			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
 			gfx1,                  //pointer to the loaded graphics
-			-1,                  //sprite rotation data  
+			-1,                  //sprite rotation data
 			false,               //double the size when rotating?
 			false,               //double the size when rotating?
 			false,			//hide the sprite?
 			false,			//hide the sprite?
 			false, false, //vflip, hflip
 			false, false, //vflip, hflip
 			false	//apply mosaic
 			false	//apply mosaic
-			);              
-		
-		
+			);
+
+
 		oamSet(oamMain,
 		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
 			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();
 		swiWaitForVBlank();
 
 
-		
+
 		oamUpdate(oamMain);
 		oamUpdate(oamMain);
   end;
   end;
-end.
+end.

+ 19 - 17
packages/libndsfpc/examples/graphics/Sprites/sprite_rotate/SpriteRotate.pp

@@ -1,5 +1,7 @@
 program SpriteRotate;
 program SpriteRotate;
 
 
+{$mode objfpc}
+
 uses
 uses
   ctypes, nds9;
   ctypes, nds9;
 
 
@@ -40,43 +42,43 @@ begin
 		// width (20 - 16, 20 - 16, )
 		// width (20 - 16, 20 - 16, )
 		//-------------------------------------------------------------------------
 		//-------------------------------------------------------------------------
 		oamRotateScale(oamMain, 0, angle, intToFixed(1, 8), intToFixed(1, 8));
 		oamRotateScale(oamMain, 0, angle, intToFixed(1, 8), intToFixed(1, 8));
-    
+
 		oamSet(oamMain, //main graphics engine context
 		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
 			20 - 16, 20 - 16,   //x and y pixle location of the sprite
 			0,                    //priority, lower renders last (on top)
 			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
 			gfx,                  //pointer to the loaded graphics
-			0,                  //sprite rotation/scale matrix index 
+			0,                  //sprite rotation/scale matrix index
 			true,               //double the size when rotating?
 			true,               //double the size when rotating?
 			false,			//hide the sprite?
 			false,			//hide the sprite?
 			false, false, //vflip, hflip
 			false, false, //vflip, hflip
 			false	//apply mosaic
 			false	//apply mosaic
-			);              
-		
+			);
+
 		//-------------------------------------------------------------------------
 		//-------------------------------------------------------------------------
 		// Because the sprite below has size double set to false it can never be larger than
 		// 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
 		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
 			204, 20,   //x and y pixle location of the sprite
 			0,                    //priority, lower renders last (on top)
 			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
 			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,               //double the size when rotating?
 			false,			//hide the sprite?
 			false,			//hide the sprite?
 			false, false, //vflip, hflip
 			false, false, //vflip, hflip
 			false	//apply mosaic
 			false	//apply mosaic
-			);              
+			);
 		swiWaitForVBlank();
 		swiWaitForVBlank();
 
 
-		
+
 		oamUpdate(oamMain);
 		oamUpdate(oamMain);
 	end;
 	end;
-end.
+end.

+ 2 - 0
packages/libndsfpc/examples/hello_world/helloWorld.pp

@@ -1,5 +1,7 @@
 program hello_world;
 program hello_world;
 
 
+{$mode objfpc}
+
 uses
 uses
   ctypes, nds9;
   ctypes, nds9;
 
 

+ 2 - 0
packages/libndsfpc/examples/input/keyboard/keyboard_async/keyboardAsync.pp

@@ -1,5 +1,7 @@
 program keyboardAsync;
 program keyboardAsync;
 
 
+{$mode objfpc}
+
 uses
 uses
   ctypes, nds9;
   ctypes, nds9;
   
   

+ 3 - 1
packages/libndsfpc/examples/input/keyboard/keyboard_stdin/keyboardStdin.pp

@@ -1,9 +1,11 @@
 program keyboardStdin;
 program keyboardStdin;
 
 
+{$mode objfpc}
+
 uses
 uses
   ctypes, nds9;
   ctypes, nds9;
   
   
-function OnKeyPressed(key: cint): pointer;
+procedure OnKeyPressed(key: cint);
 begin
 begin
   if (key > 0) then
   if (key > 0) then
     iprintf('%c', key);
     iprintf('%c', key);

+ 2 - 2
packages/libndsfpc/src/fat/fat.pp

@@ -21,14 +21,14 @@ uses
 {$linklib sysbase}
 {$linklib sysbase}
 
 
 {$define NDS_INTERFACE}
 {$define NDS_INTERFACE}
-{$include fathelper.inc}
+{ $include fathelper.inc}
 {$include ../nds/disc_io.inc}
 {$include ../nds/disc_io.inc}
 {$include fat.inc}
 {$include fat.inc}
 {$undef NDS_INTERFACE}
 {$undef NDS_INTERFACE}
 
 
 implementation
 implementation
 {$define NDS_IMPLEMENTATION}
 {$define NDS_IMPLEMENTATION}
-{$include fathelper.inc}
+{ $include fathelper.inc}
 {$include ../nds/disc_io.inc}
 {$include ../nds/disc_io.inc}
 {$include fat.inc}
 {$include fat.inc}
 {$undef NDS_IMPLEMENTATION}
 {$undef NDS_IMPLEMENTATION}

+ 2 - 2
packages/libndsfpc/src/fat/filesystem.pp

@@ -21,14 +21,14 @@ uses
 {$linklib sysbase}
 {$linklib sysbase}
 
 
 {$define NDS_INTERFACE}
 {$define NDS_INTERFACE}
-{$include fathelper.inc}
+{ $include fathelper.inc}
 {$include ../nds/disc_io.inc}
 {$include ../nds/disc_io.inc}
 {$include filesystem.inc}
 {$include filesystem.inc}
 {$undef NDS_INTERFACE}
 {$undef NDS_INTERFACE}
 
 
 implementation
 implementation
 {$define NDS_IMPLEMENTATION}
 {$define NDS_IMPLEMENTATION}
-{$include fathelper.inc}
+{ $include fathelper.inc}
 {$include ../nds/disc_io.inc}
 {$include ../nds/disc_io.inc}
 {$include filesystem.inc}
 {$include filesystem.inc}
 {$undef NDS_IMPLEMENTATION}
 {$undef NDS_IMPLEMENTATION}

+ 1 - 1
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 mmSetModulePitch(pitch: mm_word); cdecl; external;
 procedure mmPlayModule(address, mode, layer: mm_word); cdecl; external;
 procedure mmPlayModule(address, mode, layer: mm_word); cdecl; external;
 function mmEffect(sample_ID: mm_word): mm_sfxhand; 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 mmEffectVolume(handle: mm_sfxhand; volume: mm_word); cdecl; external;
 procedure mmEffectPanning(handle: mm_sfxhand; panning: mm_byte); cdecl; external;
 procedure mmEffectPanning(handle: mm_sfxhand; panning: mm_byte); cdecl; external;
 procedure mmEffectRate(handle: mm_sfxhand; rate: mm_word); cdecl; external;
 procedure mmEffectRate(handle: mm_sfxhand; rate: mm_word); cdecl; external;

+ 1 - 0
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 integerToBCD(var data: cuint8; length: cuint32); cdecl; external;
 
 
 procedure initClockIRQ(); cdecl; external;
 procedure initClockIRQ(); cdecl; external;
+procedure resyncClock(); cdecl; external;
 {$endif NDS_INTERFACE}
 {$endif NDS_INTERFACE}

+ 4 - 4
packages/libndsfpc/src/nds/arm9/background.inc

@@ -515,15 +515,15 @@ end;
 procedure bgSetMosaic(dx, dy: cuint); inline;
 procedure bgSetMosaic(dx, dy: cuint); inline;
 begin
 begin
   sassert( (dx < 16) and (dy < 16), 'Mosaic range is 0 to 15');
   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;
 end;
 
 
 procedure bgSetMosaicSub(dx, dy: cuint); inline;
 procedure bgSetMosaicSub(dx, dy: cuint); inline;
 begin
 begin
   sassert( (dx < 16) and (dy < 16), 'Mosaic range is 0 to 15');
   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;
 end;
 
 
 
 

+ 3 - 3
packages/libndsfpc/src/nds/arm9/keyboard.inc

@@ -42,8 +42,8 @@
 {$ifdef NDS_INTERFACE}
 {$ifdef NDS_INTERFACE}
 
 
 type
 type
-  KeyChangeCallback = function(key: cint): pointer;
-//  KeyChangeCallback = procedure(key: cint) of object;
+//  KeyChangeCallback = function(key: cint): pointer;
+  KeyChangeCallback = procedure(key: cint);
   PKeyChangeCallback = ^KeyChangeCallback;
   PKeyChangeCallback = ^KeyChangeCallback;
 
 
   KeyboardState = integer;
   KeyboardState = integer;
@@ -99,6 +99,6 @@ procedure keyboardShow(); cdecl; external;
 procedure keyboardHide(); cdecl; external;
 procedure keyboardHide(); cdecl; external;
 function keyboardGetKey(x, y: cint): cint; cdecl; external;
 function keyboardGetKey(x, y: cint): cint; cdecl; external;
 procedure keyboardGetString(buffer: pchar; maxLen: 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;
 function keyboardUpdate(): cint; cdecl; external;
 {$endif NDS_INTERFACE}
 {$endif NDS_INTERFACE}

+ 2 - 0
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 soundPause(soundId: cint); cdecl; external;
 
 
+procedure soundSetWaveDuty(soundId: cint; cycle: DutyCycle); cdecl; external;
+
 procedure soundKill(soundId: cint); cdecl; external;
 procedure soundKill(soundId: cint); cdecl; external;
 
 
 procedure soundResume(soundId: cint); cdecl; external;
 procedure soundResume(soundId: cint); cdecl; external;

+ 22 - 2
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 oamFreeGfx(var oam: OamState; const gfxOffset: pointer); cdecl; external;
 
 
 procedure oamSetMosaic(dx, dy: cuint); inline;
 procedure oamSetMosaic(dx, dy: cuint); inline;
+procedure oamSetMosaicSub(dx, dy: cuint); inline;
 
 
 procedure oamSet( var oam: OamState; 
 procedure oamSet( var oam: OamState; 
                   id, x, y, priority, palette_alpha: cint; 
                   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 oamClear(var oam: OamState; start, count: cint); cdecl; external;
 procedure oamUpdate(var oam: OamState); cdecl; external;
 procedure oamUpdate(var oam: OamState); cdecl; external;
 procedure oamRotateScale(var oam: OamState; rotId, angle, sx, sy: cint); 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;
 function oamCountFragments(var oam: OamState): cint; cdecl; external;
 procedure oamAllocReset(var oam: OamState); cdecl; external;
 procedure oamAllocReset(var oam: OamState); cdecl; external;
 function oamGfxPtrToOffset(const offset: pointer): cuint; cdecl; external;
 function oamGfxPtrToOffset(const offset: pointer): cuint; cdecl; external;
@@ -364,8 +367,25 @@ end;
 procedure oamSetMosaic(dx, dy: cuint); inline;
 procedure oamSetMosaic(dx, dy: cuint); inline;
 begin
 begin
   sassert((dx < 16) and (dy < 16), 'Mosaic range is 0 to 15');
   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;
 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}
 {$endif NDS_IMPLEMENTATION}

+ 10 - 6
packages/libndsfpc/src/nds/arm9/video.inc

@@ -43,6 +43,10 @@
 {$endif ARM9}
 {$endif ARM9}
 
 
 {$ifdef NDS_INTERFACE}
 {$ifdef NDS_INTERFACE}
+var
+  mosaicShadow: cuint16; cvar; external;
+  mosaicShadowSub: cuint16; cvar; external;
+
 const
 const
   BG_PALETTE          : pcuint16 = pointer($05000000);
   BG_PALETTE          : pcuint16 = pointer($05000000);
   BG_PALETTE_SUB      : pcuint16 = pointer($05000400);
   BG_PALETTE_SUB      : pcuint16 = pointer($05000400);
@@ -244,10 +248,10 @@ type
   P_ext_palette = ^_ext_palette;
   P_ext_palette = ^_ext_palette;
 
 
 var
 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;
 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;
 procedure vramRestoreMainBanks(vramTemp: cuint32); cdecl; external;
@@ -375,8 +379,8 @@ const
   SUB_WIN_IN     : pcuint16 = pointer($04001048);
   SUB_WIN_IN     : pcuint16 = pointer($04001048);
   SUB_WIN_OUT    : pcuint16 = pointer($0400104A);
   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_BLDCNT     : pcuint16 = pointer($04000050);
   REG_BLDY       : pcuint16 = pointer($04000054);
   REG_BLDY       : pcuint16 = pointer($04000054);

+ 2 - 2
packages/libndsfpc/src/nds/arm9/videoGL.inc

@@ -75,7 +75,7 @@ const
 
 
 function inttof32(n: cint): cint32; inline;
 function inttof32(n: cint): cint32; inline;
 function f32toint(n: cint32): cint; 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;
 function f32tofloat(n: cint32): cfloat; inline;
 
 
 type
 type
@@ -89,7 +89,7 @@ function TEXTURE_PACK(u, v: cint): cint; inline;
 //function TEXTURE_PACK(u, v: cshort): cuint; inline;
 //function TEXTURE_PACK(u, v: cshort): cuint; inline;
 
 
 type
 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 inttov16(n: cint): cint{v16}; inline;
 function f32tov16(n: cint32): v16; inline; 
 function f32tov16(n: cint32): v16; inline; 

+ 0 - 4
packages/libndsfpc/src/nds/bios.inc

@@ -69,10 +69,6 @@ procedure swiSoftReset(); cdecl; external;
 
 
 procedure swiDelay(duration: cuint32); 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 swiDivide(numerator, divisor: cint): cint; cdecl; external;
 function swiRemainder(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;
 procedure swiDivMod(numerator, divisor: cint; var result, remainder: cint); cdecl; external;

+ 5 - 1
packages/libndsfpc/src/nds/dynamicArray.inc

@@ -86,11 +86,15 @@ var
 begin
 begin
 	if (index >= v^.cur_size) then 
 	if (index >= v^.cur_size) then 
 	begin
 	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^.cur_size := v^.cur_size * 2;
-		v^.data := ReAllocMem(v^.data, sizeof(pointer) * v^.cur_size);
 	end;
 	end;
+	{
 	i := integer(v^.data);
 	i := integer(v^.data);
 	i := i + index;
 	i := i + index;
   pointer(i) := item;
   pointer(i) := item;
+  }
+  v^.data[index] := item;
 end;
 end;
 {$endif NDS_IMPLEMENTATION}
 {$endif NDS_IMPLEMENTATION}

+ 19 - 241
packages/libndsfpc/src/nds/fifocommon.inc

@@ -47,11 +47,11 @@ const
   FIFO_PM     : FifoChannels = 0;
   FIFO_PM     : FifoChannels = 0;
   FIFO_SOUND  : FifoChannels = 1;
   FIFO_SOUND  : FifoChannels = 1;
   FIFO_SYSTEM : FifoChannels = 2;
   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_01: FifoChannels = 8;
   FIFO_USER_02: FifoChannels = 9;
   FIFO_USER_02: FifoChannels = 9;
   FIFO_USER_03: FifoChannels = 10;	    
   FIFO_USER_03: FifoChannels = 10;	    
@@ -65,16 +65,17 @@ const
 type
 type
   FifoSoundCommand = integer;
   FifoSoundCommand = integer;
 const
 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
 type
   FifoSystemCommands = integer;
   FifoSystemCommands = integer;
@@ -99,6 +100,7 @@ const
   WIFI_ENABLE   : FifoWifiCommands = 0;
   WIFI_ENABLE   : FifoWifiCommands = 0;
   WIFI_DISABLE  : FifoWifiCommands = 1;
   WIFI_DISABLE  : FifoWifiCommands = 1;
   WIFI_SYNC     : FifoWifiCommands = 2;
   WIFI_SYNC     : FifoWifiCommands = 2;
+  WIFI_STARTUP  : FifoWifiCommands = 3;
 
 
 type
 type
   PM_LedBlinkMode = integer;
   PM_LedBlinkMode = integer;
@@ -107,18 +109,8 @@ const
   PM_LED_SLEEP: PM_LedBlinkMode = (1 shl 4);
   PM_LED_SLEEP: PM_LedBlinkMode = (1 shl 4);
   PM_LED_BLINK: PM_LedBlinkMode = (3 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}
 {$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 fifoSetValue32Handler(channel: integer; newhandler: FifoValue32HandlerFunc; userdata: pointer): cbool; cdecl; external;
 function fifoSetDatamsgHandler(channel: integer; newhandler: FifoDatamsgHandlerFunc; 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 fifoCheckAddress(channel: integer): cbool; cdecl; external;
 function fifoCheckValue32(channel: integer): cbool; cdecl; external;
 function fifoCheckValue32(channel: integer): cbool; cdecl; external;
 function fifoCheckDatamsg(channel: integer): cbool; cdecl; external;
 function fifoCheckDatamsg(channel: integer): cbool; cdecl; external;
 
 
 function fifoCheckDatamsgLength(channel: integer): cint; cdecl; external;
 function fifoCheckDatamsgLength(channel: integer): cint; cdecl; external;
 
 
-function fifoCountDatamsg(channel: integer): cint; cdecl; external;
-
 function fifoGetAddress(channel: integer): pointer; cdecl; external;
 function fifoGetAddress(channel: integer): pointer; cdecl; external;
 
 
 function fifoGetValue32(channel: integer): cuint32; cdecl; external;
 function fifoGetValue32(channel: integer): cuint32; cdecl; external;
 
 
-
 function fifoGetDatamsg(channel, buffersize: cint; destbuffer: pcuint8): cint; 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}
 {$endif NDS_INTERFACE}
 
 
 
 
 
 
 {$ifdef NDS_IMPLEMENTATION}
 {$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}
 {$endif NDS_IMPLEMENTATION}

+ 42 - 52
packages/libndsfpc/src/nds/fifomessages.inc

@@ -43,62 +43,52 @@ type
 {$PACKRECORDS 4} 
 {$PACKRECORDS 4} 
   FifoMessage = record
   FifoMessage = record
     _type: cuint16;
     _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;
   end;
   TFifoMessage = FifoMessage;
   TFifoMessage = FifoMessage;
   PFifoMessage = ^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}   
 {$PACKRECORDS C}   
 {$endif NDS_INTERFACE}
 {$endif NDS_INTERFACE}
 
 

+ 19 - 0
packages/libndsfpc/src/nds/interrupts.inc

@@ -122,6 +122,11 @@ procedure irqInitHandler(handler: TVoidFunctionPointer); cdecl; external;
 procedure irqInitHandler(handler: pointer); cdecl; external;
 procedure irqInitHandler(handler: pointer); cdecl; external;
 procedure irqEnable(irq: cuint32); cdecl; external;
 procedure irqEnable(irq: cuint32); cdecl; external;
 procedure irqDisable(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}
 {$endif NDS_INTERFACE}
 
 
 {$ifdef NDS_IMPLEMENTATION}
 {$ifdef NDS_IMPLEMENTATION}
@@ -131,5 +136,19 @@ begin
   result := (1 shl (n + 3));
   result := (1 shl (n + 3));
 end;
 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}
 {$endif NDS_IMPLEMENTATION}
 
 

+ 1 - 1
packages/libndsfpc/src/nds/ndsinclude.inc

@@ -1,5 +1,5 @@
 
 
-{$include helper.inc}
+{ $include helper.inc}
 {$include ndstypes.inc}
 {$include ndstypes.inc}
 {$include bios.inc}
 {$include bios.inc}
 {$include card.inc}
 {$include card.inc}

+ 5 - 9
packages/libndsfpc/src/nds/registers_alt.inc

@@ -111,10 +111,8 @@ const
   REG_WININ		: pcuint16 = pointer($4000048);
   REG_WININ		: pcuint16 = pointer($4000048);
   REG_WINOUT		: pcuint16 = pointer($400004A);
   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_CR = REG_BLDCNT;
   BLEND_AB = REG_BLDALPHA;
   BLEND_AB = REG_BLDALPHA;
   BLEND_Y = REG_BLDY;
   BLEND_Y = REG_BLDY;
@@ -171,13 +169,11 @@ const
   REG_WIN0V_SUB		: pcuint16 = pointer($4001044);
   REG_WIN0V_SUB		: pcuint16 = pointer($4001044);
   REG_WIN1V_SUB		: pcuint16 = pointer($4001046);
   REG_WIN1V_SUB		: pcuint16 = pointer($4001046);
   REG_WININ_SUB		: pcuint16 = pointer($4001048);
   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_COLV_SUB	: pcuint16 = pointer($4001052);
   REG_COLY_SUB	: pcuint16 = pointer($4001054);
   REG_COLY_SUB	: pcuint16 = pointer($4001054);
   
   

+ 13 - 6
packages/libndsfpc/src/nds/system.inc

@@ -76,15 +76,17 @@ const
 	POWER_3D_CORE  : PM_Bits = PM_ARM9_DIRECT or (1 shl 3);
 	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_2D_B     : PM_Bits = PM_ARM9_DIRECT or (1 shl 9);
 	POWER_SWAP_LCDS: PM_Bits = PM_ARM9_DIRECT or (1 shl 15);
 	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;
 procedure sleep(); cdecl; external;
 
 
 {$ifdef ARM9}
 {$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 systemMsgHandler(bytes: cint; user_data: pointer); cdecl; external;
 procedure powerValueHandler(value: cuint32; 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 powerOn(bits: PM_Bits); inline;
 procedure powerOff(bits: PM_Bits); inline;
 procedure powerOff(bits: PM_Bits); inline;
-
+procedure systemShutDown(); inline;
 procedure readUserSettings(); cdecl; external;
 procedure readUserSettings(); cdecl; external;
 {$endif ARM7}
 {$endif ARM7}
 
 
@@ -277,6 +279,11 @@ procedure powerOff(bits: PM_Bits); inline;
 begin
 begin
 	REG_POWERCNT^ := REG_POWERCNT^ and not bits;
 	REG_POWERCNT^ := REG_POWERCNT^ and not bits;
 end;
 end;
+
+procedure systemShutDown(); inline;
+begin
+  powerOn(PM_SYSTEM_PWR);
+end;
 {$endif ARM7}
 {$endif ARM7}
 {$endif NDS_IMPLEMENTATION}
 {$endif NDS_IMPLEMENTATION}
 
 

+ 2 - 1
packages/libndsfpc/src/nds/timers.inc

@@ -86,7 +86,8 @@ const
   TIMER_DIV_1024  = (3);
   TIMER_DIV_1024  = (3);
 
 
 procedure timerStop(channel: cint); inline;
 procedure timerStop(channel: cint); inline;
-
+procedure cpuStartTiming(timer: cuint32); cdecl; external;
+function cpuEndTiming(): cuint32; cdecl; external;
 {$endif NDS_INTERFACE}
 {$endif NDS_INTERFACE}
 
 
 
 

+ 56 - 0
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;

+ 199 - 0
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;

+ 0 - 1
rtl/nds/nds.inc

@@ -35,4 +35,3 @@ procedure AssignDevice(const FIOD: TFileIODevice);
 begin
 begin
   FileIODevice := FIOD;
   FileIODevice := FIOD;
 end;
 end;
- 

+ 17 - 74
rtl/nds/ndsh.inc

@@ -14,70 +14,19 @@
 
 
  *****************************************************************************}
  *****************************************************************************}
 
 
-(*
 type
 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
   TFileIO = packed record
     DoOpen    : TDoOpen; 
     DoOpen    : TDoOpen; 
@@ -95,7 +44,6 @@ type
   end;
   end;
   PFileIO = ^TFileIO;
   PFileIO = ^TFileIO;
 
 
-
   TDoMkdir  = procedure (const s: string);
   TDoMkdir  = procedure (const s: string);
   TDoRmdir  = procedure (const s: string);
   TDoRmdir  = procedure (const s: string);
   TDoChdir  = procedure (const s: string);
   TDoChdir  = procedure (const s: string);
@@ -122,10 +70,8 @@ function IsARM9(): boolean;
 procedure AssignDevice(const FIOD: TFileIODevice);
 procedure AssignDevice(const FIOD: TFileIODevice);
 
 
 var
 var
-  FileIODevice: TFileIODevice = 
-    (
-      FileIO: 
-        ( 
+  FileIODevice: TFileIODevice = (
+    FileIO: ( 
               DoOpen: nil;
               DoOpen: nil;
               DoClose: nil;
               DoClose: nil;
               DoWrite: nil;
               DoWrite: nil;
@@ -138,14 +84,11 @@ var
               DoFilesize: nil;
               DoFilesize: nil;
               DoTruncate: nil;
               DoTruncate: nil;
               DoIsdevice: nil;
               DoIsdevice: nil;
-        );
-      DirIO:  
-        ( 
+            );
+    DirIO:  ( 
               DoMkdir:  nil;
               DoMkdir:  nil;
               DoRmdir:  nil;
               DoRmdir:  nil;
               DoChdir:  nil;
               DoChdir:  nil;
               DoGetdir: nil;
               DoGetdir: nil;
-        );
+            );
   );
   );
- 
-  

+ 3 - 2
rtl/nds/system.pp

@@ -27,6 +27,7 @@ interface
 {$i systemh.inc}
 {$i systemh.inc}
 {$i ndsbiosh.inc}
 {$i ndsbiosh.inc}
 {$i ndsh.inc}
 {$i ndsh.inc}
+{$i libch.inc}
 
 
 
 
 
 
@@ -92,6 +93,7 @@ implementation
 {$i system.inc}
 {$i system.inc}
 {$i ndsbios.inc}
 {$i ndsbios.inc}
 {$i nds.inc}
 {$i nds.inc}
+{$i libc.inc}
 
 
 
 
 
 
@@ -182,8 +184,7 @@ begin
 { OS specific startup }
 { OS specific startup }
 
 
 { Set up signals handlers }
 { Set up signals handlers }
-  if IsARM9 then
-    fpc_cpucodeinit;
+  fpc_cpucodeinit;
 
 
 { Setup heap }
 { Setup heap }
   InitHeap;
   InitHeap;