Browse Source

* do not build som and wpstk which are not ready yet, add reference to exampledir

git-svn-id: trunk@11102 -
Tomas Hajny 17 years ago
parent
commit
4442cdb808
2 changed files with 435 additions and 152 deletions
  1. 432 151
      packages/os2units/Makefile
  2. 3 1
      packages/os2units/Makefile.fpc

+ 432 - 151
packages/os2units/Makefile

@@ -1,8 +1,8 @@
 #
-# Don't edit, this file is generated by FPCMake Version 2.0.0 [2008/05/24]
+# Don't edit, this file is generated by FPCMake Version 2.0.0 [2007/11/03]
 #
 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
+MAKEFILETARGETS=i386-linux i386-go32v2 i386-win32 i386-os2 i386-freebsd i386-beos 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-win64 x86_64-embedded arm-linux arm-palmos arm-wince arm-gba arm-nds arm-embedded arm-symbian powerpc64-linux powerpc64-darwin powerpc64-embedded
 BSDs = freebsd netbsd openbsd darwin
 UNIXs = linux $(BSDs) solaris qnx
 LIMIT83fs = go32v2 os2 emx watcom
@@ -167,17 +167,6 @@ 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)
@@ -185,15 +174,9 @@ else
 TARGETSUFFIX=$(FULL_TARGET)
 SOURCESUFFIX=$(FULL_SOURCE)
 endif
-ifeq  ($(OS_TARGET),darwin)
-ifneq ($(OS_SOURCE),darwin)
-CROSSCOMPILE=1
-endif
-else
 ifneq ($(FULL_TARGET),$(FULL_SOURCE))
 CROSSCOMPILE=1
 endif
-endif
 ifeq ($(findstring makefile,$(MAKECMDGOALS)),)
 ifeq ($(findstring $(FULL_TARGET),$(MAKEFILETARGETS)),)
 $(error The Makefile doesn't support target $(FULL_TARGET), please run fpcmake first)
@@ -205,7 +188,7 @@ 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
+export OS_TARGET OS_SOURCE CPU_TARGET CPU_SOURCE FULL_TARGET FULL_SOURCE TARGETSUFFIX SOURCESUFFIX CROSSCOMPILE
 ifdef FPCDIR
 override FPCDIR:=$(subst \,/,$(FPCDIR))
 ifeq ($(wildcard $(addprefix $(FPCDIR)/,rtl units)),)
@@ -260,178 +243,316 @@ PACKAGESDIR:=$(wildcard $(FPCDIR) $(FPCDIR)/packages $(FPCDIR)/packages/base $(F
 override PACKAGE_NAME=os2units
 override PACKAGE_VERSION=1.0.0
 ifeq ($(FULL_TARGET),i386-linux)
-override TARGET_UNITS+=buildall clkdll clktest dive ftpapi hwvideo lvm mciapi mcidrv mci mmbase mmio som sw wpstk
+override TARGET_UNITS+=buildall clkdll clktest dive ftpapi hwvideo lvm mciapi mcidrv mci mmbase mmio sw
 endif
 ifeq ($(FULL_TARGET),i386-go32v2)
-override TARGET_UNITS+=buildall clkdll clktest dive ftpapi hwvideo lvm mciapi mcidrv mci mmbase mmio som sw wpstk
+override TARGET_UNITS+=buildall clkdll clktest dive ftpapi hwvideo lvm mciapi mcidrv mci mmbase mmio sw
 endif
 ifeq ($(FULL_TARGET),i386-win32)
-override TARGET_UNITS+=buildall clkdll clktest dive ftpapi hwvideo lvm mciapi mcidrv mci mmbase mmio som sw wpstk
+override TARGET_UNITS+=buildall clkdll clktest dive ftpapi hwvideo lvm mciapi mcidrv mci mmbase mmio sw
 endif
 ifeq ($(FULL_TARGET),i386-os2)
-override TARGET_UNITS+=buildall clkdll clktest dive ftpapi hwvideo lvm mciapi mcidrv mci mmbase mmio som sw wpstk
+override TARGET_UNITS+=buildall clkdll clktest dive ftpapi hwvideo lvm mciapi mcidrv mci mmbase mmio sw
 endif
 ifeq ($(FULL_TARGET),i386-freebsd)
-override TARGET_UNITS+=buildall clkdll clktest dive ftpapi hwvideo lvm mciapi mcidrv mci mmbase mmio som sw wpstk
+override TARGET_UNITS+=buildall clkdll clktest dive ftpapi hwvideo lvm mciapi mcidrv mci mmbase mmio sw
 endif
 ifeq ($(FULL_TARGET),i386-beos)
-override TARGET_UNITS+=buildall clkdll clktest dive ftpapi hwvideo lvm mciapi mcidrv mci mmbase mmio som sw wpstk
-endif
-ifeq ($(FULL_TARGET),i386-haiku)
-override TARGET_UNITS+=buildall clkdll clktest dive ftpapi hwvideo lvm mciapi mcidrv mci mmbase mmio som sw wpstk
+override TARGET_UNITS+=buildall clkdll clktest dive ftpapi hwvideo lvm mciapi mcidrv mci mmbase mmio sw
 endif
 ifeq ($(FULL_TARGET),i386-netbsd)
-override TARGET_UNITS+=buildall clkdll clktest dive ftpapi hwvideo lvm mciapi mcidrv mci mmbase mmio som sw wpstk
+override TARGET_UNITS+=buildall clkdll clktest dive ftpapi hwvideo lvm mciapi mcidrv mci mmbase mmio sw
 endif
 ifeq ($(FULL_TARGET),i386-solaris)
-override TARGET_UNITS+=buildall clkdll clktest dive ftpapi hwvideo lvm mciapi mcidrv mci mmbase mmio som sw wpstk
+override TARGET_UNITS+=buildall clkdll clktest dive ftpapi hwvideo lvm mciapi mcidrv mci mmbase mmio sw
 endif
 ifeq ($(FULL_TARGET),i386-qnx)
-override TARGET_UNITS+=buildall clkdll clktest dive ftpapi hwvideo lvm mciapi mcidrv mci mmbase mmio som sw wpstk
+override TARGET_UNITS+=buildall clkdll clktest dive ftpapi hwvideo lvm mciapi mcidrv mci mmbase mmio sw
 endif
 ifeq ($(FULL_TARGET),i386-netware)
-override TARGET_UNITS+=buildall clkdll clktest dive ftpapi hwvideo lvm mciapi mcidrv mci mmbase mmio som sw wpstk
+override TARGET_UNITS+=buildall clkdll clktest dive ftpapi hwvideo lvm mciapi mcidrv mci mmbase mmio sw
 endif
 ifeq ($(FULL_TARGET),i386-openbsd)
-override TARGET_UNITS+=buildall clkdll clktest dive ftpapi hwvideo lvm mciapi mcidrv mci mmbase mmio som sw wpstk
+override TARGET_UNITS+=buildall clkdll clktest dive ftpapi hwvideo lvm mciapi mcidrv mci mmbase mmio sw
 endif
 ifeq ($(FULL_TARGET),i386-wdosx)
-override TARGET_UNITS+=buildall clkdll clktest dive ftpapi hwvideo lvm mciapi mcidrv mci mmbase mmio som sw wpstk
+override TARGET_UNITS+=buildall clkdll clktest dive ftpapi hwvideo lvm mciapi mcidrv mci mmbase mmio sw
 endif
 ifeq ($(FULL_TARGET),i386-darwin)
-override TARGET_UNITS+=buildall clkdll clktest dive ftpapi hwvideo lvm mciapi mcidrv mci mmbase mmio som sw wpstk
+override TARGET_UNITS+=buildall clkdll clktest dive ftpapi hwvideo lvm mciapi mcidrv mci mmbase mmio sw
 endif
 ifeq ($(FULL_TARGET),i386-emx)
-override TARGET_UNITS+=buildall clkdll clktest dive ftpapi hwvideo lvm mciapi mcidrv mci mmbase mmio som sw wpstk
+override TARGET_UNITS+=buildall clkdll clktest dive ftpapi hwvideo lvm mciapi mcidrv mci mmbase mmio sw
 endif
 ifeq ($(FULL_TARGET),i386-watcom)
-override TARGET_UNITS+=buildall clkdll clktest dive ftpapi hwvideo lvm mciapi mcidrv mci mmbase mmio som sw wpstk
+override TARGET_UNITS+=buildall clkdll clktest dive ftpapi hwvideo lvm mciapi mcidrv mci mmbase mmio sw
 endif
 ifeq ($(FULL_TARGET),i386-netwlibc)
-override TARGET_UNITS+=buildall clkdll clktest dive ftpapi hwvideo lvm mciapi mcidrv mci mmbase mmio som sw wpstk
+override TARGET_UNITS+=buildall clkdll clktest dive ftpapi hwvideo lvm mciapi mcidrv mci mmbase mmio sw
 endif
 ifeq ($(FULL_TARGET),i386-wince)
-override TARGET_UNITS+=buildall clkdll clktest dive ftpapi hwvideo lvm mciapi mcidrv mci mmbase mmio som sw wpstk
+override TARGET_UNITS+=buildall clkdll clktest dive ftpapi hwvideo lvm mciapi mcidrv mci mmbase mmio sw
 endif
 ifeq ($(FULL_TARGET),i386-embedded)
-override TARGET_UNITS+=buildall clkdll clktest dive ftpapi hwvideo lvm mciapi mcidrv mci mmbase mmio som sw wpstk
+override TARGET_UNITS+=buildall clkdll clktest dive ftpapi hwvideo lvm mciapi mcidrv mci mmbase mmio sw
 endif
 ifeq ($(FULL_TARGET),i386-symbian)
-override TARGET_UNITS+=buildall clkdll clktest dive ftpapi hwvideo lvm mciapi mcidrv mci mmbase mmio som sw wpstk
+override TARGET_UNITS+=buildall clkdll clktest dive ftpapi hwvideo lvm mciapi mcidrv mci mmbase mmio sw
 endif
 ifeq ($(FULL_TARGET),m68k-linux)
-override TARGET_UNITS+=buildall clkdll clktest dive ftpapi hwvideo lvm mciapi mcidrv mci mmbase mmio som sw wpstk
+override TARGET_UNITS+=buildall clkdll clktest dive ftpapi hwvideo lvm mciapi mcidrv mci mmbase mmio sw
 endif
 ifeq ($(FULL_TARGET),m68k-freebsd)
-override TARGET_UNITS+=buildall clkdll clktest dive ftpapi hwvideo lvm mciapi mcidrv mci mmbase mmio som sw wpstk
+override TARGET_UNITS+=buildall clkdll clktest dive ftpapi hwvideo lvm mciapi mcidrv mci mmbase mmio sw
 endif
 ifeq ($(FULL_TARGET),m68k-netbsd)
-override TARGET_UNITS+=buildall clkdll clktest dive ftpapi hwvideo lvm mciapi mcidrv mci mmbase mmio som sw wpstk
+override TARGET_UNITS+=buildall clkdll clktest dive ftpapi hwvideo lvm mciapi mcidrv mci mmbase mmio sw
 endif
 ifeq ($(FULL_TARGET),m68k-amiga)
-override TARGET_UNITS+=buildall clkdll clktest dive ftpapi hwvideo lvm mciapi mcidrv mci mmbase mmio som sw wpstk
+override TARGET_UNITS+=buildall clkdll clktest dive ftpapi hwvideo lvm mciapi mcidrv mci mmbase mmio sw
 endif
 ifeq ($(FULL_TARGET),m68k-atari)
-override TARGET_UNITS+=buildall clkdll clktest dive ftpapi hwvideo lvm mciapi mcidrv mci mmbase mmio som sw wpstk
+override TARGET_UNITS+=buildall clkdll clktest dive ftpapi hwvideo lvm mciapi mcidrv mci mmbase mmio sw
 endif
 ifeq ($(FULL_TARGET),m68k-openbsd)
-override TARGET_UNITS+=buildall clkdll clktest dive ftpapi hwvideo lvm mciapi mcidrv mci mmbase mmio som sw wpstk
+override TARGET_UNITS+=buildall clkdll clktest dive ftpapi hwvideo lvm mciapi mcidrv mci mmbase mmio sw
 endif
 ifeq ($(FULL_TARGET),m68k-palmos)
-override TARGET_UNITS+=buildall clkdll clktest dive ftpapi hwvideo lvm mciapi mcidrv mci mmbase mmio som sw wpstk
+override TARGET_UNITS+=buildall clkdll clktest dive ftpapi hwvideo lvm mciapi mcidrv mci mmbase mmio sw
 endif
 ifeq ($(FULL_TARGET),m68k-embedded)
-override TARGET_UNITS+=buildall clkdll clktest dive ftpapi hwvideo lvm mciapi mcidrv mci mmbase mmio som sw wpstk
+override TARGET_UNITS+=buildall clkdll clktest dive ftpapi hwvideo lvm mciapi mcidrv mci mmbase mmio sw
 endif
 ifeq ($(FULL_TARGET),powerpc-linux)
-override TARGET_UNITS+=buildall clkdll clktest dive ftpapi hwvideo lvm mciapi mcidrv mci mmbase mmio som sw wpstk
+override TARGET_UNITS+=buildall clkdll clktest dive ftpapi hwvideo lvm mciapi mcidrv mci mmbase mmio sw
 endif
 ifeq ($(FULL_TARGET),powerpc-netbsd)
-override TARGET_UNITS+=buildall clkdll clktest dive ftpapi hwvideo lvm mciapi mcidrv mci mmbase mmio som sw wpstk
+override TARGET_UNITS+=buildall clkdll clktest dive ftpapi hwvideo lvm mciapi mcidrv mci mmbase mmio sw
 endif
 ifeq ($(FULL_TARGET),powerpc-amiga)
-override TARGET_UNITS+=buildall clkdll clktest dive ftpapi hwvideo lvm mciapi mcidrv mci mmbase mmio som sw wpstk
+override TARGET_UNITS+=buildall clkdll clktest dive ftpapi hwvideo lvm mciapi mcidrv mci mmbase mmio sw
 endif
 ifeq ($(FULL_TARGET),powerpc-macos)
-override TARGET_UNITS+=buildall clkdll clktest dive ftpapi hwvideo lvm mciapi mcidrv mci mmbase mmio som sw wpstk
+override TARGET_UNITS+=buildall clkdll clktest dive ftpapi hwvideo lvm mciapi mcidrv mci mmbase mmio sw
 endif
 ifeq ($(FULL_TARGET),powerpc-darwin)
-override TARGET_UNITS+=buildall clkdll clktest dive ftpapi hwvideo lvm mciapi mcidrv mci mmbase mmio som sw wpstk
+override TARGET_UNITS+=buildall clkdll clktest dive ftpapi hwvideo lvm mciapi mcidrv mci mmbase mmio sw
 endif
 ifeq ($(FULL_TARGET),powerpc-morphos)
-override TARGET_UNITS+=buildall clkdll clktest dive ftpapi hwvideo lvm mciapi mcidrv mci mmbase mmio som sw wpstk
+override TARGET_UNITS+=buildall clkdll clktest dive ftpapi hwvideo lvm mciapi mcidrv mci mmbase mmio sw
 endif
 ifeq ($(FULL_TARGET),powerpc-embedded)
-override TARGET_UNITS+=buildall clkdll clktest dive ftpapi hwvideo lvm mciapi mcidrv mci mmbase mmio som sw wpstk
+override TARGET_UNITS+=buildall clkdll clktest dive ftpapi hwvideo lvm mciapi mcidrv mci mmbase mmio sw
 endif
 ifeq ($(FULL_TARGET),sparc-linux)
-override TARGET_UNITS+=buildall clkdll clktest dive ftpapi hwvideo lvm mciapi mcidrv mci mmbase mmio som sw wpstk
+override TARGET_UNITS+=buildall clkdll clktest dive ftpapi hwvideo lvm mciapi mcidrv mci mmbase mmio sw
 endif
 ifeq ($(FULL_TARGET),sparc-netbsd)
-override TARGET_UNITS+=buildall clkdll clktest dive ftpapi hwvideo lvm mciapi mcidrv mci mmbase mmio som sw wpstk
+override TARGET_UNITS+=buildall clkdll clktest dive ftpapi hwvideo lvm mciapi mcidrv mci mmbase mmio sw
 endif
 ifeq ($(FULL_TARGET),sparc-solaris)
-override TARGET_UNITS+=buildall clkdll clktest dive ftpapi hwvideo lvm mciapi mcidrv mci mmbase mmio som sw wpstk
+override TARGET_UNITS+=buildall clkdll clktest dive ftpapi hwvideo lvm mciapi mcidrv mci mmbase mmio sw
 endif
 ifeq ($(FULL_TARGET),sparc-embedded)
-override TARGET_UNITS+=buildall clkdll clktest dive ftpapi hwvideo lvm mciapi mcidrv mci mmbase mmio som sw wpstk
+override TARGET_UNITS+=buildall clkdll clktest dive ftpapi hwvideo lvm mciapi mcidrv mci mmbase mmio sw
 endif
 ifeq ($(FULL_TARGET),x86_64-linux)
-override TARGET_UNITS+=buildall clkdll clktest dive ftpapi hwvideo lvm mciapi mcidrv mci mmbase mmio som sw wpstk
+override TARGET_UNITS+=buildall clkdll clktest dive ftpapi hwvideo lvm mciapi mcidrv mci mmbase mmio sw
 endif
 ifeq ($(FULL_TARGET),x86_64-freebsd)
-override TARGET_UNITS+=buildall clkdll clktest dive ftpapi hwvideo lvm mciapi mcidrv mci mmbase mmio som sw wpstk
-endif
-ifeq ($(FULL_TARGET),x86_64-darwin)
-override TARGET_UNITS+=buildall clkdll clktest dive ftpapi hwvideo lvm mciapi mcidrv mci mmbase mmio som sw wpstk
+override TARGET_UNITS+=buildall clkdll clktest dive ftpapi hwvideo lvm mciapi mcidrv mci mmbase mmio sw
 endif
 ifeq ($(FULL_TARGET),x86_64-win64)
-override TARGET_UNITS+=buildall clkdll clktest dive ftpapi hwvideo lvm mciapi mcidrv mci mmbase mmio som sw wpstk
+override TARGET_UNITS+=buildall clkdll clktest dive ftpapi hwvideo lvm mciapi mcidrv mci mmbase mmio sw
 endif
 ifeq ($(FULL_TARGET),x86_64-embedded)
-override TARGET_UNITS+=buildall clkdll clktest dive ftpapi hwvideo lvm mciapi mcidrv mci mmbase mmio som sw wpstk
+override TARGET_UNITS+=buildall clkdll clktest dive ftpapi hwvideo lvm mciapi mcidrv mci mmbase mmio sw
 endif
 ifeq ($(FULL_TARGET),arm-linux)
-override TARGET_UNITS+=buildall clkdll clktest dive ftpapi hwvideo lvm mciapi mcidrv mci mmbase mmio som sw wpstk
+override TARGET_UNITS+=buildall clkdll clktest dive ftpapi hwvideo lvm mciapi mcidrv mci mmbase mmio sw
 endif
 ifeq ($(FULL_TARGET),arm-palmos)
-override TARGET_UNITS+=buildall clkdll clktest dive ftpapi hwvideo lvm mciapi mcidrv mci mmbase mmio som sw wpstk
-endif
-ifeq ($(FULL_TARGET),arm-darwin)
-override TARGET_UNITS+=buildall clkdll clktest dive ftpapi hwvideo lvm mciapi mcidrv mci mmbase mmio som sw wpstk
+override TARGET_UNITS+=buildall clkdll clktest dive ftpapi hwvideo lvm mciapi mcidrv mci mmbase mmio sw
 endif
 ifeq ($(FULL_TARGET),arm-wince)
-override TARGET_UNITS+=buildall clkdll clktest dive ftpapi hwvideo lvm mciapi mcidrv mci mmbase mmio som sw wpstk
+override TARGET_UNITS+=buildall clkdll clktest dive ftpapi hwvideo lvm mciapi mcidrv mci mmbase mmio sw
 endif
 ifeq ($(FULL_TARGET),arm-gba)
-override TARGET_UNITS+=buildall clkdll clktest dive ftpapi hwvideo lvm mciapi mcidrv mci mmbase mmio som sw wpstk
+override TARGET_UNITS+=buildall clkdll clktest dive ftpapi hwvideo lvm mciapi mcidrv mci mmbase mmio sw
 endif
 ifeq ($(FULL_TARGET),arm-nds)
-override TARGET_UNITS+=buildall clkdll clktest dive ftpapi hwvideo lvm mciapi mcidrv mci mmbase mmio som sw wpstk
+override TARGET_UNITS+=buildall clkdll clktest dive ftpapi hwvideo lvm mciapi mcidrv mci mmbase mmio sw
 endif
 ifeq ($(FULL_TARGET),arm-embedded)
-override TARGET_UNITS+=buildall clkdll clktest dive ftpapi hwvideo lvm mciapi mcidrv mci mmbase mmio som sw wpstk
+override TARGET_UNITS+=buildall clkdll clktest dive ftpapi hwvideo lvm mciapi mcidrv mci mmbase mmio sw
 endif
 ifeq ($(FULL_TARGET),arm-symbian)
-override TARGET_UNITS+=buildall clkdll clktest dive ftpapi hwvideo lvm mciapi mcidrv mci mmbase mmio som sw wpstk
+override TARGET_UNITS+=buildall clkdll clktest dive ftpapi hwvideo lvm mciapi mcidrv mci mmbase mmio sw
 endif
 ifeq ($(FULL_TARGET),powerpc64-linux)
-override TARGET_UNITS+=buildall clkdll clktest dive ftpapi hwvideo lvm mciapi mcidrv mci mmbase mmio som sw wpstk
+override TARGET_UNITS+=buildall clkdll clktest dive ftpapi hwvideo lvm mciapi mcidrv mci mmbase mmio sw
 endif
 ifeq ($(FULL_TARGET),powerpc64-darwin)
-override TARGET_UNITS+=buildall clkdll clktest dive ftpapi hwvideo lvm mciapi mcidrv mci mmbase mmio som sw wpstk
+override TARGET_UNITS+=buildall clkdll clktest dive ftpapi hwvideo lvm mciapi mcidrv mci mmbase mmio sw
 endif
 ifeq ($(FULL_TARGET),powerpc64-embedded)
-override TARGET_UNITS+=buildall clkdll clktest dive ftpapi hwvideo lvm mciapi mcidrv mci mmbase mmio som sw wpstk
+override TARGET_UNITS+=buildall clkdll clktest dive ftpapi hwvideo lvm mciapi mcidrv mci mmbase mmio sw
+endif
+ifeq ($(FULL_TARGET),i386-linux)
+override TARGET_EXAMPLEDIRS+=examples
+endif
+ifeq ($(FULL_TARGET),i386-go32v2)
+override TARGET_EXAMPLEDIRS+=examples
+endif
+ifeq ($(FULL_TARGET),i386-win32)
+override TARGET_EXAMPLEDIRS+=examples
+endif
+ifeq ($(FULL_TARGET),i386-os2)
+override TARGET_EXAMPLEDIRS+=examples
+endif
+ifeq ($(FULL_TARGET),i386-freebsd)
+override TARGET_EXAMPLEDIRS+=examples
+endif
+ifeq ($(FULL_TARGET),i386-beos)
+override TARGET_EXAMPLEDIRS+=examples
+endif
+ifeq ($(FULL_TARGET),i386-netbsd)
+override TARGET_EXAMPLEDIRS+=examples
+endif
+ifeq ($(FULL_TARGET),i386-solaris)
+override TARGET_EXAMPLEDIRS+=examples
+endif
+ifeq ($(FULL_TARGET),i386-qnx)
+override TARGET_EXAMPLEDIRS+=examples
+endif
+ifeq ($(FULL_TARGET),i386-netware)
+override TARGET_EXAMPLEDIRS+=examples
+endif
+ifeq ($(FULL_TARGET),i386-openbsd)
+override TARGET_EXAMPLEDIRS+=examples
+endif
+ifeq ($(FULL_TARGET),i386-wdosx)
+override TARGET_EXAMPLEDIRS+=examples
+endif
+ifeq ($(FULL_TARGET),i386-darwin)
+override TARGET_EXAMPLEDIRS+=examples
+endif
+ifeq ($(FULL_TARGET),i386-emx)
+override TARGET_EXAMPLEDIRS+=examples
+endif
+ifeq ($(FULL_TARGET),i386-watcom)
+override TARGET_EXAMPLEDIRS+=examples
+endif
+ifeq ($(FULL_TARGET),i386-netwlibc)
+override TARGET_EXAMPLEDIRS+=examples
+endif
+ifeq ($(FULL_TARGET),i386-wince)
+override TARGET_EXAMPLEDIRS+=examples
+endif
+ifeq ($(FULL_TARGET),i386-embedded)
+override TARGET_EXAMPLEDIRS+=examples
+endif
+ifeq ($(FULL_TARGET),i386-symbian)
+override TARGET_EXAMPLEDIRS+=examples
+endif
+ifeq ($(FULL_TARGET),m68k-linux)
+override TARGET_EXAMPLEDIRS+=examples
+endif
+ifeq ($(FULL_TARGET),m68k-freebsd)
+override TARGET_EXAMPLEDIRS+=examples
+endif
+ifeq ($(FULL_TARGET),m68k-netbsd)
+override TARGET_EXAMPLEDIRS+=examples
+endif
+ifeq ($(FULL_TARGET),m68k-amiga)
+override TARGET_EXAMPLEDIRS+=examples
+endif
+ifeq ($(FULL_TARGET),m68k-atari)
+override TARGET_EXAMPLEDIRS+=examples
+endif
+ifeq ($(FULL_TARGET),m68k-openbsd)
+override TARGET_EXAMPLEDIRS+=examples
+endif
+ifeq ($(FULL_TARGET),m68k-palmos)
+override TARGET_EXAMPLEDIRS+=examples
+endif
+ifeq ($(FULL_TARGET),m68k-embedded)
+override TARGET_EXAMPLEDIRS+=examples
+endif
+ifeq ($(FULL_TARGET),powerpc-linux)
+override TARGET_EXAMPLEDIRS+=examples
+endif
+ifeq ($(FULL_TARGET),powerpc-netbsd)
+override TARGET_EXAMPLEDIRS+=examples
+endif
+ifeq ($(FULL_TARGET),powerpc-amiga)
+override TARGET_EXAMPLEDIRS+=examples
+endif
+ifeq ($(FULL_TARGET),powerpc-macos)
+override TARGET_EXAMPLEDIRS+=examples
+endif
+ifeq ($(FULL_TARGET),powerpc-darwin)
+override TARGET_EXAMPLEDIRS+=examples
+endif
+ifeq ($(FULL_TARGET),powerpc-morphos)
+override TARGET_EXAMPLEDIRS+=examples
+endif
+ifeq ($(FULL_TARGET),powerpc-embedded)
+override TARGET_EXAMPLEDIRS+=examples
+endif
+ifeq ($(FULL_TARGET),sparc-linux)
+override TARGET_EXAMPLEDIRS+=examples
+endif
+ifeq ($(FULL_TARGET),sparc-netbsd)
+override TARGET_EXAMPLEDIRS+=examples
+endif
+ifeq ($(FULL_TARGET),sparc-solaris)
+override TARGET_EXAMPLEDIRS+=examples
+endif
+ifeq ($(FULL_TARGET),sparc-embedded)
+override TARGET_EXAMPLEDIRS+=examples
+endif
+ifeq ($(FULL_TARGET),x86_64-linux)
+override TARGET_EXAMPLEDIRS+=examples
+endif
+ifeq ($(FULL_TARGET),x86_64-freebsd)
+override TARGET_EXAMPLEDIRS+=examples
+endif
+ifeq ($(FULL_TARGET),x86_64-win64)
+override TARGET_EXAMPLEDIRS+=examples
+endif
+ifeq ($(FULL_TARGET),x86_64-embedded)
+override TARGET_EXAMPLEDIRS+=examples
+endif
+ifeq ($(FULL_TARGET),arm-linux)
+override TARGET_EXAMPLEDIRS+=examples
+endif
+ifeq ($(FULL_TARGET),arm-palmos)
+override TARGET_EXAMPLEDIRS+=examples
 endif
-ifeq ($(FULL_TARGET),avr-embedded)
-override TARGET_UNITS+=buildall clkdll clktest dive ftpapi hwvideo lvm mciapi mcidrv mci mmbase mmio som sw wpstk
+ifeq ($(FULL_TARGET),arm-wince)
+override TARGET_EXAMPLEDIRS+=examples
 endif
-ifeq ($(FULL_TARGET),armeb-linux)
-override TARGET_UNITS+=buildall clkdll clktest dive ftpapi hwvideo lvm mciapi mcidrv mci mmbase mmio som sw wpstk
+ifeq ($(FULL_TARGET),arm-gba)
+override TARGET_EXAMPLEDIRS+=examples
 endif
-ifeq ($(FULL_TARGET),armeb-embedded)
-override TARGET_UNITS+=buildall clkdll clktest dive ftpapi hwvideo lvm mciapi mcidrv mci mmbase mmio som sw wpstk
+ifeq ($(FULL_TARGET),arm-nds)
+override TARGET_EXAMPLEDIRS+=examples
+endif
+ifeq ($(FULL_TARGET),arm-embedded)
+override TARGET_EXAMPLEDIRS+=examples
+endif
+ifeq ($(FULL_TARGET),arm-symbian)
+override TARGET_EXAMPLEDIRS+=examples
+endif
+ifeq ($(FULL_TARGET),powerpc64-linux)
+override TARGET_EXAMPLEDIRS+=examples
+endif
+ifeq ($(FULL_TARGET),powerpc64-darwin)
+override TARGET_EXAMPLEDIRS+=examples
+endif
+ifeq ($(FULL_TARGET),powerpc64-embedded)
+override TARGET_EXAMPLEDIRS+=examples
 endif
 override INSTALL_FPCPACKAGE=y
 ifeq ($(FULL_TARGET),i386-linux)
@@ -452,9 +573,6 @@ endif
 ifeq ($(FULL_TARGET),i386-beos)
 override COMPILER_INCLUDEDIR+=src
 endif
-ifeq ($(FULL_TARGET),i386-haiku)
-override COMPILER_INCLUDEDIR+=src
-endif
 ifeq ($(FULL_TARGET),i386-netbsd)
 override COMPILER_INCLUDEDIR+=src
 endif
@@ -557,9 +675,6 @@ endif
 ifeq ($(FULL_TARGET),x86_64-freebsd)
 override COMPILER_INCLUDEDIR+=src
 endif
-ifeq ($(FULL_TARGET),x86_64-darwin)
-override COMPILER_INCLUDEDIR+=src
-endif
 ifeq ($(FULL_TARGET),x86_64-win64)
 override COMPILER_INCLUDEDIR+=src
 endif
@@ -572,9 +687,6 @@ endif
 ifeq ($(FULL_TARGET),arm-palmos)
 override COMPILER_INCLUDEDIR+=src
 endif
-ifeq ($(FULL_TARGET),arm-darwin)
-override COMPILER_INCLUDEDIR+=src
-endif
 ifeq ($(FULL_TARGET),arm-wince)
 override COMPILER_INCLUDEDIR+=src
 endif
@@ -599,15 +711,6 @@ endif
 ifeq ($(FULL_TARGET),powerpc64-embedded)
 override COMPILER_INCLUDEDIR+=src
 endif
-ifeq ($(FULL_TARGET),avr-embedded)
-override COMPILER_INCLUDEDIR+=src
-endif
-ifeq ($(FULL_TARGET),armeb-linux)
-override COMPILER_INCLUDEDIR+=src
-endif
-ifeq ($(FULL_TARGET),armeb-embedded)
-override COMPILER_INCLUDEDIR+=src
-endif
 ifeq ($(FULL_TARGET),i386-linux)
 override COMPILER_SOURCEDIR+=src tests examples
 endif
@@ -626,9 +729,6 @@ endif
 ifeq ($(FULL_TARGET),i386-beos)
 override COMPILER_SOURCEDIR+=src tests examples
 endif
-ifeq ($(FULL_TARGET),i386-haiku)
-override COMPILER_SOURCEDIR+=src tests examples
-endif
 ifeq ($(FULL_TARGET),i386-netbsd)
 override COMPILER_SOURCEDIR+=src tests examples
 endif
@@ -731,9 +831,6 @@ endif
 ifeq ($(FULL_TARGET),x86_64-freebsd)
 override COMPILER_SOURCEDIR+=src tests examples
 endif
-ifeq ($(FULL_TARGET),x86_64-darwin)
-override COMPILER_SOURCEDIR+=src tests examples
-endif
 ifeq ($(FULL_TARGET),x86_64-win64)
 override COMPILER_SOURCEDIR+=src tests examples
 endif
@@ -746,9 +843,6 @@ endif
 ifeq ($(FULL_TARGET),arm-palmos)
 override COMPILER_SOURCEDIR+=src tests examples
 endif
-ifeq ($(FULL_TARGET),arm-darwin)
-override COMPILER_SOURCEDIR+=src tests examples
-endif
 ifeq ($(FULL_TARGET),arm-wince)
 override COMPILER_SOURCEDIR+=src tests examples
 endif
@@ -773,15 +867,6 @@ endif
 ifeq ($(FULL_TARGET),powerpc64-embedded)
 override COMPILER_SOURCEDIR+=src tests examples
 endif
-ifeq ($(FULL_TARGET),avr-embedded)
-override COMPILER_SOURCEDIR+=src tests examples
-endif
-ifeq ($(FULL_TARGET),armeb-linux)
-override COMPILER_SOURCEDIR+=src tests examples
-endif
-ifeq ($(FULL_TARGET),armeb-embedded)
-override COMPILER_SOURCEDIR+=src tests examples
-endif
 ifdef REQUIRE_UNITSDIR
 override UNITSDIR+=$(REQUIRE_UNITSDIR)
 endif
@@ -1102,11 +1187,6 @@ BATCHEXT=.sh
 EXEEXT=
 SHORTSUFFIX=be
 endif
-ifeq ($(OS_TARGET),haiku)
-BATCHEXT=.sh
-EXEEXT=
-SHORTSUFFIX=hai
-endif
 ifeq ($(OS_TARGET),solaris)
 BATCHEXT=.sh
 EXEEXT=
@@ -1584,9 +1664,6 @@ endif
 ifeq ($(FULL_TARGET),i386-beos)
 REQUIRE_PACKAGES_RTL=1
 endif
-ifeq ($(FULL_TARGET),i386-haiku)
-REQUIRE_PACKAGES_RTL=1
-endif
 ifeq ($(FULL_TARGET),i386-netbsd)
 REQUIRE_PACKAGES_RTL=1
 endif
@@ -1689,9 +1766,6 @@ endif
 ifeq ($(FULL_TARGET),x86_64-freebsd)
 REQUIRE_PACKAGES_RTL=1
 endif
-ifeq ($(FULL_TARGET),x86_64-darwin)
-REQUIRE_PACKAGES_RTL=1
-endif
 ifeq ($(FULL_TARGET),x86_64-win64)
 REQUIRE_PACKAGES_RTL=1
 endif
@@ -1704,9 +1778,6 @@ endif
 ifeq ($(FULL_TARGET),arm-palmos)
 REQUIRE_PACKAGES_RTL=1
 endif
-ifeq ($(FULL_TARGET),arm-darwin)
-REQUIRE_PACKAGES_RTL=1
-endif
 ifeq ($(FULL_TARGET),arm-wince)
 REQUIRE_PACKAGES_RTL=1
 endif
@@ -1731,15 +1802,6 @@ endif
 ifeq ($(FULL_TARGET),powerpc64-embedded)
 REQUIRE_PACKAGES_RTL=1
 endif
-ifeq ($(FULL_TARGET),avr-embedded)
-REQUIRE_PACKAGES_RTL=1
-endif
-ifeq ($(FULL_TARGET),armeb-linux)
-REQUIRE_PACKAGES_RTL=1
-endif
-ifeq ($(FULL_TARGET),armeb-embedded)
-REQUIRE_PACKAGES_RTL=1
-endif
 ifdef REQUIRE_PACKAGES_RTL
 PACKAGEDIR_RTL:=$(firstword $(subst /Makefile.fpc,,$(strip $(wildcard $(addsuffix /rtl/Makefile.fpc,$(PACKAGESDIR))))))
 ifneq ($(PACKAGEDIR_RTL),)
@@ -1767,13 +1829,13 @@ override COMPILER_UNITDIR+=$(UNITDIR_RTL)
 endif
 endif
 ifndef NOCPUDEF
-override FPCOPTDEF=$(ARCH)
+override FPCOPTDEF=$(CPU_TARGET)
 endif
 ifneq ($(OS_TARGET),$(OS_SOURCE))
 override FPCOPT+=-T$(OS_TARGET)
 endif
 ifneq ($(CPU_TARGET),$(CPU_SOURCE))
-override FPCOPT+=-P$(ARCH)
+override FPCOPT+=-P$(CPU_TARGET)
 endif
 ifeq ($(OS_SOURCE),openbsd)
 override FPCOPT+=-FD$(NEW_BINUTILS_PATH)
@@ -1926,7 +1988,7 @@ endif
 endif
 endif
 .PHONY: fpc_units
-ifneq ($(TARGET_UNITS)$(TARGET_IMPLICITUNITS),)
+ifneq ($(TARGET_UNITS),)
 override ALLTARGET+=fpc_units
 override UNITPPUFILES=$(addsuffix $(PPUEXT),$(TARGET_UNITS))
 override IMPLICITUNITPPUFILES=$(addsuffix $(PPUEXT),$(TARGET_IMPLICITUNITS))
@@ -1938,6 +2000,24 @@ ifdef TARGET_RSTS
 override RSTFILES=$(addsuffix $(RSTEXT),$(TARGET_RSTS))
 override CLEANRSTFILES+=$(RSTFILES)
 endif
+.PHONY: fpc_examples
+ifneq ($(TARGET_EXAMPLES),)
+HASEXAMPLES=1
+override EXAMPLESOURCEFILES:=$(wildcard $(addsuffix .pp,$(TARGET_EXAMPLES)) $(addsuffix .pas,$(TARGET_EXAMPLES)) $(addsuffix .lpr,$(TARGET_EXAMPLES)) $(addsuffix .dpr,$(TARGET_EXAMPLES)))
+override EXAMPLEFILES:=$(addsuffix $(EXEEXT),$(TARGET_EXAMPLES))
+override EXAMPLEOFILES:=$(addsuffix $(OEXT),$(TARGET_EXAMPLES)) $(addprefix $(STATICLIBPREFIX),$(addsuffix $(STATICLIBEXT),$(TARGET_EXAMPLES))) $(addprefix $(IMPORTLIBPREFIX),$(addsuffix $(STATICLIBEXT),$(TARGET_EXAMPLES)))
+override CLEANEXEFILES+=$(EXAMPLEFILES) $(EXAMPLEOFILES)
+ifeq ($(OS_TARGET),os2)
+override CLEANEXEFILES+=$(addsuffix $(AOUTEXT),$(TARGET_EXAMPLES))
+endif
+ifeq ($(OS_TARGET),emx)
+override CLEANEXEFILES+=$(addsuffix $(AOUTEXT),$(TARGET_EXAMPLES))
+endif
+endif
+ifneq ($(TARGET_EXAMPLEDIRS),)
+HASEXAMPLES=1
+endif
+fpc_examples: all $(EXAMPLEFILES) $(addsuffix _all,$(TARGET_EXAMPLEDIRS))
 .PHONY: fpc_all fpc_smart fpc_debug fpc_release fpc_shared
 $(FPCMADE): $(ALLDEPENDENCIES) $(ALLTARGET)
 	@$(ECHOREDIR) Compiled > $(FPCMADE)
@@ -2341,12 +2421,213 @@ 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
+ifeq ($(FULL_TARGET),i386-linux)
+TARGET_EXAMPLEDIRS_EXAMPLES=1
+endif
+ifeq ($(FULL_TARGET),i386-go32v2)
+TARGET_EXAMPLEDIRS_EXAMPLES=1
+endif
+ifeq ($(FULL_TARGET),i386-win32)
+TARGET_EXAMPLEDIRS_EXAMPLES=1
+endif
+ifeq ($(FULL_TARGET),i386-os2)
+TARGET_EXAMPLEDIRS_EXAMPLES=1
+endif
+ifeq ($(FULL_TARGET),i386-freebsd)
+TARGET_EXAMPLEDIRS_EXAMPLES=1
+endif
+ifeq ($(FULL_TARGET),i386-beos)
+TARGET_EXAMPLEDIRS_EXAMPLES=1
+endif
+ifeq ($(FULL_TARGET),i386-netbsd)
+TARGET_EXAMPLEDIRS_EXAMPLES=1
+endif
+ifeq ($(FULL_TARGET),i386-solaris)
+TARGET_EXAMPLEDIRS_EXAMPLES=1
+endif
+ifeq ($(FULL_TARGET),i386-qnx)
+TARGET_EXAMPLEDIRS_EXAMPLES=1
+endif
+ifeq ($(FULL_TARGET),i386-netware)
+TARGET_EXAMPLEDIRS_EXAMPLES=1
+endif
+ifeq ($(FULL_TARGET),i386-openbsd)
+TARGET_EXAMPLEDIRS_EXAMPLES=1
+endif
+ifeq ($(FULL_TARGET),i386-wdosx)
+TARGET_EXAMPLEDIRS_EXAMPLES=1
+endif
+ifeq ($(FULL_TARGET),i386-darwin)
+TARGET_EXAMPLEDIRS_EXAMPLES=1
+endif
+ifeq ($(FULL_TARGET),i386-emx)
+TARGET_EXAMPLEDIRS_EXAMPLES=1
+endif
+ifeq ($(FULL_TARGET),i386-watcom)
+TARGET_EXAMPLEDIRS_EXAMPLES=1
+endif
+ifeq ($(FULL_TARGET),i386-netwlibc)
+TARGET_EXAMPLEDIRS_EXAMPLES=1
+endif
+ifeq ($(FULL_TARGET),i386-wince)
+TARGET_EXAMPLEDIRS_EXAMPLES=1
+endif
+ifeq ($(FULL_TARGET),i386-embedded)
+TARGET_EXAMPLEDIRS_EXAMPLES=1
+endif
+ifeq ($(FULL_TARGET),i386-symbian)
+TARGET_EXAMPLEDIRS_EXAMPLES=1
+endif
+ifeq ($(FULL_TARGET),m68k-linux)
+TARGET_EXAMPLEDIRS_EXAMPLES=1
+endif
+ifeq ($(FULL_TARGET),m68k-freebsd)
+TARGET_EXAMPLEDIRS_EXAMPLES=1
+endif
+ifeq ($(FULL_TARGET),m68k-netbsd)
+TARGET_EXAMPLEDIRS_EXAMPLES=1
+endif
+ifeq ($(FULL_TARGET),m68k-amiga)
+TARGET_EXAMPLEDIRS_EXAMPLES=1
+endif
+ifeq ($(FULL_TARGET),m68k-atari)
+TARGET_EXAMPLEDIRS_EXAMPLES=1
+endif
+ifeq ($(FULL_TARGET),m68k-openbsd)
+TARGET_EXAMPLEDIRS_EXAMPLES=1
+endif
+ifeq ($(FULL_TARGET),m68k-palmos)
+TARGET_EXAMPLEDIRS_EXAMPLES=1
+endif
+ifeq ($(FULL_TARGET),m68k-embedded)
+TARGET_EXAMPLEDIRS_EXAMPLES=1
+endif
+ifeq ($(FULL_TARGET),powerpc-linux)
+TARGET_EXAMPLEDIRS_EXAMPLES=1
+endif
+ifeq ($(FULL_TARGET),powerpc-netbsd)
+TARGET_EXAMPLEDIRS_EXAMPLES=1
+endif
+ifeq ($(FULL_TARGET),powerpc-amiga)
+TARGET_EXAMPLEDIRS_EXAMPLES=1
+endif
+ifeq ($(FULL_TARGET),powerpc-macos)
+TARGET_EXAMPLEDIRS_EXAMPLES=1
+endif
+ifeq ($(FULL_TARGET),powerpc-darwin)
+TARGET_EXAMPLEDIRS_EXAMPLES=1
+endif
+ifeq ($(FULL_TARGET),powerpc-morphos)
+TARGET_EXAMPLEDIRS_EXAMPLES=1
+endif
+ifeq ($(FULL_TARGET),powerpc-embedded)
+TARGET_EXAMPLEDIRS_EXAMPLES=1
+endif
+ifeq ($(FULL_TARGET),sparc-linux)
+TARGET_EXAMPLEDIRS_EXAMPLES=1
+endif
+ifeq ($(FULL_TARGET),sparc-netbsd)
+TARGET_EXAMPLEDIRS_EXAMPLES=1
+endif
+ifeq ($(FULL_TARGET),sparc-solaris)
+TARGET_EXAMPLEDIRS_EXAMPLES=1
+endif
+ifeq ($(FULL_TARGET),sparc-embedded)
+TARGET_EXAMPLEDIRS_EXAMPLES=1
+endif
+ifeq ($(FULL_TARGET),x86_64-linux)
+TARGET_EXAMPLEDIRS_EXAMPLES=1
+endif
+ifeq ($(FULL_TARGET),x86_64-freebsd)
+TARGET_EXAMPLEDIRS_EXAMPLES=1
+endif
+ifeq ($(FULL_TARGET),x86_64-win64)
+TARGET_EXAMPLEDIRS_EXAMPLES=1
+endif
+ifeq ($(FULL_TARGET),x86_64-embedded)
+TARGET_EXAMPLEDIRS_EXAMPLES=1
+endif
+ifeq ($(FULL_TARGET),arm-linux)
+TARGET_EXAMPLEDIRS_EXAMPLES=1
+endif
+ifeq ($(FULL_TARGET),arm-palmos)
+TARGET_EXAMPLEDIRS_EXAMPLES=1
+endif
+ifeq ($(FULL_TARGET),arm-wince)
+TARGET_EXAMPLEDIRS_EXAMPLES=1
+endif
+ifeq ($(FULL_TARGET),arm-gba)
+TARGET_EXAMPLEDIRS_EXAMPLES=1
+endif
+ifeq ($(FULL_TARGET),arm-nds)
+TARGET_EXAMPLEDIRS_EXAMPLES=1
+endif
+ifeq ($(FULL_TARGET),arm-embedded)
+TARGET_EXAMPLEDIRS_EXAMPLES=1
+endif
+ifeq ($(FULL_TARGET),arm-symbian)
+TARGET_EXAMPLEDIRS_EXAMPLES=1
+endif
+ifeq ($(FULL_TARGET),powerpc64-linux)
+TARGET_EXAMPLEDIRS_EXAMPLES=1
+endif
+ifeq ($(FULL_TARGET),powerpc64-darwin)
+TARGET_EXAMPLEDIRS_EXAMPLES=1
+endif
+ifeq ($(FULL_TARGET),powerpc64-embedded)
+TARGET_EXAMPLEDIRS_EXAMPLES=1
+endif
+ifdef TARGET_EXAMPLEDIRS_EXAMPLES
+examples_all:
+	$(MAKE) -C examples all
+examples_debug:
+	$(MAKE) -C examples debug
+examples_smart:
+	$(MAKE) -C examples smart
+examples_release:
+	$(MAKE) -C examples release
+examples_units:
+	$(MAKE) -C examples units
+examples_examples:
+	$(MAKE) -C examples examples
+examples_shared:
+	$(MAKE) -C examples shared
+examples_install:
+	$(MAKE) -C examples install
+examples_sourceinstall:
+	$(MAKE) -C examples sourceinstall
+examples_exampleinstall:
+	$(MAKE) -C examples exampleinstall
+examples_distinstall:
+	$(MAKE) -C examples distinstall
+examples_zipinstall:
+	$(MAKE) -C examples zipinstall
+examples_zipsourceinstall:
+	$(MAKE) -C examples zipsourceinstall
+examples_zipexampleinstall:
+	$(MAKE) -C examples zipexampleinstall
+examples_zipdistinstall:
+	$(MAKE) -C examples zipdistinstall
+examples_clean:
+	$(MAKE) -C examples clean
+examples_distclean:
+	$(MAKE) -C examples distclean
+examples_cleanall:
+	$(MAKE) -C examples cleanall
+examples_info:
+	$(MAKE) -C examples info
+examples_makefiles:
+	$(MAKE) -C examples makefiles
+examples:
+	$(MAKE) -C examples all
+.PHONY: examples_all examples_debug examples_smart examples_release examples_units examples_examples examples_shared examples_install examples_sourceinstall examples_exampleinstall examples_distinstall examples_zipinstall examples_zipsourceinstall examples_zipexampleinstall examples_zipdistinstall examples_clean examples_distclean examples_cleanall examples_info examples_makefiles examples
+endif
 all: fpc_all
 debug: fpc_debug
 smart: fpc_smart
 release: fpc_release
 units: fpc_units
-examples:
+examples: fpc_examples
 shared: fpc_shared
 install: fpc_install
 sourceinstall: fpc_sourceinstall
@@ -2356,7 +2637,7 @@ zipinstall: fpc_zipinstall
 zipsourceinstall: fpc_zipsourceinstall
 zipexampleinstall: fpc_zipexampleinstall
 zipdistinstall: fpc_zipdistinstall
-clean: fpc_clean
+clean: fpc_clean $(addsuffix _clean,$(TARGET_EXAMPLEDIRS))
 distclean: fpc_distclean
 cleanall: fpc_cleanall
 info: fpc_info

+ 3 - 1
packages/os2units/Makefile.fpc

@@ -10,7 +10,9 @@ version=1.0.0
 libc=y
 
 [target]
-units=buildall clkdll clktest dive ftpapi hwvideo lvm mciapi mcidrv mci mmbase mmio som sw wpstk
+units=buildall clkdll clktest dive ftpapi hwvideo lvm mciapi mcidrv mci mmbase mmio sw
+# som wpstk
+exampledirs=examples
 
 [install]
 fpcpackage=y