Browse Source

* readded

peter 24 years ago
parent
commit
a52d9a8b79
1 changed files with 1547 additions and 0 deletions
  1. 1547 0
      Makefile

+ 1547 - 0
Makefile

@@ -0,0 +1,1547 @@
+#
+# Don't edit, this file is generated by FPCMake Version 1.1 [2001/10/16]
+#
+default: help
+override PATH:=$(subst \,/,$(PATH))
+ifeq ($(findstring ;,$(PATH)),)
+inUnix=1
+SEARCHPATH:=$(filter-out .,$(subst :, ,$(PATH)))
+else
+SEARCHPATH:=$(subst ;, ,$(PATH))
+endif
+PWD:=$(strip $(wildcard $(addsuffix /pwd.exe,$(SEARCHPATH))))
+ifeq ($(PWD),)
+PWD:=$(strip $(wildcard $(addsuffix /pwd,$(SEARCHPATH))))
+ifeq ($(PWD),)
+nopwd:
+	@echo You need the GNU utils package to use this Makefile!
+	@echo Get ftp://ftp.freepascal.org/pub/fpc/dist/go32v2/utilgo32.zip
+	@exit
+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 cygwin,$(MACHTYPE)),)
+inCygWin=1
+endif
+endif
+ifdef inUnix
+BATCHEXT=.sh
+else
+ifdef inOS2
+BATCHEXT=.cmd
+else
+BATCHEXT=.bat
+endif
+endif
+ifdef inUnix
+PATHSEP=/
+else
+PATHSEP:=$(subst /,\,/)
+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
+ifndef FPC
+ifdef PP
+FPC=$(PP)
+endif
+endif
+ifndef FPC
+FPCPROG:=$(strip $(wildcard $(addsuffix /fpc$(SRCEXEEXT),$(SEARCHPATH))))
+ifneq ($(FPCPROG),)
+FPCPROG:=$(firstword $(FPCPROG))
+FPC:=$(shell $(FPCPROG) -PB)
+ifneq ($(findstring Error,$(FPC)),)
+override FPC=ppc386
+endif
+else
+override FPC=ppc386
+endif
+endif
+override FPC:=$(subst $(SRCEXEEXT),,$(FPC))
+override FPC:=$(subst \,/,$(FPC))$(SRCEXEEXT)
+ifndef FPC_VERSION
+FPC_VERSION:=$(shell $(FPC) -iV)
+endif
+export FPC FPC_VERSION
+ifndef CPU_TARGET
+CPU_TARGET:=$(shell $(FPC) -iTP)
+endif
+ifndef CPU_SOURCE
+CPU_SOURCE:=$(shell $(FPC) -iSP)
+endif
+ifndef OS_TARGET
+OS_TARGET:=$(shell $(FPC) -iTO)
+endif
+ifndef OS_SOURCE
+OS_SOURCE:=$(shell $(FPC) -iSO)
+endif
+FULL_TARGET=$(CPU_TARGET)-$(OS_TARGET)
+FULL_SOURCE=$(CPU_SOURCE)-$(OS_SOURCE)
+ifneq ($(FULL_TARGET),$(FULL_SOURCE))
+CROSSCOMPILE=1
+endif
+export OS_TARGET OS_SOURCE CPU_TARGET CPU_SOURCE FULL_TARGET FULL_SOURCE CROSSCOMPILE
+ifdef FPCDIR
+override FPCDIR:=$(subst \,/,$(FPCDIR))
+ifeq ($(wildcard $(addprefix $(FPCDIR)/,rtl units)),)
+override FPCDIR=wrong
+endif
+else
+override FPCDIR=wrong
+endif
+ifeq ($(FPCDIR),wrong)
+override FPCDIR=.
+ifeq ($(wildcard $(FPCDIR)/rtl),)
+ifeq ($(wildcard $(FPCDIR)/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=c:/pp
+endif
+endif
+endif
+endif
+ifdef CROSSCOMPILE
+UNITSDIR:=$(wildcard $(FPCDIR)/cross/$(FULL_TARGET)/units)
+ifeq ($(UNITSDIR),)
+UNITSDIR:=$(wildcard $(FPCDIR)/units/$(OS_TARGET))
+endif
+else
+UNITSDIR:=$(wildcard $(FPCDIR)/units/$(OS_TARGET))
+endif
+PACKAGESDIR:=$(wildcard $(FPCDIR) $(FPCDIR)/packages)
+override PACKAGE_NAME=fpc
+override PACKAGE_VERSION=1.0.5
+ifndef inOS2
+override FPCDIR:=$(BASEDIR)
+export FPCDIR
+endif
+ifndef PPNEW
+ifeq ($(CPU_TARGET),m68k)
+PPSUF=68k
+endif
+ifeq ($(CPU_TARGET),i386)
+PPSUF=386
+endif
+ifeq ($(CPU_TARGET),powerpc)
+PPSUF=ppc
+endif
+ifeq ($(CPU_TARGET),alpha)
+PPSUF=axp
+endif
+ifneq ($(OS_TARGET),$(OS_SOURCE))
+PPPRE=ppcross
+else
+ifneq ($(CPU_TARGET),$(CPU_SOURCE))
+PPPRE=ppcross
+else
+PPPRE=ppc
+endif
+endif
+PPNEW=$(BASEDIR)/compiler/$(PPPRE)$(PPSUF)$(SRCEXEEXT)
+endif
+ifneq ($(wildcard install),)
+CVSINSTALL=install
+else
+CVSINSTALL=.
+endif
+ifdef SNAPSHOT
+INSTALLTARGET=install
+else
+INSTALLTARGET=distinstall
+endif
+ifdef SNAPSHOT
+ALLTARGET=all
+else
+ifndef ALLTARGET
+ifeq ($(OS_TARGET),win32)
+ALLTARGET=smart
+else
+ifeq ($(OS_TARGET),go32v2)
+ALLTARGET=smart
+else
+ifeq ($(OS_TARGET),linux)
+ALLTARGET=smart
+else
+ifeq ($(OS_TARGET),freebsd)
+ALLTARGET=smart
+else
+ALLTARGET=all
+endif
+endif
+endif
+endif
+endif
+endif
+ifdef SNAPSHOT
+NOSTOP=-
+else
+NOSTOP=
+endif
+ifeq ($(OS_TARGET),linux)
+PKGPRE=units
+else
+ifeq ($(OS_TARGET),freebsd)
+PKGPRE=units
+else
+PKGPRE=u
+endif
+endif
+override RELEASE=1
+export RELEASE
+ifndef DIST_DESTDIR
+export DIST_DESTDIR:=$(BASEDIR)
+endif
+BASEPACKDIR=$(BASEDIR)/basepack
+FPCMAKENEW=$(BASEDIR)/utils/fpcm/fpcmake$(EXEEXT)
+BUILDOPTS=FPC=$(PPNEW) RELEASE=1
+INSTALLOPTS=FPC=$(PPNEW) ZIPDESTDIR=$(BASEDIR) FPCMAKE=$(FPCMAKENEW)
+ifneq ($(wildcard ide),)
+ifneq ($(wildcard fv),)
+ifeq ($(OS_TARGET),go32v2)
+IDE=1
+endif
+ifeq ($(OS_TARGET),win32)
+IDE=1
+endif
+ifeq ($(OS_TARGET),linux)
+IDE=1
+endif
+endif
+endif
+override TARGET_DIRS+=compiler rtl utils fcl fv packages ide
+override INSTALL_FPCPACKAGE=y
+ifdef REQUIRE_UNITSDIR
+override UNITSDIR+=$(REQUIRE_UNITSDIR)
+endif
+ifdef REQUIRE_PACKAGESDIR
+override PACKAGESDIR+=$(REQUIRE_PACKAGESDIR)
+endif
+ifdef ZIPINSTALL
+ifeq ($(OS_TARGET),linux)
+UNIXINSTALLDIR=1
+endif
+ifeq ($(OS_TARGET),freebsd)
+UNIXINSTALLDIR=1
+endif
+ifeq ($(OS_TARGET),netbsd)
+UNIXINSTALLDIR=1
+endif
+else
+ifeq ($(OS_SOURCE),linux)
+UNIXINSTALLDIR=1
+endif
+ifeq ($(OS_SOURCE),freebsd)
+UNIXINSTALLDIR=1
+endif
+ifeq ($(OS_SOURCE),netbsd)
+UNIXINSTALLDIR=1
+endif
+endif
+ifndef INSTALL_PREFIX
+ifdef UNIXINSTALLDIR
+INSTALL_PREFIX=/usr/local
+else
+ifdef INSTALL_FPCPACKAGE
+INSTALL_BASEDIR:=/pp
+else
+INSTALL_BASEDIR:=/$(PACKAGE_NAME)
+endif
+endif
+endif
+export INSTALL_PREFIX
+ifndef DIST_DESTDIR
+DIST_DESTDIR:=$(BASEDIR)
+endif
+export DIST_DESTDIR
+ifndef INSTALL_BASEDIR
+ifdef UNIXINSTALLDIR
+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 UNIXINSTALLDIR
+INSTALL_BINDIR:=$(INSTALL_PREFIX)/bin
+else
+INSTALL_BINDIR:=$(INSTALL_BASEDIR)/bin
+ifdef INSTALL_FPCPACKAGE
+INSTALL_BINDIR:=$(INSTALL_BINDIR)/$(OS_TARGET)
+endif
+endif
+endif
+ifndef INSTALL_UNITDIR
+ifdef CROSSCOMPILE
+INSTALL_UNITDIR:=$(INSTALL_BASEDIR)/cross/$(FULL_TARGET)/units
+else
+INSTALL_UNITDIR:=$(INSTALL_BASEDIR)/units/$(OS_TARGET)
+endif
+ifdef INSTALL_FPCPACKAGE
+ifdef PACKAGE_NAME
+INSTALL_UNITDIR:=$(INSTALL_UNITDIR)/$(PACKAGE_NAME)
+endif
+endif
+endif
+ifndef INSTALL_LIBDIR
+ifdef UNIXINSTALLDIR
+INSTALL_LIBDIR:=$(INSTALL_PREFIX)/lib
+else
+INSTALL_LIBDIR:=$(INSTALL_UNITDIR)
+endif
+endif
+ifndef INSTALL_SOURCEDIR
+ifdef UNIXINSTALLDIR
+ifdef INSTALL_FPCPACKAGE
+INSTALL_SOURCEDIR:=$(INSTALL_PREFIX)/src/fpc-$(FPC_VERSION)/$(PACKAGE_NAME)
+else
+INSTALL_SOURCEDIR:=$(INSTALL_PREFIX)/src/$(PACKAGE_NAME)-$(PACKAGE_VERSION)
+endif
+else
+ifdef INSTALL_FPCPACKAGE
+INSTALL_SOURCEDIR:=$(INSTALL_BASEDIR)/source/$(PACKAGE_NAME)
+else
+INSTALL_SOURCEDIRL:=$(INSTALL_BASEDIR)/source
+endif
+endif
+endif
+ifndef INSTALL_DOCDIR
+ifdef UNIXINSTALLDIR
+ifdef INSTALL_FPCPACKAGE
+INSTALL_DOCDIR:=$(INSTALL_PREFIX)/doc/fpc-$(FPC_VERSION)/$(PACKAGE_NAME)
+else
+INSTALL_DOCDIR:=$(INSTALL_PREFIX)/doc/$(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 UNIXINSTALLDIR
+ifdef INSTALL_FPCPACKAGE
+INSTALL_EXAMPLEDIR:=$(INSTALL_PREFIX)/doc/fpc-$(FPC_VERSION)/examples/$(PACKAGE_NAME)
+else
+INSTALL_EXAMPLEDIR:=$(INSTALL_PREFIX)/doc/$(PACKAGE_NAME)-$(PACKAGE_VERSION)
+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
+ifdef CROSSCOMPILE
+ifndef CROSSBINDIR
+CROSSBINDIR:=$(wildcard $(FPCDIR)/cross/$(FULL_TARGET)/bin/$(FULL_SOURCE))
+ifeq ($(CROSSBINDIR),)
+CROSSBINDIR:=$(wildcard $(INSTALL_BASEDIR)/cross/$(FULL_TARGET)/bin/$(FULL_SOURCE))
+endif
+endif
+else
+CROSSBINDIR=
+endif
+LOADEREXT=.as
+EXEEXT=.exe
+PPLEXT=.ppl
+PPUEXT=.ppu
+OEXT=.o
+ASMEXT=.s
+SMARTEXT=.sl
+STATICLIBEXT=.a
+SHAREDLIBEXT=.so
+STATICLIBPREFIX=libp
+RSTEXT=.rst
+FPCMADE=fpcmade
+ifeq ($(OS_TARGET),go32v1)
+PPUEXT=.pp1
+OEXT=.o1
+ASMEXT=.s1
+SMARTEXT=.sl1
+STATICLIBEXT=.a1
+SHAREDLIBEXT=.so1
+STATICLIBPREFIX=
+FPCMADE=fpcmade.v1
+PACKAGESUFFIX=v1
+endif
+ifeq ($(OS_TARGET),go32v2)
+STATICLIBPREFIX=
+FPCMADE=fpcmade.dos
+ZIPSUFFIX=go32
+endif
+ifeq ($(OS_TARGET),linux)
+EXEEXT=
+HASSHAREDLIB=1
+FPCMADE=fpcmade.lnx
+ZIPSUFFIX=linux
+endif
+ifeq ($(OS_TARGET),freebsd)
+EXEEXT=
+HASSHAREDLIB=1
+FPCMADE=fpcmade.freebsd
+ZIPSUFFIX=freebsd
+endif
+ifeq ($(OS_TARGET),netbsd)
+EXEEXT=
+HASSHAREDLIB=1
+FPCMADE=fpcmade.netbsd
+ZIPSUFFIX=netbsd
+endif
+ifeq ($(OS_TARGET),win32)
+PPUEXT=.ppw
+OEXT=.ow
+ASMEXT=.sw
+SMARTEXT=.slw
+STATICLIBEXT=.aw
+SHAREDLIBEXT=.dll
+FPCMADE=fpcmade.w32
+ZIPSUFFIX=w32
+endif
+ifeq ($(OS_TARGET),os2)
+PPUEXT=.ppo
+ASMEXT=.so2
+OEXT=.oo2
+AOUTEXT=.out
+SMARTEXT=.so
+STATICLIBEXT=.ao2
+SHAREDLIBEXT=.dll
+FPCMADE=fpcmade.os2
+ZIPSUFFIX=emx
+endif
+ifeq ($(OS_TARGET),amiga)
+EXEEXT=
+PPUEXT=.ppa
+ASMEXT=.asm
+OEXT=.o
+SMARTEXT=.sl
+STATICLIBEXT=.a
+SHAREDLIBEXT=.library
+FPCMADE=fpcmade.amg
+endif
+ifeq ($(OS_TARGET),atari)
+PPUEXT=.ppt
+ASMEXT=.s
+OEXT=.o
+SMARTEXT=.sl
+STATICLIBEXT=.a
+EXEEXT=.ttp
+FPCMADE=fpcmade.ata
+endif
+ifeq ($(OS_TARGET),beos)
+PPUEXT=.ppu
+ASMEXT=.s
+OEXT=.o
+SMARTEXT=.sl
+STATICLIBEXT=.a
+EXEEXT=
+FPCMADE=fpcmade.be
+ZIPSUFFIX=be
+endif
+ifeq ($(OS_TARGET),sunos)
+PPUEXT=.ppu
+ASMEXT=.s
+OEXT=.o
+SMARTEXT=.sl
+STATICLIBEXT=.a
+EXEEXT=
+FPCMADE=fpcmade.sun
+ZIPSUFFIX=sun
+endif
+ifeq ($(OS_TARGET),qnx)
+PPUEXT=.ppu
+ASMEXT=.s
+OEXT=.o
+SMARTEXT=.sl
+STATICLIBEXT=.a
+EXEEXT=
+FPCMADE=fpcmade.qnx
+ZIPSUFFIX=qnx
+endif
+ifndef ECHO
+ECHO:=$(strip $(wildcard $(addsuffix /gecho$(SRCEXEEXT),$(SEARCHPATH))))
+ifeq ($(ECHO),)
+ECHO:=$(strip $(wildcard $(addsuffix /echo$(SRCEXEEXT),$(SEARCHPATH))))
+ifeq ($(ECHO),)
+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=
+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=
+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=
+else
+CPPROG:=$(firstword $(CPPROG))
+endif
+endif
+export CPPROG
+ifndef RMPROG
+RMPROG:=$(strip $(wildcard $(addsuffix /rm$(SRCEXEEXT),$(SEARCHPATH))))
+ifeq ($(RMPROG),)
+RMPROG=
+else
+RMPROG:=$(firstword $(RMPROG))
+endif
+endif
+export RMPROG
+ifndef MVPROG
+MVPROG:=$(strip $(wildcard $(addsuffix /mv$(SRCEXEEXT),$(SEARCHPATH))))
+ifeq ($(MVPROG),)
+MVPROG=
+else
+MVPROG:=$(firstword $(MVPROG))
+endif
+endif
+export MVPROG
+ifndef ECHOREDIR
+ECHOREDIR:=$(subst /,$(PATHSEP),$(ECHO))
+endif
+ifndef COPY
+COPY:=$(CPPROG) -fp
+endif
+ifndef COPYTREE
+COPYTREE:=$(CPPROG) -rfp
+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=
+else
+PPUMOVE:=$(firstword $(PPUMOVE))
+endif
+endif
+export PPUMOVE
+ifndef FPCMAKE
+FPCMAKE:=$(strip $(wildcard $(addsuffix /fpcmake$(SRCEXEEXT),$(SEARCHPATH))))
+ifeq ($(FPCMAKE),)
+FPCMAKE=
+else
+FPCMAKE:=$(firstword $(FPCMAKE))
+endif
+endif
+export FPCMAKE
+ifndef ZIPPROG
+ZIPPROG:=$(strip $(wildcard $(addsuffix /zip$(SRCEXEEXT),$(SEARCHPATH))))
+ifeq ($(ZIPPROG),)
+ZIPPROG=
+else
+ZIPPROG:=$(firstword $(ZIPPROG))
+endif
+endif
+export ZIPPROG
+ifndef TARPROG
+TARPROG:=$(strip $(wildcard $(addsuffix /tar$(SRCEXEEXT),$(SEARCHPATH))))
+ifeq ($(TARPROG),)
+TARPROG=
+else
+TARPROG:=$(firstword $(TARPROG))
+endif
+endif
+export TARPROG
+ifndef ASPROG
+ifdef CROSSBINDIR
+ASPROG=$(CROSSBINDIR)/as$(SRCEXEEXT)
+else
+ASPROG=as
+endif
+endif
+ifndef LDPROG
+ifdef CROSSBINDIR
+LDPROG=$(CROSSBINDIR)/ld$(SRCEXEEXT)
+else
+LDPROG=ld
+endif
+endif
+ifndef RCPROG
+ifdef CROSSBINDIR
+RCPROG=$(CROSSBINDIR)/rc$(SRCEXEEXT)
+else
+RCPROG=rc
+endif
+endif
+AS=$(ASPROG)
+LD=$(LDPROG)
+RC=$(RCPROG)
+PPAS=ppas$(BATCHEXT)
+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=vI
+TAREXT=.tar.bz2
+else
+TAROPT=vz
+TAREXT=.tar.gz
+endif
+ifndef NOCPUDEF
+override FPCOPTDEF=$(CPU_TARGET)
+endif
+ifneq ($(OS_TARGET),$(OS_SOURCE))
+override FPCOPT+=-T$(OS_TARGET)
+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
+ifeq ($(CPU_TARGET),i386)
+FPCCPUOPT:=-OG2p3
+else
+FPCCPUOPT:=
+endif
+override FPCOPT+=-Xs $(FPCCPUOPT) -n
+override FPCOPTDEF+=RELEASE
+endif
+ifdef STRIP
+override FPCOPT+=-Xs
+endif
+ifdef OPTIMIZE
+ifeq ($(CPU_TARGET),i386)
+override FPCOPT+=-OG2p3
+endif
+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 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 COMPILER:=$(FPC) $(FPCOPT)
+ifeq (,$(findstring -s ,$(COMPILER)))
+EXECPPAS=
+else
+ifeq ($(OS_SOURCE),$(OS_TARGET))
+EXECPPAS:=@$(PPAS)
+endif
+endif
+ifdef TARGET_RSTS
+override RSTFILES=$(addsuffix $(RSTEXT),$(TARGET_RSTS))
+override CLEANRSTFILES+=$(RSTFILES)
+endif
+.PHONY: fpc_distinstall
+fpc_distinstall: install exampleinstall
+.PHONY: fpc_zipinstall fpc_zipsourceinstall fpc_zipexampleinstall
+ifndef PACKDIR
+ifndef inUnix
+PACKDIR=$(BASEDIR)/../fpc-pack
+else
+PACKDIR=/tmp/fpc-pack
+endif
+endif
+ifndef ZIPNAME
+ifdef DIST_ZIPNAME
+ZIPNAME=$(DIST_ZIPNAME)
+else
+ZIPNAME=$(ZIPPREFIX)$(PACKAGE_NAME)$(ZIPSUFFIX)
+endif
+endif
+ifndef ZIPTARGET
+ifdef DIST_ZIPTARGET
+ZIPTARGET=DIST_ZIPTARGET
+else
+ZIPTARGET=install
+endif
+endif
+ifndef USEZIP
+ifdef inUnix
+USETAR=1
+endif
+endif
+ifndef inUnix
+USEZIPWRAPPER=1
+endif
+ifdef USEZIPWRAPPER
+ZIPPATHSEP=$(PATHSEP)
+ZIPWRAPPER=$(subst /,$(PATHSEP),$(DIST_DESTDIR)/fpczip$(BATCHEXT))
+else
+ZIPPATHSEP=/
+endif
+ZIPCMD_CDPACK:=cd $(subst /,$(ZIPPATHSEP),$(PACKDIR))
+ZIPCMD_CDBASE:=cd $(subst /,$(ZIPPATHSEP),$(BASEDIR))
+ifdef USETAR
+ZIPDESTFILE:=$(DIST_DESTDIR)/$(ZIPNAME)$(TAREXT)
+ZIPCMD_ZIP:=$(TARPROG) cf$(TAROPT) $(ZIPDESTFILE) *
+else
+ZIPDESTFILE:=$(DIST_DESTDIR)/$(ZIPNAME)$(ZIPEXT)
+ZIPCMD_ZIP:=$(subst /,$(ZIPPATHSEP),$(ZIPPROG)) -Dr $(ZIPOPT) $(ZIPDESTFILE) *
+endif
+fpc_zipinstall:
+	$(MAKE) $(ZIPTARGET) INSTALL_PREFIX=$(PACKDIR) ZIPINSTALL=1
+	$(MKDIR) $(DIST_DESTDIR)
+	$(DEL) $(ZIPDESTFILE)
+ifdef USEZIPWRAPPER
+ifneq ($(ECHOREDIR),echo)
+	$(ECHOREDIR) -e "$(subst \,\\,$(ZIPCMD_CDPACK))" > $(ZIPWRAPPER)
+	$(ECHOREDIR) -e "$(subst \,\\,$(ZIPCMD_ZIP))" >> $(ZIPWRAPPER)
+	$(ECHOREDIR) -e "$(subst \,\\,$(ZIPCMD_CDBASE))" >> $(ZIPWRAPPER)
+else
+	echo $(ZIPCMD_CDPACK) > $(ZIPWRAPPER)
+	echo $(ZIPCMD_ZIP) >> $(ZIPWRAPPER)
+	echo $(ZIPCMD_CDBASE) >> $(ZIPWRAPPER)
+endif
+ifdef inUnix
+	/bin/sh $(ZIPWRAPPER)
+else
+	$(ZIPWRAPPER)
+endif
+	$(DEL) $(ZIPWRAPPER)
+else
+	$(ZIPCMD_CDPACK) ; $(ZIPCMD_ZIP) ; $(ZIPCMD_CDBASE)
+endif
+	$(DELTREE) $(PACKDIR)
+fpc_zipsourceinstall:
+	$(MAKE) fpc_zipinstall ZIPTARGET=sourceinstall ZIPSUFFIX=src
+fpc_zipexampleinstall:
+ifdef HASEXAMPLES
+	$(MAKE) fpc_zipinstall ZIPTARGET=exampleinstall ZIPSUFFIX=exm
+endif
+fpc_zipdistinstall:
+	$(MAKE) fpc_zipinstall ZIPTARGET=distinstall
+.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)))
+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)
+fpc_distclean: clean
+ifdef COMPILER_UNITTARGETDIR
+TARGETDIRCLEAN=fpc_clean
+endif
+fpc_cleanall: $(CLEANTARGET) $(TARGETDIRCLEAN)
+ifdef CLEANEXEFILES
+	-$(DEL) $(CLEANEXEFILES)
+endif
+	-$(DEL) *$(OEXT) *$(PPUEXT) *$(RSTEXT) *$(ASMEXT) *$(STATICLIBEXT) *$(SHAREDLIBEXT) *$(PPLEXT)
+	-$(DELTREE) *$(SMARTEXT)
+	-$(DEL) $(FPCMADE) $(PPAS) link.res $(FPCEXTFILE) $(REDIRFILE)
+ifdef AOUTEXT
+	-$(DEL) *$(AOUTEXT)
+endif
+.PHONY: fpc_info
+fpc_info:
+	@$(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 Target.. $(FULL_SOURCE)
+	@$(ECHO)  Full Source.. $(FULL_TARGET)
+	@$(ECHO)
+	@$(ECHO)  == Directory info ==
+	@$(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)  Pwd....... $(PWD)
+	@$(ECHO)  Mv........ $(MVPROG)
+	@$(ECHO)  Cp........ $(CPPROG)
+	@$(ECHO)  Rm........ $(RMPROG)
+	@$(ECHO)  GInstall.. $(GINSTALL)
+	@$(ECHO)  Echo...... $(ECHO)
+	@$(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 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)  ZipPrefix............ $(ZIPPREFIX)
+	@$(ECHO)  ZipSuffix............ $(ZIPSUFFIX)
+	@$(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)
+TARGET_DIRS_COMPILER=1
+TARGET_DIRS_RTL=1
+TARGET_DIRS_UTILS=1
+TARGET_DIRS_FCL=1
+TARGET_DIRS_FV=1
+TARGET_DIRS_PACKAGES=1
+TARGET_DIRS_IDE=1
+ifdef TARGET_DIRS_COMPILER
+compiler_all:
+	$(MAKE) -C compiler all
+compiler_debug:
+	$(MAKE) -C compiler debug
+compiler_smart:
+	$(MAKE) -C compiler smart
+compiler_examples:
+	$(MAKE) -C compiler examples
+compiler_shared:
+	$(MAKE) -C compiler shared
+compiler_install:
+	$(MAKE) -C compiler install
+compiler_sourceinstall:
+	$(MAKE) -C compiler sourceinstall
+compiler_exampleinstall:
+	$(MAKE) -C compiler exampleinstall
+compiler_distinstall:
+	$(MAKE) -C compiler distinstall
+compiler_zipinstall:
+	$(MAKE) -C compiler zipinstall
+compiler_zipsourceinstall:
+	$(MAKE) -C compiler zipsourceinstall
+compiler_zipexampleinstall:
+	$(MAKE) -C compiler zipexampleinstall
+compiler_zipdistinstall:
+	$(MAKE) -C compiler zipdistinstall
+compiler_clean:
+	$(MAKE) -C compiler clean
+compiler_distclean:
+	$(MAKE) -C compiler distclean
+compiler_cleanall:
+	$(MAKE) -C compiler cleanall
+compiler_info:
+	$(MAKE) -C compiler info
+compiler:
+	$(MAKE) -C compiler all
+.PHONY: compiler_all compiler_debug compiler_smart compiler_examples compiler_shared compiler_install compiler_sourceinstall compiler_exampleinstall compiler_distinstall compiler_zipinstall compiler_zipsourceinstall compiler_zipexampleinstall compiler_zipdistinstall compiler_clean compiler_distclean compiler_cleanall compiler_info compiler
+endif
+ifdef TARGET_DIRS_RTL
+rtl_all:
+	$(MAKE) -C rtl all
+rtl_debug:
+	$(MAKE) -C rtl debug
+rtl_smart:
+	$(MAKE) -C rtl smart
+rtl_examples:
+	$(MAKE) -C rtl examples
+rtl_shared:
+	$(MAKE) -C rtl shared
+rtl_install:
+	$(MAKE) -C rtl install
+rtl_sourceinstall:
+	$(MAKE) -C rtl sourceinstall
+rtl_exampleinstall:
+	$(MAKE) -C rtl exampleinstall
+rtl_distinstall:
+	$(MAKE) -C rtl distinstall
+rtl_zipinstall:
+	$(MAKE) -C rtl zipinstall
+rtl_zipsourceinstall:
+	$(MAKE) -C rtl zipsourceinstall
+rtl_zipexampleinstall:
+	$(MAKE) -C rtl zipexampleinstall
+rtl_zipdistinstall:
+	$(MAKE) -C rtl zipdistinstall
+rtl_clean:
+	$(MAKE) -C rtl clean
+rtl_distclean:
+	$(MAKE) -C rtl distclean
+rtl_cleanall:
+	$(MAKE) -C rtl cleanall
+rtl_info:
+	$(MAKE) -C rtl info
+rtl:
+	$(MAKE) -C rtl all
+.PHONY: rtl_all rtl_debug rtl_smart rtl_examples rtl_shared rtl_install rtl_sourceinstall rtl_exampleinstall rtl_distinstall rtl_zipinstall rtl_zipsourceinstall rtl_zipexampleinstall rtl_zipdistinstall rtl_clean rtl_distclean rtl_cleanall rtl_info rtl
+endif
+ifdef TARGET_DIRS_UTILS
+utils_all:
+	$(MAKE) -C utils all
+utils_debug:
+	$(MAKE) -C utils debug
+utils_smart:
+	$(MAKE) -C utils smart
+utils_examples:
+	$(MAKE) -C utils examples
+utils_shared:
+	$(MAKE) -C utils shared
+utils_install:
+	$(MAKE) -C utils install
+utils_sourceinstall:
+	$(MAKE) -C utils sourceinstall
+utils_exampleinstall:
+	$(MAKE) -C utils exampleinstall
+utils_distinstall:
+	$(MAKE) -C utils distinstall
+utils_zipinstall:
+	$(MAKE) -C utils zipinstall
+utils_zipsourceinstall:
+	$(MAKE) -C utils zipsourceinstall
+utils_zipexampleinstall:
+	$(MAKE) -C utils zipexampleinstall
+utils_zipdistinstall:
+	$(MAKE) -C utils zipdistinstall
+utils_clean:
+	$(MAKE) -C utils clean
+utils_distclean:
+	$(MAKE) -C utils distclean
+utils_cleanall:
+	$(MAKE) -C utils cleanall
+utils_info:
+	$(MAKE) -C utils info
+utils:
+	$(MAKE) -C utils all
+.PHONY: utils_all utils_debug utils_smart utils_examples utils_shared utils_install utils_sourceinstall utils_exampleinstall utils_distinstall utils_zipinstall utils_zipsourceinstall utils_zipexampleinstall utils_zipdistinstall utils_clean utils_distclean utils_cleanall utils_info utils
+endif
+ifdef TARGET_DIRS_FCL
+fcl_all:
+	$(MAKE) -C fcl all
+fcl_debug:
+	$(MAKE) -C fcl debug
+fcl_smart:
+	$(MAKE) -C fcl smart
+fcl_examples:
+	$(MAKE) -C fcl examples
+fcl_shared:
+	$(MAKE) -C fcl shared
+fcl_install:
+	$(MAKE) -C fcl install
+fcl_sourceinstall:
+	$(MAKE) -C fcl sourceinstall
+fcl_exampleinstall:
+	$(MAKE) -C fcl exampleinstall
+fcl_distinstall:
+	$(MAKE) -C fcl distinstall
+fcl_zipinstall:
+	$(MAKE) -C fcl zipinstall
+fcl_zipsourceinstall:
+	$(MAKE) -C fcl zipsourceinstall
+fcl_zipexampleinstall:
+	$(MAKE) -C fcl zipexampleinstall
+fcl_zipdistinstall:
+	$(MAKE) -C fcl zipdistinstall
+fcl_clean:
+	$(MAKE) -C fcl clean
+fcl_distclean:
+	$(MAKE) -C fcl distclean
+fcl_cleanall:
+	$(MAKE) -C fcl cleanall
+fcl_info:
+	$(MAKE) -C fcl info
+fcl:
+	$(MAKE) -C fcl all
+.PHONY: fcl_all fcl_debug fcl_smart fcl_examples fcl_shared fcl_install fcl_sourceinstall fcl_exampleinstall fcl_distinstall fcl_zipinstall fcl_zipsourceinstall fcl_zipexampleinstall fcl_zipdistinstall fcl_clean fcl_distclean fcl_cleanall fcl_info fcl
+endif
+ifdef TARGET_DIRS_FV
+fv_all:
+	$(MAKE) -C fv all
+fv_debug:
+	$(MAKE) -C fv debug
+fv_smart:
+	$(MAKE) -C fv smart
+fv_examples:
+	$(MAKE) -C fv examples
+fv_shared:
+	$(MAKE) -C fv shared
+fv_install:
+	$(MAKE) -C fv install
+fv_sourceinstall:
+	$(MAKE) -C fv sourceinstall
+fv_exampleinstall:
+	$(MAKE) -C fv exampleinstall
+fv_distinstall:
+	$(MAKE) -C fv distinstall
+fv_zipinstall:
+	$(MAKE) -C fv zipinstall
+fv_zipsourceinstall:
+	$(MAKE) -C fv zipsourceinstall
+fv_zipexampleinstall:
+	$(MAKE) -C fv zipexampleinstall
+fv_zipdistinstall:
+	$(MAKE) -C fv zipdistinstall
+fv_clean:
+	$(MAKE) -C fv clean
+fv_distclean:
+	$(MAKE) -C fv distclean
+fv_cleanall:
+	$(MAKE) -C fv cleanall
+fv_info:
+	$(MAKE) -C fv info
+fv:
+	$(MAKE) -C fv all
+.PHONY: fv_all fv_debug fv_smart fv_examples fv_shared fv_install fv_sourceinstall fv_exampleinstall fv_distinstall fv_zipinstall fv_zipsourceinstall fv_zipexampleinstall fv_zipdistinstall fv_clean fv_distclean fv_cleanall fv_info fv
+endif
+ifdef TARGET_DIRS_PACKAGES
+packages_all:
+	$(MAKE) -C packages all
+packages_debug:
+	$(MAKE) -C packages debug
+packages_smart:
+	$(MAKE) -C packages smart
+packages_examples:
+	$(MAKE) -C packages examples
+packages_shared:
+	$(MAKE) -C packages shared
+packages_install:
+	$(MAKE) -C packages install
+packages_sourceinstall:
+	$(MAKE) -C packages sourceinstall
+packages_exampleinstall:
+	$(MAKE) -C packages exampleinstall
+packages_distinstall:
+	$(MAKE) -C packages distinstall
+packages_zipinstall:
+	$(MAKE) -C packages zipinstall
+packages_zipsourceinstall:
+	$(MAKE) -C packages zipsourceinstall
+packages_zipexampleinstall:
+	$(MAKE) -C packages zipexampleinstall
+packages_zipdistinstall:
+	$(MAKE) -C packages zipdistinstall
+packages_clean:
+	$(MAKE) -C packages clean
+packages_distclean:
+	$(MAKE) -C packages distclean
+packages_cleanall:
+	$(MAKE) -C packages cleanall
+packages_info:
+	$(MAKE) -C packages info
+packages:
+	$(MAKE) -C packages all
+.PHONY: packages_all packages_debug packages_smart packages_examples packages_shared packages_install packages_sourceinstall packages_exampleinstall packages_distinstall packages_zipinstall packages_zipsourceinstall packages_zipexampleinstall packages_zipdistinstall packages_clean packages_distclean packages_cleanall packages_info packages
+endif
+ifdef TARGET_DIRS_IDE
+ide_all:
+	$(MAKE) -C ide all
+ide_debug:
+	$(MAKE) -C ide debug
+ide_smart:
+	$(MAKE) -C ide smart
+ide_examples:
+	$(MAKE) -C ide examples
+ide_shared:
+	$(MAKE) -C ide shared
+ide_install:
+	$(MAKE) -C ide install
+ide_sourceinstall:
+	$(MAKE) -C ide sourceinstall
+ide_exampleinstall:
+	$(MAKE) -C ide exampleinstall
+ide_distinstall:
+	$(MAKE) -C ide distinstall
+ide_zipinstall:
+	$(MAKE) -C ide zipinstall
+ide_zipsourceinstall:
+	$(MAKE) -C ide zipsourceinstall
+ide_zipexampleinstall:
+	$(MAKE) -C ide zipexampleinstall
+ide_zipdistinstall:
+	$(MAKE) -C ide zipdistinstall
+ide_clean:
+	$(MAKE) -C ide clean
+ide_distclean:
+	$(MAKE) -C ide distclean
+ide_cleanall:
+	$(MAKE) -C ide cleanall
+ide_info:
+	$(MAKE) -C ide info
+ide:
+	$(MAKE) -C ide all
+.PHONY: ide_all ide_debug ide_smart ide_examples ide_shared ide_install ide_sourceinstall ide_exampleinstall ide_distinstall ide_zipinstall ide_zipsourceinstall ide_zipexampleinstall ide_zipdistinstall ide_clean ide_distclean ide_cleanall ide_info ide
+endif
+debug: $(addsuffix _debug,$(TARGET_DIRS))
+smart: $(addsuffix _smart,$(TARGET_DIRS))
+examples: $(addsuffix _examples,$(TARGET_DIRS))
+shared: $(addsuffix _shared,$(TARGET_DIRS))
+sourceinstall:
+exampleinstall: $(addsuffix _exampleinstall,$(TARGET_DIRS))
+distinstall: fpc_distinstall
+zipsourceinstall: fpc_zipsourceinstall
+zipexampleinstall: fpc_zipexampleinstall $(addsuffix _zipexampleinstall,$(TARGET_DIRS))
+zipdistinstall: fpc_zipdistinstall $(addsuffix _zipdistinstall,$(TARGET_DIRS))
+cleanall: $(addsuffix _cleanall,$(TARGET_DIRS))
+info: fpc_info
+.PHONY: debug smart examples shared sourceinstall exampleinstall distinstall zipsourceinstall zipexampleinstall zipdistinstall cleanall info
+ifneq ($(wildcard fpcmake.loc),)
+include fpcmake.loc
+endif
+unexport FPC_VERSION OS_SOURCE
+override TARGET_DIRS:=$(wildcard $(TARGET_DIRS))
+.PHONY: help checkfpcdir
+help:
+	@$(ECHO)
+	@$(ECHO) Directory targets:
+	@$(ECHO)
+	@$(ECHO) $(TARGET_DIRS)
+	@$(ECHO)
+	@$(ECHO) Packing targets are:
+	@$(ECHO)
+	@$(ECHO) go32v2zip,win32zip,linuxzip,freebsdzip,sourcezip,os2zip
+	@$(ECHO)
+	@exit
+.PHONY: compiler_cycle
+compiler_cycle:
+	$(MAKE) -C compiler cycle
+demo_install:
+	$(MAKE) -C $(CVSINSTALL)/demo sourceinstall
+man_install:
+	$(MAKE) -C $(CVSINSTALL)/man installman
+doc_install:
+	$(MAKE) -C $(CVSINSTALL)/doc installdoc
+optzips: optcompinstall optcompzip
+optcompinstall:
+	$(MAKE) compiler_cycle OPT=-dNEWOPTIMIZATIONS
+	$(MAKE) compiler_install
+	$(MAKE) rtl_install
+optcompzip:
+	$(MAKE) fpc_zipinstall PACKAGENAME=optcomp ZIPTARGET=optcompinstall
+.PHONY: installer installersrc
+INSTALLERBUILDDIR=fpinst
+installer:
+	$(COPYTREE) $(CVSINSTALL)/fpinst $(INSTALLERBUILDDIR)
+	$(MAKE) -C $(INSTALLERBUILDDIR) all RELEASE=1
+	$(MOVE) $(INSTALLERBUILDDIR)/install.exe .
+ifdef UPXPROG
+	-$(UPXPROG) install.exe
+endif
+	$(DELTREE) $(INSTALLERBUILDDIR)
+installersrc:
+	$(COPYTREE) $(CVSINSTALL)/fpinst $(INSTALLERBUILDDIR)
+	$(MAKE) -C $(INSTALLERBUILDDIR) zipsourceinstall
+	$(DELTREE) $(INSTALLERBUILDDIR)
+.PHONY: all clean distclean build install installbase zipinstall zipinstallbase zipinstallfcl \
+	zipinstallpackages
+all: build
+clean: $(addsuffix _distclean,$(TARGET_DIRS))
+	$(DEL) build-stamp.$(OS_TARGET)
+distclean: clean
+build: build-stamp.$(OS_TARGET)
+build-stamp.$(OS_TARGET):
+	$(MAKE) compiler_cycle
+	$(MAKE) rtl_clean
+	$(MAKE) packages_clean
+	$(MAKE) fcl_clean
+	$(MAKE) utils_clean
+ifdef IDE
+	$(MAKE) fv_clean
+	$(MAKE) ide_clean
+endif
+	$(MAKE) rtl_$(ALLTARGET) $(BUILDOPTS)
+	$(MAKE) packages_$(ALLTARGET) $(BUILDOPTS)
+	$(MAKE) fcl_$(ALLTARGET) $(BUILDOPTS)
+	$(MAKE) utils_all $(BUILDOPTS)
+ifdef IDE
+	$(MAKE) ide_all $(BUILDOPTS)
+endif
+	$(ECHOREDIR) Build > build-stamp.$(OS_TARGET)
+installbase: build-stamp.$(OS_TARGET)
+	$(MKDIR) $(INSTALL_BASEDIR)
+	$(MKDIR) $(INSTALL_DOCDIR)
+	$(MKDIR) $(INSTALL_BINDIR)
+ifndef SNAPSHOT
+	$(COPY) $(CVSINSTALL)/doc/*.txt $(CVSINSTALL)/doc/copying* $(CVSINSTALL)/doc/faq.* $(INSTALL_DOCDIR)
+ifeq ($(OS_TARGET),go32v2)
+	$(COPY) $(CVSINSTALL)/bingo32/* $(INSTALL_BINDIR)
+endif
+ifeq ($(OS_TARGET),win32)
+	$(COPY) $(CVSINSTALL)/binw32/* $(INSTALL_BINDIR)
+endif
+ifeq ($(OS_TARGET),linux)
+	$(MAKE) -C $(CVSINSTALL)/man installman
+endif
+ifeq ($(OS_TARGET),freebsd)
+	$(MAKE) -C $(CVSINSTALL)/man installman
+endif
+endif
+	$(MAKE) compiler_$(INSTALLTARGET) $(INSTALLOPTS)
+	$(MAKE) rtl_$(INSTALLTARGET) $(INSTALLOPTS)
+install: build-stamp.$(OS_TARGET)
+	$(MAKE) installbase $(INSTALLOPTS)
+	$(MAKE) packages_$(INSTALLTARGET) $(INSTALLOPTS)
+	$(MAKE) fcl_$(INSTALLTARGET) $(INSTALLOPTS)
+	$(MAKE) utils_$(INSTALLTARGET) $(INSTALLOPTS)
+ifdef IDE
+	$(NOSTOP)$(MAKE) ide_$(INSTALLTARGET) $(BUILDOPTS)
+endif
+zipinstall: build-stamp.$(OS_TARGET)
+	$(MAKE) fpc_zipinstall ZIPTARGET=installbase ZIPNAME=base$(ZIPSUFFIX) $(INSTALLOPTS)
+	$(MAKE) packages_zip$(INSTALLTARGET) $(INSTALLOPTS) ZIPPREFIX=$(PKGPRE)
+	$(MAKE) fcl_zip$(INSTALLTARGET) $(INSTALLOPTS) ZIPPREFIX=$(PKGPRE)
+	$(MAKE) utils_zip$(INSTALLTARGET) $(INSTALLOPTS) ZIPNAME=util$(ZIPSUFFIX)
+ifdef IDE
+	$(NOSTOP)$(MAKE) ide_zip$(INSTALLTARGET) $(INSTALLOPTS) ZIPNAME=ide$(ZIPSUFFIX)
+endif
+.PHONY: docspdf docs docsrcinstall docsrc
+docspdf:
+	$(MAKE) -C docs pdfinstall
+docs:
+	$(MAKE) fpc_zipinstall ZIPTARGET=docspdf ZIPNAME=docs
+docsrcinstall:
+	$(MAKE) -C docs clean
+	$(MKDIR) $(INSTALL_SOURCEDIR)
+	$(COPYTREE) docs $(INSTALL_SOURCEDIR)
+docsrc:
+	$(MAKE) fpc_zipinstall ZIPTARGET=docsrcinstall ZIPNAME=docsrc
+.PHONY: demozip
+demozip:
+	$(MAKE) -C $(CVSINSTALL)/demo zipsourceinstall ZIPNAME=demo
+.PHONY: sourcebase sourcezip
+sourcebase:
+	$(MKDIR) $(INSTALL_SOURCEDIR)
+	$(MKDIR) $(INSTALL_SOURCEDIR)/rtl
+	$(MKDIR) $(INSTALL_SOURCEDIR)/packages
+	$(COPY) Makefile*  $(INSTALL_SOURCEDIR)
+	$(COPY) rtl/Makefile* $(INSTALL_SOURCEDIR)/rtl
+	$(COPY) packages/Makefile* $(INSTALL_SOURCEDIR)/packages
+sourcezip: distclean
+	$(MAKE) fpc_zipinstall ZIPTARGET=sourcebase ZIPNAME=basesrc
+	$(MAKE) compiler_zipsourceinstall
+	$(MAKE) rtl_zipsourceinstall
+	$(MAKE) packages_zipsourceinstall
+	$(MAKE) fcl_zipsourceinstall
+	$(MAKE) utils_zipsourceinstall
+	$(MAKE) ide_zipsourceinstall
+.PHONY: go32v2 win32 linux freebsd os2 go32v2zip win32zip linuxzip freebsdzip os2zip
+go32v2: checkfpcdir
+	$(MAKE) install OS_TARGET=go32v2
+win32: checkfpcdir
+	$(MAKE) install OS_TARGET=win32
+linux: checkfpcdir
+	$(MAKE) install OS_TARGET=linux
+freebsd: checkfpcdir
+	$(MAKE) install OS_TARGET=freebsd
+os2: checkfpcdir
+	$(MAKE) install OS_TARGET=os2
+go32v2zip: checkfpcdir
+	$(MAKE) zipinstall OS_TARGET=go32v2
+win32zip: checkfpcdir
+	$(MAKE) zipinstall OS_TARGET=win32
+linuxzip: checkfpcdir
+	$(MAKE) zipinstall OS_TARGET=linux
+freebsdzip : checkfpcdir
+	$(MAKE) zipinstall OS_TARGET=freebsd
+beoszip : checkfpcdir
+	$(MAKE) zipinstall OS_TARGET=beos USEZIP=1
+os2zip: checkfpcdir
+	$(MAKE) zipinstall OS_TARGET=os2
+ifdef inUnix
+ifneq ($(wildcard $(CVSINSTALL)/debian/changelog),)
+.PHONY: debcopy deb
+DEBPACKAGEVERSION:=$(shell head -n 1 $(CVSINSTALL)/debian/changelog | awk '{ print $$2 }' | tr -d '[()]')
+DEBFPCVERSION:=$(shell echo $(DEBPACKAGEVERSION) | awk -F '-' '{ print $$1 }')
+DEBSRCDIR:=/usr/src/fpc-$(DEBFPCVERSION)
+debcopy: distclean
+	rm -rf $(DEBSRCDIR)
+	install -d $(DEBSRCDIR)
+	$(COPYTREE) compiler $(DEBSRCDIR)
+	$(COPYTREE) rtl $(DEBSRCDIR)
+	$(COPYTREE) fcl $(DEBSRCDIR)
+	$(COPYTREE) packages $(DEBSRCDIR)
+	$(COPYTREE) utils $(DEBSRCDIR)
+	$(COPYTREE) demo $(DEBSRCDIR)
+	$(COPYTREE) logs $(DEBSRCDIR)
+	$(COPYTREE) docs $(DEBSRCDIR)
+	$(COPYTREE) Makefile* $(DEBSRCDIR)
+	$(COPYTREE) $(CVSINSTALL)/debian $(DEBSRCDIR)
+	$(COPYTREE) $(CVSINSTALL)/man $(DEBSRCDIR)
+	$(COPYTREE) $(CVSINSTALL)/doc $(DEBSRCDIR)
+	find $(DEBSRCDIR) -name 'CVS*' | xargs -n1 rm -rf
+	chmod 755 $(DEBSRCDIR)/debian/rules
+deb: checkfpcdir debcopy
+	cd $(DEBSRCDIR) ; debian/rules binary
+endif   # changelog found
+endif
+ifdef inUnix
+ifneq ($(wildcard $(CVSINSTALL)/fpc.spec),)
+.PHONY: rpmcopy rpm
+RPMFPCVERSION:=$(shell grep 'define fpcversion' $(CVSINSTALL)/fpc.spec | awk '{ print $$2 }')
+REDHATDIR=/usr/src/redhat
+RPMSOURCESDIR:=$(REDHATDIR)/SOURCES
+RPMSPECDIR:=$(REDHATDIR)/SPECS
+RPMSRCDIR:=$(RPMSOURCESDIR)/fpc
+DOCSRCDIR:=$(RPMSOURCESDIR)/fpcdoc
+rpmcopy: distclean
+	install -d $(REDHATDIR)
+	install -d $(RPMSPECDIR)
+	install -d $(RPMSOURCESDIR)
+	rm -rf $(RPMSRCDIR)
+	cp $(CVSINSTALL)/fpc.spec $(RPMSPECDIR)/fpc-$(RPMFPCVERSION).spec
+	install -d $(RPMSRCDIR)
+	$(COPYTREE) compiler $(RPMSRCDIR)
+	$(COPYTREE) rtl $(RPMSRCDIR)
+	$(COPYTREE) fcl $(RPMSRCDIR)
+	$(COPYTREE) packages $(RPMSRCDIR)
+	$(COPYTREE) utils $(RPMSRCDIR)
+	$(COPYTREE) demo $(RPMSRCDIR)
+	$(COPYTREE) logs $(RPMSRCDIR)
+	$(COPYTREE) Makefile* $(RPMSRCDIR)
+	$(COPYTREE) $(CVSINSTALL)/man $(RPMSRCDIR)
+	$(COPYTREE) $(CVSINSTALL)/doc $(RPMSRCDIR)
+	find $(RPMSRCDIR) -name 'CVS*' | xargs -n1 rm -rf
+	cd $(RPMSRCDIR) ; tar cvz * > $(RPMSOURCESDIR)/fpc-$(RPMFPCVERSION)-src.tar.gz
+	rm -rf $(DOCSRCDIR)
+	cp $(CVSINSTALL)/fpc-docs.spec $(RPMSPECDIR)/fpc-docs-$(RPMFPCVERSION).spec
+	install -d $(DOCSRCDIR)
+	$(COPYTREE) docs $(DOCSRCDIR)
+	find $(DOCSRCDIR) -name 'CVS*' | xargs -n1 rm -rf
+	cd $(DOCSRCDIR) ; tar cvz * > $(RPMSOURCESDIR)/fpc-docs-$(RPMFPCVERSION)-src.tar.gz
+rpm: checkfpcdir rpmcopy
+	cd $(RPMSPECDIR) ; rpm --nodeps -ba fpc-$(RPMFPCVERSION).spec
+	cd $(RPMSPECDIR) ; rpm --nodeps -ba fpc-docs-$(RPMFPCVERSION).spec
+endif   # spec found
+endif