Browse Source

+ Regenerated using recent fpcmake

michael 21 years ago
parent
commit
f03145dcfd
1 changed files with 228 additions and 84 deletions
  1. 228 84
      fcl/Makefile

+ 228 - 84
fcl/Makefile

@@ -1,15 +1,25 @@
 #
 #
-# Don't edit, this file is generated by FPCMake Version 1.1 [2003/09/24]
+# Don't edit, this file is generated by FPCMake Version 1.1 [2004/05/27]
 #
 #
 default: all
 default: all
-MAKEFILETARGETS=linux go32v2 win32 os2 freebsd beos netbsd amiga atari sunos qnx netware openbsd wdosx palmos macos darwin emx
-override PATH:=$(subst \,/,$(PATH))
+MAKEFILETARGETS=linux go32v2 win32 os2 freebsd beos netbsd amiga atari sunos qnx netware openbsd wdosx palmos macos darwin emx watcom
+BSDs = freebsd netbsd openbsd darwin
+UNIXs = linux $(BSDs) sunos qnx
+FORCE:
+.PHONY: FORCE
+override PATH:=$(patsubst %/,%,$(subst \,/,$(PATH)))
+ifneq ($(findstring darwin,$(OSTYPE)),)
+inUnix=1 #darwin
+SEARCHPATH:=$(filter-out .,$(subst :, ,$(PATH)))
+else
 ifeq ($(findstring ;,$(PATH)),)
 ifeq ($(findstring ;,$(PATH)),)
 inUnix=1
 inUnix=1
 SEARCHPATH:=$(filter-out .,$(subst :, ,$(PATH)))
 SEARCHPATH:=$(filter-out .,$(subst :, ,$(PATH)))
 else
 else
 SEARCHPATH:=$(subst ;, ,$(PATH))
 SEARCHPATH:=$(subst ;, ,$(PATH))
 endif
 endif
+endif
+SEARCHPATH+=$(patsubst %/,%,$(subst \,/,$(dir $(MAKE))))
 PWD:=$(strip $(wildcard $(addsuffix /pwd.exe,$(SEARCHPATH))))
 PWD:=$(strip $(wildcard $(addsuffix /pwd.exe,$(SEARCHPATH))))
 ifeq ($(PWD),)
 ifeq ($(PWD),)
 PWD:=$(strip $(wildcard $(addsuffix /pwd,$(SEARCHPATH))))
 PWD:=$(strip $(wildcard $(addsuffix /pwd,$(SEARCHPATH))))
@@ -36,22 +46,13 @@ ifneq ($(findstring cygdrive,$(PATH)),)
 inCygWin=1
 inCygWin=1
 endif
 endif
 endif
 endif
-ifeq ($(OS_TARGET),freebsd)
-BSDhier=1
-endif
-ifeq ($(OS_TARGET),netbsd)
-BSDhier=1
-endif
-ifeq ($(OS_TARGET),openbsd)
-BSDhier=1
-endif
 ifdef inUnix
 ifdef inUnix
-BATCHEXT=.sh
+SRCBATCHEXT=.sh
 else
 else
 ifdef inOS2
 ifdef inOS2
-BATCHEXT=.cmd
+SRCBATCHEXT=.cmd
 else
 else
-BATCHEXT=.bat
+SRCBATCHEXT=.bat
 endif
 endif
 endif
 endif
 ifdef inUnix
 ifdef inUnix
@@ -154,6 +155,12 @@ ifeq ($(findstring $(OS_TARGET),$(MAKEFILETARGETS)),)
 $(error The Makefile doesn't support target $(OS_TARGET), please run fpcmake first)
 $(error The Makefile doesn't support target $(OS_TARGET), please run fpcmake first)
 endif
 endif
 endif
 endif
+ifneq ($(findstring $(OS_TARGET),$(BSDs)),)
+BSDhier=1
+endif
+ifeq ($(OS_TARGET),linux)
+linuxHier=1
+endif
 export OS_TARGET OS_SOURCE CPU_TARGET CPU_SOURCE FULL_TARGET FULL_SOURCE CROSSCOMPILE
 export OS_TARGET OS_SOURCE CPU_TARGET CPU_SOURCE FULL_TARGET FULL_SOURCE CROSSCOMPILE
 ifdef FPCDIR
 ifdef FPCDIR
 override FPCDIR:=$(subst \,/,$(FPCDIR))
 override FPCDIR:=$(subst \,/,$(FPCDIR))
@@ -183,11 +190,14 @@ override FPCDIR:=$(FPCDIR)/..
 ifeq ($(wildcard $(addprefix $(FPCDIR)/,rtl units)),)
 ifeq ($(wildcard $(addprefix $(FPCDIR)/,rtl units)),)
 override FPCDIR:=$(FPCDIR)/..
 override FPCDIR:=$(FPCDIR)/..
 ifeq ($(wildcard $(addprefix $(FPCDIR)/,rtl units)),)
 ifeq ($(wildcard $(addprefix $(FPCDIR)/,rtl units)),)
+override FPCDIR:=$(BASEDIR)
+ifeq ($(wildcard $(addprefix $(FPCDIR)/,rtl units)),)
 override FPCDIR=c:/pp
 override FPCDIR=c:/pp
 endif
 endif
 endif
 endif
 endif
 endif
 endif
 endif
+endif
 ifndef CROSSDIR
 ifndef CROSSDIR
 CROSSDIR:=$(FPCDIR)/cross/$(FULL_TARGET)
 CROSSDIR:=$(FPCDIR)/cross/$(FULL_TARGET)
 endif
 endif
@@ -273,42 +283,12 @@ ifdef REQUIRE_PACKAGESDIR
 override PACKAGESDIR+=$(REQUIRE_PACKAGESDIR)
 override PACKAGESDIR+=$(REQUIRE_PACKAGESDIR)
 endif
 endif
 ifdef ZIPINSTALL
 ifdef ZIPINSTALL
-ifeq ($(OS_TARGET),linux)
-UNIXINSTALLDIR=1
-endif
-ifeq ($(OS_TARGET),freebsd)
-UNIXINSTALLDIR=1
-endif
-ifeq ($(OS_TARGET),netbsd)
-UNIXINSTALLDIR=1
-endif
-ifeq ($(OS_TARGET),openbsd)
-UNIXINSTALLDIR=1
-endif
-ifeq ($(OS_TARGET),sunos)
-UNIXINSTALLDIR=1
-endif
-ifeq ($(OS_TARGET),qnx)
-UNIXINSTALLDIR=1
+ifneq ($(findstring $(OS_TARGET),$(UNIXs)),)
+UNIXHier=1
 endif
 endif
 else
 else
-ifeq ($(OS_SOURCE),linux)
-UNIXINSTALLDIR=1
-endif
-ifeq ($(OS_SOURCE),freebsd)
-UNIXINSTALLDIR=1
-endif
-ifeq ($(OS_SOURCE),netbsd)
-UNIXINSTALLDIR=1
-endif
-ifeq ($(OS_SOURCE),openbsd)
-UNIXINSTALLDIR=1
-endif
-ifeq ($(OS_TARGET),sunos)
-UNIXINSTALLDIR=1
-endif
-ifeq ($(OS_TARGET),qnx)
-UNIXINSTALLDIR=1
+ifneq ($(findstring $(OS_SOURCE),$(UNIXs)),)
+UNIXHier=1
 endif
 endif
 endif
 endif
 ifndef INSTALL_PREFIX
 ifndef INSTALL_PREFIX
@@ -317,7 +297,7 @@ INSTALL_PREFIX=$(PREFIX)
 endif
 endif
 endif
 endif
 ifndef INSTALL_PREFIX
 ifndef INSTALL_PREFIX
-ifdef UNIXINSTALLDIR
+ifdef UNIXHier
 INSTALL_PREFIX=/usr/local
 INSTALL_PREFIX=/usr/local
 else
 else
 ifdef INSTALL_FPCPACKAGE
 ifdef INSTALL_FPCPACKAGE
@@ -336,7 +316,7 @@ DIST_DESTDIR:=$(BASEDIR)
 endif
 endif
 export DIST_DESTDIR
 export DIST_DESTDIR
 ifndef INSTALL_BASEDIR
 ifndef INSTALL_BASEDIR
-ifdef UNIXINSTALLDIR
+ifdef UNIXHier
 ifdef INSTALL_FPCPACKAGE
 ifdef INSTALL_FPCPACKAGE
 INSTALL_BASEDIR:=$(INSTALL_PREFIX)/lib/fpc/$(FPC_VERSION)
 INSTALL_BASEDIR:=$(INSTALL_PREFIX)/lib/fpc/$(FPC_VERSION)
 else
 else
@@ -347,10 +327,18 @@ INSTALL_BASEDIR:=$(INSTALL_PREFIX)
 endif
 endif
 endif
 endif
 ifndef INSTALL_BINDIR
 ifndef INSTALL_BINDIR
-ifdef UNIXINSTALLDIR
+ifdef UNIXHier
+ifdef CROSSCOMPILE
+INSTALL_BINDIR:=$(INSTALL_BASEDIR)/cross/$(FULL_TARGET)/bin
+else
 INSTALL_BINDIR:=$(INSTALL_PREFIX)/bin
 INSTALL_BINDIR:=$(INSTALL_PREFIX)/bin
+endif
+else
+ifdef CROSSCOMPILE
+INSTALL_BINDIR:=$(INSTALL_BASEDIR)/cross/$(FULL_TARGET)/bin
 else
 else
 INSTALL_BINDIR:=$(INSTALL_BASEDIR)/bin
 INSTALL_BINDIR:=$(INSTALL_BASEDIR)/bin
+endif
 ifdef INSTALL_FPCPACKAGE
 ifdef INSTALL_FPCPACKAGE
 INSTALL_BINDIR:=$(INSTALL_BINDIR)/$(OS_TARGET)
 INSTALL_BINDIR:=$(INSTALL_BINDIR)/$(OS_TARGET)
 endif
 endif
@@ -369,19 +357,23 @@ endif
 endif
 endif
 endif
 endif
 ifndef INSTALL_LIBDIR
 ifndef INSTALL_LIBDIR
-ifdef UNIXINSTALLDIR
+ifdef UNIXHier
 INSTALL_LIBDIR:=$(INSTALL_PREFIX)/lib
 INSTALL_LIBDIR:=$(INSTALL_PREFIX)/lib
 else
 else
 INSTALL_LIBDIR:=$(INSTALL_UNITDIR)
 INSTALL_LIBDIR:=$(INSTALL_UNITDIR)
 endif
 endif
 endif
 endif
 ifndef INSTALL_SOURCEDIR
 ifndef INSTALL_SOURCEDIR
-ifdef UNIXINSTALLDIR
+ifdef UNIXHier
 ifdef BSDhier
 ifdef BSDhier
 SRCPREFIXDIR=share/src
 SRCPREFIXDIR=share/src
 else
 else
+ifdef linuxHier
+SRCPREFIXDIR=share/src
+else
 SRCPREFIXDIR=src
 SRCPREFIXDIR=src
 endif
 endif
+endif
 ifdef INSTALL_FPCPACKAGE
 ifdef INSTALL_FPCPACKAGE
 ifdef INSTALL_FPCSUBDIR
 ifdef INSTALL_FPCSUBDIR
 INSTALL_SOURCEDIR:=$(INSTALL_PREFIX)/$(SRCPREFIXDIR)/fpc-$(FPC_VERSION)/$(INSTALL_FPCSUBDIR)/$(PACKAGE_NAME)
 INSTALL_SOURCEDIR:=$(INSTALL_PREFIX)/$(SRCPREFIXDIR)/fpc-$(FPC_VERSION)/$(INSTALL_FPCSUBDIR)/$(PACKAGE_NAME)
@@ -404,12 +396,16 @@ endif
 endif
 endif
 endif
 endif
 ifndef INSTALL_DOCDIR
 ifndef INSTALL_DOCDIR
-ifdef UNIXINSTALLDIR
+ifdef UNIXHier
 ifdef BSDhier
 ifdef BSDhier
 DOCPREFIXDIR=share/doc
 DOCPREFIXDIR=share/doc
 else
 else
+ifdef linuxHier
+DOCPREFIXDIR=share/doc
+else
 DOCPREFIXDIR=doc
 DOCPREFIXDIR=doc
 endif
 endif
+endif
 ifdef INSTALL_FPCPACKAGE
 ifdef INSTALL_FPCPACKAGE
 INSTALL_DOCDIR:=$(INSTALL_PREFIX)/$(DOCPREFIXDIR)/fpc-$(FPC_VERSION)/$(PACKAGE_NAME)
 INSTALL_DOCDIR:=$(INSTALL_PREFIX)/$(DOCPREFIXDIR)/fpc-$(FPC_VERSION)/$(PACKAGE_NAME)
 else
 else
@@ -424,20 +420,28 @@ endif
 endif
 endif
 endif
 endif
 ifndef INSTALL_EXAMPLEDIR
 ifndef INSTALL_EXAMPLEDIR
-ifdef UNIXINSTALLDIR
+ifdef UNIXHier
 ifdef INSTALL_FPCPACKAGE
 ifdef INSTALL_FPCPACKAGE
 ifdef BSDhier
 ifdef BSDhier
 INSTALL_EXAMPLEDIR:=$(INSTALL_PREFIX)/share/examples/fpc-$(FPC_VERSION)/$(PACKAGE_NAME)
 INSTALL_EXAMPLEDIR:=$(INSTALL_PREFIX)/share/examples/fpc-$(FPC_VERSION)/$(PACKAGE_NAME)
 else
 else
+ifdef linuxHier
+INSTALL_EXAMPLEDIR:=$(INSTALL_DOCDIR)/examples
+else
 INSTALL_EXAMPLEDIR:=$(INSTALL_PREFIX)/doc/fpc-$(FPC_VERSION)/examples/$(PACKAGE_NAME)
 INSTALL_EXAMPLEDIR:=$(INSTALL_PREFIX)/doc/fpc-$(FPC_VERSION)/examples/$(PACKAGE_NAME)
 endif
 endif
+endif
 else
 else
 ifdef BSDhier
 ifdef BSDhier
 INSTALL_EXAMPLEDIR:=$(INSTALL_PREFIX)/share/examples/$(PACKAGE_NAME)-$(PACKAGE_VERSION)
 INSTALL_EXAMPLEDIR:=$(INSTALL_PREFIX)/share/examples/$(PACKAGE_NAME)-$(PACKAGE_VERSION)
 else
 else
+ifdef linuxHier
+INSTALL_EXAMPLEDIR:=$(INSTALL_DOCDIR)/examples/$(PACKAGE_NAME)-$(PACKAGE_VERSION)
+else
 INSTALL_EXAMPLEDIR:=$(INSTALL_PREFIX)/doc/$(PACKAGE_NAME)-$(PACKAGE_VERSION)
 INSTALL_EXAMPLEDIR:=$(INSTALL_PREFIX)/doc/$(PACKAGE_NAME)-$(PACKAGE_VERSION)
 endif
 endif
 endif
 endif
+endif
 else
 else
 ifdef INSTALL_FPCPACKAGE
 ifdef INSTALL_FPCPACKAGE
 INSTALL_EXAMPLEDIR:=$(INSTALL_BASEDIR)/examples/$(PACKAGE_NAME)
 INSTALL_EXAMPLEDIR:=$(INSTALL_BASEDIR)/examples/$(PACKAGE_NAME)
@@ -459,20 +463,33 @@ endif
 else
 else
 CROSSBINDIR=
 CROSSBINDIR=
 endif
 endif
-ifdef inUnix
+ifeq ($(OS_SOURCE),linux)
 ifndef GCCLIBDIR
 ifndef GCCLIBDIR
-GCCLIBDIR:=$(shell dirname `(gcc -v 2>&1)| head -n 1| awk '{ print $$4 } '`)
+ifeq ($(CPU_TARGET),i386)
+ifneq ($(findstring x86_64,$(shell uname -a)),)
+ifeq ($(BINUTILSPREFIX),)
+GCCLIBDIR:=$(shell dirname `gcc -m32 -print-libgcc-file-name`)
+else
+GCCLIBDIR:=$(shell dirname `$(BINUTILSPREFIX)gcc -print-libgcc-file-name`)
+endif
+else
+GCCLIBDIR:=$(shell dirname `$(BINUTILSPREFIX)gcc -print-libgcc-file-name`)
+endif
+else
+GCCLIBDIR:=$(shell dirname `$(BINUTILSPREFIX)gcc -print-libgcc-file-name`)
+endif
 endif
 endif
-ifeq ($(OS_TARGET),linux)
 ifndef OTHERLIBDIR
 ifndef OTHERLIBDIR
 OTHERLIBDIR:=$(shell grep -v "^\#" /etc/ld.so.conf | awk '{ ORS=" "; print $1 }')
 OTHERLIBDIR:=$(shell grep -v "^\#" /etc/ld.so.conf | awk '{ ORS=" "; print $1 }')
 endif
 endif
 endif
 endif
-ifeq ($(OS_TARGET),netbsd)
+ifdef inUnix
+ifeq ($(OS_SOURCE),netbsd)
 OTHERLIBDIR+=/usr/pkg/lib
 OTHERLIBDIR+=/usr/pkg/lib
 endif
 endif
 export GCCLIBDIR OTHERLIB
 export GCCLIBDIR OTHERLIB
 endif
 endif
+BATCHEXT=.bat
 LOADEREXT=.as
 LOADEREXT=.as
 EXEEXT=.exe
 EXEEXT=.exe
 PPLEXT=.ppl
 PPLEXT=.ppl
@@ -496,25 +513,37 @@ STATICLIBPREFIX=
 FPCMADE=fpcmade.dos
 FPCMADE=fpcmade.dos
 ZIPSUFFIX=go32
 ZIPSUFFIX=go32
 endif
 endif
+ifeq ($(OS_TARGET),watcom)
+STATICLIBPREFIX=
+FPCMADE=fpcmade.wat
+ZIPSUFFIX=watc
+OEXT=.obj
+ASMEXT=.asm
+SHAREDLIBEXT=.dll
+endif
 ifeq ($(OS_TARGET),linux)
 ifeq ($(OS_TARGET),linux)
+BATCHEXT=.sh
 EXEEXT=
 EXEEXT=
 HASSHAREDLIB=1
 HASSHAREDLIB=1
 FPCMADE=fpcmade.lnx
 FPCMADE=fpcmade.lnx
 ZIPSUFFIX=linux
 ZIPSUFFIX=linux
 endif
 endif
 ifeq ($(OS_TARGET),freebsd)
 ifeq ($(OS_TARGET),freebsd)
+BATCHEXT=.sh
 EXEEXT=
 EXEEXT=
 HASSHAREDLIB=1
 HASSHAREDLIB=1
 FPCMADE=fpcmade.freebsd
 FPCMADE=fpcmade.freebsd
 ZIPSUFFIX=freebsd
 ZIPSUFFIX=freebsd
 endif
 endif
 ifeq ($(OS_TARGET),netbsd)
 ifeq ($(OS_TARGET),netbsd)
+BATCHEXT=.sh
 EXEEXT=
 EXEEXT=
 HASSHAREDLIB=1
 HASSHAREDLIB=1
 FPCMADE=fpcmade.netbsd
 FPCMADE=fpcmade.netbsd
 ZIPSUFFIX=netbsd
 ZIPSUFFIX=netbsd
 endif
 endif
 ifeq ($(OS_TARGET),openbsd)
 ifeq ($(OS_TARGET),openbsd)
+BATCHEXT=.sh
 EXEEXT=
 EXEEXT=
 HASSHAREDLIB=1
 HASSHAREDLIB=1
 FPCMADE=fpcmade.openbsd
 FPCMADE=fpcmade.openbsd
@@ -526,6 +555,7 @@ FPCMADE=fpcmade.w32
 ZIPSUFFIX=w32
 ZIPSUFFIX=w32
 endif
 endif
 ifeq ($(OS_TARGET),os2)
 ifeq ($(OS_TARGET),os2)
+BATCHEXT=.cmd
 AOUTEXT=.out
 AOUTEXT=.out
 STATICLIBPREFIX=
 STATICLIBPREFIX=
 SHAREDLIBEXT=.dll
 SHAREDLIBEXT=.dll
@@ -534,6 +564,7 @@ ZIPSUFFIX=os2
 ECHO=echo
 ECHO=echo
 endif
 endif
 ifeq ($(OS_TARGET),emx)
 ifeq ($(OS_TARGET),emx)
+BATCHEXT=.cmd
 AOUTEXT=.out
 AOUTEXT=.out
 STATICLIBPREFIX=
 STATICLIBPREFIX=
 SHAREDLIBEXT=.dll
 SHAREDLIBEXT=.dll
@@ -551,16 +582,19 @@ EXEEXT=.ttp
 FPCMADE=fpcmade.ata
 FPCMADE=fpcmade.ata
 endif
 endif
 ifeq ($(OS_TARGET),beos)
 ifeq ($(OS_TARGET),beos)
+BATCHEXT=.sh
 EXEEXT=
 EXEEXT=
 FPCMADE=fpcmade.be
 FPCMADE=fpcmade.be
 ZIPSUFFIX=be
 ZIPSUFFIX=be
 endif
 endif
 ifeq ($(OS_TARGET),sunos)
 ifeq ($(OS_TARGET),sunos)
+BATCHEXT=.sh
 EXEEXT=
 EXEEXT=
 FPCMADE=fpcmade.sun
 FPCMADE=fpcmade.sun
 ZIPSUFFIX=sun
 ZIPSUFFIX=sun
 endif
 endif
 ifeq ($(OS_TARGET),qnx)
 ifeq ($(OS_TARGET),qnx)
+BATCHEXT=.sh
 EXEEXT=
 EXEEXT=
 FPCMADE=fpcmade.qnx
 FPCMADE=fpcmade.qnx
 ZIPSUFFIX=qnx
 ZIPSUFFIX=qnx
@@ -572,10 +606,14 @@ FPCMADE=fpcmade.nw
 ZIPSUFFIX=nw
 ZIPSUFFIX=nw
 endif
 endif
 ifeq ($(OS_TARGET),macos)
 ifeq ($(OS_TARGET),macos)
+BATCHEXT=
 EXEEXT=
 EXEEXT=
-FPCMADE=fpcmade.mcc
+FPCMADE=fpcmade.macos
+ZIPSUFFIX=macos
+DEBUGSYMEXT=.xcoff
 endif
 endif
 ifeq ($(OS_TARGET),darwin)
 ifeq ($(OS_TARGET),darwin)
+BATCHEXT=.sh
 EXEEXT=
 EXEEXT=
 HASSHAREDLIB=1
 HASSHAREDLIB=1
 FPCMADE=fpcmade.darwin
 FPCMADE=fpcmade.darwin
@@ -598,25 +636,34 @@ STATICLIBPREFIX=
 FPCMADE=fpcmade.dos
 FPCMADE=fpcmade.dos
 ZIPSUFFIX=go32
 ZIPSUFFIX=go32
 endif
 endif
+ifeq ($(OS_TARGET),watcom)
+STATICLIBPREFIX=
+FPCMADE=fpcmade.dos
+ZIPSUFFIX=watcom
+endif
 ifeq ($(OS_TARGET),linux)
 ifeq ($(OS_TARGET),linux)
+BATCHEXT=.sh
 EXEEXT=
 EXEEXT=
 HASSHAREDLIB=1
 HASSHAREDLIB=1
 FPCMADE=fpcmade.lnx
 FPCMADE=fpcmade.lnx
 ZIPSUFFIX=linux
 ZIPSUFFIX=linux
 endif
 endif
 ifeq ($(OS_TARGET),freebsd)
 ifeq ($(OS_TARGET),freebsd)
+BATCHEXT=.sh
 EXEEXT=
 EXEEXT=
 HASSHAREDLIB=1
 HASSHAREDLIB=1
 FPCMADE=fpcmade.freebsd
 FPCMADE=fpcmade.freebsd
 ZIPSUFFIX=freebsd
 ZIPSUFFIX=freebsd
 endif
 endif
 ifeq ($(OS_TARGET),netbsd)
 ifeq ($(OS_TARGET),netbsd)
+BATCHEXT=.sh
 EXEEXT=
 EXEEXT=
 HASSHAREDLIB=1
 HASSHAREDLIB=1
 FPCMADE=fpcmade.netbsd
 FPCMADE=fpcmade.netbsd
 ZIPSUFFIX=netbsd
 ZIPSUFFIX=netbsd
 endif
 endif
 ifeq ($(OS_TARGET),openbsd)
 ifeq ($(OS_TARGET),openbsd)
+BATCHEXT=.sh
 EXEEXT=
 EXEEXT=
 HASSHAREDLIB=1
 HASSHAREDLIB=1
 FPCMADE=fpcmade.openbsd
 FPCMADE=fpcmade.openbsd
@@ -633,6 +680,7 @@ FPCMADE=fpcmade.w32
 ZIPSUFFIX=w32
 ZIPSUFFIX=w32
 endif
 endif
 ifeq ($(OS_TARGET),os2)
 ifeq ($(OS_TARGET),os2)
+BATCHEXT=.cmd
 PPUEXT=.ppo
 PPUEXT=.ppo
 ASMEXT=.so2
 ASMEXT=.so2
 OEXT=.oo2
 OEXT=.oo2
@@ -665,6 +713,7 @@ EXEEXT=.ttp
 FPCMADE=fpcmade.ata
 FPCMADE=fpcmade.ata
 endif
 endif
 ifeq ($(OS_TARGET),beos)
 ifeq ($(OS_TARGET),beos)
+BATCHEXT=.sh
 PPUEXT=.ppu
 PPUEXT=.ppu
 ASMEXT=.s
 ASMEXT=.s
 OEXT=.o
 OEXT=.o
@@ -675,6 +724,7 @@ FPCMADE=fpcmade.be
 ZIPSUFFIX=be
 ZIPSUFFIX=be
 endif
 endif
 ifeq ($(OS_TARGET),sunos)
 ifeq ($(OS_TARGET),sunos)
+BATCHEXT=.sh
 PPUEXT=.ppu
 PPUEXT=.ppu
 ASMEXT=.s
 ASMEXT=.s
 OEXT=.o
 OEXT=.o
@@ -685,6 +735,7 @@ FPCMADE=fpcmade.sun
 ZIPSUFFIX=sun
 ZIPSUFFIX=sun
 endif
 endif
 ifeq ($(OS_TARGET),qnx)
 ifeq ($(OS_TARGET),qnx)
+BATCHEXT=.sh
 PPUEXT=.ppu
 PPUEXT=.ppu
 ASMEXT=.s
 ASMEXT=.s
 OEXT=.o
 OEXT=.o
@@ -707,13 +758,15 @@ ZIPSUFFIX=nw
 EXEEXT=.nlm
 EXEEXT=.nlm
 endif
 endif
 ifeq ($(OS_TARGET),macos)
 ifeq ($(OS_TARGET),macos)
+BATCHEXT=
 PPUEXT=.ppu
 PPUEXT=.ppu
 ASMEXT=.s
 ASMEXT=.s
 OEXT=.o
 OEXT=.o
 SMARTEXT=.sl
 SMARTEXT=.sl
 STATICLIBEXT=.a
 STATICLIBEXT=.a
 EXEEXT=
 EXEEXT=
-FPCMADE=fpcmade.mcc
+DEBUGSYMEXT=.xcoff
+FPCMADE=fpcmade.macos
 endif
 endif
 endif
 endif
 ifndef ECHO
 ifndef ECHO
@@ -721,7 +774,7 @@ ECHO:=$(strip $(wildcard $(addsuffix /gecho$(SRCEXEEXT),$(SEARCHPATH))))
 ifeq ($(ECHO),)
 ifeq ($(ECHO),)
 ECHO:=$(strip $(wildcard $(addsuffix /echo$(SRCEXEEXT),$(SEARCHPATH))))
 ECHO:=$(strip $(wildcard $(addsuffix /echo$(SRCEXEEXT),$(SEARCHPATH))))
 ifeq ($(ECHO),)
 ifeq ($(ECHO),)
-ECHO=
+ECHO= __missing_command__
 else
 else
 ECHO:=$(firstword $(ECHO))
 ECHO:=$(firstword $(ECHO))
 endif
 endif
@@ -735,7 +788,7 @@ DATE:=$(strip $(wildcard $(addsuffix /gdate$(SRCEXEEXT),$(SEARCHPATH))))
 ifeq ($(DATE),)
 ifeq ($(DATE),)
 DATE:=$(strip $(wildcard $(addsuffix /date$(SRCEXEEXT),$(SEARCHPATH))))
 DATE:=$(strip $(wildcard $(addsuffix /date$(SRCEXEEXT),$(SEARCHPATH))))
 ifeq ($(DATE),)
 ifeq ($(DATE),)
-DATE=
+DATE= __missing_command__
 else
 else
 DATE:=$(firstword $(DATE))
 DATE:=$(firstword $(DATE))
 endif
 endif
@@ -749,7 +802,7 @@ GINSTALL:=$(strip $(wildcard $(addsuffix /ginstall$(SRCEXEEXT),$(SEARCHPATH))))
 ifeq ($(GINSTALL),)
 ifeq ($(GINSTALL),)
 GINSTALL:=$(strip $(wildcard $(addsuffix /install$(SRCEXEEXT),$(SEARCHPATH))))
 GINSTALL:=$(strip $(wildcard $(addsuffix /install$(SRCEXEEXT),$(SEARCHPATH))))
 ifeq ($(GINSTALL),)
 ifeq ($(GINSTALL),)
-GINSTALL=
+GINSTALL= __missing_command__
 else
 else
 GINSTALL:=$(firstword $(GINSTALL))
 GINSTALL:=$(firstword $(GINSTALL))
 endif
 endif
@@ -761,7 +814,7 @@ export GINSTALL
 ifndef CPPROG
 ifndef CPPROG
 CPPROG:=$(strip $(wildcard $(addsuffix /cp$(SRCEXEEXT),$(SEARCHPATH))))
 CPPROG:=$(strip $(wildcard $(addsuffix /cp$(SRCEXEEXT),$(SEARCHPATH))))
 ifeq ($(CPPROG),)
 ifeq ($(CPPROG),)
-CPPROG=
+CPPROG= __missing_command__
 else
 else
 CPPROG:=$(firstword $(CPPROG))
 CPPROG:=$(firstword $(CPPROG))
 endif
 endif
@@ -770,7 +823,7 @@ export CPPROG
 ifndef RMPROG
 ifndef RMPROG
 RMPROG:=$(strip $(wildcard $(addsuffix /rm$(SRCEXEEXT),$(SEARCHPATH))))
 RMPROG:=$(strip $(wildcard $(addsuffix /rm$(SRCEXEEXT),$(SEARCHPATH))))
 ifeq ($(RMPROG),)
 ifeq ($(RMPROG),)
-RMPROG=
+RMPROG= __missing_command__
 else
 else
 RMPROG:=$(firstword $(RMPROG))
 RMPROG:=$(firstword $(RMPROG))
 endif
 endif
@@ -779,14 +832,18 @@ export RMPROG
 ifndef MVPROG
 ifndef MVPROG
 MVPROG:=$(strip $(wildcard $(addsuffix /mv$(SRCEXEEXT),$(SEARCHPATH))))
 MVPROG:=$(strip $(wildcard $(addsuffix /mv$(SRCEXEEXT),$(SEARCHPATH))))
 ifeq ($(MVPROG),)
 ifeq ($(MVPROG),)
-MVPROG=
+MVPROG= __missing_command__
 else
 else
 MVPROG:=$(firstword $(MVPROG))
 MVPROG:=$(firstword $(MVPROG))
 endif
 endif
 endif
 endif
 export MVPROG
 export MVPROG
 ifndef ECHOREDIR
 ifndef ECHOREDIR
-ECHOREDIR:=$(subst /,$(PATHSEP),$(ECHO))
+ifndef inUnix
+ECHOREDIR=echo
+else
+ECHOREDIR=$(ECHO)
+endif
 endif
 endif
 ifndef COPY
 ifndef COPY
 COPY:=$(CPPROG) -fp
 COPY:=$(CPPROG) -fp
@@ -824,7 +881,7 @@ export ECHOREDIR COPY COPYTREE MOVE DEL DELTREE INSTALL INSTALLEXE MKDIR
 ifndef PPUMOVE
 ifndef PPUMOVE
 PPUMOVE:=$(strip $(wildcard $(addsuffix /ppumove$(SRCEXEEXT),$(SEARCHPATH))))
 PPUMOVE:=$(strip $(wildcard $(addsuffix /ppumove$(SRCEXEEXT),$(SEARCHPATH))))
 ifeq ($(PPUMOVE),)
 ifeq ($(PPUMOVE),)
-PPUMOVE=
+PPUMOVE= __missing_command__
 else
 else
 PPUMOVE:=$(firstword $(PPUMOVE))
 PPUMOVE:=$(firstword $(PPUMOVE))
 endif
 endif
@@ -833,7 +890,7 @@ export PPUMOVE
 ifndef FPCMAKE
 ifndef FPCMAKE
 FPCMAKE:=$(strip $(wildcard $(addsuffix /fpcmake$(SRCEXEEXT),$(SEARCHPATH))))
 FPCMAKE:=$(strip $(wildcard $(addsuffix /fpcmake$(SRCEXEEXT),$(SEARCHPATH))))
 ifeq ($(FPCMAKE),)
 ifeq ($(FPCMAKE),)
-FPCMAKE=
+FPCMAKE= __missing_command__
 else
 else
 FPCMAKE:=$(firstword $(FPCMAKE))
 FPCMAKE:=$(firstword $(FPCMAKE))
 endif
 endif
@@ -842,7 +899,7 @@ export FPCMAKE
 ifndef ZIPPROG
 ifndef ZIPPROG
 ZIPPROG:=$(strip $(wildcard $(addsuffix /zip$(SRCEXEEXT),$(SEARCHPATH))))
 ZIPPROG:=$(strip $(wildcard $(addsuffix /zip$(SRCEXEEXT),$(SEARCHPATH))))
 ifeq ($(ZIPPROG),)
 ifeq ($(ZIPPROG),)
-ZIPPROG=
+ZIPPROG= __missing_command__
 else
 else
 ZIPPROG:=$(firstword $(ZIPPROG))
 ZIPPROG:=$(firstword $(ZIPPROG))
 endif
 endif
@@ -851,21 +908,25 @@ export ZIPPROG
 ifndef TARPROG
 ifndef TARPROG
 TARPROG:=$(strip $(wildcard $(addsuffix /tar$(SRCEXEEXT),$(SEARCHPATH))))
 TARPROG:=$(strip $(wildcard $(addsuffix /tar$(SRCEXEEXT),$(SEARCHPATH))))
 ifeq ($(TARPROG),)
 ifeq ($(TARPROG),)
-TARPROG=
+TARPROG= __missing_command__
 else
 else
 TARPROG:=$(firstword $(TARPROG))
 TARPROG:=$(firstword $(TARPROG))
 endif
 endif
 endif
 endif
 export TARPROG
 export TARPROG
-ASNAME=as
-LDNAME=ld
-ARNAME=ar
-RCNAME=rc
+ASNAME=$(BINUTILSPREFIX)as
+LDNAME=$(BINUTILSPREFIX)ld
+ARNAME=$(BINUTILSPREFIX)ar
+RCNAME=$(BINUTILSPREFIX)rc
+ifneq ($(findstring 1.0.,$(FPC_VERSION)),)
 ifeq ($(OS_TARGET),win32)
 ifeq ($(OS_TARGET),win32)
+ifeq ($(CROSSBINDIR),)
 ASNAME=asw
 ASNAME=asw
 LDNAME=ldw
 LDNAME=ldw
 ARNAME=arw
 ARNAME=arw
 endif
 endif
+endif
+endif
 ifndef ASPROG
 ifndef ASPROG
 ifdef CROSSBINDIR
 ifdef CROSSBINDIR
 ASPROG=$(CROSSBINDIR)/$(ASNAME)$(SRCEXEEXT)
 ASPROG=$(CROSSBINDIR)/$(ASNAME)$(SRCEXEEXT)
@@ -898,7 +959,7 @@ AS=$(ASPROG)
 LD=$(LDPROG)
 LD=$(LDPROG)
 RC=$(RCPROG)
 RC=$(RCPROG)
 AR=$(ARPROG)
 AR=$(ARPROG)
-PPAS=ppas$(BATCHEXT)
+PPAS=ppas$(SRCBATCHEXT)
 ifdef inUnix
 ifdef inUnix
 LDCONFIG=ldconfig
 LDCONFIG=ldconfig
 else
 else
@@ -1003,6 +1064,19 @@ REQUIRE_PACKAGES_IBASE=1
 REQUIRE_PACKAGES_SQLITE=1
 REQUIRE_PACKAGES_SQLITE=1
 endif
 endif
 endif
 endif
+ifeq ($(OS_TARGET),linux)
+ifeq ($(CPU_TARGET),arm)
+REQUIRE_PACKAGES_RTL=1
+REQUIRE_PACKAGES_PASZLIB=1
+REQUIRE_PACKAGES_NETDB=1
+REQUIRE_PACKAGES_LIBASYNC=1
+REQUIRE_PACKAGES_PTHREADS=1
+REQUIRE_PACKAGES_PASJPEG=1
+REQUIRE_PACKAGES_MYSQL=1
+REQUIRE_PACKAGES_IBASE=1
+REQUIRE_PACKAGES_SQLITE=1
+endif
+endif
 ifeq ($(OS_TARGET),go32v2)
 ifeq ($(OS_TARGET),go32v2)
 ifeq ($(CPU_TARGET),i386)
 ifeq ($(CPU_TARGET),i386)
 REQUIRE_PACKAGES_RTL=1
 REQUIRE_PACKAGES_RTL=1
@@ -1059,6 +1133,19 @@ REQUIRE_PACKAGES_IBASE=1
 REQUIRE_PACKAGES_SQLITE=1
 REQUIRE_PACKAGES_SQLITE=1
 endif
 endif
 endif
 endif
+ifeq ($(OS_TARGET),freebsd)
+ifeq ($(CPU_TARGET),x86_64)
+REQUIRE_PACKAGES_RTL=1
+REQUIRE_PACKAGES_PASZLIB=1
+REQUIRE_PACKAGES_NETDB=1
+REQUIRE_PACKAGES_LIBASYNC=1
+REQUIRE_PACKAGES_PTHREADS=1
+REQUIRE_PACKAGES_PASJPEG=1
+REQUIRE_PACKAGES_MYSQL=1
+REQUIRE_PACKAGES_IBASE=1
+REQUIRE_PACKAGES_SQLITE=1
+endif
+endif
 ifeq ($(OS_TARGET),beos)
 ifeq ($(OS_TARGET),beos)
 ifeq ($(CPU_TARGET),i386)
 ifeq ($(CPU_TARGET),i386)
 REQUIRE_PACKAGES_RTL=1
 REQUIRE_PACKAGES_RTL=1
@@ -1092,6 +1179,30 @@ REQUIRE_PACKAGES_IBASE=1
 REQUIRE_PACKAGES_SQLITE=1
 REQUIRE_PACKAGES_SQLITE=1
 endif
 endif
 endif
 endif
+ifeq ($(OS_TARGET),netbsd)
+ifeq ($(CPU_TARGET),powerpc)
+REQUIRE_PACKAGES_RTL=1
+REQUIRE_PACKAGES_PASZLIB=1
+REQUIRE_PACKAGES_NETDB=1
+REQUIRE_PACKAGES_LIBASYNC=1
+REQUIRE_PACKAGES_PASJPEG=1
+REQUIRE_PACKAGES_MYSQL=1
+REQUIRE_PACKAGES_IBASE=1
+REQUIRE_PACKAGES_SQLITE=1
+endif
+endif
+ifeq ($(OS_TARGET),netbsd)
+ifeq ($(CPU_TARGET),sparc)
+REQUIRE_PACKAGES_RTL=1
+REQUIRE_PACKAGES_PASZLIB=1
+REQUIRE_PACKAGES_NETDB=1
+REQUIRE_PACKAGES_LIBASYNC=1
+REQUIRE_PACKAGES_PASJPEG=1
+REQUIRE_PACKAGES_MYSQL=1
+REQUIRE_PACKAGES_IBASE=1
+REQUIRE_PACKAGES_SQLITE=1
+endif
+endif
 ifeq ($(OS_TARGET),amiga)
 ifeq ($(OS_TARGET),amiga)
 ifeq ($(CPU_TARGET),m68k)
 ifeq ($(CPU_TARGET),m68k)
 REQUIRE_PACKAGES_RTL=1
 REQUIRE_PACKAGES_RTL=1
@@ -1219,6 +1330,15 @@ REQUIRE_PACKAGES_NETDB=1
 REQUIRE_PACKAGES_LIBASYNC=1
 REQUIRE_PACKAGES_LIBASYNC=1
 endif
 endif
 endif
 endif
+ifeq ($(OS_TARGET),watcom)
+ifeq ($(CPU_TARGET),i386)
+REQUIRE_PACKAGES_RTL=1
+REQUIRE_PACKAGES_PASZLIB=1
+REQUIRE_PACKAGES_PASJPEG=1
+REQUIRE_PACKAGES_NETDB=1
+REQUIRE_PACKAGES_LIBASYNC=1
+endif
+endif
 ifdef REQUIRE_PACKAGES_RTL
 ifdef REQUIRE_PACKAGES_RTL
 PACKAGEDIR_RTL:=$(firstword $(subst /Makefile.fpc,,$(strip $(wildcard $(addsuffix /rtl/$(OS_TARGET)/Makefile.fpc,$(PACKAGESDIR))))))
 PACKAGEDIR_RTL:=$(firstword $(subst /Makefile.fpc,,$(strip $(wildcard $(addsuffix /rtl/$(OS_TARGET)/Makefile.fpc,$(PACKAGESDIR))))))
 ifneq ($(PACKAGEDIR_RTL),)
 ifneq ($(PACKAGEDIR_RTL),)
@@ -1462,6 +1582,14 @@ endif
 ifeq ($(OS_SOURCE),openbsd)
 ifeq ($(OS_SOURCE),openbsd)
 override FPCOPT+=-FD$(NEW_BINUTILS_PATH)
 override FPCOPT+=-FD$(NEW_BINUTILS_PATH)
 endif
 endif
+ifndef CROSSBOOTSTRAP
+ifneq ($(BINUTILSPREFIX),)
+override FPCOPT+=-XP$(BINUTILSPREFIX) -Xc
+endif
+ifneq ($(BINUTILSPREFIX),)
+override FPCOPT+=-Xr$(RLINKPATH)
+endif
+endif
 ifdef UNITDIR
 ifdef UNITDIR
 override FPCOPT+=$(addprefix -Fu,$(UNITDIR))
 override FPCOPT+=$(addprefix -Fu,$(UNITDIR))
 endif
 endif
@@ -1488,8 +1616,12 @@ ifdef RELEASE
 ifeq ($(CPU_TARGET),i386)
 ifeq ($(CPU_TARGET),i386)
 FPCCPUOPT:=-OG2p3
 FPCCPUOPT:=-OG2p3
 else
 else
+ifeq ($(CPU_TARGET),powerpc)
+FPCCPUOPT:=-O1
+else
 FPCCPUOPT:=
 FPCCPUOPT:=
 endif
 endif
+endif
 override FPCOPT+=-Xs $(FPCCPUOPT) -n
 override FPCOPT+=-Xs $(FPCCPUOPT) -n
 override FPCOPTDEF+=RELEASE
 override FPCOPTDEF+=RELEASE
 endif
 endif
@@ -1577,7 +1709,7 @@ EXECPPAS:=@$(PPAS)
 endif
 endif
 endif
 endif
 .PHONY: fpc_units
 .PHONY: fpc_units
-ifdef TARGET_UNITS
+ifneq ($(TARGET_UNITS),)
 override ALLTARGET+=fpc_units
 override ALLTARGET+=fpc_units
 override UNITPPUFILES=$(addsuffix $(PPUEXT),$(TARGET_UNITS))
 override UNITPPUFILES=$(addsuffix $(PPUEXT),$(TARGET_UNITS))
 override IMPLICITUNITPPUFILES=$(addsuffix $(PPUEXT),$(TARGET_IMPLICITUNITS))
 override IMPLICITUNITPPUFILES=$(addsuffix $(PPUEXT),$(TARGET_IMPLICITUNITS))
@@ -1590,9 +1722,9 @@ override RSTFILES=$(addsuffix $(RSTEXT),$(TARGET_RSTS))
 override CLEANRSTFILES+=$(RSTFILES)
 override CLEANRSTFILES+=$(RSTFILES)
 endif
 endif
 .PHONY: fpc_examples
 .PHONY: fpc_examples
-ifdef TARGET_EXAMPLES
+ifneq ($(TARGET_EXAMPLES),)
 HASEXAMPLES=1
 HASEXAMPLES=1
-override EXAMPLESOURCEFILES:=$(wildcard $(addsuffix .pp,$(TARGET_EXAMPLES)) $(addsuffix .pas,$(TARGET_EXAMPLES)))
+override EXAMPLESOURCEFILES:=$(wildcard $(addsuffix .pp,$(TARGET_EXAMPLES)) $(addsuffix .pas,$(TARGET_EXAMPLES)) $(addsuffix .dpr,$(TARGET_EXAMPLES)))
 override EXAMPLEFILES:=$(addsuffix $(EXEEXT),$(TARGET_EXAMPLES))
 override EXAMPLEFILES:=$(addsuffix $(EXEEXT),$(TARGET_EXAMPLES))
 override EXAMPLEOFILES:=$(addsuffix $(OEXT),$(TARGET_EXAMPLES)) $(addprefix $(STATICLIBPREFIX),$(addsuffix $(STATICLIBEXT),$(TARGET_EXAMPLES)))
 override EXAMPLEOFILES:=$(addsuffix $(OEXT),$(TARGET_EXAMPLES)) $(addprefix $(STATICLIBPREFIX),$(addsuffix $(STATICLIBEXT),$(TARGET_EXAMPLES)))
 override CLEANEXEFILES+=$(EXAMPLEFILES) $(EXAMPLEOFILES)
 override CLEANEXEFILES+=$(EXAMPLEFILES) $(EXAMPLEOFILES)
@@ -1603,7 +1735,7 @@ ifeq ($(OS_TARGET),emx)
 override CLEANEXEFILES+=$(addsuffix $(AOUTEXT),$(TARGET_EXAMPLES))
 override CLEANEXEFILES+=$(addsuffix $(AOUTEXT),$(TARGET_EXAMPLES))
 endif
 endif
 endif
 endif
-ifdef TARGET_EXAMPLEDIRS
+ifneq ($(TARGET_EXAMPLEDIRS),)
 HASEXAMPLES=1
 HASEXAMPLES=1
 endif
 endif
 fpc_examples: all $(EXAMPLEFILES) $(addsuffix _all,$(TARGET_EXAMPLEDIRS))
 fpc_examples: all $(EXAMPLEFILES) $(addsuffix _all,$(TARGET_EXAMPLEDIRS))
@@ -1617,7 +1749,7 @@ fpc_debug:
 	$(MAKE) all DEBUG=1
 	$(MAKE) all DEBUG=1
 fpc_release:
 fpc_release:
 	$(MAKE) all RELEASE=1
 	$(MAKE) all RELEASE=1
-.SUFFIXES: $(EXEEXT) $(PPUEXT) $(OEXT) .pas .pp .rc .res
+.SUFFIXES: $(EXEEXT) $(PPUEXT) $(OEXT) .pas .dpr .pp .rc .res
 %$(PPUEXT): %.pp
 %$(PPUEXT): %.pp
 	$(COMPILER) $<
 	$(COMPILER) $<
 	$(EXECPPAS)
 	$(EXECPPAS)
@@ -1630,10 +1762,14 @@ fpc_release:
 %$(EXEEXT): %.pas
 %$(EXEEXT): %.pas
 	$(COMPILER) $<
 	$(COMPILER) $<
 	$(EXECPPAS)
 	$(EXECPPAS)
+%$(EXEEXT): %.dpr
+	$(COMPILER) $<
+	$(EXECPPAS)
 %.res: %.rc
 %.res: %.rc
 	windres -i $< -o $@
 	windres -i $< -o $@
 vpath %.pp $(COMPILER_SOURCEDIR) $(COMPILER_INCLUDEDIR)
 vpath %.pp $(COMPILER_SOURCEDIR) $(COMPILER_INCLUDEDIR)
 vpath %.pas $(COMPILER_SOURCEDIR) $(COMPILER_INCLUDEDIR)
 vpath %.pas $(COMPILER_SOURCEDIR) $(COMPILER_INCLUDEDIR)
+vpath %.dpr $(COMPILER_SOURCEDIR) $(COMPILER_INCLUDEDIR)
 vpath %$(PPUEXT) $(COMPILER_UNITTARGETDIR)
 vpath %$(PPUEXT) $(COMPILER_UNITTARGETDIR)
 .PHONY: fpc_install fpc_sourceinstall fpc_exampleinstall
 .PHONY: fpc_install fpc_sourceinstall fpc_exampleinstall
 ifdef INSTALL_UNITS
 ifdef INSTALL_UNITS
@@ -1735,7 +1871,7 @@ USEZIPWRAPPER=1
 endif
 endif
 ifdef USEZIPWRAPPER
 ifdef USEZIPWRAPPER
 ZIPPATHSEP=$(PATHSEP)
 ZIPPATHSEP=$(PATHSEP)
-ZIPWRAPPER=$(subst /,$(PATHSEP),$(DIST_DESTDIR)/fpczip$(BATCHEXT))
+ZIPWRAPPER=$(subst /,$(PATHSEP),$(DIST_DESTDIR)/fpczip$(SRCBATCHEXT))
 else
 else
 ZIPPATHSEP=/
 ZIPPATHSEP=/
 endif
 endif
@@ -1789,6 +1925,9 @@ override CLEANPPUFILES+=$(addsuffix $(PPUEXT),$(CLEAN_UNITS))
 endif
 endif
 ifdef CLEANPPUFILES
 ifdef CLEANPPUFILES
 override CLEANPPULINKFILES:=$(subst $(PPUEXT),$(OEXT),$(CLEANPPUFILES)) $(addprefix $(STATICLIBPREFIX),$(subst $(PPUEXT),$(STATICLIBEXT),$(CLEANPPUFILES)))
 override CLEANPPULINKFILES:=$(subst $(PPUEXT),$(OEXT),$(CLEANPPUFILES)) $(addprefix $(STATICLIBPREFIX),$(subst $(PPUEXT),$(STATICLIBEXT),$(CLEANPPUFILES)))
+ifdef DEBUGSYMEXT
+override CLEANPPULINKFILES+=$(subst $(PPUEXT),$(DEBUGSYMEXT),$(CLEANPPUFILES)) 
+endif
 override CLEANPPUFILES:=$(addprefix $(UNITTARGETDIRPREFIX),$(CLEANPPUFILES))
 override CLEANPPUFILES:=$(addprefix $(UNITTARGETDIRPREFIX),$(CLEANPPUFILES))
 override CLEANPPULINKFILES:=$(wildcard $(addprefix $(UNITTARGETDIRPREFIX),$(CLEANPPULINKFILES)))
 override CLEANPPULINKFILES:=$(wildcard $(addprefix $(UNITTARGETDIRPREFIX),$(CLEANPPULINKFILES)))
 endif
 endif
@@ -1812,6 +1951,7 @@ ifdef LIB_NAME
 	-$(DEL) $(LIB_NAME) $(LIB_FULLNAME)
 	-$(DEL) $(LIB_NAME) $(LIB_FULLNAME)
 endif
 endif
 	-$(DEL) $(FPCMADE) Package.fpc $(PPAS) script.res link.res $(FPCEXTFILE) $(REDIRFILE)
 	-$(DEL) $(FPCMADE) Package.fpc $(PPAS) script.res link.res $(FPCEXTFILE) $(REDIRFILE)
+	-$(DEL) *$(ASMEXT) *_ppas$(BATCHEXT)
 fpc_distclean: clean
 fpc_distclean: clean
 ifdef COMPILER_UNITTARGETDIR
 ifdef COMPILER_UNITTARGETDIR
 TARGETDIRCLEAN=fpc_clean
 TARGETDIRCLEAN=fpc_clean
@@ -1823,9 +1963,13 @@ endif
 	-$(DEL) *$(OEXT) *$(PPUEXT) *$(RSTEXT) *$(ASMEXT) *$(STATICLIBEXT) *$(SHAREDLIBEXT) *$(PPLEXT)
 	-$(DEL) *$(OEXT) *$(PPUEXT) *$(RSTEXT) *$(ASMEXT) *$(STATICLIBEXT) *$(SHAREDLIBEXT) *$(PPLEXT)
 	-$(DELTREE) *$(SMARTEXT)
 	-$(DELTREE) *$(SMARTEXT)
 	-$(DEL) $(FPCMADE) Package.fpc $(PPAS) script.res link.res $(FPCEXTFILE) $(REDIRFILE)
 	-$(DEL) $(FPCMADE) Package.fpc $(PPAS) script.res link.res $(FPCEXTFILE) $(REDIRFILE)
+	-$(DEL) *_ppas$(BATCHEXT)
 ifdef AOUTEXT
 ifdef AOUTEXT
 	-$(DEL) *$(AOUTEXT)
 	-$(DEL) *$(AOUTEXT)
 endif
 endif
+ifdef DEBUGSYMEXT
+	-$(DEL) *$(DEBUGSYMEXT)
+endif
 .PHONY: fpc_baseinfo
 .PHONY: fpc_baseinfo
 override INFORULES+=fpc_baseinfo
 override INFORULES+=fpc_baseinfo
 fpc_baseinfo:
 fpc_baseinfo: