Browse Source

* updated according to the new version of fpcmake.ini

olle 21 years ago
parent
commit
73f73fb6f1
100 changed files with 10728 additions and 7059 deletions
  1. 97 70
      compiler/Makefile
  2. 100 70
      compiler/utils/Makefile
  3. 109 71
      demo/Makefile
  4. 108 70
      demo/graph/Makefile
  5. 108 70
      demo/linux/Makefile
  6. 108 70
      demo/modex/Makefile
  7. 108 70
      demo/os2/Makefile
  8. 108 70
      demo/text/Makefile
  9. 108 70
      demo/win32/Makefile
  10. 117 72
      fcl/Makefile
  11. 106 67
      fcl/db/Makefile
  12. 100 70
      fcl/db/dbase/Makefile
  13. 113 71
      fcl/db/interbase/Makefile
  14. 93 66
      fcl/db/memds/Makefile
  15. 113 71
      fcl/db/mysql/Makefile
  16. 122 71
      fcl/db/odbc/Makefile
  17. 93 66
      fcl/db/sdf/Makefile
  18. 100 70
      fcl/db/sqlite/Makefile
  19. 113 71
      fcl/db/tests/Makefile
  20. 93 66
      fcl/image/Makefile
  21. 100 70
      fcl/net/Makefile
  22. 113 71
      fcl/net/tests/Makefile
  23. 100 70
      fcl/passrc/Makefile
  24. 100 70
      fcl/shedit/Makefile
  25. 113 71
      fcl/shedit/gtk/Makefile
  26. 113 71
      fcl/tests/Makefile
  27. 100 70
      fcl/xml/Makefile
  28. 101 71
      fv/Makefile
  29. 101 71
      fvision/Makefile
  30. 100 70
      ide/compiler/Makefile
  31. 100 70
      ide/fakegdb/Makefile
  32. 100 70
      packages/Makefile
  33. 100 70
      packages/base/Makefile
  34. 29 53
      packages/base/gdbint/Makefile
  35. 108 70
      packages/base/gdbint/libgdb/Makefile
  36. 114 72
      packages/base/ibase/Makefile
  37. 101 71
      packages/base/inet/Makefile
  38. 101 71
      packages/base/libasync/Makefile
  39. 114 72
      packages/base/libc/Makefile
  40. 109 71
      packages/base/md5/Makefile
  41. 114 72
      packages/base/mysql/Makefile
  42. 101 71
      packages/base/netdb/Makefile
  43. 114 72
      packages/base/odbc/Makefile
  44. 114 72
      packages/base/oracle/Makefile
  45. 113 71
      packages/base/oracle/example/Makefile
  46. 101 71
      packages/base/pasjpeg/Makefile
  47. 101 71
      packages/base/paszlib/Makefile
  48. 114 72
      packages/base/postgres/Makefile
  49. 101 71
      packages/base/pthreads/Makefile
  50. 101 71
      packages/base/regexpr/Makefile
  51. 101 71
      packages/base/sqlite/Makefile
  52. 93 66
      packages/extra/Makefile
  53. 101 71
      packages/extra/bfd/Makefile
  54. 101 71
      packages/extra/cdrom/Makefile
  55. 114 72
      packages/extra/forms/Makefile
  56. 113 71
      packages/extra/forms/demo/Makefile
  57. 114 72
      packages/extra/fpgtk/Makefile
  58. 189 71
      packages/extra/fpgtk/demo/Makefile
  59. 101 71
      packages/extra/gdbm/Makefile
  60. 114 72
      packages/extra/ggi/Makefile
  61. 100 70
      packages/extra/gnome1/Makefile
  62. 114 72
      packages/extra/gnome1/gconf/Makefile
  63. 113 71
      packages/extra/gnome1/gconf/examples/Makefile
  64. 114 72
      packages/extra/gnome1/gnome/Makefile
  65. 114 72
      packages/extra/gnome1/zvt/Makefile
  66. 113 71
      packages/extra/gnome1/zvt/examples/Makefile
  67. 114 72
      packages/extra/gtk/Makefile
  68. 113 71
      packages/extra/gtk/examples/Makefile
  69. 113 71
      packages/extra/gtk/examples/tutorial/Makefile
  70. 113 71
      packages/extra/gtk/gtkgl/Makefile
  71. 114 72
      packages/extra/imlib/Makefile
  72. 114 72
      packages/extra/libgd/Makefile
  73. 114 72
      packages/extra/libpng/Makefile
  74. 101 71
      packages/extra/mmsystem/Makefile
  75. 114 72
      packages/extra/ncurses/Makefile
  76. 109 71
      packages/extra/numlib/Makefile
  77. 114 72
      packages/extra/opengl/Makefile
  78. 113 71
      packages/extra/opengl/examples/Makefile
  79. 100 70
      packages/extra/os2units/Makefile
  80. 101 71
      packages/extra/os2units/clkdll/Makefile
  81. 101 71
      packages/extra/os2units/ftpapi/Makefile
  82. 101 71
      packages/extra/os2units/hwvideo/Makefile
  83. 101 71
      packages/extra/os2units/lvm/Makefile
  84. 100 70
      packages/extra/os2units/lvm/tests/Makefile
  85. 101 71
      packages/extra/os2units/mmtk/Makefile
  86. 100 70
      packages/extra/os2units/mmtk/tests/Makefile
  87. 101 71
      packages/extra/rexx/Makefile
  88. 100 70
      packages/extra/rexx/test/Makefile
  89. 122 72
      packages/extra/sndfile/Makefile
  90. 114 72
      packages/extra/svgalib/Makefile
  91. 114 72
      packages/extra/syslog/Makefile
  92. 114 72
      packages/extra/tcl/Makefile
  93. 114 72
      packages/extra/unixutil/Makefile
  94. 101 71
      packages/extra/unzip/Makefile
  95. 101 71
      packages/extra/utmp/Makefile
  96. 101 71
      packages/extra/winver/Makefile
  97. 114 72
      packages/extra/x11/Makefile
  98. 114 72
      packages/extra/zlib/Makefile
  99. 150 71
      rtl/Makefile
  100. 100 70
      rtl/amiga/Makefile

+ 97 - 70
compiler/Makefile

@@ -1,15 +1,24 @@
 #
-# Don't edit, this file is generated by FPCMake Version 1.1 [2004/03/20]
+# Don't edit, this file is generated by FPCMake Version 1.1 [2004/04/21]
 #
 default: all
 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:=$(subst \,/,$(PATH))
+ifneq ($(findstring darwin,$(OSTYPE)),)
+inUnix=1 #darwin
+SEARCHPATH:=$(filter-out .,$(subst :, ,$(PATH)))
+else
 ifeq ($(findstring ;,$(PATH)),)
 inUnix=1
 SEARCHPATH:=$(filter-out .,$(subst :, ,$(PATH)))
 else
 SEARCHPATH:=$(subst ;, ,$(PATH))
 endif
+endif
 SEARCHPATH+=$(patsubst %/,%,$(subst \,/,$(dir $(MAKE))))
 PWD:=$(strip $(wildcard $(addsuffix /pwd.exe,$(SEARCHPATH))))
 ifeq ($(PWD),)
@@ -37,22 +46,13 @@ ifneq ($(findstring cygdrive,$(PATH)),)
 inCygWin=1
 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
-BATCHEXT=.sh
+SRCBATCHEXT=.sh
 else
 ifdef inOS2
-BATCHEXT=.cmd
+SRCBATCHEXT=.cmd
 else
-BATCHEXT=.bat
+SRCBATCHEXT=.bat
 endif
 endif
 ifdef inUnix
@@ -155,6 +155,12 @@ ifeq ($(findstring $(OS_TARGET),$(MAKEFILETARGETS)),)
 $(error The Makefile doesn't support target $(OS_TARGET), please run fpcmake first)
 endif
 endif
+ifneq ($(findstring $(OS_TARGET),$(BSDs)),)
+BSDhier=1
+endif
+ifeq ($(OS_TARGET),linux)
+linuxHier=1
+endif
 export OS_TARGET OS_SOURCE CPU_TARGET CPU_SOURCE FULL_TARGET FULL_SOURCE CROSSCOMPILE
 ifdef FPCDIR
 override FPCDIR:=$(subst \,/,$(FPCDIR))
@@ -340,42 +346,12 @@ 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
-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
 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
 ifndef INSTALL_PREFIX
@@ -384,7 +360,7 @@ INSTALL_PREFIX=$(PREFIX)
 endif
 endif
 ifndef INSTALL_PREFIX
-ifdef UNIXINSTALLDIR
+ifdef UNIXHier
 INSTALL_PREFIX=/usr/local
 else
 ifdef INSTALL_FPCPACKAGE
@@ -403,7 +379,7 @@ DIST_DESTDIR:=$(BASEDIR)
 endif
 export DIST_DESTDIR
 ifndef INSTALL_BASEDIR
-ifdef UNIXINSTALLDIR
+ifdef UNIXHier
 ifdef INSTALL_FPCPACKAGE
 INSTALL_BASEDIR:=$(INSTALL_PREFIX)/lib/fpc/$(FPC_VERSION)
 else
@@ -414,7 +390,7 @@ INSTALL_BASEDIR:=$(INSTALL_PREFIX)
 endif
 endif
 ifndef INSTALL_BINDIR
-ifdef UNIXINSTALLDIR
+ifdef UNIXHier
 ifdef CROSSCOMPILE
 INSTALL_BINDIR:=$(INSTALL_BASEDIR)/cross/$(FULL_TARGET)/bin
 else
@@ -444,19 +420,23 @@ endif
 endif
 endif
 ifndef INSTALL_LIBDIR
-ifdef UNIXINSTALLDIR
+ifdef UNIXHier
 INSTALL_LIBDIR:=$(INSTALL_PREFIX)/lib
 else
 INSTALL_LIBDIR:=$(INSTALL_UNITDIR)
 endif
 endif
 ifndef INSTALL_SOURCEDIR
-ifdef UNIXINSTALLDIR
+ifdef UNIXHier
 ifdef BSDhier
 SRCPREFIXDIR=share/src
 else
+ifdef linuxHier
+SRCPREFIXDIR=share/src
+else
 SRCPREFIXDIR=src
 endif
+endif
 ifdef INSTALL_FPCPACKAGE
 ifdef INSTALL_FPCSUBDIR
 INSTALL_SOURCEDIR:=$(INSTALL_PREFIX)/$(SRCPREFIXDIR)/fpc-$(FPC_VERSION)/$(INSTALL_FPCSUBDIR)/$(PACKAGE_NAME)
@@ -479,12 +459,16 @@ endif
 endif
 endif
 ifndef INSTALL_DOCDIR
-ifdef UNIXINSTALLDIR
+ifdef UNIXHier
 ifdef BSDhier
 DOCPREFIXDIR=share/doc
 else
+ifdef linuxHier
+DOCPREFIXDIR=share/doc
+else
 DOCPREFIXDIR=doc
 endif
+endif
 ifdef INSTALL_FPCPACKAGE
 INSTALL_DOCDIR:=$(INSTALL_PREFIX)/$(DOCPREFIXDIR)/fpc-$(FPC_VERSION)/$(PACKAGE_NAME)
 else
@@ -499,20 +483,28 @@ endif
 endif
 endif
 ifndef INSTALL_EXAMPLEDIR
-ifdef UNIXINSTALLDIR
+ifdef UNIXHier
 ifdef INSTALL_FPCPACKAGE
 ifdef BSDhier
 INSTALL_EXAMPLEDIR:=$(INSTALL_PREFIX)/share/examples/fpc-$(FPC_VERSION)/$(PACKAGE_NAME)
 else
+ifdef linuxHier
+INSTALL_EXAMPLEDIR:=$(INSTALL_DOCDIR)/examples/fpc-$(FPC_VERSION)/$(PACKAGE_NAME)
+else
 INSTALL_EXAMPLEDIR:=$(INSTALL_PREFIX)/doc/fpc-$(FPC_VERSION)/examples/$(PACKAGE_NAME)
 endif
+endif
 else
 ifdef BSDhier
 INSTALL_EXAMPLEDIR:=$(INSTALL_PREFIX)/share/examples/$(PACKAGE_NAME)-$(PACKAGE_VERSION)
 else
+ifdef linuxHier
+INSTALL_EXAMPLEDIR:=$(INSTALL_DOCDIR)/examples/$(PACKAGE_NAME)-$(PACKAGE_VERSION)
+else
 INSTALL_EXAMPLEDIR:=$(INSTALL_PREFIX)/doc/$(PACKAGE_NAME)-$(PACKAGE_VERSION)
 endif
 endif
+endif
 else
 ifdef INSTALL_FPCPACKAGE
 INSTALL_EXAMPLEDIR:=$(INSTALL_BASEDIR)/examples/$(PACKAGE_NAME)
@@ -534,6 +526,7 @@ endif
 else
 CROSSBINDIR=
 endif
+BATCHEXT=.bat
 LOADEREXT=.as
 EXEEXT=.exe
 PPLEXT=.ppl
@@ -566,24 +559,28 @@ ASMEXT=.asm
 SHAREDLIBEXT=.dll
 endif
 ifeq ($(OS_TARGET),linux)
+BATCHEXT=.sh
 EXEEXT=
 HASSHAREDLIB=1
 FPCMADE=fpcmade.lnx
 ZIPSUFFIX=linux
 endif
 ifeq ($(OS_TARGET),freebsd)
+BATCHEXT=.sh
 EXEEXT=
 HASSHAREDLIB=1
 FPCMADE=fpcmade.freebsd
 ZIPSUFFIX=freebsd
 endif
 ifeq ($(OS_TARGET),netbsd)
+BATCHEXT=.sh
 EXEEXT=
 HASSHAREDLIB=1
 FPCMADE=fpcmade.netbsd
 ZIPSUFFIX=netbsd
 endif
 ifeq ($(OS_TARGET),openbsd)
+BATCHEXT=.sh
 EXEEXT=
 HASSHAREDLIB=1
 FPCMADE=fpcmade.openbsd
@@ -595,6 +592,7 @@ FPCMADE=fpcmade.w32
 ZIPSUFFIX=w32
 endif
 ifeq ($(OS_TARGET),os2)
+BATCHEXT=.cmd
 AOUTEXT=.out
 STATICLIBPREFIX=
 SHAREDLIBEXT=.dll
@@ -603,6 +601,7 @@ ZIPSUFFIX=os2
 ECHO=echo
 endif
 ifeq ($(OS_TARGET),emx)
+BATCHEXT=.cmd
 AOUTEXT=.out
 STATICLIBPREFIX=
 SHAREDLIBEXT=.dll
@@ -620,16 +619,19 @@ EXEEXT=.ttp
 FPCMADE=fpcmade.ata
 endif
 ifeq ($(OS_TARGET),beos)
+BATCHEXT=.sh
 EXEEXT=
 FPCMADE=fpcmade.be
 ZIPSUFFIX=be
 endif
 ifeq ($(OS_TARGET),sunos)
+BATCHEXT=.sh
 EXEEXT=
 FPCMADE=fpcmade.sun
 ZIPSUFFIX=sun
 endif
 ifeq ($(OS_TARGET),qnx)
+BATCHEXT=.sh
 EXEEXT=
 FPCMADE=fpcmade.qnx
 ZIPSUFFIX=qnx
@@ -641,11 +643,14 @@ FPCMADE=fpcmade.nw
 ZIPSUFFIX=nw
 endif
 ifeq ($(OS_TARGET),macos)
+BATCHEXT=
 EXEEXT=
 FPCMADE=fpcmade.macos
 ZIPSUFFIX=macos
+DEBUGSYMEXT=.xcoff
 endif
 ifeq ($(OS_TARGET),darwin)
+BATCHEXT=.sh
 EXEEXT=
 HASSHAREDLIB=1
 FPCMADE=fpcmade.darwin
@@ -674,24 +679,28 @@ FPCMADE=fpcmade.dos
 ZIPSUFFIX=watcom
 endif
 ifeq ($(OS_TARGET),linux)
+BATCHEXT=.sh
 EXEEXT=
 HASSHAREDLIB=1
 FPCMADE=fpcmade.lnx
 ZIPSUFFIX=linux
 endif
 ifeq ($(OS_TARGET),freebsd)
+BATCHEXT=.sh
 EXEEXT=
 HASSHAREDLIB=1
 FPCMADE=fpcmade.freebsd
 ZIPSUFFIX=freebsd
 endif
 ifeq ($(OS_TARGET),netbsd)
+BATCHEXT=.sh
 EXEEXT=
 HASSHAREDLIB=1
 FPCMADE=fpcmade.netbsd
 ZIPSUFFIX=netbsd
 endif
 ifeq ($(OS_TARGET),openbsd)
+BATCHEXT=.sh
 EXEEXT=
 HASSHAREDLIB=1
 FPCMADE=fpcmade.openbsd
@@ -708,6 +717,7 @@ FPCMADE=fpcmade.w32
 ZIPSUFFIX=w32
 endif
 ifeq ($(OS_TARGET),os2)
+BATCHEXT=.cmd
 PPUEXT=.ppo
 ASMEXT=.so2
 OEXT=.oo2
@@ -740,6 +750,7 @@ EXEEXT=.ttp
 FPCMADE=fpcmade.ata
 endif
 ifeq ($(OS_TARGET),beos)
+BATCHEXT=.sh
 PPUEXT=.ppu
 ASMEXT=.s
 OEXT=.o
@@ -750,6 +761,7 @@ FPCMADE=fpcmade.be
 ZIPSUFFIX=be
 endif
 ifeq ($(OS_TARGET),sunos)
+BATCHEXT=.sh
 PPUEXT=.ppu
 ASMEXT=.s
 OEXT=.o
@@ -760,6 +772,7 @@ FPCMADE=fpcmade.sun
 ZIPSUFFIX=sun
 endif
 ifeq ($(OS_TARGET),qnx)
+BATCHEXT=.sh
 PPUEXT=.ppu
 ASMEXT=.s
 OEXT=.o
@@ -782,13 +795,15 @@ ZIPSUFFIX=nw
 EXEEXT=.nlm
 endif
 ifeq ($(OS_TARGET),macos)
+BATCHEXT=
 PPUEXT=.ppu
 ASMEXT=.s
 OEXT=.o
 SMARTEXT=.sl
 STATICLIBEXT=.a
 EXEEXT=
-FPCMADE=fpcmade.mcc
+DEBUGSYMEXT=.xcoff
+FPCMADE=fpcmade.macos
 endif
 endif
 ifndef ECHO
@@ -796,7 +811,7 @@ ECHO:=$(strip $(wildcard $(addsuffix /gecho$(SRCEXEEXT),$(SEARCHPATH))))
 ifeq ($(ECHO),)
 ECHO:=$(strip $(wildcard $(addsuffix /echo$(SRCEXEEXT),$(SEARCHPATH))))
 ifeq ($(ECHO),)
-ECHO=
+ECHO= __missing_command__
 else
 ECHO:=$(firstword $(ECHO))
 endif
@@ -810,7 +825,7 @@ DATE:=$(strip $(wildcard $(addsuffix /gdate$(SRCEXEEXT),$(SEARCHPATH))))
 ifeq ($(DATE),)
 DATE:=$(strip $(wildcard $(addsuffix /date$(SRCEXEEXT),$(SEARCHPATH))))
 ifeq ($(DATE),)
-DATE=
+DATE= __missing_command__
 else
 DATE:=$(firstword $(DATE))
 endif
@@ -824,7 +839,7 @@ GINSTALL:=$(strip $(wildcard $(addsuffix /ginstall$(SRCEXEEXT),$(SEARCHPATH))))
 ifeq ($(GINSTALL),)
 GINSTALL:=$(strip $(wildcard $(addsuffix /install$(SRCEXEEXT),$(SEARCHPATH))))
 ifeq ($(GINSTALL),)
-GINSTALL=
+GINSTALL= __missing_command__
 else
 GINSTALL:=$(firstword $(GINSTALL))
 endif
@@ -836,7 +851,7 @@ export GINSTALL
 ifndef CPPROG
 CPPROG:=$(strip $(wildcard $(addsuffix /cp$(SRCEXEEXT),$(SEARCHPATH))))
 ifeq ($(CPPROG),)
-CPPROG=
+CPPROG= __missing_command__
 else
 CPPROG:=$(firstword $(CPPROG))
 endif
@@ -845,7 +860,7 @@ export CPPROG
 ifndef RMPROG
 RMPROG:=$(strip $(wildcard $(addsuffix /rm$(SRCEXEEXT),$(SEARCHPATH))))
 ifeq ($(RMPROG),)
-RMPROG=
+RMPROG= __missing_command__
 else
 RMPROG:=$(firstword $(RMPROG))
 endif
@@ -854,7 +869,7 @@ export RMPROG
 ifndef MVPROG
 MVPROG:=$(strip $(wildcard $(addsuffix /mv$(SRCEXEEXT),$(SEARCHPATH))))
 ifeq ($(MVPROG),)
-MVPROG=
+MVPROG= __missing_command__
 else
 MVPROG:=$(firstword $(MVPROG))
 endif
@@ -903,7 +918,7 @@ export ECHOREDIR COPY COPYTREE MOVE DEL DELTREE INSTALL INSTALLEXE MKDIR
 ifndef PPUMOVE
 PPUMOVE:=$(strip $(wildcard $(addsuffix /ppumove$(SRCEXEEXT),$(SEARCHPATH))))
 ifeq ($(PPUMOVE),)
-PPUMOVE=
+PPUMOVE= __missing_command__
 else
 PPUMOVE:=$(firstword $(PPUMOVE))
 endif
@@ -912,7 +927,7 @@ export PPUMOVE
 ifndef FPCMAKE
 FPCMAKE:=$(strip $(wildcard $(addsuffix /fpcmake$(SRCEXEEXT),$(SEARCHPATH))))
 ifeq ($(FPCMAKE),)
-FPCMAKE=
+FPCMAKE= __missing_command__
 else
 FPCMAKE:=$(firstword $(FPCMAKE))
 endif
@@ -921,7 +936,7 @@ export FPCMAKE
 ifndef ZIPPROG
 ZIPPROG:=$(strip $(wildcard $(addsuffix /zip$(SRCEXEEXT),$(SEARCHPATH))))
 ifeq ($(ZIPPROG),)
-ZIPPROG=
+ZIPPROG= __missing_command__
 else
 ZIPPROG:=$(firstword $(ZIPPROG))
 endif
@@ -930,7 +945,7 @@ export ZIPPROG
 ifndef TARPROG
 TARPROG:=$(strip $(wildcard $(addsuffix /tar$(SRCEXEEXT),$(SEARCHPATH))))
 ifeq ($(TARPROG),)
-TARPROG=
+TARPROG= __missing_command__
 else
 TARPROG:=$(firstword $(TARPROG))
 endif
@@ -981,7 +996,7 @@ AS=$(ASPROG)
 LD=$(LDPROG)
 RC=$(RCPROG)
 AR=$(ARPROG)
-PPAS=ppas$(BATCHEXT)
+PPAS=ppas$(SRCBATCHEXT)
 ifdef inUnix
 LDCONFIG=ldconfig
 else
@@ -1240,8 +1255,12 @@ ifdef RELEASE
 ifeq ($(CPU_TARGET),i386)
 FPCCPUOPT:=-OG2p3
 else
+ifeq ($(CPU_TARGET),powerpc)
+FPCCPUOPT:=-O1
+else
 FPCCPUOPT:=
 endif
+endif
 override FPCOPT+=-Xs $(FPCCPUOPT) -n
 override FPCOPTDEF+=RELEASE
 endif
@@ -1426,7 +1445,7 @@ USEZIPWRAPPER=1
 endif
 ifdef USEZIPWRAPPER
 ZIPPATHSEP=$(PATHSEP)
-ZIPWRAPPER=$(subst /,$(PATHSEP),$(DIST_DESTDIR)/fpczip$(BATCHEXT))
+ZIPWRAPPER=$(subst /,$(PATHSEP),$(DIST_DESTDIR)/fpczip$(SRCBATCHEXT))
 else
 ZIPPATHSEP=/
 endif
@@ -1480,6 +1499,9 @@ override CLEANPPUFILES+=$(addsuffix $(PPUEXT),$(CLEAN_UNITS))
 endif
 ifdef 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 CLEANPPULINKFILES:=$(wildcard $(addprefix $(UNITTARGETDIRPREFIX),$(CLEANPPULINKFILES)))
 endif
@@ -1503,6 +1525,7 @@ ifdef LIB_NAME
 	-$(DEL) $(LIB_NAME) $(LIB_FULLNAME)
 endif
 	-$(DEL) $(FPCMADE) Package.fpc $(PPAS) script.res link.res $(FPCEXTFILE) $(REDIRFILE)
+	-$(DEL) *$(ASMEXT) *_ppas$(BATCHEXT)
 fpc_distclean: clean
 ifdef COMPILER_UNITTARGETDIR
 TARGETDIRCLEAN=fpc_clean
@@ -1514,9 +1537,13 @@ endif
 	-$(DEL) *$(OEXT) *$(PPUEXT) *$(RSTEXT) *$(ASMEXT) *$(STATICLIBEXT) *$(SHAREDLIBEXT) *$(PPLEXT)
 	-$(DELTREE) *$(SMARTEXT)
 	-$(DEL) $(FPCMADE) Package.fpc $(PPAS) script.res link.res $(FPCEXTFILE) $(REDIRFILE)
+	-$(DEL) *_ppas$(BATCHEXT)
 ifdef AOUTEXT
 	-$(DEL) *$(AOUTEXT)
 endif
+ifdef DEBUGSYMEXT
+	-$(DEL) *$(DEBUGSYMEXT)
+endif
 .PHONY: fpc_baseinfo
 override INFORULES+=fpc_baseinfo
 fpc_baseinfo:
@@ -1666,7 +1693,7 @@ endif
 ifndef DIFF
 DIFF:=$(strip $(wildcard $(addsuffix /diff$(SRCEXEEXT),$(SEARCHPATH))))
 ifeq ($(DIFF),)
-DIFF=
+DIFF= __missing_command__
 else
 DIFF:=$(firstword $(DIFF))
 endif
@@ -1675,7 +1702,7 @@ export DIFF
 ifndef CMP
 CMP:=$(strip $(wildcard $(addsuffix /cmp$(SRCEXEEXT),$(SEARCHPATH))))
 ifeq ($(CMP),)
-CMP=
+CMP= __missing_command__
 else
 CMP:=$(firstword $(CMP))
 endif
@@ -1921,7 +1948,7 @@ endif
 installsymlink: install
 ifdef UNIXINSTALLDIR
 	$(MKDIR) $(INSTALL_BINDIR)
-	ln -sf $(INSTALL_BASEDIR)/ppc386 $(INSTALL_BINDIR)/ppc386
+	ln -sf $(INSTALL_BASEDIR)/$(EXENAME) $(INSTALL_BINDIR)/$(EXENAME)
 endif
 .PHONY: rtl rtlclean rtlinstall
 rtl:

+ 100 - 70
compiler/utils/Makefile

@@ -1,15 +1,24 @@
 #
-# Don't edit, this file is generated by FPCMake Version 1.1 [2004/02/22]
+# Don't edit, this file is generated by FPCMake Version 1.1 [2004/04/21]
 #
 default: all
 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:=$(subst \,/,$(PATH))
+ifneq ($(findstring darwin,$(OSTYPE)),)
+inUnix=1 #darwin
+SEARCHPATH:=$(filter-out .,$(subst :, ,$(PATH)))
+else
 ifeq ($(findstring ;,$(PATH)),)
 inUnix=1
 SEARCHPATH:=$(filter-out .,$(subst :, ,$(PATH)))
 else
 SEARCHPATH:=$(subst ;, ,$(PATH))
 endif
+endif
 SEARCHPATH+=$(patsubst %/,%,$(subst \,/,$(dir $(MAKE))))
 PWD:=$(strip $(wildcard $(addsuffix /pwd.exe,$(SEARCHPATH))))
 ifeq ($(PWD),)
@@ -37,22 +46,13 @@ ifneq ($(findstring cygdrive,$(PATH)),)
 inCygWin=1
 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
-BATCHEXT=.sh
+SRCBATCHEXT=.sh
 else
 ifdef inOS2
-BATCHEXT=.cmd
+SRCBATCHEXT=.cmd
 else
-BATCHEXT=.bat
+SRCBATCHEXT=.bat
 endif
 endif
 ifdef inUnix
@@ -155,6 +155,12 @@ ifeq ($(findstring $(OS_TARGET),$(MAKEFILETARGETS)),)
 $(error The Makefile doesn't support target $(OS_TARGET), please run fpcmake first)
 endif
 endif
+ifneq ($(findstring $(OS_TARGET),$(BSDs)),)
+BSDhier=1
+endif
+ifeq ($(OS_TARGET),linux)
+linuxHier=1
+endif
 export OS_TARGET OS_SOURCE CPU_TARGET CPU_SOURCE FULL_TARGET FULL_SOURCE CROSSCOMPILE
 ifdef FPCDIR
 override FPCDIR:=$(subst \,/,$(FPCDIR))
@@ -220,42 +226,12 @@ 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
-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
 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
 ifndef INSTALL_PREFIX
@@ -264,7 +240,7 @@ INSTALL_PREFIX=$(PREFIX)
 endif
 endif
 ifndef INSTALL_PREFIX
-ifdef UNIXINSTALLDIR
+ifdef UNIXHier
 INSTALL_PREFIX=/usr/local
 else
 ifdef INSTALL_FPCPACKAGE
@@ -283,7 +259,7 @@ DIST_DESTDIR:=$(BASEDIR)
 endif
 export DIST_DESTDIR
 ifndef INSTALL_BASEDIR
-ifdef UNIXINSTALLDIR
+ifdef UNIXHier
 ifdef INSTALL_FPCPACKAGE
 INSTALL_BASEDIR:=$(INSTALL_PREFIX)/lib/fpc/$(FPC_VERSION)
 else
@@ -294,7 +270,7 @@ INSTALL_BASEDIR:=$(INSTALL_PREFIX)
 endif
 endif
 ifndef INSTALL_BINDIR
-ifdef UNIXINSTALLDIR
+ifdef UNIXHier
 ifdef CROSSCOMPILE
 INSTALL_BINDIR:=$(INSTALL_BASEDIR)/cross/$(FULL_TARGET)/bin
 else
@@ -324,19 +300,23 @@ endif
 endif
 endif
 ifndef INSTALL_LIBDIR
-ifdef UNIXINSTALLDIR
+ifdef UNIXHier
 INSTALL_LIBDIR:=$(INSTALL_PREFIX)/lib
 else
 INSTALL_LIBDIR:=$(INSTALL_UNITDIR)
 endif
 endif
 ifndef INSTALL_SOURCEDIR
-ifdef UNIXINSTALLDIR
+ifdef UNIXHier
 ifdef BSDhier
 SRCPREFIXDIR=share/src
 else
+ifdef linuxHier
+SRCPREFIXDIR=share/src
+else
 SRCPREFIXDIR=src
 endif
+endif
 ifdef INSTALL_FPCPACKAGE
 ifdef INSTALL_FPCSUBDIR
 INSTALL_SOURCEDIR:=$(INSTALL_PREFIX)/$(SRCPREFIXDIR)/fpc-$(FPC_VERSION)/$(INSTALL_FPCSUBDIR)/$(PACKAGE_NAME)
@@ -359,12 +339,16 @@ endif
 endif
 endif
 ifndef INSTALL_DOCDIR
-ifdef UNIXINSTALLDIR
+ifdef UNIXHier
 ifdef BSDhier
 DOCPREFIXDIR=share/doc
 else
+ifdef linuxHier
+DOCPREFIXDIR=share/doc
+else
 DOCPREFIXDIR=doc
 endif
+endif
 ifdef INSTALL_FPCPACKAGE
 INSTALL_DOCDIR:=$(INSTALL_PREFIX)/$(DOCPREFIXDIR)/fpc-$(FPC_VERSION)/$(PACKAGE_NAME)
 else
@@ -379,20 +363,28 @@ endif
 endif
 endif
 ifndef INSTALL_EXAMPLEDIR
-ifdef UNIXINSTALLDIR
+ifdef UNIXHier
 ifdef INSTALL_FPCPACKAGE
 ifdef BSDhier
 INSTALL_EXAMPLEDIR:=$(INSTALL_PREFIX)/share/examples/fpc-$(FPC_VERSION)/$(PACKAGE_NAME)
 else
+ifdef linuxHier
+INSTALL_EXAMPLEDIR:=$(INSTALL_DOCDIR)/examples/fpc-$(FPC_VERSION)/$(PACKAGE_NAME)
+else
 INSTALL_EXAMPLEDIR:=$(INSTALL_PREFIX)/doc/fpc-$(FPC_VERSION)/examples/$(PACKAGE_NAME)
 endif
+endif
 else
 ifdef BSDhier
 INSTALL_EXAMPLEDIR:=$(INSTALL_PREFIX)/share/examples/$(PACKAGE_NAME)-$(PACKAGE_VERSION)
 else
+ifdef linuxHier
+INSTALL_EXAMPLEDIR:=$(INSTALL_DOCDIR)/examples/$(PACKAGE_NAME)-$(PACKAGE_VERSION)
+else
 INSTALL_EXAMPLEDIR:=$(INSTALL_PREFIX)/doc/$(PACKAGE_NAME)-$(PACKAGE_VERSION)
 endif
 endif
+endif
 else
 ifdef INSTALL_FPCPACKAGE
 INSTALL_EXAMPLEDIR:=$(INSTALL_BASEDIR)/examples/$(PACKAGE_NAME)
@@ -414,6 +406,7 @@ endif
 else
 CROSSBINDIR=
 endif
+BATCHEXT=.bat
 LOADEREXT=.as
 EXEEXT=.exe
 PPLEXT=.ppl
@@ -446,24 +439,28 @@ ASMEXT=.asm
 SHAREDLIBEXT=.dll
 endif
 ifeq ($(OS_TARGET),linux)
+BATCHEXT=.sh
 EXEEXT=
 HASSHAREDLIB=1
 FPCMADE=fpcmade.lnx
 ZIPSUFFIX=linux
 endif
 ifeq ($(OS_TARGET),freebsd)
+BATCHEXT=.sh
 EXEEXT=
 HASSHAREDLIB=1
 FPCMADE=fpcmade.freebsd
 ZIPSUFFIX=freebsd
 endif
 ifeq ($(OS_TARGET),netbsd)
+BATCHEXT=.sh
 EXEEXT=
 HASSHAREDLIB=1
 FPCMADE=fpcmade.netbsd
 ZIPSUFFIX=netbsd
 endif
 ifeq ($(OS_TARGET),openbsd)
+BATCHEXT=.sh
 EXEEXT=
 HASSHAREDLIB=1
 FPCMADE=fpcmade.openbsd
@@ -475,6 +472,7 @@ FPCMADE=fpcmade.w32
 ZIPSUFFIX=w32
 endif
 ifeq ($(OS_TARGET),os2)
+BATCHEXT=.cmd
 AOUTEXT=.out
 STATICLIBPREFIX=
 SHAREDLIBEXT=.dll
@@ -483,6 +481,7 @@ ZIPSUFFIX=os2
 ECHO=echo
 endif
 ifeq ($(OS_TARGET),emx)
+BATCHEXT=.cmd
 AOUTEXT=.out
 STATICLIBPREFIX=
 SHAREDLIBEXT=.dll
@@ -500,16 +499,19 @@ EXEEXT=.ttp
 FPCMADE=fpcmade.ata
 endif
 ifeq ($(OS_TARGET),beos)
+BATCHEXT=.sh
 EXEEXT=
 FPCMADE=fpcmade.be
 ZIPSUFFIX=be
 endif
 ifeq ($(OS_TARGET),sunos)
+BATCHEXT=.sh
 EXEEXT=
 FPCMADE=fpcmade.sun
 ZIPSUFFIX=sun
 endif
 ifeq ($(OS_TARGET),qnx)
+BATCHEXT=.sh
 EXEEXT=
 FPCMADE=fpcmade.qnx
 ZIPSUFFIX=qnx
@@ -521,10 +523,14 @@ FPCMADE=fpcmade.nw
 ZIPSUFFIX=nw
 endif
 ifeq ($(OS_TARGET),macos)
+BATCHEXT=
 EXEEXT=
-FPCMADE=fpcmade.mcc
+FPCMADE=fpcmade.macos
+ZIPSUFFIX=macos
+DEBUGSYMEXT=.xcoff
 endif
 ifeq ($(OS_TARGET),darwin)
+BATCHEXT=.sh
 EXEEXT=
 HASSHAREDLIB=1
 FPCMADE=fpcmade.darwin
@@ -553,24 +559,28 @@ FPCMADE=fpcmade.dos
 ZIPSUFFIX=watcom
 endif
 ifeq ($(OS_TARGET),linux)
+BATCHEXT=.sh
 EXEEXT=
 HASSHAREDLIB=1
 FPCMADE=fpcmade.lnx
 ZIPSUFFIX=linux
 endif
 ifeq ($(OS_TARGET),freebsd)
+BATCHEXT=.sh
 EXEEXT=
 HASSHAREDLIB=1
 FPCMADE=fpcmade.freebsd
 ZIPSUFFIX=freebsd
 endif
 ifeq ($(OS_TARGET),netbsd)
+BATCHEXT=.sh
 EXEEXT=
 HASSHAREDLIB=1
 FPCMADE=fpcmade.netbsd
 ZIPSUFFIX=netbsd
 endif
 ifeq ($(OS_TARGET),openbsd)
+BATCHEXT=.sh
 EXEEXT=
 HASSHAREDLIB=1
 FPCMADE=fpcmade.openbsd
@@ -587,6 +597,7 @@ FPCMADE=fpcmade.w32
 ZIPSUFFIX=w32
 endif
 ifeq ($(OS_TARGET),os2)
+BATCHEXT=.cmd
 PPUEXT=.ppo
 ASMEXT=.so2
 OEXT=.oo2
@@ -619,6 +630,7 @@ EXEEXT=.ttp
 FPCMADE=fpcmade.ata
 endif
 ifeq ($(OS_TARGET),beos)
+BATCHEXT=.sh
 PPUEXT=.ppu
 ASMEXT=.s
 OEXT=.o
@@ -629,6 +641,7 @@ FPCMADE=fpcmade.be
 ZIPSUFFIX=be
 endif
 ifeq ($(OS_TARGET),sunos)
+BATCHEXT=.sh
 PPUEXT=.ppu
 ASMEXT=.s
 OEXT=.o
@@ -639,6 +652,7 @@ FPCMADE=fpcmade.sun
 ZIPSUFFIX=sun
 endif
 ifeq ($(OS_TARGET),qnx)
+BATCHEXT=.sh
 PPUEXT=.ppu
 ASMEXT=.s
 OEXT=.o
@@ -661,13 +675,15 @@ ZIPSUFFIX=nw
 EXEEXT=.nlm
 endif
 ifeq ($(OS_TARGET),macos)
+BATCHEXT=
 PPUEXT=.ppu
 ASMEXT=.s
 OEXT=.o
 SMARTEXT=.sl
 STATICLIBEXT=.a
 EXEEXT=
-FPCMADE=fpcmade.mcc
+DEBUGSYMEXT=.xcoff
+FPCMADE=fpcmade.macos
 endif
 endif
 ifndef ECHO
@@ -675,7 +691,7 @@ ECHO:=$(strip $(wildcard $(addsuffix /gecho$(SRCEXEEXT),$(SEARCHPATH))))
 ifeq ($(ECHO),)
 ECHO:=$(strip $(wildcard $(addsuffix /echo$(SRCEXEEXT),$(SEARCHPATH))))
 ifeq ($(ECHO),)
-ECHO=
+ECHO= __missing_command__
 else
 ECHO:=$(firstword $(ECHO))
 endif
@@ -689,7 +705,7 @@ DATE:=$(strip $(wildcard $(addsuffix /gdate$(SRCEXEEXT),$(SEARCHPATH))))
 ifeq ($(DATE),)
 DATE:=$(strip $(wildcard $(addsuffix /date$(SRCEXEEXT),$(SEARCHPATH))))
 ifeq ($(DATE),)
-DATE=
+DATE= __missing_command__
 else
 DATE:=$(firstword $(DATE))
 endif
@@ -703,7 +719,7 @@ GINSTALL:=$(strip $(wildcard $(addsuffix /ginstall$(SRCEXEEXT),$(SEARCHPATH))))
 ifeq ($(GINSTALL),)
 GINSTALL:=$(strip $(wildcard $(addsuffix /install$(SRCEXEEXT),$(SEARCHPATH))))
 ifeq ($(GINSTALL),)
-GINSTALL=
+GINSTALL= __missing_command__
 else
 GINSTALL:=$(firstword $(GINSTALL))
 endif
@@ -715,7 +731,7 @@ export GINSTALL
 ifndef CPPROG
 CPPROG:=$(strip $(wildcard $(addsuffix /cp$(SRCEXEEXT),$(SEARCHPATH))))
 ifeq ($(CPPROG),)
-CPPROG=
+CPPROG= __missing_command__
 else
 CPPROG:=$(firstword $(CPPROG))
 endif
@@ -724,7 +740,7 @@ export CPPROG
 ifndef RMPROG
 RMPROG:=$(strip $(wildcard $(addsuffix /rm$(SRCEXEEXT),$(SEARCHPATH))))
 ifeq ($(RMPROG),)
-RMPROG=
+RMPROG= __missing_command__
 else
 RMPROG:=$(firstword $(RMPROG))
 endif
@@ -733,7 +749,7 @@ export RMPROG
 ifndef MVPROG
 MVPROG:=$(strip $(wildcard $(addsuffix /mv$(SRCEXEEXT),$(SEARCHPATH))))
 ifeq ($(MVPROG),)
-MVPROG=
+MVPROG= __missing_command__
 else
 MVPROG:=$(firstword $(MVPROG))
 endif
@@ -782,7 +798,7 @@ export ECHOREDIR COPY COPYTREE MOVE DEL DELTREE INSTALL INSTALLEXE MKDIR
 ifndef PPUMOVE
 PPUMOVE:=$(strip $(wildcard $(addsuffix /ppumove$(SRCEXEEXT),$(SEARCHPATH))))
 ifeq ($(PPUMOVE),)
-PPUMOVE=
+PPUMOVE= __missing_command__
 else
 PPUMOVE:=$(firstword $(PPUMOVE))
 endif
@@ -791,7 +807,7 @@ export PPUMOVE
 ifndef FPCMAKE
 FPCMAKE:=$(strip $(wildcard $(addsuffix /fpcmake$(SRCEXEEXT),$(SEARCHPATH))))
 ifeq ($(FPCMAKE),)
-FPCMAKE=
+FPCMAKE= __missing_command__
 else
 FPCMAKE:=$(firstword $(FPCMAKE))
 endif
@@ -800,7 +816,7 @@ export FPCMAKE
 ifndef ZIPPROG
 ZIPPROG:=$(strip $(wildcard $(addsuffix /zip$(SRCEXEEXT),$(SEARCHPATH))))
 ifeq ($(ZIPPROG),)
-ZIPPROG=
+ZIPPROG= __missing_command__
 else
 ZIPPROG:=$(firstword $(ZIPPROG))
 endif
@@ -809,7 +825,7 @@ export ZIPPROG
 ifndef TARPROG
 TARPROG:=$(strip $(wildcard $(addsuffix /tar$(SRCEXEEXT),$(SEARCHPATH))))
 ifeq ($(TARPROG),)
-TARPROG=
+TARPROG= __missing_command__
 else
 TARPROG:=$(firstword $(TARPROG))
 endif
@@ -821,9 +837,11 @@ ARNAME=$(BINUTILSPREFIX)ar
 RCNAME=$(BINUTILSPREFIX)rc
 ifneq ($(findstring 1.0.,$(FPC_VERSION)),)
 ifeq ($(OS_TARGET),win32)
-ASNAME=as
-LDNAME=ld
-ARNAME=ar
+ifeq ($(CROSSBINDIR),)
+ASNAME=asw
+LDNAME=ldw
+ARNAME=arw
+endif
 endif
 endif
 ifndef ASPROG
@@ -858,7 +876,7 @@ AS=$(ASPROG)
 LD=$(LDPROG)
 RC=$(RCPROG)
 AR=$(ARPROG)
-PPAS=ppas$(BATCHEXT)
+PPAS=ppas$(SRCBATCHEXT)
 ifdef inUnix
 LDCONFIG=ldconfig
 else
@@ -1117,8 +1135,12 @@ ifdef RELEASE
 ifeq ($(CPU_TARGET),i386)
 FPCCPUOPT:=-OG2p3
 else
+ifeq ($(CPU_TARGET),powerpc)
+FPCCPUOPT:=-O1
+else
 FPCCPUOPT:=
 endif
+endif
 override FPCOPT+=-Xs $(FPCCPUOPT) -n
 override FPCOPTDEF+=RELEASE
 endif
@@ -1325,6 +1347,9 @@ override CLEANPPUFILES+=$(addsuffix $(PPUEXT),$(CLEAN_UNITS))
 endif
 ifdef 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 CLEANPPULINKFILES:=$(wildcard $(addprefix $(UNITTARGETDIRPREFIX),$(CLEANPPULINKFILES)))
 endif
@@ -1348,6 +1373,7 @@ ifdef LIB_NAME
 	-$(DEL) $(LIB_NAME) $(LIB_FULLNAME)
 endif
 	-$(DEL) $(FPCMADE) Package.fpc $(PPAS) script.res link.res $(FPCEXTFILE) $(REDIRFILE)
+	-$(DEL) *$(ASMEXT) *_ppas$(BATCHEXT)
 fpc_distclean: clean
 ifdef COMPILER_UNITTARGETDIR
 TARGETDIRCLEAN=fpc_clean
@@ -1359,9 +1385,13 @@ endif
 	-$(DEL) *$(OEXT) *$(PPUEXT) *$(RSTEXT) *$(ASMEXT) *$(STATICLIBEXT) *$(SHAREDLIBEXT) *$(PPLEXT)
 	-$(DELTREE) *$(SMARTEXT)
 	-$(DEL) $(FPCMADE) Package.fpc $(PPAS) script.res link.res $(FPCEXTFILE) $(REDIRFILE)
+	-$(DEL) *_ppas$(BATCHEXT)
 ifdef AOUTEXT
 	-$(DEL) *$(AOUTEXT)
 endif
+ifdef DEBUGSYMEXT
+	-$(DEL) *$(DEBUGSYMEXT)
+endif
 .PHONY: fpc_baseinfo
 override INFORULES+=fpc_baseinfo
 fpc_baseinfo:

+ 109 - 71
demo/Makefile

@@ -1,15 +1,24 @@
 #
-# Don't edit, this file is generated by FPCMake Version 1.1 [2004/01/05]
+# Don't edit, this file is generated by FPCMake Version 1.1 [2004/04/21]
 #
 default: all
 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:=$(subst \,/,$(PATH))
+ifneq ($(findstring darwin,$(OSTYPE)),)
+inUnix=1 #darwin
+SEARCHPATH:=$(filter-out .,$(subst :, ,$(PATH)))
+else
 ifeq ($(findstring ;,$(PATH)),)
 inUnix=1
 SEARCHPATH:=$(filter-out .,$(subst :, ,$(PATH)))
 else
 SEARCHPATH:=$(subst ;, ,$(PATH))
 endif
+endif
 SEARCHPATH+=$(patsubst %/,%,$(subst \,/,$(dir $(MAKE))))
 PWD:=$(strip $(wildcard $(addsuffix /pwd.exe,$(SEARCHPATH))))
 ifeq ($(PWD),)
@@ -37,22 +46,13 @@ ifneq ($(findstring cygdrive,$(PATH)),)
 inCygWin=1
 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
-BATCHEXT=.sh
+SRCBATCHEXT=.sh
 else
 ifdef inOS2
-BATCHEXT=.cmd
+SRCBATCHEXT=.cmd
 else
-BATCHEXT=.bat
+SRCBATCHEXT=.bat
 endif
 endif
 ifdef inUnix
@@ -155,6 +155,12 @@ ifeq ($(findstring $(OS_TARGET),$(MAKEFILETARGETS)),)
 $(error The Makefile doesn't support target $(OS_TARGET), please run fpcmake first)
 endif
 endif
+ifneq ($(findstring $(OS_TARGET),$(BSDs)),)
+BSDhier=1
+endif
+ifeq ($(OS_TARGET),linux)
+linuxHier=1
+endif
 export OS_TARGET OS_SOURCE CPU_TARGET CPU_SOURCE FULL_TARGET FULL_SOURCE CROSSCOMPILE
 ifdef FPCDIR
 override FPCDIR:=$(subst \,/,$(FPCDIR))
@@ -184,11 +190,14 @@ override FPCDIR:=$(FPCDIR)/..
 ifeq ($(wildcard $(addprefix $(FPCDIR)/,rtl units)),)
 override FPCDIR:=$(FPCDIR)/..
 ifeq ($(wildcard $(addprefix $(FPCDIR)/,rtl units)),)
+override FPCDIR:=$(BASEDIR)
+ifeq ($(wildcard $(addprefix $(FPCDIR)/,rtl units)),)
 override FPCDIR=c:/pp
 endif
 endif
 endif
 endif
+endif
 ifndef CROSSDIR
 CROSSDIR:=$(FPCDIR)/cross/$(FULL_TARGET)
 endif
@@ -227,42 +236,12 @@ 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
-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
 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
 ifndef INSTALL_PREFIX
@@ -271,7 +250,7 @@ INSTALL_PREFIX=$(PREFIX)
 endif
 endif
 ifndef INSTALL_PREFIX
-ifdef UNIXINSTALLDIR
+ifdef UNIXHier
 INSTALL_PREFIX=/usr/local
 else
 ifdef INSTALL_FPCPACKAGE
@@ -290,7 +269,7 @@ DIST_DESTDIR:=$(BASEDIR)
 endif
 export DIST_DESTDIR
 ifndef INSTALL_BASEDIR
-ifdef UNIXINSTALLDIR
+ifdef UNIXHier
 ifdef INSTALL_FPCPACKAGE
 INSTALL_BASEDIR:=$(INSTALL_PREFIX)/lib/fpc/$(FPC_VERSION)
 else
@@ -301,7 +280,7 @@ INSTALL_BASEDIR:=$(INSTALL_PREFIX)
 endif
 endif
 ifndef INSTALL_BINDIR
-ifdef UNIXINSTALLDIR
+ifdef UNIXHier
 ifdef CROSSCOMPILE
 INSTALL_BINDIR:=$(INSTALL_BASEDIR)/cross/$(FULL_TARGET)/bin
 else
@@ -331,19 +310,23 @@ endif
 endif
 endif
 ifndef INSTALL_LIBDIR
-ifdef UNIXINSTALLDIR
+ifdef UNIXHier
 INSTALL_LIBDIR:=$(INSTALL_PREFIX)/lib
 else
 INSTALL_LIBDIR:=$(INSTALL_UNITDIR)
 endif
 endif
 ifndef INSTALL_SOURCEDIR
-ifdef UNIXINSTALLDIR
+ifdef UNIXHier
 ifdef BSDhier
 SRCPREFIXDIR=share/src
 else
+ifdef linuxHier
+SRCPREFIXDIR=share/src
+else
 SRCPREFIXDIR=src
 endif
+endif
 ifdef INSTALL_FPCPACKAGE
 ifdef INSTALL_FPCSUBDIR
 INSTALL_SOURCEDIR:=$(INSTALL_PREFIX)/$(SRCPREFIXDIR)/fpc-$(FPC_VERSION)/$(INSTALL_FPCSUBDIR)/$(PACKAGE_NAME)
@@ -366,12 +349,16 @@ endif
 endif
 endif
 ifndef INSTALL_DOCDIR
-ifdef UNIXINSTALLDIR
+ifdef UNIXHier
 ifdef BSDhier
 DOCPREFIXDIR=share/doc
 else
+ifdef linuxHier
+DOCPREFIXDIR=share/doc
+else
 DOCPREFIXDIR=doc
 endif
+endif
 ifdef INSTALL_FPCPACKAGE
 INSTALL_DOCDIR:=$(INSTALL_PREFIX)/$(DOCPREFIXDIR)/fpc-$(FPC_VERSION)/$(PACKAGE_NAME)
 else
@@ -386,20 +373,28 @@ endif
 endif
 endif
 ifndef INSTALL_EXAMPLEDIR
-ifdef UNIXINSTALLDIR
+ifdef UNIXHier
 ifdef INSTALL_FPCPACKAGE
 ifdef BSDhier
 INSTALL_EXAMPLEDIR:=$(INSTALL_PREFIX)/share/examples/fpc-$(FPC_VERSION)/$(PACKAGE_NAME)
 else
+ifdef linuxHier
+INSTALL_EXAMPLEDIR:=$(INSTALL_DOCDIR)/examples/fpc-$(FPC_VERSION)/$(PACKAGE_NAME)
+else
 INSTALL_EXAMPLEDIR:=$(INSTALL_PREFIX)/doc/fpc-$(FPC_VERSION)/examples/$(PACKAGE_NAME)
 endif
+endif
 else
 ifdef BSDhier
 INSTALL_EXAMPLEDIR:=$(INSTALL_PREFIX)/share/examples/$(PACKAGE_NAME)-$(PACKAGE_VERSION)
 else
+ifdef linuxHier
+INSTALL_EXAMPLEDIR:=$(INSTALL_DOCDIR)/examples/$(PACKAGE_NAME)-$(PACKAGE_VERSION)
+else
 INSTALL_EXAMPLEDIR:=$(INSTALL_PREFIX)/doc/$(PACKAGE_NAME)-$(PACKAGE_VERSION)
 endif
 endif
+endif
 else
 ifdef INSTALL_FPCPACKAGE
 INSTALL_EXAMPLEDIR:=$(INSTALL_BASEDIR)/examples/$(PACKAGE_NAME)
@@ -421,6 +416,7 @@ endif
 else
 CROSSBINDIR=
 endif
+BATCHEXT=.bat
 LOADEREXT=.as
 EXEEXT=.exe
 PPLEXT=.ppl
@@ -453,24 +449,28 @@ ASMEXT=.asm
 SHAREDLIBEXT=.dll
 endif
 ifeq ($(OS_TARGET),linux)
+BATCHEXT=.sh
 EXEEXT=
 HASSHAREDLIB=1
 FPCMADE=fpcmade.lnx
 ZIPSUFFIX=linux
 endif
 ifeq ($(OS_TARGET),freebsd)
+BATCHEXT=.sh
 EXEEXT=
 HASSHAREDLIB=1
 FPCMADE=fpcmade.freebsd
 ZIPSUFFIX=freebsd
 endif
 ifeq ($(OS_TARGET),netbsd)
+BATCHEXT=.sh
 EXEEXT=
 HASSHAREDLIB=1
 FPCMADE=fpcmade.netbsd
 ZIPSUFFIX=netbsd
 endif
 ifeq ($(OS_TARGET),openbsd)
+BATCHEXT=.sh
 EXEEXT=
 HASSHAREDLIB=1
 FPCMADE=fpcmade.openbsd
@@ -482,6 +482,7 @@ FPCMADE=fpcmade.w32
 ZIPSUFFIX=w32
 endif
 ifeq ($(OS_TARGET),os2)
+BATCHEXT=.cmd
 AOUTEXT=.out
 STATICLIBPREFIX=
 SHAREDLIBEXT=.dll
@@ -490,6 +491,7 @@ ZIPSUFFIX=os2
 ECHO=echo
 endif
 ifeq ($(OS_TARGET),emx)
+BATCHEXT=.cmd
 AOUTEXT=.out
 STATICLIBPREFIX=
 SHAREDLIBEXT=.dll
@@ -507,16 +509,19 @@ EXEEXT=.ttp
 FPCMADE=fpcmade.ata
 endif
 ifeq ($(OS_TARGET),beos)
+BATCHEXT=.sh
 EXEEXT=
 FPCMADE=fpcmade.be
 ZIPSUFFIX=be
 endif
 ifeq ($(OS_TARGET),sunos)
+BATCHEXT=.sh
 EXEEXT=
 FPCMADE=fpcmade.sun
 ZIPSUFFIX=sun
 endif
 ifeq ($(OS_TARGET),qnx)
+BATCHEXT=.sh
 EXEEXT=
 FPCMADE=fpcmade.qnx
 ZIPSUFFIX=qnx
@@ -528,10 +533,14 @@ FPCMADE=fpcmade.nw
 ZIPSUFFIX=nw
 endif
 ifeq ($(OS_TARGET),macos)
+BATCHEXT=
 EXEEXT=
-FPCMADE=fpcmade.mcc
+FPCMADE=fpcmade.macos
+ZIPSUFFIX=macos
+DEBUGSYMEXT=.xcoff
 endif
 ifeq ($(OS_TARGET),darwin)
+BATCHEXT=.sh
 EXEEXT=
 HASSHAREDLIB=1
 FPCMADE=fpcmade.darwin
@@ -560,24 +569,28 @@ FPCMADE=fpcmade.dos
 ZIPSUFFIX=watcom
 endif
 ifeq ($(OS_TARGET),linux)
+BATCHEXT=.sh
 EXEEXT=
 HASSHAREDLIB=1
 FPCMADE=fpcmade.lnx
 ZIPSUFFIX=linux
 endif
 ifeq ($(OS_TARGET),freebsd)
+BATCHEXT=.sh
 EXEEXT=
 HASSHAREDLIB=1
 FPCMADE=fpcmade.freebsd
 ZIPSUFFIX=freebsd
 endif
 ifeq ($(OS_TARGET),netbsd)
+BATCHEXT=.sh
 EXEEXT=
 HASSHAREDLIB=1
 FPCMADE=fpcmade.netbsd
 ZIPSUFFIX=netbsd
 endif
 ifeq ($(OS_TARGET),openbsd)
+BATCHEXT=.sh
 EXEEXT=
 HASSHAREDLIB=1
 FPCMADE=fpcmade.openbsd
@@ -594,6 +607,7 @@ FPCMADE=fpcmade.w32
 ZIPSUFFIX=w32
 endif
 ifeq ($(OS_TARGET),os2)
+BATCHEXT=.cmd
 PPUEXT=.ppo
 ASMEXT=.so2
 OEXT=.oo2
@@ -626,6 +640,7 @@ EXEEXT=.ttp
 FPCMADE=fpcmade.ata
 endif
 ifeq ($(OS_TARGET),beos)
+BATCHEXT=.sh
 PPUEXT=.ppu
 ASMEXT=.s
 OEXT=.o
@@ -636,6 +651,7 @@ FPCMADE=fpcmade.be
 ZIPSUFFIX=be
 endif
 ifeq ($(OS_TARGET),sunos)
+BATCHEXT=.sh
 PPUEXT=.ppu
 ASMEXT=.s
 OEXT=.o
@@ -646,6 +662,7 @@ FPCMADE=fpcmade.sun
 ZIPSUFFIX=sun
 endif
 ifeq ($(OS_TARGET),qnx)
+BATCHEXT=.sh
 PPUEXT=.ppu
 ASMEXT=.s
 OEXT=.o
@@ -668,13 +685,15 @@ ZIPSUFFIX=nw
 EXEEXT=.nlm
 endif
 ifeq ($(OS_TARGET),macos)
+BATCHEXT=
 PPUEXT=.ppu
 ASMEXT=.s
 OEXT=.o
 SMARTEXT=.sl
 STATICLIBEXT=.a
 EXEEXT=
-FPCMADE=fpcmade.mcc
+DEBUGSYMEXT=.xcoff
+FPCMADE=fpcmade.macos
 endif
 endif
 ifndef ECHO
@@ -682,7 +701,7 @@ ECHO:=$(strip $(wildcard $(addsuffix /gecho$(SRCEXEEXT),$(SEARCHPATH))))
 ifeq ($(ECHO),)
 ECHO:=$(strip $(wildcard $(addsuffix /echo$(SRCEXEEXT),$(SEARCHPATH))))
 ifeq ($(ECHO),)
-ECHO=
+ECHO= __missing_command__
 else
 ECHO:=$(firstword $(ECHO))
 endif
@@ -696,7 +715,7 @@ DATE:=$(strip $(wildcard $(addsuffix /gdate$(SRCEXEEXT),$(SEARCHPATH))))
 ifeq ($(DATE),)
 DATE:=$(strip $(wildcard $(addsuffix /date$(SRCEXEEXT),$(SEARCHPATH))))
 ifeq ($(DATE),)
-DATE=
+DATE= __missing_command__
 else
 DATE:=$(firstword $(DATE))
 endif
@@ -710,7 +729,7 @@ GINSTALL:=$(strip $(wildcard $(addsuffix /ginstall$(SRCEXEEXT),$(SEARCHPATH))))
 ifeq ($(GINSTALL),)
 GINSTALL:=$(strip $(wildcard $(addsuffix /install$(SRCEXEEXT),$(SEARCHPATH))))
 ifeq ($(GINSTALL),)
-GINSTALL=
+GINSTALL= __missing_command__
 else
 GINSTALL:=$(firstword $(GINSTALL))
 endif
@@ -722,7 +741,7 @@ export GINSTALL
 ifndef CPPROG
 CPPROG:=$(strip $(wildcard $(addsuffix /cp$(SRCEXEEXT),$(SEARCHPATH))))
 ifeq ($(CPPROG),)
-CPPROG=
+CPPROG= __missing_command__
 else
 CPPROG:=$(firstword $(CPPROG))
 endif
@@ -731,7 +750,7 @@ export CPPROG
 ifndef RMPROG
 RMPROG:=$(strip $(wildcard $(addsuffix /rm$(SRCEXEEXT),$(SEARCHPATH))))
 ifeq ($(RMPROG),)
-RMPROG=
+RMPROG= __missing_command__
 else
 RMPROG:=$(firstword $(RMPROG))
 endif
@@ -740,7 +759,7 @@ export RMPROG
 ifndef MVPROG
 MVPROG:=$(strip $(wildcard $(addsuffix /mv$(SRCEXEEXT),$(SEARCHPATH))))
 ifeq ($(MVPROG),)
-MVPROG=
+MVPROG= __missing_command__
 else
 MVPROG:=$(firstword $(MVPROG))
 endif
@@ -789,7 +808,7 @@ export ECHOREDIR COPY COPYTREE MOVE DEL DELTREE INSTALL INSTALLEXE MKDIR
 ifndef PPUMOVE
 PPUMOVE:=$(strip $(wildcard $(addsuffix /ppumove$(SRCEXEEXT),$(SEARCHPATH))))
 ifeq ($(PPUMOVE),)
-PPUMOVE=
+PPUMOVE= __missing_command__
 else
 PPUMOVE:=$(firstword $(PPUMOVE))
 endif
@@ -798,7 +817,7 @@ export PPUMOVE
 ifndef FPCMAKE
 FPCMAKE:=$(strip $(wildcard $(addsuffix /fpcmake$(SRCEXEEXT),$(SEARCHPATH))))
 ifeq ($(FPCMAKE),)
-FPCMAKE=
+FPCMAKE= __missing_command__
 else
 FPCMAKE:=$(firstword $(FPCMAKE))
 endif
@@ -807,7 +826,7 @@ export FPCMAKE
 ifndef ZIPPROG
 ZIPPROG:=$(strip $(wildcard $(addsuffix /zip$(SRCEXEEXT),$(SEARCHPATH))))
 ifeq ($(ZIPPROG),)
-ZIPPROG=
+ZIPPROG= __missing_command__
 else
 ZIPPROG:=$(firstword $(ZIPPROG))
 endif
@@ -816,7 +835,7 @@ export ZIPPROG
 ifndef TARPROG
 TARPROG:=$(strip $(wildcard $(addsuffix /tar$(SRCEXEEXT),$(SEARCHPATH))))
 ifeq ($(TARPROG),)
-TARPROG=
+TARPROG= __missing_command__
 else
 TARPROG:=$(firstword $(TARPROG))
 endif
@@ -828,9 +847,11 @@ ARNAME=$(BINUTILSPREFIX)ar
 RCNAME=$(BINUTILSPREFIX)rc
 ifneq ($(findstring 1.0.,$(FPC_VERSION)),)
 ifeq ($(OS_TARGET),win32)
-ASNAME=as
-LDNAME=ld
-ARNAME=ar
+ifeq ($(CROSSBINDIR),)
+ASNAME=asw
+LDNAME=ldw
+ARNAME=arw
+endif
 endif
 endif
 ifndef ASPROG
@@ -865,7 +886,7 @@ AS=$(ASPROG)
 LD=$(LDPROG)
 RC=$(RCPROG)
 AR=$(ARPROG)
-PPAS=ppas$(BATCHEXT)
+PPAS=ppas$(SRCBATCHEXT)
 ifdef inUnix
 LDCONFIG=ldconfig
 else
@@ -930,6 +951,11 @@ ifeq ($(CPU_TARGET),x86_64)
 REQUIRE_PACKAGES_RTL=1
 endif
 endif
+ifeq ($(OS_TARGET),linux)
+ifeq ($(CPU_TARGET),arm)
+REQUIRE_PACKAGES_RTL=1
+endif
+endif
 ifeq ($(OS_TARGET),go32v2)
 ifeq ($(CPU_TARGET),i386)
 REQUIRE_PACKAGES_RTL=1
@@ -1119,8 +1145,12 @@ ifdef RELEASE
 ifeq ($(CPU_TARGET),i386)
 FPCCPUOPT:=-OG2p3
 else
+ifeq ($(CPU_TARGET),powerpc)
+FPCCPUOPT:=-O1
+else
 FPCCPUOPT:=
 endif
+endif
 override FPCOPT+=-Xs $(FPCCPUOPT) -n
 override FPCOPTDEF+=RELEASE
 endif
@@ -1305,7 +1335,7 @@ USEZIPWRAPPER=1
 endif
 ifdef USEZIPWRAPPER
 ZIPPATHSEP=$(PATHSEP)
-ZIPWRAPPER=$(subst /,$(PATHSEP),$(DIST_DESTDIR)/fpczip$(BATCHEXT))
+ZIPWRAPPER=$(subst /,$(PATHSEP),$(DIST_DESTDIR)/fpczip$(SRCBATCHEXT))
 else
 ZIPPATHSEP=/
 endif
@@ -1359,6 +1389,9 @@ override CLEANPPUFILES+=$(addsuffix $(PPUEXT),$(CLEAN_UNITS))
 endif
 ifdef 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 CLEANPPULINKFILES:=$(wildcard $(addprefix $(UNITTARGETDIRPREFIX),$(CLEANPPULINKFILES)))
 endif
@@ -1382,6 +1415,7 @@ ifdef LIB_NAME
 	-$(DEL) $(LIB_NAME) $(LIB_FULLNAME)
 endif
 	-$(DEL) $(FPCMADE) Package.fpc $(PPAS) script.res link.res $(FPCEXTFILE) $(REDIRFILE)
+	-$(DEL) *$(ASMEXT) *_ppas$(BATCHEXT)
 fpc_distclean: clean
 ifdef COMPILER_UNITTARGETDIR
 TARGETDIRCLEAN=fpc_clean
@@ -1393,9 +1427,13 @@ endif
 	-$(DEL) *$(OEXT) *$(PPUEXT) *$(RSTEXT) *$(ASMEXT) *$(STATICLIBEXT) *$(SHAREDLIBEXT) *$(PPLEXT)
 	-$(DELTREE) *$(SMARTEXT)
 	-$(DEL) $(FPCMADE) Package.fpc $(PPAS) script.res link.res $(FPCEXTFILE) $(REDIRFILE)
+	-$(DEL) *_ppas$(BATCHEXT)
 ifdef AOUTEXT
 	-$(DEL) *$(AOUTEXT)
 endif
+ifdef DEBUGSYMEXT
+	-$(DEL) *$(DEBUGSYMEXT)
+endif
 .PHONY: fpc_baseinfo
 override INFORULES+=fpc_baseinfo
 fpc_baseinfo:

+ 108 - 70
demo/graph/Makefile

@@ -1,15 +1,24 @@
 #
-# Don't edit, this file is generated by FPCMake Version 1.1 [2004/01/05]
+# Don't edit, this file is generated by FPCMake Version 1.1 [2004/04/21]
 #
 default: all
 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:=$(subst \,/,$(PATH))
+ifneq ($(findstring darwin,$(OSTYPE)),)
+inUnix=1 #darwin
+SEARCHPATH:=$(filter-out .,$(subst :, ,$(PATH)))
+else
 ifeq ($(findstring ;,$(PATH)),)
 inUnix=1
 SEARCHPATH:=$(filter-out .,$(subst :, ,$(PATH)))
 else
 SEARCHPATH:=$(subst ;, ,$(PATH))
 endif
+endif
 SEARCHPATH+=$(patsubst %/,%,$(subst \,/,$(dir $(MAKE))))
 PWD:=$(strip $(wildcard $(addsuffix /pwd.exe,$(SEARCHPATH))))
 ifeq ($(PWD),)
@@ -37,22 +46,13 @@ ifneq ($(findstring cygdrive,$(PATH)),)
 inCygWin=1
 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
-BATCHEXT=.sh
+SRCBATCHEXT=.sh
 else
 ifdef inOS2
-BATCHEXT=.cmd
+SRCBATCHEXT=.cmd
 else
-BATCHEXT=.bat
+SRCBATCHEXT=.bat
 endif
 endif
 ifdef inUnix
@@ -155,6 +155,12 @@ ifeq ($(findstring $(OS_TARGET),$(MAKEFILETARGETS)),)
 $(error The Makefile doesn't support target $(OS_TARGET), please run fpcmake first)
 endif
 endif
+ifneq ($(findstring $(OS_TARGET),$(BSDs)),)
+BSDhier=1
+endif
+ifeq ($(OS_TARGET),linux)
+linuxHier=1
+endif
 export OS_TARGET OS_SOURCE CPU_TARGET CPU_SOURCE FULL_TARGET FULL_SOURCE CROSSCOMPILE
 ifdef FPCDIR
 override FPCDIR:=$(subst \,/,$(FPCDIR))
@@ -184,11 +190,14 @@ override FPCDIR:=$(FPCDIR)/..
 ifeq ($(wildcard $(addprefix $(FPCDIR)/,rtl units)),)
 override FPCDIR:=$(FPCDIR)/..
 ifeq ($(wildcard $(addprefix $(FPCDIR)/,rtl units)),)
+override FPCDIR:=$(BASEDIR)
+ifeq ($(wildcard $(addprefix $(FPCDIR)/,rtl units)),)
 override FPCDIR=c:/pp
 endif
 endif
 endif
 endif
+endif
 ifndef CROSSDIR
 CROSSDIR:=$(FPCDIR)/cross/$(FULL_TARGET)
 endif
@@ -216,42 +225,12 @@ 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
-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
 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
 ifndef INSTALL_PREFIX
@@ -260,7 +239,7 @@ INSTALL_PREFIX=$(PREFIX)
 endif
 endif
 ifndef INSTALL_PREFIX
-ifdef UNIXINSTALLDIR
+ifdef UNIXHier
 INSTALL_PREFIX=/usr/local
 else
 ifdef INSTALL_FPCPACKAGE
@@ -279,7 +258,7 @@ DIST_DESTDIR:=$(BASEDIR)
 endif
 export DIST_DESTDIR
 ifndef INSTALL_BASEDIR
-ifdef UNIXINSTALLDIR
+ifdef UNIXHier
 ifdef INSTALL_FPCPACKAGE
 INSTALL_BASEDIR:=$(INSTALL_PREFIX)/lib/fpc/$(FPC_VERSION)
 else
@@ -290,7 +269,7 @@ INSTALL_BASEDIR:=$(INSTALL_PREFIX)
 endif
 endif
 ifndef INSTALL_BINDIR
-ifdef UNIXINSTALLDIR
+ifdef UNIXHier
 ifdef CROSSCOMPILE
 INSTALL_BINDIR:=$(INSTALL_BASEDIR)/cross/$(FULL_TARGET)/bin
 else
@@ -320,19 +299,23 @@ endif
 endif
 endif
 ifndef INSTALL_LIBDIR
-ifdef UNIXINSTALLDIR
+ifdef UNIXHier
 INSTALL_LIBDIR:=$(INSTALL_PREFIX)/lib
 else
 INSTALL_LIBDIR:=$(INSTALL_UNITDIR)
 endif
 endif
 ifndef INSTALL_SOURCEDIR
-ifdef UNIXINSTALLDIR
+ifdef UNIXHier
 ifdef BSDhier
 SRCPREFIXDIR=share/src
 else
+ifdef linuxHier
+SRCPREFIXDIR=share/src
+else
 SRCPREFIXDIR=src
 endif
+endif
 ifdef INSTALL_FPCPACKAGE
 ifdef INSTALL_FPCSUBDIR
 INSTALL_SOURCEDIR:=$(INSTALL_PREFIX)/$(SRCPREFIXDIR)/fpc-$(FPC_VERSION)/$(INSTALL_FPCSUBDIR)/$(PACKAGE_NAME)
@@ -355,12 +338,16 @@ endif
 endif
 endif
 ifndef INSTALL_DOCDIR
-ifdef UNIXINSTALLDIR
+ifdef UNIXHier
 ifdef BSDhier
 DOCPREFIXDIR=share/doc
 else
+ifdef linuxHier
+DOCPREFIXDIR=share/doc
+else
 DOCPREFIXDIR=doc
 endif
+endif
 ifdef INSTALL_FPCPACKAGE
 INSTALL_DOCDIR:=$(INSTALL_PREFIX)/$(DOCPREFIXDIR)/fpc-$(FPC_VERSION)/$(PACKAGE_NAME)
 else
@@ -375,20 +362,28 @@ endif
 endif
 endif
 ifndef INSTALL_EXAMPLEDIR
-ifdef UNIXINSTALLDIR
+ifdef UNIXHier
 ifdef INSTALL_FPCPACKAGE
 ifdef BSDhier
 INSTALL_EXAMPLEDIR:=$(INSTALL_PREFIX)/share/examples/fpc-$(FPC_VERSION)/$(PACKAGE_NAME)
 else
+ifdef linuxHier
+INSTALL_EXAMPLEDIR:=$(INSTALL_DOCDIR)/examples/fpc-$(FPC_VERSION)/$(PACKAGE_NAME)
+else
 INSTALL_EXAMPLEDIR:=$(INSTALL_PREFIX)/doc/fpc-$(FPC_VERSION)/examples/$(PACKAGE_NAME)
 endif
+endif
 else
 ifdef BSDhier
 INSTALL_EXAMPLEDIR:=$(INSTALL_PREFIX)/share/examples/$(PACKAGE_NAME)-$(PACKAGE_VERSION)
 else
+ifdef linuxHier
+INSTALL_EXAMPLEDIR:=$(INSTALL_DOCDIR)/examples/$(PACKAGE_NAME)-$(PACKAGE_VERSION)
+else
 INSTALL_EXAMPLEDIR:=$(INSTALL_PREFIX)/doc/$(PACKAGE_NAME)-$(PACKAGE_VERSION)
 endif
 endif
+endif
 else
 ifdef INSTALL_FPCPACKAGE
 INSTALL_EXAMPLEDIR:=$(INSTALL_BASEDIR)/examples/$(PACKAGE_NAME)
@@ -410,6 +405,7 @@ endif
 else
 CROSSBINDIR=
 endif
+BATCHEXT=.bat
 LOADEREXT=.as
 EXEEXT=.exe
 PPLEXT=.ppl
@@ -442,24 +438,28 @@ ASMEXT=.asm
 SHAREDLIBEXT=.dll
 endif
 ifeq ($(OS_TARGET),linux)
+BATCHEXT=.sh
 EXEEXT=
 HASSHAREDLIB=1
 FPCMADE=fpcmade.lnx
 ZIPSUFFIX=linux
 endif
 ifeq ($(OS_TARGET),freebsd)
+BATCHEXT=.sh
 EXEEXT=
 HASSHAREDLIB=1
 FPCMADE=fpcmade.freebsd
 ZIPSUFFIX=freebsd
 endif
 ifeq ($(OS_TARGET),netbsd)
+BATCHEXT=.sh
 EXEEXT=
 HASSHAREDLIB=1
 FPCMADE=fpcmade.netbsd
 ZIPSUFFIX=netbsd
 endif
 ifeq ($(OS_TARGET),openbsd)
+BATCHEXT=.sh
 EXEEXT=
 HASSHAREDLIB=1
 FPCMADE=fpcmade.openbsd
@@ -471,6 +471,7 @@ FPCMADE=fpcmade.w32
 ZIPSUFFIX=w32
 endif
 ifeq ($(OS_TARGET),os2)
+BATCHEXT=.cmd
 AOUTEXT=.out
 STATICLIBPREFIX=
 SHAREDLIBEXT=.dll
@@ -479,6 +480,7 @@ ZIPSUFFIX=os2
 ECHO=echo
 endif
 ifeq ($(OS_TARGET),emx)
+BATCHEXT=.cmd
 AOUTEXT=.out
 STATICLIBPREFIX=
 SHAREDLIBEXT=.dll
@@ -496,16 +498,19 @@ EXEEXT=.ttp
 FPCMADE=fpcmade.ata
 endif
 ifeq ($(OS_TARGET),beos)
+BATCHEXT=.sh
 EXEEXT=
 FPCMADE=fpcmade.be
 ZIPSUFFIX=be
 endif
 ifeq ($(OS_TARGET),sunos)
+BATCHEXT=.sh
 EXEEXT=
 FPCMADE=fpcmade.sun
 ZIPSUFFIX=sun
 endif
 ifeq ($(OS_TARGET),qnx)
+BATCHEXT=.sh
 EXEEXT=
 FPCMADE=fpcmade.qnx
 ZIPSUFFIX=qnx
@@ -517,10 +522,14 @@ FPCMADE=fpcmade.nw
 ZIPSUFFIX=nw
 endif
 ifeq ($(OS_TARGET),macos)
+BATCHEXT=
 EXEEXT=
-FPCMADE=fpcmade.mcc
+FPCMADE=fpcmade.macos
+ZIPSUFFIX=macos
+DEBUGSYMEXT=.xcoff
 endif
 ifeq ($(OS_TARGET),darwin)
+BATCHEXT=.sh
 EXEEXT=
 HASSHAREDLIB=1
 FPCMADE=fpcmade.darwin
@@ -549,24 +558,28 @@ FPCMADE=fpcmade.dos
 ZIPSUFFIX=watcom
 endif
 ifeq ($(OS_TARGET),linux)
+BATCHEXT=.sh
 EXEEXT=
 HASSHAREDLIB=1
 FPCMADE=fpcmade.lnx
 ZIPSUFFIX=linux
 endif
 ifeq ($(OS_TARGET),freebsd)
+BATCHEXT=.sh
 EXEEXT=
 HASSHAREDLIB=1
 FPCMADE=fpcmade.freebsd
 ZIPSUFFIX=freebsd
 endif
 ifeq ($(OS_TARGET),netbsd)
+BATCHEXT=.sh
 EXEEXT=
 HASSHAREDLIB=1
 FPCMADE=fpcmade.netbsd
 ZIPSUFFIX=netbsd
 endif
 ifeq ($(OS_TARGET),openbsd)
+BATCHEXT=.sh
 EXEEXT=
 HASSHAREDLIB=1
 FPCMADE=fpcmade.openbsd
@@ -583,6 +596,7 @@ FPCMADE=fpcmade.w32
 ZIPSUFFIX=w32
 endif
 ifeq ($(OS_TARGET),os2)
+BATCHEXT=.cmd
 PPUEXT=.ppo
 ASMEXT=.so2
 OEXT=.oo2
@@ -615,6 +629,7 @@ EXEEXT=.ttp
 FPCMADE=fpcmade.ata
 endif
 ifeq ($(OS_TARGET),beos)
+BATCHEXT=.sh
 PPUEXT=.ppu
 ASMEXT=.s
 OEXT=.o
@@ -625,6 +640,7 @@ FPCMADE=fpcmade.be
 ZIPSUFFIX=be
 endif
 ifeq ($(OS_TARGET),sunos)
+BATCHEXT=.sh
 PPUEXT=.ppu
 ASMEXT=.s
 OEXT=.o
@@ -635,6 +651,7 @@ FPCMADE=fpcmade.sun
 ZIPSUFFIX=sun
 endif
 ifeq ($(OS_TARGET),qnx)
+BATCHEXT=.sh
 PPUEXT=.ppu
 ASMEXT=.s
 OEXT=.o
@@ -657,13 +674,15 @@ ZIPSUFFIX=nw
 EXEEXT=.nlm
 endif
 ifeq ($(OS_TARGET),macos)
+BATCHEXT=
 PPUEXT=.ppu
 ASMEXT=.s
 OEXT=.o
 SMARTEXT=.sl
 STATICLIBEXT=.a
 EXEEXT=
-FPCMADE=fpcmade.mcc
+DEBUGSYMEXT=.xcoff
+FPCMADE=fpcmade.macos
 endif
 endif
 ifndef ECHO
@@ -671,7 +690,7 @@ ECHO:=$(strip $(wildcard $(addsuffix /gecho$(SRCEXEEXT),$(SEARCHPATH))))
 ifeq ($(ECHO),)
 ECHO:=$(strip $(wildcard $(addsuffix /echo$(SRCEXEEXT),$(SEARCHPATH))))
 ifeq ($(ECHO),)
-ECHO=
+ECHO= __missing_command__
 else
 ECHO:=$(firstword $(ECHO))
 endif
@@ -685,7 +704,7 @@ DATE:=$(strip $(wildcard $(addsuffix /gdate$(SRCEXEEXT),$(SEARCHPATH))))
 ifeq ($(DATE),)
 DATE:=$(strip $(wildcard $(addsuffix /date$(SRCEXEEXT),$(SEARCHPATH))))
 ifeq ($(DATE),)
-DATE=
+DATE= __missing_command__
 else
 DATE:=$(firstword $(DATE))
 endif
@@ -699,7 +718,7 @@ GINSTALL:=$(strip $(wildcard $(addsuffix /ginstall$(SRCEXEEXT),$(SEARCHPATH))))
 ifeq ($(GINSTALL),)
 GINSTALL:=$(strip $(wildcard $(addsuffix /install$(SRCEXEEXT),$(SEARCHPATH))))
 ifeq ($(GINSTALL),)
-GINSTALL=
+GINSTALL= __missing_command__
 else
 GINSTALL:=$(firstword $(GINSTALL))
 endif
@@ -711,7 +730,7 @@ export GINSTALL
 ifndef CPPROG
 CPPROG:=$(strip $(wildcard $(addsuffix /cp$(SRCEXEEXT),$(SEARCHPATH))))
 ifeq ($(CPPROG),)
-CPPROG=
+CPPROG= __missing_command__
 else
 CPPROG:=$(firstword $(CPPROG))
 endif
@@ -720,7 +739,7 @@ export CPPROG
 ifndef RMPROG
 RMPROG:=$(strip $(wildcard $(addsuffix /rm$(SRCEXEEXT),$(SEARCHPATH))))
 ifeq ($(RMPROG),)
-RMPROG=
+RMPROG= __missing_command__
 else
 RMPROG:=$(firstword $(RMPROG))
 endif
@@ -729,7 +748,7 @@ export RMPROG
 ifndef MVPROG
 MVPROG:=$(strip $(wildcard $(addsuffix /mv$(SRCEXEEXT),$(SEARCHPATH))))
 ifeq ($(MVPROG),)
-MVPROG=
+MVPROG= __missing_command__
 else
 MVPROG:=$(firstword $(MVPROG))
 endif
@@ -778,7 +797,7 @@ export ECHOREDIR COPY COPYTREE MOVE DEL DELTREE INSTALL INSTALLEXE MKDIR
 ifndef PPUMOVE
 PPUMOVE:=$(strip $(wildcard $(addsuffix /ppumove$(SRCEXEEXT),$(SEARCHPATH))))
 ifeq ($(PPUMOVE),)
-PPUMOVE=
+PPUMOVE= __missing_command__
 else
 PPUMOVE:=$(firstword $(PPUMOVE))
 endif
@@ -787,7 +806,7 @@ export PPUMOVE
 ifndef FPCMAKE
 FPCMAKE:=$(strip $(wildcard $(addsuffix /fpcmake$(SRCEXEEXT),$(SEARCHPATH))))
 ifeq ($(FPCMAKE),)
-FPCMAKE=
+FPCMAKE= __missing_command__
 else
 FPCMAKE:=$(firstword $(FPCMAKE))
 endif
@@ -796,7 +815,7 @@ export FPCMAKE
 ifndef ZIPPROG
 ZIPPROG:=$(strip $(wildcard $(addsuffix /zip$(SRCEXEEXT),$(SEARCHPATH))))
 ifeq ($(ZIPPROG),)
-ZIPPROG=
+ZIPPROG= __missing_command__
 else
 ZIPPROG:=$(firstword $(ZIPPROG))
 endif
@@ -805,7 +824,7 @@ export ZIPPROG
 ifndef TARPROG
 TARPROG:=$(strip $(wildcard $(addsuffix /tar$(SRCEXEEXT),$(SEARCHPATH))))
 ifeq ($(TARPROG),)
-TARPROG=
+TARPROG= __missing_command__
 else
 TARPROG:=$(firstword $(TARPROG))
 endif
@@ -817,9 +836,11 @@ ARNAME=$(BINUTILSPREFIX)ar
 RCNAME=$(BINUTILSPREFIX)rc
 ifneq ($(findstring 1.0.,$(FPC_VERSION)),)
 ifeq ($(OS_TARGET),win32)
-ASNAME=as
-LDNAME=ld
-ARNAME=ar
+ifeq ($(CROSSBINDIR),)
+ASNAME=asw
+LDNAME=ldw
+ARNAME=arw
+endif
 endif
 endif
 ifndef ASPROG
@@ -854,7 +875,7 @@ AS=$(ASPROG)
 LD=$(LDPROG)
 RC=$(RCPROG)
 AR=$(ARPROG)
-PPAS=ppas$(BATCHEXT)
+PPAS=ppas$(SRCBATCHEXT)
 ifdef inUnix
 LDCONFIG=ldconfig
 else
@@ -919,6 +940,11 @@ ifeq ($(CPU_TARGET),x86_64)
 REQUIRE_PACKAGES_RTL=1
 endif
 endif
+ifeq ($(OS_TARGET),linux)
+ifeq ($(CPU_TARGET),arm)
+REQUIRE_PACKAGES_RTL=1
+endif
+endif
 ifeq ($(OS_TARGET),go32v2)
 ifeq ($(CPU_TARGET),i386)
 REQUIRE_PACKAGES_RTL=1
@@ -1108,8 +1134,12 @@ ifdef RELEASE
 ifeq ($(CPU_TARGET),i386)
 FPCCPUOPT:=-OG2p3
 else
+ifeq ($(CPU_TARGET),powerpc)
+FPCCPUOPT:=-O1
+else
 FPCCPUOPT:=
 endif
+endif
 override FPCOPT+=-Xs $(FPCCPUOPT) -n
 override FPCOPTDEF+=RELEASE
 endif
@@ -1325,6 +1355,9 @@ override CLEANPPUFILES+=$(addsuffix $(PPUEXT),$(CLEAN_UNITS))
 endif
 ifdef 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 CLEANPPULINKFILES:=$(wildcard $(addprefix $(UNITTARGETDIRPREFIX),$(CLEANPPULINKFILES)))
 endif
@@ -1348,6 +1381,7 @@ ifdef LIB_NAME
 	-$(DEL) $(LIB_NAME) $(LIB_FULLNAME)
 endif
 	-$(DEL) $(FPCMADE) Package.fpc $(PPAS) script.res link.res $(FPCEXTFILE) $(REDIRFILE)
+	-$(DEL) *$(ASMEXT) *_ppas$(BATCHEXT)
 fpc_distclean: clean
 ifdef COMPILER_UNITTARGETDIR
 TARGETDIRCLEAN=fpc_clean
@@ -1359,9 +1393,13 @@ endif
 	-$(DEL) *$(OEXT) *$(PPUEXT) *$(RSTEXT) *$(ASMEXT) *$(STATICLIBEXT) *$(SHAREDLIBEXT) *$(PPLEXT)
 	-$(DELTREE) *$(SMARTEXT)
 	-$(DEL) $(FPCMADE) Package.fpc $(PPAS) script.res link.res $(FPCEXTFILE) $(REDIRFILE)
+	-$(DEL) *_ppas$(BATCHEXT)
 ifdef AOUTEXT
 	-$(DEL) *$(AOUTEXT)
 endif
+ifdef DEBUGSYMEXT
+	-$(DEL) *$(DEBUGSYMEXT)
+endif
 .PHONY: fpc_baseinfo
 override INFORULES+=fpc_baseinfo
 fpc_baseinfo:

+ 108 - 70
demo/linux/Makefile

@@ -1,15 +1,24 @@
 #
-# Don't edit, this file is generated by FPCMake Version 1.1 [2004/01/05]
+# Don't edit, this file is generated by FPCMake Version 1.1 [2004/04/21]
 #
 default: all
 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:=$(subst \,/,$(PATH))
+ifneq ($(findstring darwin,$(OSTYPE)),)
+inUnix=1 #darwin
+SEARCHPATH:=$(filter-out .,$(subst :, ,$(PATH)))
+else
 ifeq ($(findstring ;,$(PATH)),)
 inUnix=1
 SEARCHPATH:=$(filter-out .,$(subst :, ,$(PATH)))
 else
 SEARCHPATH:=$(subst ;, ,$(PATH))
 endif
+endif
 SEARCHPATH+=$(patsubst %/,%,$(subst \,/,$(dir $(MAKE))))
 PWD:=$(strip $(wildcard $(addsuffix /pwd.exe,$(SEARCHPATH))))
 ifeq ($(PWD),)
@@ -37,22 +46,13 @@ ifneq ($(findstring cygdrive,$(PATH)),)
 inCygWin=1
 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
-BATCHEXT=.sh
+SRCBATCHEXT=.sh
 else
 ifdef inOS2
-BATCHEXT=.cmd
+SRCBATCHEXT=.cmd
 else
-BATCHEXT=.bat
+SRCBATCHEXT=.bat
 endif
 endif
 ifdef inUnix
@@ -155,6 +155,12 @@ ifeq ($(findstring $(OS_TARGET),$(MAKEFILETARGETS)),)
 $(error The Makefile doesn't support target $(OS_TARGET), please run fpcmake first)
 endif
 endif
+ifneq ($(findstring $(OS_TARGET),$(BSDs)),)
+BSDhier=1
+endif
+ifeq ($(OS_TARGET),linux)
+linuxHier=1
+endif
 export OS_TARGET OS_SOURCE CPU_TARGET CPU_SOURCE FULL_TARGET FULL_SOURCE CROSSCOMPILE
 ifdef FPCDIR
 override FPCDIR:=$(subst \,/,$(FPCDIR))
@@ -184,11 +190,14 @@ override FPCDIR:=$(FPCDIR)/..
 ifeq ($(wildcard $(addprefix $(FPCDIR)/,rtl units)),)
 override FPCDIR:=$(FPCDIR)/..
 ifeq ($(wildcard $(addprefix $(FPCDIR)/,rtl units)),)
+override FPCDIR:=$(BASEDIR)
+ifeq ($(wildcard $(addprefix $(FPCDIR)/,rtl units)),)
 override FPCDIR=c:/pp
 endif
 endif
 endif
 endif
+endif
 ifndef CROSSDIR
 CROSSDIR:=$(FPCDIR)/cross/$(FULL_TARGET)
 endif
@@ -220,42 +229,12 @@ 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
-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
 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
 ifndef INSTALL_PREFIX
@@ -264,7 +243,7 @@ INSTALL_PREFIX=$(PREFIX)
 endif
 endif
 ifndef INSTALL_PREFIX
-ifdef UNIXINSTALLDIR
+ifdef UNIXHier
 INSTALL_PREFIX=/usr/local
 else
 ifdef INSTALL_FPCPACKAGE
@@ -283,7 +262,7 @@ DIST_DESTDIR:=$(BASEDIR)
 endif
 export DIST_DESTDIR
 ifndef INSTALL_BASEDIR
-ifdef UNIXINSTALLDIR
+ifdef UNIXHier
 ifdef INSTALL_FPCPACKAGE
 INSTALL_BASEDIR:=$(INSTALL_PREFIX)/lib/fpc/$(FPC_VERSION)
 else
@@ -294,7 +273,7 @@ INSTALL_BASEDIR:=$(INSTALL_PREFIX)
 endif
 endif
 ifndef INSTALL_BINDIR
-ifdef UNIXINSTALLDIR
+ifdef UNIXHier
 ifdef CROSSCOMPILE
 INSTALL_BINDIR:=$(INSTALL_BASEDIR)/cross/$(FULL_TARGET)/bin
 else
@@ -324,19 +303,23 @@ endif
 endif
 endif
 ifndef INSTALL_LIBDIR
-ifdef UNIXINSTALLDIR
+ifdef UNIXHier
 INSTALL_LIBDIR:=$(INSTALL_PREFIX)/lib
 else
 INSTALL_LIBDIR:=$(INSTALL_UNITDIR)
 endif
 endif
 ifndef INSTALL_SOURCEDIR
-ifdef UNIXINSTALLDIR
+ifdef UNIXHier
 ifdef BSDhier
 SRCPREFIXDIR=share/src
 else
+ifdef linuxHier
+SRCPREFIXDIR=share/src
+else
 SRCPREFIXDIR=src
 endif
+endif
 ifdef INSTALL_FPCPACKAGE
 ifdef INSTALL_FPCSUBDIR
 INSTALL_SOURCEDIR:=$(INSTALL_PREFIX)/$(SRCPREFIXDIR)/fpc-$(FPC_VERSION)/$(INSTALL_FPCSUBDIR)/$(PACKAGE_NAME)
@@ -359,12 +342,16 @@ endif
 endif
 endif
 ifndef INSTALL_DOCDIR
-ifdef UNIXINSTALLDIR
+ifdef UNIXHier
 ifdef BSDhier
 DOCPREFIXDIR=share/doc
 else
+ifdef linuxHier
+DOCPREFIXDIR=share/doc
+else
 DOCPREFIXDIR=doc
 endif
+endif
 ifdef INSTALL_FPCPACKAGE
 INSTALL_DOCDIR:=$(INSTALL_PREFIX)/$(DOCPREFIXDIR)/fpc-$(FPC_VERSION)/$(PACKAGE_NAME)
 else
@@ -379,20 +366,28 @@ endif
 endif
 endif
 ifndef INSTALL_EXAMPLEDIR
-ifdef UNIXINSTALLDIR
+ifdef UNIXHier
 ifdef INSTALL_FPCPACKAGE
 ifdef BSDhier
 INSTALL_EXAMPLEDIR:=$(INSTALL_PREFIX)/share/examples/fpc-$(FPC_VERSION)/$(PACKAGE_NAME)
 else
+ifdef linuxHier
+INSTALL_EXAMPLEDIR:=$(INSTALL_DOCDIR)/examples/fpc-$(FPC_VERSION)/$(PACKAGE_NAME)
+else
 INSTALL_EXAMPLEDIR:=$(INSTALL_PREFIX)/doc/fpc-$(FPC_VERSION)/examples/$(PACKAGE_NAME)
 endif
+endif
 else
 ifdef BSDhier
 INSTALL_EXAMPLEDIR:=$(INSTALL_PREFIX)/share/examples/$(PACKAGE_NAME)-$(PACKAGE_VERSION)
 else
+ifdef linuxHier
+INSTALL_EXAMPLEDIR:=$(INSTALL_DOCDIR)/examples/$(PACKAGE_NAME)-$(PACKAGE_VERSION)
+else
 INSTALL_EXAMPLEDIR:=$(INSTALL_PREFIX)/doc/$(PACKAGE_NAME)-$(PACKAGE_VERSION)
 endif
 endif
+endif
 else
 ifdef INSTALL_FPCPACKAGE
 INSTALL_EXAMPLEDIR:=$(INSTALL_BASEDIR)/examples/$(PACKAGE_NAME)
@@ -414,6 +409,7 @@ endif
 else
 CROSSBINDIR=
 endif
+BATCHEXT=.bat
 LOADEREXT=.as
 EXEEXT=.exe
 PPLEXT=.ppl
@@ -446,24 +442,28 @@ ASMEXT=.asm
 SHAREDLIBEXT=.dll
 endif
 ifeq ($(OS_TARGET),linux)
+BATCHEXT=.sh
 EXEEXT=
 HASSHAREDLIB=1
 FPCMADE=fpcmade.lnx
 ZIPSUFFIX=linux
 endif
 ifeq ($(OS_TARGET),freebsd)
+BATCHEXT=.sh
 EXEEXT=
 HASSHAREDLIB=1
 FPCMADE=fpcmade.freebsd
 ZIPSUFFIX=freebsd
 endif
 ifeq ($(OS_TARGET),netbsd)
+BATCHEXT=.sh
 EXEEXT=
 HASSHAREDLIB=1
 FPCMADE=fpcmade.netbsd
 ZIPSUFFIX=netbsd
 endif
 ifeq ($(OS_TARGET),openbsd)
+BATCHEXT=.sh
 EXEEXT=
 HASSHAREDLIB=1
 FPCMADE=fpcmade.openbsd
@@ -475,6 +475,7 @@ FPCMADE=fpcmade.w32
 ZIPSUFFIX=w32
 endif
 ifeq ($(OS_TARGET),os2)
+BATCHEXT=.cmd
 AOUTEXT=.out
 STATICLIBPREFIX=
 SHAREDLIBEXT=.dll
@@ -483,6 +484,7 @@ ZIPSUFFIX=os2
 ECHO=echo
 endif
 ifeq ($(OS_TARGET),emx)
+BATCHEXT=.cmd
 AOUTEXT=.out
 STATICLIBPREFIX=
 SHAREDLIBEXT=.dll
@@ -500,16 +502,19 @@ EXEEXT=.ttp
 FPCMADE=fpcmade.ata
 endif
 ifeq ($(OS_TARGET),beos)
+BATCHEXT=.sh
 EXEEXT=
 FPCMADE=fpcmade.be
 ZIPSUFFIX=be
 endif
 ifeq ($(OS_TARGET),sunos)
+BATCHEXT=.sh
 EXEEXT=
 FPCMADE=fpcmade.sun
 ZIPSUFFIX=sun
 endif
 ifeq ($(OS_TARGET),qnx)
+BATCHEXT=.sh
 EXEEXT=
 FPCMADE=fpcmade.qnx
 ZIPSUFFIX=qnx
@@ -521,10 +526,14 @@ FPCMADE=fpcmade.nw
 ZIPSUFFIX=nw
 endif
 ifeq ($(OS_TARGET),macos)
+BATCHEXT=
 EXEEXT=
-FPCMADE=fpcmade.mcc
+FPCMADE=fpcmade.macos
+ZIPSUFFIX=macos
+DEBUGSYMEXT=.xcoff
 endif
 ifeq ($(OS_TARGET),darwin)
+BATCHEXT=.sh
 EXEEXT=
 HASSHAREDLIB=1
 FPCMADE=fpcmade.darwin
@@ -553,24 +562,28 @@ FPCMADE=fpcmade.dos
 ZIPSUFFIX=watcom
 endif
 ifeq ($(OS_TARGET),linux)
+BATCHEXT=.sh
 EXEEXT=
 HASSHAREDLIB=1
 FPCMADE=fpcmade.lnx
 ZIPSUFFIX=linux
 endif
 ifeq ($(OS_TARGET),freebsd)
+BATCHEXT=.sh
 EXEEXT=
 HASSHAREDLIB=1
 FPCMADE=fpcmade.freebsd
 ZIPSUFFIX=freebsd
 endif
 ifeq ($(OS_TARGET),netbsd)
+BATCHEXT=.sh
 EXEEXT=
 HASSHAREDLIB=1
 FPCMADE=fpcmade.netbsd
 ZIPSUFFIX=netbsd
 endif
 ifeq ($(OS_TARGET),openbsd)
+BATCHEXT=.sh
 EXEEXT=
 HASSHAREDLIB=1
 FPCMADE=fpcmade.openbsd
@@ -587,6 +600,7 @@ FPCMADE=fpcmade.w32
 ZIPSUFFIX=w32
 endif
 ifeq ($(OS_TARGET),os2)
+BATCHEXT=.cmd
 PPUEXT=.ppo
 ASMEXT=.so2
 OEXT=.oo2
@@ -619,6 +633,7 @@ EXEEXT=.ttp
 FPCMADE=fpcmade.ata
 endif
 ifeq ($(OS_TARGET),beos)
+BATCHEXT=.sh
 PPUEXT=.ppu
 ASMEXT=.s
 OEXT=.o
@@ -629,6 +644,7 @@ FPCMADE=fpcmade.be
 ZIPSUFFIX=be
 endif
 ifeq ($(OS_TARGET),sunos)
+BATCHEXT=.sh
 PPUEXT=.ppu
 ASMEXT=.s
 OEXT=.o
@@ -639,6 +655,7 @@ FPCMADE=fpcmade.sun
 ZIPSUFFIX=sun
 endif
 ifeq ($(OS_TARGET),qnx)
+BATCHEXT=.sh
 PPUEXT=.ppu
 ASMEXT=.s
 OEXT=.o
@@ -661,13 +678,15 @@ ZIPSUFFIX=nw
 EXEEXT=.nlm
 endif
 ifeq ($(OS_TARGET),macos)
+BATCHEXT=
 PPUEXT=.ppu
 ASMEXT=.s
 OEXT=.o
 SMARTEXT=.sl
 STATICLIBEXT=.a
 EXEEXT=
-FPCMADE=fpcmade.mcc
+DEBUGSYMEXT=.xcoff
+FPCMADE=fpcmade.macos
 endif
 endif
 ifndef ECHO
@@ -675,7 +694,7 @@ ECHO:=$(strip $(wildcard $(addsuffix /gecho$(SRCEXEEXT),$(SEARCHPATH))))
 ifeq ($(ECHO),)
 ECHO:=$(strip $(wildcard $(addsuffix /echo$(SRCEXEEXT),$(SEARCHPATH))))
 ifeq ($(ECHO),)
-ECHO=
+ECHO= __missing_command__
 else
 ECHO:=$(firstword $(ECHO))
 endif
@@ -689,7 +708,7 @@ DATE:=$(strip $(wildcard $(addsuffix /gdate$(SRCEXEEXT),$(SEARCHPATH))))
 ifeq ($(DATE),)
 DATE:=$(strip $(wildcard $(addsuffix /date$(SRCEXEEXT),$(SEARCHPATH))))
 ifeq ($(DATE),)
-DATE=
+DATE= __missing_command__
 else
 DATE:=$(firstword $(DATE))
 endif
@@ -703,7 +722,7 @@ GINSTALL:=$(strip $(wildcard $(addsuffix /ginstall$(SRCEXEEXT),$(SEARCHPATH))))
 ifeq ($(GINSTALL),)
 GINSTALL:=$(strip $(wildcard $(addsuffix /install$(SRCEXEEXT),$(SEARCHPATH))))
 ifeq ($(GINSTALL),)
-GINSTALL=
+GINSTALL= __missing_command__
 else
 GINSTALL:=$(firstword $(GINSTALL))
 endif
@@ -715,7 +734,7 @@ export GINSTALL
 ifndef CPPROG
 CPPROG:=$(strip $(wildcard $(addsuffix /cp$(SRCEXEEXT),$(SEARCHPATH))))
 ifeq ($(CPPROG),)
-CPPROG=
+CPPROG= __missing_command__
 else
 CPPROG:=$(firstword $(CPPROG))
 endif
@@ -724,7 +743,7 @@ export CPPROG
 ifndef RMPROG
 RMPROG:=$(strip $(wildcard $(addsuffix /rm$(SRCEXEEXT),$(SEARCHPATH))))
 ifeq ($(RMPROG),)
-RMPROG=
+RMPROG= __missing_command__
 else
 RMPROG:=$(firstword $(RMPROG))
 endif
@@ -733,7 +752,7 @@ export RMPROG
 ifndef MVPROG
 MVPROG:=$(strip $(wildcard $(addsuffix /mv$(SRCEXEEXT),$(SEARCHPATH))))
 ifeq ($(MVPROG),)
-MVPROG=
+MVPROG= __missing_command__
 else
 MVPROG:=$(firstword $(MVPROG))
 endif
@@ -782,7 +801,7 @@ export ECHOREDIR COPY COPYTREE MOVE DEL DELTREE INSTALL INSTALLEXE MKDIR
 ifndef PPUMOVE
 PPUMOVE:=$(strip $(wildcard $(addsuffix /ppumove$(SRCEXEEXT),$(SEARCHPATH))))
 ifeq ($(PPUMOVE),)
-PPUMOVE=
+PPUMOVE= __missing_command__
 else
 PPUMOVE:=$(firstword $(PPUMOVE))
 endif
@@ -791,7 +810,7 @@ export PPUMOVE
 ifndef FPCMAKE
 FPCMAKE:=$(strip $(wildcard $(addsuffix /fpcmake$(SRCEXEEXT),$(SEARCHPATH))))
 ifeq ($(FPCMAKE),)
-FPCMAKE=
+FPCMAKE= __missing_command__
 else
 FPCMAKE:=$(firstword $(FPCMAKE))
 endif
@@ -800,7 +819,7 @@ export FPCMAKE
 ifndef ZIPPROG
 ZIPPROG:=$(strip $(wildcard $(addsuffix /zip$(SRCEXEEXT),$(SEARCHPATH))))
 ifeq ($(ZIPPROG),)
-ZIPPROG=
+ZIPPROG= __missing_command__
 else
 ZIPPROG:=$(firstword $(ZIPPROG))
 endif
@@ -809,7 +828,7 @@ export ZIPPROG
 ifndef TARPROG
 TARPROG:=$(strip $(wildcard $(addsuffix /tar$(SRCEXEEXT),$(SEARCHPATH))))
 ifeq ($(TARPROG),)
-TARPROG=
+TARPROG= __missing_command__
 else
 TARPROG:=$(firstword $(TARPROG))
 endif
@@ -821,9 +840,11 @@ ARNAME=$(BINUTILSPREFIX)ar
 RCNAME=$(BINUTILSPREFIX)rc
 ifneq ($(findstring 1.0.,$(FPC_VERSION)),)
 ifeq ($(OS_TARGET),win32)
-ASNAME=as
-LDNAME=ld
-ARNAME=ar
+ifeq ($(CROSSBINDIR),)
+ASNAME=asw
+LDNAME=ldw
+ARNAME=arw
+endif
 endif
 endif
 ifndef ASPROG
@@ -858,7 +879,7 @@ AS=$(ASPROG)
 LD=$(LDPROG)
 RC=$(RCPROG)
 AR=$(ARPROG)
-PPAS=ppas$(BATCHEXT)
+PPAS=ppas$(SRCBATCHEXT)
 ifdef inUnix
 LDCONFIG=ldconfig
 else
@@ -923,6 +944,11 @@ ifeq ($(CPU_TARGET),x86_64)
 REQUIRE_PACKAGES_RTL=1
 endif
 endif
+ifeq ($(OS_TARGET),linux)
+ifeq ($(CPU_TARGET),arm)
+REQUIRE_PACKAGES_RTL=1
+endif
+endif
 ifeq ($(OS_TARGET),go32v2)
 ifeq ($(CPU_TARGET),i386)
 REQUIRE_PACKAGES_RTL=1
@@ -1112,8 +1138,12 @@ ifdef RELEASE
 ifeq ($(CPU_TARGET),i386)
 FPCCPUOPT:=-OG2p3
 else
+ifeq ($(CPU_TARGET),powerpc)
+FPCCPUOPT:=-O1
+else
 FPCCPUOPT:=
 endif
+endif
 override FPCOPT+=-Xs $(FPCCPUOPT) -n
 override FPCOPTDEF+=RELEASE
 endif
@@ -1320,6 +1350,9 @@ override CLEANPPUFILES+=$(addsuffix $(PPUEXT),$(CLEAN_UNITS))
 endif
 ifdef 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 CLEANPPULINKFILES:=$(wildcard $(addprefix $(UNITTARGETDIRPREFIX),$(CLEANPPULINKFILES)))
 endif
@@ -1343,6 +1376,7 @@ ifdef LIB_NAME
 	-$(DEL) $(LIB_NAME) $(LIB_FULLNAME)
 endif
 	-$(DEL) $(FPCMADE) Package.fpc $(PPAS) script.res link.res $(FPCEXTFILE) $(REDIRFILE)
+	-$(DEL) *$(ASMEXT) *_ppas$(BATCHEXT)
 fpc_distclean: clean
 ifdef COMPILER_UNITTARGETDIR
 TARGETDIRCLEAN=fpc_clean
@@ -1354,9 +1388,13 @@ endif
 	-$(DEL) *$(OEXT) *$(PPUEXT) *$(RSTEXT) *$(ASMEXT) *$(STATICLIBEXT) *$(SHAREDLIBEXT) *$(PPLEXT)
 	-$(DELTREE) *$(SMARTEXT)
 	-$(DEL) $(FPCMADE) Package.fpc $(PPAS) script.res link.res $(FPCEXTFILE) $(REDIRFILE)
+	-$(DEL) *_ppas$(BATCHEXT)
 ifdef AOUTEXT
 	-$(DEL) *$(AOUTEXT)
 endif
+ifdef DEBUGSYMEXT
+	-$(DEL) *$(DEBUGSYMEXT)
+endif
 .PHONY: fpc_baseinfo
 override INFORULES+=fpc_baseinfo
 fpc_baseinfo:

+ 108 - 70
demo/modex/Makefile

@@ -1,15 +1,24 @@
 #
-# Don't edit, this file is generated by FPCMake Version 1.1 [2004/01/05]
+# Don't edit, this file is generated by FPCMake Version 1.1 [2004/04/21]
 #
 default: all
 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:=$(subst \,/,$(PATH))
+ifneq ($(findstring darwin,$(OSTYPE)),)
+inUnix=1 #darwin
+SEARCHPATH:=$(filter-out .,$(subst :, ,$(PATH)))
+else
 ifeq ($(findstring ;,$(PATH)),)
 inUnix=1
 SEARCHPATH:=$(filter-out .,$(subst :, ,$(PATH)))
 else
 SEARCHPATH:=$(subst ;, ,$(PATH))
 endif
+endif
 SEARCHPATH+=$(patsubst %/,%,$(subst \,/,$(dir $(MAKE))))
 PWD:=$(strip $(wildcard $(addsuffix /pwd.exe,$(SEARCHPATH))))
 ifeq ($(PWD),)
@@ -37,22 +46,13 @@ ifneq ($(findstring cygdrive,$(PATH)),)
 inCygWin=1
 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
-BATCHEXT=.sh
+SRCBATCHEXT=.sh
 else
 ifdef inOS2
-BATCHEXT=.cmd
+SRCBATCHEXT=.cmd
 else
-BATCHEXT=.bat
+SRCBATCHEXT=.bat
 endif
 endif
 ifdef inUnix
@@ -155,6 +155,12 @@ ifeq ($(findstring $(OS_TARGET),$(MAKEFILETARGETS)),)
 $(error The Makefile doesn't support target $(OS_TARGET), please run fpcmake first)
 endif
 endif
+ifneq ($(findstring $(OS_TARGET),$(BSDs)),)
+BSDhier=1
+endif
+ifeq ($(OS_TARGET),linux)
+linuxHier=1
+endif
 export OS_TARGET OS_SOURCE CPU_TARGET CPU_SOURCE FULL_TARGET FULL_SOURCE CROSSCOMPILE
 ifdef FPCDIR
 override FPCDIR:=$(subst \,/,$(FPCDIR))
@@ -184,11 +190,14 @@ override FPCDIR:=$(FPCDIR)/..
 ifeq ($(wildcard $(addprefix $(FPCDIR)/,rtl units)),)
 override FPCDIR:=$(FPCDIR)/..
 ifeq ($(wildcard $(addprefix $(FPCDIR)/,rtl units)),)
+override FPCDIR:=$(BASEDIR)
+ifeq ($(wildcard $(addprefix $(FPCDIR)/,rtl units)),)
 override FPCDIR=c:/pp
 endif
 endif
 endif
 endif
+endif
 ifndef CROSSDIR
 CROSSDIR:=$(FPCDIR)/cross/$(FULL_TARGET)
 endif
@@ -214,42 +223,12 @@ 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
-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
 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
 ifndef INSTALL_PREFIX
@@ -258,7 +237,7 @@ INSTALL_PREFIX=$(PREFIX)
 endif
 endif
 ifndef INSTALL_PREFIX
-ifdef UNIXINSTALLDIR
+ifdef UNIXHier
 INSTALL_PREFIX=/usr/local
 else
 ifdef INSTALL_FPCPACKAGE
@@ -277,7 +256,7 @@ DIST_DESTDIR:=$(BASEDIR)
 endif
 export DIST_DESTDIR
 ifndef INSTALL_BASEDIR
-ifdef UNIXINSTALLDIR
+ifdef UNIXHier
 ifdef INSTALL_FPCPACKAGE
 INSTALL_BASEDIR:=$(INSTALL_PREFIX)/lib/fpc/$(FPC_VERSION)
 else
@@ -288,7 +267,7 @@ INSTALL_BASEDIR:=$(INSTALL_PREFIX)
 endif
 endif
 ifndef INSTALL_BINDIR
-ifdef UNIXINSTALLDIR
+ifdef UNIXHier
 ifdef CROSSCOMPILE
 INSTALL_BINDIR:=$(INSTALL_BASEDIR)/cross/$(FULL_TARGET)/bin
 else
@@ -318,19 +297,23 @@ endif
 endif
 endif
 ifndef INSTALL_LIBDIR
-ifdef UNIXINSTALLDIR
+ifdef UNIXHier
 INSTALL_LIBDIR:=$(INSTALL_PREFIX)/lib
 else
 INSTALL_LIBDIR:=$(INSTALL_UNITDIR)
 endif
 endif
 ifndef INSTALL_SOURCEDIR
-ifdef UNIXINSTALLDIR
+ifdef UNIXHier
 ifdef BSDhier
 SRCPREFIXDIR=share/src
 else
+ifdef linuxHier
+SRCPREFIXDIR=share/src
+else
 SRCPREFIXDIR=src
 endif
+endif
 ifdef INSTALL_FPCPACKAGE
 ifdef INSTALL_FPCSUBDIR
 INSTALL_SOURCEDIR:=$(INSTALL_PREFIX)/$(SRCPREFIXDIR)/fpc-$(FPC_VERSION)/$(INSTALL_FPCSUBDIR)/$(PACKAGE_NAME)
@@ -353,12 +336,16 @@ endif
 endif
 endif
 ifndef INSTALL_DOCDIR
-ifdef UNIXINSTALLDIR
+ifdef UNIXHier
 ifdef BSDhier
 DOCPREFIXDIR=share/doc
 else
+ifdef linuxHier
+DOCPREFIXDIR=share/doc
+else
 DOCPREFIXDIR=doc
 endif
+endif
 ifdef INSTALL_FPCPACKAGE
 INSTALL_DOCDIR:=$(INSTALL_PREFIX)/$(DOCPREFIXDIR)/fpc-$(FPC_VERSION)/$(PACKAGE_NAME)
 else
@@ -373,20 +360,28 @@ endif
 endif
 endif
 ifndef INSTALL_EXAMPLEDIR
-ifdef UNIXINSTALLDIR
+ifdef UNIXHier
 ifdef INSTALL_FPCPACKAGE
 ifdef BSDhier
 INSTALL_EXAMPLEDIR:=$(INSTALL_PREFIX)/share/examples/fpc-$(FPC_VERSION)/$(PACKAGE_NAME)
 else
+ifdef linuxHier
+INSTALL_EXAMPLEDIR:=$(INSTALL_DOCDIR)/examples/fpc-$(FPC_VERSION)/$(PACKAGE_NAME)
+else
 INSTALL_EXAMPLEDIR:=$(INSTALL_PREFIX)/doc/fpc-$(FPC_VERSION)/examples/$(PACKAGE_NAME)
 endif
+endif
 else
 ifdef BSDhier
 INSTALL_EXAMPLEDIR:=$(INSTALL_PREFIX)/share/examples/$(PACKAGE_NAME)-$(PACKAGE_VERSION)
 else
+ifdef linuxHier
+INSTALL_EXAMPLEDIR:=$(INSTALL_DOCDIR)/examples/$(PACKAGE_NAME)-$(PACKAGE_VERSION)
+else
 INSTALL_EXAMPLEDIR:=$(INSTALL_PREFIX)/doc/$(PACKAGE_NAME)-$(PACKAGE_VERSION)
 endif
 endif
+endif
 else
 ifdef INSTALL_FPCPACKAGE
 INSTALL_EXAMPLEDIR:=$(INSTALL_BASEDIR)/examples/$(PACKAGE_NAME)
@@ -408,6 +403,7 @@ endif
 else
 CROSSBINDIR=
 endif
+BATCHEXT=.bat
 LOADEREXT=.as
 EXEEXT=.exe
 PPLEXT=.ppl
@@ -440,24 +436,28 @@ ASMEXT=.asm
 SHAREDLIBEXT=.dll
 endif
 ifeq ($(OS_TARGET),linux)
+BATCHEXT=.sh
 EXEEXT=
 HASSHAREDLIB=1
 FPCMADE=fpcmade.lnx
 ZIPSUFFIX=linux
 endif
 ifeq ($(OS_TARGET),freebsd)
+BATCHEXT=.sh
 EXEEXT=
 HASSHAREDLIB=1
 FPCMADE=fpcmade.freebsd
 ZIPSUFFIX=freebsd
 endif
 ifeq ($(OS_TARGET),netbsd)
+BATCHEXT=.sh
 EXEEXT=
 HASSHAREDLIB=1
 FPCMADE=fpcmade.netbsd
 ZIPSUFFIX=netbsd
 endif
 ifeq ($(OS_TARGET),openbsd)
+BATCHEXT=.sh
 EXEEXT=
 HASSHAREDLIB=1
 FPCMADE=fpcmade.openbsd
@@ -469,6 +469,7 @@ FPCMADE=fpcmade.w32
 ZIPSUFFIX=w32
 endif
 ifeq ($(OS_TARGET),os2)
+BATCHEXT=.cmd
 AOUTEXT=.out
 STATICLIBPREFIX=
 SHAREDLIBEXT=.dll
@@ -477,6 +478,7 @@ ZIPSUFFIX=os2
 ECHO=echo
 endif
 ifeq ($(OS_TARGET),emx)
+BATCHEXT=.cmd
 AOUTEXT=.out
 STATICLIBPREFIX=
 SHAREDLIBEXT=.dll
@@ -494,16 +496,19 @@ EXEEXT=.ttp
 FPCMADE=fpcmade.ata
 endif
 ifeq ($(OS_TARGET),beos)
+BATCHEXT=.sh
 EXEEXT=
 FPCMADE=fpcmade.be
 ZIPSUFFIX=be
 endif
 ifeq ($(OS_TARGET),sunos)
+BATCHEXT=.sh
 EXEEXT=
 FPCMADE=fpcmade.sun
 ZIPSUFFIX=sun
 endif
 ifeq ($(OS_TARGET),qnx)
+BATCHEXT=.sh
 EXEEXT=
 FPCMADE=fpcmade.qnx
 ZIPSUFFIX=qnx
@@ -515,10 +520,14 @@ FPCMADE=fpcmade.nw
 ZIPSUFFIX=nw
 endif
 ifeq ($(OS_TARGET),macos)
+BATCHEXT=
 EXEEXT=
-FPCMADE=fpcmade.mcc
+FPCMADE=fpcmade.macos
+ZIPSUFFIX=macos
+DEBUGSYMEXT=.xcoff
 endif
 ifeq ($(OS_TARGET),darwin)
+BATCHEXT=.sh
 EXEEXT=
 HASSHAREDLIB=1
 FPCMADE=fpcmade.darwin
@@ -547,24 +556,28 @@ FPCMADE=fpcmade.dos
 ZIPSUFFIX=watcom
 endif
 ifeq ($(OS_TARGET),linux)
+BATCHEXT=.sh
 EXEEXT=
 HASSHAREDLIB=1
 FPCMADE=fpcmade.lnx
 ZIPSUFFIX=linux
 endif
 ifeq ($(OS_TARGET),freebsd)
+BATCHEXT=.sh
 EXEEXT=
 HASSHAREDLIB=1
 FPCMADE=fpcmade.freebsd
 ZIPSUFFIX=freebsd
 endif
 ifeq ($(OS_TARGET),netbsd)
+BATCHEXT=.sh
 EXEEXT=
 HASSHAREDLIB=1
 FPCMADE=fpcmade.netbsd
 ZIPSUFFIX=netbsd
 endif
 ifeq ($(OS_TARGET),openbsd)
+BATCHEXT=.sh
 EXEEXT=
 HASSHAREDLIB=1
 FPCMADE=fpcmade.openbsd
@@ -581,6 +594,7 @@ FPCMADE=fpcmade.w32
 ZIPSUFFIX=w32
 endif
 ifeq ($(OS_TARGET),os2)
+BATCHEXT=.cmd
 PPUEXT=.ppo
 ASMEXT=.so2
 OEXT=.oo2
@@ -613,6 +627,7 @@ EXEEXT=.ttp
 FPCMADE=fpcmade.ata
 endif
 ifeq ($(OS_TARGET),beos)
+BATCHEXT=.sh
 PPUEXT=.ppu
 ASMEXT=.s
 OEXT=.o
@@ -623,6 +638,7 @@ FPCMADE=fpcmade.be
 ZIPSUFFIX=be
 endif
 ifeq ($(OS_TARGET),sunos)
+BATCHEXT=.sh
 PPUEXT=.ppu
 ASMEXT=.s
 OEXT=.o
@@ -633,6 +649,7 @@ FPCMADE=fpcmade.sun
 ZIPSUFFIX=sun
 endif
 ifeq ($(OS_TARGET),qnx)
+BATCHEXT=.sh
 PPUEXT=.ppu
 ASMEXT=.s
 OEXT=.o
@@ -655,13 +672,15 @@ ZIPSUFFIX=nw
 EXEEXT=.nlm
 endif
 ifeq ($(OS_TARGET),macos)
+BATCHEXT=
 PPUEXT=.ppu
 ASMEXT=.s
 OEXT=.o
 SMARTEXT=.sl
 STATICLIBEXT=.a
 EXEEXT=
-FPCMADE=fpcmade.mcc
+DEBUGSYMEXT=.xcoff
+FPCMADE=fpcmade.macos
 endif
 endif
 ifndef ECHO
@@ -669,7 +688,7 @@ ECHO:=$(strip $(wildcard $(addsuffix /gecho$(SRCEXEEXT),$(SEARCHPATH))))
 ifeq ($(ECHO),)
 ECHO:=$(strip $(wildcard $(addsuffix /echo$(SRCEXEEXT),$(SEARCHPATH))))
 ifeq ($(ECHO),)
-ECHO=
+ECHO= __missing_command__
 else
 ECHO:=$(firstword $(ECHO))
 endif
@@ -683,7 +702,7 @@ DATE:=$(strip $(wildcard $(addsuffix /gdate$(SRCEXEEXT),$(SEARCHPATH))))
 ifeq ($(DATE),)
 DATE:=$(strip $(wildcard $(addsuffix /date$(SRCEXEEXT),$(SEARCHPATH))))
 ifeq ($(DATE),)
-DATE=
+DATE= __missing_command__
 else
 DATE:=$(firstword $(DATE))
 endif
@@ -697,7 +716,7 @@ GINSTALL:=$(strip $(wildcard $(addsuffix /ginstall$(SRCEXEEXT),$(SEARCHPATH))))
 ifeq ($(GINSTALL),)
 GINSTALL:=$(strip $(wildcard $(addsuffix /install$(SRCEXEEXT),$(SEARCHPATH))))
 ifeq ($(GINSTALL),)
-GINSTALL=
+GINSTALL= __missing_command__
 else
 GINSTALL:=$(firstword $(GINSTALL))
 endif
@@ -709,7 +728,7 @@ export GINSTALL
 ifndef CPPROG
 CPPROG:=$(strip $(wildcard $(addsuffix /cp$(SRCEXEEXT),$(SEARCHPATH))))
 ifeq ($(CPPROG),)
-CPPROG=
+CPPROG= __missing_command__
 else
 CPPROG:=$(firstword $(CPPROG))
 endif
@@ -718,7 +737,7 @@ export CPPROG
 ifndef RMPROG
 RMPROG:=$(strip $(wildcard $(addsuffix /rm$(SRCEXEEXT),$(SEARCHPATH))))
 ifeq ($(RMPROG),)
-RMPROG=
+RMPROG= __missing_command__
 else
 RMPROG:=$(firstword $(RMPROG))
 endif
@@ -727,7 +746,7 @@ export RMPROG
 ifndef MVPROG
 MVPROG:=$(strip $(wildcard $(addsuffix /mv$(SRCEXEEXT),$(SEARCHPATH))))
 ifeq ($(MVPROG),)
-MVPROG=
+MVPROG= __missing_command__
 else
 MVPROG:=$(firstword $(MVPROG))
 endif
@@ -776,7 +795,7 @@ export ECHOREDIR COPY COPYTREE MOVE DEL DELTREE INSTALL INSTALLEXE MKDIR
 ifndef PPUMOVE
 PPUMOVE:=$(strip $(wildcard $(addsuffix /ppumove$(SRCEXEEXT),$(SEARCHPATH))))
 ifeq ($(PPUMOVE),)
-PPUMOVE=
+PPUMOVE= __missing_command__
 else
 PPUMOVE:=$(firstword $(PPUMOVE))
 endif
@@ -785,7 +804,7 @@ export PPUMOVE
 ifndef FPCMAKE
 FPCMAKE:=$(strip $(wildcard $(addsuffix /fpcmake$(SRCEXEEXT),$(SEARCHPATH))))
 ifeq ($(FPCMAKE),)
-FPCMAKE=
+FPCMAKE= __missing_command__
 else
 FPCMAKE:=$(firstword $(FPCMAKE))
 endif
@@ -794,7 +813,7 @@ export FPCMAKE
 ifndef ZIPPROG
 ZIPPROG:=$(strip $(wildcard $(addsuffix /zip$(SRCEXEEXT),$(SEARCHPATH))))
 ifeq ($(ZIPPROG),)
-ZIPPROG=
+ZIPPROG= __missing_command__
 else
 ZIPPROG:=$(firstword $(ZIPPROG))
 endif
@@ -803,7 +822,7 @@ export ZIPPROG
 ifndef TARPROG
 TARPROG:=$(strip $(wildcard $(addsuffix /tar$(SRCEXEEXT),$(SEARCHPATH))))
 ifeq ($(TARPROG),)
-TARPROG=
+TARPROG= __missing_command__
 else
 TARPROG:=$(firstword $(TARPROG))
 endif
@@ -815,9 +834,11 @@ ARNAME=$(BINUTILSPREFIX)ar
 RCNAME=$(BINUTILSPREFIX)rc
 ifneq ($(findstring 1.0.,$(FPC_VERSION)),)
 ifeq ($(OS_TARGET),win32)
-ASNAME=as
-LDNAME=ld
-ARNAME=ar
+ifeq ($(CROSSBINDIR),)
+ASNAME=asw
+LDNAME=ldw
+ARNAME=arw
+endif
 endif
 endif
 ifndef ASPROG
@@ -852,7 +873,7 @@ AS=$(ASPROG)
 LD=$(LDPROG)
 RC=$(RCPROG)
 AR=$(ARPROG)
-PPAS=ppas$(BATCHEXT)
+PPAS=ppas$(SRCBATCHEXT)
 ifdef inUnix
 LDCONFIG=ldconfig
 else
@@ -917,6 +938,11 @@ ifeq ($(CPU_TARGET),x86_64)
 REQUIRE_PACKAGES_RTL=1
 endif
 endif
+ifeq ($(OS_TARGET),linux)
+ifeq ($(CPU_TARGET),arm)
+REQUIRE_PACKAGES_RTL=1
+endif
+endif
 ifeq ($(OS_TARGET),go32v2)
 ifeq ($(CPU_TARGET),i386)
 REQUIRE_PACKAGES_RTL=1
@@ -1106,8 +1132,12 @@ ifdef RELEASE
 ifeq ($(CPU_TARGET),i386)
 FPCCPUOPT:=-OG2p3
 else
+ifeq ($(CPU_TARGET),powerpc)
+FPCCPUOPT:=-O1
+else
 FPCCPUOPT:=
 endif
+endif
 override FPCOPT+=-Xs $(FPCCPUOPT) -n
 override FPCOPTDEF+=RELEASE
 endif
@@ -1314,6 +1344,9 @@ override CLEANPPUFILES+=$(addsuffix $(PPUEXT),$(CLEAN_UNITS))
 endif
 ifdef 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 CLEANPPULINKFILES:=$(wildcard $(addprefix $(UNITTARGETDIRPREFIX),$(CLEANPPULINKFILES)))
 endif
@@ -1337,6 +1370,7 @@ ifdef LIB_NAME
 	-$(DEL) $(LIB_NAME) $(LIB_FULLNAME)
 endif
 	-$(DEL) $(FPCMADE) Package.fpc $(PPAS) script.res link.res $(FPCEXTFILE) $(REDIRFILE)
+	-$(DEL) *$(ASMEXT) *_ppas$(BATCHEXT)
 fpc_distclean: clean
 ifdef COMPILER_UNITTARGETDIR
 TARGETDIRCLEAN=fpc_clean
@@ -1348,9 +1382,13 @@ endif
 	-$(DEL) *$(OEXT) *$(PPUEXT) *$(RSTEXT) *$(ASMEXT) *$(STATICLIBEXT) *$(SHAREDLIBEXT) *$(PPLEXT)
 	-$(DELTREE) *$(SMARTEXT)
 	-$(DEL) $(FPCMADE) Package.fpc $(PPAS) script.res link.res $(FPCEXTFILE) $(REDIRFILE)
+	-$(DEL) *_ppas$(BATCHEXT)
 ifdef AOUTEXT
 	-$(DEL) *$(AOUTEXT)
 endif
+ifdef DEBUGSYMEXT
+	-$(DEL) *$(DEBUGSYMEXT)
+endif
 .PHONY: fpc_baseinfo
 override INFORULES+=fpc_baseinfo
 fpc_baseinfo:

+ 108 - 70
demo/os2/Makefile

@@ -1,15 +1,24 @@
 #
-# Don't edit, this file is generated by FPCMake Version 1.1 [2004/01/05]
+# Don't edit, this file is generated by FPCMake Version 1.1 [2004/04/21]
 #
 default: all
 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:=$(subst \,/,$(PATH))
+ifneq ($(findstring darwin,$(OSTYPE)),)
+inUnix=1 #darwin
+SEARCHPATH:=$(filter-out .,$(subst :, ,$(PATH)))
+else
 ifeq ($(findstring ;,$(PATH)),)
 inUnix=1
 SEARCHPATH:=$(filter-out .,$(subst :, ,$(PATH)))
 else
 SEARCHPATH:=$(subst ;, ,$(PATH))
 endif
+endif
 SEARCHPATH+=$(patsubst %/,%,$(subst \,/,$(dir $(MAKE))))
 PWD:=$(strip $(wildcard $(addsuffix /pwd.exe,$(SEARCHPATH))))
 ifeq ($(PWD),)
@@ -37,22 +46,13 @@ ifneq ($(findstring cygdrive,$(PATH)),)
 inCygWin=1
 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
-BATCHEXT=.sh
+SRCBATCHEXT=.sh
 else
 ifdef inOS2
-BATCHEXT=.cmd
+SRCBATCHEXT=.cmd
 else
-BATCHEXT=.bat
+SRCBATCHEXT=.bat
 endif
 endif
 ifdef inUnix
@@ -155,6 +155,12 @@ ifeq ($(findstring $(OS_TARGET),$(MAKEFILETARGETS)),)
 $(error The Makefile doesn't support target $(OS_TARGET), please run fpcmake first)
 endif
 endif
+ifneq ($(findstring $(OS_TARGET),$(BSDs)),)
+BSDhier=1
+endif
+ifeq ($(OS_TARGET),linux)
+linuxHier=1
+endif
 export OS_TARGET OS_SOURCE CPU_TARGET CPU_SOURCE FULL_TARGET FULL_SOURCE CROSSCOMPILE
 ifdef FPCDIR
 override FPCDIR:=$(subst \,/,$(FPCDIR))
@@ -184,11 +190,14 @@ override FPCDIR:=$(FPCDIR)/..
 ifeq ($(wildcard $(addprefix $(FPCDIR)/,rtl units)),)
 override FPCDIR:=$(FPCDIR)/..
 ifeq ($(wildcard $(addprefix $(FPCDIR)/,rtl units)),)
+override FPCDIR:=$(BASEDIR)
+ifeq ($(wildcard $(addprefix $(FPCDIR)/,rtl units)),)
 override FPCDIR=c:/pp
 endif
 endif
 endif
 endif
+endif
 ifndef CROSSDIR
 CROSSDIR:=$(FPCDIR)/cross/$(FULL_TARGET)
 endif
@@ -214,42 +223,12 @@ 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
-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
 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
 ifndef INSTALL_PREFIX
@@ -258,7 +237,7 @@ INSTALL_PREFIX=$(PREFIX)
 endif
 endif
 ifndef INSTALL_PREFIX
-ifdef UNIXINSTALLDIR
+ifdef UNIXHier
 INSTALL_PREFIX=/usr/local
 else
 ifdef INSTALL_FPCPACKAGE
@@ -277,7 +256,7 @@ DIST_DESTDIR:=$(BASEDIR)
 endif
 export DIST_DESTDIR
 ifndef INSTALL_BASEDIR
-ifdef UNIXINSTALLDIR
+ifdef UNIXHier
 ifdef INSTALL_FPCPACKAGE
 INSTALL_BASEDIR:=$(INSTALL_PREFIX)/lib/fpc/$(FPC_VERSION)
 else
@@ -288,7 +267,7 @@ INSTALL_BASEDIR:=$(INSTALL_PREFIX)
 endif
 endif
 ifndef INSTALL_BINDIR
-ifdef UNIXINSTALLDIR
+ifdef UNIXHier
 ifdef CROSSCOMPILE
 INSTALL_BINDIR:=$(INSTALL_BASEDIR)/cross/$(FULL_TARGET)/bin
 else
@@ -318,19 +297,23 @@ endif
 endif
 endif
 ifndef INSTALL_LIBDIR
-ifdef UNIXINSTALLDIR
+ifdef UNIXHier
 INSTALL_LIBDIR:=$(INSTALL_PREFIX)/lib
 else
 INSTALL_LIBDIR:=$(INSTALL_UNITDIR)
 endif
 endif
 ifndef INSTALL_SOURCEDIR
-ifdef UNIXINSTALLDIR
+ifdef UNIXHier
 ifdef BSDhier
 SRCPREFIXDIR=share/src
 else
+ifdef linuxHier
+SRCPREFIXDIR=share/src
+else
 SRCPREFIXDIR=src
 endif
+endif
 ifdef INSTALL_FPCPACKAGE
 ifdef INSTALL_FPCSUBDIR
 INSTALL_SOURCEDIR:=$(INSTALL_PREFIX)/$(SRCPREFIXDIR)/fpc-$(FPC_VERSION)/$(INSTALL_FPCSUBDIR)/$(PACKAGE_NAME)
@@ -353,12 +336,16 @@ endif
 endif
 endif
 ifndef INSTALL_DOCDIR
-ifdef UNIXINSTALLDIR
+ifdef UNIXHier
 ifdef BSDhier
 DOCPREFIXDIR=share/doc
 else
+ifdef linuxHier
+DOCPREFIXDIR=share/doc
+else
 DOCPREFIXDIR=doc
 endif
+endif
 ifdef INSTALL_FPCPACKAGE
 INSTALL_DOCDIR:=$(INSTALL_PREFIX)/$(DOCPREFIXDIR)/fpc-$(FPC_VERSION)/$(PACKAGE_NAME)
 else
@@ -373,20 +360,28 @@ endif
 endif
 endif
 ifndef INSTALL_EXAMPLEDIR
-ifdef UNIXINSTALLDIR
+ifdef UNIXHier
 ifdef INSTALL_FPCPACKAGE
 ifdef BSDhier
 INSTALL_EXAMPLEDIR:=$(INSTALL_PREFIX)/share/examples/fpc-$(FPC_VERSION)/$(PACKAGE_NAME)
 else
+ifdef linuxHier
+INSTALL_EXAMPLEDIR:=$(INSTALL_DOCDIR)/examples/fpc-$(FPC_VERSION)/$(PACKAGE_NAME)
+else
 INSTALL_EXAMPLEDIR:=$(INSTALL_PREFIX)/doc/fpc-$(FPC_VERSION)/examples/$(PACKAGE_NAME)
 endif
+endif
 else
 ifdef BSDhier
 INSTALL_EXAMPLEDIR:=$(INSTALL_PREFIX)/share/examples/$(PACKAGE_NAME)-$(PACKAGE_VERSION)
 else
+ifdef linuxHier
+INSTALL_EXAMPLEDIR:=$(INSTALL_DOCDIR)/examples/$(PACKAGE_NAME)-$(PACKAGE_VERSION)
+else
 INSTALL_EXAMPLEDIR:=$(INSTALL_PREFIX)/doc/$(PACKAGE_NAME)-$(PACKAGE_VERSION)
 endif
 endif
+endif
 else
 ifdef INSTALL_FPCPACKAGE
 INSTALL_EXAMPLEDIR:=$(INSTALL_BASEDIR)/examples/$(PACKAGE_NAME)
@@ -408,6 +403,7 @@ endif
 else
 CROSSBINDIR=
 endif
+BATCHEXT=.bat
 LOADEREXT=.as
 EXEEXT=.exe
 PPLEXT=.ppl
@@ -440,24 +436,28 @@ ASMEXT=.asm
 SHAREDLIBEXT=.dll
 endif
 ifeq ($(OS_TARGET),linux)
+BATCHEXT=.sh
 EXEEXT=
 HASSHAREDLIB=1
 FPCMADE=fpcmade.lnx
 ZIPSUFFIX=linux
 endif
 ifeq ($(OS_TARGET),freebsd)
+BATCHEXT=.sh
 EXEEXT=
 HASSHAREDLIB=1
 FPCMADE=fpcmade.freebsd
 ZIPSUFFIX=freebsd
 endif
 ifeq ($(OS_TARGET),netbsd)
+BATCHEXT=.sh
 EXEEXT=
 HASSHAREDLIB=1
 FPCMADE=fpcmade.netbsd
 ZIPSUFFIX=netbsd
 endif
 ifeq ($(OS_TARGET),openbsd)
+BATCHEXT=.sh
 EXEEXT=
 HASSHAREDLIB=1
 FPCMADE=fpcmade.openbsd
@@ -469,6 +469,7 @@ FPCMADE=fpcmade.w32
 ZIPSUFFIX=w32
 endif
 ifeq ($(OS_TARGET),os2)
+BATCHEXT=.cmd
 AOUTEXT=.out
 STATICLIBPREFIX=
 SHAREDLIBEXT=.dll
@@ -477,6 +478,7 @@ ZIPSUFFIX=os2
 ECHO=echo
 endif
 ifeq ($(OS_TARGET),emx)
+BATCHEXT=.cmd
 AOUTEXT=.out
 STATICLIBPREFIX=
 SHAREDLIBEXT=.dll
@@ -494,16 +496,19 @@ EXEEXT=.ttp
 FPCMADE=fpcmade.ata
 endif
 ifeq ($(OS_TARGET),beos)
+BATCHEXT=.sh
 EXEEXT=
 FPCMADE=fpcmade.be
 ZIPSUFFIX=be
 endif
 ifeq ($(OS_TARGET),sunos)
+BATCHEXT=.sh
 EXEEXT=
 FPCMADE=fpcmade.sun
 ZIPSUFFIX=sun
 endif
 ifeq ($(OS_TARGET),qnx)
+BATCHEXT=.sh
 EXEEXT=
 FPCMADE=fpcmade.qnx
 ZIPSUFFIX=qnx
@@ -515,10 +520,14 @@ FPCMADE=fpcmade.nw
 ZIPSUFFIX=nw
 endif
 ifeq ($(OS_TARGET),macos)
+BATCHEXT=
 EXEEXT=
-FPCMADE=fpcmade.mcc
+FPCMADE=fpcmade.macos
+ZIPSUFFIX=macos
+DEBUGSYMEXT=.xcoff
 endif
 ifeq ($(OS_TARGET),darwin)
+BATCHEXT=.sh
 EXEEXT=
 HASSHAREDLIB=1
 FPCMADE=fpcmade.darwin
@@ -547,24 +556,28 @@ FPCMADE=fpcmade.dos
 ZIPSUFFIX=watcom
 endif
 ifeq ($(OS_TARGET),linux)
+BATCHEXT=.sh
 EXEEXT=
 HASSHAREDLIB=1
 FPCMADE=fpcmade.lnx
 ZIPSUFFIX=linux
 endif
 ifeq ($(OS_TARGET),freebsd)
+BATCHEXT=.sh
 EXEEXT=
 HASSHAREDLIB=1
 FPCMADE=fpcmade.freebsd
 ZIPSUFFIX=freebsd
 endif
 ifeq ($(OS_TARGET),netbsd)
+BATCHEXT=.sh
 EXEEXT=
 HASSHAREDLIB=1
 FPCMADE=fpcmade.netbsd
 ZIPSUFFIX=netbsd
 endif
 ifeq ($(OS_TARGET),openbsd)
+BATCHEXT=.sh
 EXEEXT=
 HASSHAREDLIB=1
 FPCMADE=fpcmade.openbsd
@@ -581,6 +594,7 @@ FPCMADE=fpcmade.w32
 ZIPSUFFIX=w32
 endif
 ifeq ($(OS_TARGET),os2)
+BATCHEXT=.cmd
 PPUEXT=.ppo
 ASMEXT=.so2
 OEXT=.oo2
@@ -613,6 +627,7 @@ EXEEXT=.ttp
 FPCMADE=fpcmade.ata
 endif
 ifeq ($(OS_TARGET),beos)
+BATCHEXT=.sh
 PPUEXT=.ppu
 ASMEXT=.s
 OEXT=.o
@@ -623,6 +638,7 @@ FPCMADE=fpcmade.be
 ZIPSUFFIX=be
 endif
 ifeq ($(OS_TARGET),sunos)
+BATCHEXT=.sh
 PPUEXT=.ppu
 ASMEXT=.s
 OEXT=.o
@@ -633,6 +649,7 @@ FPCMADE=fpcmade.sun
 ZIPSUFFIX=sun
 endif
 ifeq ($(OS_TARGET),qnx)
+BATCHEXT=.sh
 PPUEXT=.ppu
 ASMEXT=.s
 OEXT=.o
@@ -655,13 +672,15 @@ ZIPSUFFIX=nw
 EXEEXT=.nlm
 endif
 ifeq ($(OS_TARGET),macos)
+BATCHEXT=
 PPUEXT=.ppu
 ASMEXT=.s
 OEXT=.o
 SMARTEXT=.sl
 STATICLIBEXT=.a
 EXEEXT=
-FPCMADE=fpcmade.mcc
+DEBUGSYMEXT=.xcoff
+FPCMADE=fpcmade.macos
 endif
 endif
 ifndef ECHO
@@ -669,7 +688,7 @@ ECHO:=$(strip $(wildcard $(addsuffix /gecho$(SRCEXEEXT),$(SEARCHPATH))))
 ifeq ($(ECHO),)
 ECHO:=$(strip $(wildcard $(addsuffix /echo$(SRCEXEEXT),$(SEARCHPATH))))
 ifeq ($(ECHO),)
-ECHO=
+ECHO= __missing_command__
 else
 ECHO:=$(firstword $(ECHO))
 endif
@@ -683,7 +702,7 @@ DATE:=$(strip $(wildcard $(addsuffix /gdate$(SRCEXEEXT),$(SEARCHPATH))))
 ifeq ($(DATE),)
 DATE:=$(strip $(wildcard $(addsuffix /date$(SRCEXEEXT),$(SEARCHPATH))))
 ifeq ($(DATE),)
-DATE=
+DATE= __missing_command__
 else
 DATE:=$(firstword $(DATE))
 endif
@@ -697,7 +716,7 @@ GINSTALL:=$(strip $(wildcard $(addsuffix /ginstall$(SRCEXEEXT),$(SEARCHPATH))))
 ifeq ($(GINSTALL),)
 GINSTALL:=$(strip $(wildcard $(addsuffix /install$(SRCEXEEXT),$(SEARCHPATH))))
 ifeq ($(GINSTALL),)
-GINSTALL=
+GINSTALL= __missing_command__
 else
 GINSTALL:=$(firstword $(GINSTALL))
 endif
@@ -709,7 +728,7 @@ export GINSTALL
 ifndef CPPROG
 CPPROG:=$(strip $(wildcard $(addsuffix /cp$(SRCEXEEXT),$(SEARCHPATH))))
 ifeq ($(CPPROG),)
-CPPROG=
+CPPROG= __missing_command__
 else
 CPPROG:=$(firstword $(CPPROG))
 endif
@@ -718,7 +737,7 @@ export CPPROG
 ifndef RMPROG
 RMPROG:=$(strip $(wildcard $(addsuffix /rm$(SRCEXEEXT),$(SEARCHPATH))))
 ifeq ($(RMPROG),)
-RMPROG=
+RMPROG= __missing_command__
 else
 RMPROG:=$(firstword $(RMPROG))
 endif
@@ -727,7 +746,7 @@ export RMPROG
 ifndef MVPROG
 MVPROG:=$(strip $(wildcard $(addsuffix /mv$(SRCEXEEXT),$(SEARCHPATH))))
 ifeq ($(MVPROG),)
-MVPROG=
+MVPROG= __missing_command__
 else
 MVPROG:=$(firstword $(MVPROG))
 endif
@@ -776,7 +795,7 @@ export ECHOREDIR COPY COPYTREE MOVE DEL DELTREE INSTALL INSTALLEXE MKDIR
 ifndef PPUMOVE
 PPUMOVE:=$(strip $(wildcard $(addsuffix /ppumove$(SRCEXEEXT),$(SEARCHPATH))))
 ifeq ($(PPUMOVE),)
-PPUMOVE=
+PPUMOVE= __missing_command__
 else
 PPUMOVE:=$(firstword $(PPUMOVE))
 endif
@@ -785,7 +804,7 @@ export PPUMOVE
 ifndef FPCMAKE
 FPCMAKE:=$(strip $(wildcard $(addsuffix /fpcmake$(SRCEXEEXT),$(SEARCHPATH))))
 ifeq ($(FPCMAKE),)
-FPCMAKE=
+FPCMAKE= __missing_command__
 else
 FPCMAKE:=$(firstword $(FPCMAKE))
 endif
@@ -794,7 +813,7 @@ export FPCMAKE
 ifndef ZIPPROG
 ZIPPROG:=$(strip $(wildcard $(addsuffix /zip$(SRCEXEEXT),$(SEARCHPATH))))
 ifeq ($(ZIPPROG),)
-ZIPPROG=
+ZIPPROG= __missing_command__
 else
 ZIPPROG:=$(firstword $(ZIPPROG))
 endif
@@ -803,7 +822,7 @@ export ZIPPROG
 ifndef TARPROG
 TARPROG:=$(strip $(wildcard $(addsuffix /tar$(SRCEXEEXT),$(SEARCHPATH))))
 ifeq ($(TARPROG),)
-TARPROG=
+TARPROG= __missing_command__
 else
 TARPROG:=$(firstword $(TARPROG))
 endif
@@ -815,9 +834,11 @@ ARNAME=$(BINUTILSPREFIX)ar
 RCNAME=$(BINUTILSPREFIX)rc
 ifneq ($(findstring 1.0.,$(FPC_VERSION)),)
 ifeq ($(OS_TARGET),win32)
-ASNAME=as
-LDNAME=ld
-ARNAME=ar
+ifeq ($(CROSSBINDIR),)
+ASNAME=asw
+LDNAME=ldw
+ARNAME=arw
+endif
 endif
 endif
 ifndef ASPROG
@@ -852,7 +873,7 @@ AS=$(ASPROG)
 LD=$(LDPROG)
 RC=$(RCPROG)
 AR=$(ARPROG)
-PPAS=ppas$(BATCHEXT)
+PPAS=ppas$(SRCBATCHEXT)
 ifdef inUnix
 LDCONFIG=ldconfig
 else
@@ -917,6 +938,11 @@ ifeq ($(CPU_TARGET),x86_64)
 REQUIRE_PACKAGES_RTL=1
 endif
 endif
+ifeq ($(OS_TARGET),linux)
+ifeq ($(CPU_TARGET),arm)
+REQUIRE_PACKAGES_RTL=1
+endif
+endif
 ifeq ($(OS_TARGET),go32v2)
 ifeq ($(CPU_TARGET),i386)
 REQUIRE_PACKAGES_RTL=1
@@ -1106,8 +1132,12 @@ ifdef RELEASE
 ifeq ($(CPU_TARGET),i386)
 FPCCPUOPT:=-OG2p3
 else
+ifeq ($(CPU_TARGET),powerpc)
+FPCCPUOPT:=-O1
+else
 FPCCPUOPT:=
 endif
+endif
 override FPCOPT+=-Xs $(FPCCPUOPT) -n
 override FPCOPTDEF+=RELEASE
 endif
@@ -1314,6 +1344,9 @@ override CLEANPPUFILES+=$(addsuffix $(PPUEXT),$(CLEAN_UNITS))
 endif
 ifdef 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 CLEANPPULINKFILES:=$(wildcard $(addprefix $(UNITTARGETDIRPREFIX),$(CLEANPPULINKFILES)))
 endif
@@ -1337,6 +1370,7 @@ ifdef LIB_NAME
 	-$(DEL) $(LIB_NAME) $(LIB_FULLNAME)
 endif
 	-$(DEL) $(FPCMADE) Package.fpc $(PPAS) script.res link.res $(FPCEXTFILE) $(REDIRFILE)
+	-$(DEL) *$(ASMEXT) *_ppas$(BATCHEXT)
 fpc_distclean: clean
 ifdef COMPILER_UNITTARGETDIR
 TARGETDIRCLEAN=fpc_clean
@@ -1348,9 +1382,13 @@ endif
 	-$(DEL) *$(OEXT) *$(PPUEXT) *$(RSTEXT) *$(ASMEXT) *$(STATICLIBEXT) *$(SHAREDLIBEXT) *$(PPLEXT)
 	-$(DELTREE) *$(SMARTEXT)
 	-$(DEL) $(FPCMADE) Package.fpc $(PPAS) script.res link.res $(FPCEXTFILE) $(REDIRFILE)
+	-$(DEL) *_ppas$(BATCHEXT)
 ifdef AOUTEXT
 	-$(DEL) *$(AOUTEXT)
 endif
+ifdef DEBUGSYMEXT
+	-$(DEL) *$(DEBUGSYMEXT)
+endif
 .PHONY: fpc_baseinfo
 override INFORULES+=fpc_baseinfo
 fpc_baseinfo:

+ 108 - 70
demo/text/Makefile

@@ -1,15 +1,24 @@
 #
-# Don't edit, this file is generated by FPCMake Version 1.1 [2004/01/05]
+# Don't edit, this file is generated by FPCMake Version 1.1 [2004/04/21]
 #
 default: all
 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:=$(subst \,/,$(PATH))
+ifneq ($(findstring darwin,$(OSTYPE)),)
+inUnix=1 #darwin
+SEARCHPATH:=$(filter-out .,$(subst :, ,$(PATH)))
+else
 ifeq ($(findstring ;,$(PATH)),)
 inUnix=1
 SEARCHPATH:=$(filter-out .,$(subst :, ,$(PATH)))
 else
 SEARCHPATH:=$(subst ;, ,$(PATH))
 endif
+endif
 SEARCHPATH+=$(patsubst %/,%,$(subst \,/,$(dir $(MAKE))))
 PWD:=$(strip $(wildcard $(addsuffix /pwd.exe,$(SEARCHPATH))))
 ifeq ($(PWD),)
@@ -37,22 +46,13 @@ ifneq ($(findstring cygdrive,$(PATH)),)
 inCygWin=1
 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
-BATCHEXT=.sh
+SRCBATCHEXT=.sh
 else
 ifdef inOS2
-BATCHEXT=.cmd
+SRCBATCHEXT=.cmd
 else
-BATCHEXT=.bat
+SRCBATCHEXT=.bat
 endif
 endif
 ifdef inUnix
@@ -155,6 +155,12 @@ ifeq ($(findstring $(OS_TARGET),$(MAKEFILETARGETS)),)
 $(error The Makefile doesn't support target $(OS_TARGET), please run fpcmake first)
 endif
 endif
+ifneq ($(findstring $(OS_TARGET),$(BSDs)),)
+BSDhier=1
+endif
+ifeq ($(OS_TARGET),linux)
+linuxHier=1
+endif
 export OS_TARGET OS_SOURCE CPU_TARGET CPU_SOURCE FULL_TARGET FULL_SOURCE CROSSCOMPILE
 ifdef FPCDIR
 override FPCDIR:=$(subst \,/,$(FPCDIR))
@@ -184,11 +190,14 @@ override FPCDIR:=$(FPCDIR)/..
 ifeq ($(wildcard $(addprefix $(FPCDIR)/,rtl units)),)
 override FPCDIR:=$(FPCDIR)/..
 ifeq ($(wildcard $(addprefix $(FPCDIR)/,rtl units)),)
+override FPCDIR:=$(BASEDIR)
+ifeq ($(wildcard $(addprefix $(FPCDIR)/,rtl units)),)
 override FPCDIR=c:/pp
 endif
 endif
 endif
 endif
+endif
 ifndef CROSSDIR
 CROSSDIR:=$(FPCDIR)/cross/$(FULL_TARGET)
 endif
@@ -212,42 +221,12 @@ 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
-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
 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
 ifndef INSTALL_PREFIX
@@ -256,7 +235,7 @@ INSTALL_PREFIX=$(PREFIX)
 endif
 endif
 ifndef INSTALL_PREFIX
-ifdef UNIXINSTALLDIR
+ifdef UNIXHier
 INSTALL_PREFIX=/usr/local
 else
 ifdef INSTALL_FPCPACKAGE
@@ -275,7 +254,7 @@ DIST_DESTDIR:=$(BASEDIR)
 endif
 export DIST_DESTDIR
 ifndef INSTALL_BASEDIR
-ifdef UNIXINSTALLDIR
+ifdef UNIXHier
 ifdef INSTALL_FPCPACKAGE
 INSTALL_BASEDIR:=$(INSTALL_PREFIX)/lib/fpc/$(FPC_VERSION)
 else
@@ -286,7 +265,7 @@ INSTALL_BASEDIR:=$(INSTALL_PREFIX)
 endif
 endif
 ifndef INSTALL_BINDIR
-ifdef UNIXINSTALLDIR
+ifdef UNIXHier
 ifdef CROSSCOMPILE
 INSTALL_BINDIR:=$(INSTALL_BASEDIR)/cross/$(FULL_TARGET)/bin
 else
@@ -316,19 +295,23 @@ endif
 endif
 endif
 ifndef INSTALL_LIBDIR
-ifdef UNIXINSTALLDIR
+ifdef UNIXHier
 INSTALL_LIBDIR:=$(INSTALL_PREFIX)/lib
 else
 INSTALL_LIBDIR:=$(INSTALL_UNITDIR)
 endif
 endif
 ifndef INSTALL_SOURCEDIR
-ifdef UNIXINSTALLDIR
+ifdef UNIXHier
 ifdef BSDhier
 SRCPREFIXDIR=share/src
 else
+ifdef linuxHier
+SRCPREFIXDIR=share/src
+else
 SRCPREFIXDIR=src
 endif
+endif
 ifdef INSTALL_FPCPACKAGE
 ifdef INSTALL_FPCSUBDIR
 INSTALL_SOURCEDIR:=$(INSTALL_PREFIX)/$(SRCPREFIXDIR)/fpc-$(FPC_VERSION)/$(INSTALL_FPCSUBDIR)/$(PACKAGE_NAME)
@@ -351,12 +334,16 @@ endif
 endif
 endif
 ifndef INSTALL_DOCDIR
-ifdef UNIXINSTALLDIR
+ifdef UNIXHier
 ifdef BSDhier
 DOCPREFIXDIR=share/doc
 else
+ifdef linuxHier
+DOCPREFIXDIR=share/doc
+else
 DOCPREFIXDIR=doc
 endif
+endif
 ifdef INSTALL_FPCPACKAGE
 INSTALL_DOCDIR:=$(INSTALL_PREFIX)/$(DOCPREFIXDIR)/fpc-$(FPC_VERSION)/$(PACKAGE_NAME)
 else
@@ -371,20 +358,28 @@ endif
 endif
 endif
 ifndef INSTALL_EXAMPLEDIR
-ifdef UNIXINSTALLDIR
+ifdef UNIXHier
 ifdef INSTALL_FPCPACKAGE
 ifdef BSDhier
 INSTALL_EXAMPLEDIR:=$(INSTALL_PREFIX)/share/examples/fpc-$(FPC_VERSION)/$(PACKAGE_NAME)
 else
+ifdef linuxHier
+INSTALL_EXAMPLEDIR:=$(INSTALL_DOCDIR)/examples/fpc-$(FPC_VERSION)/$(PACKAGE_NAME)
+else
 INSTALL_EXAMPLEDIR:=$(INSTALL_PREFIX)/doc/fpc-$(FPC_VERSION)/examples/$(PACKAGE_NAME)
 endif
+endif
 else
 ifdef BSDhier
 INSTALL_EXAMPLEDIR:=$(INSTALL_PREFIX)/share/examples/$(PACKAGE_NAME)-$(PACKAGE_VERSION)
 else
+ifdef linuxHier
+INSTALL_EXAMPLEDIR:=$(INSTALL_DOCDIR)/examples/$(PACKAGE_NAME)-$(PACKAGE_VERSION)
+else
 INSTALL_EXAMPLEDIR:=$(INSTALL_PREFIX)/doc/$(PACKAGE_NAME)-$(PACKAGE_VERSION)
 endif
 endif
+endif
 else
 ifdef INSTALL_FPCPACKAGE
 INSTALL_EXAMPLEDIR:=$(INSTALL_BASEDIR)/examples/$(PACKAGE_NAME)
@@ -406,6 +401,7 @@ endif
 else
 CROSSBINDIR=
 endif
+BATCHEXT=.bat
 LOADEREXT=.as
 EXEEXT=.exe
 PPLEXT=.ppl
@@ -438,24 +434,28 @@ ASMEXT=.asm
 SHAREDLIBEXT=.dll
 endif
 ifeq ($(OS_TARGET),linux)
+BATCHEXT=.sh
 EXEEXT=
 HASSHAREDLIB=1
 FPCMADE=fpcmade.lnx
 ZIPSUFFIX=linux
 endif
 ifeq ($(OS_TARGET),freebsd)
+BATCHEXT=.sh
 EXEEXT=
 HASSHAREDLIB=1
 FPCMADE=fpcmade.freebsd
 ZIPSUFFIX=freebsd
 endif
 ifeq ($(OS_TARGET),netbsd)
+BATCHEXT=.sh
 EXEEXT=
 HASSHAREDLIB=1
 FPCMADE=fpcmade.netbsd
 ZIPSUFFIX=netbsd
 endif
 ifeq ($(OS_TARGET),openbsd)
+BATCHEXT=.sh
 EXEEXT=
 HASSHAREDLIB=1
 FPCMADE=fpcmade.openbsd
@@ -467,6 +467,7 @@ FPCMADE=fpcmade.w32
 ZIPSUFFIX=w32
 endif
 ifeq ($(OS_TARGET),os2)
+BATCHEXT=.cmd
 AOUTEXT=.out
 STATICLIBPREFIX=
 SHAREDLIBEXT=.dll
@@ -475,6 +476,7 @@ ZIPSUFFIX=os2
 ECHO=echo
 endif
 ifeq ($(OS_TARGET),emx)
+BATCHEXT=.cmd
 AOUTEXT=.out
 STATICLIBPREFIX=
 SHAREDLIBEXT=.dll
@@ -492,16 +494,19 @@ EXEEXT=.ttp
 FPCMADE=fpcmade.ata
 endif
 ifeq ($(OS_TARGET),beos)
+BATCHEXT=.sh
 EXEEXT=
 FPCMADE=fpcmade.be
 ZIPSUFFIX=be
 endif
 ifeq ($(OS_TARGET),sunos)
+BATCHEXT=.sh
 EXEEXT=
 FPCMADE=fpcmade.sun
 ZIPSUFFIX=sun
 endif
 ifeq ($(OS_TARGET),qnx)
+BATCHEXT=.sh
 EXEEXT=
 FPCMADE=fpcmade.qnx
 ZIPSUFFIX=qnx
@@ -513,10 +518,14 @@ FPCMADE=fpcmade.nw
 ZIPSUFFIX=nw
 endif
 ifeq ($(OS_TARGET),macos)
+BATCHEXT=
 EXEEXT=
-FPCMADE=fpcmade.mcc
+FPCMADE=fpcmade.macos
+ZIPSUFFIX=macos
+DEBUGSYMEXT=.xcoff
 endif
 ifeq ($(OS_TARGET),darwin)
+BATCHEXT=.sh
 EXEEXT=
 HASSHAREDLIB=1
 FPCMADE=fpcmade.darwin
@@ -545,24 +554,28 @@ FPCMADE=fpcmade.dos
 ZIPSUFFIX=watcom
 endif
 ifeq ($(OS_TARGET),linux)
+BATCHEXT=.sh
 EXEEXT=
 HASSHAREDLIB=1
 FPCMADE=fpcmade.lnx
 ZIPSUFFIX=linux
 endif
 ifeq ($(OS_TARGET),freebsd)
+BATCHEXT=.sh
 EXEEXT=
 HASSHAREDLIB=1
 FPCMADE=fpcmade.freebsd
 ZIPSUFFIX=freebsd
 endif
 ifeq ($(OS_TARGET),netbsd)
+BATCHEXT=.sh
 EXEEXT=
 HASSHAREDLIB=1
 FPCMADE=fpcmade.netbsd
 ZIPSUFFIX=netbsd
 endif
 ifeq ($(OS_TARGET),openbsd)
+BATCHEXT=.sh
 EXEEXT=
 HASSHAREDLIB=1
 FPCMADE=fpcmade.openbsd
@@ -579,6 +592,7 @@ FPCMADE=fpcmade.w32
 ZIPSUFFIX=w32
 endif
 ifeq ($(OS_TARGET),os2)
+BATCHEXT=.cmd
 PPUEXT=.ppo
 ASMEXT=.so2
 OEXT=.oo2
@@ -611,6 +625,7 @@ EXEEXT=.ttp
 FPCMADE=fpcmade.ata
 endif
 ifeq ($(OS_TARGET),beos)
+BATCHEXT=.sh
 PPUEXT=.ppu
 ASMEXT=.s
 OEXT=.o
@@ -621,6 +636,7 @@ FPCMADE=fpcmade.be
 ZIPSUFFIX=be
 endif
 ifeq ($(OS_TARGET),sunos)
+BATCHEXT=.sh
 PPUEXT=.ppu
 ASMEXT=.s
 OEXT=.o
@@ -631,6 +647,7 @@ FPCMADE=fpcmade.sun
 ZIPSUFFIX=sun
 endif
 ifeq ($(OS_TARGET),qnx)
+BATCHEXT=.sh
 PPUEXT=.ppu
 ASMEXT=.s
 OEXT=.o
@@ -653,13 +670,15 @@ ZIPSUFFIX=nw
 EXEEXT=.nlm
 endif
 ifeq ($(OS_TARGET),macos)
+BATCHEXT=
 PPUEXT=.ppu
 ASMEXT=.s
 OEXT=.o
 SMARTEXT=.sl
 STATICLIBEXT=.a
 EXEEXT=
-FPCMADE=fpcmade.mcc
+DEBUGSYMEXT=.xcoff
+FPCMADE=fpcmade.macos
 endif
 endif
 ifndef ECHO
@@ -667,7 +686,7 @@ ECHO:=$(strip $(wildcard $(addsuffix /gecho$(SRCEXEEXT),$(SEARCHPATH))))
 ifeq ($(ECHO),)
 ECHO:=$(strip $(wildcard $(addsuffix /echo$(SRCEXEEXT),$(SEARCHPATH))))
 ifeq ($(ECHO),)
-ECHO=
+ECHO= __missing_command__
 else
 ECHO:=$(firstword $(ECHO))
 endif
@@ -681,7 +700,7 @@ DATE:=$(strip $(wildcard $(addsuffix /gdate$(SRCEXEEXT),$(SEARCHPATH))))
 ifeq ($(DATE),)
 DATE:=$(strip $(wildcard $(addsuffix /date$(SRCEXEEXT),$(SEARCHPATH))))
 ifeq ($(DATE),)
-DATE=
+DATE= __missing_command__
 else
 DATE:=$(firstword $(DATE))
 endif
@@ -695,7 +714,7 @@ GINSTALL:=$(strip $(wildcard $(addsuffix /ginstall$(SRCEXEEXT),$(SEARCHPATH))))
 ifeq ($(GINSTALL),)
 GINSTALL:=$(strip $(wildcard $(addsuffix /install$(SRCEXEEXT),$(SEARCHPATH))))
 ifeq ($(GINSTALL),)
-GINSTALL=
+GINSTALL= __missing_command__
 else
 GINSTALL:=$(firstword $(GINSTALL))
 endif
@@ -707,7 +726,7 @@ export GINSTALL
 ifndef CPPROG
 CPPROG:=$(strip $(wildcard $(addsuffix /cp$(SRCEXEEXT),$(SEARCHPATH))))
 ifeq ($(CPPROG),)
-CPPROG=
+CPPROG= __missing_command__
 else
 CPPROG:=$(firstword $(CPPROG))
 endif
@@ -716,7 +735,7 @@ export CPPROG
 ifndef RMPROG
 RMPROG:=$(strip $(wildcard $(addsuffix /rm$(SRCEXEEXT),$(SEARCHPATH))))
 ifeq ($(RMPROG),)
-RMPROG=
+RMPROG= __missing_command__
 else
 RMPROG:=$(firstword $(RMPROG))
 endif
@@ -725,7 +744,7 @@ export RMPROG
 ifndef MVPROG
 MVPROG:=$(strip $(wildcard $(addsuffix /mv$(SRCEXEEXT),$(SEARCHPATH))))
 ifeq ($(MVPROG),)
-MVPROG=
+MVPROG= __missing_command__
 else
 MVPROG:=$(firstword $(MVPROG))
 endif
@@ -774,7 +793,7 @@ export ECHOREDIR COPY COPYTREE MOVE DEL DELTREE INSTALL INSTALLEXE MKDIR
 ifndef PPUMOVE
 PPUMOVE:=$(strip $(wildcard $(addsuffix /ppumove$(SRCEXEEXT),$(SEARCHPATH))))
 ifeq ($(PPUMOVE),)
-PPUMOVE=
+PPUMOVE= __missing_command__
 else
 PPUMOVE:=$(firstword $(PPUMOVE))
 endif
@@ -783,7 +802,7 @@ export PPUMOVE
 ifndef FPCMAKE
 FPCMAKE:=$(strip $(wildcard $(addsuffix /fpcmake$(SRCEXEEXT),$(SEARCHPATH))))
 ifeq ($(FPCMAKE),)
-FPCMAKE=
+FPCMAKE= __missing_command__
 else
 FPCMAKE:=$(firstword $(FPCMAKE))
 endif
@@ -792,7 +811,7 @@ export FPCMAKE
 ifndef ZIPPROG
 ZIPPROG:=$(strip $(wildcard $(addsuffix /zip$(SRCEXEEXT),$(SEARCHPATH))))
 ifeq ($(ZIPPROG),)
-ZIPPROG=
+ZIPPROG= __missing_command__
 else
 ZIPPROG:=$(firstword $(ZIPPROG))
 endif
@@ -801,7 +820,7 @@ export ZIPPROG
 ifndef TARPROG
 TARPROG:=$(strip $(wildcard $(addsuffix /tar$(SRCEXEEXT),$(SEARCHPATH))))
 ifeq ($(TARPROG),)
-TARPROG=
+TARPROG= __missing_command__
 else
 TARPROG:=$(firstword $(TARPROG))
 endif
@@ -813,9 +832,11 @@ ARNAME=$(BINUTILSPREFIX)ar
 RCNAME=$(BINUTILSPREFIX)rc
 ifneq ($(findstring 1.0.,$(FPC_VERSION)),)
 ifeq ($(OS_TARGET),win32)
-ASNAME=as
-LDNAME=ld
-ARNAME=ar
+ifeq ($(CROSSBINDIR),)
+ASNAME=asw
+LDNAME=ldw
+ARNAME=arw
+endif
 endif
 endif
 ifndef ASPROG
@@ -850,7 +871,7 @@ AS=$(ASPROG)
 LD=$(LDPROG)
 RC=$(RCPROG)
 AR=$(ARPROG)
-PPAS=ppas$(BATCHEXT)
+PPAS=ppas$(SRCBATCHEXT)
 ifdef inUnix
 LDCONFIG=ldconfig
 else
@@ -915,6 +936,11 @@ ifeq ($(CPU_TARGET),x86_64)
 REQUIRE_PACKAGES_RTL=1
 endif
 endif
+ifeq ($(OS_TARGET),linux)
+ifeq ($(CPU_TARGET),arm)
+REQUIRE_PACKAGES_RTL=1
+endif
+endif
 ifeq ($(OS_TARGET),go32v2)
 ifeq ($(CPU_TARGET),i386)
 REQUIRE_PACKAGES_RTL=1
@@ -1104,8 +1130,12 @@ ifdef RELEASE
 ifeq ($(CPU_TARGET),i386)
 FPCCPUOPT:=-OG2p3
 else
+ifeq ($(CPU_TARGET),powerpc)
+FPCCPUOPT:=-O1
+else
 FPCCPUOPT:=
 endif
+endif
 override FPCOPT+=-Xs $(FPCCPUOPT) -n
 override FPCOPTDEF+=RELEASE
 endif
@@ -1312,6 +1342,9 @@ override CLEANPPUFILES+=$(addsuffix $(PPUEXT),$(CLEAN_UNITS))
 endif
 ifdef 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 CLEANPPULINKFILES:=$(wildcard $(addprefix $(UNITTARGETDIRPREFIX),$(CLEANPPULINKFILES)))
 endif
@@ -1335,6 +1368,7 @@ ifdef LIB_NAME
 	-$(DEL) $(LIB_NAME) $(LIB_FULLNAME)
 endif
 	-$(DEL) $(FPCMADE) Package.fpc $(PPAS) script.res link.res $(FPCEXTFILE) $(REDIRFILE)
+	-$(DEL) *$(ASMEXT) *_ppas$(BATCHEXT)
 fpc_distclean: clean
 ifdef COMPILER_UNITTARGETDIR
 TARGETDIRCLEAN=fpc_clean
@@ -1346,9 +1380,13 @@ endif
 	-$(DEL) *$(OEXT) *$(PPUEXT) *$(RSTEXT) *$(ASMEXT) *$(STATICLIBEXT) *$(SHAREDLIBEXT) *$(PPLEXT)
 	-$(DELTREE) *$(SMARTEXT)
 	-$(DEL) $(FPCMADE) Package.fpc $(PPAS) script.res link.res $(FPCEXTFILE) $(REDIRFILE)
+	-$(DEL) *_ppas$(BATCHEXT)
 ifdef AOUTEXT
 	-$(DEL) *$(AOUTEXT)
 endif
+ifdef DEBUGSYMEXT
+	-$(DEL) *$(DEBUGSYMEXT)
+endif
 .PHONY: fpc_baseinfo
 override INFORULES+=fpc_baseinfo
 fpc_baseinfo:

+ 108 - 70
demo/win32/Makefile

@@ -1,15 +1,24 @@
 #
-# Don't edit, this file is generated by FPCMake Version 1.1 [2004/01/05]
+# Don't edit, this file is generated by FPCMake Version 1.1 [2004/04/21]
 #
 default: all
 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:=$(subst \,/,$(PATH))
+ifneq ($(findstring darwin,$(OSTYPE)),)
+inUnix=1 #darwin
+SEARCHPATH:=$(filter-out .,$(subst :, ,$(PATH)))
+else
 ifeq ($(findstring ;,$(PATH)),)
 inUnix=1
 SEARCHPATH:=$(filter-out .,$(subst :, ,$(PATH)))
 else
 SEARCHPATH:=$(subst ;, ,$(PATH))
 endif
+endif
 SEARCHPATH+=$(patsubst %/,%,$(subst \,/,$(dir $(MAKE))))
 PWD:=$(strip $(wildcard $(addsuffix /pwd.exe,$(SEARCHPATH))))
 ifeq ($(PWD),)
@@ -37,22 +46,13 @@ ifneq ($(findstring cygdrive,$(PATH)),)
 inCygWin=1
 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
-BATCHEXT=.sh
+SRCBATCHEXT=.sh
 else
 ifdef inOS2
-BATCHEXT=.cmd
+SRCBATCHEXT=.cmd
 else
-BATCHEXT=.bat
+SRCBATCHEXT=.bat
 endif
 endif
 ifdef inUnix
@@ -155,6 +155,12 @@ ifeq ($(findstring $(OS_TARGET),$(MAKEFILETARGETS)),)
 $(error The Makefile doesn't support target $(OS_TARGET), please run fpcmake first)
 endif
 endif
+ifneq ($(findstring $(OS_TARGET),$(BSDs)),)
+BSDhier=1
+endif
+ifeq ($(OS_TARGET),linux)
+linuxHier=1
+endif
 export OS_TARGET OS_SOURCE CPU_TARGET CPU_SOURCE FULL_TARGET FULL_SOURCE CROSSCOMPILE
 ifdef FPCDIR
 override FPCDIR:=$(subst \,/,$(FPCDIR))
@@ -184,11 +190,14 @@ override FPCDIR:=$(FPCDIR)/..
 ifeq ($(wildcard $(addprefix $(FPCDIR)/,rtl units)),)
 override FPCDIR:=$(FPCDIR)/..
 ifeq ($(wildcard $(addprefix $(FPCDIR)/,rtl units)),)
+override FPCDIR:=$(BASEDIR)
+ifeq ($(wildcard $(addprefix $(FPCDIR)/,rtl units)),)
 override FPCDIR=c:/pp
 endif
 endif
 endif
 endif
+endif
 ifndef CROSSDIR
 CROSSDIR:=$(FPCDIR)/cross/$(FULL_TARGET)
 endif
@@ -214,42 +223,12 @@ 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
-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
 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
 ifndef INSTALL_PREFIX
@@ -258,7 +237,7 @@ INSTALL_PREFIX=$(PREFIX)
 endif
 endif
 ifndef INSTALL_PREFIX
-ifdef UNIXINSTALLDIR
+ifdef UNIXHier
 INSTALL_PREFIX=/usr/local
 else
 ifdef INSTALL_FPCPACKAGE
@@ -277,7 +256,7 @@ DIST_DESTDIR:=$(BASEDIR)
 endif
 export DIST_DESTDIR
 ifndef INSTALL_BASEDIR
-ifdef UNIXINSTALLDIR
+ifdef UNIXHier
 ifdef INSTALL_FPCPACKAGE
 INSTALL_BASEDIR:=$(INSTALL_PREFIX)/lib/fpc/$(FPC_VERSION)
 else
@@ -288,7 +267,7 @@ INSTALL_BASEDIR:=$(INSTALL_PREFIX)
 endif
 endif
 ifndef INSTALL_BINDIR
-ifdef UNIXINSTALLDIR
+ifdef UNIXHier
 ifdef CROSSCOMPILE
 INSTALL_BINDIR:=$(INSTALL_BASEDIR)/cross/$(FULL_TARGET)/bin
 else
@@ -318,19 +297,23 @@ endif
 endif
 endif
 ifndef INSTALL_LIBDIR
-ifdef UNIXINSTALLDIR
+ifdef UNIXHier
 INSTALL_LIBDIR:=$(INSTALL_PREFIX)/lib
 else
 INSTALL_LIBDIR:=$(INSTALL_UNITDIR)
 endif
 endif
 ifndef INSTALL_SOURCEDIR
-ifdef UNIXINSTALLDIR
+ifdef UNIXHier
 ifdef BSDhier
 SRCPREFIXDIR=share/src
 else
+ifdef linuxHier
+SRCPREFIXDIR=share/src
+else
 SRCPREFIXDIR=src
 endif
+endif
 ifdef INSTALL_FPCPACKAGE
 ifdef INSTALL_FPCSUBDIR
 INSTALL_SOURCEDIR:=$(INSTALL_PREFIX)/$(SRCPREFIXDIR)/fpc-$(FPC_VERSION)/$(INSTALL_FPCSUBDIR)/$(PACKAGE_NAME)
@@ -353,12 +336,16 @@ endif
 endif
 endif
 ifndef INSTALL_DOCDIR
-ifdef UNIXINSTALLDIR
+ifdef UNIXHier
 ifdef BSDhier
 DOCPREFIXDIR=share/doc
 else
+ifdef linuxHier
+DOCPREFIXDIR=share/doc
+else
 DOCPREFIXDIR=doc
 endif
+endif
 ifdef INSTALL_FPCPACKAGE
 INSTALL_DOCDIR:=$(INSTALL_PREFIX)/$(DOCPREFIXDIR)/fpc-$(FPC_VERSION)/$(PACKAGE_NAME)
 else
@@ -373,20 +360,28 @@ endif
 endif
 endif
 ifndef INSTALL_EXAMPLEDIR
-ifdef UNIXINSTALLDIR
+ifdef UNIXHier
 ifdef INSTALL_FPCPACKAGE
 ifdef BSDhier
 INSTALL_EXAMPLEDIR:=$(INSTALL_PREFIX)/share/examples/fpc-$(FPC_VERSION)/$(PACKAGE_NAME)
 else
+ifdef linuxHier
+INSTALL_EXAMPLEDIR:=$(INSTALL_DOCDIR)/examples/fpc-$(FPC_VERSION)/$(PACKAGE_NAME)
+else
 INSTALL_EXAMPLEDIR:=$(INSTALL_PREFIX)/doc/fpc-$(FPC_VERSION)/examples/$(PACKAGE_NAME)
 endif
+endif
 else
 ifdef BSDhier
 INSTALL_EXAMPLEDIR:=$(INSTALL_PREFIX)/share/examples/$(PACKAGE_NAME)-$(PACKAGE_VERSION)
 else
+ifdef linuxHier
+INSTALL_EXAMPLEDIR:=$(INSTALL_DOCDIR)/examples/$(PACKAGE_NAME)-$(PACKAGE_VERSION)
+else
 INSTALL_EXAMPLEDIR:=$(INSTALL_PREFIX)/doc/$(PACKAGE_NAME)-$(PACKAGE_VERSION)
 endif
 endif
+endif
 else
 ifdef INSTALL_FPCPACKAGE
 INSTALL_EXAMPLEDIR:=$(INSTALL_BASEDIR)/examples/$(PACKAGE_NAME)
@@ -408,6 +403,7 @@ endif
 else
 CROSSBINDIR=
 endif
+BATCHEXT=.bat
 LOADEREXT=.as
 EXEEXT=.exe
 PPLEXT=.ppl
@@ -440,24 +436,28 @@ ASMEXT=.asm
 SHAREDLIBEXT=.dll
 endif
 ifeq ($(OS_TARGET),linux)
+BATCHEXT=.sh
 EXEEXT=
 HASSHAREDLIB=1
 FPCMADE=fpcmade.lnx
 ZIPSUFFIX=linux
 endif
 ifeq ($(OS_TARGET),freebsd)
+BATCHEXT=.sh
 EXEEXT=
 HASSHAREDLIB=1
 FPCMADE=fpcmade.freebsd
 ZIPSUFFIX=freebsd
 endif
 ifeq ($(OS_TARGET),netbsd)
+BATCHEXT=.sh
 EXEEXT=
 HASSHAREDLIB=1
 FPCMADE=fpcmade.netbsd
 ZIPSUFFIX=netbsd
 endif
 ifeq ($(OS_TARGET),openbsd)
+BATCHEXT=.sh
 EXEEXT=
 HASSHAREDLIB=1
 FPCMADE=fpcmade.openbsd
@@ -469,6 +469,7 @@ FPCMADE=fpcmade.w32
 ZIPSUFFIX=w32
 endif
 ifeq ($(OS_TARGET),os2)
+BATCHEXT=.cmd
 AOUTEXT=.out
 STATICLIBPREFIX=
 SHAREDLIBEXT=.dll
@@ -477,6 +478,7 @@ ZIPSUFFIX=os2
 ECHO=echo
 endif
 ifeq ($(OS_TARGET),emx)
+BATCHEXT=.cmd
 AOUTEXT=.out
 STATICLIBPREFIX=
 SHAREDLIBEXT=.dll
@@ -494,16 +496,19 @@ EXEEXT=.ttp
 FPCMADE=fpcmade.ata
 endif
 ifeq ($(OS_TARGET),beos)
+BATCHEXT=.sh
 EXEEXT=
 FPCMADE=fpcmade.be
 ZIPSUFFIX=be
 endif
 ifeq ($(OS_TARGET),sunos)
+BATCHEXT=.sh
 EXEEXT=
 FPCMADE=fpcmade.sun
 ZIPSUFFIX=sun
 endif
 ifeq ($(OS_TARGET),qnx)
+BATCHEXT=.sh
 EXEEXT=
 FPCMADE=fpcmade.qnx
 ZIPSUFFIX=qnx
@@ -515,10 +520,14 @@ FPCMADE=fpcmade.nw
 ZIPSUFFIX=nw
 endif
 ifeq ($(OS_TARGET),macos)
+BATCHEXT=
 EXEEXT=
-FPCMADE=fpcmade.mcc
+FPCMADE=fpcmade.macos
+ZIPSUFFIX=macos
+DEBUGSYMEXT=.xcoff
 endif
 ifeq ($(OS_TARGET),darwin)
+BATCHEXT=.sh
 EXEEXT=
 HASSHAREDLIB=1
 FPCMADE=fpcmade.darwin
@@ -547,24 +556,28 @@ FPCMADE=fpcmade.dos
 ZIPSUFFIX=watcom
 endif
 ifeq ($(OS_TARGET),linux)
+BATCHEXT=.sh
 EXEEXT=
 HASSHAREDLIB=1
 FPCMADE=fpcmade.lnx
 ZIPSUFFIX=linux
 endif
 ifeq ($(OS_TARGET),freebsd)
+BATCHEXT=.sh
 EXEEXT=
 HASSHAREDLIB=1
 FPCMADE=fpcmade.freebsd
 ZIPSUFFIX=freebsd
 endif
 ifeq ($(OS_TARGET),netbsd)
+BATCHEXT=.sh
 EXEEXT=
 HASSHAREDLIB=1
 FPCMADE=fpcmade.netbsd
 ZIPSUFFIX=netbsd
 endif
 ifeq ($(OS_TARGET),openbsd)
+BATCHEXT=.sh
 EXEEXT=
 HASSHAREDLIB=1
 FPCMADE=fpcmade.openbsd
@@ -581,6 +594,7 @@ FPCMADE=fpcmade.w32
 ZIPSUFFIX=w32
 endif
 ifeq ($(OS_TARGET),os2)
+BATCHEXT=.cmd
 PPUEXT=.ppo
 ASMEXT=.so2
 OEXT=.oo2
@@ -613,6 +627,7 @@ EXEEXT=.ttp
 FPCMADE=fpcmade.ata
 endif
 ifeq ($(OS_TARGET),beos)
+BATCHEXT=.sh
 PPUEXT=.ppu
 ASMEXT=.s
 OEXT=.o
@@ -623,6 +638,7 @@ FPCMADE=fpcmade.be
 ZIPSUFFIX=be
 endif
 ifeq ($(OS_TARGET),sunos)
+BATCHEXT=.sh
 PPUEXT=.ppu
 ASMEXT=.s
 OEXT=.o
@@ -633,6 +649,7 @@ FPCMADE=fpcmade.sun
 ZIPSUFFIX=sun
 endif
 ifeq ($(OS_TARGET),qnx)
+BATCHEXT=.sh
 PPUEXT=.ppu
 ASMEXT=.s
 OEXT=.o
@@ -655,13 +672,15 @@ ZIPSUFFIX=nw
 EXEEXT=.nlm
 endif
 ifeq ($(OS_TARGET),macos)
+BATCHEXT=
 PPUEXT=.ppu
 ASMEXT=.s
 OEXT=.o
 SMARTEXT=.sl
 STATICLIBEXT=.a
 EXEEXT=
-FPCMADE=fpcmade.mcc
+DEBUGSYMEXT=.xcoff
+FPCMADE=fpcmade.macos
 endif
 endif
 ifndef ECHO
@@ -669,7 +688,7 @@ ECHO:=$(strip $(wildcard $(addsuffix /gecho$(SRCEXEEXT),$(SEARCHPATH))))
 ifeq ($(ECHO),)
 ECHO:=$(strip $(wildcard $(addsuffix /echo$(SRCEXEEXT),$(SEARCHPATH))))
 ifeq ($(ECHO),)
-ECHO=
+ECHO= __missing_command__
 else
 ECHO:=$(firstword $(ECHO))
 endif
@@ -683,7 +702,7 @@ DATE:=$(strip $(wildcard $(addsuffix /gdate$(SRCEXEEXT),$(SEARCHPATH))))
 ifeq ($(DATE),)
 DATE:=$(strip $(wildcard $(addsuffix /date$(SRCEXEEXT),$(SEARCHPATH))))
 ifeq ($(DATE),)
-DATE=
+DATE= __missing_command__
 else
 DATE:=$(firstword $(DATE))
 endif
@@ -697,7 +716,7 @@ GINSTALL:=$(strip $(wildcard $(addsuffix /ginstall$(SRCEXEEXT),$(SEARCHPATH))))
 ifeq ($(GINSTALL),)
 GINSTALL:=$(strip $(wildcard $(addsuffix /install$(SRCEXEEXT),$(SEARCHPATH))))
 ifeq ($(GINSTALL),)
-GINSTALL=
+GINSTALL= __missing_command__
 else
 GINSTALL:=$(firstword $(GINSTALL))
 endif
@@ -709,7 +728,7 @@ export GINSTALL
 ifndef CPPROG
 CPPROG:=$(strip $(wildcard $(addsuffix /cp$(SRCEXEEXT),$(SEARCHPATH))))
 ifeq ($(CPPROG),)
-CPPROG=
+CPPROG= __missing_command__
 else
 CPPROG:=$(firstword $(CPPROG))
 endif
@@ -718,7 +737,7 @@ export CPPROG
 ifndef RMPROG
 RMPROG:=$(strip $(wildcard $(addsuffix /rm$(SRCEXEEXT),$(SEARCHPATH))))
 ifeq ($(RMPROG),)
-RMPROG=
+RMPROG= __missing_command__
 else
 RMPROG:=$(firstword $(RMPROG))
 endif
@@ -727,7 +746,7 @@ export RMPROG
 ifndef MVPROG
 MVPROG:=$(strip $(wildcard $(addsuffix /mv$(SRCEXEEXT),$(SEARCHPATH))))
 ifeq ($(MVPROG),)
-MVPROG=
+MVPROG= __missing_command__
 else
 MVPROG:=$(firstword $(MVPROG))
 endif
@@ -776,7 +795,7 @@ export ECHOREDIR COPY COPYTREE MOVE DEL DELTREE INSTALL INSTALLEXE MKDIR
 ifndef PPUMOVE
 PPUMOVE:=$(strip $(wildcard $(addsuffix /ppumove$(SRCEXEEXT),$(SEARCHPATH))))
 ifeq ($(PPUMOVE),)
-PPUMOVE=
+PPUMOVE= __missing_command__
 else
 PPUMOVE:=$(firstword $(PPUMOVE))
 endif
@@ -785,7 +804,7 @@ export PPUMOVE
 ifndef FPCMAKE
 FPCMAKE:=$(strip $(wildcard $(addsuffix /fpcmake$(SRCEXEEXT),$(SEARCHPATH))))
 ifeq ($(FPCMAKE),)
-FPCMAKE=
+FPCMAKE= __missing_command__
 else
 FPCMAKE:=$(firstword $(FPCMAKE))
 endif
@@ -794,7 +813,7 @@ export FPCMAKE
 ifndef ZIPPROG
 ZIPPROG:=$(strip $(wildcard $(addsuffix /zip$(SRCEXEEXT),$(SEARCHPATH))))
 ifeq ($(ZIPPROG),)
-ZIPPROG=
+ZIPPROG= __missing_command__
 else
 ZIPPROG:=$(firstword $(ZIPPROG))
 endif
@@ -803,7 +822,7 @@ export ZIPPROG
 ifndef TARPROG
 TARPROG:=$(strip $(wildcard $(addsuffix /tar$(SRCEXEEXT),$(SEARCHPATH))))
 ifeq ($(TARPROG),)
-TARPROG=
+TARPROG= __missing_command__
 else
 TARPROG:=$(firstword $(TARPROG))
 endif
@@ -815,9 +834,11 @@ ARNAME=$(BINUTILSPREFIX)ar
 RCNAME=$(BINUTILSPREFIX)rc
 ifneq ($(findstring 1.0.,$(FPC_VERSION)),)
 ifeq ($(OS_TARGET),win32)
-ASNAME=as
-LDNAME=ld
-ARNAME=ar
+ifeq ($(CROSSBINDIR),)
+ASNAME=asw
+LDNAME=ldw
+ARNAME=arw
+endif
 endif
 endif
 ifndef ASPROG
@@ -852,7 +873,7 @@ AS=$(ASPROG)
 LD=$(LDPROG)
 RC=$(RCPROG)
 AR=$(ARPROG)
-PPAS=ppas$(BATCHEXT)
+PPAS=ppas$(SRCBATCHEXT)
 ifdef inUnix
 LDCONFIG=ldconfig
 else
@@ -917,6 +938,11 @@ ifeq ($(CPU_TARGET),x86_64)
 REQUIRE_PACKAGES_RTL=1
 endif
 endif
+ifeq ($(OS_TARGET),linux)
+ifeq ($(CPU_TARGET),arm)
+REQUIRE_PACKAGES_RTL=1
+endif
+endif
 ifeq ($(OS_TARGET),go32v2)
 ifeq ($(CPU_TARGET),i386)
 REQUIRE_PACKAGES_RTL=1
@@ -1106,8 +1132,12 @@ ifdef RELEASE
 ifeq ($(CPU_TARGET),i386)
 FPCCPUOPT:=-OG2p3
 else
+ifeq ($(CPU_TARGET),powerpc)
+FPCCPUOPT:=-O1
+else
 FPCCPUOPT:=
 endif
+endif
 override FPCOPT+=-Xs $(FPCCPUOPT) -n
 override FPCOPTDEF+=RELEASE
 endif
@@ -1314,6 +1344,9 @@ override CLEANPPUFILES+=$(addsuffix $(PPUEXT),$(CLEAN_UNITS))
 endif
 ifdef 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 CLEANPPULINKFILES:=$(wildcard $(addprefix $(UNITTARGETDIRPREFIX),$(CLEANPPULINKFILES)))
 endif
@@ -1337,6 +1370,7 @@ ifdef LIB_NAME
 	-$(DEL) $(LIB_NAME) $(LIB_FULLNAME)
 endif
 	-$(DEL) $(FPCMADE) Package.fpc $(PPAS) script.res link.res $(FPCEXTFILE) $(REDIRFILE)
+	-$(DEL) *$(ASMEXT) *_ppas$(BATCHEXT)
 fpc_distclean: clean
 ifdef COMPILER_UNITTARGETDIR
 TARGETDIRCLEAN=fpc_clean
@@ -1348,9 +1382,13 @@ endif
 	-$(DEL) *$(OEXT) *$(PPUEXT) *$(RSTEXT) *$(ASMEXT) *$(STATICLIBEXT) *$(SHAREDLIBEXT) *$(PPLEXT)
 	-$(DELTREE) *$(SMARTEXT)
 	-$(DEL) $(FPCMADE) Package.fpc $(PPAS) script.res link.res $(FPCEXTFILE) $(REDIRFILE)
+	-$(DEL) *_ppas$(BATCHEXT)
 ifdef AOUTEXT
 	-$(DEL) *$(AOUTEXT)
 endif
+ifdef DEBUGSYMEXT
+	-$(DEL) *$(DEBUGSYMEXT)
+endif
 .PHONY: fpc_baseinfo
 override INFORULES+=fpc_baseinfo
 fpc_baseinfo:

+ 117 - 72
fcl/Makefile

@@ -1,15 +1,24 @@
 #
-# Don't edit, this file is generated by FPCMake Version 1.1 [2004/02/22]
+# Don't edit, this file is generated by FPCMake Version 1.1 [2004/04/21]
 #
 default: all
 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:=$(subst \,/,$(PATH))
+ifneq ($(findstring darwin,$(OSTYPE)),)
+inUnix=1 #darwin
+SEARCHPATH:=$(filter-out .,$(subst :, ,$(PATH)))
+else
 ifeq ($(findstring ;,$(PATH)),)
 inUnix=1
 SEARCHPATH:=$(filter-out .,$(subst :, ,$(PATH)))
 else
 SEARCHPATH:=$(subst ;, ,$(PATH))
 endif
+endif
 SEARCHPATH+=$(patsubst %/,%,$(subst \,/,$(dir $(MAKE))))
 PWD:=$(strip $(wildcard $(addsuffix /pwd.exe,$(SEARCHPATH))))
 ifeq ($(PWD),)
@@ -37,22 +46,13 @@ ifneq ($(findstring cygdrive,$(PATH)),)
 inCygWin=1
 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
-BATCHEXT=.sh
+SRCBATCHEXT=.sh
 else
 ifdef inOS2
-BATCHEXT=.cmd
+SRCBATCHEXT=.cmd
 else
-BATCHEXT=.bat
+SRCBATCHEXT=.bat
 endif
 endif
 ifdef inUnix
@@ -155,6 +155,12 @@ ifeq ($(findstring $(OS_TARGET),$(MAKEFILETARGETS)),)
 $(error The Makefile doesn't support target $(OS_TARGET), please run fpcmake first)
 endif
 endif
+ifneq ($(findstring $(OS_TARGET),$(BSDs)),)
+BSDhier=1
+endif
+ifeq ($(OS_TARGET),linux)
+linuxHier=1
+endif
 export OS_TARGET OS_SOURCE CPU_TARGET CPU_SOURCE FULL_TARGET FULL_SOURCE CROSSCOMPILE
 ifdef FPCDIR
 override FPCDIR:=$(subst \,/,$(FPCDIR))
@@ -247,6 +253,9 @@ endif
 ifeq ($(OS_TARGET),freebsd)
 override COMPILER_INCLUDEDIR+=unix
 endif
+ifeq ($(OS_TARGET),beos)
+override COMPILER_INCLUDEDIR+=posix
+endif
 ifeq ($(OS_TARGET),netbsd)
 override COMPILER_INCLUDEDIR+=unix
 endif
@@ -274,42 +283,12 @@ 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
-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
 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
 ifndef INSTALL_PREFIX
@@ -318,7 +297,7 @@ INSTALL_PREFIX=$(PREFIX)
 endif
 endif
 ifndef INSTALL_PREFIX
-ifdef UNIXINSTALLDIR
+ifdef UNIXHier
 INSTALL_PREFIX=/usr/local
 else
 ifdef INSTALL_FPCPACKAGE
@@ -337,7 +316,7 @@ DIST_DESTDIR:=$(BASEDIR)
 endif
 export DIST_DESTDIR
 ifndef INSTALL_BASEDIR
-ifdef UNIXINSTALLDIR
+ifdef UNIXHier
 ifdef INSTALL_FPCPACKAGE
 INSTALL_BASEDIR:=$(INSTALL_PREFIX)/lib/fpc/$(FPC_VERSION)
 else
@@ -348,7 +327,7 @@ INSTALL_BASEDIR:=$(INSTALL_PREFIX)
 endif
 endif
 ifndef INSTALL_BINDIR
-ifdef UNIXINSTALLDIR
+ifdef UNIXHier
 ifdef CROSSCOMPILE
 INSTALL_BINDIR:=$(INSTALL_BASEDIR)/cross/$(FULL_TARGET)/bin
 else
@@ -378,19 +357,23 @@ endif
 endif
 endif
 ifndef INSTALL_LIBDIR
-ifdef UNIXINSTALLDIR
+ifdef UNIXHier
 INSTALL_LIBDIR:=$(INSTALL_PREFIX)/lib
 else
 INSTALL_LIBDIR:=$(INSTALL_UNITDIR)
 endif
 endif
 ifndef INSTALL_SOURCEDIR
-ifdef UNIXINSTALLDIR
+ifdef UNIXHier
 ifdef BSDhier
 SRCPREFIXDIR=share/src
 else
+ifdef linuxHier
+SRCPREFIXDIR=share/src
+else
 SRCPREFIXDIR=src
 endif
+endif
 ifdef INSTALL_FPCPACKAGE
 ifdef INSTALL_FPCSUBDIR
 INSTALL_SOURCEDIR:=$(INSTALL_PREFIX)/$(SRCPREFIXDIR)/fpc-$(FPC_VERSION)/$(INSTALL_FPCSUBDIR)/$(PACKAGE_NAME)
@@ -413,12 +396,16 @@ endif
 endif
 endif
 ifndef INSTALL_DOCDIR
-ifdef UNIXINSTALLDIR
+ifdef UNIXHier
 ifdef BSDhier
 DOCPREFIXDIR=share/doc
 else
+ifdef linuxHier
+DOCPREFIXDIR=share/doc
+else
 DOCPREFIXDIR=doc
 endif
+endif
 ifdef INSTALL_FPCPACKAGE
 INSTALL_DOCDIR:=$(INSTALL_PREFIX)/$(DOCPREFIXDIR)/fpc-$(FPC_VERSION)/$(PACKAGE_NAME)
 else
@@ -433,20 +420,28 @@ endif
 endif
 endif
 ifndef INSTALL_EXAMPLEDIR
-ifdef UNIXINSTALLDIR
+ifdef UNIXHier
 ifdef INSTALL_FPCPACKAGE
 ifdef BSDhier
 INSTALL_EXAMPLEDIR:=$(INSTALL_PREFIX)/share/examples/fpc-$(FPC_VERSION)/$(PACKAGE_NAME)
 else
+ifdef linuxHier
+INSTALL_EXAMPLEDIR:=$(INSTALL_DOCDIR)/examples/fpc-$(FPC_VERSION)/$(PACKAGE_NAME)
+else
 INSTALL_EXAMPLEDIR:=$(INSTALL_PREFIX)/doc/fpc-$(FPC_VERSION)/examples/$(PACKAGE_NAME)
 endif
+endif
 else
 ifdef BSDhier
 INSTALL_EXAMPLEDIR:=$(INSTALL_PREFIX)/share/examples/$(PACKAGE_NAME)-$(PACKAGE_VERSION)
 else
+ifdef linuxHier
+INSTALL_EXAMPLEDIR:=$(INSTALL_DOCDIR)/examples/$(PACKAGE_NAME)-$(PACKAGE_VERSION)
+else
 INSTALL_EXAMPLEDIR:=$(INSTALL_PREFIX)/doc/$(PACKAGE_NAME)-$(PACKAGE_VERSION)
 endif
 endif
+endif
 else
 ifdef INSTALL_FPCPACKAGE
 INSTALL_EXAMPLEDIR:=$(INSTALL_BASEDIR)/examples/$(PACKAGE_NAME)
@@ -470,7 +465,19 @@ CROSSBINDIR=
 endif
 ifeq ($(OS_SOURCE),linux)
 ifndef GCCLIBDIR
-GCCLIBDIR:=$(shell dirname `gcc -print-libgcc-file-name`)
+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
 ifndef OTHERLIBDIR
 OTHERLIBDIR:=$(shell grep -v "^\#" /etc/ld.so.conf | awk '{ ORS=" "; print $1 }')
@@ -482,6 +489,7 @@ OTHERLIBDIR+=/usr/pkg/lib
 endif
 export GCCLIBDIR OTHERLIB
 endif
+BATCHEXT=.bat
 LOADEREXT=.as
 EXEEXT=.exe
 PPLEXT=.ppl
@@ -514,24 +522,28 @@ ASMEXT=.asm
 SHAREDLIBEXT=.dll
 endif
 ifeq ($(OS_TARGET),linux)
+BATCHEXT=.sh
 EXEEXT=
 HASSHAREDLIB=1
 FPCMADE=fpcmade.lnx
 ZIPSUFFIX=linux
 endif
 ifeq ($(OS_TARGET),freebsd)
+BATCHEXT=.sh
 EXEEXT=
 HASSHAREDLIB=1
 FPCMADE=fpcmade.freebsd
 ZIPSUFFIX=freebsd
 endif
 ifeq ($(OS_TARGET),netbsd)
+BATCHEXT=.sh
 EXEEXT=
 HASSHAREDLIB=1
 FPCMADE=fpcmade.netbsd
 ZIPSUFFIX=netbsd
 endif
 ifeq ($(OS_TARGET),openbsd)
+BATCHEXT=.sh
 EXEEXT=
 HASSHAREDLIB=1
 FPCMADE=fpcmade.openbsd
@@ -543,6 +555,7 @@ FPCMADE=fpcmade.w32
 ZIPSUFFIX=w32
 endif
 ifeq ($(OS_TARGET),os2)
+BATCHEXT=.cmd
 AOUTEXT=.out
 STATICLIBPREFIX=
 SHAREDLIBEXT=.dll
@@ -551,6 +564,7 @@ ZIPSUFFIX=os2
 ECHO=echo
 endif
 ifeq ($(OS_TARGET),emx)
+BATCHEXT=.cmd
 AOUTEXT=.out
 STATICLIBPREFIX=
 SHAREDLIBEXT=.dll
@@ -568,16 +582,19 @@ EXEEXT=.ttp
 FPCMADE=fpcmade.ata
 endif
 ifeq ($(OS_TARGET),beos)
+BATCHEXT=.sh
 EXEEXT=
 FPCMADE=fpcmade.be
 ZIPSUFFIX=be
 endif
 ifeq ($(OS_TARGET),sunos)
+BATCHEXT=.sh
 EXEEXT=
 FPCMADE=fpcmade.sun
 ZIPSUFFIX=sun
 endif
 ifeq ($(OS_TARGET),qnx)
+BATCHEXT=.sh
 EXEEXT=
 FPCMADE=fpcmade.qnx
 ZIPSUFFIX=qnx
@@ -589,10 +606,14 @@ FPCMADE=fpcmade.nw
 ZIPSUFFIX=nw
 endif
 ifeq ($(OS_TARGET),macos)
+BATCHEXT=
 EXEEXT=
-FPCMADE=fpcmade.mcc
+FPCMADE=fpcmade.macos
+ZIPSUFFIX=macos
+DEBUGSYMEXT=.xcoff
 endif
 ifeq ($(OS_TARGET),darwin)
+BATCHEXT=.sh
 EXEEXT=
 HASSHAREDLIB=1
 FPCMADE=fpcmade.darwin
@@ -621,24 +642,28 @@ FPCMADE=fpcmade.dos
 ZIPSUFFIX=watcom
 endif
 ifeq ($(OS_TARGET),linux)
+BATCHEXT=.sh
 EXEEXT=
 HASSHAREDLIB=1
 FPCMADE=fpcmade.lnx
 ZIPSUFFIX=linux
 endif
 ifeq ($(OS_TARGET),freebsd)
+BATCHEXT=.sh
 EXEEXT=
 HASSHAREDLIB=1
 FPCMADE=fpcmade.freebsd
 ZIPSUFFIX=freebsd
 endif
 ifeq ($(OS_TARGET),netbsd)
+BATCHEXT=.sh
 EXEEXT=
 HASSHAREDLIB=1
 FPCMADE=fpcmade.netbsd
 ZIPSUFFIX=netbsd
 endif
 ifeq ($(OS_TARGET),openbsd)
+BATCHEXT=.sh
 EXEEXT=
 HASSHAREDLIB=1
 FPCMADE=fpcmade.openbsd
@@ -655,6 +680,7 @@ FPCMADE=fpcmade.w32
 ZIPSUFFIX=w32
 endif
 ifeq ($(OS_TARGET),os2)
+BATCHEXT=.cmd
 PPUEXT=.ppo
 ASMEXT=.so2
 OEXT=.oo2
@@ -687,6 +713,7 @@ EXEEXT=.ttp
 FPCMADE=fpcmade.ata
 endif
 ifeq ($(OS_TARGET),beos)
+BATCHEXT=.sh
 PPUEXT=.ppu
 ASMEXT=.s
 OEXT=.o
@@ -697,6 +724,7 @@ FPCMADE=fpcmade.be
 ZIPSUFFIX=be
 endif
 ifeq ($(OS_TARGET),sunos)
+BATCHEXT=.sh
 PPUEXT=.ppu
 ASMEXT=.s
 OEXT=.o
@@ -707,6 +735,7 @@ FPCMADE=fpcmade.sun
 ZIPSUFFIX=sun
 endif
 ifeq ($(OS_TARGET),qnx)
+BATCHEXT=.sh
 PPUEXT=.ppu
 ASMEXT=.s
 OEXT=.o
@@ -729,13 +758,15 @@ ZIPSUFFIX=nw
 EXEEXT=.nlm
 endif
 ifeq ($(OS_TARGET),macos)
+BATCHEXT=
 PPUEXT=.ppu
 ASMEXT=.s
 OEXT=.o
 SMARTEXT=.sl
 STATICLIBEXT=.a
 EXEEXT=
-FPCMADE=fpcmade.mcc
+DEBUGSYMEXT=.xcoff
+FPCMADE=fpcmade.macos
 endif
 endif
 ifndef ECHO
@@ -743,7 +774,7 @@ ECHO:=$(strip $(wildcard $(addsuffix /gecho$(SRCEXEEXT),$(SEARCHPATH))))
 ifeq ($(ECHO),)
 ECHO:=$(strip $(wildcard $(addsuffix /echo$(SRCEXEEXT),$(SEARCHPATH))))
 ifeq ($(ECHO),)
-ECHO=
+ECHO= __missing_command__
 else
 ECHO:=$(firstword $(ECHO))
 endif
@@ -757,7 +788,7 @@ DATE:=$(strip $(wildcard $(addsuffix /gdate$(SRCEXEEXT),$(SEARCHPATH))))
 ifeq ($(DATE),)
 DATE:=$(strip $(wildcard $(addsuffix /date$(SRCEXEEXT),$(SEARCHPATH))))
 ifeq ($(DATE),)
-DATE=
+DATE= __missing_command__
 else
 DATE:=$(firstword $(DATE))
 endif
@@ -771,7 +802,7 @@ GINSTALL:=$(strip $(wildcard $(addsuffix /ginstall$(SRCEXEEXT),$(SEARCHPATH))))
 ifeq ($(GINSTALL),)
 GINSTALL:=$(strip $(wildcard $(addsuffix /install$(SRCEXEEXT),$(SEARCHPATH))))
 ifeq ($(GINSTALL),)
-GINSTALL=
+GINSTALL= __missing_command__
 else
 GINSTALL:=$(firstword $(GINSTALL))
 endif
@@ -783,7 +814,7 @@ export GINSTALL
 ifndef CPPROG
 CPPROG:=$(strip $(wildcard $(addsuffix /cp$(SRCEXEEXT),$(SEARCHPATH))))
 ifeq ($(CPPROG),)
-CPPROG=
+CPPROG= __missing_command__
 else
 CPPROG:=$(firstword $(CPPROG))
 endif
@@ -792,7 +823,7 @@ export CPPROG
 ifndef RMPROG
 RMPROG:=$(strip $(wildcard $(addsuffix /rm$(SRCEXEEXT),$(SEARCHPATH))))
 ifeq ($(RMPROG),)
-RMPROG=
+RMPROG= __missing_command__
 else
 RMPROG:=$(firstword $(RMPROG))
 endif
@@ -801,7 +832,7 @@ export RMPROG
 ifndef MVPROG
 MVPROG:=$(strip $(wildcard $(addsuffix /mv$(SRCEXEEXT),$(SEARCHPATH))))
 ifeq ($(MVPROG),)
-MVPROG=
+MVPROG= __missing_command__
 else
 MVPROG:=$(firstword $(MVPROG))
 endif
@@ -850,7 +881,7 @@ export ECHOREDIR COPY COPYTREE MOVE DEL DELTREE INSTALL INSTALLEXE MKDIR
 ifndef PPUMOVE
 PPUMOVE:=$(strip $(wildcard $(addsuffix /ppumove$(SRCEXEEXT),$(SEARCHPATH))))
 ifeq ($(PPUMOVE),)
-PPUMOVE=
+PPUMOVE= __missing_command__
 else
 PPUMOVE:=$(firstword $(PPUMOVE))
 endif
@@ -859,7 +890,7 @@ export PPUMOVE
 ifndef FPCMAKE
 FPCMAKE:=$(strip $(wildcard $(addsuffix /fpcmake$(SRCEXEEXT),$(SEARCHPATH))))
 ifeq ($(FPCMAKE),)
-FPCMAKE=
+FPCMAKE= __missing_command__
 else
 FPCMAKE:=$(firstword $(FPCMAKE))
 endif
@@ -868,7 +899,7 @@ export FPCMAKE
 ifndef ZIPPROG
 ZIPPROG:=$(strip $(wildcard $(addsuffix /zip$(SRCEXEEXT),$(SEARCHPATH))))
 ifeq ($(ZIPPROG),)
-ZIPPROG=
+ZIPPROG= __missing_command__
 else
 ZIPPROG:=$(firstword $(ZIPPROG))
 endif
@@ -877,7 +908,7 @@ export ZIPPROG
 ifndef TARPROG
 TARPROG:=$(strip $(wildcard $(addsuffix /tar$(SRCEXEEXT),$(SEARCHPATH))))
 ifeq ($(TARPROG),)
-TARPROG=
+TARPROG= __missing_command__
 else
 TARPROG:=$(firstword $(TARPROG))
 endif
@@ -889,9 +920,11 @@ ARNAME=$(BINUTILSPREFIX)ar
 RCNAME=$(BINUTILSPREFIX)rc
 ifneq ($(findstring 1.0.,$(FPC_VERSION)),)
 ifeq ($(OS_TARGET),win32)
-ASNAME=as
-LDNAME=ld
-ARNAME=ar
+ifeq ($(CROSSBINDIR),)
+ASNAME=asw
+LDNAME=ldw
+ARNAME=arw
+endif
 endif
 endif
 ifndef ASPROG
@@ -926,7 +959,7 @@ AS=$(ASPROG)
 LD=$(LDPROG)
 RC=$(RCPROG)
 AR=$(ARPROG)
-PPAS=ppas$(BATCHEXT)
+PPAS=ppas$(SRCBATCHEXT)
 ifdef inUnix
 LDCONFIG=ldconfig
 else
@@ -1570,8 +1603,12 @@ ifdef RELEASE
 ifeq ($(CPU_TARGET),i386)
 FPCCPUOPT:=-OG2p3
 else
+ifeq ($(CPU_TARGET),powerpc)
+FPCCPUOPT:=-O1
+else
 FPCCPUOPT:=
 endif
+endif
 override FPCOPT+=-Xs $(FPCCPUOPT) -n
 override FPCOPTDEF+=RELEASE
 endif
@@ -1821,7 +1858,7 @@ USEZIPWRAPPER=1
 endif
 ifdef USEZIPWRAPPER
 ZIPPATHSEP=$(PATHSEP)
-ZIPWRAPPER=$(subst /,$(PATHSEP),$(DIST_DESTDIR)/fpczip$(BATCHEXT))
+ZIPWRAPPER=$(subst /,$(PATHSEP),$(DIST_DESTDIR)/fpczip$(SRCBATCHEXT))
 else
 ZIPPATHSEP=/
 endif
@@ -1875,6 +1912,9 @@ override CLEANPPUFILES+=$(addsuffix $(PPUEXT),$(CLEAN_UNITS))
 endif
 ifdef 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 CLEANPPULINKFILES:=$(wildcard $(addprefix $(UNITTARGETDIRPREFIX),$(CLEANPPULINKFILES)))
 endif
@@ -1898,6 +1938,7 @@ ifdef LIB_NAME
 	-$(DEL) $(LIB_NAME) $(LIB_FULLNAME)
 endif
 	-$(DEL) $(FPCMADE) Package.fpc $(PPAS) script.res link.res $(FPCEXTFILE) $(REDIRFILE)
+	-$(DEL) *$(ASMEXT) *_ppas$(BATCHEXT)
 fpc_distclean: clean
 ifdef COMPILER_UNITTARGETDIR
 TARGETDIRCLEAN=fpc_clean
@@ -1909,9 +1950,13 @@ endif
 	-$(DEL) *$(OEXT) *$(PPUEXT) *$(RSTEXT) *$(ASMEXT) *$(STATICLIBEXT) *$(SHAREDLIBEXT) *$(PPLEXT)
 	-$(DELTREE) *$(SMARTEXT)
 	-$(DEL) $(FPCMADE) Package.fpc $(PPAS) script.res link.res $(FPCEXTFILE) $(REDIRFILE)
+	-$(DEL) *_ppas$(BATCHEXT)
 ifdef AOUTEXT
 	-$(DEL) *$(AOUTEXT)
 endif
+ifdef DEBUGSYMEXT
+	-$(DEL) *$(DEBUGSYMEXT)
+endif
 .PHONY: fpc_baseinfo
 override INFORULES+=fpc_baseinfo
 fpc_baseinfo:

+ 106 - 67
fcl/db/Makefile

@@ -1,15 +1,24 @@
 #
-# Don't edit, this file is generated by FPCMake Version 1.1 [2004/03/15]
+# Don't edit, this file is generated by FPCMake Version 1.1 [2004/04/21]
 #
 default: all
 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:=$(subst \,/,$(PATH))
+ifneq ($(findstring darwin,$(OSTYPE)),)
+inUnix=1 #darwin
+SEARCHPATH:=$(filter-out .,$(subst :, ,$(PATH)))
+else
 ifeq ($(findstring ;,$(PATH)),)
 inUnix=1
 SEARCHPATH:=$(filter-out .,$(subst :, ,$(PATH)))
 else
 SEARCHPATH:=$(subst ;, ,$(PATH))
 endif
+endif
 SEARCHPATH+=$(patsubst %/,%,$(subst \,/,$(dir $(MAKE))))
 PWD:=$(strip $(wildcard $(addsuffix /pwd.exe,$(SEARCHPATH))))
 ifeq ($(PWD),)
@@ -37,22 +46,13 @@ ifneq ($(findstring cygdrive,$(PATH)),)
 inCygWin=1
 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
-BATCHEXT=.sh
+SRCBATCHEXT=.sh
 else
 ifdef inOS2
-BATCHEXT=.cmd
+SRCBATCHEXT=.cmd
 else
-BATCHEXT=.bat
+SRCBATCHEXT=.bat
 endif
 endif
 ifdef inUnix
@@ -155,6 +155,12 @@ ifeq ($(findstring $(OS_TARGET),$(MAKEFILETARGETS)),)
 $(error The Makefile doesn't support target $(OS_TARGET), please run fpcmake first)
 endif
 endif
+ifneq ($(findstring $(OS_TARGET),$(BSDs)),)
+BSDhier=1
+endif
+ifeq ($(OS_TARGET),linux)
+linuxHier=1
+endif
 export OS_TARGET OS_SOURCE CPU_TARGET CPU_SOURCE FULL_TARGET FULL_SOURCE CROSSCOMPILE
 ifdef FPCDIR
 override FPCDIR:=$(subst \,/,$(FPCDIR))
@@ -240,42 +246,12 @@ 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
-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
 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
 ifndef INSTALL_PREFIX
@@ -284,7 +260,7 @@ INSTALL_PREFIX=$(PREFIX)
 endif
 endif
 ifndef INSTALL_PREFIX
-ifdef UNIXINSTALLDIR
+ifdef UNIXHier
 INSTALL_PREFIX=/usr/local
 else
 ifdef INSTALL_FPCPACKAGE
@@ -303,7 +279,7 @@ DIST_DESTDIR:=$(BASEDIR)
 endif
 export DIST_DESTDIR
 ifndef INSTALL_BASEDIR
-ifdef UNIXINSTALLDIR
+ifdef UNIXHier
 ifdef INSTALL_FPCPACKAGE
 INSTALL_BASEDIR:=$(INSTALL_PREFIX)/lib/fpc/$(FPC_VERSION)
 else
@@ -314,7 +290,7 @@ INSTALL_BASEDIR:=$(INSTALL_PREFIX)
 endif
 endif
 ifndef INSTALL_BINDIR
-ifdef UNIXINSTALLDIR
+ifdef UNIXHier
 ifdef CROSSCOMPILE
 INSTALL_BINDIR:=$(INSTALL_BASEDIR)/cross/$(FULL_TARGET)/bin
 else
@@ -344,19 +320,23 @@ endif
 endif
 endif
 ifndef INSTALL_LIBDIR
-ifdef UNIXINSTALLDIR
+ifdef UNIXHier
 INSTALL_LIBDIR:=$(INSTALL_PREFIX)/lib
 else
 INSTALL_LIBDIR:=$(INSTALL_UNITDIR)
 endif
 endif
 ifndef INSTALL_SOURCEDIR
-ifdef UNIXINSTALLDIR
+ifdef UNIXHier
 ifdef BSDhier
 SRCPREFIXDIR=share/src
 else
+ifdef linuxHier
+SRCPREFIXDIR=share/src
+else
 SRCPREFIXDIR=src
 endif
+endif
 ifdef INSTALL_FPCPACKAGE
 ifdef INSTALL_FPCSUBDIR
 INSTALL_SOURCEDIR:=$(INSTALL_PREFIX)/$(SRCPREFIXDIR)/fpc-$(FPC_VERSION)/$(INSTALL_FPCSUBDIR)/$(PACKAGE_NAME)
@@ -379,12 +359,16 @@ endif
 endif
 endif
 ifndef INSTALL_DOCDIR
-ifdef UNIXINSTALLDIR
+ifdef UNIXHier
 ifdef BSDhier
 DOCPREFIXDIR=share/doc
 else
+ifdef linuxHier
+DOCPREFIXDIR=share/doc
+else
 DOCPREFIXDIR=doc
 endif
+endif
 ifdef INSTALL_FPCPACKAGE
 INSTALL_DOCDIR:=$(INSTALL_PREFIX)/$(DOCPREFIXDIR)/fpc-$(FPC_VERSION)/$(PACKAGE_NAME)
 else
@@ -399,20 +383,28 @@ endif
 endif
 endif
 ifndef INSTALL_EXAMPLEDIR
-ifdef UNIXINSTALLDIR
+ifdef UNIXHier
 ifdef INSTALL_FPCPACKAGE
 ifdef BSDhier
 INSTALL_EXAMPLEDIR:=$(INSTALL_PREFIX)/share/examples/fpc-$(FPC_VERSION)/$(PACKAGE_NAME)
 else
+ifdef linuxHier
+INSTALL_EXAMPLEDIR:=$(INSTALL_DOCDIR)/examples/fpc-$(FPC_VERSION)/$(PACKAGE_NAME)
+else
 INSTALL_EXAMPLEDIR:=$(INSTALL_PREFIX)/doc/fpc-$(FPC_VERSION)/examples/$(PACKAGE_NAME)
 endif
+endif
 else
 ifdef BSDhier
 INSTALL_EXAMPLEDIR:=$(INSTALL_PREFIX)/share/examples/$(PACKAGE_NAME)-$(PACKAGE_VERSION)
 else
+ifdef linuxHier
+INSTALL_EXAMPLEDIR:=$(INSTALL_DOCDIR)/examples/$(PACKAGE_NAME)-$(PACKAGE_VERSION)
+else
 INSTALL_EXAMPLEDIR:=$(INSTALL_PREFIX)/doc/$(PACKAGE_NAME)-$(PACKAGE_VERSION)
 endif
 endif
+endif
 else
 ifdef INSTALL_FPCPACKAGE
 INSTALL_EXAMPLEDIR:=$(INSTALL_BASEDIR)/examples/$(PACKAGE_NAME)
@@ -436,7 +428,19 @@ CROSSBINDIR=
 endif
 ifeq ($(OS_SOURCE),linux)
 ifndef GCCLIBDIR
-GCCLIBDIR:=$(shell dirname `gcc -print-libgcc-file-name`)
+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
 ifndef OTHERLIBDIR
 OTHERLIBDIR:=$(shell grep -v "^\#" /etc/ld.so.conf | awk '{ ORS=" "; print $1 }')
@@ -448,6 +452,7 @@ OTHERLIBDIR+=/usr/pkg/lib
 endif
 export GCCLIBDIR OTHERLIB
 endif
+BATCHEXT=.bat
 LOADEREXT=.as
 EXEEXT=.exe
 PPLEXT=.ppl
@@ -480,24 +485,28 @@ ASMEXT=.asm
 SHAREDLIBEXT=.dll
 endif
 ifeq ($(OS_TARGET),linux)
+BATCHEXT=.sh
 EXEEXT=
 HASSHAREDLIB=1
 FPCMADE=fpcmade.lnx
 ZIPSUFFIX=linux
 endif
 ifeq ($(OS_TARGET),freebsd)
+BATCHEXT=.sh
 EXEEXT=
 HASSHAREDLIB=1
 FPCMADE=fpcmade.freebsd
 ZIPSUFFIX=freebsd
 endif
 ifeq ($(OS_TARGET),netbsd)
+BATCHEXT=.sh
 EXEEXT=
 HASSHAREDLIB=1
 FPCMADE=fpcmade.netbsd
 ZIPSUFFIX=netbsd
 endif
 ifeq ($(OS_TARGET),openbsd)
+BATCHEXT=.sh
 EXEEXT=
 HASSHAREDLIB=1
 FPCMADE=fpcmade.openbsd
@@ -509,6 +518,7 @@ FPCMADE=fpcmade.w32
 ZIPSUFFIX=w32
 endif
 ifeq ($(OS_TARGET),os2)
+BATCHEXT=.cmd
 AOUTEXT=.out
 STATICLIBPREFIX=
 SHAREDLIBEXT=.dll
@@ -517,6 +527,7 @@ ZIPSUFFIX=os2
 ECHO=echo
 endif
 ifeq ($(OS_TARGET),emx)
+BATCHEXT=.cmd
 AOUTEXT=.out
 STATICLIBPREFIX=
 SHAREDLIBEXT=.dll
@@ -534,16 +545,19 @@ EXEEXT=.ttp
 FPCMADE=fpcmade.ata
 endif
 ifeq ($(OS_TARGET),beos)
+BATCHEXT=.sh
 EXEEXT=
 FPCMADE=fpcmade.be
 ZIPSUFFIX=be
 endif
 ifeq ($(OS_TARGET),sunos)
+BATCHEXT=.sh
 EXEEXT=
 FPCMADE=fpcmade.sun
 ZIPSUFFIX=sun
 endif
 ifeq ($(OS_TARGET),qnx)
+BATCHEXT=.sh
 EXEEXT=
 FPCMADE=fpcmade.qnx
 ZIPSUFFIX=qnx
@@ -555,11 +569,14 @@ FPCMADE=fpcmade.nw
 ZIPSUFFIX=nw
 endif
 ifeq ($(OS_TARGET),macos)
+BATCHEXT=
 EXEEXT=
 FPCMADE=fpcmade.macos
 ZIPSUFFIX=macos
+DEBUGSYMEXT=.xcoff
 endif
 ifeq ($(OS_TARGET),darwin)
+BATCHEXT=.sh
 EXEEXT=
 HASSHAREDLIB=1
 FPCMADE=fpcmade.darwin
@@ -588,24 +605,28 @@ FPCMADE=fpcmade.dos
 ZIPSUFFIX=watcom
 endif
 ifeq ($(OS_TARGET),linux)
+BATCHEXT=.sh
 EXEEXT=
 HASSHAREDLIB=1
 FPCMADE=fpcmade.lnx
 ZIPSUFFIX=linux
 endif
 ifeq ($(OS_TARGET),freebsd)
+BATCHEXT=.sh
 EXEEXT=
 HASSHAREDLIB=1
 FPCMADE=fpcmade.freebsd
 ZIPSUFFIX=freebsd
 endif
 ifeq ($(OS_TARGET),netbsd)
+BATCHEXT=.sh
 EXEEXT=
 HASSHAREDLIB=1
 FPCMADE=fpcmade.netbsd
 ZIPSUFFIX=netbsd
 endif
 ifeq ($(OS_TARGET),openbsd)
+BATCHEXT=.sh
 EXEEXT=
 HASSHAREDLIB=1
 FPCMADE=fpcmade.openbsd
@@ -622,6 +643,7 @@ FPCMADE=fpcmade.w32
 ZIPSUFFIX=w32
 endif
 ifeq ($(OS_TARGET),os2)
+BATCHEXT=.cmd
 PPUEXT=.ppo
 ASMEXT=.so2
 OEXT=.oo2
@@ -654,6 +676,7 @@ EXEEXT=.ttp
 FPCMADE=fpcmade.ata
 endif
 ifeq ($(OS_TARGET),beos)
+BATCHEXT=.sh
 PPUEXT=.ppu
 ASMEXT=.s
 OEXT=.o
@@ -664,6 +687,7 @@ FPCMADE=fpcmade.be
 ZIPSUFFIX=be
 endif
 ifeq ($(OS_TARGET),sunos)
+BATCHEXT=.sh
 PPUEXT=.ppu
 ASMEXT=.s
 OEXT=.o
@@ -674,6 +698,7 @@ FPCMADE=fpcmade.sun
 ZIPSUFFIX=sun
 endif
 ifeq ($(OS_TARGET),qnx)
+BATCHEXT=.sh
 PPUEXT=.ppu
 ASMEXT=.s
 OEXT=.o
@@ -696,13 +721,15 @@ ZIPSUFFIX=nw
 EXEEXT=.nlm
 endif
 ifeq ($(OS_TARGET),macos)
+BATCHEXT=
 PPUEXT=.ppu
 ASMEXT=.s
 OEXT=.o
 SMARTEXT=.sl
 STATICLIBEXT=.a
 EXEEXT=
-FPCMADE=fpcmade.mcc
+DEBUGSYMEXT=.xcoff
+FPCMADE=fpcmade.macos
 endif
 endif
 ifndef ECHO
@@ -710,7 +737,7 @@ ECHO:=$(strip $(wildcard $(addsuffix /gecho$(SRCEXEEXT),$(SEARCHPATH))))
 ifeq ($(ECHO),)
 ECHO:=$(strip $(wildcard $(addsuffix /echo$(SRCEXEEXT),$(SEARCHPATH))))
 ifeq ($(ECHO),)
-ECHO=
+ECHO= __missing_command__
 else
 ECHO:=$(firstword $(ECHO))
 endif
@@ -724,7 +751,7 @@ DATE:=$(strip $(wildcard $(addsuffix /gdate$(SRCEXEEXT),$(SEARCHPATH))))
 ifeq ($(DATE),)
 DATE:=$(strip $(wildcard $(addsuffix /date$(SRCEXEEXT),$(SEARCHPATH))))
 ifeq ($(DATE),)
-DATE=
+DATE= __missing_command__
 else
 DATE:=$(firstword $(DATE))
 endif
@@ -738,7 +765,7 @@ GINSTALL:=$(strip $(wildcard $(addsuffix /ginstall$(SRCEXEEXT),$(SEARCHPATH))))
 ifeq ($(GINSTALL),)
 GINSTALL:=$(strip $(wildcard $(addsuffix /install$(SRCEXEEXT),$(SEARCHPATH))))
 ifeq ($(GINSTALL),)
-GINSTALL=
+GINSTALL= __missing_command__
 else
 GINSTALL:=$(firstword $(GINSTALL))
 endif
@@ -750,7 +777,7 @@ export GINSTALL
 ifndef CPPROG
 CPPROG:=$(strip $(wildcard $(addsuffix /cp$(SRCEXEEXT),$(SEARCHPATH))))
 ifeq ($(CPPROG),)
-CPPROG=
+CPPROG= __missing_command__
 else
 CPPROG:=$(firstword $(CPPROG))
 endif
@@ -759,7 +786,7 @@ export CPPROG
 ifndef RMPROG
 RMPROG:=$(strip $(wildcard $(addsuffix /rm$(SRCEXEEXT),$(SEARCHPATH))))
 ifeq ($(RMPROG),)
-RMPROG=
+RMPROG= __missing_command__
 else
 RMPROG:=$(firstword $(RMPROG))
 endif
@@ -768,7 +795,7 @@ export RMPROG
 ifndef MVPROG
 MVPROG:=$(strip $(wildcard $(addsuffix /mv$(SRCEXEEXT),$(SEARCHPATH))))
 ifeq ($(MVPROG),)
-MVPROG=
+MVPROG= __missing_command__
 else
 MVPROG:=$(firstword $(MVPROG))
 endif
@@ -817,7 +844,7 @@ export ECHOREDIR COPY COPYTREE MOVE DEL DELTREE INSTALL INSTALLEXE MKDIR
 ifndef PPUMOVE
 PPUMOVE:=$(strip $(wildcard $(addsuffix /ppumove$(SRCEXEEXT),$(SEARCHPATH))))
 ifeq ($(PPUMOVE),)
-PPUMOVE=
+PPUMOVE= __missing_command__
 else
 PPUMOVE:=$(firstword $(PPUMOVE))
 endif
@@ -826,7 +853,7 @@ export PPUMOVE
 ifndef FPCMAKE
 FPCMAKE:=$(strip $(wildcard $(addsuffix /fpcmake$(SRCEXEEXT),$(SEARCHPATH))))
 ifeq ($(FPCMAKE),)
-FPCMAKE=
+FPCMAKE= __missing_command__
 else
 FPCMAKE:=$(firstword $(FPCMAKE))
 endif
@@ -835,7 +862,7 @@ export FPCMAKE
 ifndef ZIPPROG
 ZIPPROG:=$(strip $(wildcard $(addsuffix /zip$(SRCEXEEXT),$(SEARCHPATH))))
 ifeq ($(ZIPPROG),)
-ZIPPROG=
+ZIPPROG= __missing_command__
 else
 ZIPPROG:=$(firstword $(ZIPPROG))
 endif
@@ -844,7 +871,7 @@ export ZIPPROG
 ifndef TARPROG
 TARPROG:=$(strip $(wildcard $(addsuffix /tar$(SRCEXEEXT),$(SEARCHPATH))))
 ifeq ($(TARPROG),)
-TARPROG=
+TARPROG= __missing_command__
 else
 TARPROG:=$(firstword $(TARPROG))
 endif
@@ -895,7 +922,7 @@ AS=$(ASPROG)
 LD=$(LDPROG)
 RC=$(RCPROG)
 AR=$(ARPROG)
-PPAS=ppas$(BATCHEXT)
+PPAS=ppas$(SRCBATCHEXT)
 ifdef inUnix
 LDCONFIG=ldconfig
 else
@@ -1280,8 +1307,12 @@ ifdef RELEASE
 ifeq ($(CPU_TARGET),i386)
 FPCCPUOPT:=-OG2p3
 else
+ifeq ($(CPU_TARGET),powerpc)
+FPCCPUOPT:=-O1
+else
 FPCCPUOPT:=
 endif
+endif
 override FPCOPT+=-Xs $(FPCCPUOPT) -n
 override FPCOPTDEF+=RELEASE
 endif
@@ -1506,6 +1537,9 @@ override CLEANPPUFILES+=$(addsuffix $(PPUEXT),$(CLEAN_UNITS))
 endif
 ifdef 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 CLEANPPULINKFILES:=$(wildcard $(addprefix $(UNITTARGETDIRPREFIX),$(CLEANPPULINKFILES)))
 endif
@@ -1529,6 +1563,7 @@ ifdef LIB_NAME
 	-$(DEL) $(LIB_NAME) $(LIB_FULLNAME)
 endif
 	-$(DEL) $(FPCMADE) Package.fpc $(PPAS) script.res link.res $(FPCEXTFILE) $(REDIRFILE)
+	-$(DEL) *$(ASMEXT) *_ppas$(BATCHEXT)
 fpc_distclean: clean
 ifdef COMPILER_UNITTARGETDIR
 TARGETDIRCLEAN=fpc_clean
@@ -1540,9 +1575,13 @@ endif
 	-$(DEL) *$(OEXT) *$(PPUEXT) *$(RSTEXT) *$(ASMEXT) *$(STATICLIBEXT) *$(SHAREDLIBEXT) *$(PPLEXT)
 	-$(DELTREE) *$(SMARTEXT)
 	-$(DEL) $(FPCMADE) Package.fpc $(PPAS) script.res link.res $(FPCEXTFILE) $(REDIRFILE)
+	-$(DEL) *_ppas$(BATCHEXT)
 ifdef AOUTEXT
 	-$(DEL) *$(AOUTEXT)
 endif
+ifdef DEBUGSYMEXT
+	-$(DEL) *$(DEBUGSYMEXT)
+endif
 .PHONY: fpc_baseinfo
 override INFORULES+=fpc_baseinfo
 fpc_baseinfo:

+ 100 - 70
fcl/db/dbase/Makefile

@@ -1,15 +1,24 @@
 #
-# Don't edit, this file is generated by FPCMake Version 1.1 [2004/02/22]
+# Don't edit, this file is generated by FPCMake Version 1.1 [2004/04/21]
 #
 default: all
 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:=$(subst \,/,$(PATH))
+ifneq ($(findstring darwin,$(OSTYPE)),)
+inUnix=1 #darwin
+SEARCHPATH:=$(filter-out .,$(subst :, ,$(PATH)))
+else
 ifeq ($(findstring ;,$(PATH)),)
 inUnix=1
 SEARCHPATH:=$(filter-out .,$(subst :, ,$(PATH)))
 else
 SEARCHPATH:=$(subst ;, ,$(PATH))
 endif
+endif
 SEARCHPATH+=$(patsubst %/,%,$(subst \,/,$(dir $(MAKE))))
 PWD:=$(strip $(wildcard $(addsuffix /pwd.exe,$(SEARCHPATH))))
 ifeq ($(PWD),)
@@ -37,22 +46,13 @@ ifneq ($(findstring cygdrive,$(PATH)),)
 inCygWin=1
 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
-BATCHEXT=.sh
+SRCBATCHEXT=.sh
 else
 ifdef inOS2
-BATCHEXT=.cmd
+SRCBATCHEXT=.cmd
 else
-BATCHEXT=.bat
+SRCBATCHEXT=.bat
 endif
 endif
 ifdef inUnix
@@ -155,6 +155,12 @@ ifeq ($(findstring $(OS_TARGET),$(MAKEFILETARGETS)),)
 $(error The Makefile doesn't support target $(OS_TARGET), please run fpcmake first)
 endif
 endif
+ifneq ($(findstring $(OS_TARGET),$(BSDs)),)
+BSDhier=1
+endif
+ifeq ($(OS_TARGET),linux)
+linuxHier=1
+endif
 export OS_TARGET OS_SOURCE CPU_TARGET CPU_SOURCE FULL_TARGET FULL_SOURCE CROSSCOMPILE
 ifdef FPCDIR
 override FPCDIR:=$(subst \,/,$(FPCDIR))
@@ -220,42 +226,12 @@ 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
-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
 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
 ifndef INSTALL_PREFIX
@@ -264,7 +240,7 @@ INSTALL_PREFIX=$(PREFIX)
 endif
 endif
 ifndef INSTALL_PREFIX
-ifdef UNIXINSTALLDIR
+ifdef UNIXHier
 INSTALL_PREFIX=/usr/local
 else
 ifdef INSTALL_FPCPACKAGE
@@ -283,7 +259,7 @@ DIST_DESTDIR:=$(BASEDIR)
 endif
 export DIST_DESTDIR
 ifndef INSTALL_BASEDIR
-ifdef UNIXINSTALLDIR
+ifdef UNIXHier
 ifdef INSTALL_FPCPACKAGE
 INSTALL_BASEDIR:=$(INSTALL_PREFIX)/lib/fpc/$(FPC_VERSION)
 else
@@ -294,7 +270,7 @@ INSTALL_BASEDIR:=$(INSTALL_PREFIX)
 endif
 endif
 ifndef INSTALL_BINDIR
-ifdef UNIXINSTALLDIR
+ifdef UNIXHier
 ifdef CROSSCOMPILE
 INSTALL_BINDIR:=$(INSTALL_BASEDIR)/cross/$(FULL_TARGET)/bin
 else
@@ -324,19 +300,23 @@ endif
 endif
 endif
 ifndef INSTALL_LIBDIR
-ifdef UNIXINSTALLDIR
+ifdef UNIXHier
 INSTALL_LIBDIR:=$(INSTALL_PREFIX)/lib
 else
 INSTALL_LIBDIR:=$(INSTALL_UNITDIR)
 endif
 endif
 ifndef INSTALL_SOURCEDIR
-ifdef UNIXINSTALLDIR
+ifdef UNIXHier
 ifdef BSDhier
 SRCPREFIXDIR=share/src
 else
+ifdef linuxHier
+SRCPREFIXDIR=share/src
+else
 SRCPREFIXDIR=src
 endif
+endif
 ifdef INSTALL_FPCPACKAGE
 ifdef INSTALL_FPCSUBDIR
 INSTALL_SOURCEDIR:=$(INSTALL_PREFIX)/$(SRCPREFIXDIR)/fpc-$(FPC_VERSION)/$(INSTALL_FPCSUBDIR)/$(PACKAGE_NAME)
@@ -359,12 +339,16 @@ endif
 endif
 endif
 ifndef INSTALL_DOCDIR
-ifdef UNIXINSTALLDIR
+ifdef UNIXHier
 ifdef BSDhier
 DOCPREFIXDIR=share/doc
 else
+ifdef linuxHier
+DOCPREFIXDIR=share/doc
+else
 DOCPREFIXDIR=doc
 endif
+endif
 ifdef INSTALL_FPCPACKAGE
 INSTALL_DOCDIR:=$(INSTALL_PREFIX)/$(DOCPREFIXDIR)/fpc-$(FPC_VERSION)/$(PACKAGE_NAME)
 else
@@ -379,20 +363,28 @@ endif
 endif
 endif
 ifndef INSTALL_EXAMPLEDIR
-ifdef UNIXINSTALLDIR
+ifdef UNIXHier
 ifdef INSTALL_FPCPACKAGE
 ifdef BSDhier
 INSTALL_EXAMPLEDIR:=$(INSTALL_PREFIX)/share/examples/fpc-$(FPC_VERSION)/$(PACKAGE_NAME)
 else
+ifdef linuxHier
+INSTALL_EXAMPLEDIR:=$(INSTALL_DOCDIR)/examples/fpc-$(FPC_VERSION)/$(PACKAGE_NAME)
+else
 INSTALL_EXAMPLEDIR:=$(INSTALL_PREFIX)/doc/fpc-$(FPC_VERSION)/examples/$(PACKAGE_NAME)
 endif
+endif
 else
 ifdef BSDhier
 INSTALL_EXAMPLEDIR:=$(INSTALL_PREFIX)/share/examples/$(PACKAGE_NAME)-$(PACKAGE_VERSION)
 else
+ifdef linuxHier
+INSTALL_EXAMPLEDIR:=$(INSTALL_DOCDIR)/examples/$(PACKAGE_NAME)-$(PACKAGE_VERSION)
+else
 INSTALL_EXAMPLEDIR:=$(INSTALL_PREFIX)/doc/$(PACKAGE_NAME)-$(PACKAGE_VERSION)
 endif
 endif
+endif
 else
 ifdef INSTALL_FPCPACKAGE
 INSTALL_EXAMPLEDIR:=$(INSTALL_BASEDIR)/examples/$(PACKAGE_NAME)
@@ -414,6 +406,7 @@ endif
 else
 CROSSBINDIR=
 endif
+BATCHEXT=.bat
 LOADEREXT=.as
 EXEEXT=.exe
 PPLEXT=.ppl
@@ -446,24 +439,28 @@ ASMEXT=.asm
 SHAREDLIBEXT=.dll
 endif
 ifeq ($(OS_TARGET),linux)
+BATCHEXT=.sh
 EXEEXT=
 HASSHAREDLIB=1
 FPCMADE=fpcmade.lnx
 ZIPSUFFIX=linux
 endif
 ifeq ($(OS_TARGET),freebsd)
+BATCHEXT=.sh
 EXEEXT=
 HASSHAREDLIB=1
 FPCMADE=fpcmade.freebsd
 ZIPSUFFIX=freebsd
 endif
 ifeq ($(OS_TARGET),netbsd)
+BATCHEXT=.sh
 EXEEXT=
 HASSHAREDLIB=1
 FPCMADE=fpcmade.netbsd
 ZIPSUFFIX=netbsd
 endif
 ifeq ($(OS_TARGET),openbsd)
+BATCHEXT=.sh
 EXEEXT=
 HASSHAREDLIB=1
 FPCMADE=fpcmade.openbsd
@@ -475,6 +472,7 @@ FPCMADE=fpcmade.w32
 ZIPSUFFIX=w32
 endif
 ifeq ($(OS_TARGET),os2)
+BATCHEXT=.cmd
 AOUTEXT=.out
 STATICLIBPREFIX=
 SHAREDLIBEXT=.dll
@@ -483,6 +481,7 @@ ZIPSUFFIX=os2
 ECHO=echo
 endif
 ifeq ($(OS_TARGET),emx)
+BATCHEXT=.cmd
 AOUTEXT=.out
 STATICLIBPREFIX=
 SHAREDLIBEXT=.dll
@@ -500,16 +499,19 @@ EXEEXT=.ttp
 FPCMADE=fpcmade.ata
 endif
 ifeq ($(OS_TARGET),beos)
+BATCHEXT=.sh
 EXEEXT=
 FPCMADE=fpcmade.be
 ZIPSUFFIX=be
 endif
 ifeq ($(OS_TARGET),sunos)
+BATCHEXT=.sh
 EXEEXT=
 FPCMADE=fpcmade.sun
 ZIPSUFFIX=sun
 endif
 ifeq ($(OS_TARGET),qnx)
+BATCHEXT=.sh
 EXEEXT=
 FPCMADE=fpcmade.qnx
 ZIPSUFFIX=qnx
@@ -521,10 +523,14 @@ FPCMADE=fpcmade.nw
 ZIPSUFFIX=nw
 endif
 ifeq ($(OS_TARGET),macos)
+BATCHEXT=
 EXEEXT=
-FPCMADE=fpcmade.mcc
+FPCMADE=fpcmade.macos
+ZIPSUFFIX=macos
+DEBUGSYMEXT=.xcoff
 endif
 ifeq ($(OS_TARGET),darwin)
+BATCHEXT=.sh
 EXEEXT=
 HASSHAREDLIB=1
 FPCMADE=fpcmade.darwin
@@ -553,24 +559,28 @@ FPCMADE=fpcmade.dos
 ZIPSUFFIX=watcom
 endif
 ifeq ($(OS_TARGET),linux)
+BATCHEXT=.sh
 EXEEXT=
 HASSHAREDLIB=1
 FPCMADE=fpcmade.lnx
 ZIPSUFFIX=linux
 endif
 ifeq ($(OS_TARGET),freebsd)
+BATCHEXT=.sh
 EXEEXT=
 HASSHAREDLIB=1
 FPCMADE=fpcmade.freebsd
 ZIPSUFFIX=freebsd
 endif
 ifeq ($(OS_TARGET),netbsd)
+BATCHEXT=.sh
 EXEEXT=
 HASSHAREDLIB=1
 FPCMADE=fpcmade.netbsd
 ZIPSUFFIX=netbsd
 endif
 ifeq ($(OS_TARGET),openbsd)
+BATCHEXT=.sh
 EXEEXT=
 HASSHAREDLIB=1
 FPCMADE=fpcmade.openbsd
@@ -587,6 +597,7 @@ FPCMADE=fpcmade.w32
 ZIPSUFFIX=w32
 endif
 ifeq ($(OS_TARGET),os2)
+BATCHEXT=.cmd
 PPUEXT=.ppo
 ASMEXT=.so2
 OEXT=.oo2
@@ -619,6 +630,7 @@ EXEEXT=.ttp
 FPCMADE=fpcmade.ata
 endif
 ifeq ($(OS_TARGET),beos)
+BATCHEXT=.sh
 PPUEXT=.ppu
 ASMEXT=.s
 OEXT=.o
@@ -629,6 +641,7 @@ FPCMADE=fpcmade.be
 ZIPSUFFIX=be
 endif
 ifeq ($(OS_TARGET),sunos)
+BATCHEXT=.sh
 PPUEXT=.ppu
 ASMEXT=.s
 OEXT=.o
@@ -639,6 +652,7 @@ FPCMADE=fpcmade.sun
 ZIPSUFFIX=sun
 endif
 ifeq ($(OS_TARGET),qnx)
+BATCHEXT=.sh
 PPUEXT=.ppu
 ASMEXT=.s
 OEXT=.o
@@ -661,13 +675,15 @@ ZIPSUFFIX=nw
 EXEEXT=.nlm
 endif
 ifeq ($(OS_TARGET),macos)
+BATCHEXT=
 PPUEXT=.ppu
 ASMEXT=.s
 OEXT=.o
 SMARTEXT=.sl
 STATICLIBEXT=.a
 EXEEXT=
-FPCMADE=fpcmade.mcc
+DEBUGSYMEXT=.xcoff
+FPCMADE=fpcmade.macos
 endif
 endif
 ifndef ECHO
@@ -675,7 +691,7 @@ ECHO:=$(strip $(wildcard $(addsuffix /gecho$(SRCEXEEXT),$(SEARCHPATH))))
 ifeq ($(ECHO),)
 ECHO:=$(strip $(wildcard $(addsuffix /echo$(SRCEXEEXT),$(SEARCHPATH))))
 ifeq ($(ECHO),)
-ECHO=
+ECHO= __missing_command__
 else
 ECHO:=$(firstword $(ECHO))
 endif
@@ -689,7 +705,7 @@ DATE:=$(strip $(wildcard $(addsuffix /gdate$(SRCEXEEXT),$(SEARCHPATH))))
 ifeq ($(DATE),)
 DATE:=$(strip $(wildcard $(addsuffix /date$(SRCEXEEXT),$(SEARCHPATH))))
 ifeq ($(DATE),)
-DATE=
+DATE= __missing_command__
 else
 DATE:=$(firstword $(DATE))
 endif
@@ -703,7 +719,7 @@ GINSTALL:=$(strip $(wildcard $(addsuffix /ginstall$(SRCEXEEXT),$(SEARCHPATH))))
 ifeq ($(GINSTALL),)
 GINSTALL:=$(strip $(wildcard $(addsuffix /install$(SRCEXEEXT),$(SEARCHPATH))))
 ifeq ($(GINSTALL),)
-GINSTALL=
+GINSTALL= __missing_command__
 else
 GINSTALL:=$(firstword $(GINSTALL))
 endif
@@ -715,7 +731,7 @@ export GINSTALL
 ifndef CPPROG
 CPPROG:=$(strip $(wildcard $(addsuffix /cp$(SRCEXEEXT),$(SEARCHPATH))))
 ifeq ($(CPPROG),)
-CPPROG=
+CPPROG= __missing_command__
 else
 CPPROG:=$(firstword $(CPPROG))
 endif
@@ -724,7 +740,7 @@ export CPPROG
 ifndef RMPROG
 RMPROG:=$(strip $(wildcard $(addsuffix /rm$(SRCEXEEXT),$(SEARCHPATH))))
 ifeq ($(RMPROG),)
-RMPROG=
+RMPROG= __missing_command__
 else
 RMPROG:=$(firstword $(RMPROG))
 endif
@@ -733,7 +749,7 @@ export RMPROG
 ifndef MVPROG
 MVPROG:=$(strip $(wildcard $(addsuffix /mv$(SRCEXEEXT),$(SEARCHPATH))))
 ifeq ($(MVPROG),)
-MVPROG=
+MVPROG= __missing_command__
 else
 MVPROG:=$(firstword $(MVPROG))
 endif
@@ -782,7 +798,7 @@ export ECHOREDIR COPY COPYTREE MOVE DEL DELTREE INSTALL INSTALLEXE MKDIR
 ifndef PPUMOVE
 PPUMOVE:=$(strip $(wildcard $(addsuffix /ppumove$(SRCEXEEXT),$(SEARCHPATH))))
 ifeq ($(PPUMOVE),)
-PPUMOVE=
+PPUMOVE= __missing_command__
 else
 PPUMOVE:=$(firstword $(PPUMOVE))
 endif
@@ -791,7 +807,7 @@ export PPUMOVE
 ifndef FPCMAKE
 FPCMAKE:=$(strip $(wildcard $(addsuffix /fpcmake$(SRCEXEEXT),$(SEARCHPATH))))
 ifeq ($(FPCMAKE),)
-FPCMAKE=
+FPCMAKE= __missing_command__
 else
 FPCMAKE:=$(firstword $(FPCMAKE))
 endif
@@ -800,7 +816,7 @@ export FPCMAKE
 ifndef ZIPPROG
 ZIPPROG:=$(strip $(wildcard $(addsuffix /zip$(SRCEXEEXT),$(SEARCHPATH))))
 ifeq ($(ZIPPROG),)
-ZIPPROG=
+ZIPPROG= __missing_command__
 else
 ZIPPROG:=$(firstword $(ZIPPROG))
 endif
@@ -809,7 +825,7 @@ export ZIPPROG
 ifndef TARPROG
 TARPROG:=$(strip $(wildcard $(addsuffix /tar$(SRCEXEEXT),$(SEARCHPATH))))
 ifeq ($(TARPROG),)
-TARPROG=
+TARPROG= __missing_command__
 else
 TARPROG:=$(firstword $(TARPROG))
 endif
@@ -821,9 +837,11 @@ ARNAME=$(BINUTILSPREFIX)ar
 RCNAME=$(BINUTILSPREFIX)rc
 ifneq ($(findstring 1.0.,$(FPC_VERSION)),)
 ifeq ($(OS_TARGET),win32)
-ASNAME=as
-LDNAME=ld
-ARNAME=ar
+ifeq ($(CROSSBINDIR),)
+ASNAME=asw
+LDNAME=ldw
+ARNAME=arw
+endif
 endif
 endif
 ifndef ASPROG
@@ -858,7 +876,7 @@ AS=$(ASPROG)
 LD=$(LDPROG)
 RC=$(RCPROG)
 AR=$(ARPROG)
-PPAS=ppas$(BATCHEXT)
+PPAS=ppas$(SRCBATCHEXT)
 ifdef inUnix
 LDCONFIG=ldconfig
 else
@@ -1117,8 +1135,12 @@ ifdef RELEASE
 ifeq ($(CPU_TARGET),i386)
 FPCCPUOPT:=-OG2p3
 else
+ifeq ($(CPU_TARGET),powerpc)
+FPCCPUOPT:=-O1
+else
 FPCCPUOPT:=
 endif
+endif
 override FPCOPT+=-Xs $(FPCCPUOPT) -n
 override FPCOPTDEF+=RELEASE
 endif
@@ -1337,6 +1359,9 @@ override CLEANPPUFILES+=$(addsuffix $(PPUEXT),$(CLEAN_UNITS))
 endif
 ifdef 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 CLEANPPULINKFILES:=$(wildcard $(addprefix $(UNITTARGETDIRPREFIX),$(CLEANPPULINKFILES)))
 endif
@@ -1360,6 +1385,7 @@ ifdef LIB_NAME
 	-$(DEL) $(LIB_NAME) $(LIB_FULLNAME)
 endif
 	-$(DEL) $(FPCMADE) Package.fpc $(PPAS) script.res link.res $(FPCEXTFILE) $(REDIRFILE)
+	-$(DEL) *$(ASMEXT) *_ppas$(BATCHEXT)
 fpc_distclean: clean
 ifdef COMPILER_UNITTARGETDIR
 TARGETDIRCLEAN=fpc_clean
@@ -1371,9 +1397,13 @@ endif
 	-$(DEL) *$(OEXT) *$(PPUEXT) *$(RSTEXT) *$(ASMEXT) *$(STATICLIBEXT) *$(SHAREDLIBEXT) *$(PPLEXT)
 	-$(DELTREE) *$(SMARTEXT)
 	-$(DEL) $(FPCMADE) Package.fpc $(PPAS) script.res link.res $(FPCEXTFILE) $(REDIRFILE)
+	-$(DEL) *_ppas$(BATCHEXT)
 ifdef AOUTEXT
 	-$(DEL) *$(AOUTEXT)
 endif
+ifdef DEBUGSYMEXT
+	-$(DEL) *$(DEBUGSYMEXT)
+endif
 .PHONY: fpc_baseinfo
 override INFORULES+=fpc_baseinfo
 fpc_baseinfo:

+ 113 - 71
fcl/db/interbase/Makefile

@@ -1,15 +1,24 @@
 #
-# Don't edit, this file is generated by FPCMake Version 1.1 [2004/02/22]
+# Don't edit, this file is generated by FPCMake Version 1.1 [2004/04/21]
 #
 default: all
 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:=$(subst \,/,$(PATH))
+ifneq ($(findstring darwin,$(OSTYPE)),)
+inUnix=1 #darwin
+SEARCHPATH:=$(filter-out .,$(subst :, ,$(PATH)))
+else
 ifeq ($(findstring ;,$(PATH)),)
 inUnix=1
 SEARCHPATH:=$(filter-out .,$(subst :, ,$(PATH)))
 else
 SEARCHPATH:=$(subst ;, ,$(PATH))
 endif
+endif
 SEARCHPATH+=$(patsubst %/,%,$(subst \,/,$(dir $(MAKE))))
 PWD:=$(strip $(wildcard $(addsuffix /pwd.exe,$(SEARCHPATH))))
 ifeq ($(PWD),)
@@ -37,22 +46,13 @@ ifneq ($(findstring cygdrive,$(PATH)),)
 inCygWin=1
 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
-BATCHEXT=.sh
+SRCBATCHEXT=.sh
 else
 ifdef inOS2
-BATCHEXT=.cmd
+SRCBATCHEXT=.cmd
 else
-BATCHEXT=.bat
+SRCBATCHEXT=.bat
 endif
 endif
 ifdef inUnix
@@ -155,6 +155,12 @@ ifeq ($(findstring $(OS_TARGET),$(MAKEFILETARGETS)),)
 $(error The Makefile doesn't support target $(OS_TARGET), please run fpcmake first)
 endif
 endif
+ifneq ($(findstring $(OS_TARGET),$(BSDs)),)
+BSDhier=1
+endif
+ifeq ($(OS_TARGET),linux)
+linuxHier=1
+endif
 export OS_TARGET OS_SOURCE CPU_TARGET CPU_SOURCE FULL_TARGET FULL_SOURCE CROSSCOMPILE
 ifdef FPCDIR
 override FPCDIR:=$(subst \,/,$(FPCDIR))
@@ -221,42 +227,12 @@ 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
-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
 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
 ifndef INSTALL_PREFIX
@@ -265,7 +241,7 @@ INSTALL_PREFIX=$(PREFIX)
 endif
 endif
 ifndef INSTALL_PREFIX
-ifdef UNIXINSTALLDIR
+ifdef UNIXHier
 INSTALL_PREFIX=/usr/local
 else
 ifdef INSTALL_FPCPACKAGE
@@ -284,7 +260,7 @@ DIST_DESTDIR:=$(BASEDIR)
 endif
 export DIST_DESTDIR
 ifndef INSTALL_BASEDIR
-ifdef UNIXINSTALLDIR
+ifdef UNIXHier
 ifdef INSTALL_FPCPACKAGE
 INSTALL_BASEDIR:=$(INSTALL_PREFIX)/lib/fpc/$(FPC_VERSION)
 else
@@ -295,7 +271,7 @@ INSTALL_BASEDIR:=$(INSTALL_PREFIX)
 endif
 endif
 ifndef INSTALL_BINDIR
-ifdef UNIXINSTALLDIR
+ifdef UNIXHier
 ifdef CROSSCOMPILE
 INSTALL_BINDIR:=$(INSTALL_BASEDIR)/cross/$(FULL_TARGET)/bin
 else
@@ -325,19 +301,23 @@ endif
 endif
 endif
 ifndef INSTALL_LIBDIR
-ifdef UNIXINSTALLDIR
+ifdef UNIXHier
 INSTALL_LIBDIR:=$(INSTALL_PREFIX)/lib
 else
 INSTALL_LIBDIR:=$(INSTALL_UNITDIR)
 endif
 endif
 ifndef INSTALL_SOURCEDIR
-ifdef UNIXINSTALLDIR
+ifdef UNIXHier
 ifdef BSDhier
 SRCPREFIXDIR=share/src
 else
+ifdef linuxHier
+SRCPREFIXDIR=share/src
+else
 SRCPREFIXDIR=src
 endif
+endif
 ifdef INSTALL_FPCPACKAGE
 ifdef INSTALL_FPCSUBDIR
 INSTALL_SOURCEDIR:=$(INSTALL_PREFIX)/$(SRCPREFIXDIR)/fpc-$(FPC_VERSION)/$(INSTALL_FPCSUBDIR)/$(PACKAGE_NAME)
@@ -360,12 +340,16 @@ endif
 endif
 endif
 ifndef INSTALL_DOCDIR
-ifdef UNIXINSTALLDIR
+ifdef UNIXHier
 ifdef BSDhier
 DOCPREFIXDIR=share/doc
 else
+ifdef linuxHier
+DOCPREFIXDIR=share/doc
+else
 DOCPREFIXDIR=doc
 endif
+endif
 ifdef INSTALL_FPCPACKAGE
 INSTALL_DOCDIR:=$(INSTALL_PREFIX)/$(DOCPREFIXDIR)/fpc-$(FPC_VERSION)/$(PACKAGE_NAME)
 else
@@ -380,20 +364,28 @@ endif
 endif
 endif
 ifndef INSTALL_EXAMPLEDIR
-ifdef UNIXINSTALLDIR
+ifdef UNIXHier
 ifdef INSTALL_FPCPACKAGE
 ifdef BSDhier
 INSTALL_EXAMPLEDIR:=$(INSTALL_PREFIX)/share/examples/fpc-$(FPC_VERSION)/$(PACKAGE_NAME)
 else
+ifdef linuxHier
+INSTALL_EXAMPLEDIR:=$(INSTALL_DOCDIR)/examples/fpc-$(FPC_VERSION)/$(PACKAGE_NAME)
+else
 INSTALL_EXAMPLEDIR:=$(INSTALL_PREFIX)/doc/fpc-$(FPC_VERSION)/examples/$(PACKAGE_NAME)
 endif
+endif
 else
 ifdef BSDhier
 INSTALL_EXAMPLEDIR:=$(INSTALL_PREFIX)/share/examples/$(PACKAGE_NAME)-$(PACKAGE_VERSION)
 else
+ifdef linuxHier
+INSTALL_EXAMPLEDIR:=$(INSTALL_DOCDIR)/examples/$(PACKAGE_NAME)-$(PACKAGE_VERSION)
+else
 INSTALL_EXAMPLEDIR:=$(INSTALL_PREFIX)/doc/$(PACKAGE_NAME)-$(PACKAGE_VERSION)
 endif
 endif
+endif
 else
 ifdef INSTALL_FPCPACKAGE
 INSTALL_EXAMPLEDIR:=$(INSTALL_BASEDIR)/examples/$(PACKAGE_NAME)
@@ -417,7 +409,19 @@ CROSSBINDIR=
 endif
 ifeq ($(OS_SOURCE),linux)
 ifndef GCCLIBDIR
-GCCLIBDIR:=$(shell dirname `gcc -print-libgcc-file-name`)
+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
 ifndef OTHERLIBDIR
 OTHERLIBDIR:=$(shell grep -v "^\#" /etc/ld.so.conf | awk '{ ORS=" "; print $1 }')
@@ -429,6 +433,7 @@ OTHERLIBDIR+=/usr/pkg/lib
 endif
 export GCCLIBDIR OTHERLIB
 endif
+BATCHEXT=.bat
 LOADEREXT=.as
 EXEEXT=.exe
 PPLEXT=.ppl
@@ -461,24 +466,28 @@ ASMEXT=.asm
 SHAREDLIBEXT=.dll
 endif
 ifeq ($(OS_TARGET),linux)
+BATCHEXT=.sh
 EXEEXT=
 HASSHAREDLIB=1
 FPCMADE=fpcmade.lnx
 ZIPSUFFIX=linux
 endif
 ifeq ($(OS_TARGET),freebsd)
+BATCHEXT=.sh
 EXEEXT=
 HASSHAREDLIB=1
 FPCMADE=fpcmade.freebsd
 ZIPSUFFIX=freebsd
 endif
 ifeq ($(OS_TARGET),netbsd)
+BATCHEXT=.sh
 EXEEXT=
 HASSHAREDLIB=1
 FPCMADE=fpcmade.netbsd
 ZIPSUFFIX=netbsd
 endif
 ifeq ($(OS_TARGET),openbsd)
+BATCHEXT=.sh
 EXEEXT=
 HASSHAREDLIB=1
 FPCMADE=fpcmade.openbsd
@@ -490,6 +499,7 @@ FPCMADE=fpcmade.w32
 ZIPSUFFIX=w32
 endif
 ifeq ($(OS_TARGET),os2)
+BATCHEXT=.cmd
 AOUTEXT=.out
 STATICLIBPREFIX=
 SHAREDLIBEXT=.dll
@@ -498,6 +508,7 @@ ZIPSUFFIX=os2
 ECHO=echo
 endif
 ifeq ($(OS_TARGET),emx)
+BATCHEXT=.cmd
 AOUTEXT=.out
 STATICLIBPREFIX=
 SHAREDLIBEXT=.dll
@@ -515,16 +526,19 @@ EXEEXT=.ttp
 FPCMADE=fpcmade.ata
 endif
 ifeq ($(OS_TARGET),beos)
+BATCHEXT=.sh
 EXEEXT=
 FPCMADE=fpcmade.be
 ZIPSUFFIX=be
 endif
 ifeq ($(OS_TARGET),sunos)
+BATCHEXT=.sh
 EXEEXT=
 FPCMADE=fpcmade.sun
 ZIPSUFFIX=sun
 endif
 ifeq ($(OS_TARGET),qnx)
+BATCHEXT=.sh
 EXEEXT=
 FPCMADE=fpcmade.qnx
 ZIPSUFFIX=qnx
@@ -536,10 +550,14 @@ FPCMADE=fpcmade.nw
 ZIPSUFFIX=nw
 endif
 ifeq ($(OS_TARGET),macos)
+BATCHEXT=
 EXEEXT=
-FPCMADE=fpcmade.mcc
+FPCMADE=fpcmade.macos
+ZIPSUFFIX=macos
+DEBUGSYMEXT=.xcoff
 endif
 ifeq ($(OS_TARGET),darwin)
+BATCHEXT=.sh
 EXEEXT=
 HASSHAREDLIB=1
 FPCMADE=fpcmade.darwin
@@ -568,24 +586,28 @@ FPCMADE=fpcmade.dos
 ZIPSUFFIX=watcom
 endif
 ifeq ($(OS_TARGET),linux)
+BATCHEXT=.sh
 EXEEXT=
 HASSHAREDLIB=1
 FPCMADE=fpcmade.lnx
 ZIPSUFFIX=linux
 endif
 ifeq ($(OS_TARGET),freebsd)
+BATCHEXT=.sh
 EXEEXT=
 HASSHAREDLIB=1
 FPCMADE=fpcmade.freebsd
 ZIPSUFFIX=freebsd
 endif
 ifeq ($(OS_TARGET),netbsd)
+BATCHEXT=.sh
 EXEEXT=
 HASSHAREDLIB=1
 FPCMADE=fpcmade.netbsd
 ZIPSUFFIX=netbsd
 endif
 ifeq ($(OS_TARGET),openbsd)
+BATCHEXT=.sh
 EXEEXT=
 HASSHAREDLIB=1
 FPCMADE=fpcmade.openbsd
@@ -602,6 +624,7 @@ FPCMADE=fpcmade.w32
 ZIPSUFFIX=w32
 endif
 ifeq ($(OS_TARGET),os2)
+BATCHEXT=.cmd
 PPUEXT=.ppo
 ASMEXT=.so2
 OEXT=.oo2
@@ -634,6 +657,7 @@ EXEEXT=.ttp
 FPCMADE=fpcmade.ata
 endif
 ifeq ($(OS_TARGET),beos)
+BATCHEXT=.sh
 PPUEXT=.ppu
 ASMEXT=.s
 OEXT=.o
@@ -644,6 +668,7 @@ FPCMADE=fpcmade.be
 ZIPSUFFIX=be
 endif
 ifeq ($(OS_TARGET),sunos)
+BATCHEXT=.sh
 PPUEXT=.ppu
 ASMEXT=.s
 OEXT=.o
@@ -654,6 +679,7 @@ FPCMADE=fpcmade.sun
 ZIPSUFFIX=sun
 endif
 ifeq ($(OS_TARGET),qnx)
+BATCHEXT=.sh
 PPUEXT=.ppu
 ASMEXT=.s
 OEXT=.o
@@ -676,13 +702,15 @@ ZIPSUFFIX=nw
 EXEEXT=.nlm
 endif
 ifeq ($(OS_TARGET),macos)
+BATCHEXT=
 PPUEXT=.ppu
 ASMEXT=.s
 OEXT=.o
 SMARTEXT=.sl
 STATICLIBEXT=.a
 EXEEXT=
-FPCMADE=fpcmade.mcc
+DEBUGSYMEXT=.xcoff
+FPCMADE=fpcmade.macos
 endif
 endif
 ifndef ECHO
@@ -690,7 +718,7 @@ ECHO:=$(strip $(wildcard $(addsuffix /gecho$(SRCEXEEXT),$(SEARCHPATH))))
 ifeq ($(ECHO),)
 ECHO:=$(strip $(wildcard $(addsuffix /echo$(SRCEXEEXT),$(SEARCHPATH))))
 ifeq ($(ECHO),)
-ECHO=
+ECHO= __missing_command__
 else
 ECHO:=$(firstword $(ECHO))
 endif
@@ -704,7 +732,7 @@ DATE:=$(strip $(wildcard $(addsuffix /gdate$(SRCEXEEXT),$(SEARCHPATH))))
 ifeq ($(DATE),)
 DATE:=$(strip $(wildcard $(addsuffix /date$(SRCEXEEXT),$(SEARCHPATH))))
 ifeq ($(DATE),)
-DATE=
+DATE= __missing_command__
 else
 DATE:=$(firstword $(DATE))
 endif
@@ -718,7 +746,7 @@ GINSTALL:=$(strip $(wildcard $(addsuffix /ginstall$(SRCEXEEXT),$(SEARCHPATH))))
 ifeq ($(GINSTALL),)
 GINSTALL:=$(strip $(wildcard $(addsuffix /install$(SRCEXEEXT),$(SEARCHPATH))))
 ifeq ($(GINSTALL),)
-GINSTALL=
+GINSTALL= __missing_command__
 else
 GINSTALL:=$(firstword $(GINSTALL))
 endif
@@ -730,7 +758,7 @@ export GINSTALL
 ifndef CPPROG
 CPPROG:=$(strip $(wildcard $(addsuffix /cp$(SRCEXEEXT),$(SEARCHPATH))))
 ifeq ($(CPPROG),)
-CPPROG=
+CPPROG= __missing_command__
 else
 CPPROG:=$(firstword $(CPPROG))
 endif
@@ -739,7 +767,7 @@ export CPPROG
 ifndef RMPROG
 RMPROG:=$(strip $(wildcard $(addsuffix /rm$(SRCEXEEXT),$(SEARCHPATH))))
 ifeq ($(RMPROG),)
-RMPROG=
+RMPROG= __missing_command__
 else
 RMPROG:=$(firstword $(RMPROG))
 endif
@@ -748,7 +776,7 @@ export RMPROG
 ifndef MVPROG
 MVPROG:=$(strip $(wildcard $(addsuffix /mv$(SRCEXEEXT),$(SEARCHPATH))))
 ifeq ($(MVPROG),)
-MVPROG=
+MVPROG= __missing_command__
 else
 MVPROG:=$(firstword $(MVPROG))
 endif
@@ -797,7 +825,7 @@ export ECHOREDIR COPY COPYTREE MOVE DEL DELTREE INSTALL INSTALLEXE MKDIR
 ifndef PPUMOVE
 PPUMOVE:=$(strip $(wildcard $(addsuffix /ppumove$(SRCEXEEXT),$(SEARCHPATH))))
 ifeq ($(PPUMOVE),)
-PPUMOVE=
+PPUMOVE= __missing_command__
 else
 PPUMOVE:=$(firstword $(PPUMOVE))
 endif
@@ -806,7 +834,7 @@ export PPUMOVE
 ifndef FPCMAKE
 FPCMAKE:=$(strip $(wildcard $(addsuffix /fpcmake$(SRCEXEEXT),$(SEARCHPATH))))
 ifeq ($(FPCMAKE),)
-FPCMAKE=
+FPCMAKE= __missing_command__
 else
 FPCMAKE:=$(firstword $(FPCMAKE))
 endif
@@ -815,7 +843,7 @@ export FPCMAKE
 ifndef ZIPPROG
 ZIPPROG:=$(strip $(wildcard $(addsuffix /zip$(SRCEXEEXT),$(SEARCHPATH))))
 ifeq ($(ZIPPROG),)
-ZIPPROG=
+ZIPPROG= __missing_command__
 else
 ZIPPROG:=$(firstword $(ZIPPROG))
 endif
@@ -824,7 +852,7 @@ export ZIPPROG
 ifndef TARPROG
 TARPROG:=$(strip $(wildcard $(addsuffix /tar$(SRCEXEEXT),$(SEARCHPATH))))
 ifeq ($(TARPROG),)
-TARPROG=
+TARPROG= __missing_command__
 else
 TARPROG:=$(firstword $(TARPROG))
 endif
@@ -836,9 +864,11 @@ ARNAME=$(BINUTILSPREFIX)ar
 RCNAME=$(BINUTILSPREFIX)rc
 ifneq ($(findstring 1.0.,$(FPC_VERSION)),)
 ifeq ($(OS_TARGET),win32)
-ASNAME=as
-LDNAME=ld
-ARNAME=ar
+ifeq ($(CROSSBINDIR),)
+ASNAME=asw
+LDNAME=ldw
+ARNAME=arw
+endif
 endif
 endif
 ifndef ASPROG
@@ -873,7 +903,7 @@ AS=$(ASPROG)
 LD=$(LDPROG)
 RC=$(RCPROG)
 AR=$(ARPROG)
-PPAS=ppas$(BATCHEXT)
+PPAS=ppas$(SRCBATCHEXT)
 ifdef inUnix
 LDCONFIG=ldconfig
 else
@@ -1188,8 +1218,12 @@ ifdef RELEASE
 ifeq ($(CPU_TARGET),i386)
 FPCCPUOPT:=-OG2p3
 else
+ifeq ($(CPU_TARGET),powerpc)
+FPCCPUOPT:=-O1
+else
 FPCCPUOPT:=
 endif
+endif
 override FPCOPT+=-Xs $(FPCCPUOPT) -n
 override FPCOPTDEF+=RELEASE
 endif
@@ -1414,6 +1448,9 @@ override CLEANPPUFILES+=$(addsuffix $(PPUEXT),$(CLEAN_UNITS))
 endif
 ifdef 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 CLEANPPULINKFILES:=$(wildcard $(addprefix $(UNITTARGETDIRPREFIX),$(CLEANPPULINKFILES)))
 endif
@@ -1437,6 +1474,7 @@ ifdef LIB_NAME
 	-$(DEL) $(LIB_NAME) $(LIB_FULLNAME)
 endif
 	-$(DEL) $(FPCMADE) Package.fpc $(PPAS) script.res link.res $(FPCEXTFILE) $(REDIRFILE)
+	-$(DEL) *$(ASMEXT) *_ppas$(BATCHEXT)
 fpc_distclean: clean
 ifdef COMPILER_UNITTARGETDIR
 TARGETDIRCLEAN=fpc_clean
@@ -1448,9 +1486,13 @@ endif
 	-$(DEL) *$(OEXT) *$(PPUEXT) *$(RSTEXT) *$(ASMEXT) *$(STATICLIBEXT) *$(SHAREDLIBEXT) *$(PPLEXT)
 	-$(DELTREE) *$(SMARTEXT)
 	-$(DEL) $(FPCMADE) Package.fpc $(PPAS) script.res link.res $(FPCEXTFILE) $(REDIRFILE)
+	-$(DEL) *_ppas$(BATCHEXT)
 ifdef AOUTEXT
 	-$(DEL) *$(AOUTEXT)
 endif
+ifdef DEBUGSYMEXT
+	-$(DEL) *$(DEBUGSYMEXT)
+endif
 .PHONY: fpc_baseinfo
 override INFORULES+=fpc_baseinfo
 fpc_baseinfo:

+ 93 - 66
fcl/db/memds/Makefile

@@ -1,15 +1,24 @@
 #
-# Don't edit, this file is generated by FPCMake Version 1.1 [2004/03/15]
+# Don't edit, this file is generated by FPCMake Version 1.1 [2004/04/21]
 #
 default: all
 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:=$(subst \,/,$(PATH))
+ifneq ($(findstring darwin,$(OSTYPE)),)
+inUnix=1 #darwin
+SEARCHPATH:=$(filter-out .,$(subst :, ,$(PATH)))
+else
 ifeq ($(findstring ;,$(PATH)),)
 inUnix=1
 SEARCHPATH:=$(filter-out .,$(subst :, ,$(PATH)))
 else
 SEARCHPATH:=$(subst ;, ,$(PATH))
 endif
+endif
 SEARCHPATH+=$(patsubst %/,%,$(subst \,/,$(dir $(MAKE))))
 PWD:=$(strip $(wildcard $(addsuffix /pwd.exe,$(SEARCHPATH))))
 ifeq ($(PWD),)
@@ -37,22 +46,13 @@ ifneq ($(findstring cygdrive,$(PATH)),)
 inCygWin=1
 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
-BATCHEXT=.sh
+SRCBATCHEXT=.sh
 else
 ifdef inOS2
-BATCHEXT=.cmd
+SRCBATCHEXT=.cmd
 else
-BATCHEXT=.bat
+SRCBATCHEXT=.bat
 endif
 endif
 ifdef inUnix
@@ -155,6 +155,12 @@ ifeq ($(findstring $(OS_TARGET),$(MAKEFILETARGETS)),)
 $(error The Makefile doesn't support target $(OS_TARGET), please run fpcmake first)
 endif
 endif
+ifneq ($(findstring $(OS_TARGET),$(BSDs)),)
+BSDhier=1
+endif
+ifeq ($(OS_TARGET),linux)
+linuxHier=1
+endif
 export OS_TARGET OS_SOURCE CPU_TARGET CPU_SOURCE FULL_TARGET FULL_SOURCE CROSSCOMPILE
 ifdef FPCDIR
 override FPCDIR:=$(subst \,/,$(FPCDIR))
@@ -220,42 +226,12 @@ 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
-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
 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
 ifndef INSTALL_PREFIX
@@ -264,7 +240,7 @@ INSTALL_PREFIX=$(PREFIX)
 endif
 endif
 ifndef INSTALL_PREFIX
-ifdef UNIXINSTALLDIR
+ifdef UNIXHier
 INSTALL_PREFIX=/usr/local
 else
 ifdef INSTALL_FPCPACKAGE
@@ -283,7 +259,7 @@ DIST_DESTDIR:=$(BASEDIR)
 endif
 export DIST_DESTDIR
 ifndef INSTALL_BASEDIR
-ifdef UNIXINSTALLDIR
+ifdef UNIXHier
 ifdef INSTALL_FPCPACKAGE
 INSTALL_BASEDIR:=$(INSTALL_PREFIX)/lib/fpc/$(FPC_VERSION)
 else
@@ -294,7 +270,7 @@ INSTALL_BASEDIR:=$(INSTALL_PREFIX)
 endif
 endif
 ifndef INSTALL_BINDIR
-ifdef UNIXINSTALLDIR
+ifdef UNIXHier
 ifdef CROSSCOMPILE
 INSTALL_BINDIR:=$(INSTALL_BASEDIR)/cross/$(FULL_TARGET)/bin
 else
@@ -324,19 +300,23 @@ endif
 endif
 endif
 ifndef INSTALL_LIBDIR
-ifdef UNIXINSTALLDIR
+ifdef UNIXHier
 INSTALL_LIBDIR:=$(INSTALL_PREFIX)/lib
 else
 INSTALL_LIBDIR:=$(INSTALL_UNITDIR)
 endif
 endif
 ifndef INSTALL_SOURCEDIR
-ifdef UNIXINSTALLDIR
+ifdef UNIXHier
 ifdef BSDhier
 SRCPREFIXDIR=share/src
 else
+ifdef linuxHier
+SRCPREFIXDIR=share/src
+else
 SRCPREFIXDIR=src
 endif
+endif
 ifdef INSTALL_FPCPACKAGE
 ifdef INSTALL_FPCSUBDIR
 INSTALL_SOURCEDIR:=$(INSTALL_PREFIX)/$(SRCPREFIXDIR)/fpc-$(FPC_VERSION)/$(INSTALL_FPCSUBDIR)/$(PACKAGE_NAME)
@@ -359,12 +339,16 @@ endif
 endif
 endif
 ifndef INSTALL_DOCDIR
-ifdef UNIXINSTALLDIR
+ifdef UNIXHier
 ifdef BSDhier
 DOCPREFIXDIR=share/doc
 else
+ifdef linuxHier
+DOCPREFIXDIR=share/doc
+else
 DOCPREFIXDIR=doc
 endif
+endif
 ifdef INSTALL_FPCPACKAGE
 INSTALL_DOCDIR:=$(INSTALL_PREFIX)/$(DOCPREFIXDIR)/fpc-$(FPC_VERSION)/$(PACKAGE_NAME)
 else
@@ -379,20 +363,28 @@ endif
 endif
 endif
 ifndef INSTALL_EXAMPLEDIR
-ifdef UNIXINSTALLDIR
+ifdef UNIXHier
 ifdef INSTALL_FPCPACKAGE
 ifdef BSDhier
 INSTALL_EXAMPLEDIR:=$(INSTALL_PREFIX)/share/examples/fpc-$(FPC_VERSION)/$(PACKAGE_NAME)
 else
+ifdef linuxHier
+INSTALL_EXAMPLEDIR:=$(INSTALL_DOCDIR)/examples/fpc-$(FPC_VERSION)/$(PACKAGE_NAME)
+else
 INSTALL_EXAMPLEDIR:=$(INSTALL_PREFIX)/doc/fpc-$(FPC_VERSION)/examples/$(PACKAGE_NAME)
 endif
+endif
 else
 ifdef BSDhier
 INSTALL_EXAMPLEDIR:=$(INSTALL_PREFIX)/share/examples/$(PACKAGE_NAME)-$(PACKAGE_VERSION)
 else
+ifdef linuxHier
+INSTALL_EXAMPLEDIR:=$(INSTALL_DOCDIR)/examples/$(PACKAGE_NAME)-$(PACKAGE_VERSION)
+else
 INSTALL_EXAMPLEDIR:=$(INSTALL_PREFIX)/doc/$(PACKAGE_NAME)-$(PACKAGE_VERSION)
 endif
 endif
+endif
 else
 ifdef INSTALL_FPCPACKAGE
 INSTALL_EXAMPLEDIR:=$(INSTALL_BASEDIR)/examples/$(PACKAGE_NAME)
@@ -414,6 +406,7 @@ endif
 else
 CROSSBINDIR=
 endif
+BATCHEXT=.bat
 LOADEREXT=.as
 EXEEXT=.exe
 PPLEXT=.ppl
@@ -446,24 +439,28 @@ ASMEXT=.asm
 SHAREDLIBEXT=.dll
 endif
 ifeq ($(OS_TARGET),linux)
+BATCHEXT=.sh
 EXEEXT=
 HASSHAREDLIB=1
 FPCMADE=fpcmade.lnx
 ZIPSUFFIX=linux
 endif
 ifeq ($(OS_TARGET),freebsd)
+BATCHEXT=.sh
 EXEEXT=
 HASSHAREDLIB=1
 FPCMADE=fpcmade.freebsd
 ZIPSUFFIX=freebsd
 endif
 ifeq ($(OS_TARGET),netbsd)
+BATCHEXT=.sh
 EXEEXT=
 HASSHAREDLIB=1
 FPCMADE=fpcmade.netbsd
 ZIPSUFFIX=netbsd
 endif
 ifeq ($(OS_TARGET),openbsd)
+BATCHEXT=.sh
 EXEEXT=
 HASSHAREDLIB=1
 FPCMADE=fpcmade.openbsd
@@ -475,6 +472,7 @@ FPCMADE=fpcmade.w32
 ZIPSUFFIX=w32
 endif
 ifeq ($(OS_TARGET),os2)
+BATCHEXT=.cmd
 AOUTEXT=.out
 STATICLIBPREFIX=
 SHAREDLIBEXT=.dll
@@ -483,6 +481,7 @@ ZIPSUFFIX=os2
 ECHO=echo
 endif
 ifeq ($(OS_TARGET),emx)
+BATCHEXT=.cmd
 AOUTEXT=.out
 STATICLIBPREFIX=
 SHAREDLIBEXT=.dll
@@ -500,16 +499,19 @@ EXEEXT=.ttp
 FPCMADE=fpcmade.ata
 endif
 ifeq ($(OS_TARGET),beos)
+BATCHEXT=.sh
 EXEEXT=
 FPCMADE=fpcmade.be
 ZIPSUFFIX=be
 endif
 ifeq ($(OS_TARGET),sunos)
+BATCHEXT=.sh
 EXEEXT=
 FPCMADE=fpcmade.sun
 ZIPSUFFIX=sun
 endif
 ifeq ($(OS_TARGET),qnx)
+BATCHEXT=.sh
 EXEEXT=
 FPCMADE=fpcmade.qnx
 ZIPSUFFIX=qnx
@@ -521,11 +523,14 @@ FPCMADE=fpcmade.nw
 ZIPSUFFIX=nw
 endif
 ifeq ($(OS_TARGET),macos)
+BATCHEXT=
 EXEEXT=
 FPCMADE=fpcmade.macos
 ZIPSUFFIX=macos
+DEBUGSYMEXT=.xcoff
 endif
 ifeq ($(OS_TARGET),darwin)
+BATCHEXT=.sh
 EXEEXT=
 HASSHAREDLIB=1
 FPCMADE=fpcmade.darwin
@@ -554,24 +559,28 @@ FPCMADE=fpcmade.dos
 ZIPSUFFIX=watcom
 endif
 ifeq ($(OS_TARGET),linux)
+BATCHEXT=.sh
 EXEEXT=
 HASSHAREDLIB=1
 FPCMADE=fpcmade.lnx
 ZIPSUFFIX=linux
 endif
 ifeq ($(OS_TARGET),freebsd)
+BATCHEXT=.sh
 EXEEXT=
 HASSHAREDLIB=1
 FPCMADE=fpcmade.freebsd
 ZIPSUFFIX=freebsd
 endif
 ifeq ($(OS_TARGET),netbsd)
+BATCHEXT=.sh
 EXEEXT=
 HASSHAREDLIB=1
 FPCMADE=fpcmade.netbsd
 ZIPSUFFIX=netbsd
 endif
 ifeq ($(OS_TARGET),openbsd)
+BATCHEXT=.sh
 EXEEXT=
 HASSHAREDLIB=1
 FPCMADE=fpcmade.openbsd
@@ -588,6 +597,7 @@ FPCMADE=fpcmade.w32
 ZIPSUFFIX=w32
 endif
 ifeq ($(OS_TARGET),os2)
+BATCHEXT=.cmd
 PPUEXT=.ppo
 ASMEXT=.so2
 OEXT=.oo2
@@ -620,6 +630,7 @@ EXEEXT=.ttp
 FPCMADE=fpcmade.ata
 endif
 ifeq ($(OS_TARGET),beos)
+BATCHEXT=.sh
 PPUEXT=.ppu
 ASMEXT=.s
 OEXT=.o
@@ -630,6 +641,7 @@ FPCMADE=fpcmade.be
 ZIPSUFFIX=be
 endif
 ifeq ($(OS_TARGET),sunos)
+BATCHEXT=.sh
 PPUEXT=.ppu
 ASMEXT=.s
 OEXT=.o
@@ -640,6 +652,7 @@ FPCMADE=fpcmade.sun
 ZIPSUFFIX=sun
 endif
 ifeq ($(OS_TARGET),qnx)
+BATCHEXT=.sh
 PPUEXT=.ppu
 ASMEXT=.s
 OEXT=.o
@@ -662,13 +675,15 @@ ZIPSUFFIX=nw
 EXEEXT=.nlm
 endif
 ifeq ($(OS_TARGET),macos)
+BATCHEXT=
 PPUEXT=.ppu
 ASMEXT=.s
 OEXT=.o
 SMARTEXT=.sl
 STATICLIBEXT=.a
 EXEEXT=
-FPCMADE=fpcmade.mcc
+DEBUGSYMEXT=.xcoff
+FPCMADE=fpcmade.macos
 endif
 endif
 ifndef ECHO
@@ -676,7 +691,7 @@ ECHO:=$(strip $(wildcard $(addsuffix /gecho$(SRCEXEEXT),$(SEARCHPATH))))
 ifeq ($(ECHO),)
 ECHO:=$(strip $(wildcard $(addsuffix /echo$(SRCEXEEXT),$(SEARCHPATH))))
 ifeq ($(ECHO),)
-ECHO=
+ECHO= __missing_command__
 else
 ECHO:=$(firstword $(ECHO))
 endif
@@ -690,7 +705,7 @@ DATE:=$(strip $(wildcard $(addsuffix /gdate$(SRCEXEEXT),$(SEARCHPATH))))
 ifeq ($(DATE),)
 DATE:=$(strip $(wildcard $(addsuffix /date$(SRCEXEEXT),$(SEARCHPATH))))
 ifeq ($(DATE),)
-DATE=
+DATE= __missing_command__
 else
 DATE:=$(firstword $(DATE))
 endif
@@ -704,7 +719,7 @@ GINSTALL:=$(strip $(wildcard $(addsuffix /ginstall$(SRCEXEEXT),$(SEARCHPATH))))
 ifeq ($(GINSTALL),)
 GINSTALL:=$(strip $(wildcard $(addsuffix /install$(SRCEXEEXT),$(SEARCHPATH))))
 ifeq ($(GINSTALL),)
-GINSTALL=
+GINSTALL= __missing_command__
 else
 GINSTALL:=$(firstword $(GINSTALL))
 endif
@@ -716,7 +731,7 @@ export GINSTALL
 ifndef CPPROG
 CPPROG:=$(strip $(wildcard $(addsuffix /cp$(SRCEXEEXT),$(SEARCHPATH))))
 ifeq ($(CPPROG),)
-CPPROG=
+CPPROG= __missing_command__
 else
 CPPROG:=$(firstword $(CPPROG))
 endif
@@ -725,7 +740,7 @@ export CPPROG
 ifndef RMPROG
 RMPROG:=$(strip $(wildcard $(addsuffix /rm$(SRCEXEEXT),$(SEARCHPATH))))
 ifeq ($(RMPROG),)
-RMPROG=
+RMPROG= __missing_command__
 else
 RMPROG:=$(firstword $(RMPROG))
 endif
@@ -734,7 +749,7 @@ export RMPROG
 ifndef MVPROG
 MVPROG:=$(strip $(wildcard $(addsuffix /mv$(SRCEXEEXT),$(SEARCHPATH))))
 ifeq ($(MVPROG),)
-MVPROG=
+MVPROG= __missing_command__
 else
 MVPROG:=$(firstword $(MVPROG))
 endif
@@ -783,7 +798,7 @@ export ECHOREDIR COPY COPYTREE MOVE DEL DELTREE INSTALL INSTALLEXE MKDIR
 ifndef PPUMOVE
 PPUMOVE:=$(strip $(wildcard $(addsuffix /ppumove$(SRCEXEEXT),$(SEARCHPATH))))
 ifeq ($(PPUMOVE),)
-PPUMOVE=
+PPUMOVE= __missing_command__
 else
 PPUMOVE:=$(firstword $(PPUMOVE))
 endif
@@ -792,7 +807,7 @@ export PPUMOVE
 ifndef FPCMAKE
 FPCMAKE:=$(strip $(wildcard $(addsuffix /fpcmake$(SRCEXEEXT),$(SEARCHPATH))))
 ifeq ($(FPCMAKE),)
-FPCMAKE=
+FPCMAKE= __missing_command__
 else
 FPCMAKE:=$(firstword $(FPCMAKE))
 endif
@@ -801,7 +816,7 @@ export FPCMAKE
 ifndef ZIPPROG
 ZIPPROG:=$(strip $(wildcard $(addsuffix /zip$(SRCEXEEXT),$(SEARCHPATH))))
 ifeq ($(ZIPPROG),)
-ZIPPROG=
+ZIPPROG= __missing_command__
 else
 ZIPPROG:=$(firstword $(ZIPPROG))
 endif
@@ -810,7 +825,7 @@ export ZIPPROG
 ifndef TARPROG
 TARPROG:=$(strip $(wildcard $(addsuffix /tar$(SRCEXEEXT),$(SEARCHPATH))))
 ifeq ($(TARPROG),)
-TARPROG=
+TARPROG= __missing_command__
 else
 TARPROG:=$(firstword $(TARPROG))
 endif
@@ -861,7 +876,7 @@ AS=$(ASPROG)
 LD=$(LDPROG)
 RC=$(RCPROG)
 AR=$(ARPROG)
-PPAS=ppas$(BATCHEXT)
+PPAS=ppas$(SRCBATCHEXT)
 ifdef inUnix
 LDCONFIG=ldconfig
 else
@@ -1120,8 +1135,12 @@ ifdef RELEASE
 ifeq ($(CPU_TARGET),i386)
 FPCCPUOPT:=-OG2p3
 else
+ifeq ($(CPU_TARGET),powerpc)
+FPCCPUOPT:=-O1
+else
 FPCCPUOPT:=
 endif
+endif
 override FPCOPT+=-Xs $(FPCCPUOPT) -n
 override FPCOPTDEF+=RELEASE
 endif
@@ -1340,6 +1359,9 @@ override CLEANPPUFILES+=$(addsuffix $(PPUEXT),$(CLEAN_UNITS))
 endif
 ifdef 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 CLEANPPULINKFILES:=$(wildcard $(addprefix $(UNITTARGETDIRPREFIX),$(CLEANPPULINKFILES)))
 endif
@@ -1363,6 +1385,7 @@ ifdef LIB_NAME
 	-$(DEL) $(LIB_NAME) $(LIB_FULLNAME)
 endif
 	-$(DEL) $(FPCMADE) Package.fpc $(PPAS) script.res link.res $(FPCEXTFILE) $(REDIRFILE)
+	-$(DEL) *$(ASMEXT) *_ppas$(BATCHEXT)
 fpc_distclean: clean
 ifdef COMPILER_UNITTARGETDIR
 TARGETDIRCLEAN=fpc_clean
@@ -1374,9 +1397,13 @@ endif
 	-$(DEL) *$(OEXT) *$(PPUEXT) *$(RSTEXT) *$(ASMEXT) *$(STATICLIBEXT) *$(SHAREDLIBEXT) *$(PPLEXT)
 	-$(DELTREE) *$(SMARTEXT)
 	-$(DEL) $(FPCMADE) Package.fpc $(PPAS) script.res link.res $(FPCEXTFILE) $(REDIRFILE)
+	-$(DEL) *_ppas$(BATCHEXT)
 ifdef AOUTEXT
 	-$(DEL) *$(AOUTEXT)
 endif
+ifdef DEBUGSYMEXT
+	-$(DEL) *$(DEBUGSYMEXT)
+endif
 .PHONY: fpc_baseinfo
 override INFORULES+=fpc_baseinfo
 fpc_baseinfo:

+ 113 - 71
fcl/db/mysql/Makefile

@@ -1,15 +1,24 @@
 #
-# Don't edit, this file is generated by FPCMake Version 1.1 [2004/02/22]
+# Don't edit, this file is generated by FPCMake Version 1.1 [2004/04/21]
 #
 default: all
 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:=$(subst \,/,$(PATH))
+ifneq ($(findstring darwin,$(OSTYPE)),)
+inUnix=1 #darwin
+SEARCHPATH:=$(filter-out .,$(subst :, ,$(PATH)))
+else
 ifeq ($(findstring ;,$(PATH)),)
 inUnix=1
 SEARCHPATH:=$(filter-out .,$(subst :, ,$(PATH)))
 else
 SEARCHPATH:=$(subst ;, ,$(PATH))
 endif
+endif
 SEARCHPATH+=$(patsubst %/,%,$(subst \,/,$(dir $(MAKE))))
 PWD:=$(strip $(wildcard $(addsuffix /pwd.exe,$(SEARCHPATH))))
 ifeq ($(PWD),)
@@ -37,22 +46,13 @@ ifneq ($(findstring cygdrive,$(PATH)),)
 inCygWin=1
 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
-BATCHEXT=.sh
+SRCBATCHEXT=.sh
 else
 ifdef inOS2
-BATCHEXT=.cmd
+SRCBATCHEXT=.cmd
 else
-BATCHEXT=.bat
+SRCBATCHEXT=.bat
 endif
 endif
 ifdef inUnix
@@ -155,6 +155,12 @@ ifeq ($(findstring $(OS_TARGET),$(MAKEFILETARGETS)),)
 $(error The Makefile doesn't support target $(OS_TARGET), please run fpcmake first)
 endif
 endif
+ifneq ($(findstring $(OS_TARGET),$(BSDs)),)
+BSDhier=1
+endif
+ifeq ($(OS_TARGET),linux)
+linuxHier=1
+endif
 export OS_TARGET OS_SOURCE CPU_TARGET CPU_SOURCE FULL_TARGET FULL_SOURCE CROSSCOMPILE
 ifdef FPCDIR
 override FPCDIR:=$(subst \,/,$(FPCDIR))
@@ -222,42 +228,12 @@ 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
-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
 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
 ifndef INSTALL_PREFIX
@@ -266,7 +242,7 @@ INSTALL_PREFIX=$(PREFIX)
 endif
 endif
 ifndef INSTALL_PREFIX
-ifdef UNIXINSTALLDIR
+ifdef UNIXHier
 INSTALL_PREFIX=/usr/local
 else
 ifdef INSTALL_FPCPACKAGE
@@ -285,7 +261,7 @@ DIST_DESTDIR:=$(BASEDIR)
 endif
 export DIST_DESTDIR
 ifndef INSTALL_BASEDIR
-ifdef UNIXINSTALLDIR
+ifdef UNIXHier
 ifdef INSTALL_FPCPACKAGE
 INSTALL_BASEDIR:=$(INSTALL_PREFIX)/lib/fpc/$(FPC_VERSION)
 else
@@ -296,7 +272,7 @@ INSTALL_BASEDIR:=$(INSTALL_PREFIX)
 endif
 endif
 ifndef INSTALL_BINDIR
-ifdef UNIXINSTALLDIR
+ifdef UNIXHier
 ifdef CROSSCOMPILE
 INSTALL_BINDIR:=$(INSTALL_BASEDIR)/cross/$(FULL_TARGET)/bin
 else
@@ -326,19 +302,23 @@ endif
 endif
 endif
 ifndef INSTALL_LIBDIR
-ifdef UNIXINSTALLDIR
+ifdef UNIXHier
 INSTALL_LIBDIR:=$(INSTALL_PREFIX)/lib
 else
 INSTALL_LIBDIR:=$(INSTALL_UNITDIR)
 endif
 endif
 ifndef INSTALL_SOURCEDIR
-ifdef UNIXINSTALLDIR
+ifdef UNIXHier
 ifdef BSDhier
 SRCPREFIXDIR=share/src
 else
+ifdef linuxHier
+SRCPREFIXDIR=share/src
+else
 SRCPREFIXDIR=src
 endif
+endif
 ifdef INSTALL_FPCPACKAGE
 ifdef INSTALL_FPCSUBDIR
 INSTALL_SOURCEDIR:=$(INSTALL_PREFIX)/$(SRCPREFIXDIR)/fpc-$(FPC_VERSION)/$(INSTALL_FPCSUBDIR)/$(PACKAGE_NAME)
@@ -361,12 +341,16 @@ endif
 endif
 endif
 ifndef INSTALL_DOCDIR
-ifdef UNIXINSTALLDIR
+ifdef UNIXHier
 ifdef BSDhier
 DOCPREFIXDIR=share/doc
 else
+ifdef linuxHier
+DOCPREFIXDIR=share/doc
+else
 DOCPREFIXDIR=doc
 endif
+endif
 ifdef INSTALL_FPCPACKAGE
 INSTALL_DOCDIR:=$(INSTALL_PREFIX)/$(DOCPREFIXDIR)/fpc-$(FPC_VERSION)/$(PACKAGE_NAME)
 else
@@ -381,20 +365,28 @@ endif
 endif
 endif
 ifndef INSTALL_EXAMPLEDIR
-ifdef UNIXINSTALLDIR
+ifdef UNIXHier
 ifdef INSTALL_FPCPACKAGE
 ifdef BSDhier
 INSTALL_EXAMPLEDIR:=$(INSTALL_PREFIX)/share/examples/fpc-$(FPC_VERSION)/$(PACKAGE_NAME)
 else
+ifdef linuxHier
+INSTALL_EXAMPLEDIR:=$(INSTALL_DOCDIR)/examples/fpc-$(FPC_VERSION)/$(PACKAGE_NAME)
+else
 INSTALL_EXAMPLEDIR:=$(INSTALL_PREFIX)/doc/fpc-$(FPC_VERSION)/examples/$(PACKAGE_NAME)
 endif
+endif
 else
 ifdef BSDhier
 INSTALL_EXAMPLEDIR:=$(INSTALL_PREFIX)/share/examples/$(PACKAGE_NAME)-$(PACKAGE_VERSION)
 else
+ifdef linuxHier
+INSTALL_EXAMPLEDIR:=$(INSTALL_DOCDIR)/examples/$(PACKAGE_NAME)-$(PACKAGE_VERSION)
+else
 INSTALL_EXAMPLEDIR:=$(INSTALL_PREFIX)/doc/$(PACKAGE_NAME)-$(PACKAGE_VERSION)
 endif
 endif
+endif
 else
 ifdef INSTALL_FPCPACKAGE
 INSTALL_EXAMPLEDIR:=$(INSTALL_BASEDIR)/examples/$(PACKAGE_NAME)
@@ -418,7 +410,19 @@ CROSSBINDIR=
 endif
 ifeq ($(OS_SOURCE),linux)
 ifndef GCCLIBDIR
-GCCLIBDIR:=$(shell dirname `gcc -print-libgcc-file-name`)
+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
 ifndef OTHERLIBDIR
 OTHERLIBDIR:=$(shell grep -v "^\#" /etc/ld.so.conf | awk '{ ORS=" "; print $1 }')
@@ -430,6 +434,7 @@ OTHERLIBDIR+=/usr/pkg/lib
 endif
 export GCCLIBDIR OTHERLIB
 endif
+BATCHEXT=.bat
 LOADEREXT=.as
 EXEEXT=.exe
 PPLEXT=.ppl
@@ -462,24 +467,28 @@ ASMEXT=.asm
 SHAREDLIBEXT=.dll
 endif
 ifeq ($(OS_TARGET),linux)
+BATCHEXT=.sh
 EXEEXT=
 HASSHAREDLIB=1
 FPCMADE=fpcmade.lnx
 ZIPSUFFIX=linux
 endif
 ifeq ($(OS_TARGET),freebsd)
+BATCHEXT=.sh
 EXEEXT=
 HASSHAREDLIB=1
 FPCMADE=fpcmade.freebsd
 ZIPSUFFIX=freebsd
 endif
 ifeq ($(OS_TARGET),netbsd)
+BATCHEXT=.sh
 EXEEXT=
 HASSHAREDLIB=1
 FPCMADE=fpcmade.netbsd
 ZIPSUFFIX=netbsd
 endif
 ifeq ($(OS_TARGET),openbsd)
+BATCHEXT=.sh
 EXEEXT=
 HASSHAREDLIB=1
 FPCMADE=fpcmade.openbsd
@@ -491,6 +500,7 @@ FPCMADE=fpcmade.w32
 ZIPSUFFIX=w32
 endif
 ifeq ($(OS_TARGET),os2)
+BATCHEXT=.cmd
 AOUTEXT=.out
 STATICLIBPREFIX=
 SHAREDLIBEXT=.dll
@@ -499,6 +509,7 @@ ZIPSUFFIX=os2
 ECHO=echo
 endif
 ifeq ($(OS_TARGET),emx)
+BATCHEXT=.cmd
 AOUTEXT=.out
 STATICLIBPREFIX=
 SHAREDLIBEXT=.dll
@@ -516,16 +527,19 @@ EXEEXT=.ttp
 FPCMADE=fpcmade.ata
 endif
 ifeq ($(OS_TARGET),beos)
+BATCHEXT=.sh
 EXEEXT=
 FPCMADE=fpcmade.be
 ZIPSUFFIX=be
 endif
 ifeq ($(OS_TARGET),sunos)
+BATCHEXT=.sh
 EXEEXT=
 FPCMADE=fpcmade.sun
 ZIPSUFFIX=sun
 endif
 ifeq ($(OS_TARGET),qnx)
+BATCHEXT=.sh
 EXEEXT=
 FPCMADE=fpcmade.qnx
 ZIPSUFFIX=qnx
@@ -537,10 +551,14 @@ FPCMADE=fpcmade.nw
 ZIPSUFFIX=nw
 endif
 ifeq ($(OS_TARGET),macos)
+BATCHEXT=
 EXEEXT=
-FPCMADE=fpcmade.mcc
+FPCMADE=fpcmade.macos
+ZIPSUFFIX=macos
+DEBUGSYMEXT=.xcoff
 endif
 ifeq ($(OS_TARGET),darwin)
+BATCHEXT=.sh
 EXEEXT=
 HASSHAREDLIB=1
 FPCMADE=fpcmade.darwin
@@ -569,24 +587,28 @@ FPCMADE=fpcmade.dos
 ZIPSUFFIX=watcom
 endif
 ifeq ($(OS_TARGET),linux)
+BATCHEXT=.sh
 EXEEXT=
 HASSHAREDLIB=1
 FPCMADE=fpcmade.lnx
 ZIPSUFFIX=linux
 endif
 ifeq ($(OS_TARGET),freebsd)
+BATCHEXT=.sh
 EXEEXT=
 HASSHAREDLIB=1
 FPCMADE=fpcmade.freebsd
 ZIPSUFFIX=freebsd
 endif
 ifeq ($(OS_TARGET),netbsd)
+BATCHEXT=.sh
 EXEEXT=
 HASSHAREDLIB=1
 FPCMADE=fpcmade.netbsd
 ZIPSUFFIX=netbsd
 endif
 ifeq ($(OS_TARGET),openbsd)
+BATCHEXT=.sh
 EXEEXT=
 HASSHAREDLIB=1
 FPCMADE=fpcmade.openbsd
@@ -603,6 +625,7 @@ FPCMADE=fpcmade.w32
 ZIPSUFFIX=w32
 endif
 ifeq ($(OS_TARGET),os2)
+BATCHEXT=.cmd
 PPUEXT=.ppo
 ASMEXT=.so2
 OEXT=.oo2
@@ -635,6 +658,7 @@ EXEEXT=.ttp
 FPCMADE=fpcmade.ata
 endif
 ifeq ($(OS_TARGET),beos)
+BATCHEXT=.sh
 PPUEXT=.ppu
 ASMEXT=.s
 OEXT=.o
@@ -645,6 +669,7 @@ FPCMADE=fpcmade.be
 ZIPSUFFIX=be
 endif
 ifeq ($(OS_TARGET),sunos)
+BATCHEXT=.sh
 PPUEXT=.ppu
 ASMEXT=.s
 OEXT=.o
@@ -655,6 +680,7 @@ FPCMADE=fpcmade.sun
 ZIPSUFFIX=sun
 endif
 ifeq ($(OS_TARGET),qnx)
+BATCHEXT=.sh
 PPUEXT=.ppu
 ASMEXT=.s
 OEXT=.o
@@ -677,13 +703,15 @@ ZIPSUFFIX=nw
 EXEEXT=.nlm
 endif
 ifeq ($(OS_TARGET),macos)
+BATCHEXT=
 PPUEXT=.ppu
 ASMEXT=.s
 OEXT=.o
 SMARTEXT=.sl
 STATICLIBEXT=.a
 EXEEXT=
-FPCMADE=fpcmade.mcc
+DEBUGSYMEXT=.xcoff
+FPCMADE=fpcmade.macos
 endif
 endif
 ifndef ECHO
@@ -691,7 +719,7 @@ ECHO:=$(strip $(wildcard $(addsuffix /gecho$(SRCEXEEXT),$(SEARCHPATH))))
 ifeq ($(ECHO),)
 ECHO:=$(strip $(wildcard $(addsuffix /echo$(SRCEXEEXT),$(SEARCHPATH))))
 ifeq ($(ECHO),)
-ECHO=
+ECHO= __missing_command__
 else
 ECHO:=$(firstword $(ECHO))
 endif
@@ -705,7 +733,7 @@ DATE:=$(strip $(wildcard $(addsuffix /gdate$(SRCEXEEXT),$(SEARCHPATH))))
 ifeq ($(DATE),)
 DATE:=$(strip $(wildcard $(addsuffix /date$(SRCEXEEXT),$(SEARCHPATH))))
 ifeq ($(DATE),)
-DATE=
+DATE= __missing_command__
 else
 DATE:=$(firstword $(DATE))
 endif
@@ -719,7 +747,7 @@ GINSTALL:=$(strip $(wildcard $(addsuffix /ginstall$(SRCEXEEXT),$(SEARCHPATH))))
 ifeq ($(GINSTALL),)
 GINSTALL:=$(strip $(wildcard $(addsuffix /install$(SRCEXEEXT),$(SEARCHPATH))))
 ifeq ($(GINSTALL),)
-GINSTALL=
+GINSTALL= __missing_command__
 else
 GINSTALL:=$(firstword $(GINSTALL))
 endif
@@ -731,7 +759,7 @@ export GINSTALL
 ifndef CPPROG
 CPPROG:=$(strip $(wildcard $(addsuffix /cp$(SRCEXEEXT),$(SEARCHPATH))))
 ifeq ($(CPPROG),)
-CPPROG=
+CPPROG= __missing_command__
 else
 CPPROG:=$(firstword $(CPPROG))
 endif
@@ -740,7 +768,7 @@ export CPPROG
 ifndef RMPROG
 RMPROG:=$(strip $(wildcard $(addsuffix /rm$(SRCEXEEXT),$(SEARCHPATH))))
 ifeq ($(RMPROG),)
-RMPROG=
+RMPROG= __missing_command__
 else
 RMPROG:=$(firstword $(RMPROG))
 endif
@@ -749,7 +777,7 @@ export RMPROG
 ifndef MVPROG
 MVPROG:=$(strip $(wildcard $(addsuffix /mv$(SRCEXEEXT),$(SEARCHPATH))))
 ifeq ($(MVPROG),)
-MVPROG=
+MVPROG= __missing_command__
 else
 MVPROG:=$(firstword $(MVPROG))
 endif
@@ -798,7 +826,7 @@ export ECHOREDIR COPY COPYTREE MOVE DEL DELTREE INSTALL INSTALLEXE MKDIR
 ifndef PPUMOVE
 PPUMOVE:=$(strip $(wildcard $(addsuffix /ppumove$(SRCEXEEXT),$(SEARCHPATH))))
 ifeq ($(PPUMOVE),)
-PPUMOVE=
+PPUMOVE= __missing_command__
 else
 PPUMOVE:=$(firstword $(PPUMOVE))
 endif
@@ -807,7 +835,7 @@ export PPUMOVE
 ifndef FPCMAKE
 FPCMAKE:=$(strip $(wildcard $(addsuffix /fpcmake$(SRCEXEEXT),$(SEARCHPATH))))
 ifeq ($(FPCMAKE),)
-FPCMAKE=
+FPCMAKE= __missing_command__
 else
 FPCMAKE:=$(firstword $(FPCMAKE))
 endif
@@ -816,7 +844,7 @@ export FPCMAKE
 ifndef ZIPPROG
 ZIPPROG:=$(strip $(wildcard $(addsuffix /zip$(SRCEXEEXT),$(SEARCHPATH))))
 ifeq ($(ZIPPROG),)
-ZIPPROG=
+ZIPPROG= __missing_command__
 else
 ZIPPROG:=$(firstword $(ZIPPROG))
 endif
@@ -825,7 +853,7 @@ export ZIPPROG
 ifndef TARPROG
 TARPROG:=$(strip $(wildcard $(addsuffix /tar$(SRCEXEEXT),$(SEARCHPATH))))
 ifeq ($(TARPROG),)
-TARPROG=
+TARPROG= __missing_command__
 else
 TARPROG:=$(firstword $(TARPROG))
 endif
@@ -837,9 +865,11 @@ ARNAME=$(BINUTILSPREFIX)ar
 RCNAME=$(BINUTILSPREFIX)rc
 ifneq ($(findstring 1.0.,$(FPC_VERSION)),)
 ifeq ($(OS_TARGET),win32)
-ASNAME=as
-LDNAME=ld
-ARNAME=ar
+ifeq ($(CROSSBINDIR),)
+ASNAME=asw
+LDNAME=ldw
+ARNAME=arw
+endif
 endif
 endif
 ifndef ASPROG
@@ -874,7 +904,7 @@ AS=$(ASPROG)
 LD=$(LDPROG)
 RC=$(RCPROG)
 AR=$(ARPROG)
-PPAS=ppas$(BATCHEXT)
+PPAS=ppas$(SRCBATCHEXT)
 ifdef inUnix
 LDCONFIG=ldconfig
 else
@@ -1189,8 +1219,12 @@ ifdef RELEASE
 ifeq ($(CPU_TARGET),i386)
 FPCCPUOPT:=-OG2p3
 else
+ifeq ($(CPU_TARGET),powerpc)
+FPCCPUOPT:=-O1
+else
 FPCCPUOPT:=
 endif
+endif
 override FPCOPT+=-Xs $(FPCCPUOPT) -n
 override FPCOPTDEF+=RELEASE
 endif
@@ -1415,6 +1449,9 @@ override CLEANPPUFILES+=$(addsuffix $(PPUEXT),$(CLEAN_UNITS))
 endif
 ifdef 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 CLEANPPULINKFILES:=$(wildcard $(addprefix $(UNITTARGETDIRPREFIX),$(CLEANPPULINKFILES)))
 endif
@@ -1438,6 +1475,7 @@ ifdef LIB_NAME
 	-$(DEL) $(LIB_NAME) $(LIB_FULLNAME)
 endif
 	-$(DEL) $(FPCMADE) Package.fpc $(PPAS) script.res link.res $(FPCEXTFILE) $(REDIRFILE)
+	-$(DEL) *$(ASMEXT) *_ppas$(BATCHEXT)
 fpc_distclean: clean
 ifdef COMPILER_UNITTARGETDIR
 TARGETDIRCLEAN=fpc_clean
@@ -1449,9 +1487,13 @@ endif
 	-$(DEL) *$(OEXT) *$(PPUEXT) *$(RSTEXT) *$(ASMEXT) *$(STATICLIBEXT) *$(SHAREDLIBEXT) *$(PPLEXT)
 	-$(DELTREE) *$(SMARTEXT)
 	-$(DEL) $(FPCMADE) Package.fpc $(PPAS) script.res link.res $(FPCEXTFILE) $(REDIRFILE)
+	-$(DEL) *_ppas$(BATCHEXT)
 ifdef AOUTEXT
 	-$(DEL) *$(AOUTEXT)
 endif
+ifdef DEBUGSYMEXT
+	-$(DEL) *$(DEBUGSYMEXT)
+endif
 .PHONY: fpc_baseinfo
 override INFORULES+=fpc_baseinfo
 fpc_baseinfo:

+ 122 - 71
fcl/db/odbc/Makefile

@@ -1,15 +1,24 @@
 #
-# Don't edit, this file is generated by FPCMake Version 1.1 [2004/01/05]
+# Don't edit, this file is generated by FPCMake Version 1.1 [2004/04/21]
 #
 default: all
 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:=$(subst \,/,$(PATH))
+ifneq ($(findstring darwin,$(OSTYPE)),)
+inUnix=1 #darwin
+SEARCHPATH:=$(filter-out .,$(subst :, ,$(PATH)))
+else
 ifeq ($(findstring ;,$(PATH)),)
 inUnix=1
 SEARCHPATH:=$(filter-out .,$(subst :, ,$(PATH)))
 else
 SEARCHPATH:=$(subst ;, ,$(PATH))
 endif
+endif
 SEARCHPATH+=$(patsubst %/,%,$(subst \,/,$(dir $(MAKE))))
 PWD:=$(strip $(wildcard $(addsuffix /pwd.exe,$(SEARCHPATH))))
 ifeq ($(PWD),)
@@ -37,22 +46,13 @@ ifneq ($(findstring cygdrive,$(PATH)),)
 inCygWin=1
 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
-BATCHEXT=.sh
+SRCBATCHEXT=.sh
 else
 ifdef inOS2
-BATCHEXT=.cmd
+SRCBATCHEXT=.cmd
 else
-BATCHEXT=.bat
+SRCBATCHEXT=.bat
 endif
 endif
 ifdef inUnix
@@ -155,6 +155,12 @@ ifeq ($(findstring $(OS_TARGET),$(MAKEFILETARGETS)),)
 $(error The Makefile doesn't support target $(OS_TARGET), please run fpcmake first)
 endif
 endif
+ifneq ($(findstring $(OS_TARGET),$(BSDs)),)
+BSDhier=1
+endif
+ifeq ($(OS_TARGET),linux)
+linuxHier=1
+endif
 export OS_TARGET OS_SOURCE CPU_TARGET CPU_SOURCE FULL_TARGET FULL_SOURCE CROSSCOMPILE
 ifdef FPCDIR
 override FPCDIR:=$(subst \,/,$(FPCDIR))
@@ -184,11 +190,14 @@ override FPCDIR:=$(FPCDIR)/..
 ifeq ($(wildcard $(addprefix $(FPCDIR)/,rtl units)),)
 override FPCDIR:=$(FPCDIR)/..
 ifeq ($(wildcard $(addprefix $(FPCDIR)/,rtl units)),)
+override FPCDIR:=$(BASEDIR)
+ifeq ($(wildcard $(addprefix $(FPCDIR)/,rtl units)),)
 override FPCDIR=c:/pp
 endif
 endif
 endif
 endif
+endif
 ifndef CROSSDIR
 CROSSDIR:=$(FPCDIR)/cross/$(FULL_TARGET)
 endif
@@ -217,42 +226,12 @@ 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
-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
 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
 ifndef INSTALL_PREFIX
@@ -261,7 +240,7 @@ INSTALL_PREFIX=$(PREFIX)
 endif
 endif
 ifndef INSTALL_PREFIX
-ifdef UNIXINSTALLDIR
+ifdef UNIXHier
 INSTALL_PREFIX=/usr/local
 else
 ifdef INSTALL_FPCPACKAGE
@@ -280,7 +259,7 @@ DIST_DESTDIR:=$(BASEDIR)
 endif
 export DIST_DESTDIR
 ifndef INSTALL_BASEDIR
-ifdef UNIXINSTALLDIR
+ifdef UNIXHier
 ifdef INSTALL_FPCPACKAGE
 INSTALL_BASEDIR:=$(INSTALL_PREFIX)/lib/fpc/$(FPC_VERSION)
 else
@@ -291,7 +270,7 @@ INSTALL_BASEDIR:=$(INSTALL_PREFIX)
 endif
 endif
 ifndef INSTALL_BINDIR
-ifdef UNIXINSTALLDIR
+ifdef UNIXHier
 ifdef CROSSCOMPILE
 INSTALL_BINDIR:=$(INSTALL_BASEDIR)/cross/$(FULL_TARGET)/bin
 else
@@ -321,19 +300,23 @@ endif
 endif
 endif
 ifndef INSTALL_LIBDIR
-ifdef UNIXINSTALLDIR
+ifdef UNIXHier
 INSTALL_LIBDIR:=$(INSTALL_PREFIX)/lib
 else
 INSTALL_LIBDIR:=$(INSTALL_UNITDIR)
 endif
 endif
 ifndef INSTALL_SOURCEDIR
-ifdef UNIXINSTALLDIR
+ifdef UNIXHier
 ifdef BSDhier
 SRCPREFIXDIR=share/src
 else
+ifdef linuxHier
+SRCPREFIXDIR=share/src
+else
 SRCPREFIXDIR=src
 endif
+endif
 ifdef INSTALL_FPCPACKAGE
 ifdef INSTALL_FPCSUBDIR
 INSTALL_SOURCEDIR:=$(INSTALL_PREFIX)/$(SRCPREFIXDIR)/fpc-$(FPC_VERSION)/$(INSTALL_FPCSUBDIR)/$(PACKAGE_NAME)
@@ -356,12 +339,16 @@ endif
 endif
 endif
 ifndef INSTALL_DOCDIR
-ifdef UNIXINSTALLDIR
+ifdef UNIXHier
 ifdef BSDhier
 DOCPREFIXDIR=share/doc
 else
+ifdef linuxHier
+DOCPREFIXDIR=share/doc
+else
 DOCPREFIXDIR=doc
 endif
+endif
 ifdef INSTALL_FPCPACKAGE
 INSTALL_DOCDIR:=$(INSTALL_PREFIX)/$(DOCPREFIXDIR)/fpc-$(FPC_VERSION)/$(PACKAGE_NAME)
 else
@@ -376,20 +363,28 @@ endif
 endif
 endif
 ifndef INSTALL_EXAMPLEDIR
-ifdef UNIXINSTALLDIR
+ifdef UNIXHier
 ifdef INSTALL_FPCPACKAGE
 ifdef BSDhier
 INSTALL_EXAMPLEDIR:=$(INSTALL_PREFIX)/share/examples/fpc-$(FPC_VERSION)/$(PACKAGE_NAME)
 else
+ifdef linuxHier
+INSTALL_EXAMPLEDIR:=$(INSTALL_DOCDIR)/examples/fpc-$(FPC_VERSION)/$(PACKAGE_NAME)
+else
 INSTALL_EXAMPLEDIR:=$(INSTALL_PREFIX)/doc/fpc-$(FPC_VERSION)/examples/$(PACKAGE_NAME)
 endif
+endif
 else
 ifdef BSDhier
 INSTALL_EXAMPLEDIR:=$(INSTALL_PREFIX)/share/examples/$(PACKAGE_NAME)-$(PACKAGE_VERSION)
 else
+ifdef linuxHier
+INSTALL_EXAMPLEDIR:=$(INSTALL_DOCDIR)/examples/$(PACKAGE_NAME)-$(PACKAGE_VERSION)
+else
 INSTALL_EXAMPLEDIR:=$(INSTALL_PREFIX)/doc/$(PACKAGE_NAME)-$(PACKAGE_VERSION)
 endif
 endif
+endif
 else
 ifdef INSTALL_FPCPACKAGE
 INSTALL_EXAMPLEDIR:=$(INSTALL_BASEDIR)/examples/$(PACKAGE_NAME)
@@ -413,7 +408,19 @@ CROSSBINDIR=
 endif
 ifeq ($(OS_SOURCE),linux)
 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
 ifndef OTHERLIBDIR
 OTHERLIBDIR:=$(shell grep -v "^\#" /etc/ld.so.conf | awk '{ ORS=" "; print $1 }')
@@ -425,6 +432,7 @@ OTHERLIBDIR+=/usr/pkg/lib
 endif
 export GCCLIBDIR OTHERLIB
 endif
+BATCHEXT=.bat
 LOADEREXT=.as
 EXEEXT=.exe
 PPLEXT=.ppl
@@ -457,24 +465,28 @@ ASMEXT=.asm
 SHAREDLIBEXT=.dll
 endif
 ifeq ($(OS_TARGET),linux)
+BATCHEXT=.sh
 EXEEXT=
 HASSHAREDLIB=1
 FPCMADE=fpcmade.lnx
 ZIPSUFFIX=linux
 endif
 ifeq ($(OS_TARGET),freebsd)
+BATCHEXT=.sh
 EXEEXT=
 HASSHAREDLIB=1
 FPCMADE=fpcmade.freebsd
 ZIPSUFFIX=freebsd
 endif
 ifeq ($(OS_TARGET),netbsd)
+BATCHEXT=.sh
 EXEEXT=
 HASSHAREDLIB=1
 FPCMADE=fpcmade.netbsd
 ZIPSUFFIX=netbsd
 endif
 ifeq ($(OS_TARGET),openbsd)
+BATCHEXT=.sh
 EXEEXT=
 HASSHAREDLIB=1
 FPCMADE=fpcmade.openbsd
@@ -486,6 +498,7 @@ FPCMADE=fpcmade.w32
 ZIPSUFFIX=w32
 endif
 ifeq ($(OS_TARGET),os2)
+BATCHEXT=.cmd
 AOUTEXT=.out
 STATICLIBPREFIX=
 SHAREDLIBEXT=.dll
@@ -494,6 +507,7 @@ ZIPSUFFIX=os2
 ECHO=echo
 endif
 ifeq ($(OS_TARGET),emx)
+BATCHEXT=.cmd
 AOUTEXT=.out
 STATICLIBPREFIX=
 SHAREDLIBEXT=.dll
@@ -511,16 +525,19 @@ EXEEXT=.ttp
 FPCMADE=fpcmade.ata
 endif
 ifeq ($(OS_TARGET),beos)
+BATCHEXT=.sh
 EXEEXT=
 FPCMADE=fpcmade.be
 ZIPSUFFIX=be
 endif
 ifeq ($(OS_TARGET),sunos)
+BATCHEXT=.sh
 EXEEXT=
 FPCMADE=fpcmade.sun
 ZIPSUFFIX=sun
 endif
 ifeq ($(OS_TARGET),qnx)
+BATCHEXT=.sh
 EXEEXT=
 FPCMADE=fpcmade.qnx
 ZIPSUFFIX=qnx
@@ -532,10 +549,14 @@ FPCMADE=fpcmade.nw
 ZIPSUFFIX=nw
 endif
 ifeq ($(OS_TARGET),macos)
+BATCHEXT=
 EXEEXT=
-FPCMADE=fpcmade.mcc
+FPCMADE=fpcmade.macos
+ZIPSUFFIX=macos
+DEBUGSYMEXT=.xcoff
 endif
 ifeq ($(OS_TARGET),darwin)
+BATCHEXT=.sh
 EXEEXT=
 HASSHAREDLIB=1
 FPCMADE=fpcmade.darwin
@@ -564,24 +585,28 @@ FPCMADE=fpcmade.dos
 ZIPSUFFIX=watcom
 endif
 ifeq ($(OS_TARGET),linux)
+BATCHEXT=.sh
 EXEEXT=
 HASSHAREDLIB=1
 FPCMADE=fpcmade.lnx
 ZIPSUFFIX=linux
 endif
 ifeq ($(OS_TARGET),freebsd)
+BATCHEXT=.sh
 EXEEXT=
 HASSHAREDLIB=1
 FPCMADE=fpcmade.freebsd
 ZIPSUFFIX=freebsd
 endif
 ifeq ($(OS_TARGET),netbsd)
+BATCHEXT=.sh
 EXEEXT=
 HASSHAREDLIB=1
 FPCMADE=fpcmade.netbsd
 ZIPSUFFIX=netbsd
 endif
 ifeq ($(OS_TARGET),openbsd)
+BATCHEXT=.sh
 EXEEXT=
 HASSHAREDLIB=1
 FPCMADE=fpcmade.openbsd
@@ -598,6 +623,7 @@ FPCMADE=fpcmade.w32
 ZIPSUFFIX=w32
 endif
 ifeq ($(OS_TARGET),os2)
+BATCHEXT=.cmd
 PPUEXT=.ppo
 ASMEXT=.so2
 OEXT=.oo2
@@ -630,6 +656,7 @@ EXEEXT=.ttp
 FPCMADE=fpcmade.ata
 endif
 ifeq ($(OS_TARGET),beos)
+BATCHEXT=.sh
 PPUEXT=.ppu
 ASMEXT=.s
 OEXT=.o
@@ -640,6 +667,7 @@ FPCMADE=fpcmade.be
 ZIPSUFFIX=be
 endif
 ifeq ($(OS_TARGET),sunos)
+BATCHEXT=.sh
 PPUEXT=.ppu
 ASMEXT=.s
 OEXT=.o
@@ -650,6 +678,7 @@ FPCMADE=fpcmade.sun
 ZIPSUFFIX=sun
 endif
 ifeq ($(OS_TARGET),qnx)
+BATCHEXT=.sh
 PPUEXT=.ppu
 ASMEXT=.s
 OEXT=.o
@@ -672,13 +701,15 @@ ZIPSUFFIX=nw
 EXEEXT=.nlm
 endif
 ifeq ($(OS_TARGET),macos)
+BATCHEXT=
 PPUEXT=.ppu
 ASMEXT=.s
 OEXT=.o
 SMARTEXT=.sl
 STATICLIBEXT=.a
 EXEEXT=
-FPCMADE=fpcmade.mcc
+DEBUGSYMEXT=.xcoff
+FPCMADE=fpcmade.macos
 endif
 endif
 ifndef ECHO
@@ -686,7 +717,7 @@ ECHO:=$(strip $(wildcard $(addsuffix /gecho$(SRCEXEEXT),$(SEARCHPATH))))
 ifeq ($(ECHO),)
 ECHO:=$(strip $(wildcard $(addsuffix /echo$(SRCEXEEXT),$(SEARCHPATH))))
 ifeq ($(ECHO),)
-ECHO=
+ECHO= __missing_command__
 else
 ECHO:=$(firstword $(ECHO))
 endif
@@ -700,7 +731,7 @@ DATE:=$(strip $(wildcard $(addsuffix /gdate$(SRCEXEEXT),$(SEARCHPATH))))
 ifeq ($(DATE),)
 DATE:=$(strip $(wildcard $(addsuffix /date$(SRCEXEEXT),$(SEARCHPATH))))
 ifeq ($(DATE),)
-DATE=
+DATE= __missing_command__
 else
 DATE:=$(firstword $(DATE))
 endif
@@ -714,7 +745,7 @@ GINSTALL:=$(strip $(wildcard $(addsuffix /ginstall$(SRCEXEEXT),$(SEARCHPATH))))
 ifeq ($(GINSTALL),)
 GINSTALL:=$(strip $(wildcard $(addsuffix /install$(SRCEXEEXT),$(SEARCHPATH))))
 ifeq ($(GINSTALL),)
-GINSTALL=
+GINSTALL= __missing_command__
 else
 GINSTALL:=$(firstword $(GINSTALL))
 endif
@@ -726,7 +757,7 @@ export GINSTALL
 ifndef CPPROG
 CPPROG:=$(strip $(wildcard $(addsuffix /cp$(SRCEXEEXT),$(SEARCHPATH))))
 ifeq ($(CPPROG),)
-CPPROG=
+CPPROG= __missing_command__
 else
 CPPROG:=$(firstword $(CPPROG))
 endif
@@ -735,7 +766,7 @@ export CPPROG
 ifndef RMPROG
 RMPROG:=$(strip $(wildcard $(addsuffix /rm$(SRCEXEEXT),$(SEARCHPATH))))
 ifeq ($(RMPROG),)
-RMPROG=
+RMPROG= __missing_command__
 else
 RMPROG:=$(firstword $(RMPROG))
 endif
@@ -744,7 +775,7 @@ export RMPROG
 ifndef MVPROG
 MVPROG:=$(strip $(wildcard $(addsuffix /mv$(SRCEXEEXT),$(SEARCHPATH))))
 ifeq ($(MVPROG),)
-MVPROG=
+MVPROG= __missing_command__
 else
 MVPROG:=$(firstword $(MVPROG))
 endif
@@ -793,7 +824,7 @@ export ECHOREDIR COPY COPYTREE MOVE DEL DELTREE INSTALL INSTALLEXE MKDIR
 ifndef PPUMOVE
 PPUMOVE:=$(strip $(wildcard $(addsuffix /ppumove$(SRCEXEEXT),$(SEARCHPATH))))
 ifeq ($(PPUMOVE),)
-PPUMOVE=
+PPUMOVE= __missing_command__
 else
 PPUMOVE:=$(firstword $(PPUMOVE))
 endif
@@ -802,7 +833,7 @@ export PPUMOVE
 ifndef FPCMAKE
 FPCMAKE:=$(strip $(wildcard $(addsuffix /fpcmake$(SRCEXEEXT),$(SEARCHPATH))))
 ifeq ($(FPCMAKE),)
-FPCMAKE=
+FPCMAKE= __missing_command__
 else
 FPCMAKE:=$(firstword $(FPCMAKE))
 endif
@@ -811,7 +842,7 @@ export FPCMAKE
 ifndef ZIPPROG
 ZIPPROG:=$(strip $(wildcard $(addsuffix /zip$(SRCEXEEXT),$(SEARCHPATH))))
 ifeq ($(ZIPPROG),)
-ZIPPROG=
+ZIPPROG= __missing_command__
 else
 ZIPPROG:=$(firstword $(ZIPPROG))
 endif
@@ -820,7 +851,7 @@ export ZIPPROG
 ifndef TARPROG
 TARPROG:=$(strip $(wildcard $(addsuffix /tar$(SRCEXEEXT),$(SEARCHPATH))))
 ifeq ($(TARPROG),)
-TARPROG=
+TARPROG= __missing_command__
 else
 TARPROG:=$(firstword $(TARPROG))
 endif
@@ -832,9 +863,11 @@ ARNAME=$(BINUTILSPREFIX)ar
 RCNAME=$(BINUTILSPREFIX)rc
 ifneq ($(findstring 1.0.,$(FPC_VERSION)),)
 ifeq ($(OS_TARGET),win32)
-ASNAME=as
-LDNAME=ld
-ARNAME=ar
+ifeq ($(CROSSBINDIR),)
+ASNAME=asw
+LDNAME=ldw
+ARNAME=arw
+endif
 endif
 endif
 ifndef ASPROG
@@ -869,7 +902,7 @@ AS=$(ASPROG)
 LD=$(LDPROG)
 RC=$(RCPROG)
 AR=$(ARPROG)
-PPAS=ppas$(BATCHEXT)
+PPAS=ppas$(SRCBATCHEXT)
 ifdef inUnix
 LDCONFIG=ldconfig
 else
@@ -939,6 +972,12 @@ REQUIRE_PACKAGES_RTL=1
 REQUIRE_PACKAGES_ODBC=1
 endif
 endif
+ifeq ($(OS_TARGET),linux)
+ifeq ($(CPU_TARGET),arm)
+REQUIRE_PACKAGES_RTL=1
+REQUIRE_PACKAGES_ODBC=1
+endif
+endif
 ifeq ($(OS_TARGET),go32v2)
 ifeq ($(CPU_TARGET),i386)
 REQUIRE_PACKAGES_RTL=1
@@ -1178,8 +1217,12 @@ ifdef RELEASE
 ifeq ($(CPU_TARGET),i386)
 FPCCPUOPT:=-OG2p3
 else
+ifeq ($(CPU_TARGET),powerpc)
+FPCCPUOPT:=-O1
+else
 FPCCPUOPT:=
 endif
+endif
 override FPCOPT+=-Xs $(FPCCPUOPT) -n
 override FPCOPTDEF+=RELEASE
 endif
@@ -1404,6 +1447,9 @@ override CLEANPPUFILES+=$(addsuffix $(PPUEXT),$(CLEAN_UNITS))
 endif
 ifdef 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 CLEANPPULINKFILES:=$(wildcard $(addprefix $(UNITTARGETDIRPREFIX),$(CLEANPPULINKFILES)))
 endif
@@ -1427,6 +1473,7 @@ ifdef LIB_NAME
 	-$(DEL) $(LIB_NAME) $(LIB_FULLNAME)
 endif
 	-$(DEL) $(FPCMADE) Package.fpc $(PPAS) script.res link.res $(FPCEXTFILE) $(REDIRFILE)
+	-$(DEL) *$(ASMEXT) *_ppas$(BATCHEXT)
 fpc_distclean: clean
 ifdef COMPILER_UNITTARGETDIR
 TARGETDIRCLEAN=fpc_clean
@@ -1438,9 +1485,13 @@ endif
 	-$(DEL) *$(OEXT) *$(PPUEXT) *$(RSTEXT) *$(ASMEXT) *$(STATICLIBEXT) *$(SHAREDLIBEXT) *$(PPLEXT)
 	-$(DELTREE) *$(SMARTEXT)
 	-$(DEL) $(FPCMADE) Package.fpc $(PPAS) script.res link.res $(FPCEXTFILE) $(REDIRFILE)
+	-$(DEL) *_ppas$(BATCHEXT)
 ifdef AOUTEXT
 	-$(DEL) *$(AOUTEXT)
 endif
+ifdef DEBUGSYMEXT
+	-$(DEL) *$(DEBUGSYMEXT)
+endif
 .PHONY: fpc_baseinfo
 override INFORULES+=fpc_baseinfo
 fpc_baseinfo:

+ 93 - 66
fcl/db/sdf/Makefile

@@ -1,15 +1,24 @@
 #
-# Don't edit, this file is generated by FPCMake Version 1.1 [2004/03/20]
+# Don't edit, this file is generated by FPCMake Version 1.1 [2004/04/21]
 #
 default: all
 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:=$(subst \,/,$(PATH))
+ifneq ($(findstring darwin,$(OSTYPE)),)
+inUnix=1 #darwin
+SEARCHPATH:=$(filter-out .,$(subst :, ,$(PATH)))
+else
 ifeq ($(findstring ;,$(PATH)),)
 inUnix=1
 SEARCHPATH:=$(filter-out .,$(subst :, ,$(PATH)))
 else
 SEARCHPATH:=$(subst ;, ,$(PATH))
 endif
+endif
 SEARCHPATH+=$(patsubst %/,%,$(subst \,/,$(dir $(MAKE))))
 PWD:=$(strip $(wildcard $(addsuffix /pwd.exe,$(SEARCHPATH))))
 ifeq ($(PWD),)
@@ -37,22 +46,13 @@ ifneq ($(findstring cygdrive,$(PATH)),)
 inCygWin=1
 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
-BATCHEXT=.sh
+SRCBATCHEXT=.sh
 else
 ifdef inOS2
-BATCHEXT=.cmd
+SRCBATCHEXT=.cmd
 else
-BATCHEXT=.bat
+SRCBATCHEXT=.bat
 endif
 endif
 ifdef inUnix
@@ -155,6 +155,12 @@ ifeq ($(findstring $(OS_TARGET),$(MAKEFILETARGETS)),)
 $(error The Makefile doesn't support target $(OS_TARGET), please run fpcmake first)
 endif
 endif
+ifneq ($(findstring $(OS_TARGET),$(BSDs)),)
+BSDhier=1
+endif
+ifeq ($(OS_TARGET),linux)
+linuxHier=1
+endif
 export OS_TARGET OS_SOURCE CPU_TARGET CPU_SOURCE FULL_TARGET FULL_SOURCE CROSSCOMPILE
 ifdef FPCDIR
 override FPCDIR:=$(subst \,/,$(FPCDIR))
@@ -219,42 +225,12 @@ 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
-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
 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
 ifndef INSTALL_PREFIX
@@ -263,7 +239,7 @@ INSTALL_PREFIX=$(PREFIX)
 endif
 endif
 ifndef INSTALL_PREFIX
-ifdef UNIXINSTALLDIR
+ifdef UNIXHier
 INSTALL_PREFIX=/usr/local
 else
 ifdef INSTALL_FPCPACKAGE
@@ -282,7 +258,7 @@ DIST_DESTDIR:=$(BASEDIR)
 endif
 export DIST_DESTDIR
 ifndef INSTALL_BASEDIR
-ifdef UNIXINSTALLDIR
+ifdef UNIXHier
 ifdef INSTALL_FPCPACKAGE
 INSTALL_BASEDIR:=$(INSTALL_PREFIX)/lib/fpc/$(FPC_VERSION)
 else
@@ -293,7 +269,7 @@ INSTALL_BASEDIR:=$(INSTALL_PREFIX)
 endif
 endif
 ifndef INSTALL_BINDIR
-ifdef UNIXINSTALLDIR
+ifdef UNIXHier
 ifdef CROSSCOMPILE
 INSTALL_BINDIR:=$(INSTALL_BASEDIR)/cross/$(FULL_TARGET)/bin
 else
@@ -323,19 +299,23 @@ endif
 endif
 endif
 ifndef INSTALL_LIBDIR
-ifdef UNIXINSTALLDIR
+ifdef UNIXHier
 INSTALL_LIBDIR:=$(INSTALL_PREFIX)/lib
 else
 INSTALL_LIBDIR:=$(INSTALL_UNITDIR)
 endif
 endif
 ifndef INSTALL_SOURCEDIR
-ifdef UNIXINSTALLDIR
+ifdef UNIXHier
 ifdef BSDhier
 SRCPREFIXDIR=share/src
 else
+ifdef linuxHier
+SRCPREFIXDIR=share/src
+else
 SRCPREFIXDIR=src
 endif
+endif
 ifdef INSTALL_FPCPACKAGE
 ifdef INSTALL_FPCSUBDIR
 INSTALL_SOURCEDIR:=$(INSTALL_PREFIX)/$(SRCPREFIXDIR)/fpc-$(FPC_VERSION)/$(INSTALL_FPCSUBDIR)/$(PACKAGE_NAME)
@@ -358,12 +338,16 @@ endif
 endif
 endif
 ifndef INSTALL_DOCDIR
-ifdef UNIXINSTALLDIR
+ifdef UNIXHier
 ifdef BSDhier
 DOCPREFIXDIR=share/doc
 else
+ifdef linuxHier
+DOCPREFIXDIR=share/doc
+else
 DOCPREFIXDIR=doc
 endif
+endif
 ifdef INSTALL_FPCPACKAGE
 INSTALL_DOCDIR:=$(INSTALL_PREFIX)/$(DOCPREFIXDIR)/fpc-$(FPC_VERSION)/$(PACKAGE_NAME)
 else
@@ -378,20 +362,28 @@ endif
 endif
 endif
 ifndef INSTALL_EXAMPLEDIR
-ifdef UNIXINSTALLDIR
+ifdef UNIXHier
 ifdef INSTALL_FPCPACKAGE
 ifdef BSDhier
 INSTALL_EXAMPLEDIR:=$(INSTALL_PREFIX)/share/examples/fpc-$(FPC_VERSION)/$(PACKAGE_NAME)
 else
+ifdef linuxHier
+INSTALL_EXAMPLEDIR:=$(INSTALL_DOCDIR)/examples/fpc-$(FPC_VERSION)/$(PACKAGE_NAME)
+else
 INSTALL_EXAMPLEDIR:=$(INSTALL_PREFIX)/doc/fpc-$(FPC_VERSION)/examples/$(PACKAGE_NAME)
 endif
+endif
 else
 ifdef BSDhier
 INSTALL_EXAMPLEDIR:=$(INSTALL_PREFIX)/share/examples/$(PACKAGE_NAME)-$(PACKAGE_VERSION)
 else
+ifdef linuxHier
+INSTALL_EXAMPLEDIR:=$(INSTALL_DOCDIR)/examples/$(PACKAGE_NAME)-$(PACKAGE_VERSION)
+else
 INSTALL_EXAMPLEDIR:=$(INSTALL_PREFIX)/doc/$(PACKAGE_NAME)-$(PACKAGE_VERSION)
 endif
 endif
+endif
 else
 ifdef INSTALL_FPCPACKAGE
 INSTALL_EXAMPLEDIR:=$(INSTALL_BASEDIR)/examples/$(PACKAGE_NAME)
@@ -413,6 +405,7 @@ endif
 else
 CROSSBINDIR=
 endif
+BATCHEXT=.bat
 LOADEREXT=.as
 EXEEXT=.exe
 PPLEXT=.ppl
@@ -445,24 +438,28 @@ ASMEXT=.asm
 SHAREDLIBEXT=.dll
 endif
 ifeq ($(OS_TARGET),linux)
+BATCHEXT=.sh
 EXEEXT=
 HASSHAREDLIB=1
 FPCMADE=fpcmade.lnx
 ZIPSUFFIX=linux
 endif
 ifeq ($(OS_TARGET),freebsd)
+BATCHEXT=.sh
 EXEEXT=
 HASSHAREDLIB=1
 FPCMADE=fpcmade.freebsd
 ZIPSUFFIX=freebsd
 endif
 ifeq ($(OS_TARGET),netbsd)
+BATCHEXT=.sh
 EXEEXT=
 HASSHAREDLIB=1
 FPCMADE=fpcmade.netbsd
 ZIPSUFFIX=netbsd
 endif
 ifeq ($(OS_TARGET),openbsd)
+BATCHEXT=.sh
 EXEEXT=
 HASSHAREDLIB=1
 FPCMADE=fpcmade.openbsd
@@ -474,6 +471,7 @@ FPCMADE=fpcmade.w32
 ZIPSUFFIX=w32
 endif
 ifeq ($(OS_TARGET),os2)
+BATCHEXT=.cmd
 AOUTEXT=.out
 STATICLIBPREFIX=
 SHAREDLIBEXT=.dll
@@ -482,6 +480,7 @@ ZIPSUFFIX=os2
 ECHO=echo
 endif
 ifeq ($(OS_TARGET),emx)
+BATCHEXT=.cmd
 AOUTEXT=.out
 STATICLIBPREFIX=
 SHAREDLIBEXT=.dll
@@ -499,16 +498,19 @@ EXEEXT=.ttp
 FPCMADE=fpcmade.ata
 endif
 ifeq ($(OS_TARGET),beos)
+BATCHEXT=.sh
 EXEEXT=
 FPCMADE=fpcmade.be
 ZIPSUFFIX=be
 endif
 ifeq ($(OS_TARGET),sunos)
+BATCHEXT=.sh
 EXEEXT=
 FPCMADE=fpcmade.sun
 ZIPSUFFIX=sun
 endif
 ifeq ($(OS_TARGET),qnx)
+BATCHEXT=.sh
 EXEEXT=
 FPCMADE=fpcmade.qnx
 ZIPSUFFIX=qnx
@@ -520,11 +522,14 @@ FPCMADE=fpcmade.nw
 ZIPSUFFIX=nw
 endif
 ifeq ($(OS_TARGET),macos)
+BATCHEXT=
 EXEEXT=
 FPCMADE=fpcmade.macos
 ZIPSUFFIX=macos
+DEBUGSYMEXT=.xcoff
 endif
 ifeq ($(OS_TARGET),darwin)
+BATCHEXT=.sh
 EXEEXT=
 HASSHAREDLIB=1
 FPCMADE=fpcmade.darwin
@@ -553,24 +558,28 @@ FPCMADE=fpcmade.dos
 ZIPSUFFIX=watcom
 endif
 ifeq ($(OS_TARGET),linux)
+BATCHEXT=.sh
 EXEEXT=
 HASSHAREDLIB=1
 FPCMADE=fpcmade.lnx
 ZIPSUFFIX=linux
 endif
 ifeq ($(OS_TARGET),freebsd)
+BATCHEXT=.sh
 EXEEXT=
 HASSHAREDLIB=1
 FPCMADE=fpcmade.freebsd
 ZIPSUFFIX=freebsd
 endif
 ifeq ($(OS_TARGET),netbsd)
+BATCHEXT=.sh
 EXEEXT=
 HASSHAREDLIB=1
 FPCMADE=fpcmade.netbsd
 ZIPSUFFIX=netbsd
 endif
 ifeq ($(OS_TARGET),openbsd)
+BATCHEXT=.sh
 EXEEXT=
 HASSHAREDLIB=1
 FPCMADE=fpcmade.openbsd
@@ -587,6 +596,7 @@ FPCMADE=fpcmade.w32
 ZIPSUFFIX=w32
 endif
 ifeq ($(OS_TARGET),os2)
+BATCHEXT=.cmd
 PPUEXT=.ppo
 ASMEXT=.so2
 OEXT=.oo2
@@ -619,6 +629,7 @@ EXEEXT=.ttp
 FPCMADE=fpcmade.ata
 endif
 ifeq ($(OS_TARGET),beos)
+BATCHEXT=.sh
 PPUEXT=.ppu
 ASMEXT=.s
 OEXT=.o
@@ -629,6 +640,7 @@ FPCMADE=fpcmade.be
 ZIPSUFFIX=be
 endif
 ifeq ($(OS_TARGET),sunos)
+BATCHEXT=.sh
 PPUEXT=.ppu
 ASMEXT=.s
 OEXT=.o
@@ -639,6 +651,7 @@ FPCMADE=fpcmade.sun
 ZIPSUFFIX=sun
 endif
 ifeq ($(OS_TARGET),qnx)
+BATCHEXT=.sh
 PPUEXT=.ppu
 ASMEXT=.s
 OEXT=.o
@@ -661,13 +674,15 @@ ZIPSUFFIX=nw
 EXEEXT=.nlm
 endif
 ifeq ($(OS_TARGET),macos)
+BATCHEXT=
 PPUEXT=.ppu
 ASMEXT=.s
 OEXT=.o
 SMARTEXT=.sl
 STATICLIBEXT=.a
 EXEEXT=
-FPCMADE=fpcmade.mcc
+DEBUGSYMEXT=.xcoff
+FPCMADE=fpcmade.macos
 endif
 endif
 ifndef ECHO
@@ -675,7 +690,7 @@ ECHO:=$(strip $(wildcard $(addsuffix /gecho$(SRCEXEEXT),$(SEARCHPATH))))
 ifeq ($(ECHO),)
 ECHO:=$(strip $(wildcard $(addsuffix /echo$(SRCEXEEXT),$(SEARCHPATH))))
 ifeq ($(ECHO),)
-ECHO=
+ECHO= __missing_command__
 else
 ECHO:=$(firstword $(ECHO))
 endif
@@ -689,7 +704,7 @@ DATE:=$(strip $(wildcard $(addsuffix /gdate$(SRCEXEEXT),$(SEARCHPATH))))
 ifeq ($(DATE),)
 DATE:=$(strip $(wildcard $(addsuffix /date$(SRCEXEEXT),$(SEARCHPATH))))
 ifeq ($(DATE),)
-DATE=
+DATE= __missing_command__
 else
 DATE:=$(firstword $(DATE))
 endif
@@ -703,7 +718,7 @@ GINSTALL:=$(strip $(wildcard $(addsuffix /ginstall$(SRCEXEEXT),$(SEARCHPATH))))
 ifeq ($(GINSTALL),)
 GINSTALL:=$(strip $(wildcard $(addsuffix /install$(SRCEXEEXT),$(SEARCHPATH))))
 ifeq ($(GINSTALL),)
-GINSTALL=
+GINSTALL= __missing_command__
 else
 GINSTALL:=$(firstword $(GINSTALL))
 endif
@@ -715,7 +730,7 @@ export GINSTALL
 ifndef CPPROG
 CPPROG:=$(strip $(wildcard $(addsuffix /cp$(SRCEXEEXT),$(SEARCHPATH))))
 ifeq ($(CPPROG),)
-CPPROG=
+CPPROG= __missing_command__
 else
 CPPROG:=$(firstword $(CPPROG))
 endif
@@ -724,7 +739,7 @@ export CPPROG
 ifndef RMPROG
 RMPROG:=$(strip $(wildcard $(addsuffix /rm$(SRCEXEEXT),$(SEARCHPATH))))
 ifeq ($(RMPROG),)
-RMPROG=
+RMPROG= __missing_command__
 else
 RMPROG:=$(firstword $(RMPROG))
 endif
@@ -733,7 +748,7 @@ export RMPROG
 ifndef MVPROG
 MVPROG:=$(strip $(wildcard $(addsuffix /mv$(SRCEXEEXT),$(SEARCHPATH))))
 ifeq ($(MVPROG),)
-MVPROG=
+MVPROG= __missing_command__
 else
 MVPROG:=$(firstword $(MVPROG))
 endif
@@ -782,7 +797,7 @@ export ECHOREDIR COPY COPYTREE MOVE DEL DELTREE INSTALL INSTALLEXE MKDIR
 ifndef PPUMOVE
 PPUMOVE:=$(strip $(wildcard $(addsuffix /ppumove$(SRCEXEEXT),$(SEARCHPATH))))
 ifeq ($(PPUMOVE),)
-PPUMOVE=
+PPUMOVE= __missing_command__
 else
 PPUMOVE:=$(firstword $(PPUMOVE))
 endif
@@ -791,7 +806,7 @@ export PPUMOVE
 ifndef FPCMAKE
 FPCMAKE:=$(strip $(wildcard $(addsuffix /fpcmake$(SRCEXEEXT),$(SEARCHPATH))))
 ifeq ($(FPCMAKE),)
-FPCMAKE=
+FPCMAKE= __missing_command__
 else
 FPCMAKE:=$(firstword $(FPCMAKE))
 endif
@@ -800,7 +815,7 @@ export FPCMAKE
 ifndef ZIPPROG
 ZIPPROG:=$(strip $(wildcard $(addsuffix /zip$(SRCEXEEXT),$(SEARCHPATH))))
 ifeq ($(ZIPPROG),)
-ZIPPROG=
+ZIPPROG= __missing_command__
 else
 ZIPPROG:=$(firstword $(ZIPPROG))
 endif
@@ -809,7 +824,7 @@ export ZIPPROG
 ifndef TARPROG
 TARPROG:=$(strip $(wildcard $(addsuffix /tar$(SRCEXEEXT),$(SEARCHPATH))))
 ifeq ($(TARPROG),)
-TARPROG=
+TARPROG= __missing_command__
 else
 TARPROG:=$(firstword $(TARPROG))
 endif
@@ -860,7 +875,7 @@ AS=$(ASPROG)
 LD=$(LDPROG)
 RC=$(RCPROG)
 AR=$(ARPROG)
-PPAS=ppas$(BATCHEXT)
+PPAS=ppas$(SRCBATCHEXT)
 ifdef inUnix
 LDCONFIG=ldconfig
 else
@@ -1119,8 +1134,12 @@ ifdef RELEASE
 ifeq ($(CPU_TARGET),i386)
 FPCCPUOPT:=-OG2p3
 else
+ifeq ($(CPU_TARGET),powerpc)
+FPCCPUOPT:=-O1
+else
 FPCCPUOPT:=
 endif
+endif
 override FPCOPT+=-Xs $(FPCCPUOPT) -n
 override FPCOPTDEF+=RELEASE
 endif
@@ -1339,6 +1358,9 @@ override CLEANPPUFILES+=$(addsuffix $(PPUEXT),$(CLEAN_UNITS))
 endif
 ifdef 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 CLEANPPULINKFILES:=$(wildcard $(addprefix $(UNITTARGETDIRPREFIX),$(CLEANPPULINKFILES)))
 endif
@@ -1362,6 +1384,7 @@ ifdef LIB_NAME
 	-$(DEL) $(LIB_NAME) $(LIB_FULLNAME)
 endif
 	-$(DEL) $(FPCMADE) Package.fpc $(PPAS) script.res link.res $(FPCEXTFILE) $(REDIRFILE)
+	-$(DEL) *$(ASMEXT) *_ppas$(BATCHEXT)
 fpc_distclean: clean
 ifdef COMPILER_UNITTARGETDIR
 TARGETDIRCLEAN=fpc_clean
@@ -1373,9 +1396,13 @@ endif
 	-$(DEL) *$(OEXT) *$(PPUEXT) *$(RSTEXT) *$(ASMEXT) *$(STATICLIBEXT) *$(SHAREDLIBEXT) *$(PPLEXT)
 	-$(DELTREE) *$(SMARTEXT)
 	-$(DEL) $(FPCMADE) Package.fpc $(PPAS) script.res link.res $(FPCEXTFILE) $(REDIRFILE)
+	-$(DEL) *_ppas$(BATCHEXT)
 ifdef AOUTEXT
 	-$(DEL) *$(AOUTEXT)
 endif
+ifdef DEBUGSYMEXT
+	-$(DEL) *$(DEBUGSYMEXT)
+endif
 .PHONY: fpc_baseinfo
 override INFORULES+=fpc_baseinfo
 fpc_baseinfo:

+ 100 - 70
fcl/db/sqlite/Makefile

@@ -1,15 +1,24 @@
 #
-# Don't edit, this file is generated by FPCMake Version 1.1 [2004/02/22]
+# Don't edit, this file is generated by FPCMake Version 1.1 [2004/04/21]
 #
 default: all
 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:=$(subst \,/,$(PATH))
+ifneq ($(findstring darwin,$(OSTYPE)),)
+inUnix=1 #darwin
+SEARCHPATH:=$(filter-out .,$(subst :, ,$(PATH)))
+else
 ifeq ($(findstring ;,$(PATH)),)
 inUnix=1
 SEARCHPATH:=$(filter-out .,$(subst :, ,$(PATH)))
 else
 SEARCHPATH:=$(subst ;, ,$(PATH))
 endif
+endif
 SEARCHPATH+=$(patsubst %/,%,$(subst \,/,$(dir $(MAKE))))
 PWD:=$(strip $(wildcard $(addsuffix /pwd.exe,$(SEARCHPATH))))
 ifeq ($(PWD),)
@@ -37,22 +46,13 @@ ifneq ($(findstring cygdrive,$(PATH)),)
 inCygWin=1
 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
-BATCHEXT=.sh
+SRCBATCHEXT=.sh
 else
 ifdef inOS2
-BATCHEXT=.cmd
+SRCBATCHEXT=.cmd
 else
-BATCHEXT=.bat
+SRCBATCHEXT=.bat
 endif
 endif
 ifdef inUnix
@@ -155,6 +155,12 @@ ifeq ($(findstring $(OS_TARGET),$(MAKEFILETARGETS)),)
 $(error The Makefile doesn't support target $(OS_TARGET), please run fpcmake first)
 endif
 endif
+ifneq ($(findstring $(OS_TARGET),$(BSDs)),)
+BSDhier=1
+endif
+ifeq ($(OS_TARGET),linux)
+linuxHier=1
+endif
 export OS_TARGET OS_SOURCE CPU_TARGET CPU_SOURCE FULL_TARGET FULL_SOURCE CROSSCOMPILE
 ifdef FPCDIR
 override FPCDIR:=$(subst \,/,$(FPCDIR))
@@ -218,42 +224,12 @@ 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
-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
 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
 ifndef INSTALL_PREFIX
@@ -262,7 +238,7 @@ INSTALL_PREFIX=$(PREFIX)
 endif
 endif
 ifndef INSTALL_PREFIX
-ifdef UNIXINSTALLDIR
+ifdef UNIXHier
 INSTALL_PREFIX=/usr/local
 else
 ifdef INSTALL_FPCPACKAGE
@@ -281,7 +257,7 @@ DIST_DESTDIR:=$(BASEDIR)
 endif
 export DIST_DESTDIR
 ifndef INSTALL_BASEDIR
-ifdef UNIXINSTALLDIR
+ifdef UNIXHier
 ifdef INSTALL_FPCPACKAGE
 INSTALL_BASEDIR:=$(INSTALL_PREFIX)/lib/fpc/$(FPC_VERSION)
 else
@@ -292,7 +268,7 @@ INSTALL_BASEDIR:=$(INSTALL_PREFIX)
 endif
 endif
 ifndef INSTALL_BINDIR
-ifdef UNIXINSTALLDIR
+ifdef UNIXHier
 ifdef CROSSCOMPILE
 INSTALL_BINDIR:=$(INSTALL_BASEDIR)/cross/$(FULL_TARGET)/bin
 else
@@ -322,19 +298,23 @@ endif
 endif
 endif
 ifndef INSTALL_LIBDIR
-ifdef UNIXINSTALLDIR
+ifdef UNIXHier
 INSTALL_LIBDIR:=$(INSTALL_PREFIX)/lib
 else
 INSTALL_LIBDIR:=$(INSTALL_UNITDIR)
 endif
 endif
 ifndef INSTALL_SOURCEDIR
-ifdef UNIXINSTALLDIR
+ifdef UNIXHier
 ifdef BSDhier
 SRCPREFIXDIR=share/src
 else
+ifdef linuxHier
+SRCPREFIXDIR=share/src
+else
 SRCPREFIXDIR=src
 endif
+endif
 ifdef INSTALL_FPCPACKAGE
 ifdef INSTALL_FPCSUBDIR
 INSTALL_SOURCEDIR:=$(INSTALL_PREFIX)/$(SRCPREFIXDIR)/fpc-$(FPC_VERSION)/$(INSTALL_FPCSUBDIR)/$(PACKAGE_NAME)
@@ -357,12 +337,16 @@ endif
 endif
 endif
 ifndef INSTALL_DOCDIR
-ifdef UNIXINSTALLDIR
+ifdef UNIXHier
 ifdef BSDhier
 DOCPREFIXDIR=share/doc
 else
+ifdef linuxHier
+DOCPREFIXDIR=share/doc
+else
 DOCPREFIXDIR=doc
 endif
+endif
 ifdef INSTALL_FPCPACKAGE
 INSTALL_DOCDIR:=$(INSTALL_PREFIX)/$(DOCPREFIXDIR)/fpc-$(FPC_VERSION)/$(PACKAGE_NAME)
 else
@@ -377,20 +361,28 @@ endif
 endif
 endif
 ifndef INSTALL_EXAMPLEDIR
-ifdef UNIXINSTALLDIR
+ifdef UNIXHier
 ifdef INSTALL_FPCPACKAGE
 ifdef BSDhier
 INSTALL_EXAMPLEDIR:=$(INSTALL_PREFIX)/share/examples/fpc-$(FPC_VERSION)/$(PACKAGE_NAME)
 else
+ifdef linuxHier
+INSTALL_EXAMPLEDIR:=$(INSTALL_DOCDIR)/examples/fpc-$(FPC_VERSION)/$(PACKAGE_NAME)
+else
 INSTALL_EXAMPLEDIR:=$(INSTALL_PREFIX)/doc/fpc-$(FPC_VERSION)/examples/$(PACKAGE_NAME)
 endif
+endif
 else
 ifdef BSDhier
 INSTALL_EXAMPLEDIR:=$(INSTALL_PREFIX)/share/examples/$(PACKAGE_NAME)-$(PACKAGE_VERSION)
 else
+ifdef linuxHier
+INSTALL_EXAMPLEDIR:=$(INSTALL_DOCDIR)/examples/$(PACKAGE_NAME)-$(PACKAGE_VERSION)
+else
 INSTALL_EXAMPLEDIR:=$(INSTALL_PREFIX)/doc/$(PACKAGE_NAME)-$(PACKAGE_VERSION)
 endif
 endif
+endif
 else
 ifdef INSTALL_FPCPACKAGE
 INSTALL_EXAMPLEDIR:=$(INSTALL_BASEDIR)/examples/$(PACKAGE_NAME)
@@ -412,6 +404,7 @@ endif
 else
 CROSSBINDIR=
 endif
+BATCHEXT=.bat
 LOADEREXT=.as
 EXEEXT=.exe
 PPLEXT=.ppl
@@ -444,24 +437,28 @@ ASMEXT=.asm
 SHAREDLIBEXT=.dll
 endif
 ifeq ($(OS_TARGET),linux)
+BATCHEXT=.sh
 EXEEXT=
 HASSHAREDLIB=1
 FPCMADE=fpcmade.lnx
 ZIPSUFFIX=linux
 endif
 ifeq ($(OS_TARGET),freebsd)
+BATCHEXT=.sh
 EXEEXT=
 HASSHAREDLIB=1
 FPCMADE=fpcmade.freebsd
 ZIPSUFFIX=freebsd
 endif
 ifeq ($(OS_TARGET),netbsd)
+BATCHEXT=.sh
 EXEEXT=
 HASSHAREDLIB=1
 FPCMADE=fpcmade.netbsd
 ZIPSUFFIX=netbsd
 endif
 ifeq ($(OS_TARGET),openbsd)
+BATCHEXT=.sh
 EXEEXT=
 HASSHAREDLIB=1
 FPCMADE=fpcmade.openbsd
@@ -473,6 +470,7 @@ FPCMADE=fpcmade.w32
 ZIPSUFFIX=w32
 endif
 ifeq ($(OS_TARGET),os2)
+BATCHEXT=.cmd
 AOUTEXT=.out
 STATICLIBPREFIX=
 SHAREDLIBEXT=.dll
@@ -481,6 +479,7 @@ ZIPSUFFIX=os2
 ECHO=echo
 endif
 ifeq ($(OS_TARGET),emx)
+BATCHEXT=.cmd
 AOUTEXT=.out
 STATICLIBPREFIX=
 SHAREDLIBEXT=.dll
@@ -498,16 +497,19 @@ EXEEXT=.ttp
 FPCMADE=fpcmade.ata
 endif
 ifeq ($(OS_TARGET),beos)
+BATCHEXT=.sh
 EXEEXT=
 FPCMADE=fpcmade.be
 ZIPSUFFIX=be
 endif
 ifeq ($(OS_TARGET),sunos)
+BATCHEXT=.sh
 EXEEXT=
 FPCMADE=fpcmade.sun
 ZIPSUFFIX=sun
 endif
 ifeq ($(OS_TARGET),qnx)
+BATCHEXT=.sh
 EXEEXT=
 FPCMADE=fpcmade.qnx
 ZIPSUFFIX=qnx
@@ -519,10 +521,14 @@ FPCMADE=fpcmade.nw
 ZIPSUFFIX=nw
 endif
 ifeq ($(OS_TARGET),macos)
+BATCHEXT=
 EXEEXT=
-FPCMADE=fpcmade.mcc
+FPCMADE=fpcmade.macos
+ZIPSUFFIX=macos
+DEBUGSYMEXT=.xcoff
 endif
 ifeq ($(OS_TARGET),darwin)
+BATCHEXT=.sh
 EXEEXT=
 HASSHAREDLIB=1
 FPCMADE=fpcmade.darwin
@@ -551,24 +557,28 @@ FPCMADE=fpcmade.dos
 ZIPSUFFIX=watcom
 endif
 ifeq ($(OS_TARGET),linux)
+BATCHEXT=.sh
 EXEEXT=
 HASSHAREDLIB=1
 FPCMADE=fpcmade.lnx
 ZIPSUFFIX=linux
 endif
 ifeq ($(OS_TARGET),freebsd)
+BATCHEXT=.sh
 EXEEXT=
 HASSHAREDLIB=1
 FPCMADE=fpcmade.freebsd
 ZIPSUFFIX=freebsd
 endif
 ifeq ($(OS_TARGET),netbsd)
+BATCHEXT=.sh
 EXEEXT=
 HASSHAREDLIB=1
 FPCMADE=fpcmade.netbsd
 ZIPSUFFIX=netbsd
 endif
 ifeq ($(OS_TARGET),openbsd)
+BATCHEXT=.sh
 EXEEXT=
 HASSHAREDLIB=1
 FPCMADE=fpcmade.openbsd
@@ -585,6 +595,7 @@ FPCMADE=fpcmade.w32
 ZIPSUFFIX=w32
 endif
 ifeq ($(OS_TARGET),os2)
+BATCHEXT=.cmd
 PPUEXT=.ppo
 ASMEXT=.so2
 OEXT=.oo2
@@ -617,6 +628,7 @@ EXEEXT=.ttp
 FPCMADE=fpcmade.ata
 endif
 ifeq ($(OS_TARGET),beos)
+BATCHEXT=.sh
 PPUEXT=.ppu
 ASMEXT=.s
 OEXT=.o
@@ -627,6 +639,7 @@ FPCMADE=fpcmade.be
 ZIPSUFFIX=be
 endif
 ifeq ($(OS_TARGET),sunos)
+BATCHEXT=.sh
 PPUEXT=.ppu
 ASMEXT=.s
 OEXT=.o
@@ -637,6 +650,7 @@ FPCMADE=fpcmade.sun
 ZIPSUFFIX=sun
 endif
 ifeq ($(OS_TARGET),qnx)
+BATCHEXT=.sh
 PPUEXT=.ppu
 ASMEXT=.s
 OEXT=.o
@@ -659,13 +673,15 @@ ZIPSUFFIX=nw
 EXEEXT=.nlm
 endif
 ifeq ($(OS_TARGET),macos)
+BATCHEXT=
 PPUEXT=.ppu
 ASMEXT=.s
 OEXT=.o
 SMARTEXT=.sl
 STATICLIBEXT=.a
 EXEEXT=
-FPCMADE=fpcmade.mcc
+DEBUGSYMEXT=.xcoff
+FPCMADE=fpcmade.macos
 endif
 endif
 ifndef ECHO
@@ -673,7 +689,7 @@ ECHO:=$(strip $(wildcard $(addsuffix /gecho$(SRCEXEEXT),$(SEARCHPATH))))
 ifeq ($(ECHO),)
 ECHO:=$(strip $(wildcard $(addsuffix /echo$(SRCEXEEXT),$(SEARCHPATH))))
 ifeq ($(ECHO),)
-ECHO=
+ECHO= __missing_command__
 else
 ECHO:=$(firstword $(ECHO))
 endif
@@ -687,7 +703,7 @@ DATE:=$(strip $(wildcard $(addsuffix /gdate$(SRCEXEEXT),$(SEARCHPATH))))
 ifeq ($(DATE),)
 DATE:=$(strip $(wildcard $(addsuffix /date$(SRCEXEEXT),$(SEARCHPATH))))
 ifeq ($(DATE),)
-DATE=
+DATE= __missing_command__
 else
 DATE:=$(firstword $(DATE))
 endif
@@ -701,7 +717,7 @@ GINSTALL:=$(strip $(wildcard $(addsuffix /ginstall$(SRCEXEEXT),$(SEARCHPATH))))
 ifeq ($(GINSTALL),)
 GINSTALL:=$(strip $(wildcard $(addsuffix /install$(SRCEXEEXT),$(SEARCHPATH))))
 ifeq ($(GINSTALL),)
-GINSTALL=
+GINSTALL= __missing_command__
 else
 GINSTALL:=$(firstword $(GINSTALL))
 endif
@@ -713,7 +729,7 @@ export GINSTALL
 ifndef CPPROG
 CPPROG:=$(strip $(wildcard $(addsuffix /cp$(SRCEXEEXT),$(SEARCHPATH))))
 ifeq ($(CPPROG),)
-CPPROG=
+CPPROG= __missing_command__
 else
 CPPROG:=$(firstword $(CPPROG))
 endif
@@ -722,7 +738,7 @@ export CPPROG
 ifndef RMPROG
 RMPROG:=$(strip $(wildcard $(addsuffix /rm$(SRCEXEEXT),$(SEARCHPATH))))
 ifeq ($(RMPROG),)
-RMPROG=
+RMPROG= __missing_command__
 else
 RMPROG:=$(firstword $(RMPROG))
 endif
@@ -731,7 +747,7 @@ export RMPROG
 ifndef MVPROG
 MVPROG:=$(strip $(wildcard $(addsuffix /mv$(SRCEXEEXT),$(SEARCHPATH))))
 ifeq ($(MVPROG),)
-MVPROG=
+MVPROG= __missing_command__
 else
 MVPROG:=$(firstword $(MVPROG))
 endif
@@ -780,7 +796,7 @@ export ECHOREDIR COPY COPYTREE MOVE DEL DELTREE INSTALL INSTALLEXE MKDIR
 ifndef PPUMOVE
 PPUMOVE:=$(strip $(wildcard $(addsuffix /ppumove$(SRCEXEEXT),$(SEARCHPATH))))
 ifeq ($(PPUMOVE),)
-PPUMOVE=
+PPUMOVE= __missing_command__
 else
 PPUMOVE:=$(firstword $(PPUMOVE))
 endif
@@ -789,7 +805,7 @@ export PPUMOVE
 ifndef FPCMAKE
 FPCMAKE:=$(strip $(wildcard $(addsuffix /fpcmake$(SRCEXEEXT),$(SEARCHPATH))))
 ifeq ($(FPCMAKE),)
-FPCMAKE=
+FPCMAKE= __missing_command__
 else
 FPCMAKE:=$(firstword $(FPCMAKE))
 endif
@@ -798,7 +814,7 @@ export FPCMAKE
 ifndef ZIPPROG
 ZIPPROG:=$(strip $(wildcard $(addsuffix /zip$(SRCEXEEXT),$(SEARCHPATH))))
 ifeq ($(ZIPPROG),)
-ZIPPROG=
+ZIPPROG= __missing_command__
 else
 ZIPPROG:=$(firstword $(ZIPPROG))
 endif
@@ -807,7 +823,7 @@ export ZIPPROG
 ifndef TARPROG
 TARPROG:=$(strip $(wildcard $(addsuffix /tar$(SRCEXEEXT),$(SEARCHPATH))))
 ifeq ($(TARPROG),)
-TARPROG=
+TARPROG= __missing_command__
 else
 TARPROG:=$(firstword $(TARPROG))
 endif
@@ -819,9 +835,11 @@ ARNAME=$(BINUTILSPREFIX)ar
 RCNAME=$(BINUTILSPREFIX)rc
 ifneq ($(findstring 1.0.,$(FPC_VERSION)),)
 ifeq ($(OS_TARGET),win32)
-ASNAME=as
-LDNAME=ld
-ARNAME=ar
+ifeq ($(CROSSBINDIR),)
+ASNAME=asw
+LDNAME=ldw
+ARNAME=arw
+endif
 endif
 endif
 ifndef ASPROG
@@ -856,7 +874,7 @@ AS=$(ASPROG)
 LD=$(LDPROG)
 RC=$(RCPROG)
 AR=$(ARPROG)
-PPAS=ppas$(BATCHEXT)
+PPAS=ppas$(SRCBATCHEXT)
 ifdef inUnix
 LDCONFIG=ldconfig
 else
@@ -1171,8 +1189,12 @@ ifdef RELEASE
 ifeq ($(CPU_TARGET),i386)
 FPCCPUOPT:=-OG2p3
 else
+ifeq ($(CPU_TARGET),powerpc)
+FPCCPUOPT:=-O1
+else
 FPCCPUOPT:=
 endif
+endif
 override FPCOPT+=-Xs $(FPCCPUOPT) -n
 override FPCOPTDEF+=RELEASE
 endif
@@ -1373,6 +1395,9 @@ override CLEANPPUFILES+=$(addsuffix $(PPUEXT),$(CLEAN_UNITS))
 endif
 ifdef 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 CLEANPPULINKFILES:=$(wildcard $(addprefix $(UNITTARGETDIRPREFIX),$(CLEANPPULINKFILES)))
 endif
@@ -1396,6 +1421,7 @@ ifdef LIB_NAME
 	-$(DEL) $(LIB_NAME) $(LIB_FULLNAME)
 endif
 	-$(DEL) $(FPCMADE) Package.fpc $(PPAS) script.res link.res $(FPCEXTFILE) $(REDIRFILE)
+	-$(DEL) *$(ASMEXT) *_ppas$(BATCHEXT)
 fpc_distclean: clean
 ifdef COMPILER_UNITTARGETDIR
 TARGETDIRCLEAN=fpc_clean
@@ -1407,9 +1433,13 @@ endif
 	-$(DEL) *$(OEXT) *$(PPUEXT) *$(RSTEXT) *$(ASMEXT) *$(STATICLIBEXT) *$(SHAREDLIBEXT) *$(PPLEXT)
 	-$(DELTREE) *$(SMARTEXT)
 	-$(DEL) $(FPCMADE) Package.fpc $(PPAS) script.res link.res $(FPCEXTFILE) $(REDIRFILE)
+	-$(DEL) *_ppas$(BATCHEXT)
 ifdef AOUTEXT
 	-$(DEL) *$(AOUTEXT)
 endif
+ifdef DEBUGSYMEXT
+	-$(DEL) *$(DEBUGSYMEXT)
+endif
 .PHONY: fpc_baseinfo
 override INFORULES+=fpc_baseinfo
 fpc_baseinfo:

+ 113 - 71
fcl/db/tests/Makefile

@@ -1,15 +1,24 @@
 #
-# Don't edit, this file is generated by FPCMake Version 1.1 [2004/02/22]
+# Don't edit, this file is generated by FPCMake Version 1.1 [2004/04/21]
 #
 default: all
 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:=$(subst \,/,$(PATH))
+ifneq ($(findstring darwin,$(OSTYPE)),)
+inUnix=1 #darwin
+SEARCHPATH:=$(filter-out .,$(subst :, ,$(PATH)))
+else
 ifeq ($(findstring ;,$(PATH)),)
 inUnix=1
 SEARCHPATH:=$(filter-out .,$(subst :, ,$(PATH)))
 else
 SEARCHPATH:=$(subst ;, ,$(PATH))
 endif
+endif
 SEARCHPATH+=$(patsubst %/,%,$(subst \,/,$(dir $(MAKE))))
 PWD:=$(strip $(wildcard $(addsuffix /pwd.exe,$(SEARCHPATH))))
 ifeq ($(PWD),)
@@ -37,22 +46,13 @@ ifneq ($(findstring cygdrive,$(PATH)),)
 inCygWin=1
 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
-BATCHEXT=.sh
+SRCBATCHEXT=.sh
 else
 ifdef inOS2
-BATCHEXT=.cmd
+SRCBATCHEXT=.cmd
 else
-BATCHEXT=.bat
+SRCBATCHEXT=.bat
 endif
 endif
 ifdef inUnix
@@ -155,6 +155,12 @@ ifeq ($(findstring $(OS_TARGET),$(MAKEFILETARGETS)),)
 $(error The Makefile doesn't support target $(OS_TARGET), please run fpcmake first)
 endif
 endif
+ifneq ($(findstring $(OS_TARGET),$(BSDs)),)
+BSDhier=1
+endif
+ifeq ($(OS_TARGET),linux)
+linuxHier=1
+endif
 export OS_TARGET OS_SOURCE CPU_TARGET CPU_SOURCE FULL_TARGET FULL_SOURCE CROSSCOMPILE
 ifdef FPCDIR
 override FPCDIR:=$(subst \,/,$(FPCDIR))
@@ -217,42 +223,12 @@ 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
-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
 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
 ifndef INSTALL_PREFIX
@@ -261,7 +237,7 @@ INSTALL_PREFIX=$(PREFIX)
 endif
 endif
 ifndef INSTALL_PREFIX
-ifdef UNIXINSTALLDIR
+ifdef UNIXHier
 INSTALL_PREFIX=/usr/local
 else
 ifdef INSTALL_FPCPACKAGE
@@ -280,7 +256,7 @@ DIST_DESTDIR:=$(BASEDIR)
 endif
 export DIST_DESTDIR
 ifndef INSTALL_BASEDIR
-ifdef UNIXINSTALLDIR
+ifdef UNIXHier
 ifdef INSTALL_FPCPACKAGE
 INSTALL_BASEDIR:=$(INSTALL_PREFIX)/lib/fpc/$(FPC_VERSION)
 else
@@ -291,7 +267,7 @@ INSTALL_BASEDIR:=$(INSTALL_PREFIX)
 endif
 endif
 ifndef INSTALL_BINDIR
-ifdef UNIXINSTALLDIR
+ifdef UNIXHier
 ifdef CROSSCOMPILE
 INSTALL_BINDIR:=$(INSTALL_BASEDIR)/cross/$(FULL_TARGET)/bin
 else
@@ -321,19 +297,23 @@ endif
 endif
 endif
 ifndef INSTALL_LIBDIR
-ifdef UNIXINSTALLDIR
+ifdef UNIXHier
 INSTALL_LIBDIR:=$(INSTALL_PREFIX)/lib
 else
 INSTALL_LIBDIR:=$(INSTALL_UNITDIR)
 endif
 endif
 ifndef INSTALL_SOURCEDIR
-ifdef UNIXINSTALLDIR
+ifdef UNIXHier
 ifdef BSDhier
 SRCPREFIXDIR=share/src
 else
+ifdef linuxHier
+SRCPREFIXDIR=share/src
+else
 SRCPREFIXDIR=src
 endif
+endif
 ifdef INSTALL_FPCPACKAGE
 ifdef INSTALL_FPCSUBDIR
 INSTALL_SOURCEDIR:=$(INSTALL_PREFIX)/$(SRCPREFIXDIR)/fpc-$(FPC_VERSION)/$(INSTALL_FPCSUBDIR)/$(PACKAGE_NAME)
@@ -356,12 +336,16 @@ endif
 endif
 endif
 ifndef INSTALL_DOCDIR
-ifdef UNIXINSTALLDIR
+ifdef UNIXHier
 ifdef BSDhier
 DOCPREFIXDIR=share/doc
 else
+ifdef linuxHier
+DOCPREFIXDIR=share/doc
+else
 DOCPREFIXDIR=doc
 endif
+endif
 ifdef INSTALL_FPCPACKAGE
 INSTALL_DOCDIR:=$(INSTALL_PREFIX)/$(DOCPREFIXDIR)/fpc-$(FPC_VERSION)/$(PACKAGE_NAME)
 else
@@ -376,20 +360,28 @@ endif
 endif
 endif
 ifndef INSTALL_EXAMPLEDIR
-ifdef UNIXINSTALLDIR
+ifdef UNIXHier
 ifdef INSTALL_FPCPACKAGE
 ifdef BSDhier
 INSTALL_EXAMPLEDIR:=$(INSTALL_PREFIX)/share/examples/fpc-$(FPC_VERSION)/$(PACKAGE_NAME)
 else
+ifdef linuxHier
+INSTALL_EXAMPLEDIR:=$(INSTALL_DOCDIR)/examples/fpc-$(FPC_VERSION)/$(PACKAGE_NAME)
+else
 INSTALL_EXAMPLEDIR:=$(INSTALL_PREFIX)/doc/fpc-$(FPC_VERSION)/examples/$(PACKAGE_NAME)
 endif
+endif
 else
 ifdef BSDhier
 INSTALL_EXAMPLEDIR:=$(INSTALL_PREFIX)/share/examples/$(PACKAGE_NAME)-$(PACKAGE_VERSION)
 else
+ifdef linuxHier
+INSTALL_EXAMPLEDIR:=$(INSTALL_DOCDIR)/examples/$(PACKAGE_NAME)-$(PACKAGE_VERSION)
+else
 INSTALL_EXAMPLEDIR:=$(INSTALL_PREFIX)/doc/$(PACKAGE_NAME)-$(PACKAGE_VERSION)
 endif
 endif
+endif
 else
 ifdef INSTALL_FPCPACKAGE
 INSTALL_EXAMPLEDIR:=$(INSTALL_BASEDIR)/examples/$(PACKAGE_NAME)
@@ -413,7 +405,19 @@ CROSSBINDIR=
 endif
 ifeq ($(OS_SOURCE),linux)
 ifndef GCCLIBDIR
-GCCLIBDIR:=$(shell dirname `gcc -print-libgcc-file-name`)
+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
 ifndef OTHERLIBDIR
 OTHERLIBDIR:=$(shell grep -v "^\#" /etc/ld.so.conf | awk '{ ORS=" "; print $1 }')
@@ -425,6 +429,7 @@ OTHERLIBDIR+=/usr/pkg/lib
 endif
 export GCCLIBDIR OTHERLIB
 endif
+BATCHEXT=.bat
 LOADEREXT=.as
 EXEEXT=.exe
 PPLEXT=.ppl
@@ -457,24 +462,28 @@ ASMEXT=.asm
 SHAREDLIBEXT=.dll
 endif
 ifeq ($(OS_TARGET),linux)
+BATCHEXT=.sh
 EXEEXT=
 HASSHAREDLIB=1
 FPCMADE=fpcmade.lnx
 ZIPSUFFIX=linux
 endif
 ifeq ($(OS_TARGET),freebsd)
+BATCHEXT=.sh
 EXEEXT=
 HASSHAREDLIB=1
 FPCMADE=fpcmade.freebsd
 ZIPSUFFIX=freebsd
 endif
 ifeq ($(OS_TARGET),netbsd)
+BATCHEXT=.sh
 EXEEXT=
 HASSHAREDLIB=1
 FPCMADE=fpcmade.netbsd
 ZIPSUFFIX=netbsd
 endif
 ifeq ($(OS_TARGET),openbsd)
+BATCHEXT=.sh
 EXEEXT=
 HASSHAREDLIB=1
 FPCMADE=fpcmade.openbsd
@@ -486,6 +495,7 @@ FPCMADE=fpcmade.w32
 ZIPSUFFIX=w32
 endif
 ifeq ($(OS_TARGET),os2)
+BATCHEXT=.cmd
 AOUTEXT=.out
 STATICLIBPREFIX=
 SHAREDLIBEXT=.dll
@@ -494,6 +504,7 @@ ZIPSUFFIX=os2
 ECHO=echo
 endif
 ifeq ($(OS_TARGET),emx)
+BATCHEXT=.cmd
 AOUTEXT=.out
 STATICLIBPREFIX=
 SHAREDLIBEXT=.dll
@@ -511,16 +522,19 @@ EXEEXT=.ttp
 FPCMADE=fpcmade.ata
 endif
 ifeq ($(OS_TARGET),beos)
+BATCHEXT=.sh
 EXEEXT=
 FPCMADE=fpcmade.be
 ZIPSUFFIX=be
 endif
 ifeq ($(OS_TARGET),sunos)
+BATCHEXT=.sh
 EXEEXT=
 FPCMADE=fpcmade.sun
 ZIPSUFFIX=sun
 endif
 ifeq ($(OS_TARGET),qnx)
+BATCHEXT=.sh
 EXEEXT=
 FPCMADE=fpcmade.qnx
 ZIPSUFFIX=qnx
@@ -532,10 +546,14 @@ FPCMADE=fpcmade.nw
 ZIPSUFFIX=nw
 endif
 ifeq ($(OS_TARGET),macos)
+BATCHEXT=
 EXEEXT=
-FPCMADE=fpcmade.mcc
+FPCMADE=fpcmade.macos
+ZIPSUFFIX=macos
+DEBUGSYMEXT=.xcoff
 endif
 ifeq ($(OS_TARGET),darwin)
+BATCHEXT=.sh
 EXEEXT=
 HASSHAREDLIB=1
 FPCMADE=fpcmade.darwin
@@ -564,24 +582,28 @@ FPCMADE=fpcmade.dos
 ZIPSUFFIX=watcom
 endif
 ifeq ($(OS_TARGET),linux)
+BATCHEXT=.sh
 EXEEXT=
 HASSHAREDLIB=1
 FPCMADE=fpcmade.lnx
 ZIPSUFFIX=linux
 endif
 ifeq ($(OS_TARGET),freebsd)
+BATCHEXT=.sh
 EXEEXT=
 HASSHAREDLIB=1
 FPCMADE=fpcmade.freebsd
 ZIPSUFFIX=freebsd
 endif
 ifeq ($(OS_TARGET),netbsd)
+BATCHEXT=.sh
 EXEEXT=
 HASSHAREDLIB=1
 FPCMADE=fpcmade.netbsd
 ZIPSUFFIX=netbsd
 endif
 ifeq ($(OS_TARGET),openbsd)
+BATCHEXT=.sh
 EXEEXT=
 HASSHAREDLIB=1
 FPCMADE=fpcmade.openbsd
@@ -598,6 +620,7 @@ FPCMADE=fpcmade.w32
 ZIPSUFFIX=w32
 endif
 ifeq ($(OS_TARGET),os2)
+BATCHEXT=.cmd
 PPUEXT=.ppo
 ASMEXT=.so2
 OEXT=.oo2
@@ -630,6 +653,7 @@ EXEEXT=.ttp
 FPCMADE=fpcmade.ata
 endif
 ifeq ($(OS_TARGET),beos)
+BATCHEXT=.sh
 PPUEXT=.ppu
 ASMEXT=.s
 OEXT=.o
@@ -640,6 +664,7 @@ FPCMADE=fpcmade.be
 ZIPSUFFIX=be
 endif
 ifeq ($(OS_TARGET),sunos)
+BATCHEXT=.sh
 PPUEXT=.ppu
 ASMEXT=.s
 OEXT=.o
@@ -650,6 +675,7 @@ FPCMADE=fpcmade.sun
 ZIPSUFFIX=sun
 endif
 ifeq ($(OS_TARGET),qnx)
+BATCHEXT=.sh
 PPUEXT=.ppu
 ASMEXT=.s
 OEXT=.o
@@ -672,13 +698,15 @@ ZIPSUFFIX=nw
 EXEEXT=.nlm
 endif
 ifeq ($(OS_TARGET),macos)
+BATCHEXT=
 PPUEXT=.ppu
 ASMEXT=.s
 OEXT=.o
 SMARTEXT=.sl
 STATICLIBEXT=.a
 EXEEXT=
-FPCMADE=fpcmade.mcc
+DEBUGSYMEXT=.xcoff
+FPCMADE=fpcmade.macos
 endif
 endif
 ifndef ECHO
@@ -686,7 +714,7 @@ ECHO:=$(strip $(wildcard $(addsuffix /gecho$(SRCEXEEXT),$(SEARCHPATH))))
 ifeq ($(ECHO),)
 ECHO:=$(strip $(wildcard $(addsuffix /echo$(SRCEXEEXT),$(SEARCHPATH))))
 ifeq ($(ECHO),)
-ECHO=
+ECHO= __missing_command__
 else
 ECHO:=$(firstword $(ECHO))
 endif
@@ -700,7 +728,7 @@ DATE:=$(strip $(wildcard $(addsuffix /gdate$(SRCEXEEXT),$(SEARCHPATH))))
 ifeq ($(DATE),)
 DATE:=$(strip $(wildcard $(addsuffix /date$(SRCEXEEXT),$(SEARCHPATH))))
 ifeq ($(DATE),)
-DATE=
+DATE= __missing_command__
 else
 DATE:=$(firstword $(DATE))
 endif
@@ -714,7 +742,7 @@ GINSTALL:=$(strip $(wildcard $(addsuffix /ginstall$(SRCEXEEXT),$(SEARCHPATH))))
 ifeq ($(GINSTALL),)
 GINSTALL:=$(strip $(wildcard $(addsuffix /install$(SRCEXEEXT),$(SEARCHPATH))))
 ifeq ($(GINSTALL),)
-GINSTALL=
+GINSTALL= __missing_command__
 else
 GINSTALL:=$(firstword $(GINSTALL))
 endif
@@ -726,7 +754,7 @@ export GINSTALL
 ifndef CPPROG
 CPPROG:=$(strip $(wildcard $(addsuffix /cp$(SRCEXEEXT),$(SEARCHPATH))))
 ifeq ($(CPPROG),)
-CPPROG=
+CPPROG= __missing_command__
 else
 CPPROG:=$(firstword $(CPPROG))
 endif
@@ -735,7 +763,7 @@ export CPPROG
 ifndef RMPROG
 RMPROG:=$(strip $(wildcard $(addsuffix /rm$(SRCEXEEXT),$(SEARCHPATH))))
 ifeq ($(RMPROG),)
-RMPROG=
+RMPROG= __missing_command__
 else
 RMPROG:=$(firstword $(RMPROG))
 endif
@@ -744,7 +772,7 @@ export RMPROG
 ifndef MVPROG
 MVPROG:=$(strip $(wildcard $(addsuffix /mv$(SRCEXEEXT),$(SEARCHPATH))))
 ifeq ($(MVPROG),)
-MVPROG=
+MVPROG= __missing_command__
 else
 MVPROG:=$(firstword $(MVPROG))
 endif
@@ -793,7 +821,7 @@ export ECHOREDIR COPY COPYTREE MOVE DEL DELTREE INSTALL INSTALLEXE MKDIR
 ifndef PPUMOVE
 PPUMOVE:=$(strip $(wildcard $(addsuffix /ppumove$(SRCEXEEXT),$(SEARCHPATH))))
 ifeq ($(PPUMOVE),)
-PPUMOVE=
+PPUMOVE= __missing_command__
 else
 PPUMOVE:=$(firstword $(PPUMOVE))
 endif
@@ -802,7 +830,7 @@ export PPUMOVE
 ifndef FPCMAKE
 FPCMAKE:=$(strip $(wildcard $(addsuffix /fpcmake$(SRCEXEEXT),$(SEARCHPATH))))
 ifeq ($(FPCMAKE),)
-FPCMAKE=
+FPCMAKE= __missing_command__
 else
 FPCMAKE:=$(firstword $(FPCMAKE))
 endif
@@ -811,7 +839,7 @@ export FPCMAKE
 ifndef ZIPPROG
 ZIPPROG:=$(strip $(wildcard $(addsuffix /zip$(SRCEXEEXT),$(SEARCHPATH))))
 ifeq ($(ZIPPROG),)
-ZIPPROG=
+ZIPPROG= __missing_command__
 else
 ZIPPROG:=$(firstword $(ZIPPROG))
 endif
@@ -820,7 +848,7 @@ export ZIPPROG
 ifndef TARPROG
 TARPROG:=$(strip $(wildcard $(addsuffix /tar$(SRCEXEEXT),$(SEARCHPATH))))
 ifeq ($(TARPROG),)
-TARPROG=
+TARPROG= __missing_command__
 else
 TARPROG:=$(firstword $(TARPROG))
 endif
@@ -832,9 +860,11 @@ ARNAME=$(BINUTILSPREFIX)ar
 RCNAME=$(BINUTILSPREFIX)rc
 ifneq ($(findstring 1.0.,$(FPC_VERSION)),)
 ifeq ($(OS_TARGET),win32)
-ASNAME=as
-LDNAME=ld
-ARNAME=ar
+ifeq ($(CROSSBINDIR),)
+ASNAME=asw
+LDNAME=ldw
+ARNAME=arw
+endif
 endif
 endif
 ifndef ASPROG
@@ -869,7 +899,7 @@ AS=$(ASPROG)
 LD=$(LDPROG)
 RC=$(RCPROG)
 AR=$(ARPROG)
-PPAS=ppas$(BATCHEXT)
+PPAS=ppas$(SRCBATCHEXT)
 ifdef inUnix
 LDCONFIG=ldconfig
 else
@@ -1569,8 +1599,12 @@ ifdef RELEASE
 ifeq ($(CPU_TARGET),i386)
 FPCCPUOPT:=-OG2p3
 else
+ifeq ($(CPU_TARGET),powerpc)
+FPCCPUOPT:=-O1
+else
 FPCCPUOPT:=
 endif
+endif
 override FPCOPT+=-Xs $(FPCCPUOPT) -n
 override FPCOPTDEF+=RELEASE
 endif
@@ -1783,6 +1817,9 @@ override CLEANPPUFILES+=$(addsuffix $(PPUEXT),$(CLEAN_UNITS))
 endif
 ifdef 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 CLEANPPULINKFILES:=$(wildcard $(addprefix $(UNITTARGETDIRPREFIX),$(CLEANPPULINKFILES)))
 endif
@@ -1806,6 +1843,7 @@ ifdef LIB_NAME
 	-$(DEL) $(LIB_NAME) $(LIB_FULLNAME)
 endif
 	-$(DEL) $(FPCMADE) Package.fpc $(PPAS) script.res link.res $(FPCEXTFILE) $(REDIRFILE)
+	-$(DEL) *$(ASMEXT) *_ppas$(BATCHEXT)
 fpc_distclean: clean
 ifdef COMPILER_UNITTARGETDIR
 TARGETDIRCLEAN=fpc_clean
@@ -1817,9 +1855,13 @@ endif
 	-$(DEL) *$(OEXT) *$(PPUEXT) *$(RSTEXT) *$(ASMEXT) *$(STATICLIBEXT) *$(SHAREDLIBEXT) *$(PPLEXT)
 	-$(DELTREE) *$(SMARTEXT)
 	-$(DEL) $(FPCMADE) Package.fpc $(PPAS) script.res link.res $(FPCEXTFILE) $(REDIRFILE)
+	-$(DEL) *_ppas$(BATCHEXT)
 ifdef AOUTEXT
 	-$(DEL) *$(AOUTEXT)
 endif
+ifdef DEBUGSYMEXT
+	-$(DEL) *$(DEBUGSYMEXT)
+endif
 .PHONY: fpc_baseinfo
 override INFORULES+=fpc_baseinfo
 fpc_baseinfo:

+ 93 - 66
fcl/image/Makefile

@@ -1,15 +1,24 @@
 #
-# Don't edit, this file is generated by FPCMake Version 1.1 [2004/03/20]
+# Don't edit, this file is generated by FPCMake Version 1.1 [2004/04/21]
 #
 default: all
 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:=$(subst \,/,$(PATH))
+ifneq ($(findstring darwin,$(OSTYPE)),)
+inUnix=1 #darwin
+SEARCHPATH:=$(filter-out .,$(subst :, ,$(PATH)))
+else
 ifeq ($(findstring ;,$(PATH)),)
 inUnix=1
 SEARCHPATH:=$(filter-out .,$(subst :, ,$(PATH)))
 else
 SEARCHPATH:=$(subst ;, ,$(PATH))
 endif
+endif
 SEARCHPATH+=$(patsubst %/,%,$(subst \,/,$(dir $(MAKE))))
 PWD:=$(strip $(wildcard $(addsuffix /pwd.exe,$(SEARCHPATH))))
 ifeq ($(PWD),)
@@ -37,22 +46,13 @@ ifneq ($(findstring cygdrive,$(PATH)),)
 inCygWin=1
 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
-BATCHEXT=.sh
+SRCBATCHEXT=.sh
 else
 ifdef inOS2
-BATCHEXT=.cmd
+SRCBATCHEXT=.cmd
 else
-BATCHEXT=.bat
+SRCBATCHEXT=.bat
 endif
 endif
 ifdef inUnix
@@ -155,6 +155,12 @@ ifeq ($(findstring $(OS_TARGET),$(MAKEFILETARGETS)),)
 $(error The Makefile doesn't support target $(OS_TARGET), please run fpcmake first)
 endif
 endif
+ifneq ($(findstring $(OS_TARGET),$(BSDs)),)
+BSDhier=1
+endif
+ifeq ($(OS_TARGET),linux)
+linuxHier=1
+endif
 export OS_TARGET OS_SOURCE CPU_TARGET CPU_SOURCE FULL_TARGET FULL_SOURCE CROSSCOMPILE
 ifdef FPCDIR
 override FPCDIR:=$(subst \,/,$(FPCDIR))
@@ -229,42 +235,12 @@ 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
-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
 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
 ifndef INSTALL_PREFIX
@@ -273,7 +249,7 @@ INSTALL_PREFIX=$(PREFIX)
 endif
 endif
 ifndef INSTALL_PREFIX
-ifdef UNIXINSTALLDIR
+ifdef UNIXHier
 INSTALL_PREFIX=/usr/local
 else
 ifdef INSTALL_FPCPACKAGE
@@ -292,7 +268,7 @@ DIST_DESTDIR:=$(BASEDIR)
 endif
 export DIST_DESTDIR
 ifndef INSTALL_BASEDIR
-ifdef UNIXINSTALLDIR
+ifdef UNIXHier
 ifdef INSTALL_FPCPACKAGE
 INSTALL_BASEDIR:=$(INSTALL_PREFIX)/lib/fpc/$(FPC_VERSION)
 else
@@ -303,7 +279,7 @@ INSTALL_BASEDIR:=$(INSTALL_PREFIX)
 endif
 endif
 ifndef INSTALL_BINDIR
-ifdef UNIXINSTALLDIR
+ifdef UNIXHier
 ifdef CROSSCOMPILE
 INSTALL_BINDIR:=$(INSTALL_BASEDIR)/cross/$(FULL_TARGET)/bin
 else
@@ -333,19 +309,23 @@ endif
 endif
 endif
 ifndef INSTALL_LIBDIR
-ifdef UNIXINSTALLDIR
+ifdef UNIXHier
 INSTALL_LIBDIR:=$(INSTALL_PREFIX)/lib
 else
 INSTALL_LIBDIR:=$(INSTALL_UNITDIR)
 endif
 endif
 ifndef INSTALL_SOURCEDIR
-ifdef UNIXINSTALLDIR
+ifdef UNIXHier
 ifdef BSDhier
 SRCPREFIXDIR=share/src
 else
+ifdef linuxHier
+SRCPREFIXDIR=share/src
+else
 SRCPREFIXDIR=src
 endif
+endif
 ifdef INSTALL_FPCPACKAGE
 ifdef INSTALL_FPCSUBDIR
 INSTALL_SOURCEDIR:=$(INSTALL_PREFIX)/$(SRCPREFIXDIR)/fpc-$(FPC_VERSION)/$(INSTALL_FPCSUBDIR)/$(PACKAGE_NAME)
@@ -368,12 +348,16 @@ endif
 endif
 endif
 ifndef INSTALL_DOCDIR
-ifdef UNIXINSTALLDIR
+ifdef UNIXHier
 ifdef BSDhier
 DOCPREFIXDIR=share/doc
 else
+ifdef linuxHier
+DOCPREFIXDIR=share/doc
+else
 DOCPREFIXDIR=doc
 endif
+endif
 ifdef INSTALL_FPCPACKAGE
 INSTALL_DOCDIR:=$(INSTALL_PREFIX)/$(DOCPREFIXDIR)/fpc-$(FPC_VERSION)/$(PACKAGE_NAME)
 else
@@ -388,20 +372,28 @@ endif
 endif
 endif
 ifndef INSTALL_EXAMPLEDIR
-ifdef UNIXINSTALLDIR
+ifdef UNIXHier
 ifdef INSTALL_FPCPACKAGE
 ifdef BSDhier
 INSTALL_EXAMPLEDIR:=$(INSTALL_PREFIX)/share/examples/fpc-$(FPC_VERSION)/$(PACKAGE_NAME)
 else
+ifdef linuxHier
+INSTALL_EXAMPLEDIR:=$(INSTALL_DOCDIR)/examples/fpc-$(FPC_VERSION)/$(PACKAGE_NAME)
+else
 INSTALL_EXAMPLEDIR:=$(INSTALL_PREFIX)/doc/fpc-$(FPC_VERSION)/examples/$(PACKAGE_NAME)
 endif
+endif
 else
 ifdef BSDhier
 INSTALL_EXAMPLEDIR:=$(INSTALL_PREFIX)/share/examples/$(PACKAGE_NAME)-$(PACKAGE_VERSION)
 else
+ifdef linuxHier
+INSTALL_EXAMPLEDIR:=$(INSTALL_DOCDIR)/examples/$(PACKAGE_NAME)-$(PACKAGE_VERSION)
+else
 INSTALL_EXAMPLEDIR:=$(INSTALL_PREFIX)/doc/$(PACKAGE_NAME)-$(PACKAGE_VERSION)
 endif
 endif
+endif
 else
 ifdef INSTALL_FPCPACKAGE
 INSTALL_EXAMPLEDIR:=$(INSTALL_BASEDIR)/examples/$(PACKAGE_NAME)
@@ -423,6 +415,7 @@ endif
 else
 CROSSBINDIR=
 endif
+BATCHEXT=.bat
 LOADEREXT=.as
 EXEEXT=.exe
 PPLEXT=.ppl
@@ -455,24 +448,28 @@ ASMEXT=.asm
 SHAREDLIBEXT=.dll
 endif
 ifeq ($(OS_TARGET),linux)
+BATCHEXT=.sh
 EXEEXT=
 HASSHAREDLIB=1
 FPCMADE=fpcmade.lnx
 ZIPSUFFIX=linux
 endif
 ifeq ($(OS_TARGET),freebsd)
+BATCHEXT=.sh
 EXEEXT=
 HASSHAREDLIB=1
 FPCMADE=fpcmade.freebsd
 ZIPSUFFIX=freebsd
 endif
 ifeq ($(OS_TARGET),netbsd)
+BATCHEXT=.sh
 EXEEXT=
 HASSHAREDLIB=1
 FPCMADE=fpcmade.netbsd
 ZIPSUFFIX=netbsd
 endif
 ifeq ($(OS_TARGET),openbsd)
+BATCHEXT=.sh
 EXEEXT=
 HASSHAREDLIB=1
 FPCMADE=fpcmade.openbsd
@@ -484,6 +481,7 @@ FPCMADE=fpcmade.w32
 ZIPSUFFIX=w32
 endif
 ifeq ($(OS_TARGET),os2)
+BATCHEXT=.cmd
 AOUTEXT=.out
 STATICLIBPREFIX=
 SHAREDLIBEXT=.dll
@@ -492,6 +490,7 @@ ZIPSUFFIX=os2
 ECHO=echo
 endif
 ifeq ($(OS_TARGET),emx)
+BATCHEXT=.cmd
 AOUTEXT=.out
 STATICLIBPREFIX=
 SHAREDLIBEXT=.dll
@@ -509,16 +508,19 @@ EXEEXT=.ttp
 FPCMADE=fpcmade.ata
 endif
 ifeq ($(OS_TARGET),beos)
+BATCHEXT=.sh
 EXEEXT=
 FPCMADE=fpcmade.be
 ZIPSUFFIX=be
 endif
 ifeq ($(OS_TARGET),sunos)
+BATCHEXT=.sh
 EXEEXT=
 FPCMADE=fpcmade.sun
 ZIPSUFFIX=sun
 endif
 ifeq ($(OS_TARGET),qnx)
+BATCHEXT=.sh
 EXEEXT=
 FPCMADE=fpcmade.qnx
 ZIPSUFFIX=qnx
@@ -530,11 +532,14 @@ FPCMADE=fpcmade.nw
 ZIPSUFFIX=nw
 endif
 ifeq ($(OS_TARGET),macos)
+BATCHEXT=
 EXEEXT=
 FPCMADE=fpcmade.macos
 ZIPSUFFIX=macos
+DEBUGSYMEXT=.xcoff
 endif
 ifeq ($(OS_TARGET),darwin)
+BATCHEXT=.sh
 EXEEXT=
 HASSHAREDLIB=1
 FPCMADE=fpcmade.darwin
@@ -563,24 +568,28 @@ FPCMADE=fpcmade.dos
 ZIPSUFFIX=watcom
 endif
 ifeq ($(OS_TARGET),linux)
+BATCHEXT=.sh
 EXEEXT=
 HASSHAREDLIB=1
 FPCMADE=fpcmade.lnx
 ZIPSUFFIX=linux
 endif
 ifeq ($(OS_TARGET),freebsd)
+BATCHEXT=.sh
 EXEEXT=
 HASSHAREDLIB=1
 FPCMADE=fpcmade.freebsd
 ZIPSUFFIX=freebsd
 endif
 ifeq ($(OS_TARGET),netbsd)
+BATCHEXT=.sh
 EXEEXT=
 HASSHAREDLIB=1
 FPCMADE=fpcmade.netbsd
 ZIPSUFFIX=netbsd
 endif
 ifeq ($(OS_TARGET),openbsd)
+BATCHEXT=.sh
 EXEEXT=
 HASSHAREDLIB=1
 FPCMADE=fpcmade.openbsd
@@ -597,6 +606,7 @@ FPCMADE=fpcmade.w32
 ZIPSUFFIX=w32
 endif
 ifeq ($(OS_TARGET),os2)
+BATCHEXT=.cmd
 PPUEXT=.ppo
 ASMEXT=.so2
 OEXT=.oo2
@@ -629,6 +639,7 @@ EXEEXT=.ttp
 FPCMADE=fpcmade.ata
 endif
 ifeq ($(OS_TARGET),beos)
+BATCHEXT=.sh
 PPUEXT=.ppu
 ASMEXT=.s
 OEXT=.o
@@ -639,6 +650,7 @@ FPCMADE=fpcmade.be
 ZIPSUFFIX=be
 endif
 ifeq ($(OS_TARGET),sunos)
+BATCHEXT=.sh
 PPUEXT=.ppu
 ASMEXT=.s
 OEXT=.o
@@ -649,6 +661,7 @@ FPCMADE=fpcmade.sun
 ZIPSUFFIX=sun
 endif
 ifeq ($(OS_TARGET),qnx)
+BATCHEXT=.sh
 PPUEXT=.ppu
 ASMEXT=.s
 OEXT=.o
@@ -671,13 +684,15 @@ ZIPSUFFIX=nw
 EXEEXT=.nlm
 endif
 ifeq ($(OS_TARGET),macos)
+BATCHEXT=
 PPUEXT=.ppu
 ASMEXT=.s
 OEXT=.o
 SMARTEXT=.sl
 STATICLIBEXT=.a
 EXEEXT=
-FPCMADE=fpcmade.mcc
+DEBUGSYMEXT=.xcoff
+FPCMADE=fpcmade.macos
 endif
 endif
 ifndef ECHO
@@ -685,7 +700,7 @@ ECHO:=$(strip $(wildcard $(addsuffix /gecho$(SRCEXEEXT),$(SEARCHPATH))))
 ifeq ($(ECHO),)
 ECHO:=$(strip $(wildcard $(addsuffix /echo$(SRCEXEEXT),$(SEARCHPATH))))
 ifeq ($(ECHO),)
-ECHO=
+ECHO= __missing_command__
 else
 ECHO:=$(firstword $(ECHO))
 endif
@@ -699,7 +714,7 @@ DATE:=$(strip $(wildcard $(addsuffix /gdate$(SRCEXEEXT),$(SEARCHPATH))))
 ifeq ($(DATE),)
 DATE:=$(strip $(wildcard $(addsuffix /date$(SRCEXEEXT),$(SEARCHPATH))))
 ifeq ($(DATE),)
-DATE=
+DATE= __missing_command__
 else
 DATE:=$(firstword $(DATE))
 endif
@@ -713,7 +728,7 @@ GINSTALL:=$(strip $(wildcard $(addsuffix /ginstall$(SRCEXEEXT),$(SEARCHPATH))))
 ifeq ($(GINSTALL),)
 GINSTALL:=$(strip $(wildcard $(addsuffix /install$(SRCEXEEXT),$(SEARCHPATH))))
 ifeq ($(GINSTALL),)
-GINSTALL=
+GINSTALL= __missing_command__
 else
 GINSTALL:=$(firstword $(GINSTALL))
 endif
@@ -725,7 +740,7 @@ export GINSTALL
 ifndef CPPROG
 CPPROG:=$(strip $(wildcard $(addsuffix /cp$(SRCEXEEXT),$(SEARCHPATH))))
 ifeq ($(CPPROG),)
-CPPROG=
+CPPROG= __missing_command__
 else
 CPPROG:=$(firstword $(CPPROG))
 endif
@@ -734,7 +749,7 @@ export CPPROG
 ifndef RMPROG
 RMPROG:=$(strip $(wildcard $(addsuffix /rm$(SRCEXEEXT),$(SEARCHPATH))))
 ifeq ($(RMPROG),)
-RMPROG=
+RMPROG= __missing_command__
 else
 RMPROG:=$(firstword $(RMPROG))
 endif
@@ -743,7 +758,7 @@ export RMPROG
 ifndef MVPROG
 MVPROG:=$(strip $(wildcard $(addsuffix /mv$(SRCEXEEXT),$(SEARCHPATH))))
 ifeq ($(MVPROG),)
-MVPROG=
+MVPROG= __missing_command__
 else
 MVPROG:=$(firstword $(MVPROG))
 endif
@@ -792,7 +807,7 @@ export ECHOREDIR COPY COPYTREE MOVE DEL DELTREE INSTALL INSTALLEXE MKDIR
 ifndef PPUMOVE
 PPUMOVE:=$(strip $(wildcard $(addsuffix /ppumove$(SRCEXEEXT),$(SEARCHPATH))))
 ifeq ($(PPUMOVE),)
-PPUMOVE=
+PPUMOVE= __missing_command__
 else
 PPUMOVE:=$(firstword $(PPUMOVE))
 endif
@@ -801,7 +816,7 @@ export PPUMOVE
 ifndef FPCMAKE
 FPCMAKE:=$(strip $(wildcard $(addsuffix /fpcmake$(SRCEXEEXT),$(SEARCHPATH))))
 ifeq ($(FPCMAKE),)
-FPCMAKE=
+FPCMAKE= __missing_command__
 else
 FPCMAKE:=$(firstword $(FPCMAKE))
 endif
@@ -810,7 +825,7 @@ export FPCMAKE
 ifndef ZIPPROG
 ZIPPROG:=$(strip $(wildcard $(addsuffix /zip$(SRCEXEEXT),$(SEARCHPATH))))
 ifeq ($(ZIPPROG),)
-ZIPPROG=
+ZIPPROG= __missing_command__
 else
 ZIPPROG:=$(firstword $(ZIPPROG))
 endif
@@ -819,7 +834,7 @@ export ZIPPROG
 ifndef TARPROG
 TARPROG:=$(strip $(wildcard $(addsuffix /tar$(SRCEXEEXT),$(SEARCHPATH))))
 ifeq ($(TARPROG),)
-TARPROG=
+TARPROG= __missing_command__
 else
 TARPROG:=$(firstword $(TARPROG))
 endif
@@ -870,7 +885,7 @@ AS=$(ASPROG)
 LD=$(LDPROG)
 RC=$(RCPROG)
 AR=$(ARPROG)
-PPAS=ppas$(BATCHEXT)
+PPAS=ppas$(SRCBATCHEXT)
 ifdef inUnix
 LDCONFIG=ldconfig
 else
@@ -1241,8 +1256,12 @@ ifdef RELEASE
 ifeq ($(CPU_TARGET),i386)
 FPCCPUOPT:=-OG2p3
 else
+ifeq ($(CPU_TARGET),powerpc)
+FPCCPUOPT:=-O1
+else
 FPCCPUOPT:=
 endif
+endif
 override FPCOPT+=-Xs $(FPCCPUOPT) -n
 override FPCOPTDEF+=RELEASE
 endif
@@ -1461,6 +1480,9 @@ override CLEANPPUFILES+=$(addsuffix $(PPUEXT),$(CLEAN_UNITS))
 endif
 ifdef 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 CLEANPPULINKFILES:=$(wildcard $(addprefix $(UNITTARGETDIRPREFIX),$(CLEANPPULINKFILES)))
 endif
@@ -1484,6 +1506,7 @@ ifdef LIB_NAME
 	-$(DEL) $(LIB_NAME) $(LIB_FULLNAME)
 endif
 	-$(DEL) $(FPCMADE) Package.fpc $(PPAS) script.res link.res $(FPCEXTFILE) $(REDIRFILE)
+	-$(DEL) *$(ASMEXT) *_ppas$(BATCHEXT)
 fpc_distclean: clean
 ifdef COMPILER_UNITTARGETDIR
 TARGETDIRCLEAN=fpc_clean
@@ -1495,9 +1518,13 @@ endif
 	-$(DEL) *$(OEXT) *$(PPUEXT) *$(RSTEXT) *$(ASMEXT) *$(STATICLIBEXT) *$(SHAREDLIBEXT) *$(PPLEXT)
 	-$(DELTREE) *$(SMARTEXT)
 	-$(DEL) $(FPCMADE) Package.fpc $(PPAS) script.res link.res $(FPCEXTFILE) $(REDIRFILE)
+	-$(DEL) *_ppas$(BATCHEXT)
 ifdef AOUTEXT
 	-$(DEL) *$(AOUTEXT)
 endif
+ifdef DEBUGSYMEXT
+	-$(DEL) *$(DEBUGSYMEXT)
+endif
 .PHONY: fpc_baseinfo
 override INFORULES+=fpc_baseinfo
 fpc_baseinfo:

+ 100 - 70
fcl/net/Makefile

@@ -1,15 +1,24 @@
 #
-# Don't edit, this file is generated by FPCMake Version 1.1 [2004/02/22]
+# Don't edit, this file is generated by FPCMake Version 1.1 [2004/04/21]
 #
 default: all
 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:=$(subst \,/,$(PATH))
+ifneq ($(findstring darwin,$(OSTYPE)),)
+inUnix=1 #darwin
+SEARCHPATH:=$(filter-out .,$(subst :, ,$(PATH)))
+else
 ifeq ($(findstring ;,$(PATH)),)
 inUnix=1
 SEARCHPATH:=$(filter-out .,$(subst :, ,$(PATH)))
 else
 SEARCHPATH:=$(subst ;, ,$(PATH))
 endif
+endif
 SEARCHPATH+=$(patsubst %/,%,$(subst \,/,$(dir $(MAKE))))
 PWD:=$(strip $(wildcard $(addsuffix /pwd.exe,$(SEARCHPATH))))
 ifeq ($(PWD),)
@@ -37,22 +46,13 @@ ifneq ($(findstring cygdrive,$(PATH)),)
 inCygWin=1
 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
-BATCHEXT=.sh
+SRCBATCHEXT=.sh
 else
 ifdef inOS2
-BATCHEXT=.cmd
+SRCBATCHEXT=.cmd
 else
-BATCHEXT=.bat
+SRCBATCHEXT=.bat
 endif
 endif
 ifdef inUnix
@@ -155,6 +155,12 @@ ifeq ($(findstring $(OS_TARGET),$(MAKEFILETARGETS)),)
 $(error The Makefile doesn't support target $(OS_TARGET), please run fpcmake first)
 endif
 endif
+ifneq ($(findstring $(OS_TARGET),$(BSDs)),)
+BSDhier=1
+endif
+ifeq ($(OS_TARGET),linux)
+linuxHier=1
+endif
 export OS_TARGET OS_SOURCE CPU_TARGET CPU_SOURCE FULL_TARGET FULL_SOURCE CROSSCOMPILE
 ifdef FPCDIR
 override FPCDIR:=$(subst \,/,$(FPCDIR))
@@ -276,42 +282,12 @@ 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
-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
 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
 ifndef INSTALL_PREFIX
@@ -320,7 +296,7 @@ INSTALL_PREFIX=$(PREFIX)
 endif
 endif
 ifndef INSTALL_PREFIX
-ifdef UNIXINSTALLDIR
+ifdef UNIXHier
 INSTALL_PREFIX=/usr/local
 else
 ifdef INSTALL_FPCPACKAGE
@@ -339,7 +315,7 @@ DIST_DESTDIR:=$(BASEDIR)
 endif
 export DIST_DESTDIR
 ifndef INSTALL_BASEDIR
-ifdef UNIXINSTALLDIR
+ifdef UNIXHier
 ifdef INSTALL_FPCPACKAGE
 INSTALL_BASEDIR:=$(INSTALL_PREFIX)/lib/fpc/$(FPC_VERSION)
 else
@@ -350,7 +326,7 @@ INSTALL_BASEDIR:=$(INSTALL_PREFIX)
 endif
 endif
 ifndef INSTALL_BINDIR
-ifdef UNIXINSTALLDIR
+ifdef UNIXHier
 ifdef CROSSCOMPILE
 INSTALL_BINDIR:=$(INSTALL_BASEDIR)/cross/$(FULL_TARGET)/bin
 else
@@ -380,19 +356,23 @@ endif
 endif
 endif
 ifndef INSTALL_LIBDIR
-ifdef UNIXINSTALLDIR
+ifdef UNIXHier
 INSTALL_LIBDIR:=$(INSTALL_PREFIX)/lib
 else
 INSTALL_LIBDIR:=$(INSTALL_UNITDIR)
 endif
 endif
 ifndef INSTALL_SOURCEDIR
-ifdef UNIXINSTALLDIR
+ifdef UNIXHier
 ifdef BSDhier
 SRCPREFIXDIR=share/src
 else
+ifdef linuxHier
+SRCPREFIXDIR=share/src
+else
 SRCPREFIXDIR=src
 endif
+endif
 ifdef INSTALL_FPCPACKAGE
 ifdef INSTALL_FPCSUBDIR
 INSTALL_SOURCEDIR:=$(INSTALL_PREFIX)/$(SRCPREFIXDIR)/fpc-$(FPC_VERSION)/$(INSTALL_FPCSUBDIR)/$(PACKAGE_NAME)
@@ -415,12 +395,16 @@ endif
 endif
 endif
 ifndef INSTALL_DOCDIR
-ifdef UNIXINSTALLDIR
+ifdef UNIXHier
 ifdef BSDhier
 DOCPREFIXDIR=share/doc
 else
+ifdef linuxHier
+DOCPREFIXDIR=share/doc
+else
 DOCPREFIXDIR=doc
 endif
+endif
 ifdef INSTALL_FPCPACKAGE
 INSTALL_DOCDIR:=$(INSTALL_PREFIX)/$(DOCPREFIXDIR)/fpc-$(FPC_VERSION)/$(PACKAGE_NAME)
 else
@@ -435,20 +419,28 @@ endif
 endif
 endif
 ifndef INSTALL_EXAMPLEDIR
-ifdef UNIXINSTALLDIR
+ifdef UNIXHier
 ifdef INSTALL_FPCPACKAGE
 ifdef BSDhier
 INSTALL_EXAMPLEDIR:=$(INSTALL_PREFIX)/share/examples/fpc-$(FPC_VERSION)/$(PACKAGE_NAME)
 else
+ifdef linuxHier
+INSTALL_EXAMPLEDIR:=$(INSTALL_DOCDIR)/examples/fpc-$(FPC_VERSION)/$(PACKAGE_NAME)
+else
 INSTALL_EXAMPLEDIR:=$(INSTALL_PREFIX)/doc/fpc-$(FPC_VERSION)/examples/$(PACKAGE_NAME)
 endif
+endif
 else
 ifdef BSDhier
 INSTALL_EXAMPLEDIR:=$(INSTALL_PREFIX)/share/examples/$(PACKAGE_NAME)-$(PACKAGE_VERSION)
 else
+ifdef linuxHier
+INSTALL_EXAMPLEDIR:=$(INSTALL_DOCDIR)/examples/$(PACKAGE_NAME)-$(PACKAGE_VERSION)
+else
 INSTALL_EXAMPLEDIR:=$(INSTALL_PREFIX)/doc/$(PACKAGE_NAME)-$(PACKAGE_VERSION)
 endif
 endif
+endif
 else
 ifdef INSTALL_FPCPACKAGE
 INSTALL_EXAMPLEDIR:=$(INSTALL_BASEDIR)/examples/$(PACKAGE_NAME)
@@ -470,6 +462,7 @@ endif
 else
 CROSSBINDIR=
 endif
+BATCHEXT=.bat
 LOADEREXT=.as
 EXEEXT=.exe
 PPLEXT=.ppl
@@ -502,24 +495,28 @@ ASMEXT=.asm
 SHAREDLIBEXT=.dll
 endif
 ifeq ($(OS_TARGET),linux)
+BATCHEXT=.sh
 EXEEXT=
 HASSHAREDLIB=1
 FPCMADE=fpcmade.lnx
 ZIPSUFFIX=linux
 endif
 ifeq ($(OS_TARGET),freebsd)
+BATCHEXT=.sh
 EXEEXT=
 HASSHAREDLIB=1
 FPCMADE=fpcmade.freebsd
 ZIPSUFFIX=freebsd
 endif
 ifeq ($(OS_TARGET),netbsd)
+BATCHEXT=.sh
 EXEEXT=
 HASSHAREDLIB=1
 FPCMADE=fpcmade.netbsd
 ZIPSUFFIX=netbsd
 endif
 ifeq ($(OS_TARGET),openbsd)
+BATCHEXT=.sh
 EXEEXT=
 HASSHAREDLIB=1
 FPCMADE=fpcmade.openbsd
@@ -531,6 +528,7 @@ FPCMADE=fpcmade.w32
 ZIPSUFFIX=w32
 endif
 ifeq ($(OS_TARGET),os2)
+BATCHEXT=.cmd
 AOUTEXT=.out
 STATICLIBPREFIX=
 SHAREDLIBEXT=.dll
@@ -539,6 +537,7 @@ ZIPSUFFIX=os2
 ECHO=echo
 endif
 ifeq ($(OS_TARGET),emx)
+BATCHEXT=.cmd
 AOUTEXT=.out
 STATICLIBPREFIX=
 SHAREDLIBEXT=.dll
@@ -556,16 +555,19 @@ EXEEXT=.ttp
 FPCMADE=fpcmade.ata
 endif
 ifeq ($(OS_TARGET),beos)
+BATCHEXT=.sh
 EXEEXT=
 FPCMADE=fpcmade.be
 ZIPSUFFIX=be
 endif
 ifeq ($(OS_TARGET),sunos)
+BATCHEXT=.sh
 EXEEXT=
 FPCMADE=fpcmade.sun
 ZIPSUFFIX=sun
 endif
 ifeq ($(OS_TARGET),qnx)
+BATCHEXT=.sh
 EXEEXT=
 FPCMADE=fpcmade.qnx
 ZIPSUFFIX=qnx
@@ -577,10 +579,14 @@ FPCMADE=fpcmade.nw
 ZIPSUFFIX=nw
 endif
 ifeq ($(OS_TARGET),macos)
+BATCHEXT=
 EXEEXT=
-FPCMADE=fpcmade.mcc
+FPCMADE=fpcmade.macos
+ZIPSUFFIX=macos
+DEBUGSYMEXT=.xcoff
 endif
 ifeq ($(OS_TARGET),darwin)
+BATCHEXT=.sh
 EXEEXT=
 HASSHAREDLIB=1
 FPCMADE=fpcmade.darwin
@@ -609,24 +615,28 @@ FPCMADE=fpcmade.dos
 ZIPSUFFIX=watcom
 endif
 ifeq ($(OS_TARGET),linux)
+BATCHEXT=.sh
 EXEEXT=
 HASSHAREDLIB=1
 FPCMADE=fpcmade.lnx
 ZIPSUFFIX=linux
 endif
 ifeq ($(OS_TARGET),freebsd)
+BATCHEXT=.sh
 EXEEXT=
 HASSHAREDLIB=1
 FPCMADE=fpcmade.freebsd
 ZIPSUFFIX=freebsd
 endif
 ifeq ($(OS_TARGET),netbsd)
+BATCHEXT=.sh
 EXEEXT=
 HASSHAREDLIB=1
 FPCMADE=fpcmade.netbsd
 ZIPSUFFIX=netbsd
 endif
 ifeq ($(OS_TARGET),openbsd)
+BATCHEXT=.sh
 EXEEXT=
 HASSHAREDLIB=1
 FPCMADE=fpcmade.openbsd
@@ -643,6 +653,7 @@ FPCMADE=fpcmade.w32
 ZIPSUFFIX=w32
 endif
 ifeq ($(OS_TARGET),os2)
+BATCHEXT=.cmd
 PPUEXT=.ppo
 ASMEXT=.so2
 OEXT=.oo2
@@ -675,6 +686,7 @@ EXEEXT=.ttp
 FPCMADE=fpcmade.ata
 endif
 ifeq ($(OS_TARGET),beos)
+BATCHEXT=.sh
 PPUEXT=.ppu
 ASMEXT=.s
 OEXT=.o
@@ -685,6 +697,7 @@ FPCMADE=fpcmade.be
 ZIPSUFFIX=be
 endif
 ifeq ($(OS_TARGET),sunos)
+BATCHEXT=.sh
 PPUEXT=.ppu
 ASMEXT=.s
 OEXT=.o
@@ -695,6 +708,7 @@ FPCMADE=fpcmade.sun
 ZIPSUFFIX=sun
 endif
 ifeq ($(OS_TARGET),qnx)
+BATCHEXT=.sh
 PPUEXT=.ppu
 ASMEXT=.s
 OEXT=.o
@@ -717,13 +731,15 @@ ZIPSUFFIX=nw
 EXEEXT=.nlm
 endif
 ifeq ($(OS_TARGET),macos)
+BATCHEXT=
 PPUEXT=.ppu
 ASMEXT=.s
 OEXT=.o
 SMARTEXT=.sl
 STATICLIBEXT=.a
 EXEEXT=
-FPCMADE=fpcmade.mcc
+DEBUGSYMEXT=.xcoff
+FPCMADE=fpcmade.macos
 endif
 endif
 ifndef ECHO
@@ -731,7 +747,7 @@ ECHO:=$(strip $(wildcard $(addsuffix /gecho$(SRCEXEEXT),$(SEARCHPATH))))
 ifeq ($(ECHO),)
 ECHO:=$(strip $(wildcard $(addsuffix /echo$(SRCEXEEXT),$(SEARCHPATH))))
 ifeq ($(ECHO),)
-ECHO=
+ECHO= __missing_command__
 else
 ECHO:=$(firstword $(ECHO))
 endif
@@ -745,7 +761,7 @@ DATE:=$(strip $(wildcard $(addsuffix /gdate$(SRCEXEEXT),$(SEARCHPATH))))
 ifeq ($(DATE),)
 DATE:=$(strip $(wildcard $(addsuffix /date$(SRCEXEEXT),$(SEARCHPATH))))
 ifeq ($(DATE),)
-DATE=
+DATE= __missing_command__
 else
 DATE:=$(firstword $(DATE))
 endif
@@ -759,7 +775,7 @@ GINSTALL:=$(strip $(wildcard $(addsuffix /ginstall$(SRCEXEEXT),$(SEARCHPATH))))
 ifeq ($(GINSTALL),)
 GINSTALL:=$(strip $(wildcard $(addsuffix /install$(SRCEXEEXT),$(SEARCHPATH))))
 ifeq ($(GINSTALL),)
-GINSTALL=
+GINSTALL= __missing_command__
 else
 GINSTALL:=$(firstword $(GINSTALL))
 endif
@@ -771,7 +787,7 @@ export GINSTALL
 ifndef CPPROG
 CPPROG:=$(strip $(wildcard $(addsuffix /cp$(SRCEXEEXT),$(SEARCHPATH))))
 ifeq ($(CPPROG),)
-CPPROG=
+CPPROG= __missing_command__
 else
 CPPROG:=$(firstword $(CPPROG))
 endif
@@ -780,7 +796,7 @@ export CPPROG
 ifndef RMPROG
 RMPROG:=$(strip $(wildcard $(addsuffix /rm$(SRCEXEEXT),$(SEARCHPATH))))
 ifeq ($(RMPROG),)
-RMPROG=
+RMPROG= __missing_command__
 else
 RMPROG:=$(firstword $(RMPROG))
 endif
@@ -789,7 +805,7 @@ export RMPROG
 ifndef MVPROG
 MVPROG:=$(strip $(wildcard $(addsuffix /mv$(SRCEXEEXT),$(SEARCHPATH))))
 ifeq ($(MVPROG),)
-MVPROG=
+MVPROG= __missing_command__
 else
 MVPROG:=$(firstword $(MVPROG))
 endif
@@ -838,7 +854,7 @@ export ECHOREDIR COPY COPYTREE MOVE DEL DELTREE INSTALL INSTALLEXE MKDIR
 ifndef PPUMOVE
 PPUMOVE:=$(strip $(wildcard $(addsuffix /ppumove$(SRCEXEEXT),$(SEARCHPATH))))
 ifeq ($(PPUMOVE),)
-PPUMOVE=
+PPUMOVE= __missing_command__
 else
 PPUMOVE:=$(firstword $(PPUMOVE))
 endif
@@ -847,7 +863,7 @@ export PPUMOVE
 ifndef FPCMAKE
 FPCMAKE:=$(strip $(wildcard $(addsuffix /fpcmake$(SRCEXEEXT),$(SEARCHPATH))))
 ifeq ($(FPCMAKE),)
-FPCMAKE=
+FPCMAKE= __missing_command__
 else
 FPCMAKE:=$(firstword $(FPCMAKE))
 endif
@@ -856,7 +872,7 @@ export FPCMAKE
 ifndef ZIPPROG
 ZIPPROG:=$(strip $(wildcard $(addsuffix /zip$(SRCEXEEXT),$(SEARCHPATH))))
 ifeq ($(ZIPPROG),)
-ZIPPROG=
+ZIPPROG= __missing_command__
 else
 ZIPPROG:=$(firstword $(ZIPPROG))
 endif
@@ -865,7 +881,7 @@ export ZIPPROG
 ifndef TARPROG
 TARPROG:=$(strip $(wildcard $(addsuffix /tar$(SRCEXEEXT),$(SEARCHPATH))))
 ifeq ($(TARPROG),)
-TARPROG=
+TARPROG= __missing_command__
 else
 TARPROG:=$(firstword $(TARPROG))
 endif
@@ -877,9 +893,11 @@ ARNAME=$(BINUTILSPREFIX)ar
 RCNAME=$(BINUTILSPREFIX)rc
 ifneq ($(findstring 1.0.,$(FPC_VERSION)),)
 ifeq ($(OS_TARGET),win32)
-ASNAME=as
-LDNAME=ld
-ARNAME=ar
+ifeq ($(CROSSBINDIR),)
+ASNAME=asw
+LDNAME=ldw
+ARNAME=arw
+endif
 endif
 endif
 ifndef ASPROG
@@ -914,7 +932,7 @@ AS=$(ASPROG)
 LD=$(LDPROG)
 RC=$(RCPROG)
 AR=$(ARPROG)
-PPAS=ppas$(BATCHEXT)
+PPAS=ppas$(SRCBATCHEXT)
 ifdef inUnix
 LDCONFIG=ldconfig
 else
@@ -1285,8 +1303,12 @@ ifdef RELEASE
 ifeq ($(CPU_TARGET),i386)
 FPCCPUOPT:=-OG2p3
 else
+ifeq ($(CPU_TARGET),powerpc)
+FPCCPUOPT:=-O1
+else
 FPCCPUOPT:=
 endif
+endif
 override FPCOPT+=-Xs $(FPCCPUOPT) -n
 override FPCOPTDEF+=RELEASE
 endif
@@ -1520,6 +1542,9 @@ override CLEANPPUFILES+=$(addsuffix $(PPUEXT),$(CLEAN_UNITS))
 endif
 ifdef 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 CLEANPPULINKFILES:=$(wildcard $(addprefix $(UNITTARGETDIRPREFIX),$(CLEANPPULINKFILES)))
 endif
@@ -1543,6 +1568,7 @@ ifdef LIB_NAME
 	-$(DEL) $(LIB_NAME) $(LIB_FULLNAME)
 endif
 	-$(DEL) $(FPCMADE) Package.fpc $(PPAS) script.res link.res $(FPCEXTFILE) $(REDIRFILE)
+	-$(DEL) *$(ASMEXT) *_ppas$(BATCHEXT)
 fpc_distclean: clean
 ifdef COMPILER_UNITTARGETDIR
 TARGETDIRCLEAN=fpc_clean
@@ -1554,9 +1580,13 @@ endif
 	-$(DEL) *$(OEXT) *$(PPUEXT) *$(RSTEXT) *$(ASMEXT) *$(STATICLIBEXT) *$(SHAREDLIBEXT) *$(PPLEXT)
 	-$(DELTREE) *$(SMARTEXT)
 	-$(DEL) $(FPCMADE) Package.fpc $(PPAS) script.res link.res $(FPCEXTFILE) $(REDIRFILE)
+	-$(DEL) *_ppas$(BATCHEXT)
 ifdef AOUTEXT
 	-$(DEL) *$(AOUTEXT)
 endif
+ifdef DEBUGSYMEXT
+	-$(DEL) *$(DEBUGSYMEXT)
+endif
 .PHONY: fpc_baseinfo
 override INFORULES+=fpc_baseinfo
 fpc_baseinfo:

+ 113 - 71
fcl/net/tests/Makefile

@@ -1,15 +1,24 @@
 #
-# Don't edit, this file is generated by FPCMake Version 1.1 [2004/02/22]
+# Don't edit, this file is generated by FPCMake Version 1.1 [2004/04/21]
 #
 default: all
 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:=$(subst \,/,$(PATH))
+ifneq ($(findstring darwin,$(OSTYPE)),)
+inUnix=1 #darwin
+SEARCHPATH:=$(filter-out .,$(subst :, ,$(PATH)))
+else
 ifeq ($(findstring ;,$(PATH)),)
 inUnix=1
 SEARCHPATH:=$(filter-out .,$(subst :, ,$(PATH)))
 else
 SEARCHPATH:=$(subst ;, ,$(PATH))
 endif
+endif
 SEARCHPATH+=$(patsubst %/,%,$(subst \,/,$(dir $(MAKE))))
 PWD:=$(strip $(wildcard $(addsuffix /pwd.exe,$(SEARCHPATH))))
 ifeq ($(PWD),)
@@ -37,22 +46,13 @@ ifneq ($(findstring cygdrive,$(PATH)),)
 inCygWin=1
 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
-BATCHEXT=.sh
+SRCBATCHEXT=.sh
 else
 ifdef inOS2
-BATCHEXT=.cmd
+SRCBATCHEXT=.cmd
 else
-BATCHEXT=.bat
+SRCBATCHEXT=.bat
 endif
 endif
 ifdef inUnix
@@ -155,6 +155,12 @@ ifeq ($(findstring $(OS_TARGET),$(MAKEFILETARGETS)),)
 $(error The Makefile doesn't support target $(OS_TARGET), please run fpcmake first)
 endif
 endif
+ifneq ($(findstring $(OS_TARGET),$(BSDs)),)
+BSDhier=1
+endif
+ifeq ($(OS_TARGET),linux)
+linuxHier=1
+endif
 export OS_TARGET OS_SOURCE CPU_TARGET CPU_SOURCE FULL_TARGET FULL_SOURCE CROSSCOMPILE
 ifdef FPCDIR
 override FPCDIR:=$(subst \,/,$(FPCDIR))
@@ -218,42 +224,12 @@ 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
-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
 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
 ifndef INSTALL_PREFIX
@@ -262,7 +238,7 @@ INSTALL_PREFIX=$(PREFIX)
 endif
 endif
 ifndef INSTALL_PREFIX
-ifdef UNIXINSTALLDIR
+ifdef UNIXHier
 INSTALL_PREFIX=/usr/local
 else
 ifdef INSTALL_FPCPACKAGE
@@ -281,7 +257,7 @@ DIST_DESTDIR:=$(BASEDIR)
 endif
 export DIST_DESTDIR
 ifndef INSTALL_BASEDIR
-ifdef UNIXINSTALLDIR
+ifdef UNIXHier
 ifdef INSTALL_FPCPACKAGE
 INSTALL_BASEDIR:=$(INSTALL_PREFIX)/lib/fpc/$(FPC_VERSION)
 else
@@ -292,7 +268,7 @@ INSTALL_BASEDIR:=$(INSTALL_PREFIX)
 endif
 endif
 ifndef INSTALL_BINDIR
-ifdef UNIXINSTALLDIR
+ifdef UNIXHier
 ifdef CROSSCOMPILE
 INSTALL_BINDIR:=$(INSTALL_BASEDIR)/cross/$(FULL_TARGET)/bin
 else
@@ -322,19 +298,23 @@ endif
 endif
 endif
 ifndef INSTALL_LIBDIR
-ifdef UNIXINSTALLDIR
+ifdef UNIXHier
 INSTALL_LIBDIR:=$(INSTALL_PREFIX)/lib
 else
 INSTALL_LIBDIR:=$(INSTALL_UNITDIR)
 endif
 endif
 ifndef INSTALL_SOURCEDIR
-ifdef UNIXINSTALLDIR
+ifdef UNIXHier
 ifdef BSDhier
 SRCPREFIXDIR=share/src
 else
+ifdef linuxHier
+SRCPREFIXDIR=share/src
+else
 SRCPREFIXDIR=src
 endif
+endif
 ifdef INSTALL_FPCPACKAGE
 ifdef INSTALL_FPCSUBDIR
 INSTALL_SOURCEDIR:=$(INSTALL_PREFIX)/$(SRCPREFIXDIR)/fpc-$(FPC_VERSION)/$(INSTALL_FPCSUBDIR)/$(PACKAGE_NAME)
@@ -357,12 +337,16 @@ endif
 endif
 endif
 ifndef INSTALL_DOCDIR
-ifdef UNIXINSTALLDIR
+ifdef UNIXHier
 ifdef BSDhier
 DOCPREFIXDIR=share/doc
 else
+ifdef linuxHier
+DOCPREFIXDIR=share/doc
+else
 DOCPREFIXDIR=doc
 endif
+endif
 ifdef INSTALL_FPCPACKAGE
 INSTALL_DOCDIR:=$(INSTALL_PREFIX)/$(DOCPREFIXDIR)/fpc-$(FPC_VERSION)/$(PACKAGE_NAME)
 else
@@ -377,20 +361,28 @@ endif
 endif
 endif
 ifndef INSTALL_EXAMPLEDIR
-ifdef UNIXINSTALLDIR
+ifdef UNIXHier
 ifdef INSTALL_FPCPACKAGE
 ifdef BSDhier
 INSTALL_EXAMPLEDIR:=$(INSTALL_PREFIX)/share/examples/fpc-$(FPC_VERSION)/$(PACKAGE_NAME)
 else
+ifdef linuxHier
+INSTALL_EXAMPLEDIR:=$(INSTALL_DOCDIR)/examples/fpc-$(FPC_VERSION)/$(PACKAGE_NAME)
+else
 INSTALL_EXAMPLEDIR:=$(INSTALL_PREFIX)/doc/fpc-$(FPC_VERSION)/examples/$(PACKAGE_NAME)
 endif
+endif
 else
 ifdef BSDhier
 INSTALL_EXAMPLEDIR:=$(INSTALL_PREFIX)/share/examples/$(PACKAGE_NAME)-$(PACKAGE_VERSION)
 else
+ifdef linuxHier
+INSTALL_EXAMPLEDIR:=$(INSTALL_DOCDIR)/examples/$(PACKAGE_NAME)-$(PACKAGE_VERSION)
+else
 INSTALL_EXAMPLEDIR:=$(INSTALL_PREFIX)/doc/$(PACKAGE_NAME)-$(PACKAGE_VERSION)
 endif
 endif
+endif
 else
 ifdef INSTALL_FPCPACKAGE
 INSTALL_EXAMPLEDIR:=$(INSTALL_BASEDIR)/examples/$(PACKAGE_NAME)
@@ -414,7 +406,19 @@ CROSSBINDIR=
 endif
 ifeq ($(OS_SOURCE),linux)
 ifndef GCCLIBDIR
-GCCLIBDIR:=$(shell dirname `gcc -print-libgcc-file-name`)
+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
 ifndef OTHERLIBDIR
 OTHERLIBDIR:=$(shell grep -v "^\#" /etc/ld.so.conf | awk '{ ORS=" "; print $1 }')
@@ -426,6 +430,7 @@ OTHERLIBDIR+=/usr/pkg/lib
 endif
 export GCCLIBDIR OTHERLIB
 endif
+BATCHEXT=.bat
 LOADEREXT=.as
 EXEEXT=.exe
 PPLEXT=.ppl
@@ -458,24 +463,28 @@ ASMEXT=.asm
 SHAREDLIBEXT=.dll
 endif
 ifeq ($(OS_TARGET),linux)
+BATCHEXT=.sh
 EXEEXT=
 HASSHAREDLIB=1
 FPCMADE=fpcmade.lnx
 ZIPSUFFIX=linux
 endif
 ifeq ($(OS_TARGET),freebsd)
+BATCHEXT=.sh
 EXEEXT=
 HASSHAREDLIB=1
 FPCMADE=fpcmade.freebsd
 ZIPSUFFIX=freebsd
 endif
 ifeq ($(OS_TARGET),netbsd)
+BATCHEXT=.sh
 EXEEXT=
 HASSHAREDLIB=1
 FPCMADE=fpcmade.netbsd
 ZIPSUFFIX=netbsd
 endif
 ifeq ($(OS_TARGET),openbsd)
+BATCHEXT=.sh
 EXEEXT=
 HASSHAREDLIB=1
 FPCMADE=fpcmade.openbsd
@@ -487,6 +496,7 @@ FPCMADE=fpcmade.w32
 ZIPSUFFIX=w32
 endif
 ifeq ($(OS_TARGET),os2)
+BATCHEXT=.cmd
 AOUTEXT=.out
 STATICLIBPREFIX=
 SHAREDLIBEXT=.dll
@@ -495,6 +505,7 @@ ZIPSUFFIX=os2
 ECHO=echo
 endif
 ifeq ($(OS_TARGET),emx)
+BATCHEXT=.cmd
 AOUTEXT=.out
 STATICLIBPREFIX=
 SHAREDLIBEXT=.dll
@@ -512,16 +523,19 @@ EXEEXT=.ttp
 FPCMADE=fpcmade.ata
 endif
 ifeq ($(OS_TARGET),beos)
+BATCHEXT=.sh
 EXEEXT=
 FPCMADE=fpcmade.be
 ZIPSUFFIX=be
 endif
 ifeq ($(OS_TARGET),sunos)
+BATCHEXT=.sh
 EXEEXT=
 FPCMADE=fpcmade.sun
 ZIPSUFFIX=sun
 endif
 ifeq ($(OS_TARGET),qnx)
+BATCHEXT=.sh
 EXEEXT=
 FPCMADE=fpcmade.qnx
 ZIPSUFFIX=qnx
@@ -533,10 +547,14 @@ FPCMADE=fpcmade.nw
 ZIPSUFFIX=nw
 endif
 ifeq ($(OS_TARGET),macos)
+BATCHEXT=
 EXEEXT=
-FPCMADE=fpcmade.mcc
+FPCMADE=fpcmade.macos
+ZIPSUFFIX=macos
+DEBUGSYMEXT=.xcoff
 endif
 ifeq ($(OS_TARGET),darwin)
+BATCHEXT=.sh
 EXEEXT=
 HASSHAREDLIB=1
 FPCMADE=fpcmade.darwin
@@ -565,24 +583,28 @@ FPCMADE=fpcmade.dos
 ZIPSUFFIX=watcom
 endif
 ifeq ($(OS_TARGET),linux)
+BATCHEXT=.sh
 EXEEXT=
 HASSHAREDLIB=1
 FPCMADE=fpcmade.lnx
 ZIPSUFFIX=linux
 endif
 ifeq ($(OS_TARGET),freebsd)
+BATCHEXT=.sh
 EXEEXT=
 HASSHAREDLIB=1
 FPCMADE=fpcmade.freebsd
 ZIPSUFFIX=freebsd
 endif
 ifeq ($(OS_TARGET),netbsd)
+BATCHEXT=.sh
 EXEEXT=
 HASSHAREDLIB=1
 FPCMADE=fpcmade.netbsd
 ZIPSUFFIX=netbsd
 endif
 ifeq ($(OS_TARGET),openbsd)
+BATCHEXT=.sh
 EXEEXT=
 HASSHAREDLIB=1
 FPCMADE=fpcmade.openbsd
@@ -599,6 +621,7 @@ FPCMADE=fpcmade.w32
 ZIPSUFFIX=w32
 endif
 ifeq ($(OS_TARGET),os2)
+BATCHEXT=.cmd
 PPUEXT=.ppo
 ASMEXT=.so2
 OEXT=.oo2
@@ -631,6 +654,7 @@ EXEEXT=.ttp
 FPCMADE=fpcmade.ata
 endif
 ifeq ($(OS_TARGET),beos)
+BATCHEXT=.sh
 PPUEXT=.ppu
 ASMEXT=.s
 OEXT=.o
@@ -641,6 +665,7 @@ FPCMADE=fpcmade.be
 ZIPSUFFIX=be
 endif
 ifeq ($(OS_TARGET),sunos)
+BATCHEXT=.sh
 PPUEXT=.ppu
 ASMEXT=.s
 OEXT=.o
@@ -651,6 +676,7 @@ FPCMADE=fpcmade.sun
 ZIPSUFFIX=sun
 endif
 ifeq ($(OS_TARGET),qnx)
+BATCHEXT=.sh
 PPUEXT=.ppu
 ASMEXT=.s
 OEXT=.o
@@ -673,13 +699,15 @@ ZIPSUFFIX=nw
 EXEEXT=.nlm
 endif
 ifeq ($(OS_TARGET),macos)
+BATCHEXT=
 PPUEXT=.ppu
 ASMEXT=.s
 OEXT=.o
 SMARTEXT=.sl
 STATICLIBEXT=.a
 EXEEXT=
-FPCMADE=fpcmade.mcc
+DEBUGSYMEXT=.xcoff
+FPCMADE=fpcmade.macos
 endif
 endif
 ifndef ECHO
@@ -687,7 +715,7 @@ ECHO:=$(strip $(wildcard $(addsuffix /gecho$(SRCEXEEXT),$(SEARCHPATH))))
 ifeq ($(ECHO),)
 ECHO:=$(strip $(wildcard $(addsuffix /echo$(SRCEXEEXT),$(SEARCHPATH))))
 ifeq ($(ECHO),)
-ECHO=
+ECHO= __missing_command__
 else
 ECHO:=$(firstword $(ECHO))
 endif
@@ -701,7 +729,7 @@ DATE:=$(strip $(wildcard $(addsuffix /gdate$(SRCEXEEXT),$(SEARCHPATH))))
 ifeq ($(DATE),)
 DATE:=$(strip $(wildcard $(addsuffix /date$(SRCEXEEXT),$(SEARCHPATH))))
 ifeq ($(DATE),)
-DATE=
+DATE= __missing_command__
 else
 DATE:=$(firstword $(DATE))
 endif
@@ -715,7 +743,7 @@ GINSTALL:=$(strip $(wildcard $(addsuffix /ginstall$(SRCEXEEXT),$(SEARCHPATH))))
 ifeq ($(GINSTALL),)
 GINSTALL:=$(strip $(wildcard $(addsuffix /install$(SRCEXEEXT),$(SEARCHPATH))))
 ifeq ($(GINSTALL),)
-GINSTALL=
+GINSTALL= __missing_command__
 else
 GINSTALL:=$(firstword $(GINSTALL))
 endif
@@ -727,7 +755,7 @@ export GINSTALL
 ifndef CPPROG
 CPPROG:=$(strip $(wildcard $(addsuffix /cp$(SRCEXEEXT),$(SEARCHPATH))))
 ifeq ($(CPPROG),)
-CPPROG=
+CPPROG= __missing_command__
 else
 CPPROG:=$(firstword $(CPPROG))
 endif
@@ -736,7 +764,7 @@ export CPPROG
 ifndef RMPROG
 RMPROG:=$(strip $(wildcard $(addsuffix /rm$(SRCEXEEXT),$(SEARCHPATH))))
 ifeq ($(RMPROG),)
-RMPROG=
+RMPROG= __missing_command__
 else
 RMPROG:=$(firstword $(RMPROG))
 endif
@@ -745,7 +773,7 @@ export RMPROG
 ifndef MVPROG
 MVPROG:=$(strip $(wildcard $(addsuffix /mv$(SRCEXEEXT),$(SEARCHPATH))))
 ifeq ($(MVPROG),)
-MVPROG=
+MVPROG= __missing_command__
 else
 MVPROG:=$(firstword $(MVPROG))
 endif
@@ -794,7 +822,7 @@ export ECHOREDIR COPY COPYTREE MOVE DEL DELTREE INSTALL INSTALLEXE MKDIR
 ifndef PPUMOVE
 PPUMOVE:=$(strip $(wildcard $(addsuffix /ppumove$(SRCEXEEXT),$(SEARCHPATH))))
 ifeq ($(PPUMOVE),)
-PPUMOVE=
+PPUMOVE= __missing_command__
 else
 PPUMOVE:=$(firstword $(PPUMOVE))
 endif
@@ -803,7 +831,7 @@ export PPUMOVE
 ifndef FPCMAKE
 FPCMAKE:=$(strip $(wildcard $(addsuffix /fpcmake$(SRCEXEEXT),$(SEARCHPATH))))
 ifeq ($(FPCMAKE),)
-FPCMAKE=
+FPCMAKE= __missing_command__
 else
 FPCMAKE:=$(firstword $(FPCMAKE))
 endif
@@ -812,7 +840,7 @@ export FPCMAKE
 ifndef ZIPPROG
 ZIPPROG:=$(strip $(wildcard $(addsuffix /zip$(SRCEXEEXT),$(SEARCHPATH))))
 ifeq ($(ZIPPROG),)
-ZIPPROG=
+ZIPPROG= __missing_command__
 else
 ZIPPROG:=$(firstword $(ZIPPROG))
 endif
@@ -821,7 +849,7 @@ export ZIPPROG
 ifndef TARPROG
 TARPROG:=$(strip $(wildcard $(addsuffix /tar$(SRCEXEEXT),$(SEARCHPATH))))
 ifeq ($(TARPROG),)
-TARPROG=
+TARPROG= __missing_command__
 else
 TARPROG:=$(firstword $(TARPROG))
 endif
@@ -833,9 +861,11 @@ ARNAME=$(BINUTILSPREFIX)ar
 RCNAME=$(BINUTILSPREFIX)rc
 ifneq ($(findstring 1.0.,$(FPC_VERSION)),)
 ifeq ($(OS_TARGET),win32)
-ASNAME=as
-LDNAME=ld
-ARNAME=ar
+ifeq ($(CROSSBINDIR),)
+ASNAME=asw
+LDNAME=ldw
+ARNAME=arw
+endif
 endif
 endif
 ifndef ASPROG
@@ -870,7 +900,7 @@ AS=$(ASPROG)
 LD=$(LDPROG)
 RC=$(RCPROG)
 AR=$(ARPROG)
-PPAS=ppas$(BATCHEXT)
+PPAS=ppas$(SRCBATCHEXT)
 ifdef inUnix
 LDCONFIG=ldconfig
 else
@@ -1570,8 +1600,12 @@ ifdef RELEASE
 ifeq ($(CPU_TARGET),i386)
 FPCCPUOPT:=-OG2p3
 else
+ifeq ($(CPU_TARGET),powerpc)
+FPCCPUOPT:=-O1
+else
 FPCCPUOPT:=
 endif
+endif
 override FPCOPT+=-Xs $(FPCCPUOPT) -n
 override FPCOPTDEF+=RELEASE
 endif
@@ -1793,6 +1827,9 @@ override CLEANPPUFILES+=$(addsuffix $(PPUEXT),$(CLEAN_UNITS))
 endif
 ifdef 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 CLEANPPULINKFILES:=$(wildcard $(addprefix $(UNITTARGETDIRPREFIX),$(CLEANPPULINKFILES)))
 endif
@@ -1816,6 +1853,7 @@ ifdef LIB_NAME
 	-$(DEL) $(LIB_NAME) $(LIB_FULLNAME)
 endif
 	-$(DEL) $(FPCMADE) Package.fpc $(PPAS) script.res link.res $(FPCEXTFILE) $(REDIRFILE)
+	-$(DEL) *$(ASMEXT) *_ppas$(BATCHEXT)
 fpc_distclean: clean
 ifdef COMPILER_UNITTARGETDIR
 TARGETDIRCLEAN=fpc_clean
@@ -1827,9 +1865,13 @@ endif
 	-$(DEL) *$(OEXT) *$(PPUEXT) *$(RSTEXT) *$(ASMEXT) *$(STATICLIBEXT) *$(SHAREDLIBEXT) *$(PPLEXT)
 	-$(DELTREE) *$(SMARTEXT)
 	-$(DEL) $(FPCMADE) Package.fpc $(PPAS) script.res link.res $(FPCEXTFILE) $(REDIRFILE)
+	-$(DEL) *_ppas$(BATCHEXT)
 ifdef AOUTEXT
 	-$(DEL) *$(AOUTEXT)
 endif
+ifdef DEBUGSYMEXT
+	-$(DEL) *$(DEBUGSYMEXT)
+endif
 .PHONY: fpc_baseinfo
 override INFORULES+=fpc_baseinfo
 fpc_baseinfo:

+ 100 - 70
fcl/passrc/Makefile

@@ -1,15 +1,24 @@
 #
-# Don't edit, this file is generated by FPCMake Version 1.1 [2004/02/22]
+# Don't edit, this file is generated by FPCMake Version 1.1 [2004/04/21]
 #
 default: all
 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:=$(subst \,/,$(PATH))
+ifneq ($(findstring darwin,$(OSTYPE)),)
+inUnix=1 #darwin
+SEARCHPATH:=$(filter-out .,$(subst :, ,$(PATH)))
+else
 ifeq ($(findstring ;,$(PATH)),)
 inUnix=1
 SEARCHPATH:=$(filter-out .,$(subst :, ,$(PATH)))
 else
 SEARCHPATH:=$(subst ;, ,$(PATH))
 endif
+endif
 SEARCHPATH+=$(patsubst %/,%,$(subst \,/,$(dir $(MAKE))))
 PWD:=$(strip $(wildcard $(addsuffix /pwd.exe,$(SEARCHPATH))))
 ifeq ($(PWD),)
@@ -37,22 +46,13 @@ ifneq ($(findstring cygdrive,$(PATH)),)
 inCygWin=1
 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
-BATCHEXT=.sh
+SRCBATCHEXT=.sh
 else
 ifdef inOS2
-BATCHEXT=.cmd
+SRCBATCHEXT=.cmd
 else
-BATCHEXT=.bat
+SRCBATCHEXT=.bat
 endif
 endif
 ifdef inUnix
@@ -155,6 +155,12 @@ ifeq ($(findstring $(OS_TARGET),$(MAKEFILETARGETS)),)
 $(error The Makefile doesn't support target $(OS_TARGET), please run fpcmake first)
 endif
 endif
+ifneq ($(findstring $(OS_TARGET),$(BSDs)),)
+BSDhier=1
+endif
+ifeq ($(OS_TARGET),linux)
+linuxHier=1
+endif
 export OS_TARGET OS_SOURCE CPU_TARGET CPU_SOURCE FULL_TARGET FULL_SOURCE CROSSCOMPILE
 ifdef FPCDIR
 override FPCDIR:=$(subst \,/,$(FPCDIR))
@@ -220,42 +226,12 @@ 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
-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
 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
 ifndef INSTALL_PREFIX
@@ -264,7 +240,7 @@ INSTALL_PREFIX=$(PREFIX)
 endif
 endif
 ifndef INSTALL_PREFIX
-ifdef UNIXINSTALLDIR
+ifdef UNIXHier
 INSTALL_PREFIX=/usr/local
 else
 ifdef INSTALL_FPCPACKAGE
@@ -283,7 +259,7 @@ DIST_DESTDIR:=$(BASEDIR)
 endif
 export DIST_DESTDIR
 ifndef INSTALL_BASEDIR
-ifdef UNIXINSTALLDIR
+ifdef UNIXHier
 ifdef INSTALL_FPCPACKAGE
 INSTALL_BASEDIR:=$(INSTALL_PREFIX)/lib/fpc/$(FPC_VERSION)
 else
@@ -294,7 +270,7 @@ INSTALL_BASEDIR:=$(INSTALL_PREFIX)
 endif
 endif
 ifndef INSTALL_BINDIR
-ifdef UNIXINSTALLDIR
+ifdef UNIXHier
 ifdef CROSSCOMPILE
 INSTALL_BINDIR:=$(INSTALL_BASEDIR)/cross/$(FULL_TARGET)/bin
 else
@@ -324,19 +300,23 @@ endif
 endif
 endif
 ifndef INSTALL_LIBDIR
-ifdef UNIXINSTALLDIR
+ifdef UNIXHier
 INSTALL_LIBDIR:=$(INSTALL_PREFIX)/lib
 else
 INSTALL_LIBDIR:=$(INSTALL_UNITDIR)
 endif
 endif
 ifndef INSTALL_SOURCEDIR
-ifdef UNIXINSTALLDIR
+ifdef UNIXHier
 ifdef BSDhier
 SRCPREFIXDIR=share/src
 else
+ifdef linuxHier
+SRCPREFIXDIR=share/src
+else
 SRCPREFIXDIR=src
 endif
+endif
 ifdef INSTALL_FPCPACKAGE
 ifdef INSTALL_FPCSUBDIR
 INSTALL_SOURCEDIR:=$(INSTALL_PREFIX)/$(SRCPREFIXDIR)/fpc-$(FPC_VERSION)/$(INSTALL_FPCSUBDIR)/$(PACKAGE_NAME)
@@ -359,12 +339,16 @@ endif
 endif
 endif
 ifndef INSTALL_DOCDIR
-ifdef UNIXINSTALLDIR
+ifdef UNIXHier
 ifdef BSDhier
 DOCPREFIXDIR=share/doc
 else
+ifdef linuxHier
+DOCPREFIXDIR=share/doc
+else
 DOCPREFIXDIR=doc
 endif
+endif
 ifdef INSTALL_FPCPACKAGE
 INSTALL_DOCDIR:=$(INSTALL_PREFIX)/$(DOCPREFIXDIR)/fpc-$(FPC_VERSION)/$(PACKAGE_NAME)
 else
@@ -379,20 +363,28 @@ endif
 endif
 endif
 ifndef INSTALL_EXAMPLEDIR
-ifdef UNIXINSTALLDIR
+ifdef UNIXHier
 ifdef INSTALL_FPCPACKAGE
 ifdef BSDhier
 INSTALL_EXAMPLEDIR:=$(INSTALL_PREFIX)/share/examples/fpc-$(FPC_VERSION)/$(PACKAGE_NAME)
 else
+ifdef linuxHier
+INSTALL_EXAMPLEDIR:=$(INSTALL_DOCDIR)/examples/fpc-$(FPC_VERSION)/$(PACKAGE_NAME)
+else
 INSTALL_EXAMPLEDIR:=$(INSTALL_PREFIX)/doc/fpc-$(FPC_VERSION)/examples/$(PACKAGE_NAME)
 endif
+endif
 else
 ifdef BSDhier
 INSTALL_EXAMPLEDIR:=$(INSTALL_PREFIX)/share/examples/$(PACKAGE_NAME)-$(PACKAGE_VERSION)
 else
+ifdef linuxHier
+INSTALL_EXAMPLEDIR:=$(INSTALL_DOCDIR)/examples/$(PACKAGE_NAME)-$(PACKAGE_VERSION)
+else
 INSTALL_EXAMPLEDIR:=$(INSTALL_PREFIX)/doc/$(PACKAGE_NAME)-$(PACKAGE_VERSION)
 endif
 endif
+endif
 else
 ifdef INSTALL_FPCPACKAGE
 INSTALL_EXAMPLEDIR:=$(INSTALL_BASEDIR)/examples/$(PACKAGE_NAME)
@@ -414,6 +406,7 @@ endif
 else
 CROSSBINDIR=
 endif
+BATCHEXT=.bat
 LOADEREXT=.as
 EXEEXT=.exe
 PPLEXT=.ppl
@@ -446,24 +439,28 @@ ASMEXT=.asm
 SHAREDLIBEXT=.dll
 endif
 ifeq ($(OS_TARGET),linux)
+BATCHEXT=.sh
 EXEEXT=
 HASSHAREDLIB=1
 FPCMADE=fpcmade.lnx
 ZIPSUFFIX=linux
 endif
 ifeq ($(OS_TARGET),freebsd)
+BATCHEXT=.sh
 EXEEXT=
 HASSHAREDLIB=1
 FPCMADE=fpcmade.freebsd
 ZIPSUFFIX=freebsd
 endif
 ifeq ($(OS_TARGET),netbsd)
+BATCHEXT=.sh
 EXEEXT=
 HASSHAREDLIB=1
 FPCMADE=fpcmade.netbsd
 ZIPSUFFIX=netbsd
 endif
 ifeq ($(OS_TARGET),openbsd)
+BATCHEXT=.sh
 EXEEXT=
 HASSHAREDLIB=1
 FPCMADE=fpcmade.openbsd
@@ -475,6 +472,7 @@ FPCMADE=fpcmade.w32
 ZIPSUFFIX=w32
 endif
 ifeq ($(OS_TARGET),os2)
+BATCHEXT=.cmd
 AOUTEXT=.out
 STATICLIBPREFIX=
 SHAREDLIBEXT=.dll
@@ -483,6 +481,7 @@ ZIPSUFFIX=os2
 ECHO=echo
 endif
 ifeq ($(OS_TARGET),emx)
+BATCHEXT=.cmd
 AOUTEXT=.out
 STATICLIBPREFIX=
 SHAREDLIBEXT=.dll
@@ -500,16 +499,19 @@ EXEEXT=.ttp
 FPCMADE=fpcmade.ata
 endif
 ifeq ($(OS_TARGET),beos)
+BATCHEXT=.sh
 EXEEXT=
 FPCMADE=fpcmade.be
 ZIPSUFFIX=be
 endif
 ifeq ($(OS_TARGET),sunos)
+BATCHEXT=.sh
 EXEEXT=
 FPCMADE=fpcmade.sun
 ZIPSUFFIX=sun
 endif
 ifeq ($(OS_TARGET),qnx)
+BATCHEXT=.sh
 EXEEXT=
 FPCMADE=fpcmade.qnx
 ZIPSUFFIX=qnx
@@ -521,10 +523,14 @@ FPCMADE=fpcmade.nw
 ZIPSUFFIX=nw
 endif
 ifeq ($(OS_TARGET),macos)
+BATCHEXT=
 EXEEXT=
-FPCMADE=fpcmade.mcc
+FPCMADE=fpcmade.macos
+ZIPSUFFIX=macos
+DEBUGSYMEXT=.xcoff
 endif
 ifeq ($(OS_TARGET),darwin)
+BATCHEXT=.sh
 EXEEXT=
 HASSHAREDLIB=1
 FPCMADE=fpcmade.darwin
@@ -553,24 +559,28 @@ FPCMADE=fpcmade.dos
 ZIPSUFFIX=watcom
 endif
 ifeq ($(OS_TARGET),linux)
+BATCHEXT=.sh
 EXEEXT=
 HASSHAREDLIB=1
 FPCMADE=fpcmade.lnx
 ZIPSUFFIX=linux
 endif
 ifeq ($(OS_TARGET),freebsd)
+BATCHEXT=.sh
 EXEEXT=
 HASSHAREDLIB=1
 FPCMADE=fpcmade.freebsd
 ZIPSUFFIX=freebsd
 endif
 ifeq ($(OS_TARGET),netbsd)
+BATCHEXT=.sh
 EXEEXT=
 HASSHAREDLIB=1
 FPCMADE=fpcmade.netbsd
 ZIPSUFFIX=netbsd
 endif
 ifeq ($(OS_TARGET),openbsd)
+BATCHEXT=.sh
 EXEEXT=
 HASSHAREDLIB=1
 FPCMADE=fpcmade.openbsd
@@ -587,6 +597,7 @@ FPCMADE=fpcmade.w32
 ZIPSUFFIX=w32
 endif
 ifeq ($(OS_TARGET),os2)
+BATCHEXT=.cmd
 PPUEXT=.ppo
 ASMEXT=.so2
 OEXT=.oo2
@@ -619,6 +630,7 @@ EXEEXT=.ttp
 FPCMADE=fpcmade.ata
 endif
 ifeq ($(OS_TARGET),beos)
+BATCHEXT=.sh
 PPUEXT=.ppu
 ASMEXT=.s
 OEXT=.o
@@ -629,6 +641,7 @@ FPCMADE=fpcmade.be
 ZIPSUFFIX=be
 endif
 ifeq ($(OS_TARGET),sunos)
+BATCHEXT=.sh
 PPUEXT=.ppu
 ASMEXT=.s
 OEXT=.o
@@ -639,6 +652,7 @@ FPCMADE=fpcmade.sun
 ZIPSUFFIX=sun
 endif
 ifeq ($(OS_TARGET),qnx)
+BATCHEXT=.sh
 PPUEXT=.ppu
 ASMEXT=.s
 OEXT=.o
@@ -661,13 +675,15 @@ ZIPSUFFIX=nw
 EXEEXT=.nlm
 endif
 ifeq ($(OS_TARGET),macos)
+BATCHEXT=
 PPUEXT=.ppu
 ASMEXT=.s
 OEXT=.o
 SMARTEXT=.sl
 STATICLIBEXT=.a
 EXEEXT=
-FPCMADE=fpcmade.mcc
+DEBUGSYMEXT=.xcoff
+FPCMADE=fpcmade.macos
 endif
 endif
 ifndef ECHO
@@ -675,7 +691,7 @@ ECHO:=$(strip $(wildcard $(addsuffix /gecho$(SRCEXEEXT),$(SEARCHPATH))))
 ifeq ($(ECHO),)
 ECHO:=$(strip $(wildcard $(addsuffix /echo$(SRCEXEEXT),$(SEARCHPATH))))
 ifeq ($(ECHO),)
-ECHO=
+ECHO= __missing_command__
 else
 ECHO:=$(firstword $(ECHO))
 endif
@@ -689,7 +705,7 @@ DATE:=$(strip $(wildcard $(addsuffix /gdate$(SRCEXEEXT),$(SEARCHPATH))))
 ifeq ($(DATE),)
 DATE:=$(strip $(wildcard $(addsuffix /date$(SRCEXEEXT),$(SEARCHPATH))))
 ifeq ($(DATE),)
-DATE=
+DATE= __missing_command__
 else
 DATE:=$(firstword $(DATE))
 endif
@@ -703,7 +719,7 @@ GINSTALL:=$(strip $(wildcard $(addsuffix /ginstall$(SRCEXEEXT),$(SEARCHPATH))))
 ifeq ($(GINSTALL),)
 GINSTALL:=$(strip $(wildcard $(addsuffix /install$(SRCEXEEXT),$(SEARCHPATH))))
 ifeq ($(GINSTALL),)
-GINSTALL=
+GINSTALL= __missing_command__
 else
 GINSTALL:=$(firstword $(GINSTALL))
 endif
@@ -715,7 +731,7 @@ export GINSTALL
 ifndef CPPROG
 CPPROG:=$(strip $(wildcard $(addsuffix /cp$(SRCEXEEXT),$(SEARCHPATH))))
 ifeq ($(CPPROG),)
-CPPROG=
+CPPROG= __missing_command__
 else
 CPPROG:=$(firstword $(CPPROG))
 endif
@@ -724,7 +740,7 @@ export CPPROG
 ifndef RMPROG
 RMPROG:=$(strip $(wildcard $(addsuffix /rm$(SRCEXEEXT),$(SEARCHPATH))))
 ifeq ($(RMPROG),)
-RMPROG=
+RMPROG= __missing_command__
 else
 RMPROG:=$(firstword $(RMPROG))
 endif
@@ -733,7 +749,7 @@ export RMPROG
 ifndef MVPROG
 MVPROG:=$(strip $(wildcard $(addsuffix /mv$(SRCEXEEXT),$(SEARCHPATH))))
 ifeq ($(MVPROG),)
-MVPROG=
+MVPROG= __missing_command__
 else
 MVPROG:=$(firstword $(MVPROG))
 endif
@@ -782,7 +798,7 @@ export ECHOREDIR COPY COPYTREE MOVE DEL DELTREE INSTALL INSTALLEXE MKDIR
 ifndef PPUMOVE
 PPUMOVE:=$(strip $(wildcard $(addsuffix /ppumove$(SRCEXEEXT),$(SEARCHPATH))))
 ifeq ($(PPUMOVE),)
-PPUMOVE=
+PPUMOVE= __missing_command__
 else
 PPUMOVE:=$(firstword $(PPUMOVE))
 endif
@@ -791,7 +807,7 @@ export PPUMOVE
 ifndef FPCMAKE
 FPCMAKE:=$(strip $(wildcard $(addsuffix /fpcmake$(SRCEXEEXT),$(SEARCHPATH))))
 ifeq ($(FPCMAKE),)
-FPCMAKE=
+FPCMAKE= __missing_command__
 else
 FPCMAKE:=$(firstword $(FPCMAKE))
 endif
@@ -800,7 +816,7 @@ export FPCMAKE
 ifndef ZIPPROG
 ZIPPROG:=$(strip $(wildcard $(addsuffix /zip$(SRCEXEEXT),$(SEARCHPATH))))
 ifeq ($(ZIPPROG),)
-ZIPPROG=
+ZIPPROG= __missing_command__
 else
 ZIPPROG:=$(firstword $(ZIPPROG))
 endif
@@ -809,7 +825,7 @@ export ZIPPROG
 ifndef TARPROG
 TARPROG:=$(strip $(wildcard $(addsuffix /tar$(SRCEXEEXT),$(SEARCHPATH))))
 ifeq ($(TARPROG),)
-TARPROG=
+TARPROG= __missing_command__
 else
 TARPROG:=$(firstword $(TARPROG))
 endif
@@ -821,9 +837,11 @@ ARNAME=$(BINUTILSPREFIX)ar
 RCNAME=$(BINUTILSPREFIX)rc
 ifneq ($(findstring 1.0.,$(FPC_VERSION)),)
 ifeq ($(OS_TARGET),win32)
-ASNAME=as
-LDNAME=ld
-ARNAME=ar
+ifeq ($(CROSSBINDIR),)
+ASNAME=asw
+LDNAME=ldw
+ARNAME=arw
+endif
 endif
 endif
 ifndef ASPROG
@@ -858,7 +876,7 @@ AS=$(ASPROG)
 LD=$(LDPROG)
 RC=$(RCPROG)
 AR=$(ARPROG)
-PPAS=ppas$(BATCHEXT)
+PPAS=ppas$(SRCBATCHEXT)
 ifdef inUnix
 LDCONFIG=ldconfig
 else
@@ -1117,8 +1135,12 @@ ifdef RELEASE
 ifeq ($(CPU_TARGET),i386)
 FPCCPUOPT:=-OG2p3
 else
+ifeq ($(CPU_TARGET),powerpc)
+FPCCPUOPT:=-O1
+else
 FPCCPUOPT:=
 endif
+endif
 override FPCOPT+=-Xs $(FPCCPUOPT) -n
 override FPCOPTDEF+=RELEASE
 endif
@@ -1319,6 +1341,9 @@ override CLEANPPUFILES+=$(addsuffix $(PPUEXT),$(CLEAN_UNITS))
 endif
 ifdef 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 CLEANPPULINKFILES:=$(wildcard $(addprefix $(UNITTARGETDIRPREFIX),$(CLEANPPULINKFILES)))
 endif
@@ -1342,6 +1367,7 @@ ifdef LIB_NAME
 	-$(DEL) $(LIB_NAME) $(LIB_FULLNAME)
 endif
 	-$(DEL) $(FPCMADE) Package.fpc $(PPAS) script.res link.res $(FPCEXTFILE) $(REDIRFILE)
+	-$(DEL) *$(ASMEXT) *_ppas$(BATCHEXT)
 fpc_distclean: clean
 ifdef COMPILER_UNITTARGETDIR
 TARGETDIRCLEAN=fpc_clean
@@ -1353,9 +1379,13 @@ endif
 	-$(DEL) *$(OEXT) *$(PPUEXT) *$(RSTEXT) *$(ASMEXT) *$(STATICLIBEXT) *$(SHAREDLIBEXT) *$(PPLEXT)
 	-$(DELTREE) *$(SMARTEXT)
 	-$(DEL) $(FPCMADE) Package.fpc $(PPAS) script.res link.res $(FPCEXTFILE) $(REDIRFILE)
+	-$(DEL) *_ppas$(BATCHEXT)
 ifdef AOUTEXT
 	-$(DEL) *$(AOUTEXT)
 endif
+ifdef DEBUGSYMEXT
+	-$(DEL) *$(DEBUGSYMEXT)
+endif
 .PHONY: fpc_baseinfo
 override INFORULES+=fpc_baseinfo
 fpc_baseinfo:

+ 100 - 70
fcl/shedit/Makefile

@@ -1,15 +1,24 @@
 #
-# Don't edit, this file is generated by FPCMake Version 1.1 [2004/02/22]
+# Don't edit, this file is generated by FPCMake Version 1.1 [2004/04/21]
 #
 default: all
 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:=$(subst \,/,$(PATH))
+ifneq ($(findstring darwin,$(OSTYPE)),)
+inUnix=1 #darwin
+SEARCHPATH:=$(filter-out .,$(subst :, ,$(PATH)))
+else
 ifeq ($(findstring ;,$(PATH)),)
 inUnix=1
 SEARCHPATH:=$(filter-out .,$(subst :, ,$(PATH)))
 else
 SEARCHPATH:=$(subst ;, ,$(PATH))
 endif
+endif
 SEARCHPATH+=$(patsubst %/,%,$(subst \,/,$(dir $(MAKE))))
 PWD:=$(strip $(wildcard $(addsuffix /pwd.exe,$(SEARCHPATH))))
 ifeq ($(PWD),)
@@ -37,22 +46,13 @@ ifneq ($(findstring cygdrive,$(PATH)),)
 inCygWin=1
 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
-BATCHEXT=.sh
+SRCBATCHEXT=.sh
 else
 ifdef inOS2
-BATCHEXT=.cmd
+SRCBATCHEXT=.cmd
 else
-BATCHEXT=.bat
+SRCBATCHEXT=.bat
 endif
 endif
 ifdef inUnix
@@ -155,6 +155,12 @@ ifeq ($(findstring $(OS_TARGET),$(MAKEFILETARGETS)),)
 $(error The Makefile doesn't support target $(OS_TARGET), please run fpcmake first)
 endif
 endif
+ifneq ($(findstring $(OS_TARGET),$(BSDs)),)
+BSDhier=1
+endif
+ifeq ($(OS_TARGET),linux)
+linuxHier=1
+endif
 export OS_TARGET OS_SOURCE CPU_TARGET CPU_SOURCE FULL_TARGET FULL_SOURCE CROSSCOMPILE
 ifdef FPCDIR
 override FPCDIR:=$(subst \,/,$(FPCDIR))
@@ -220,42 +226,12 @@ 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
-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
 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
 ifndef INSTALL_PREFIX
@@ -264,7 +240,7 @@ INSTALL_PREFIX=$(PREFIX)
 endif
 endif
 ifndef INSTALL_PREFIX
-ifdef UNIXINSTALLDIR
+ifdef UNIXHier
 INSTALL_PREFIX=/usr/local
 else
 ifdef INSTALL_FPCPACKAGE
@@ -283,7 +259,7 @@ DIST_DESTDIR:=$(BASEDIR)
 endif
 export DIST_DESTDIR
 ifndef INSTALL_BASEDIR
-ifdef UNIXINSTALLDIR
+ifdef UNIXHier
 ifdef INSTALL_FPCPACKAGE
 INSTALL_BASEDIR:=$(INSTALL_PREFIX)/lib/fpc/$(FPC_VERSION)
 else
@@ -294,7 +270,7 @@ INSTALL_BASEDIR:=$(INSTALL_PREFIX)
 endif
 endif
 ifndef INSTALL_BINDIR
-ifdef UNIXINSTALLDIR
+ifdef UNIXHier
 ifdef CROSSCOMPILE
 INSTALL_BINDIR:=$(INSTALL_BASEDIR)/cross/$(FULL_TARGET)/bin
 else
@@ -324,19 +300,23 @@ endif
 endif
 endif
 ifndef INSTALL_LIBDIR
-ifdef UNIXINSTALLDIR
+ifdef UNIXHier
 INSTALL_LIBDIR:=$(INSTALL_PREFIX)/lib
 else
 INSTALL_LIBDIR:=$(INSTALL_UNITDIR)
 endif
 endif
 ifndef INSTALL_SOURCEDIR
-ifdef UNIXINSTALLDIR
+ifdef UNIXHier
 ifdef BSDhier
 SRCPREFIXDIR=share/src
 else
+ifdef linuxHier
+SRCPREFIXDIR=share/src
+else
 SRCPREFIXDIR=src
 endif
+endif
 ifdef INSTALL_FPCPACKAGE
 ifdef INSTALL_FPCSUBDIR
 INSTALL_SOURCEDIR:=$(INSTALL_PREFIX)/$(SRCPREFIXDIR)/fpc-$(FPC_VERSION)/$(INSTALL_FPCSUBDIR)/$(PACKAGE_NAME)
@@ -359,12 +339,16 @@ endif
 endif
 endif
 ifndef INSTALL_DOCDIR
-ifdef UNIXINSTALLDIR
+ifdef UNIXHier
 ifdef BSDhier
 DOCPREFIXDIR=share/doc
 else
+ifdef linuxHier
+DOCPREFIXDIR=share/doc
+else
 DOCPREFIXDIR=doc
 endif
+endif
 ifdef INSTALL_FPCPACKAGE
 INSTALL_DOCDIR:=$(INSTALL_PREFIX)/$(DOCPREFIXDIR)/fpc-$(FPC_VERSION)/$(PACKAGE_NAME)
 else
@@ -379,20 +363,28 @@ endif
 endif
 endif
 ifndef INSTALL_EXAMPLEDIR
-ifdef UNIXINSTALLDIR
+ifdef UNIXHier
 ifdef INSTALL_FPCPACKAGE
 ifdef BSDhier
 INSTALL_EXAMPLEDIR:=$(INSTALL_PREFIX)/share/examples/fpc-$(FPC_VERSION)/$(PACKAGE_NAME)
 else
+ifdef linuxHier
+INSTALL_EXAMPLEDIR:=$(INSTALL_DOCDIR)/examples/fpc-$(FPC_VERSION)/$(PACKAGE_NAME)
+else
 INSTALL_EXAMPLEDIR:=$(INSTALL_PREFIX)/doc/fpc-$(FPC_VERSION)/examples/$(PACKAGE_NAME)
 endif
+endif
 else
 ifdef BSDhier
 INSTALL_EXAMPLEDIR:=$(INSTALL_PREFIX)/share/examples/$(PACKAGE_NAME)-$(PACKAGE_VERSION)
 else
+ifdef linuxHier
+INSTALL_EXAMPLEDIR:=$(INSTALL_DOCDIR)/examples/$(PACKAGE_NAME)-$(PACKAGE_VERSION)
+else
 INSTALL_EXAMPLEDIR:=$(INSTALL_PREFIX)/doc/$(PACKAGE_NAME)-$(PACKAGE_VERSION)
 endif
 endif
+endif
 else
 ifdef INSTALL_FPCPACKAGE
 INSTALL_EXAMPLEDIR:=$(INSTALL_BASEDIR)/examples/$(PACKAGE_NAME)
@@ -414,6 +406,7 @@ endif
 else
 CROSSBINDIR=
 endif
+BATCHEXT=.bat
 LOADEREXT=.as
 EXEEXT=.exe
 PPLEXT=.ppl
@@ -446,24 +439,28 @@ ASMEXT=.asm
 SHAREDLIBEXT=.dll
 endif
 ifeq ($(OS_TARGET),linux)
+BATCHEXT=.sh
 EXEEXT=
 HASSHAREDLIB=1
 FPCMADE=fpcmade.lnx
 ZIPSUFFIX=linux
 endif
 ifeq ($(OS_TARGET),freebsd)
+BATCHEXT=.sh
 EXEEXT=
 HASSHAREDLIB=1
 FPCMADE=fpcmade.freebsd
 ZIPSUFFIX=freebsd
 endif
 ifeq ($(OS_TARGET),netbsd)
+BATCHEXT=.sh
 EXEEXT=
 HASSHAREDLIB=1
 FPCMADE=fpcmade.netbsd
 ZIPSUFFIX=netbsd
 endif
 ifeq ($(OS_TARGET),openbsd)
+BATCHEXT=.sh
 EXEEXT=
 HASSHAREDLIB=1
 FPCMADE=fpcmade.openbsd
@@ -475,6 +472,7 @@ FPCMADE=fpcmade.w32
 ZIPSUFFIX=w32
 endif
 ifeq ($(OS_TARGET),os2)
+BATCHEXT=.cmd
 AOUTEXT=.out
 STATICLIBPREFIX=
 SHAREDLIBEXT=.dll
@@ -483,6 +481,7 @@ ZIPSUFFIX=os2
 ECHO=echo
 endif
 ifeq ($(OS_TARGET),emx)
+BATCHEXT=.cmd
 AOUTEXT=.out
 STATICLIBPREFIX=
 SHAREDLIBEXT=.dll
@@ -500,16 +499,19 @@ EXEEXT=.ttp
 FPCMADE=fpcmade.ata
 endif
 ifeq ($(OS_TARGET),beos)
+BATCHEXT=.sh
 EXEEXT=
 FPCMADE=fpcmade.be
 ZIPSUFFIX=be
 endif
 ifeq ($(OS_TARGET),sunos)
+BATCHEXT=.sh
 EXEEXT=
 FPCMADE=fpcmade.sun
 ZIPSUFFIX=sun
 endif
 ifeq ($(OS_TARGET),qnx)
+BATCHEXT=.sh
 EXEEXT=
 FPCMADE=fpcmade.qnx
 ZIPSUFFIX=qnx
@@ -521,10 +523,14 @@ FPCMADE=fpcmade.nw
 ZIPSUFFIX=nw
 endif
 ifeq ($(OS_TARGET),macos)
+BATCHEXT=
 EXEEXT=
-FPCMADE=fpcmade.mcc
+FPCMADE=fpcmade.macos
+ZIPSUFFIX=macos
+DEBUGSYMEXT=.xcoff
 endif
 ifeq ($(OS_TARGET),darwin)
+BATCHEXT=.sh
 EXEEXT=
 HASSHAREDLIB=1
 FPCMADE=fpcmade.darwin
@@ -553,24 +559,28 @@ FPCMADE=fpcmade.dos
 ZIPSUFFIX=watcom
 endif
 ifeq ($(OS_TARGET),linux)
+BATCHEXT=.sh
 EXEEXT=
 HASSHAREDLIB=1
 FPCMADE=fpcmade.lnx
 ZIPSUFFIX=linux
 endif
 ifeq ($(OS_TARGET),freebsd)
+BATCHEXT=.sh
 EXEEXT=
 HASSHAREDLIB=1
 FPCMADE=fpcmade.freebsd
 ZIPSUFFIX=freebsd
 endif
 ifeq ($(OS_TARGET),netbsd)
+BATCHEXT=.sh
 EXEEXT=
 HASSHAREDLIB=1
 FPCMADE=fpcmade.netbsd
 ZIPSUFFIX=netbsd
 endif
 ifeq ($(OS_TARGET),openbsd)
+BATCHEXT=.sh
 EXEEXT=
 HASSHAREDLIB=1
 FPCMADE=fpcmade.openbsd
@@ -587,6 +597,7 @@ FPCMADE=fpcmade.w32
 ZIPSUFFIX=w32
 endif
 ifeq ($(OS_TARGET),os2)
+BATCHEXT=.cmd
 PPUEXT=.ppo
 ASMEXT=.so2
 OEXT=.oo2
@@ -619,6 +630,7 @@ EXEEXT=.ttp
 FPCMADE=fpcmade.ata
 endif
 ifeq ($(OS_TARGET),beos)
+BATCHEXT=.sh
 PPUEXT=.ppu
 ASMEXT=.s
 OEXT=.o
@@ -629,6 +641,7 @@ FPCMADE=fpcmade.be
 ZIPSUFFIX=be
 endif
 ifeq ($(OS_TARGET),sunos)
+BATCHEXT=.sh
 PPUEXT=.ppu
 ASMEXT=.s
 OEXT=.o
@@ -639,6 +652,7 @@ FPCMADE=fpcmade.sun
 ZIPSUFFIX=sun
 endif
 ifeq ($(OS_TARGET),qnx)
+BATCHEXT=.sh
 PPUEXT=.ppu
 ASMEXT=.s
 OEXT=.o
@@ -661,13 +675,15 @@ ZIPSUFFIX=nw
 EXEEXT=.nlm
 endif
 ifeq ($(OS_TARGET),macos)
+BATCHEXT=
 PPUEXT=.ppu
 ASMEXT=.s
 OEXT=.o
 SMARTEXT=.sl
 STATICLIBEXT=.a
 EXEEXT=
-FPCMADE=fpcmade.mcc
+DEBUGSYMEXT=.xcoff
+FPCMADE=fpcmade.macos
 endif
 endif
 ifndef ECHO
@@ -675,7 +691,7 @@ ECHO:=$(strip $(wildcard $(addsuffix /gecho$(SRCEXEEXT),$(SEARCHPATH))))
 ifeq ($(ECHO),)
 ECHO:=$(strip $(wildcard $(addsuffix /echo$(SRCEXEEXT),$(SEARCHPATH))))
 ifeq ($(ECHO),)
-ECHO=
+ECHO= __missing_command__
 else
 ECHO:=$(firstword $(ECHO))
 endif
@@ -689,7 +705,7 @@ DATE:=$(strip $(wildcard $(addsuffix /gdate$(SRCEXEEXT),$(SEARCHPATH))))
 ifeq ($(DATE),)
 DATE:=$(strip $(wildcard $(addsuffix /date$(SRCEXEEXT),$(SEARCHPATH))))
 ifeq ($(DATE),)
-DATE=
+DATE= __missing_command__
 else
 DATE:=$(firstword $(DATE))
 endif
@@ -703,7 +719,7 @@ GINSTALL:=$(strip $(wildcard $(addsuffix /ginstall$(SRCEXEEXT),$(SEARCHPATH))))
 ifeq ($(GINSTALL),)
 GINSTALL:=$(strip $(wildcard $(addsuffix /install$(SRCEXEEXT),$(SEARCHPATH))))
 ifeq ($(GINSTALL),)
-GINSTALL=
+GINSTALL= __missing_command__
 else
 GINSTALL:=$(firstword $(GINSTALL))
 endif
@@ -715,7 +731,7 @@ export GINSTALL
 ifndef CPPROG
 CPPROG:=$(strip $(wildcard $(addsuffix /cp$(SRCEXEEXT),$(SEARCHPATH))))
 ifeq ($(CPPROG),)
-CPPROG=
+CPPROG= __missing_command__
 else
 CPPROG:=$(firstword $(CPPROG))
 endif
@@ -724,7 +740,7 @@ export CPPROG
 ifndef RMPROG
 RMPROG:=$(strip $(wildcard $(addsuffix /rm$(SRCEXEEXT),$(SEARCHPATH))))
 ifeq ($(RMPROG),)
-RMPROG=
+RMPROG= __missing_command__
 else
 RMPROG:=$(firstword $(RMPROG))
 endif
@@ -733,7 +749,7 @@ export RMPROG
 ifndef MVPROG
 MVPROG:=$(strip $(wildcard $(addsuffix /mv$(SRCEXEEXT),$(SEARCHPATH))))
 ifeq ($(MVPROG),)
-MVPROG=
+MVPROG= __missing_command__
 else
 MVPROG:=$(firstword $(MVPROG))
 endif
@@ -782,7 +798,7 @@ export ECHOREDIR COPY COPYTREE MOVE DEL DELTREE INSTALL INSTALLEXE MKDIR
 ifndef PPUMOVE
 PPUMOVE:=$(strip $(wildcard $(addsuffix /ppumove$(SRCEXEEXT),$(SEARCHPATH))))
 ifeq ($(PPUMOVE),)
-PPUMOVE=
+PPUMOVE= __missing_command__
 else
 PPUMOVE:=$(firstword $(PPUMOVE))
 endif
@@ -791,7 +807,7 @@ export PPUMOVE
 ifndef FPCMAKE
 FPCMAKE:=$(strip $(wildcard $(addsuffix /fpcmake$(SRCEXEEXT),$(SEARCHPATH))))
 ifeq ($(FPCMAKE),)
-FPCMAKE=
+FPCMAKE= __missing_command__
 else
 FPCMAKE:=$(firstword $(FPCMAKE))
 endif
@@ -800,7 +816,7 @@ export FPCMAKE
 ifndef ZIPPROG
 ZIPPROG:=$(strip $(wildcard $(addsuffix /zip$(SRCEXEEXT),$(SEARCHPATH))))
 ifeq ($(ZIPPROG),)
-ZIPPROG=
+ZIPPROG= __missing_command__
 else
 ZIPPROG:=$(firstword $(ZIPPROG))
 endif
@@ -809,7 +825,7 @@ export ZIPPROG
 ifndef TARPROG
 TARPROG:=$(strip $(wildcard $(addsuffix /tar$(SRCEXEEXT),$(SEARCHPATH))))
 ifeq ($(TARPROG),)
-TARPROG=
+TARPROG= __missing_command__
 else
 TARPROG:=$(firstword $(TARPROG))
 endif
@@ -821,9 +837,11 @@ ARNAME=$(BINUTILSPREFIX)ar
 RCNAME=$(BINUTILSPREFIX)rc
 ifneq ($(findstring 1.0.,$(FPC_VERSION)),)
 ifeq ($(OS_TARGET),win32)
-ASNAME=as
-LDNAME=ld
-ARNAME=ar
+ifeq ($(CROSSBINDIR),)
+ASNAME=asw
+LDNAME=ldw
+ARNAME=arw
+endif
 endif
 endif
 ifndef ASPROG
@@ -858,7 +876,7 @@ AS=$(ASPROG)
 LD=$(LDPROG)
 RC=$(RCPROG)
 AR=$(ARPROG)
-PPAS=ppas$(BATCHEXT)
+PPAS=ppas$(SRCBATCHEXT)
 ifdef inUnix
 LDCONFIG=ldconfig
 else
@@ -1117,8 +1135,12 @@ ifdef RELEASE
 ifeq ($(CPU_TARGET),i386)
 FPCCPUOPT:=-OG2p3
 else
+ifeq ($(CPU_TARGET),powerpc)
+FPCCPUOPT:=-O1
+else
 FPCCPUOPT:=
 endif
+endif
 override FPCOPT+=-Xs $(FPCCPUOPT) -n
 override FPCOPTDEF+=RELEASE
 endif
@@ -1337,6 +1359,9 @@ override CLEANPPUFILES+=$(addsuffix $(PPUEXT),$(CLEAN_UNITS))
 endif
 ifdef 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 CLEANPPULINKFILES:=$(wildcard $(addprefix $(UNITTARGETDIRPREFIX),$(CLEANPPULINKFILES)))
 endif
@@ -1360,6 +1385,7 @@ ifdef LIB_NAME
 	-$(DEL) $(LIB_NAME) $(LIB_FULLNAME)
 endif
 	-$(DEL) $(FPCMADE) Package.fpc $(PPAS) script.res link.res $(FPCEXTFILE) $(REDIRFILE)
+	-$(DEL) *$(ASMEXT) *_ppas$(BATCHEXT)
 fpc_distclean: clean
 ifdef COMPILER_UNITTARGETDIR
 TARGETDIRCLEAN=fpc_clean
@@ -1371,9 +1397,13 @@ endif
 	-$(DEL) *$(OEXT) *$(PPUEXT) *$(RSTEXT) *$(ASMEXT) *$(STATICLIBEXT) *$(SHAREDLIBEXT) *$(PPLEXT)
 	-$(DELTREE) *$(SMARTEXT)
 	-$(DEL) $(FPCMADE) Package.fpc $(PPAS) script.res link.res $(FPCEXTFILE) $(REDIRFILE)
+	-$(DEL) *_ppas$(BATCHEXT)
 ifdef AOUTEXT
 	-$(DEL) *$(AOUTEXT)
 endif
+ifdef DEBUGSYMEXT
+	-$(DEL) *$(DEBUGSYMEXT)
+endif
 .PHONY: fpc_baseinfo
 override INFORULES+=fpc_baseinfo
 fpc_baseinfo:

+ 113 - 71
fcl/shedit/gtk/Makefile

@@ -1,15 +1,24 @@
 #
-# Don't edit, this file is generated by FPCMake Version 1.1 [2004/02/22]
+# Don't edit, this file is generated by FPCMake Version 1.1 [2004/04/21]
 #
 default: all
 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:=$(subst \,/,$(PATH))
+ifneq ($(findstring darwin,$(OSTYPE)),)
+inUnix=1 #darwin
+SEARCHPATH:=$(filter-out .,$(subst :, ,$(PATH)))
+else
 ifeq ($(findstring ;,$(PATH)),)
 inUnix=1
 SEARCHPATH:=$(filter-out .,$(subst :, ,$(PATH)))
 else
 SEARCHPATH:=$(subst ;, ,$(PATH))
 endif
+endif
 SEARCHPATH+=$(patsubst %/,%,$(subst \,/,$(dir $(MAKE))))
 PWD:=$(strip $(wildcard $(addsuffix /pwd.exe,$(SEARCHPATH))))
 ifeq ($(PWD),)
@@ -37,22 +46,13 @@ ifneq ($(findstring cygdrive,$(PATH)),)
 inCygWin=1
 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
-BATCHEXT=.sh
+SRCBATCHEXT=.sh
 else
 ifdef inOS2
-BATCHEXT=.cmd
+SRCBATCHEXT=.cmd
 else
-BATCHEXT=.bat
+SRCBATCHEXT=.bat
 endif
 endif
 ifdef inUnix
@@ -155,6 +155,12 @@ ifeq ($(findstring $(OS_TARGET),$(MAKEFILETARGETS)),)
 $(error The Makefile doesn't support target $(OS_TARGET), please run fpcmake first)
 endif
 endif
+ifneq ($(findstring $(OS_TARGET),$(BSDs)),)
+BSDhier=1
+endif
+ifeq ($(OS_TARGET),linux)
+linuxHier=1
+endif
 export OS_TARGET OS_SOURCE CPU_TARGET CPU_SOURCE FULL_TARGET FULL_SOURCE CROSSCOMPILE
 ifdef FPCDIR
 override FPCDIR:=$(subst \,/,$(FPCDIR))
@@ -217,42 +223,12 @@ 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
-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
 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
 ifndef INSTALL_PREFIX
@@ -261,7 +237,7 @@ INSTALL_PREFIX=$(PREFIX)
 endif
 endif
 ifndef INSTALL_PREFIX
-ifdef UNIXINSTALLDIR
+ifdef UNIXHier
 INSTALL_PREFIX=/usr/local
 else
 ifdef INSTALL_FPCPACKAGE
@@ -280,7 +256,7 @@ DIST_DESTDIR:=$(BASEDIR)
 endif
 export DIST_DESTDIR
 ifndef INSTALL_BASEDIR
-ifdef UNIXINSTALLDIR
+ifdef UNIXHier
 ifdef INSTALL_FPCPACKAGE
 INSTALL_BASEDIR:=$(INSTALL_PREFIX)/lib/fpc/$(FPC_VERSION)
 else
@@ -291,7 +267,7 @@ INSTALL_BASEDIR:=$(INSTALL_PREFIX)
 endif
 endif
 ifndef INSTALL_BINDIR
-ifdef UNIXINSTALLDIR
+ifdef UNIXHier
 ifdef CROSSCOMPILE
 INSTALL_BINDIR:=$(INSTALL_BASEDIR)/cross/$(FULL_TARGET)/bin
 else
@@ -321,19 +297,23 @@ endif
 endif
 endif
 ifndef INSTALL_LIBDIR
-ifdef UNIXINSTALLDIR
+ifdef UNIXHier
 INSTALL_LIBDIR:=$(INSTALL_PREFIX)/lib
 else
 INSTALL_LIBDIR:=$(INSTALL_UNITDIR)
 endif
 endif
 ifndef INSTALL_SOURCEDIR
-ifdef UNIXINSTALLDIR
+ifdef UNIXHier
 ifdef BSDhier
 SRCPREFIXDIR=share/src
 else
+ifdef linuxHier
+SRCPREFIXDIR=share/src
+else
 SRCPREFIXDIR=src
 endif
+endif
 ifdef INSTALL_FPCPACKAGE
 ifdef INSTALL_FPCSUBDIR
 INSTALL_SOURCEDIR:=$(INSTALL_PREFIX)/$(SRCPREFIXDIR)/fpc-$(FPC_VERSION)/$(INSTALL_FPCSUBDIR)/$(PACKAGE_NAME)
@@ -356,12 +336,16 @@ endif
 endif
 endif
 ifndef INSTALL_DOCDIR
-ifdef UNIXINSTALLDIR
+ifdef UNIXHier
 ifdef BSDhier
 DOCPREFIXDIR=share/doc
 else
+ifdef linuxHier
+DOCPREFIXDIR=share/doc
+else
 DOCPREFIXDIR=doc
 endif
+endif
 ifdef INSTALL_FPCPACKAGE
 INSTALL_DOCDIR:=$(INSTALL_PREFIX)/$(DOCPREFIXDIR)/fpc-$(FPC_VERSION)/$(PACKAGE_NAME)
 else
@@ -376,20 +360,28 @@ endif
 endif
 endif
 ifndef INSTALL_EXAMPLEDIR
-ifdef UNIXINSTALLDIR
+ifdef UNIXHier
 ifdef INSTALL_FPCPACKAGE
 ifdef BSDhier
 INSTALL_EXAMPLEDIR:=$(INSTALL_PREFIX)/share/examples/fpc-$(FPC_VERSION)/$(PACKAGE_NAME)
 else
+ifdef linuxHier
+INSTALL_EXAMPLEDIR:=$(INSTALL_DOCDIR)/examples/fpc-$(FPC_VERSION)/$(PACKAGE_NAME)
+else
 INSTALL_EXAMPLEDIR:=$(INSTALL_PREFIX)/doc/fpc-$(FPC_VERSION)/examples/$(PACKAGE_NAME)
 endif
+endif
 else
 ifdef BSDhier
 INSTALL_EXAMPLEDIR:=$(INSTALL_PREFIX)/share/examples/$(PACKAGE_NAME)-$(PACKAGE_VERSION)
 else
+ifdef linuxHier
+INSTALL_EXAMPLEDIR:=$(INSTALL_DOCDIR)/examples/$(PACKAGE_NAME)-$(PACKAGE_VERSION)
+else
 INSTALL_EXAMPLEDIR:=$(INSTALL_PREFIX)/doc/$(PACKAGE_NAME)-$(PACKAGE_VERSION)
 endif
 endif
+endif
 else
 ifdef INSTALL_FPCPACKAGE
 INSTALL_EXAMPLEDIR:=$(INSTALL_BASEDIR)/examples/$(PACKAGE_NAME)
@@ -413,7 +405,19 @@ CROSSBINDIR=
 endif
 ifeq ($(OS_SOURCE),linux)
 ifndef GCCLIBDIR
-GCCLIBDIR:=$(shell dirname `gcc -print-libgcc-file-name`)
+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
 ifndef OTHERLIBDIR
 OTHERLIBDIR:=$(shell grep -v "^\#" /etc/ld.so.conf | awk '{ ORS=" "; print $1 }')
@@ -425,6 +429,7 @@ OTHERLIBDIR+=/usr/pkg/lib
 endif
 export GCCLIBDIR OTHERLIB
 endif
+BATCHEXT=.bat
 LOADEREXT=.as
 EXEEXT=.exe
 PPLEXT=.ppl
@@ -457,24 +462,28 @@ ASMEXT=.asm
 SHAREDLIBEXT=.dll
 endif
 ifeq ($(OS_TARGET),linux)
+BATCHEXT=.sh
 EXEEXT=
 HASSHAREDLIB=1
 FPCMADE=fpcmade.lnx
 ZIPSUFFIX=linux
 endif
 ifeq ($(OS_TARGET),freebsd)
+BATCHEXT=.sh
 EXEEXT=
 HASSHAREDLIB=1
 FPCMADE=fpcmade.freebsd
 ZIPSUFFIX=freebsd
 endif
 ifeq ($(OS_TARGET),netbsd)
+BATCHEXT=.sh
 EXEEXT=
 HASSHAREDLIB=1
 FPCMADE=fpcmade.netbsd
 ZIPSUFFIX=netbsd
 endif
 ifeq ($(OS_TARGET),openbsd)
+BATCHEXT=.sh
 EXEEXT=
 HASSHAREDLIB=1
 FPCMADE=fpcmade.openbsd
@@ -486,6 +495,7 @@ FPCMADE=fpcmade.w32
 ZIPSUFFIX=w32
 endif
 ifeq ($(OS_TARGET),os2)
+BATCHEXT=.cmd
 AOUTEXT=.out
 STATICLIBPREFIX=
 SHAREDLIBEXT=.dll
@@ -494,6 +504,7 @@ ZIPSUFFIX=os2
 ECHO=echo
 endif
 ifeq ($(OS_TARGET),emx)
+BATCHEXT=.cmd
 AOUTEXT=.out
 STATICLIBPREFIX=
 SHAREDLIBEXT=.dll
@@ -511,16 +522,19 @@ EXEEXT=.ttp
 FPCMADE=fpcmade.ata
 endif
 ifeq ($(OS_TARGET),beos)
+BATCHEXT=.sh
 EXEEXT=
 FPCMADE=fpcmade.be
 ZIPSUFFIX=be
 endif
 ifeq ($(OS_TARGET),sunos)
+BATCHEXT=.sh
 EXEEXT=
 FPCMADE=fpcmade.sun
 ZIPSUFFIX=sun
 endif
 ifeq ($(OS_TARGET),qnx)
+BATCHEXT=.sh
 EXEEXT=
 FPCMADE=fpcmade.qnx
 ZIPSUFFIX=qnx
@@ -532,10 +546,14 @@ FPCMADE=fpcmade.nw
 ZIPSUFFIX=nw
 endif
 ifeq ($(OS_TARGET),macos)
+BATCHEXT=
 EXEEXT=
-FPCMADE=fpcmade.mcc
+FPCMADE=fpcmade.macos
+ZIPSUFFIX=macos
+DEBUGSYMEXT=.xcoff
 endif
 ifeq ($(OS_TARGET),darwin)
+BATCHEXT=.sh
 EXEEXT=
 HASSHAREDLIB=1
 FPCMADE=fpcmade.darwin
@@ -564,24 +582,28 @@ FPCMADE=fpcmade.dos
 ZIPSUFFIX=watcom
 endif
 ifeq ($(OS_TARGET),linux)
+BATCHEXT=.sh
 EXEEXT=
 HASSHAREDLIB=1
 FPCMADE=fpcmade.lnx
 ZIPSUFFIX=linux
 endif
 ifeq ($(OS_TARGET),freebsd)
+BATCHEXT=.sh
 EXEEXT=
 HASSHAREDLIB=1
 FPCMADE=fpcmade.freebsd
 ZIPSUFFIX=freebsd
 endif
 ifeq ($(OS_TARGET),netbsd)
+BATCHEXT=.sh
 EXEEXT=
 HASSHAREDLIB=1
 FPCMADE=fpcmade.netbsd
 ZIPSUFFIX=netbsd
 endif
 ifeq ($(OS_TARGET),openbsd)
+BATCHEXT=.sh
 EXEEXT=
 HASSHAREDLIB=1
 FPCMADE=fpcmade.openbsd
@@ -598,6 +620,7 @@ FPCMADE=fpcmade.w32
 ZIPSUFFIX=w32
 endif
 ifeq ($(OS_TARGET),os2)
+BATCHEXT=.cmd
 PPUEXT=.ppo
 ASMEXT=.so2
 OEXT=.oo2
@@ -630,6 +653,7 @@ EXEEXT=.ttp
 FPCMADE=fpcmade.ata
 endif
 ifeq ($(OS_TARGET),beos)
+BATCHEXT=.sh
 PPUEXT=.ppu
 ASMEXT=.s
 OEXT=.o
@@ -640,6 +664,7 @@ FPCMADE=fpcmade.be
 ZIPSUFFIX=be
 endif
 ifeq ($(OS_TARGET),sunos)
+BATCHEXT=.sh
 PPUEXT=.ppu
 ASMEXT=.s
 OEXT=.o
@@ -650,6 +675,7 @@ FPCMADE=fpcmade.sun
 ZIPSUFFIX=sun
 endif
 ifeq ($(OS_TARGET),qnx)
+BATCHEXT=.sh
 PPUEXT=.ppu
 ASMEXT=.s
 OEXT=.o
@@ -672,13 +698,15 @@ ZIPSUFFIX=nw
 EXEEXT=.nlm
 endif
 ifeq ($(OS_TARGET),macos)
+BATCHEXT=
 PPUEXT=.ppu
 ASMEXT=.s
 OEXT=.o
 SMARTEXT=.sl
 STATICLIBEXT=.a
 EXEEXT=
-FPCMADE=fpcmade.mcc
+DEBUGSYMEXT=.xcoff
+FPCMADE=fpcmade.macos
 endif
 endif
 ifndef ECHO
@@ -686,7 +714,7 @@ ECHO:=$(strip $(wildcard $(addsuffix /gecho$(SRCEXEEXT),$(SEARCHPATH))))
 ifeq ($(ECHO),)
 ECHO:=$(strip $(wildcard $(addsuffix /echo$(SRCEXEEXT),$(SEARCHPATH))))
 ifeq ($(ECHO),)
-ECHO=
+ECHO= __missing_command__
 else
 ECHO:=$(firstword $(ECHO))
 endif
@@ -700,7 +728,7 @@ DATE:=$(strip $(wildcard $(addsuffix /gdate$(SRCEXEEXT),$(SEARCHPATH))))
 ifeq ($(DATE),)
 DATE:=$(strip $(wildcard $(addsuffix /date$(SRCEXEEXT),$(SEARCHPATH))))
 ifeq ($(DATE),)
-DATE=
+DATE= __missing_command__
 else
 DATE:=$(firstword $(DATE))
 endif
@@ -714,7 +742,7 @@ GINSTALL:=$(strip $(wildcard $(addsuffix /ginstall$(SRCEXEEXT),$(SEARCHPATH))))
 ifeq ($(GINSTALL),)
 GINSTALL:=$(strip $(wildcard $(addsuffix /install$(SRCEXEEXT),$(SEARCHPATH))))
 ifeq ($(GINSTALL),)
-GINSTALL=
+GINSTALL= __missing_command__
 else
 GINSTALL:=$(firstword $(GINSTALL))
 endif
@@ -726,7 +754,7 @@ export GINSTALL
 ifndef CPPROG
 CPPROG:=$(strip $(wildcard $(addsuffix /cp$(SRCEXEEXT),$(SEARCHPATH))))
 ifeq ($(CPPROG),)
-CPPROG=
+CPPROG= __missing_command__
 else
 CPPROG:=$(firstword $(CPPROG))
 endif
@@ -735,7 +763,7 @@ export CPPROG
 ifndef RMPROG
 RMPROG:=$(strip $(wildcard $(addsuffix /rm$(SRCEXEEXT),$(SEARCHPATH))))
 ifeq ($(RMPROG),)
-RMPROG=
+RMPROG= __missing_command__
 else
 RMPROG:=$(firstword $(RMPROG))
 endif
@@ -744,7 +772,7 @@ export RMPROG
 ifndef MVPROG
 MVPROG:=$(strip $(wildcard $(addsuffix /mv$(SRCEXEEXT),$(SEARCHPATH))))
 ifeq ($(MVPROG),)
-MVPROG=
+MVPROG= __missing_command__
 else
 MVPROG:=$(firstword $(MVPROG))
 endif
@@ -793,7 +821,7 @@ export ECHOREDIR COPY COPYTREE MOVE DEL DELTREE INSTALL INSTALLEXE MKDIR
 ifndef PPUMOVE
 PPUMOVE:=$(strip $(wildcard $(addsuffix /ppumove$(SRCEXEEXT),$(SEARCHPATH))))
 ifeq ($(PPUMOVE),)
-PPUMOVE=
+PPUMOVE= __missing_command__
 else
 PPUMOVE:=$(firstword $(PPUMOVE))
 endif
@@ -802,7 +830,7 @@ export PPUMOVE
 ifndef FPCMAKE
 FPCMAKE:=$(strip $(wildcard $(addsuffix /fpcmake$(SRCEXEEXT),$(SEARCHPATH))))
 ifeq ($(FPCMAKE),)
-FPCMAKE=
+FPCMAKE= __missing_command__
 else
 FPCMAKE:=$(firstword $(FPCMAKE))
 endif
@@ -811,7 +839,7 @@ export FPCMAKE
 ifndef ZIPPROG
 ZIPPROG:=$(strip $(wildcard $(addsuffix /zip$(SRCEXEEXT),$(SEARCHPATH))))
 ifeq ($(ZIPPROG),)
-ZIPPROG=
+ZIPPROG= __missing_command__
 else
 ZIPPROG:=$(firstword $(ZIPPROG))
 endif
@@ -820,7 +848,7 @@ export ZIPPROG
 ifndef TARPROG
 TARPROG:=$(strip $(wildcard $(addsuffix /tar$(SRCEXEEXT),$(SEARCHPATH))))
 ifeq ($(TARPROG),)
-TARPROG=
+TARPROG= __missing_command__
 else
 TARPROG:=$(firstword $(TARPROG))
 endif
@@ -832,9 +860,11 @@ ARNAME=$(BINUTILSPREFIX)ar
 RCNAME=$(BINUTILSPREFIX)rc
 ifneq ($(findstring 1.0.,$(FPC_VERSION)),)
 ifeq ($(OS_TARGET),win32)
-ASNAME=as
-LDNAME=ld
-ARNAME=ar
+ifeq ($(CROSSBINDIR),)
+ASNAME=asw
+LDNAME=ldw
+ARNAME=arw
+endif
 endif
 endif
 ifndef ASPROG
@@ -869,7 +899,7 @@ AS=$(ASPROG)
 LD=$(LDPROG)
 RC=$(RCPROG)
 AR=$(ARPROG)
-PPAS=ppas$(BATCHEXT)
+PPAS=ppas$(SRCBATCHEXT)
 ifdef inUnix
 LDCONFIG=ldconfig
 else
@@ -1721,8 +1751,12 @@ ifdef RELEASE
 ifeq ($(CPU_TARGET),i386)
 FPCCPUOPT:=-OG2p3
 else
+ifeq ($(CPU_TARGET),powerpc)
+FPCCPUOPT:=-O1
+else
 FPCCPUOPT:=
 endif
+endif
 override FPCOPT+=-Xs $(FPCCPUOPT) -n
 override FPCOPTDEF+=RELEASE
 endif
@@ -1944,6 +1978,9 @@ override CLEANPPUFILES+=$(addsuffix $(PPUEXT),$(CLEAN_UNITS))
 endif
 ifdef 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 CLEANPPULINKFILES:=$(wildcard $(addprefix $(UNITTARGETDIRPREFIX),$(CLEANPPULINKFILES)))
 endif
@@ -1967,6 +2004,7 @@ ifdef LIB_NAME
 	-$(DEL) $(LIB_NAME) $(LIB_FULLNAME)
 endif
 	-$(DEL) $(FPCMADE) Package.fpc $(PPAS) script.res link.res $(FPCEXTFILE) $(REDIRFILE)
+	-$(DEL) *$(ASMEXT) *_ppas$(BATCHEXT)
 fpc_distclean: clean
 ifdef COMPILER_UNITTARGETDIR
 TARGETDIRCLEAN=fpc_clean
@@ -1978,9 +2016,13 @@ endif
 	-$(DEL) *$(OEXT) *$(PPUEXT) *$(RSTEXT) *$(ASMEXT) *$(STATICLIBEXT) *$(SHAREDLIBEXT) *$(PPLEXT)
 	-$(DELTREE) *$(SMARTEXT)
 	-$(DEL) $(FPCMADE) Package.fpc $(PPAS) script.res link.res $(FPCEXTFILE) $(REDIRFILE)
+	-$(DEL) *_ppas$(BATCHEXT)
 ifdef AOUTEXT
 	-$(DEL) *$(AOUTEXT)
 endif
+ifdef DEBUGSYMEXT
+	-$(DEL) *$(DEBUGSYMEXT)
+endif
 .PHONY: fpc_baseinfo
 override INFORULES+=fpc_baseinfo
 fpc_baseinfo:

+ 113 - 71
fcl/tests/Makefile

@@ -1,15 +1,24 @@
 #
-# Don't edit, this file is generated by FPCMake Version 1.1 [2004/02/22]
+# Don't edit, this file is generated by FPCMake Version 1.1 [2004/04/21]
 #
 default: all
 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:=$(subst \,/,$(PATH))
+ifneq ($(findstring darwin,$(OSTYPE)),)
+inUnix=1 #darwin
+SEARCHPATH:=$(filter-out .,$(subst :, ,$(PATH)))
+else
 ifeq ($(findstring ;,$(PATH)),)
 inUnix=1
 SEARCHPATH:=$(filter-out .,$(subst :, ,$(PATH)))
 else
 SEARCHPATH:=$(subst ;, ,$(PATH))
 endif
+endif
 SEARCHPATH+=$(patsubst %/,%,$(subst \,/,$(dir $(MAKE))))
 PWD:=$(strip $(wildcard $(addsuffix /pwd.exe,$(SEARCHPATH))))
 ifeq ($(PWD),)
@@ -37,22 +46,13 @@ ifneq ($(findstring cygdrive,$(PATH)),)
 inCygWin=1
 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
-BATCHEXT=.sh
+SRCBATCHEXT=.sh
 else
 ifdef inOS2
-BATCHEXT=.cmd
+SRCBATCHEXT=.cmd
 else
-BATCHEXT=.bat
+SRCBATCHEXT=.bat
 endif
 endif
 ifdef inUnix
@@ -155,6 +155,12 @@ ifeq ($(findstring $(OS_TARGET),$(MAKEFILETARGETS)),)
 $(error The Makefile doesn't support target $(OS_TARGET), please run fpcmake first)
 endif
 endif
+ifneq ($(findstring $(OS_TARGET),$(BSDs)),)
+BSDhier=1
+endif
+ifeq ($(OS_TARGET),linux)
+linuxHier=1
+endif
 export OS_TARGET OS_SOURCE CPU_TARGET CPU_SOURCE FULL_TARGET FULL_SOURCE CROSSCOMPILE
 ifdef FPCDIR
 override FPCDIR:=$(subst \,/,$(FPCDIR))
@@ -223,42 +229,12 @@ 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
-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
 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
 ifndef INSTALL_PREFIX
@@ -267,7 +243,7 @@ INSTALL_PREFIX=$(PREFIX)
 endif
 endif
 ifndef INSTALL_PREFIX
-ifdef UNIXINSTALLDIR
+ifdef UNIXHier
 INSTALL_PREFIX=/usr/local
 else
 ifdef INSTALL_FPCPACKAGE
@@ -286,7 +262,7 @@ DIST_DESTDIR:=$(BASEDIR)
 endif
 export DIST_DESTDIR
 ifndef INSTALL_BASEDIR
-ifdef UNIXINSTALLDIR
+ifdef UNIXHier
 ifdef INSTALL_FPCPACKAGE
 INSTALL_BASEDIR:=$(INSTALL_PREFIX)/lib/fpc/$(FPC_VERSION)
 else
@@ -297,7 +273,7 @@ INSTALL_BASEDIR:=$(INSTALL_PREFIX)
 endif
 endif
 ifndef INSTALL_BINDIR
-ifdef UNIXINSTALLDIR
+ifdef UNIXHier
 ifdef CROSSCOMPILE
 INSTALL_BINDIR:=$(INSTALL_BASEDIR)/cross/$(FULL_TARGET)/bin
 else
@@ -327,19 +303,23 @@ endif
 endif
 endif
 ifndef INSTALL_LIBDIR
-ifdef UNIXINSTALLDIR
+ifdef UNIXHier
 INSTALL_LIBDIR:=$(INSTALL_PREFIX)/lib
 else
 INSTALL_LIBDIR:=$(INSTALL_UNITDIR)
 endif
 endif
 ifndef INSTALL_SOURCEDIR
-ifdef UNIXINSTALLDIR
+ifdef UNIXHier
 ifdef BSDhier
 SRCPREFIXDIR=share/src
 else
+ifdef linuxHier
+SRCPREFIXDIR=share/src
+else
 SRCPREFIXDIR=src
 endif
+endif
 ifdef INSTALL_FPCPACKAGE
 ifdef INSTALL_FPCSUBDIR
 INSTALL_SOURCEDIR:=$(INSTALL_PREFIX)/$(SRCPREFIXDIR)/fpc-$(FPC_VERSION)/$(INSTALL_FPCSUBDIR)/$(PACKAGE_NAME)
@@ -362,12 +342,16 @@ endif
 endif
 endif
 ifndef INSTALL_DOCDIR
-ifdef UNIXINSTALLDIR
+ifdef UNIXHier
 ifdef BSDhier
 DOCPREFIXDIR=share/doc
 else
+ifdef linuxHier
+DOCPREFIXDIR=share/doc
+else
 DOCPREFIXDIR=doc
 endif
+endif
 ifdef INSTALL_FPCPACKAGE
 INSTALL_DOCDIR:=$(INSTALL_PREFIX)/$(DOCPREFIXDIR)/fpc-$(FPC_VERSION)/$(PACKAGE_NAME)
 else
@@ -382,20 +366,28 @@ endif
 endif
 endif
 ifndef INSTALL_EXAMPLEDIR
-ifdef UNIXINSTALLDIR
+ifdef UNIXHier
 ifdef INSTALL_FPCPACKAGE
 ifdef BSDhier
 INSTALL_EXAMPLEDIR:=$(INSTALL_PREFIX)/share/examples/fpc-$(FPC_VERSION)/$(PACKAGE_NAME)
 else
+ifdef linuxHier
+INSTALL_EXAMPLEDIR:=$(INSTALL_DOCDIR)/examples/fpc-$(FPC_VERSION)/$(PACKAGE_NAME)
+else
 INSTALL_EXAMPLEDIR:=$(INSTALL_PREFIX)/doc/fpc-$(FPC_VERSION)/examples/$(PACKAGE_NAME)
 endif
+endif
 else
 ifdef BSDhier
 INSTALL_EXAMPLEDIR:=$(INSTALL_PREFIX)/share/examples/$(PACKAGE_NAME)-$(PACKAGE_VERSION)
 else
+ifdef linuxHier
+INSTALL_EXAMPLEDIR:=$(INSTALL_DOCDIR)/examples/$(PACKAGE_NAME)-$(PACKAGE_VERSION)
+else
 INSTALL_EXAMPLEDIR:=$(INSTALL_PREFIX)/doc/$(PACKAGE_NAME)-$(PACKAGE_VERSION)
 endif
 endif
+endif
 else
 ifdef INSTALL_FPCPACKAGE
 INSTALL_EXAMPLEDIR:=$(INSTALL_BASEDIR)/examples/$(PACKAGE_NAME)
@@ -419,7 +411,19 @@ CROSSBINDIR=
 endif
 ifeq ($(OS_SOURCE),linux)
 ifndef GCCLIBDIR
-GCCLIBDIR:=$(shell dirname `gcc -print-libgcc-file-name`)
+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
 ifndef OTHERLIBDIR
 OTHERLIBDIR:=$(shell grep -v "^\#" /etc/ld.so.conf | awk '{ ORS=" "; print $1 }')
@@ -431,6 +435,7 @@ OTHERLIBDIR+=/usr/pkg/lib
 endif
 export GCCLIBDIR OTHERLIB
 endif
+BATCHEXT=.bat
 LOADEREXT=.as
 EXEEXT=.exe
 PPLEXT=.ppl
@@ -463,24 +468,28 @@ ASMEXT=.asm
 SHAREDLIBEXT=.dll
 endif
 ifeq ($(OS_TARGET),linux)
+BATCHEXT=.sh
 EXEEXT=
 HASSHAREDLIB=1
 FPCMADE=fpcmade.lnx
 ZIPSUFFIX=linux
 endif
 ifeq ($(OS_TARGET),freebsd)
+BATCHEXT=.sh
 EXEEXT=
 HASSHAREDLIB=1
 FPCMADE=fpcmade.freebsd
 ZIPSUFFIX=freebsd
 endif
 ifeq ($(OS_TARGET),netbsd)
+BATCHEXT=.sh
 EXEEXT=
 HASSHAREDLIB=1
 FPCMADE=fpcmade.netbsd
 ZIPSUFFIX=netbsd
 endif
 ifeq ($(OS_TARGET),openbsd)
+BATCHEXT=.sh
 EXEEXT=
 HASSHAREDLIB=1
 FPCMADE=fpcmade.openbsd
@@ -492,6 +501,7 @@ FPCMADE=fpcmade.w32
 ZIPSUFFIX=w32
 endif
 ifeq ($(OS_TARGET),os2)
+BATCHEXT=.cmd
 AOUTEXT=.out
 STATICLIBPREFIX=
 SHAREDLIBEXT=.dll
@@ -500,6 +510,7 @@ ZIPSUFFIX=os2
 ECHO=echo
 endif
 ifeq ($(OS_TARGET),emx)
+BATCHEXT=.cmd
 AOUTEXT=.out
 STATICLIBPREFIX=
 SHAREDLIBEXT=.dll
@@ -517,16 +528,19 @@ EXEEXT=.ttp
 FPCMADE=fpcmade.ata
 endif
 ifeq ($(OS_TARGET),beos)
+BATCHEXT=.sh
 EXEEXT=
 FPCMADE=fpcmade.be
 ZIPSUFFIX=be
 endif
 ifeq ($(OS_TARGET),sunos)
+BATCHEXT=.sh
 EXEEXT=
 FPCMADE=fpcmade.sun
 ZIPSUFFIX=sun
 endif
 ifeq ($(OS_TARGET),qnx)
+BATCHEXT=.sh
 EXEEXT=
 FPCMADE=fpcmade.qnx
 ZIPSUFFIX=qnx
@@ -538,10 +552,14 @@ FPCMADE=fpcmade.nw
 ZIPSUFFIX=nw
 endif
 ifeq ($(OS_TARGET),macos)
+BATCHEXT=
 EXEEXT=
-FPCMADE=fpcmade.mcc
+FPCMADE=fpcmade.macos
+ZIPSUFFIX=macos
+DEBUGSYMEXT=.xcoff
 endif
 ifeq ($(OS_TARGET),darwin)
+BATCHEXT=.sh
 EXEEXT=
 HASSHAREDLIB=1
 FPCMADE=fpcmade.darwin
@@ -570,24 +588,28 @@ FPCMADE=fpcmade.dos
 ZIPSUFFIX=watcom
 endif
 ifeq ($(OS_TARGET),linux)
+BATCHEXT=.sh
 EXEEXT=
 HASSHAREDLIB=1
 FPCMADE=fpcmade.lnx
 ZIPSUFFIX=linux
 endif
 ifeq ($(OS_TARGET),freebsd)
+BATCHEXT=.sh
 EXEEXT=
 HASSHAREDLIB=1
 FPCMADE=fpcmade.freebsd
 ZIPSUFFIX=freebsd
 endif
 ifeq ($(OS_TARGET),netbsd)
+BATCHEXT=.sh
 EXEEXT=
 HASSHAREDLIB=1
 FPCMADE=fpcmade.netbsd
 ZIPSUFFIX=netbsd
 endif
 ifeq ($(OS_TARGET),openbsd)
+BATCHEXT=.sh
 EXEEXT=
 HASSHAREDLIB=1
 FPCMADE=fpcmade.openbsd
@@ -604,6 +626,7 @@ FPCMADE=fpcmade.w32
 ZIPSUFFIX=w32
 endif
 ifeq ($(OS_TARGET),os2)
+BATCHEXT=.cmd
 PPUEXT=.ppo
 ASMEXT=.so2
 OEXT=.oo2
@@ -636,6 +659,7 @@ EXEEXT=.ttp
 FPCMADE=fpcmade.ata
 endif
 ifeq ($(OS_TARGET),beos)
+BATCHEXT=.sh
 PPUEXT=.ppu
 ASMEXT=.s
 OEXT=.o
@@ -646,6 +670,7 @@ FPCMADE=fpcmade.be
 ZIPSUFFIX=be
 endif
 ifeq ($(OS_TARGET),sunos)
+BATCHEXT=.sh
 PPUEXT=.ppu
 ASMEXT=.s
 OEXT=.o
@@ -656,6 +681,7 @@ FPCMADE=fpcmade.sun
 ZIPSUFFIX=sun
 endif
 ifeq ($(OS_TARGET),qnx)
+BATCHEXT=.sh
 PPUEXT=.ppu
 ASMEXT=.s
 OEXT=.o
@@ -678,13 +704,15 @@ ZIPSUFFIX=nw
 EXEEXT=.nlm
 endif
 ifeq ($(OS_TARGET),macos)
+BATCHEXT=
 PPUEXT=.ppu
 ASMEXT=.s
 OEXT=.o
 SMARTEXT=.sl
 STATICLIBEXT=.a
 EXEEXT=
-FPCMADE=fpcmade.mcc
+DEBUGSYMEXT=.xcoff
+FPCMADE=fpcmade.macos
 endif
 endif
 ifndef ECHO
@@ -692,7 +720,7 @@ ECHO:=$(strip $(wildcard $(addsuffix /gecho$(SRCEXEEXT),$(SEARCHPATH))))
 ifeq ($(ECHO),)
 ECHO:=$(strip $(wildcard $(addsuffix /echo$(SRCEXEEXT),$(SEARCHPATH))))
 ifeq ($(ECHO),)
-ECHO=
+ECHO= __missing_command__
 else
 ECHO:=$(firstword $(ECHO))
 endif
@@ -706,7 +734,7 @@ DATE:=$(strip $(wildcard $(addsuffix /gdate$(SRCEXEEXT),$(SEARCHPATH))))
 ifeq ($(DATE),)
 DATE:=$(strip $(wildcard $(addsuffix /date$(SRCEXEEXT),$(SEARCHPATH))))
 ifeq ($(DATE),)
-DATE=
+DATE= __missing_command__
 else
 DATE:=$(firstword $(DATE))
 endif
@@ -720,7 +748,7 @@ GINSTALL:=$(strip $(wildcard $(addsuffix /ginstall$(SRCEXEEXT),$(SEARCHPATH))))
 ifeq ($(GINSTALL),)
 GINSTALL:=$(strip $(wildcard $(addsuffix /install$(SRCEXEEXT),$(SEARCHPATH))))
 ifeq ($(GINSTALL),)
-GINSTALL=
+GINSTALL= __missing_command__
 else
 GINSTALL:=$(firstword $(GINSTALL))
 endif
@@ -732,7 +760,7 @@ export GINSTALL
 ifndef CPPROG
 CPPROG:=$(strip $(wildcard $(addsuffix /cp$(SRCEXEEXT),$(SEARCHPATH))))
 ifeq ($(CPPROG),)
-CPPROG=
+CPPROG= __missing_command__
 else
 CPPROG:=$(firstword $(CPPROG))
 endif
@@ -741,7 +769,7 @@ export CPPROG
 ifndef RMPROG
 RMPROG:=$(strip $(wildcard $(addsuffix /rm$(SRCEXEEXT),$(SEARCHPATH))))
 ifeq ($(RMPROG),)
-RMPROG=
+RMPROG= __missing_command__
 else
 RMPROG:=$(firstword $(RMPROG))
 endif
@@ -750,7 +778,7 @@ export RMPROG
 ifndef MVPROG
 MVPROG:=$(strip $(wildcard $(addsuffix /mv$(SRCEXEEXT),$(SEARCHPATH))))
 ifeq ($(MVPROG),)
-MVPROG=
+MVPROG= __missing_command__
 else
 MVPROG:=$(firstword $(MVPROG))
 endif
@@ -799,7 +827,7 @@ export ECHOREDIR COPY COPYTREE MOVE DEL DELTREE INSTALL INSTALLEXE MKDIR
 ifndef PPUMOVE
 PPUMOVE:=$(strip $(wildcard $(addsuffix /ppumove$(SRCEXEEXT),$(SEARCHPATH))))
 ifeq ($(PPUMOVE),)
-PPUMOVE=
+PPUMOVE= __missing_command__
 else
 PPUMOVE:=$(firstword $(PPUMOVE))
 endif
@@ -808,7 +836,7 @@ export PPUMOVE
 ifndef FPCMAKE
 FPCMAKE:=$(strip $(wildcard $(addsuffix /fpcmake$(SRCEXEEXT),$(SEARCHPATH))))
 ifeq ($(FPCMAKE),)
-FPCMAKE=
+FPCMAKE= __missing_command__
 else
 FPCMAKE:=$(firstword $(FPCMAKE))
 endif
@@ -817,7 +845,7 @@ export FPCMAKE
 ifndef ZIPPROG
 ZIPPROG:=$(strip $(wildcard $(addsuffix /zip$(SRCEXEEXT),$(SEARCHPATH))))
 ifeq ($(ZIPPROG),)
-ZIPPROG=
+ZIPPROG= __missing_command__
 else
 ZIPPROG:=$(firstword $(ZIPPROG))
 endif
@@ -826,7 +854,7 @@ export ZIPPROG
 ifndef TARPROG
 TARPROG:=$(strip $(wildcard $(addsuffix /tar$(SRCEXEEXT),$(SEARCHPATH))))
 ifeq ($(TARPROG),)
-TARPROG=
+TARPROG= __missing_command__
 else
 TARPROG:=$(firstword $(TARPROG))
 endif
@@ -838,9 +866,11 @@ ARNAME=$(BINUTILSPREFIX)ar
 RCNAME=$(BINUTILSPREFIX)rc
 ifneq ($(findstring 1.0.,$(FPC_VERSION)),)
 ifeq ($(OS_TARGET),win32)
-ASNAME=as
-LDNAME=ld
-ARNAME=ar
+ifeq ($(CROSSBINDIR),)
+ASNAME=asw
+LDNAME=ldw
+ARNAME=arw
+endif
 endif
 endif
 ifndef ASPROG
@@ -875,7 +905,7 @@ AS=$(ASPROG)
 LD=$(LDPROG)
 RC=$(RCPROG)
 AR=$(ARPROG)
-PPAS=ppas$(BATCHEXT)
+PPAS=ppas$(SRCBATCHEXT)
 ifdef inUnix
 LDCONFIG=ldconfig
 else
@@ -1575,8 +1605,12 @@ ifdef RELEASE
 ifeq ($(CPU_TARGET),i386)
 FPCCPUOPT:=-OG2p3
 else
+ifeq ($(CPU_TARGET),powerpc)
+FPCCPUOPT:=-O1
+else
 FPCCPUOPT:=
 endif
+endif
 override FPCOPT+=-Xs $(FPCCPUOPT) -n
 override FPCOPTDEF+=RELEASE
 endif
@@ -1789,6 +1823,9 @@ override CLEANPPUFILES+=$(addsuffix $(PPUEXT),$(CLEAN_UNITS))
 endif
 ifdef 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 CLEANPPULINKFILES:=$(wildcard $(addprefix $(UNITTARGETDIRPREFIX),$(CLEANPPULINKFILES)))
 endif
@@ -1812,6 +1849,7 @@ ifdef LIB_NAME
 	-$(DEL) $(LIB_NAME) $(LIB_FULLNAME)
 endif
 	-$(DEL) $(FPCMADE) Package.fpc $(PPAS) script.res link.res $(FPCEXTFILE) $(REDIRFILE)
+	-$(DEL) *$(ASMEXT) *_ppas$(BATCHEXT)
 fpc_distclean: clean
 ifdef COMPILER_UNITTARGETDIR
 TARGETDIRCLEAN=fpc_clean
@@ -1823,9 +1861,13 @@ endif
 	-$(DEL) *$(OEXT) *$(PPUEXT) *$(RSTEXT) *$(ASMEXT) *$(STATICLIBEXT) *$(SHAREDLIBEXT) *$(PPLEXT)
 	-$(DELTREE) *$(SMARTEXT)
 	-$(DEL) $(FPCMADE) Package.fpc $(PPAS) script.res link.res $(FPCEXTFILE) $(REDIRFILE)
+	-$(DEL) *_ppas$(BATCHEXT)
 ifdef AOUTEXT
 	-$(DEL) *$(AOUTEXT)
 endif
+ifdef DEBUGSYMEXT
+	-$(DEL) *$(DEBUGSYMEXT)
+endif
 .PHONY: fpc_baseinfo
 override INFORULES+=fpc_baseinfo
 fpc_baseinfo:

+ 100 - 70
fcl/xml/Makefile

@@ -1,15 +1,24 @@
 #
-# Don't edit, this file is generated by FPCMake Version 1.1 [2004/02/22]
+# Don't edit, this file is generated by FPCMake Version 1.1 [2004/04/21]
 #
 default: all
 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:=$(subst \,/,$(PATH))
+ifneq ($(findstring darwin,$(OSTYPE)),)
+inUnix=1 #darwin
+SEARCHPATH:=$(filter-out .,$(subst :, ,$(PATH)))
+else
 ifeq ($(findstring ;,$(PATH)),)
 inUnix=1
 SEARCHPATH:=$(filter-out .,$(subst :, ,$(PATH)))
 else
 SEARCHPATH:=$(subst ;, ,$(PATH))
 endif
+endif
 SEARCHPATH+=$(patsubst %/,%,$(subst \,/,$(dir $(MAKE))))
 PWD:=$(strip $(wildcard $(addsuffix /pwd.exe,$(SEARCHPATH))))
 ifeq ($(PWD),)
@@ -37,22 +46,13 @@ ifneq ($(findstring cygdrive,$(PATH)),)
 inCygWin=1
 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
-BATCHEXT=.sh
+SRCBATCHEXT=.sh
 else
 ifdef inOS2
-BATCHEXT=.cmd
+SRCBATCHEXT=.cmd
 else
-BATCHEXT=.bat
+SRCBATCHEXT=.bat
 endif
 endif
 ifdef inUnix
@@ -155,6 +155,12 @@ ifeq ($(findstring $(OS_TARGET),$(MAKEFILETARGETS)),)
 $(error The Makefile doesn't support target $(OS_TARGET), please run fpcmake first)
 endif
 endif
+ifneq ($(findstring $(OS_TARGET),$(BSDs)),)
+BSDhier=1
+endif
+ifeq ($(OS_TARGET),linux)
+linuxHier=1
+endif
 export OS_TARGET OS_SOURCE CPU_TARGET CPU_SOURCE FULL_TARGET FULL_SOURCE CROSSCOMPILE
 ifdef FPCDIR
 override FPCDIR:=$(subst \,/,$(FPCDIR))
@@ -220,42 +226,12 @@ 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
-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
 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
 ifndef INSTALL_PREFIX
@@ -264,7 +240,7 @@ INSTALL_PREFIX=$(PREFIX)
 endif
 endif
 ifndef INSTALL_PREFIX
-ifdef UNIXINSTALLDIR
+ifdef UNIXHier
 INSTALL_PREFIX=/usr/local
 else
 ifdef INSTALL_FPCPACKAGE
@@ -283,7 +259,7 @@ DIST_DESTDIR:=$(BASEDIR)
 endif
 export DIST_DESTDIR
 ifndef INSTALL_BASEDIR
-ifdef UNIXINSTALLDIR
+ifdef UNIXHier
 ifdef INSTALL_FPCPACKAGE
 INSTALL_BASEDIR:=$(INSTALL_PREFIX)/lib/fpc/$(FPC_VERSION)
 else
@@ -294,7 +270,7 @@ INSTALL_BASEDIR:=$(INSTALL_PREFIX)
 endif
 endif
 ifndef INSTALL_BINDIR
-ifdef UNIXINSTALLDIR
+ifdef UNIXHier
 ifdef CROSSCOMPILE
 INSTALL_BINDIR:=$(INSTALL_BASEDIR)/cross/$(FULL_TARGET)/bin
 else
@@ -324,19 +300,23 @@ endif
 endif
 endif
 ifndef INSTALL_LIBDIR
-ifdef UNIXINSTALLDIR
+ifdef UNIXHier
 INSTALL_LIBDIR:=$(INSTALL_PREFIX)/lib
 else
 INSTALL_LIBDIR:=$(INSTALL_UNITDIR)
 endif
 endif
 ifndef INSTALL_SOURCEDIR
-ifdef UNIXINSTALLDIR
+ifdef UNIXHier
 ifdef BSDhier
 SRCPREFIXDIR=share/src
 else
+ifdef linuxHier
+SRCPREFIXDIR=share/src
+else
 SRCPREFIXDIR=src
 endif
+endif
 ifdef INSTALL_FPCPACKAGE
 ifdef INSTALL_FPCSUBDIR
 INSTALL_SOURCEDIR:=$(INSTALL_PREFIX)/$(SRCPREFIXDIR)/fpc-$(FPC_VERSION)/$(INSTALL_FPCSUBDIR)/$(PACKAGE_NAME)
@@ -359,12 +339,16 @@ endif
 endif
 endif
 ifndef INSTALL_DOCDIR
-ifdef UNIXINSTALLDIR
+ifdef UNIXHier
 ifdef BSDhier
 DOCPREFIXDIR=share/doc
 else
+ifdef linuxHier
+DOCPREFIXDIR=share/doc
+else
 DOCPREFIXDIR=doc
 endif
+endif
 ifdef INSTALL_FPCPACKAGE
 INSTALL_DOCDIR:=$(INSTALL_PREFIX)/$(DOCPREFIXDIR)/fpc-$(FPC_VERSION)/$(PACKAGE_NAME)
 else
@@ -379,20 +363,28 @@ endif
 endif
 endif
 ifndef INSTALL_EXAMPLEDIR
-ifdef UNIXINSTALLDIR
+ifdef UNIXHier
 ifdef INSTALL_FPCPACKAGE
 ifdef BSDhier
 INSTALL_EXAMPLEDIR:=$(INSTALL_PREFIX)/share/examples/fpc-$(FPC_VERSION)/$(PACKAGE_NAME)
 else
+ifdef linuxHier
+INSTALL_EXAMPLEDIR:=$(INSTALL_DOCDIR)/examples/fpc-$(FPC_VERSION)/$(PACKAGE_NAME)
+else
 INSTALL_EXAMPLEDIR:=$(INSTALL_PREFIX)/doc/fpc-$(FPC_VERSION)/examples/$(PACKAGE_NAME)
 endif
+endif
 else
 ifdef BSDhier
 INSTALL_EXAMPLEDIR:=$(INSTALL_PREFIX)/share/examples/$(PACKAGE_NAME)-$(PACKAGE_VERSION)
 else
+ifdef linuxHier
+INSTALL_EXAMPLEDIR:=$(INSTALL_DOCDIR)/examples/$(PACKAGE_NAME)-$(PACKAGE_VERSION)
+else
 INSTALL_EXAMPLEDIR:=$(INSTALL_PREFIX)/doc/$(PACKAGE_NAME)-$(PACKAGE_VERSION)
 endif
 endif
+endif
 else
 ifdef INSTALL_FPCPACKAGE
 INSTALL_EXAMPLEDIR:=$(INSTALL_BASEDIR)/examples/$(PACKAGE_NAME)
@@ -414,6 +406,7 @@ endif
 else
 CROSSBINDIR=
 endif
+BATCHEXT=.bat
 LOADEREXT=.as
 EXEEXT=.exe
 PPLEXT=.ppl
@@ -446,24 +439,28 @@ ASMEXT=.asm
 SHAREDLIBEXT=.dll
 endif
 ifeq ($(OS_TARGET),linux)
+BATCHEXT=.sh
 EXEEXT=
 HASSHAREDLIB=1
 FPCMADE=fpcmade.lnx
 ZIPSUFFIX=linux
 endif
 ifeq ($(OS_TARGET),freebsd)
+BATCHEXT=.sh
 EXEEXT=
 HASSHAREDLIB=1
 FPCMADE=fpcmade.freebsd
 ZIPSUFFIX=freebsd
 endif
 ifeq ($(OS_TARGET),netbsd)
+BATCHEXT=.sh
 EXEEXT=
 HASSHAREDLIB=1
 FPCMADE=fpcmade.netbsd
 ZIPSUFFIX=netbsd
 endif
 ifeq ($(OS_TARGET),openbsd)
+BATCHEXT=.sh
 EXEEXT=
 HASSHAREDLIB=1
 FPCMADE=fpcmade.openbsd
@@ -475,6 +472,7 @@ FPCMADE=fpcmade.w32
 ZIPSUFFIX=w32
 endif
 ifeq ($(OS_TARGET),os2)
+BATCHEXT=.cmd
 AOUTEXT=.out
 STATICLIBPREFIX=
 SHAREDLIBEXT=.dll
@@ -483,6 +481,7 @@ ZIPSUFFIX=os2
 ECHO=echo
 endif
 ifeq ($(OS_TARGET),emx)
+BATCHEXT=.cmd
 AOUTEXT=.out
 STATICLIBPREFIX=
 SHAREDLIBEXT=.dll
@@ -500,16 +499,19 @@ EXEEXT=.ttp
 FPCMADE=fpcmade.ata
 endif
 ifeq ($(OS_TARGET),beos)
+BATCHEXT=.sh
 EXEEXT=
 FPCMADE=fpcmade.be
 ZIPSUFFIX=be
 endif
 ifeq ($(OS_TARGET),sunos)
+BATCHEXT=.sh
 EXEEXT=
 FPCMADE=fpcmade.sun
 ZIPSUFFIX=sun
 endif
 ifeq ($(OS_TARGET),qnx)
+BATCHEXT=.sh
 EXEEXT=
 FPCMADE=fpcmade.qnx
 ZIPSUFFIX=qnx
@@ -521,10 +523,14 @@ FPCMADE=fpcmade.nw
 ZIPSUFFIX=nw
 endif
 ifeq ($(OS_TARGET),macos)
+BATCHEXT=
 EXEEXT=
-FPCMADE=fpcmade.mcc
+FPCMADE=fpcmade.macos
+ZIPSUFFIX=macos
+DEBUGSYMEXT=.xcoff
 endif
 ifeq ($(OS_TARGET),darwin)
+BATCHEXT=.sh
 EXEEXT=
 HASSHAREDLIB=1
 FPCMADE=fpcmade.darwin
@@ -553,24 +559,28 @@ FPCMADE=fpcmade.dos
 ZIPSUFFIX=watcom
 endif
 ifeq ($(OS_TARGET),linux)
+BATCHEXT=.sh
 EXEEXT=
 HASSHAREDLIB=1
 FPCMADE=fpcmade.lnx
 ZIPSUFFIX=linux
 endif
 ifeq ($(OS_TARGET),freebsd)
+BATCHEXT=.sh
 EXEEXT=
 HASSHAREDLIB=1
 FPCMADE=fpcmade.freebsd
 ZIPSUFFIX=freebsd
 endif
 ifeq ($(OS_TARGET),netbsd)
+BATCHEXT=.sh
 EXEEXT=
 HASSHAREDLIB=1
 FPCMADE=fpcmade.netbsd
 ZIPSUFFIX=netbsd
 endif
 ifeq ($(OS_TARGET),openbsd)
+BATCHEXT=.sh
 EXEEXT=
 HASSHAREDLIB=1
 FPCMADE=fpcmade.openbsd
@@ -587,6 +597,7 @@ FPCMADE=fpcmade.w32
 ZIPSUFFIX=w32
 endif
 ifeq ($(OS_TARGET),os2)
+BATCHEXT=.cmd
 PPUEXT=.ppo
 ASMEXT=.so2
 OEXT=.oo2
@@ -619,6 +630,7 @@ EXEEXT=.ttp
 FPCMADE=fpcmade.ata
 endif
 ifeq ($(OS_TARGET),beos)
+BATCHEXT=.sh
 PPUEXT=.ppu
 ASMEXT=.s
 OEXT=.o
@@ -629,6 +641,7 @@ FPCMADE=fpcmade.be
 ZIPSUFFIX=be
 endif
 ifeq ($(OS_TARGET),sunos)
+BATCHEXT=.sh
 PPUEXT=.ppu
 ASMEXT=.s
 OEXT=.o
@@ -639,6 +652,7 @@ FPCMADE=fpcmade.sun
 ZIPSUFFIX=sun
 endif
 ifeq ($(OS_TARGET),qnx)
+BATCHEXT=.sh
 PPUEXT=.ppu
 ASMEXT=.s
 OEXT=.o
@@ -661,13 +675,15 @@ ZIPSUFFIX=nw
 EXEEXT=.nlm
 endif
 ifeq ($(OS_TARGET),macos)
+BATCHEXT=
 PPUEXT=.ppu
 ASMEXT=.s
 OEXT=.o
 SMARTEXT=.sl
 STATICLIBEXT=.a
 EXEEXT=
-FPCMADE=fpcmade.mcc
+DEBUGSYMEXT=.xcoff
+FPCMADE=fpcmade.macos
 endif
 endif
 ifndef ECHO
@@ -675,7 +691,7 @@ ECHO:=$(strip $(wildcard $(addsuffix /gecho$(SRCEXEEXT),$(SEARCHPATH))))
 ifeq ($(ECHO),)
 ECHO:=$(strip $(wildcard $(addsuffix /echo$(SRCEXEEXT),$(SEARCHPATH))))
 ifeq ($(ECHO),)
-ECHO=
+ECHO= __missing_command__
 else
 ECHO:=$(firstword $(ECHO))
 endif
@@ -689,7 +705,7 @@ DATE:=$(strip $(wildcard $(addsuffix /gdate$(SRCEXEEXT),$(SEARCHPATH))))
 ifeq ($(DATE),)
 DATE:=$(strip $(wildcard $(addsuffix /date$(SRCEXEEXT),$(SEARCHPATH))))
 ifeq ($(DATE),)
-DATE=
+DATE= __missing_command__
 else
 DATE:=$(firstword $(DATE))
 endif
@@ -703,7 +719,7 @@ GINSTALL:=$(strip $(wildcard $(addsuffix /ginstall$(SRCEXEEXT),$(SEARCHPATH))))
 ifeq ($(GINSTALL),)
 GINSTALL:=$(strip $(wildcard $(addsuffix /install$(SRCEXEEXT),$(SEARCHPATH))))
 ifeq ($(GINSTALL),)
-GINSTALL=
+GINSTALL= __missing_command__
 else
 GINSTALL:=$(firstword $(GINSTALL))
 endif
@@ -715,7 +731,7 @@ export GINSTALL
 ifndef CPPROG
 CPPROG:=$(strip $(wildcard $(addsuffix /cp$(SRCEXEEXT),$(SEARCHPATH))))
 ifeq ($(CPPROG),)
-CPPROG=
+CPPROG= __missing_command__
 else
 CPPROG:=$(firstword $(CPPROG))
 endif
@@ -724,7 +740,7 @@ export CPPROG
 ifndef RMPROG
 RMPROG:=$(strip $(wildcard $(addsuffix /rm$(SRCEXEEXT),$(SEARCHPATH))))
 ifeq ($(RMPROG),)
-RMPROG=
+RMPROG= __missing_command__
 else
 RMPROG:=$(firstword $(RMPROG))
 endif
@@ -733,7 +749,7 @@ export RMPROG
 ifndef MVPROG
 MVPROG:=$(strip $(wildcard $(addsuffix /mv$(SRCEXEEXT),$(SEARCHPATH))))
 ifeq ($(MVPROG),)
-MVPROG=
+MVPROG= __missing_command__
 else
 MVPROG:=$(firstword $(MVPROG))
 endif
@@ -782,7 +798,7 @@ export ECHOREDIR COPY COPYTREE MOVE DEL DELTREE INSTALL INSTALLEXE MKDIR
 ifndef PPUMOVE
 PPUMOVE:=$(strip $(wildcard $(addsuffix /ppumove$(SRCEXEEXT),$(SEARCHPATH))))
 ifeq ($(PPUMOVE),)
-PPUMOVE=
+PPUMOVE= __missing_command__
 else
 PPUMOVE:=$(firstword $(PPUMOVE))
 endif
@@ -791,7 +807,7 @@ export PPUMOVE
 ifndef FPCMAKE
 FPCMAKE:=$(strip $(wildcard $(addsuffix /fpcmake$(SRCEXEEXT),$(SEARCHPATH))))
 ifeq ($(FPCMAKE),)
-FPCMAKE=
+FPCMAKE= __missing_command__
 else
 FPCMAKE:=$(firstword $(FPCMAKE))
 endif
@@ -800,7 +816,7 @@ export FPCMAKE
 ifndef ZIPPROG
 ZIPPROG:=$(strip $(wildcard $(addsuffix /zip$(SRCEXEEXT),$(SEARCHPATH))))
 ifeq ($(ZIPPROG),)
-ZIPPROG=
+ZIPPROG= __missing_command__
 else
 ZIPPROG:=$(firstword $(ZIPPROG))
 endif
@@ -809,7 +825,7 @@ export ZIPPROG
 ifndef TARPROG
 TARPROG:=$(strip $(wildcard $(addsuffix /tar$(SRCEXEEXT),$(SEARCHPATH))))
 ifeq ($(TARPROG),)
-TARPROG=
+TARPROG= __missing_command__
 else
 TARPROG:=$(firstword $(TARPROG))
 endif
@@ -821,9 +837,11 @@ ARNAME=$(BINUTILSPREFIX)ar
 RCNAME=$(BINUTILSPREFIX)rc
 ifneq ($(findstring 1.0.,$(FPC_VERSION)),)
 ifeq ($(OS_TARGET),win32)
-ASNAME=as
-LDNAME=ld
-ARNAME=ar
+ifeq ($(CROSSBINDIR),)
+ASNAME=asw
+LDNAME=ldw
+ARNAME=arw
+endif
 endif
 endif
 ifndef ASPROG
@@ -858,7 +876,7 @@ AS=$(ASPROG)
 LD=$(LDPROG)
 RC=$(RCPROG)
 AR=$(ARPROG)
-PPAS=ppas$(BATCHEXT)
+PPAS=ppas$(SRCBATCHEXT)
 ifdef inUnix
 LDCONFIG=ldconfig
 else
@@ -1117,8 +1135,12 @@ ifdef RELEASE
 ifeq ($(CPU_TARGET),i386)
 FPCCPUOPT:=-OG2p3
 else
+ifeq ($(CPU_TARGET),powerpc)
+FPCCPUOPT:=-O1
+else
 FPCCPUOPT:=
 endif
+endif
 override FPCOPT+=-Xs $(FPCCPUOPT) -n
 override FPCOPTDEF+=RELEASE
 endif
@@ -1319,6 +1341,9 @@ override CLEANPPUFILES+=$(addsuffix $(PPUEXT),$(CLEAN_UNITS))
 endif
 ifdef 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 CLEANPPULINKFILES:=$(wildcard $(addprefix $(UNITTARGETDIRPREFIX),$(CLEANPPULINKFILES)))
 endif
@@ -1342,6 +1367,7 @@ ifdef LIB_NAME
 	-$(DEL) $(LIB_NAME) $(LIB_FULLNAME)
 endif
 	-$(DEL) $(FPCMADE) Package.fpc $(PPAS) script.res link.res $(FPCEXTFILE) $(REDIRFILE)
+	-$(DEL) *$(ASMEXT) *_ppas$(BATCHEXT)
 fpc_distclean: clean
 ifdef COMPILER_UNITTARGETDIR
 TARGETDIRCLEAN=fpc_clean
@@ -1353,9 +1379,13 @@ endif
 	-$(DEL) *$(OEXT) *$(PPUEXT) *$(RSTEXT) *$(ASMEXT) *$(STATICLIBEXT) *$(SHAREDLIBEXT) *$(PPLEXT)
 	-$(DELTREE) *$(SMARTEXT)
 	-$(DEL) $(FPCMADE) Package.fpc $(PPAS) script.res link.res $(FPCEXTFILE) $(REDIRFILE)
+	-$(DEL) *_ppas$(BATCHEXT)
 ifdef AOUTEXT
 	-$(DEL) *$(AOUTEXT)
 endif
+ifdef DEBUGSYMEXT
+	-$(DEL) *$(DEBUGSYMEXT)
+endif
 .PHONY: fpc_baseinfo
 override INFORULES+=fpc_baseinfo
 fpc_baseinfo:

+ 101 - 71
fv/Makefile

@@ -1,15 +1,24 @@
 #
-# Don't edit, this file is generated by FPCMake Version 1.1 [2004/02/22]
+# Don't edit, this file is generated by FPCMake Version 1.1 [2004/04/21]
 #
 default: all
 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:=$(subst \,/,$(PATH))
+ifneq ($(findstring darwin,$(OSTYPE)),)
+inUnix=1 #darwin
+SEARCHPATH:=$(filter-out .,$(subst :, ,$(PATH)))
+else
 ifeq ($(findstring ;,$(PATH)),)
 inUnix=1
 SEARCHPATH:=$(filter-out .,$(subst :, ,$(PATH)))
 else
 SEARCHPATH:=$(subst ;, ,$(PATH))
 endif
+endif
 SEARCHPATH+=$(patsubst %/,%,$(subst \,/,$(dir $(MAKE))))
 PWD:=$(strip $(wildcard $(addsuffix /pwd.exe,$(SEARCHPATH))))
 ifeq ($(PWD),)
@@ -37,22 +46,13 @@ ifneq ($(findstring cygdrive,$(PATH)),)
 inCygWin=1
 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
-BATCHEXT=.sh
+SRCBATCHEXT=.sh
 else
 ifdef inOS2
-BATCHEXT=.cmd
+SRCBATCHEXT=.cmd
 else
-BATCHEXT=.bat
+SRCBATCHEXT=.bat
 endif
 endif
 ifdef inUnix
@@ -155,6 +155,12 @@ ifeq ($(findstring $(OS_TARGET),$(MAKEFILETARGETS)),)
 $(error The Makefile doesn't support target $(OS_TARGET), please run fpcmake first)
 endif
 endif
+ifneq ($(findstring $(OS_TARGET),$(BSDs)),)
+BSDhier=1
+endif
+ifeq ($(OS_TARGET),linux)
+linuxHier=1
+endif
 export OS_TARGET OS_SOURCE CPU_TARGET CPU_SOURCE FULL_TARGET FULL_SOURCE CROSSCOMPILE
 ifdef FPCDIR
 override FPCDIR:=$(subst \,/,$(FPCDIR))
@@ -243,42 +249,12 @@ 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
-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
 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
 ifndef INSTALL_PREFIX
@@ -287,7 +263,7 @@ INSTALL_PREFIX=$(PREFIX)
 endif
 endif
 ifndef INSTALL_PREFIX
-ifdef UNIXINSTALLDIR
+ifdef UNIXHier
 INSTALL_PREFIX=/usr/local
 else
 ifdef INSTALL_FPCPACKAGE
@@ -306,7 +282,7 @@ DIST_DESTDIR:=$(BASEDIR)
 endif
 export DIST_DESTDIR
 ifndef INSTALL_BASEDIR
-ifdef UNIXINSTALLDIR
+ifdef UNIXHier
 ifdef INSTALL_FPCPACKAGE
 INSTALL_BASEDIR:=$(INSTALL_PREFIX)/lib/fpc/$(FPC_VERSION)
 else
@@ -317,7 +293,7 @@ INSTALL_BASEDIR:=$(INSTALL_PREFIX)
 endif
 endif
 ifndef INSTALL_BINDIR
-ifdef UNIXINSTALLDIR
+ifdef UNIXHier
 ifdef CROSSCOMPILE
 INSTALL_BINDIR:=$(INSTALL_BASEDIR)/cross/$(FULL_TARGET)/bin
 else
@@ -347,19 +323,23 @@ endif
 endif
 endif
 ifndef INSTALL_LIBDIR
-ifdef UNIXINSTALLDIR
+ifdef UNIXHier
 INSTALL_LIBDIR:=$(INSTALL_PREFIX)/lib
 else
 INSTALL_LIBDIR:=$(INSTALL_UNITDIR)
 endif
 endif
 ifndef INSTALL_SOURCEDIR
-ifdef UNIXINSTALLDIR
+ifdef UNIXHier
 ifdef BSDhier
 SRCPREFIXDIR=share/src
 else
+ifdef linuxHier
+SRCPREFIXDIR=share/src
+else
 SRCPREFIXDIR=src
 endif
+endif
 ifdef INSTALL_FPCPACKAGE
 ifdef INSTALL_FPCSUBDIR
 INSTALL_SOURCEDIR:=$(INSTALL_PREFIX)/$(SRCPREFIXDIR)/fpc-$(FPC_VERSION)/$(INSTALL_FPCSUBDIR)/$(PACKAGE_NAME)
@@ -382,12 +362,16 @@ endif
 endif
 endif
 ifndef INSTALL_DOCDIR
-ifdef UNIXINSTALLDIR
+ifdef UNIXHier
 ifdef BSDhier
 DOCPREFIXDIR=share/doc
 else
+ifdef linuxHier
+DOCPREFIXDIR=share/doc
+else
 DOCPREFIXDIR=doc
 endif
+endif
 ifdef INSTALL_FPCPACKAGE
 INSTALL_DOCDIR:=$(INSTALL_PREFIX)/$(DOCPREFIXDIR)/fpc-$(FPC_VERSION)/$(PACKAGE_NAME)
 else
@@ -402,20 +386,28 @@ endif
 endif
 endif
 ifndef INSTALL_EXAMPLEDIR
-ifdef UNIXINSTALLDIR
+ifdef UNIXHier
 ifdef INSTALL_FPCPACKAGE
 ifdef BSDhier
 INSTALL_EXAMPLEDIR:=$(INSTALL_PREFIX)/share/examples/fpc-$(FPC_VERSION)/$(PACKAGE_NAME)
 else
+ifdef linuxHier
+INSTALL_EXAMPLEDIR:=$(INSTALL_DOCDIR)/examples/fpc-$(FPC_VERSION)/$(PACKAGE_NAME)
+else
 INSTALL_EXAMPLEDIR:=$(INSTALL_PREFIX)/doc/fpc-$(FPC_VERSION)/examples/$(PACKAGE_NAME)
 endif
+endif
 else
 ifdef BSDhier
 INSTALL_EXAMPLEDIR:=$(INSTALL_PREFIX)/share/examples/$(PACKAGE_NAME)-$(PACKAGE_VERSION)
 else
+ifdef linuxHier
+INSTALL_EXAMPLEDIR:=$(INSTALL_DOCDIR)/examples/$(PACKAGE_NAME)-$(PACKAGE_VERSION)
+else
 INSTALL_EXAMPLEDIR:=$(INSTALL_PREFIX)/doc/$(PACKAGE_NAME)-$(PACKAGE_VERSION)
 endif
 endif
+endif
 else
 ifdef INSTALL_FPCPACKAGE
 INSTALL_EXAMPLEDIR:=$(INSTALL_BASEDIR)/examples/$(PACKAGE_NAME)
@@ -437,6 +429,7 @@ endif
 else
 CROSSBINDIR=
 endif
+BATCHEXT=.bat
 LOADEREXT=.as
 EXEEXT=.exe
 PPLEXT=.ppl
@@ -469,24 +462,28 @@ ASMEXT=.asm
 SHAREDLIBEXT=.dll
 endif
 ifeq ($(OS_TARGET),linux)
+BATCHEXT=.sh
 EXEEXT=
 HASSHAREDLIB=1
 FPCMADE=fpcmade.lnx
 ZIPSUFFIX=linux
 endif
 ifeq ($(OS_TARGET),freebsd)
+BATCHEXT=.sh
 EXEEXT=
 HASSHAREDLIB=1
 FPCMADE=fpcmade.freebsd
 ZIPSUFFIX=freebsd
 endif
 ifeq ($(OS_TARGET),netbsd)
+BATCHEXT=.sh
 EXEEXT=
 HASSHAREDLIB=1
 FPCMADE=fpcmade.netbsd
 ZIPSUFFIX=netbsd
 endif
 ifeq ($(OS_TARGET),openbsd)
+BATCHEXT=.sh
 EXEEXT=
 HASSHAREDLIB=1
 FPCMADE=fpcmade.openbsd
@@ -498,6 +495,7 @@ FPCMADE=fpcmade.w32
 ZIPSUFFIX=w32
 endif
 ifeq ($(OS_TARGET),os2)
+BATCHEXT=.cmd
 AOUTEXT=.out
 STATICLIBPREFIX=
 SHAREDLIBEXT=.dll
@@ -506,6 +504,7 @@ ZIPSUFFIX=os2
 ECHO=echo
 endif
 ifeq ($(OS_TARGET),emx)
+BATCHEXT=.cmd
 AOUTEXT=.out
 STATICLIBPREFIX=
 SHAREDLIBEXT=.dll
@@ -523,16 +522,19 @@ EXEEXT=.ttp
 FPCMADE=fpcmade.ata
 endif
 ifeq ($(OS_TARGET),beos)
+BATCHEXT=.sh
 EXEEXT=
 FPCMADE=fpcmade.be
 ZIPSUFFIX=be
 endif
 ifeq ($(OS_TARGET),sunos)
+BATCHEXT=.sh
 EXEEXT=
 FPCMADE=fpcmade.sun
 ZIPSUFFIX=sun
 endif
 ifeq ($(OS_TARGET),qnx)
+BATCHEXT=.sh
 EXEEXT=
 FPCMADE=fpcmade.qnx
 ZIPSUFFIX=qnx
@@ -544,10 +546,14 @@ FPCMADE=fpcmade.nw
 ZIPSUFFIX=nw
 endif
 ifeq ($(OS_TARGET),macos)
+BATCHEXT=
 EXEEXT=
-FPCMADE=fpcmade.mcc
+FPCMADE=fpcmade.macos
+ZIPSUFFIX=macos
+DEBUGSYMEXT=.xcoff
 endif
 ifeq ($(OS_TARGET),darwin)
+BATCHEXT=.sh
 EXEEXT=
 HASSHAREDLIB=1
 FPCMADE=fpcmade.darwin
@@ -576,24 +582,28 @@ FPCMADE=fpcmade.dos
 ZIPSUFFIX=watcom
 endif
 ifeq ($(OS_TARGET),linux)
+BATCHEXT=.sh
 EXEEXT=
 HASSHAREDLIB=1
 FPCMADE=fpcmade.lnx
 ZIPSUFFIX=linux
 endif
 ifeq ($(OS_TARGET),freebsd)
+BATCHEXT=.sh
 EXEEXT=
 HASSHAREDLIB=1
 FPCMADE=fpcmade.freebsd
 ZIPSUFFIX=freebsd
 endif
 ifeq ($(OS_TARGET),netbsd)
+BATCHEXT=.sh
 EXEEXT=
 HASSHAREDLIB=1
 FPCMADE=fpcmade.netbsd
 ZIPSUFFIX=netbsd
 endif
 ifeq ($(OS_TARGET),openbsd)
+BATCHEXT=.sh
 EXEEXT=
 HASSHAREDLIB=1
 FPCMADE=fpcmade.openbsd
@@ -610,6 +620,7 @@ FPCMADE=fpcmade.w32
 ZIPSUFFIX=w32
 endif
 ifeq ($(OS_TARGET),os2)
+BATCHEXT=.cmd
 PPUEXT=.ppo
 ASMEXT=.so2
 OEXT=.oo2
@@ -642,6 +653,7 @@ EXEEXT=.ttp
 FPCMADE=fpcmade.ata
 endif
 ifeq ($(OS_TARGET),beos)
+BATCHEXT=.sh
 PPUEXT=.ppu
 ASMEXT=.s
 OEXT=.o
@@ -652,6 +664,7 @@ FPCMADE=fpcmade.be
 ZIPSUFFIX=be
 endif
 ifeq ($(OS_TARGET),sunos)
+BATCHEXT=.sh
 PPUEXT=.ppu
 ASMEXT=.s
 OEXT=.o
@@ -662,6 +675,7 @@ FPCMADE=fpcmade.sun
 ZIPSUFFIX=sun
 endif
 ifeq ($(OS_TARGET),qnx)
+BATCHEXT=.sh
 PPUEXT=.ppu
 ASMEXT=.s
 OEXT=.o
@@ -684,13 +698,15 @@ ZIPSUFFIX=nw
 EXEEXT=.nlm
 endif
 ifeq ($(OS_TARGET),macos)
+BATCHEXT=
 PPUEXT=.ppu
 ASMEXT=.s
 OEXT=.o
 SMARTEXT=.sl
 STATICLIBEXT=.a
 EXEEXT=
-FPCMADE=fpcmade.mcc
+DEBUGSYMEXT=.xcoff
+FPCMADE=fpcmade.macos
 endif
 endif
 ifndef ECHO
@@ -698,7 +714,7 @@ ECHO:=$(strip $(wildcard $(addsuffix /gecho$(SRCEXEEXT),$(SEARCHPATH))))
 ifeq ($(ECHO),)
 ECHO:=$(strip $(wildcard $(addsuffix /echo$(SRCEXEEXT),$(SEARCHPATH))))
 ifeq ($(ECHO),)
-ECHO=
+ECHO= __missing_command__
 else
 ECHO:=$(firstword $(ECHO))
 endif
@@ -712,7 +728,7 @@ DATE:=$(strip $(wildcard $(addsuffix /gdate$(SRCEXEEXT),$(SEARCHPATH))))
 ifeq ($(DATE),)
 DATE:=$(strip $(wildcard $(addsuffix /date$(SRCEXEEXT),$(SEARCHPATH))))
 ifeq ($(DATE),)
-DATE=
+DATE= __missing_command__
 else
 DATE:=$(firstword $(DATE))
 endif
@@ -726,7 +742,7 @@ GINSTALL:=$(strip $(wildcard $(addsuffix /ginstall$(SRCEXEEXT),$(SEARCHPATH))))
 ifeq ($(GINSTALL),)
 GINSTALL:=$(strip $(wildcard $(addsuffix /install$(SRCEXEEXT),$(SEARCHPATH))))
 ifeq ($(GINSTALL),)
-GINSTALL=
+GINSTALL= __missing_command__
 else
 GINSTALL:=$(firstword $(GINSTALL))
 endif
@@ -738,7 +754,7 @@ export GINSTALL
 ifndef CPPROG
 CPPROG:=$(strip $(wildcard $(addsuffix /cp$(SRCEXEEXT),$(SEARCHPATH))))
 ifeq ($(CPPROG),)
-CPPROG=
+CPPROG= __missing_command__
 else
 CPPROG:=$(firstword $(CPPROG))
 endif
@@ -747,7 +763,7 @@ export CPPROG
 ifndef RMPROG
 RMPROG:=$(strip $(wildcard $(addsuffix /rm$(SRCEXEEXT),$(SEARCHPATH))))
 ifeq ($(RMPROG),)
-RMPROG=
+RMPROG= __missing_command__
 else
 RMPROG:=$(firstword $(RMPROG))
 endif
@@ -756,7 +772,7 @@ export RMPROG
 ifndef MVPROG
 MVPROG:=$(strip $(wildcard $(addsuffix /mv$(SRCEXEEXT),$(SEARCHPATH))))
 ifeq ($(MVPROG),)
-MVPROG=
+MVPROG= __missing_command__
 else
 MVPROG:=$(firstword $(MVPROG))
 endif
@@ -805,7 +821,7 @@ export ECHOREDIR COPY COPYTREE MOVE DEL DELTREE INSTALL INSTALLEXE MKDIR
 ifndef PPUMOVE
 PPUMOVE:=$(strip $(wildcard $(addsuffix /ppumove$(SRCEXEEXT),$(SEARCHPATH))))
 ifeq ($(PPUMOVE),)
-PPUMOVE=
+PPUMOVE= __missing_command__
 else
 PPUMOVE:=$(firstword $(PPUMOVE))
 endif
@@ -814,7 +830,7 @@ export PPUMOVE
 ifndef FPCMAKE
 FPCMAKE:=$(strip $(wildcard $(addsuffix /fpcmake$(SRCEXEEXT),$(SEARCHPATH))))
 ifeq ($(FPCMAKE),)
-FPCMAKE=
+FPCMAKE= __missing_command__
 else
 FPCMAKE:=$(firstword $(FPCMAKE))
 endif
@@ -823,7 +839,7 @@ export FPCMAKE
 ifndef ZIPPROG
 ZIPPROG:=$(strip $(wildcard $(addsuffix /zip$(SRCEXEEXT),$(SEARCHPATH))))
 ifeq ($(ZIPPROG),)
-ZIPPROG=
+ZIPPROG= __missing_command__
 else
 ZIPPROG:=$(firstword $(ZIPPROG))
 endif
@@ -832,7 +848,7 @@ export ZIPPROG
 ifndef TARPROG
 TARPROG:=$(strip $(wildcard $(addsuffix /tar$(SRCEXEEXT),$(SEARCHPATH))))
 ifeq ($(TARPROG),)
-TARPROG=
+TARPROG= __missing_command__
 else
 TARPROG:=$(firstword $(TARPROG))
 endif
@@ -844,9 +860,11 @@ ARNAME=$(BINUTILSPREFIX)ar
 RCNAME=$(BINUTILSPREFIX)rc
 ifneq ($(findstring 1.0.,$(FPC_VERSION)),)
 ifeq ($(OS_TARGET),win32)
-ASNAME=as
-LDNAME=ld
-ARNAME=ar
+ifeq ($(CROSSBINDIR),)
+ASNAME=asw
+LDNAME=ldw
+ARNAME=arw
+endif
 endif
 endif
 ifndef ASPROG
@@ -881,7 +899,7 @@ AS=$(ASPROG)
 LD=$(LDPROG)
 RC=$(RCPROG)
 AR=$(ARPROG)
-PPAS=ppas$(BATCHEXT)
+PPAS=ppas$(SRCBATCHEXT)
 ifdef inUnix
 LDCONFIG=ldconfig
 else
@@ -1140,8 +1158,12 @@ ifdef RELEASE
 ifeq ($(CPU_TARGET),i386)
 FPCCPUOPT:=-OG2p3
 else
+ifeq ($(CPU_TARGET),powerpc)
+FPCCPUOPT:=-O1
+else
 FPCCPUOPT:=
 endif
+endif
 override FPCOPT+=-Xs $(FPCCPUOPT) -n
 override FPCOPTDEF+=RELEASE
 endif
@@ -1385,7 +1407,7 @@ USEZIPWRAPPER=1
 endif
 ifdef USEZIPWRAPPER
 ZIPPATHSEP=$(PATHSEP)
-ZIPWRAPPER=$(subst /,$(PATHSEP),$(DIST_DESTDIR)/fpczip$(BATCHEXT))
+ZIPWRAPPER=$(subst /,$(PATHSEP),$(DIST_DESTDIR)/fpczip$(SRCBATCHEXT))
 else
 ZIPPATHSEP=/
 endif
@@ -1439,6 +1461,9 @@ override CLEANPPUFILES+=$(addsuffix $(PPUEXT),$(CLEAN_UNITS))
 endif
 ifdef 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 CLEANPPULINKFILES:=$(wildcard $(addprefix $(UNITTARGETDIRPREFIX),$(CLEANPPULINKFILES)))
 endif
@@ -1462,6 +1487,7 @@ ifdef LIB_NAME
 	-$(DEL) $(LIB_NAME) $(LIB_FULLNAME)
 endif
 	-$(DEL) $(FPCMADE) Package.fpc $(PPAS) script.res link.res $(FPCEXTFILE) $(REDIRFILE)
+	-$(DEL) *$(ASMEXT) *_ppas$(BATCHEXT)
 fpc_distclean: clean
 ifdef COMPILER_UNITTARGETDIR
 TARGETDIRCLEAN=fpc_clean
@@ -1473,9 +1499,13 @@ endif
 	-$(DEL) *$(OEXT) *$(PPUEXT) *$(RSTEXT) *$(ASMEXT) *$(STATICLIBEXT) *$(SHAREDLIBEXT) *$(PPLEXT)
 	-$(DELTREE) *$(SMARTEXT)
 	-$(DEL) $(FPCMADE) Package.fpc $(PPAS) script.res link.res $(FPCEXTFILE) $(REDIRFILE)
+	-$(DEL) *_ppas$(BATCHEXT)
 ifdef AOUTEXT
 	-$(DEL) *$(AOUTEXT)
 endif
+ifdef DEBUGSYMEXT
+	-$(DEL) *$(DEBUGSYMEXT)
+endif
 .PHONY: fpc_baseinfo
 override INFORULES+=fpc_baseinfo
 fpc_baseinfo:

+ 101 - 71
fvision/Makefile

@@ -1,15 +1,24 @@
 #
-# Don't edit, this file is generated by FPCMake Version 1.1 [2004/02/22]
+# Don't edit, this file is generated by FPCMake Version 1.1 [2004/04/21]
 #
 default: all
 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:=$(subst \,/,$(PATH))
+ifneq ($(findstring darwin,$(OSTYPE)),)
+inUnix=1 #darwin
+SEARCHPATH:=$(filter-out .,$(subst :, ,$(PATH)))
+else
 ifeq ($(findstring ;,$(PATH)),)
 inUnix=1
 SEARCHPATH:=$(filter-out .,$(subst :, ,$(PATH)))
 else
 SEARCHPATH:=$(subst ;, ,$(PATH))
 endif
+endif
 SEARCHPATH+=$(patsubst %/,%,$(subst \,/,$(dir $(MAKE))))
 PWD:=$(strip $(wildcard $(addsuffix /pwd.exe,$(SEARCHPATH))))
 ifeq ($(PWD),)
@@ -37,22 +46,13 @@ ifneq ($(findstring cygdrive,$(PATH)),)
 inCygWin=1
 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
-BATCHEXT=.sh
+SRCBATCHEXT=.sh
 else
 ifdef inOS2
-BATCHEXT=.cmd
+SRCBATCHEXT=.cmd
 else
-BATCHEXT=.bat
+SRCBATCHEXT=.bat
 endif
 endif
 ifdef inUnix
@@ -155,6 +155,12 @@ ifeq ($(findstring $(OS_TARGET),$(MAKEFILETARGETS)),)
 $(error The Makefile doesn't support target $(OS_TARGET), please run fpcmake first)
 endif
 endif
+ifneq ($(findstring $(OS_TARGET),$(BSDs)),)
+BSDhier=1
+endif
+ifeq ($(OS_TARGET),linux)
+linuxHier=1
+endif
 export OS_TARGET OS_SOURCE CPU_TARGET CPU_SOURCE FULL_TARGET FULL_SOURCE CROSSCOMPILE
 ifdef FPCDIR
 override FPCDIR:=$(subst \,/,$(FPCDIR))
@@ -243,42 +249,12 @@ 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
-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
 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
 ifndef INSTALL_PREFIX
@@ -287,7 +263,7 @@ INSTALL_PREFIX=$(PREFIX)
 endif
 endif
 ifndef INSTALL_PREFIX
-ifdef UNIXINSTALLDIR
+ifdef UNIXHier
 INSTALL_PREFIX=/usr/local
 else
 ifdef INSTALL_FPCPACKAGE
@@ -306,7 +282,7 @@ DIST_DESTDIR:=$(BASEDIR)
 endif
 export DIST_DESTDIR
 ifndef INSTALL_BASEDIR
-ifdef UNIXINSTALLDIR
+ifdef UNIXHier
 ifdef INSTALL_FPCPACKAGE
 INSTALL_BASEDIR:=$(INSTALL_PREFIX)/lib/fpc/$(FPC_VERSION)
 else
@@ -317,7 +293,7 @@ INSTALL_BASEDIR:=$(INSTALL_PREFIX)
 endif
 endif
 ifndef INSTALL_BINDIR
-ifdef UNIXINSTALLDIR
+ifdef UNIXHier
 ifdef CROSSCOMPILE
 INSTALL_BINDIR:=$(INSTALL_BASEDIR)/cross/$(FULL_TARGET)/bin
 else
@@ -347,19 +323,23 @@ endif
 endif
 endif
 ifndef INSTALL_LIBDIR
-ifdef UNIXINSTALLDIR
+ifdef UNIXHier
 INSTALL_LIBDIR:=$(INSTALL_PREFIX)/lib
 else
 INSTALL_LIBDIR:=$(INSTALL_UNITDIR)
 endif
 endif
 ifndef INSTALL_SOURCEDIR
-ifdef UNIXINSTALLDIR
+ifdef UNIXHier
 ifdef BSDhier
 SRCPREFIXDIR=share/src
 else
+ifdef linuxHier
+SRCPREFIXDIR=share/src
+else
 SRCPREFIXDIR=src
 endif
+endif
 ifdef INSTALL_FPCPACKAGE
 ifdef INSTALL_FPCSUBDIR
 INSTALL_SOURCEDIR:=$(INSTALL_PREFIX)/$(SRCPREFIXDIR)/fpc-$(FPC_VERSION)/$(INSTALL_FPCSUBDIR)/$(PACKAGE_NAME)
@@ -382,12 +362,16 @@ endif
 endif
 endif
 ifndef INSTALL_DOCDIR
-ifdef UNIXINSTALLDIR
+ifdef UNIXHier
 ifdef BSDhier
 DOCPREFIXDIR=share/doc
 else
+ifdef linuxHier
+DOCPREFIXDIR=share/doc
+else
 DOCPREFIXDIR=doc
 endif
+endif
 ifdef INSTALL_FPCPACKAGE
 INSTALL_DOCDIR:=$(INSTALL_PREFIX)/$(DOCPREFIXDIR)/fpc-$(FPC_VERSION)/$(PACKAGE_NAME)
 else
@@ -402,20 +386,28 @@ endif
 endif
 endif
 ifndef INSTALL_EXAMPLEDIR
-ifdef UNIXINSTALLDIR
+ifdef UNIXHier
 ifdef INSTALL_FPCPACKAGE
 ifdef BSDhier
 INSTALL_EXAMPLEDIR:=$(INSTALL_PREFIX)/share/examples/fpc-$(FPC_VERSION)/$(PACKAGE_NAME)
 else
+ifdef linuxHier
+INSTALL_EXAMPLEDIR:=$(INSTALL_DOCDIR)/examples/fpc-$(FPC_VERSION)/$(PACKAGE_NAME)
+else
 INSTALL_EXAMPLEDIR:=$(INSTALL_PREFIX)/doc/fpc-$(FPC_VERSION)/examples/$(PACKAGE_NAME)
 endif
+endif
 else
 ifdef BSDhier
 INSTALL_EXAMPLEDIR:=$(INSTALL_PREFIX)/share/examples/$(PACKAGE_NAME)-$(PACKAGE_VERSION)
 else
+ifdef linuxHier
+INSTALL_EXAMPLEDIR:=$(INSTALL_DOCDIR)/examples/$(PACKAGE_NAME)-$(PACKAGE_VERSION)
+else
 INSTALL_EXAMPLEDIR:=$(INSTALL_PREFIX)/doc/$(PACKAGE_NAME)-$(PACKAGE_VERSION)
 endif
 endif
+endif
 else
 ifdef INSTALL_FPCPACKAGE
 INSTALL_EXAMPLEDIR:=$(INSTALL_BASEDIR)/examples/$(PACKAGE_NAME)
@@ -437,6 +429,7 @@ endif
 else
 CROSSBINDIR=
 endif
+BATCHEXT=.bat
 LOADEREXT=.as
 EXEEXT=.exe
 PPLEXT=.ppl
@@ -469,24 +462,28 @@ ASMEXT=.asm
 SHAREDLIBEXT=.dll
 endif
 ifeq ($(OS_TARGET),linux)
+BATCHEXT=.sh
 EXEEXT=
 HASSHAREDLIB=1
 FPCMADE=fpcmade.lnx
 ZIPSUFFIX=linux
 endif
 ifeq ($(OS_TARGET),freebsd)
+BATCHEXT=.sh
 EXEEXT=
 HASSHAREDLIB=1
 FPCMADE=fpcmade.freebsd
 ZIPSUFFIX=freebsd
 endif
 ifeq ($(OS_TARGET),netbsd)
+BATCHEXT=.sh
 EXEEXT=
 HASSHAREDLIB=1
 FPCMADE=fpcmade.netbsd
 ZIPSUFFIX=netbsd
 endif
 ifeq ($(OS_TARGET),openbsd)
+BATCHEXT=.sh
 EXEEXT=
 HASSHAREDLIB=1
 FPCMADE=fpcmade.openbsd
@@ -498,6 +495,7 @@ FPCMADE=fpcmade.w32
 ZIPSUFFIX=w32
 endif
 ifeq ($(OS_TARGET),os2)
+BATCHEXT=.cmd
 AOUTEXT=.out
 STATICLIBPREFIX=
 SHAREDLIBEXT=.dll
@@ -506,6 +504,7 @@ ZIPSUFFIX=os2
 ECHO=echo
 endif
 ifeq ($(OS_TARGET),emx)
+BATCHEXT=.cmd
 AOUTEXT=.out
 STATICLIBPREFIX=
 SHAREDLIBEXT=.dll
@@ -523,16 +522,19 @@ EXEEXT=.ttp
 FPCMADE=fpcmade.ata
 endif
 ifeq ($(OS_TARGET),beos)
+BATCHEXT=.sh
 EXEEXT=
 FPCMADE=fpcmade.be
 ZIPSUFFIX=be
 endif
 ifeq ($(OS_TARGET),sunos)
+BATCHEXT=.sh
 EXEEXT=
 FPCMADE=fpcmade.sun
 ZIPSUFFIX=sun
 endif
 ifeq ($(OS_TARGET),qnx)
+BATCHEXT=.sh
 EXEEXT=
 FPCMADE=fpcmade.qnx
 ZIPSUFFIX=qnx
@@ -544,10 +546,14 @@ FPCMADE=fpcmade.nw
 ZIPSUFFIX=nw
 endif
 ifeq ($(OS_TARGET),macos)
+BATCHEXT=
 EXEEXT=
-FPCMADE=fpcmade.mcc
+FPCMADE=fpcmade.macos
+ZIPSUFFIX=macos
+DEBUGSYMEXT=.xcoff
 endif
 ifeq ($(OS_TARGET),darwin)
+BATCHEXT=.sh
 EXEEXT=
 HASSHAREDLIB=1
 FPCMADE=fpcmade.darwin
@@ -576,24 +582,28 @@ FPCMADE=fpcmade.dos
 ZIPSUFFIX=watcom
 endif
 ifeq ($(OS_TARGET),linux)
+BATCHEXT=.sh
 EXEEXT=
 HASSHAREDLIB=1
 FPCMADE=fpcmade.lnx
 ZIPSUFFIX=linux
 endif
 ifeq ($(OS_TARGET),freebsd)
+BATCHEXT=.sh
 EXEEXT=
 HASSHAREDLIB=1
 FPCMADE=fpcmade.freebsd
 ZIPSUFFIX=freebsd
 endif
 ifeq ($(OS_TARGET),netbsd)
+BATCHEXT=.sh
 EXEEXT=
 HASSHAREDLIB=1
 FPCMADE=fpcmade.netbsd
 ZIPSUFFIX=netbsd
 endif
 ifeq ($(OS_TARGET),openbsd)
+BATCHEXT=.sh
 EXEEXT=
 HASSHAREDLIB=1
 FPCMADE=fpcmade.openbsd
@@ -610,6 +620,7 @@ FPCMADE=fpcmade.w32
 ZIPSUFFIX=w32
 endif
 ifeq ($(OS_TARGET),os2)
+BATCHEXT=.cmd
 PPUEXT=.ppo
 ASMEXT=.so2
 OEXT=.oo2
@@ -642,6 +653,7 @@ EXEEXT=.ttp
 FPCMADE=fpcmade.ata
 endif
 ifeq ($(OS_TARGET),beos)
+BATCHEXT=.sh
 PPUEXT=.ppu
 ASMEXT=.s
 OEXT=.o
@@ -652,6 +664,7 @@ FPCMADE=fpcmade.be
 ZIPSUFFIX=be
 endif
 ifeq ($(OS_TARGET),sunos)
+BATCHEXT=.sh
 PPUEXT=.ppu
 ASMEXT=.s
 OEXT=.o
@@ -662,6 +675,7 @@ FPCMADE=fpcmade.sun
 ZIPSUFFIX=sun
 endif
 ifeq ($(OS_TARGET),qnx)
+BATCHEXT=.sh
 PPUEXT=.ppu
 ASMEXT=.s
 OEXT=.o
@@ -684,13 +698,15 @@ ZIPSUFFIX=nw
 EXEEXT=.nlm
 endif
 ifeq ($(OS_TARGET),macos)
+BATCHEXT=
 PPUEXT=.ppu
 ASMEXT=.s
 OEXT=.o
 SMARTEXT=.sl
 STATICLIBEXT=.a
 EXEEXT=
-FPCMADE=fpcmade.mcc
+DEBUGSYMEXT=.xcoff
+FPCMADE=fpcmade.macos
 endif
 endif
 ifndef ECHO
@@ -698,7 +714,7 @@ ECHO:=$(strip $(wildcard $(addsuffix /gecho$(SRCEXEEXT),$(SEARCHPATH))))
 ifeq ($(ECHO),)
 ECHO:=$(strip $(wildcard $(addsuffix /echo$(SRCEXEEXT),$(SEARCHPATH))))
 ifeq ($(ECHO),)
-ECHO=
+ECHO= __missing_command__
 else
 ECHO:=$(firstword $(ECHO))
 endif
@@ -712,7 +728,7 @@ DATE:=$(strip $(wildcard $(addsuffix /gdate$(SRCEXEEXT),$(SEARCHPATH))))
 ifeq ($(DATE),)
 DATE:=$(strip $(wildcard $(addsuffix /date$(SRCEXEEXT),$(SEARCHPATH))))
 ifeq ($(DATE),)
-DATE=
+DATE= __missing_command__
 else
 DATE:=$(firstword $(DATE))
 endif
@@ -726,7 +742,7 @@ GINSTALL:=$(strip $(wildcard $(addsuffix /ginstall$(SRCEXEEXT),$(SEARCHPATH))))
 ifeq ($(GINSTALL),)
 GINSTALL:=$(strip $(wildcard $(addsuffix /install$(SRCEXEEXT),$(SEARCHPATH))))
 ifeq ($(GINSTALL),)
-GINSTALL=
+GINSTALL= __missing_command__
 else
 GINSTALL:=$(firstword $(GINSTALL))
 endif
@@ -738,7 +754,7 @@ export GINSTALL
 ifndef CPPROG
 CPPROG:=$(strip $(wildcard $(addsuffix /cp$(SRCEXEEXT),$(SEARCHPATH))))
 ifeq ($(CPPROG),)
-CPPROG=
+CPPROG= __missing_command__
 else
 CPPROG:=$(firstword $(CPPROG))
 endif
@@ -747,7 +763,7 @@ export CPPROG
 ifndef RMPROG
 RMPROG:=$(strip $(wildcard $(addsuffix /rm$(SRCEXEEXT),$(SEARCHPATH))))
 ifeq ($(RMPROG),)
-RMPROG=
+RMPROG= __missing_command__
 else
 RMPROG:=$(firstword $(RMPROG))
 endif
@@ -756,7 +772,7 @@ export RMPROG
 ifndef MVPROG
 MVPROG:=$(strip $(wildcard $(addsuffix /mv$(SRCEXEEXT),$(SEARCHPATH))))
 ifeq ($(MVPROG),)
-MVPROG=
+MVPROG= __missing_command__
 else
 MVPROG:=$(firstword $(MVPROG))
 endif
@@ -805,7 +821,7 @@ export ECHOREDIR COPY COPYTREE MOVE DEL DELTREE INSTALL INSTALLEXE MKDIR
 ifndef PPUMOVE
 PPUMOVE:=$(strip $(wildcard $(addsuffix /ppumove$(SRCEXEEXT),$(SEARCHPATH))))
 ifeq ($(PPUMOVE),)
-PPUMOVE=
+PPUMOVE= __missing_command__
 else
 PPUMOVE:=$(firstword $(PPUMOVE))
 endif
@@ -814,7 +830,7 @@ export PPUMOVE
 ifndef FPCMAKE
 FPCMAKE:=$(strip $(wildcard $(addsuffix /fpcmake$(SRCEXEEXT),$(SEARCHPATH))))
 ifeq ($(FPCMAKE),)
-FPCMAKE=
+FPCMAKE= __missing_command__
 else
 FPCMAKE:=$(firstword $(FPCMAKE))
 endif
@@ -823,7 +839,7 @@ export FPCMAKE
 ifndef ZIPPROG
 ZIPPROG:=$(strip $(wildcard $(addsuffix /zip$(SRCEXEEXT),$(SEARCHPATH))))
 ifeq ($(ZIPPROG),)
-ZIPPROG=
+ZIPPROG= __missing_command__
 else
 ZIPPROG:=$(firstword $(ZIPPROG))
 endif
@@ -832,7 +848,7 @@ export ZIPPROG
 ifndef TARPROG
 TARPROG:=$(strip $(wildcard $(addsuffix /tar$(SRCEXEEXT),$(SEARCHPATH))))
 ifeq ($(TARPROG),)
-TARPROG=
+TARPROG= __missing_command__
 else
 TARPROG:=$(firstword $(TARPROG))
 endif
@@ -844,9 +860,11 @@ ARNAME=$(BINUTILSPREFIX)ar
 RCNAME=$(BINUTILSPREFIX)rc
 ifneq ($(findstring 1.0.,$(FPC_VERSION)),)
 ifeq ($(OS_TARGET),win32)
-ASNAME=as
-LDNAME=ld
-ARNAME=ar
+ifeq ($(CROSSBINDIR),)
+ASNAME=asw
+LDNAME=ldw
+ARNAME=arw
+endif
 endif
 endif
 ifndef ASPROG
@@ -881,7 +899,7 @@ AS=$(ASPROG)
 LD=$(LDPROG)
 RC=$(RCPROG)
 AR=$(ARPROG)
-PPAS=ppas$(BATCHEXT)
+PPAS=ppas$(SRCBATCHEXT)
 ifdef inUnix
 LDCONFIG=ldconfig
 else
@@ -1140,8 +1158,12 @@ ifdef RELEASE
 ifeq ($(CPU_TARGET),i386)
 FPCCPUOPT:=-OG2p3
 else
+ifeq ($(CPU_TARGET),powerpc)
+FPCCPUOPT:=-O1
+else
 FPCCPUOPT:=
 endif
+endif
 override FPCOPT+=-Xs $(FPCCPUOPT) -n
 override FPCOPTDEF+=RELEASE
 endif
@@ -1385,7 +1407,7 @@ USEZIPWRAPPER=1
 endif
 ifdef USEZIPWRAPPER
 ZIPPATHSEP=$(PATHSEP)
-ZIPWRAPPER=$(subst /,$(PATHSEP),$(DIST_DESTDIR)/fpczip$(BATCHEXT))
+ZIPWRAPPER=$(subst /,$(PATHSEP),$(DIST_DESTDIR)/fpczip$(SRCBATCHEXT))
 else
 ZIPPATHSEP=/
 endif
@@ -1439,6 +1461,9 @@ override CLEANPPUFILES+=$(addsuffix $(PPUEXT),$(CLEAN_UNITS))
 endif
 ifdef 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 CLEANPPULINKFILES:=$(wildcard $(addprefix $(UNITTARGETDIRPREFIX),$(CLEANPPULINKFILES)))
 endif
@@ -1462,6 +1487,7 @@ ifdef LIB_NAME
 	-$(DEL) $(LIB_NAME) $(LIB_FULLNAME)
 endif
 	-$(DEL) $(FPCMADE) Package.fpc $(PPAS) script.res link.res $(FPCEXTFILE) $(REDIRFILE)
+	-$(DEL) *$(ASMEXT) *_ppas$(BATCHEXT)
 fpc_distclean: clean
 ifdef COMPILER_UNITTARGETDIR
 TARGETDIRCLEAN=fpc_clean
@@ -1473,9 +1499,13 @@ endif
 	-$(DEL) *$(OEXT) *$(PPUEXT) *$(RSTEXT) *$(ASMEXT) *$(STATICLIBEXT) *$(SHAREDLIBEXT) *$(PPLEXT)
 	-$(DELTREE) *$(SMARTEXT)
 	-$(DEL) $(FPCMADE) Package.fpc $(PPAS) script.res link.res $(FPCEXTFILE) $(REDIRFILE)
+	-$(DEL) *_ppas$(BATCHEXT)
 ifdef AOUTEXT
 	-$(DEL) *$(AOUTEXT)
 endif
+ifdef DEBUGSYMEXT
+	-$(DEL) *$(DEBUGSYMEXT)
+endif
 .PHONY: fpc_baseinfo
 override INFORULES+=fpc_baseinfo
 fpc_baseinfo:

+ 100 - 70
ide/compiler/Makefile

@@ -1,15 +1,24 @@
 #
-# Don't edit, this file is generated by FPCMake Version 1.1 [2004/02/22]
+# Don't edit, this file is generated by FPCMake Version 1.1 [2004/04/21]
 #
 default: all
 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:=$(subst \,/,$(PATH))
+ifneq ($(findstring darwin,$(OSTYPE)),)
+inUnix=1 #darwin
+SEARCHPATH:=$(filter-out .,$(subst :, ,$(PATH)))
+else
 ifeq ($(findstring ;,$(PATH)),)
 inUnix=1
 SEARCHPATH:=$(filter-out .,$(subst :, ,$(PATH)))
 else
 SEARCHPATH:=$(subst ;, ,$(PATH))
 endif
+endif
 SEARCHPATH+=$(patsubst %/,%,$(subst \,/,$(dir $(MAKE))))
 PWD:=$(strip $(wildcard $(addsuffix /pwd.exe,$(SEARCHPATH))))
 ifeq ($(PWD),)
@@ -37,22 +46,13 @@ ifneq ($(findstring cygdrive,$(PATH)),)
 inCygWin=1
 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
-BATCHEXT=.sh
+SRCBATCHEXT=.sh
 else
 ifdef inOS2
-BATCHEXT=.cmd
+SRCBATCHEXT=.cmd
 else
-BATCHEXT=.bat
+SRCBATCHEXT=.bat
 endif
 endif
 ifdef inUnix
@@ -155,6 +155,12 @@ ifeq ($(findstring $(OS_TARGET),$(MAKEFILETARGETS)),)
 $(error The Makefile doesn't support target $(OS_TARGET), please run fpcmake first)
 endif
 endif
+ifneq ($(findstring $(OS_TARGET),$(BSDs)),)
+BSDhier=1
+endif
+ifeq ($(OS_TARGET),linux)
+linuxHier=1
+endif
 export OS_TARGET OS_SOURCE CPU_TARGET CPU_SOURCE FULL_TARGET FULL_SOURCE CROSSCOMPILE
 ifdef FPCDIR
 override FPCDIR:=$(subst \,/,$(FPCDIR))
@@ -231,42 +237,12 @@ 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
-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
 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
 ifndef INSTALL_PREFIX
@@ -275,7 +251,7 @@ INSTALL_PREFIX=$(PREFIX)
 endif
 endif
 ifndef INSTALL_PREFIX
-ifdef UNIXINSTALLDIR
+ifdef UNIXHier
 INSTALL_PREFIX=/usr/local
 else
 ifdef INSTALL_FPCPACKAGE
@@ -294,7 +270,7 @@ DIST_DESTDIR:=$(BASEDIR)
 endif
 export DIST_DESTDIR
 ifndef INSTALL_BASEDIR
-ifdef UNIXINSTALLDIR
+ifdef UNIXHier
 ifdef INSTALL_FPCPACKAGE
 INSTALL_BASEDIR:=$(INSTALL_PREFIX)/lib/fpc/$(FPC_VERSION)
 else
@@ -305,7 +281,7 @@ INSTALL_BASEDIR:=$(INSTALL_PREFIX)
 endif
 endif
 ifndef INSTALL_BINDIR
-ifdef UNIXINSTALLDIR
+ifdef UNIXHier
 ifdef CROSSCOMPILE
 INSTALL_BINDIR:=$(INSTALL_BASEDIR)/cross/$(FULL_TARGET)/bin
 else
@@ -335,19 +311,23 @@ endif
 endif
 endif
 ifndef INSTALL_LIBDIR
-ifdef UNIXINSTALLDIR
+ifdef UNIXHier
 INSTALL_LIBDIR:=$(INSTALL_PREFIX)/lib
 else
 INSTALL_LIBDIR:=$(INSTALL_UNITDIR)
 endif
 endif
 ifndef INSTALL_SOURCEDIR
-ifdef UNIXINSTALLDIR
+ifdef UNIXHier
 ifdef BSDhier
 SRCPREFIXDIR=share/src
 else
+ifdef linuxHier
+SRCPREFIXDIR=share/src
+else
 SRCPREFIXDIR=src
 endif
+endif
 ifdef INSTALL_FPCPACKAGE
 ifdef INSTALL_FPCSUBDIR
 INSTALL_SOURCEDIR:=$(INSTALL_PREFIX)/$(SRCPREFIXDIR)/fpc-$(FPC_VERSION)/$(INSTALL_FPCSUBDIR)/$(PACKAGE_NAME)
@@ -370,12 +350,16 @@ endif
 endif
 endif
 ifndef INSTALL_DOCDIR
-ifdef UNIXINSTALLDIR
+ifdef UNIXHier
 ifdef BSDhier
 DOCPREFIXDIR=share/doc
 else
+ifdef linuxHier
+DOCPREFIXDIR=share/doc
+else
 DOCPREFIXDIR=doc
 endif
+endif
 ifdef INSTALL_FPCPACKAGE
 INSTALL_DOCDIR:=$(INSTALL_PREFIX)/$(DOCPREFIXDIR)/fpc-$(FPC_VERSION)/$(PACKAGE_NAME)
 else
@@ -390,20 +374,28 @@ endif
 endif
 endif
 ifndef INSTALL_EXAMPLEDIR
-ifdef UNIXINSTALLDIR
+ifdef UNIXHier
 ifdef INSTALL_FPCPACKAGE
 ifdef BSDhier
 INSTALL_EXAMPLEDIR:=$(INSTALL_PREFIX)/share/examples/fpc-$(FPC_VERSION)/$(PACKAGE_NAME)
 else
+ifdef linuxHier
+INSTALL_EXAMPLEDIR:=$(INSTALL_DOCDIR)/examples/fpc-$(FPC_VERSION)/$(PACKAGE_NAME)
+else
 INSTALL_EXAMPLEDIR:=$(INSTALL_PREFIX)/doc/fpc-$(FPC_VERSION)/examples/$(PACKAGE_NAME)
 endif
+endif
 else
 ifdef BSDhier
 INSTALL_EXAMPLEDIR:=$(INSTALL_PREFIX)/share/examples/$(PACKAGE_NAME)-$(PACKAGE_VERSION)
 else
+ifdef linuxHier
+INSTALL_EXAMPLEDIR:=$(INSTALL_DOCDIR)/examples/$(PACKAGE_NAME)-$(PACKAGE_VERSION)
+else
 INSTALL_EXAMPLEDIR:=$(INSTALL_PREFIX)/doc/$(PACKAGE_NAME)-$(PACKAGE_VERSION)
 endif
 endif
+endif
 else
 ifdef INSTALL_FPCPACKAGE
 INSTALL_EXAMPLEDIR:=$(INSTALL_BASEDIR)/examples/$(PACKAGE_NAME)
@@ -425,6 +417,7 @@ endif
 else
 CROSSBINDIR=
 endif
+BATCHEXT=.bat
 LOADEREXT=.as
 EXEEXT=.exe
 PPLEXT=.ppl
@@ -457,24 +450,28 @@ ASMEXT=.asm
 SHAREDLIBEXT=.dll
 endif
 ifeq ($(OS_TARGET),linux)
+BATCHEXT=.sh
 EXEEXT=
 HASSHAREDLIB=1
 FPCMADE=fpcmade.lnx
 ZIPSUFFIX=linux
 endif
 ifeq ($(OS_TARGET),freebsd)
+BATCHEXT=.sh
 EXEEXT=
 HASSHAREDLIB=1
 FPCMADE=fpcmade.freebsd
 ZIPSUFFIX=freebsd
 endif
 ifeq ($(OS_TARGET),netbsd)
+BATCHEXT=.sh
 EXEEXT=
 HASSHAREDLIB=1
 FPCMADE=fpcmade.netbsd
 ZIPSUFFIX=netbsd
 endif
 ifeq ($(OS_TARGET),openbsd)
+BATCHEXT=.sh
 EXEEXT=
 HASSHAREDLIB=1
 FPCMADE=fpcmade.openbsd
@@ -486,6 +483,7 @@ FPCMADE=fpcmade.w32
 ZIPSUFFIX=w32
 endif
 ifeq ($(OS_TARGET),os2)
+BATCHEXT=.cmd
 AOUTEXT=.out
 STATICLIBPREFIX=
 SHAREDLIBEXT=.dll
@@ -494,6 +492,7 @@ ZIPSUFFIX=os2
 ECHO=echo
 endif
 ifeq ($(OS_TARGET),emx)
+BATCHEXT=.cmd
 AOUTEXT=.out
 STATICLIBPREFIX=
 SHAREDLIBEXT=.dll
@@ -511,16 +510,19 @@ EXEEXT=.ttp
 FPCMADE=fpcmade.ata
 endif
 ifeq ($(OS_TARGET),beos)
+BATCHEXT=.sh
 EXEEXT=
 FPCMADE=fpcmade.be
 ZIPSUFFIX=be
 endif
 ifeq ($(OS_TARGET),sunos)
+BATCHEXT=.sh
 EXEEXT=
 FPCMADE=fpcmade.sun
 ZIPSUFFIX=sun
 endif
 ifeq ($(OS_TARGET),qnx)
+BATCHEXT=.sh
 EXEEXT=
 FPCMADE=fpcmade.qnx
 ZIPSUFFIX=qnx
@@ -532,10 +534,14 @@ FPCMADE=fpcmade.nw
 ZIPSUFFIX=nw
 endif
 ifeq ($(OS_TARGET),macos)
+BATCHEXT=
 EXEEXT=
-FPCMADE=fpcmade.mcc
+FPCMADE=fpcmade.macos
+ZIPSUFFIX=macos
+DEBUGSYMEXT=.xcoff
 endif
 ifeq ($(OS_TARGET),darwin)
+BATCHEXT=.sh
 EXEEXT=
 HASSHAREDLIB=1
 FPCMADE=fpcmade.darwin
@@ -564,24 +570,28 @@ FPCMADE=fpcmade.dos
 ZIPSUFFIX=watcom
 endif
 ifeq ($(OS_TARGET),linux)
+BATCHEXT=.sh
 EXEEXT=
 HASSHAREDLIB=1
 FPCMADE=fpcmade.lnx
 ZIPSUFFIX=linux
 endif
 ifeq ($(OS_TARGET),freebsd)
+BATCHEXT=.sh
 EXEEXT=
 HASSHAREDLIB=1
 FPCMADE=fpcmade.freebsd
 ZIPSUFFIX=freebsd
 endif
 ifeq ($(OS_TARGET),netbsd)
+BATCHEXT=.sh
 EXEEXT=
 HASSHAREDLIB=1
 FPCMADE=fpcmade.netbsd
 ZIPSUFFIX=netbsd
 endif
 ifeq ($(OS_TARGET),openbsd)
+BATCHEXT=.sh
 EXEEXT=
 HASSHAREDLIB=1
 FPCMADE=fpcmade.openbsd
@@ -598,6 +608,7 @@ FPCMADE=fpcmade.w32
 ZIPSUFFIX=w32
 endif
 ifeq ($(OS_TARGET),os2)
+BATCHEXT=.cmd
 PPUEXT=.ppo
 ASMEXT=.so2
 OEXT=.oo2
@@ -630,6 +641,7 @@ EXEEXT=.ttp
 FPCMADE=fpcmade.ata
 endif
 ifeq ($(OS_TARGET),beos)
+BATCHEXT=.sh
 PPUEXT=.ppu
 ASMEXT=.s
 OEXT=.o
@@ -640,6 +652,7 @@ FPCMADE=fpcmade.be
 ZIPSUFFIX=be
 endif
 ifeq ($(OS_TARGET),sunos)
+BATCHEXT=.sh
 PPUEXT=.ppu
 ASMEXT=.s
 OEXT=.o
@@ -650,6 +663,7 @@ FPCMADE=fpcmade.sun
 ZIPSUFFIX=sun
 endif
 ifeq ($(OS_TARGET),qnx)
+BATCHEXT=.sh
 PPUEXT=.ppu
 ASMEXT=.s
 OEXT=.o
@@ -672,13 +686,15 @@ ZIPSUFFIX=nw
 EXEEXT=.nlm
 endif
 ifeq ($(OS_TARGET),macos)
+BATCHEXT=
 PPUEXT=.ppu
 ASMEXT=.s
 OEXT=.o
 SMARTEXT=.sl
 STATICLIBEXT=.a
 EXEEXT=
-FPCMADE=fpcmade.mcc
+DEBUGSYMEXT=.xcoff
+FPCMADE=fpcmade.macos
 endif
 endif
 ifndef ECHO
@@ -686,7 +702,7 @@ ECHO:=$(strip $(wildcard $(addsuffix /gecho$(SRCEXEEXT),$(SEARCHPATH))))
 ifeq ($(ECHO),)
 ECHO:=$(strip $(wildcard $(addsuffix /echo$(SRCEXEEXT),$(SEARCHPATH))))
 ifeq ($(ECHO),)
-ECHO=
+ECHO= __missing_command__
 else
 ECHO:=$(firstword $(ECHO))
 endif
@@ -700,7 +716,7 @@ DATE:=$(strip $(wildcard $(addsuffix /gdate$(SRCEXEEXT),$(SEARCHPATH))))
 ifeq ($(DATE),)
 DATE:=$(strip $(wildcard $(addsuffix /date$(SRCEXEEXT),$(SEARCHPATH))))
 ifeq ($(DATE),)
-DATE=
+DATE= __missing_command__
 else
 DATE:=$(firstword $(DATE))
 endif
@@ -714,7 +730,7 @@ GINSTALL:=$(strip $(wildcard $(addsuffix /ginstall$(SRCEXEEXT),$(SEARCHPATH))))
 ifeq ($(GINSTALL),)
 GINSTALL:=$(strip $(wildcard $(addsuffix /install$(SRCEXEEXT),$(SEARCHPATH))))
 ifeq ($(GINSTALL),)
-GINSTALL=
+GINSTALL= __missing_command__
 else
 GINSTALL:=$(firstword $(GINSTALL))
 endif
@@ -726,7 +742,7 @@ export GINSTALL
 ifndef CPPROG
 CPPROG:=$(strip $(wildcard $(addsuffix /cp$(SRCEXEEXT),$(SEARCHPATH))))
 ifeq ($(CPPROG),)
-CPPROG=
+CPPROG= __missing_command__
 else
 CPPROG:=$(firstword $(CPPROG))
 endif
@@ -735,7 +751,7 @@ export CPPROG
 ifndef RMPROG
 RMPROG:=$(strip $(wildcard $(addsuffix /rm$(SRCEXEEXT),$(SEARCHPATH))))
 ifeq ($(RMPROG),)
-RMPROG=
+RMPROG= __missing_command__
 else
 RMPROG:=$(firstword $(RMPROG))
 endif
@@ -744,7 +760,7 @@ export RMPROG
 ifndef MVPROG
 MVPROG:=$(strip $(wildcard $(addsuffix /mv$(SRCEXEEXT),$(SEARCHPATH))))
 ifeq ($(MVPROG),)
-MVPROG=
+MVPROG= __missing_command__
 else
 MVPROG:=$(firstword $(MVPROG))
 endif
@@ -793,7 +809,7 @@ export ECHOREDIR COPY COPYTREE MOVE DEL DELTREE INSTALL INSTALLEXE MKDIR
 ifndef PPUMOVE
 PPUMOVE:=$(strip $(wildcard $(addsuffix /ppumove$(SRCEXEEXT),$(SEARCHPATH))))
 ifeq ($(PPUMOVE),)
-PPUMOVE=
+PPUMOVE= __missing_command__
 else
 PPUMOVE:=$(firstword $(PPUMOVE))
 endif
@@ -802,7 +818,7 @@ export PPUMOVE
 ifndef FPCMAKE
 FPCMAKE:=$(strip $(wildcard $(addsuffix /fpcmake$(SRCEXEEXT),$(SEARCHPATH))))
 ifeq ($(FPCMAKE),)
-FPCMAKE=
+FPCMAKE= __missing_command__
 else
 FPCMAKE:=$(firstword $(FPCMAKE))
 endif
@@ -811,7 +827,7 @@ export FPCMAKE
 ifndef ZIPPROG
 ZIPPROG:=$(strip $(wildcard $(addsuffix /zip$(SRCEXEEXT),$(SEARCHPATH))))
 ifeq ($(ZIPPROG),)
-ZIPPROG=
+ZIPPROG= __missing_command__
 else
 ZIPPROG:=$(firstword $(ZIPPROG))
 endif
@@ -820,7 +836,7 @@ export ZIPPROG
 ifndef TARPROG
 TARPROG:=$(strip $(wildcard $(addsuffix /tar$(SRCEXEEXT),$(SEARCHPATH))))
 ifeq ($(TARPROG),)
-TARPROG=
+TARPROG= __missing_command__
 else
 TARPROG:=$(firstword $(TARPROG))
 endif
@@ -832,9 +848,11 @@ ARNAME=$(BINUTILSPREFIX)ar
 RCNAME=$(BINUTILSPREFIX)rc
 ifneq ($(findstring 1.0.,$(FPC_VERSION)),)
 ifeq ($(OS_TARGET),win32)
-ASNAME=as
-LDNAME=ld
-ARNAME=ar
+ifeq ($(CROSSBINDIR),)
+ASNAME=asw
+LDNAME=ldw
+ARNAME=arw
+endif
 endif
 endif
 ifndef ASPROG
@@ -869,7 +887,7 @@ AS=$(ASPROG)
 LD=$(LDPROG)
 RC=$(RCPROG)
 AR=$(ARPROG)
-PPAS=ppas$(BATCHEXT)
+PPAS=ppas$(SRCBATCHEXT)
 ifdef inUnix
 LDCONFIG=ldconfig
 else
@@ -1128,8 +1146,12 @@ ifdef RELEASE
 ifeq ($(CPU_TARGET),i386)
 FPCCPUOPT:=-OG2p3
 else
+ifeq ($(CPU_TARGET),powerpc)
+FPCCPUOPT:=-O1
+else
 FPCCPUOPT:=
 endif
+endif
 override FPCOPT+=-Xs $(FPCCPUOPT) -n
 override FPCOPTDEF+=RELEASE
 endif
@@ -1330,6 +1352,9 @@ override CLEANPPUFILES+=$(addsuffix $(PPUEXT),$(CLEAN_UNITS))
 endif
 ifdef 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 CLEANPPULINKFILES:=$(wildcard $(addprefix $(UNITTARGETDIRPREFIX),$(CLEANPPULINKFILES)))
 endif
@@ -1353,6 +1378,7 @@ ifdef LIB_NAME
 	-$(DEL) $(LIB_NAME) $(LIB_FULLNAME)
 endif
 	-$(DEL) $(FPCMADE) Package.fpc $(PPAS) script.res link.res $(FPCEXTFILE) $(REDIRFILE)
+	-$(DEL) *$(ASMEXT) *_ppas$(BATCHEXT)
 fpc_distclean: clean
 ifdef COMPILER_UNITTARGETDIR
 TARGETDIRCLEAN=fpc_clean
@@ -1364,9 +1390,13 @@ endif
 	-$(DEL) *$(OEXT) *$(PPUEXT) *$(RSTEXT) *$(ASMEXT) *$(STATICLIBEXT) *$(SHAREDLIBEXT) *$(PPLEXT)
 	-$(DELTREE) *$(SMARTEXT)
 	-$(DEL) $(FPCMADE) Package.fpc $(PPAS) script.res link.res $(FPCEXTFILE) $(REDIRFILE)
+	-$(DEL) *_ppas$(BATCHEXT)
 ifdef AOUTEXT
 	-$(DEL) *$(AOUTEXT)
 endif
+ifdef DEBUGSYMEXT
+	-$(DEL) *$(DEBUGSYMEXT)
+endif
 .PHONY: fpc_baseinfo
 override INFORULES+=fpc_baseinfo
 fpc_baseinfo:

+ 100 - 70
ide/fakegdb/Makefile

@@ -1,15 +1,24 @@
 #
-# Don't edit, this file is generated by FPCMake Version 1.1 [2004/02/22]
+# Don't edit, this file is generated by FPCMake Version 1.1 [2004/04/21]
 #
 default: all
 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:=$(subst \,/,$(PATH))
+ifneq ($(findstring darwin,$(OSTYPE)),)
+inUnix=1 #darwin
+SEARCHPATH:=$(filter-out .,$(subst :, ,$(PATH)))
+else
 ifeq ($(findstring ;,$(PATH)),)
 inUnix=1
 SEARCHPATH:=$(filter-out .,$(subst :, ,$(PATH)))
 else
 SEARCHPATH:=$(subst ;, ,$(PATH))
 endif
+endif
 SEARCHPATH+=$(patsubst %/,%,$(subst \,/,$(dir $(MAKE))))
 PWD:=$(strip $(wildcard $(addsuffix /pwd.exe,$(SEARCHPATH))))
 ifeq ($(PWD),)
@@ -37,22 +46,13 @@ ifneq ($(findstring cygdrive,$(PATH)),)
 inCygWin=1
 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
-BATCHEXT=.sh
+SRCBATCHEXT=.sh
 else
 ifdef inOS2
-BATCHEXT=.cmd
+SRCBATCHEXT=.cmd
 else
-BATCHEXT=.bat
+SRCBATCHEXT=.bat
 endif
 endif
 ifdef inUnix
@@ -155,6 +155,12 @@ ifeq ($(findstring $(OS_TARGET),$(MAKEFILETARGETS)),)
 $(error The Makefile doesn't support target $(OS_TARGET), please run fpcmake first)
 endif
 endif
+ifneq ($(findstring $(OS_TARGET),$(BSDs)),)
+BSDhier=1
+endif
+ifeq ($(OS_TARGET),linux)
+linuxHier=1
+endif
 export OS_TARGET OS_SOURCE CPU_TARGET CPU_SOURCE FULL_TARGET FULL_SOURCE CROSSCOMPILE
 ifdef FPCDIR
 override FPCDIR:=$(subst \,/,$(FPCDIR))
@@ -216,42 +222,12 @@ 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
-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
 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
 ifndef INSTALL_PREFIX
@@ -260,7 +236,7 @@ INSTALL_PREFIX=$(PREFIX)
 endif
 endif
 ifndef INSTALL_PREFIX
-ifdef UNIXINSTALLDIR
+ifdef UNIXHier
 INSTALL_PREFIX=/usr/local
 else
 ifdef INSTALL_FPCPACKAGE
@@ -279,7 +255,7 @@ DIST_DESTDIR:=$(BASEDIR)
 endif
 export DIST_DESTDIR
 ifndef INSTALL_BASEDIR
-ifdef UNIXINSTALLDIR
+ifdef UNIXHier
 ifdef INSTALL_FPCPACKAGE
 INSTALL_BASEDIR:=$(INSTALL_PREFIX)/lib/fpc/$(FPC_VERSION)
 else
@@ -290,7 +266,7 @@ INSTALL_BASEDIR:=$(INSTALL_PREFIX)
 endif
 endif
 ifndef INSTALL_BINDIR
-ifdef UNIXINSTALLDIR
+ifdef UNIXHier
 ifdef CROSSCOMPILE
 INSTALL_BINDIR:=$(INSTALL_BASEDIR)/cross/$(FULL_TARGET)/bin
 else
@@ -320,19 +296,23 @@ endif
 endif
 endif
 ifndef INSTALL_LIBDIR
-ifdef UNIXINSTALLDIR
+ifdef UNIXHier
 INSTALL_LIBDIR:=$(INSTALL_PREFIX)/lib
 else
 INSTALL_LIBDIR:=$(INSTALL_UNITDIR)
 endif
 endif
 ifndef INSTALL_SOURCEDIR
-ifdef UNIXINSTALLDIR
+ifdef UNIXHier
 ifdef BSDhier
 SRCPREFIXDIR=share/src
 else
+ifdef linuxHier
+SRCPREFIXDIR=share/src
+else
 SRCPREFIXDIR=src
 endif
+endif
 ifdef INSTALL_FPCPACKAGE
 ifdef INSTALL_FPCSUBDIR
 INSTALL_SOURCEDIR:=$(INSTALL_PREFIX)/$(SRCPREFIXDIR)/fpc-$(FPC_VERSION)/$(INSTALL_FPCSUBDIR)/$(PACKAGE_NAME)
@@ -355,12 +335,16 @@ endif
 endif
 endif
 ifndef INSTALL_DOCDIR
-ifdef UNIXINSTALLDIR
+ifdef UNIXHier
 ifdef BSDhier
 DOCPREFIXDIR=share/doc
 else
+ifdef linuxHier
+DOCPREFIXDIR=share/doc
+else
 DOCPREFIXDIR=doc
 endif
+endif
 ifdef INSTALL_FPCPACKAGE
 INSTALL_DOCDIR:=$(INSTALL_PREFIX)/$(DOCPREFIXDIR)/fpc-$(FPC_VERSION)/$(PACKAGE_NAME)
 else
@@ -375,20 +359,28 @@ endif
 endif
 endif
 ifndef INSTALL_EXAMPLEDIR
-ifdef UNIXINSTALLDIR
+ifdef UNIXHier
 ifdef INSTALL_FPCPACKAGE
 ifdef BSDhier
 INSTALL_EXAMPLEDIR:=$(INSTALL_PREFIX)/share/examples/fpc-$(FPC_VERSION)/$(PACKAGE_NAME)
 else
+ifdef linuxHier
+INSTALL_EXAMPLEDIR:=$(INSTALL_DOCDIR)/examples/fpc-$(FPC_VERSION)/$(PACKAGE_NAME)
+else
 INSTALL_EXAMPLEDIR:=$(INSTALL_PREFIX)/doc/fpc-$(FPC_VERSION)/examples/$(PACKAGE_NAME)
 endif
+endif
 else
 ifdef BSDhier
 INSTALL_EXAMPLEDIR:=$(INSTALL_PREFIX)/share/examples/$(PACKAGE_NAME)-$(PACKAGE_VERSION)
 else
+ifdef linuxHier
+INSTALL_EXAMPLEDIR:=$(INSTALL_DOCDIR)/examples/$(PACKAGE_NAME)-$(PACKAGE_VERSION)
+else
 INSTALL_EXAMPLEDIR:=$(INSTALL_PREFIX)/doc/$(PACKAGE_NAME)-$(PACKAGE_VERSION)
 endif
 endif
+endif
 else
 ifdef INSTALL_FPCPACKAGE
 INSTALL_EXAMPLEDIR:=$(INSTALL_BASEDIR)/examples/$(PACKAGE_NAME)
@@ -410,6 +402,7 @@ endif
 else
 CROSSBINDIR=
 endif
+BATCHEXT=.bat
 LOADEREXT=.as
 EXEEXT=.exe
 PPLEXT=.ppl
@@ -442,24 +435,28 @@ ASMEXT=.asm
 SHAREDLIBEXT=.dll
 endif
 ifeq ($(OS_TARGET),linux)
+BATCHEXT=.sh
 EXEEXT=
 HASSHAREDLIB=1
 FPCMADE=fpcmade.lnx
 ZIPSUFFIX=linux
 endif
 ifeq ($(OS_TARGET),freebsd)
+BATCHEXT=.sh
 EXEEXT=
 HASSHAREDLIB=1
 FPCMADE=fpcmade.freebsd
 ZIPSUFFIX=freebsd
 endif
 ifeq ($(OS_TARGET),netbsd)
+BATCHEXT=.sh
 EXEEXT=
 HASSHAREDLIB=1
 FPCMADE=fpcmade.netbsd
 ZIPSUFFIX=netbsd
 endif
 ifeq ($(OS_TARGET),openbsd)
+BATCHEXT=.sh
 EXEEXT=
 HASSHAREDLIB=1
 FPCMADE=fpcmade.openbsd
@@ -471,6 +468,7 @@ FPCMADE=fpcmade.w32
 ZIPSUFFIX=w32
 endif
 ifeq ($(OS_TARGET),os2)
+BATCHEXT=.cmd
 AOUTEXT=.out
 STATICLIBPREFIX=
 SHAREDLIBEXT=.dll
@@ -479,6 +477,7 @@ ZIPSUFFIX=os2
 ECHO=echo
 endif
 ifeq ($(OS_TARGET),emx)
+BATCHEXT=.cmd
 AOUTEXT=.out
 STATICLIBPREFIX=
 SHAREDLIBEXT=.dll
@@ -496,16 +495,19 @@ EXEEXT=.ttp
 FPCMADE=fpcmade.ata
 endif
 ifeq ($(OS_TARGET),beos)
+BATCHEXT=.sh
 EXEEXT=
 FPCMADE=fpcmade.be
 ZIPSUFFIX=be
 endif
 ifeq ($(OS_TARGET),sunos)
+BATCHEXT=.sh
 EXEEXT=
 FPCMADE=fpcmade.sun
 ZIPSUFFIX=sun
 endif
 ifeq ($(OS_TARGET),qnx)
+BATCHEXT=.sh
 EXEEXT=
 FPCMADE=fpcmade.qnx
 ZIPSUFFIX=qnx
@@ -517,10 +519,14 @@ FPCMADE=fpcmade.nw
 ZIPSUFFIX=nw
 endif
 ifeq ($(OS_TARGET),macos)
+BATCHEXT=
 EXEEXT=
-FPCMADE=fpcmade.mcc
+FPCMADE=fpcmade.macos
+ZIPSUFFIX=macos
+DEBUGSYMEXT=.xcoff
 endif
 ifeq ($(OS_TARGET),darwin)
+BATCHEXT=.sh
 EXEEXT=
 HASSHAREDLIB=1
 FPCMADE=fpcmade.darwin
@@ -549,24 +555,28 @@ FPCMADE=fpcmade.dos
 ZIPSUFFIX=watcom
 endif
 ifeq ($(OS_TARGET),linux)
+BATCHEXT=.sh
 EXEEXT=
 HASSHAREDLIB=1
 FPCMADE=fpcmade.lnx
 ZIPSUFFIX=linux
 endif
 ifeq ($(OS_TARGET),freebsd)
+BATCHEXT=.sh
 EXEEXT=
 HASSHAREDLIB=1
 FPCMADE=fpcmade.freebsd
 ZIPSUFFIX=freebsd
 endif
 ifeq ($(OS_TARGET),netbsd)
+BATCHEXT=.sh
 EXEEXT=
 HASSHAREDLIB=1
 FPCMADE=fpcmade.netbsd
 ZIPSUFFIX=netbsd
 endif
 ifeq ($(OS_TARGET),openbsd)
+BATCHEXT=.sh
 EXEEXT=
 HASSHAREDLIB=1
 FPCMADE=fpcmade.openbsd
@@ -583,6 +593,7 @@ FPCMADE=fpcmade.w32
 ZIPSUFFIX=w32
 endif
 ifeq ($(OS_TARGET),os2)
+BATCHEXT=.cmd
 PPUEXT=.ppo
 ASMEXT=.so2
 OEXT=.oo2
@@ -615,6 +626,7 @@ EXEEXT=.ttp
 FPCMADE=fpcmade.ata
 endif
 ifeq ($(OS_TARGET),beos)
+BATCHEXT=.sh
 PPUEXT=.ppu
 ASMEXT=.s
 OEXT=.o
@@ -625,6 +637,7 @@ FPCMADE=fpcmade.be
 ZIPSUFFIX=be
 endif
 ifeq ($(OS_TARGET),sunos)
+BATCHEXT=.sh
 PPUEXT=.ppu
 ASMEXT=.s
 OEXT=.o
@@ -635,6 +648,7 @@ FPCMADE=fpcmade.sun
 ZIPSUFFIX=sun
 endif
 ifeq ($(OS_TARGET),qnx)
+BATCHEXT=.sh
 PPUEXT=.ppu
 ASMEXT=.s
 OEXT=.o
@@ -657,13 +671,15 @@ ZIPSUFFIX=nw
 EXEEXT=.nlm
 endif
 ifeq ($(OS_TARGET),macos)
+BATCHEXT=
 PPUEXT=.ppu
 ASMEXT=.s
 OEXT=.o
 SMARTEXT=.sl
 STATICLIBEXT=.a
 EXEEXT=
-FPCMADE=fpcmade.mcc
+DEBUGSYMEXT=.xcoff
+FPCMADE=fpcmade.macos
 endif
 endif
 ifndef ECHO
@@ -671,7 +687,7 @@ ECHO:=$(strip $(wildcard $(addsuffix /gecho$(SRCEXEEXT),$(SEARCHPATH))))
 ifeq ($(ECHO),)
 ECHO:=$(strip $(wildcard $(addsuffix /echo$(SRCEXEEXT),$(SEARCHPATH))))
 ifeq ($(ECHO),)
-ECHO=
+ECHO= __missing_command__
 else
 ECHO:=$(firstword $(ECHO))
 endif
@@ -685,7 +701,7 @@ DATE:=$(strip $(wildcard $(addsuffix /gdate$(SRCEXEEXT),$(SEARCHPATH))))
 ifeq ($(DATE),)
 DATE:=$(strip $(wildcard $(addsuffix /date$(SRCEXEEXT),$(SEARCHPATH))))
 ifeq ($(DATE),)
-DATE=
+DATE= __missing_command__
 else
 DATE:=$(firstword $(DATE))
 endif
@@ -699,7 +715,7 @@ GINSTALL:=$(strip $(wildcard $(addsuffix /ginstall$(SRCEXEEXT),$(SEARCHPATH))))
 ifeq ($(GINSTALL),)
 GINSTALL:=$(strip $(wildcard $(addsuffix /install$(SRCEXEEXT),$(SEARCHPATH))))
 ifeq ($(GINSTALL),)
-GINSTALL=
+GINSTALL= __missing_command__
 else
 GINSTALL:=$(firstword $(GINSTALL))
 endif
@@ -711,7 +727,7 @@ export GINSTALL
 ifndef CPPROG
 CPPROG:=$(strip $(wildcard $(addsuffix /cp$(SRCEXEEXT),$(SEARCHPATH))))
 ifeq ($(CPPROG),)
-CPPROG=
+CPPROG= __missing_command__
 else
 CPPROG:=$(firstword $(CPPROG))
 endif
@@ -720,7 +736,7 @@ export CPPROG
 ifndef RMPROG
 RMPROG:=$(strip $(wildcard $(addsuffix /rm$(SRCEXEEXT),$(SEARCHPATH))))
 ifeq ($(RMPROG),)
-RMPROG=
+RMPROG= __missing_command__
 else
 RMPROG:=$(firstword $(RMPROG))
 endif
@@ -729,7 +745,7 @@ export RMPROG
 ifndef MVPROG
 MVPROG:=$(strip $(wildcard $(addsuffix /mv$(SRCEXEEXT),$(SEARCHPATH))))
 ifeq ($(MVPROG),)
-MVPROG=
+MVPROG= __missing_command__
 else
 MVPROG:=$(firstword $(MVPROG))
 endif
@@ -778,7 +794,7 @@ export ECHOREDIR COPY COPYTREE MOVE DEL DELTREE INSTALL INSTALLEXE MKDIR
 ifndef PPUMOVE
 PPUMOVE:=$(strip $(wildcard $(addsuffix /ppumove$(SRCEXEEXT),$(SEARCHPATH))))
 ifeq ($(PPUMOVE),)
-PPUMOVE=
+PPUMOVE= __missing_command__
 else
 PPUMOVE:=$(firstword $(PPUMOVE))
 endif
@@ -787,7 +803,7 @@ export PPUMOVE
 ifndef FPCMAKE
 FPCMAKE:=$(strip $(wildcard $(addsuffix /fpcmake$(SRCEXEEXT),$(SEARCHPATH))))
 ifeq ($(FPCMAKE),)
-FPCMAKE=
+FPCMAKE= __missing_command__
 else
 FPCMAKE:=$(firstword $(FPCMAKE))
 endif
@@ -796,7 +812,7 @@ export FPCMAKE
 ifndef ZIPPROG
 ZIPPROG:=$(strip $(wildcard $(addsuffix /zip$(SRCEXEEXT),$(SEARCHPATH))))
 ifeq ($(ZIPPROG),)
-ZIPPROG=
+ZIPPROG= __missing_command__
 else
 ZIPPROG:=$(firstword $(ZIPPROG))
 endif
@@ -805,7 +821,7 @@ export ZIPPROG
 ifndef TARPROG
 TARPROG:=$(strip $(wildcard $(addsuffix /tar$(SRCEXEEXT),$(SEARCHPATH))))
 ifeq ($(TARPROG),)
-TARPROG=
+TARPROG= __missing_command__
 else
 TARPROG:=$(firstword $(TARPROG))
 endif
@@ -817,9 +833,11 @@ ARNAME=$(BINUTILSPREFIX)ar
 RCNAME=$(BINUTILSPREFIX)rc
 ifneq ($(findstring 1.0.,$(FPC_VERSION)),)
 ifeq ($(OS_TARGET),win32)
-ASNAME=as
-LDNAME=ld
-ARNAME=ar
+ifeq ($(CROSSBINDIR),)
+ASNAME=asw
+LDNAME=ldw
+ARNAME=arw
+endif
 endif
 endif
 ifndef ASPROG
@@ -854,7 +872,7 @@ AS=$(ASPROG)
 LD=$(LDPROG)
 RC=$(RCPROG)
 AR=$(ARPROG)
-PPAS=ppas$(BATCHEXT)
+PPAS=ppas$(SRCBATCHEXT)
 ifdef inUnix
 LDCONFIG=ldconfig
 else
@@ -1113,8 +1131,12 @@ ifdef RELEASE
 ifeq ($(CPU_TARGET),i386)
 FPCCPUOPT:=-OG2p3
 else
+ifeq ($(CPU_TARGET),powerpc)
+FPCCPUOPT:=-O1
+else
 FPCCPUOPT:=
 endif
+endif
 override FPCOPT+=-Xs $(FPCCPUOPT) -n
 override FPCOPTDEF+=RELEASE
 endif
@@ -1315,6 +1337,9 @@ override CLEANPPUFILES+=$(addsuffix $(PPUEXT),$(CLEAN_UNITS))
 endif
 ifdef 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 CLEANPPULINKFILES:=$(wildcard $(addprefix $(UNITTARGETDIRPREFIX),$(CLEANPPULINKFILES)))
 endif
@@ -1338,6 +1363,7 @@ ifdef LIB_NAME
 	-$(DEL) $(LIB_NAME) $(LIB_FULLNAME)
 endif
 	-$(DEL) $(FPCMADE) Package.fpc $(PPAS) script.res link.res $(FPCEXTFILE) $(REDIRFILE)
+	-$(DEL) *$(ASMEXT) *_ppas$(BATCHEXT)
 fpc_distclean: clean
 ifdef COMPILER_UNITTARGETDIR
 TARGETDIRCLEAN=fpc_clean
@@ -1349,9 +1375,13 @@ endif
 	-$(DEL) *$(OEXT) *$(PPUEXT) *$(RSTEXT) *$(ASMEXT) *$(STATICLIBEXT) *$(SHAREDLIBEXT) *$(PPLEXT)
 	-$(DELTREE) *$(SMARTEXT)
 	-$(DEL) $(FPCMADE) Package.fpc $(PPAS) script.res link.res $(FPCEXTFILE) $(REDIRFILE)
+	-$(DEL) *_ppas$(BATCHEXT)
 ifdef AOUTEXT
 	-$(DEL) *$(AOUTEXT)
 endif
+ifdef DEBUGSYMEXT
+	-$(DEL) *$(DEBUGSYMEXT)
+endif
 .PHONY: fpc_baseinfo
 override INFORULES+=fpc_baseinfo
 fpc_baseinfo:

+ 100 - 70
packages/Makefile

@@ -1,15 +1,24 @@
 #
-# Don't edit, this file is generated by FPCMake Version 1.1 [2004/02/22]
+# Don't edit, this file is generated by FPCMake Version 1.1 [2004/04/21]
 #
 default: all
 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:=$(subst \,/,$(PATH))
+ifneq ($(findstring darwin,$(OSTYPE)),)
+inUnix=1 #darwin
+SEARCHPATH:=$(filter-out .,$(subst :, ,$(PATH)))
+else
 ifeq ($(findstring ;,$(PATH)),)
 inUnix=1
 SEARCHPATH:=$(filter-out .,$(subst :, ,$(PATH)))
 else
 SEARCHPATH:=$(subst ;, ,$(PATH))
 endif
+endif
 SEARCHPATH+=$(patsubst %/,%,$(subst \,/,$(dir $(MAKE))))
 PWD:=$(strip $(wildcard $(addsuffix /pwd.exe,$(SEARCHPATH))))
 ifeq ($(PWD),)
@@ -37,22 +46,13 @@ ifneq ($(findstring cygdrive,$(PATH)),)
 inCygWin=1
 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
-BATCHEXT=.sh
+SRCBATCHEXT=.sh
 else
 ifdef inOS2
-BATCHEXT=.cmd
+SRCBATCHEXT=.cmd
 else
-BATCHEXT=.bat
+SRCBATCHEXT=.bat
 endif
 endif
 ifdef inUnix
@@ -155,6 +155,12 @@ ifeq ($(findstring $(OS_TARGET),$(MAKEFILETARGETS)),)
 $(error The Makefile doesn't support target $(OS_TARGET), please run fpcmake first)
 endif
 endif
+ifneq ($(findstring $(OS_TARGET),$(BSDs)),)
+BSDhier=1
+endif
+ifeq ($(OS_TARGET),linux)
+linuxHier=1
+endif
 export OS_TARGET OS_SOURCE CPU_TARGET CPU_SOURCE FULL_TARGET FULL_SOURCE CROSSCOMPILE
 ifdef FPCDIR
 override FPCDIR:=$(subst \,/,$(FPCDIR))
@@ -217,42 +223,12 @@ 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
-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
 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
 ifndef INSTALL_PREFIX
@@ -261,7 +237,7 @@ INSTALL_PREFIX=$(PREFIX)
 endif
 endif
 ifndef INSTALL_PREFIX
-ifdef UNIXINSTALLDIR
+ifdef UNIXHier
 INSTALL_PREFIX=/usr/local
 else
 ifdef INSTALL_FPCPACKAGE
@@ -280,7 +256,7 @@ DIST_DESTDIR:=$(BASEDIR)
 endif
 export DIST_DESTDIR
 ifndef INSTALL_BASEDIR
-ifdef UNIXINSTALLDIR
+ifdef UNIXHier
 ifdef INSTALL_FPCPACKAGE
 INSTALL_BASEDIR:=$(INSTALL_PREFIX)/lib/fpc/$(FPC_VERSION)
 else
@@ -291,7 +267,7 @@ INSTALL_BASEDIR:=$(INSTALL_PREFIX)
 endif
 endif
 ifndef INSTALL_BINDIR
-ifdef UNIXINSTALLDIR
+ifdef UNIXHier
 ifdef CROSSCOMPILE
 INSTALL_BINDIR:=$(INSTALL_BASEDIR)/cross/$(FULL_TARGET)/bin
 else
@@ -321,19 +297,23 @@ endif
 endif
 endif
 ifndef INSTALL_LIBDIR
-ifdef UNIXINSTALLDIR
+ifdef UNIXHier
 INSTALL_LIBDIR:=$(INSTALL_PREFIX)/lib
 else
 INSTALL_LIBDIR:=$(INSTALL_UNITDIR)
 endif
 endif
 ifndef INSTALL_SOURCEDIR
-ifdef UNIXINSTALLDIR
+ifdef UNIXHier
 ifdef BSDhier
 SRCPREFIXDIR=share/src
 else
+ifdef linuxHier
+SRCPREFIXDIR=share/src
+else
 SRCPREFIXDIR=src
 endif
+endif
 ifdef INSTALL_FPCPACKAGE
 ifdef INSTALL_FPCSUBDIR
 INSTALL_SOURCEDIR:=$(INSTALL_PREFIX)/$(SRCPREFIXDIR)/fpc-$(FPC_VERSION)/$(INSTALL_FPCSUBDIR)/$(PACKAGE_NAME)
@@ -356,12 +336,16 @@ endif
 endif
 endif
 ifndef INSTALL_DOCDIR
-ifdef UNIXINSTALLDIR
+ifdef UNIXHier
 ifdef BSDhier
 DOCPREFIXDIR=share/doc
 else
+ifdef linuxHier
+DOCPREFIXDIR=share/doc
+else
 DOCPREFIXDIR=doc
 endif
+endif
 ifdef INSTALL_FPCPACKAGE
 INSTALL_DOCDIR:=$(INSTALL_PREFIX)/$(DOCPREFIXDIR)/fpc-$(FPC_VERSION)/$(PACKAGE_NAME)
 else
@@ -376,20 +360,28 @@ endif
 endif
 endif
 ifndef INSTALL_EXAMPLEDIR
-ifdef UNIXINSTALLDIR
+ifdef UNIXHier
 ifdef INSTALL_FPCPACKAGE
 ifdef BSDhier
 INSTALL_EXAMPLEDIR:=$(INSTALL_PREFIX)/share/examples/fpc-$(FPC_VERSION)/$(PACKAGE_NAME)
 else
+ifdef linuxHier
+INSTALL_EXAMPLEDIR:=$(INSTALL_DOCDIR)/examples/fpc-$(FPC_VERSION)/$(PACKAGE_NAME)
+else
 INSTALL_EXAMPLEDIR:=$(INSTALL_PREFIX)/doc/fpc-$(FPC_VERSION)/examples/$(PACKAGE_NAME)
 endif
+endif
 else
 ifdef BSDhier
 INSTALL_EXAMPLEDIR:=$(INSTALL_PREFIX)/share/examples/$(PACKAGE_NAME)-$(PACKAGE_VERSION)
 else
+ifdef linuxHier
+INSTALL_EXAMPLEDIR:=$(INSTALL_DOCDIR)/examples/$(PACKAGE_NAME)-$(PACKAGE_VERSION)
+else
 INSTALL_EXAMPLEDIR:=$(INSTALL_PREFIX)/doc/$(PACKAGE_NAME)-$(PACKAGE_VERSION)
 endif
 endif
+endif
 else
 ifdef INSTALL_FPCPACKAGE
 INSTALL_EXAMPLEDIR:=$(INSTALL_BASEDIR)/examples/$(PACKAGE_NAME)
@@ -411,6 +403,7 @@ endif
 else
 CROSSBINDIR=
 endif
+BATCHEXT=.bat
 LOADEREXT=.as
 EXEEXT=.exe
 PPLEXT=.ppl
@@ -443,24 +436,28 @@ ASMEXT=.asm
 SHAREDLIBEXT=.dll
 endif
 ifeq ($(OS_TARGET),linux)
+BATCHEXT=.sh
 EXEEXT=
 HASSHAREDLIB=1
 FPCMADE=fpcmade.lnx
 ZIPSUFFIX=linux
 endif
 ifeq ($(OS_TARGET),freebsd)
+BATCHEXT=.sh
 EXEEXT=
 HASSHAREDLIB=1
 FPCMADE=fpcmade.freebsd
 ZIPSUFFIX=freebsd
 endif
 ifeq ($(OS_TARGET),netbsd)
+BATCHEXT=.sh
 EXEEXT=
 HASSHAREDLIB=1
 FPCMADE=fpcmade.netbsd
 ZIPSUFFIX=netbsd
 endif
 ifeq ($(OS_TARGET),openbsd)
+BATCHEXT=.sh
 EXEEXT=
 HASSHAREDLIB=1
 FPCMADE=fpcmade.openbsd
@@ -472,6 +469,7 @@ FPCMADE=fpcmade.w32
 ZIPSUFFIX=w32
 endif
 ifeq ($(OS_TARGET),os2)
+BATCHEXT=.cmd
 AOUTEXT=.out
 STATICLIBPREFIX=
 SHAREDLIBEXT=.dll
@@ -480,6 +478,7 @@ ZIPSUFFIX=os2
 ECHO=echo
 endif
 ifeq ($(OS_TARGET),emx)
+BATCHEXT=.cmd
 AOUTEXT=.out
 STATICLIBPREFIX=
 SHAREDLIBEXT=.dll
@@ -497,16 +496,19 @@ EXEEXT=.ttp
 FPCMADE=fpcmade.ata
 endif
 ifeq ($(OS_TARGET),beos)
+BATCHEXT=.sh
 EXEEXT=
 FPCMADE=fpcmade.be
 ZIPSUFFIX=be
 endif
 ifeq ($(OS_TARGET),sunos)
+BATCHEXT=.sh
 EXEEXT=
 FPCMADE=fpcmade.sun
 ZIPSUFFIX=sun
 endif
 ifeq ($(OS_TARGET),qnx)
+BATCHEXT=.sh
 EXEEXT=
 FPCMADE=fpcmade.qnx
 ZIPSUFFIX=qnx
@@ -518,10 +520,14 @@ FPCMADE=fpcmade.nw
 ZIPSUFFIX=nw
 endif
 ifeq ($(OS_TARGET),macos)
+BATCHEXT=
 EXEEXT=
-FPCMADE=fpcmade.mcc
+FPCMADE=fpcmade.macos
+ZIPSUFFIX=macos
+DEBUGSYMEXT=.xcoff
 endif
 ifeq ($(OS_TARGET),darwin)
+BATCHEXT=.sh
 EXEEXT=
 HASSHAREDLIB=1
 FPCMADE=fpcmade.darwin
@@ -550,24 +556,28 @@ FPCMADE=fpcmade.dos
 ZIPSUFFIX=watcom
 endif
 ifeq ($(OS_TARGET),linux)
+BATCHEXT=.sh
 EXEEXT=
 HASSHAREDLIB=1
 FPCMADE=fpcmade.lnx
 ZIPSUFFIX=linux
 endif
 ifeq ($(OS_TARGET),freebsd)
+BATCHEXT=.sh
 EXEEXT=
 HASSHAREDLIB=1
 FPCMADE=fpcmade.freebsd
 ZIPSUFFIX=freebsd
 endif
 ifeq ($(OS_TARGET),netbsd)
+BATCHEXT=.sh
 EXEEXT=
 HASSHAREDLIB=1
 FPCMADE=fpcmade.netbsd
 ZIPSUFFIX=netbsd
 endif
 ifeq ($(OS_TARGET),openbsd)
+BATCHEXT=.sh
 EXEEXT=
 HASSHAREDLIB=1
 FPCMADE=fpcmade.openbsd
@@ -584,6 +594,7 @@ FPCMADE=fpcmade.w32
 ZIPSUFFIX=w32
 endif
 ifeq ($(OS_TARGET),os2)
+BATCHEXT=.cmd
 PPUEXT=.ppo
 ASMEXT=.so2
 OEXT=.oo2
@@ -616,6 +627,7 @@ EXEEXT=.ttp
 FPCMADE=fpcmade.ata
 endif
 ifeq ($(OS_TARGET),beos)
+BATCHEXT=.sh
 PPUEXT=.ppu
 ASMEXT=.s
 OEXT=.o
@@ -626,6 +638,7 @@ FPCMADE=fpcmade.be
 ZIPSUFFIX=be
 endif
 ifeq ($(OS_TARGET),sunos)
+BATCHEXT=.sh
 PPUEXT=.ppu
 ASMEXT=.s
 OEXT=.o
@@ -636,6 +649,7 @@ FPCMADE=fpcmade.sun
 ZIPSUFFIX=sun
 endif
 ifeq ($(OS_TARGET),qnx)
+BATCHEXT=.sh
 PPUEXT=.ppu
 ASMEXT=.s
 OEXT=.o
@@ -658,13 +672,15 @@ ZIPSUFFIX=nw
 EXEEXT=.nlm
 endif
 ifeq ($(OS_TARGET),macos)
+BATCHEXT=
 PPUEXT=.ppu
 ASMEXT=.s
 OEXT=.o
 SMARTEXT=.sl
 STATICLIBEXT=.a
 EXEEXT=
-FPCMADE=fpcmade.mcc
+DEBUGSYMEXT=.xcoff
+FPCMADE=fpcmade.macos
 endif
 endif
 ifndef ECHO
@@ -672,7 +688,7 @@ ECHO:=$(strip $(wildcard $(addsuffix /gecho$(SRCEXEEXT),$(SEARCHPATH))))
 ifeq ($(ECHO),)
 ECHO:=$(strip $(wildcard $(addsuffix /echo$(SRCEXEEXT),$(SEARCHPATH))))
 ifeq ($(ECHO),)
-ECHO=
+ECHO= __missing_command__
 else
 ECHO:=$(firstword $(ECHO))
 endif
@@ -686,7 +702,7 @@ DATE:=$(strip $(wildcard $(addsuffix /gdate$(SRCEXEEXT),$(SEARCHPATH))))
 ifeq ($(DATE),)
 DATE:=$(strip $(wildcard $(addsuffix /date$(SRCEXEEXT),$(SEARCHPATH))))
 ifeq ($(DATE),)
-DATE=
+DATE= __missing_command__
 else
 DATE:=$(firstword $(DATE))
 endif
@@ -700,7 +716,7 @@ GINSTALL:=$(strip $(wildcard $(addsuffix /ginstall$(SRCEXEEXT),$(SEARCHPATH))))
 ifeq ($(GINSTALL),)
 GINSTALL:=$(strip $(wildcard $(addsuffix /install$(SRCEXEEXT),$(SEARCHPATH))))
 ifeq ($(GINSTALL),)
-GINSTALL=
+GINSTALL= __missing_command__
 else
 GINSTALL:=$(firstword $(GINSTALL))
 endif
@@ -712,7 +728,7 @@ export GINSTALL
 ifndef CPPROG
 CPPROG:=$(strip $(wildcard $(addsuffix /cp$(SRCEXEEXT),$(SEARCHPATH))))
 ifeq ($(CPPROG),)
-CPPROG=
+CPPROG= __missing_command__
 else
 CPPROG:=$(firstword $(CPPROG))
 endif
@@ -721,7 +737,7 @@ export CPPROG
 ifndef RMPROG
 RMPROG:=$(strip $(wildcard $(addsuffix /rm$(SRCEXEEXT),$(SEARCHPATH))))
 ifeq ($(RMPROG),)
-RMPROG=
+RMPROG= __missing_command__
 else
 RMPROG:=$(firstword $(RMPROG))
 endif
@@ -730,7 +746,7 @@ export RMPROG
 ifndef MVPROG
 MVPROG:=$(strip $(wildcard $(addsuffix /mv$(SRCEXEEXT),$(SEARCHPATH))))
 ifeq ($(MVPROG),)
-MVPROG=
+MVPROG= __missing_command__
 else
 MVPROG:=$(firstword $(MVPROG))
 endif
@@ -779,7 +795,7 @@ export ECHOREDIR COPY COPYTREE MOVE DEL DELTREE INSTALL INSTALLEXE MKDIR
 ifndef PPUMOVE
 PPUMOVE:=$(strip $(wildcard $(addsuffix /ppumove$(SRCEXEEXT),$(SEARCHPATH))))
 ifeq ($(PPUMOVE),)
-PPUMOVE=
+PPUMOVE= __missing_command__
 else
 PPUMOVE:=$(firstword $(PPUMOVE))
 endif
@@ -788,7 +804,7 @@ export PPUMOVE
 ifndef FPCMAKE
 FPCMAKE:=$(strip $(wildcard $(addsuffix /fpcmake$(SRCEXEEXT),$(SEARCHPATH))))
 ifeq ($(FPCMAKE),)
-FPCMAKE=
+FPCMAKE= __missing_command__
 else
 FPCMAKE:=$(firstword $(FPCMAKE))
 endif
@@ -797,7 +813,7 @@ export FPCMAKE
 ifndef ZIPPROG
 ZIPPROG:=$(strip $(wildcard $(addsuffix /zip$(SRCEXEEXT),$(SEARCHPATH))))
 ifeq ($(ZIPPROG),)
-ZIPPROG=
+ZIPPROG= __missing_command__
 else
 ZIPPROG:=$(firstword $(ZIPPROG))
 endif
@@ -806,7 +822,7 @@ export ZIPPROG
 ifndef TARPROG
 TARPROG:=$(strip $(wildcard $(addsuffix /tar$(SRCEXEEXT),$(SEARCHPATH))))
 ifeq ($(TARPROG),)
-TARPROG=
+TARPROG= __missing_command__
 else
 TARPROG:=$(firstword $(TARPROG))
 endif
@@ -818,9 +834,11 @@ ARNAME=$(BINUTILSPREFIX)ar
 RCNAME=$(BINUTILSPREFIX)rc
 ifneq ($(findstring 1.0.,$(FPC_VERSION)),)
 ifeq ($(OS_TARGET),win32)
-ASNAME=as
-LDNAME=ld
-ARNAME=ar
+ifeq ($(CROSSBINDIR),)
+ASNAME=asw
+LDNAME=ldw
+ARNAME=arw
+endif
 endif
 endif
 ifndef ASPROG
@@ -855,7 +873,7 @@ AS=$(ASPROG)
 LD=$(LDPROG)
 RC=$(RCPROG)
 AR=$(ARPROG)
-PPAS=ppas$(BATCHEXT)
+PPAS=ppas$(SRCBATCHEXT)
 ifdef inUnix
 LDCONFIG=ldconfig
 else
@@ -1114,8 +1132,12 @@ ifdef RELEASE
 ifeq ($(CPU_TARGET),i386)
 FPCCPUOPT:=-OG2p3
 else
+ifeq ($(CPU_TARGET),powerpc)
+FPCCPUOPT:=-O1
+else
 FPCCPUOPT:=
 endif
+endif
 override FPCOPT+=-Xs $(FPCCPUOPT) -n
 override FPCOPTDEF+=RELEASE
 endif
@@ -1209,6 +1231,9 @@ override CLEANPPUFILES+=$(addsuffix $(PPUEXT),$(CLEAN_UNITS))
 endif
 ifdef 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 CLEANPPULINKFILES:=$(wildcard $(addprefix $(UNITTARGETDIRPREFIX),$(CLEANPPULINKFILES)))
 endif
@@ -1232,6 +1257,7 @@ ifdef LIB_NAME
 	-$(DEL) $(LIB_NAME) $(LIB_FULLNAME)
 endif
 	-$(DEL) $(FPCMADE) Package.fpc $(PPAS) script.res link.res $(FPCEXTFILE) $(REDIRFILE)
+	-$(DEL) *$(ASMEXT) *_ppas$(BATCHEXT)
 fpc_distclean: clean
 ifdef COMPILER_UNITTARGETDIR
 TARGETDIRCLEAN=fpc_clean
@@ -1243,9 +1269,13 @@ endif
 	-$(DEL) *$(OEXT) *$(PPUEXT) *$(RSTEXT) *$(ASMEXT) *$(STATICLIBEXT) *$(SHAREDLIBEXT) *$(PPLEXT)
 	-$(DELTREE) *$(SMARTEXT)
 	-$(DEL) $(FPCMADE) Package.fpc $(PPAS) script.res link.res $(FPCEXTFILE) $(REDIRFILE)
+	-$(DEL) *_ppas$(BATCHEXT)
 ifdef AOUTEXT
 	-$(DEL) *$(AOUTEXT)
 endif
+ifdef DEBUGSYMEXT
+	-$(DEL) *$(DEBUGSYMEXT)
+endif
 .PHONY: fpc_baseinfo
 override INFORULES+=fpc_baseinfo
 fpc_baseinfo:

+ 100 - 70
packages/base/Makefile

@@ -1,15 +1,24 @@
 #
-# Don't edit, this file is generated by FPCMake Version 1.1 [2004/02/22]
+# Don't edit, this file is generated by FPCMake Version 1.1 [2004/04/21]
 #
 default: all
 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:=$(subst \,/,$(PATH))
+ifneq ($(findstring darwin,$(OSTYPE)),)
+inUnix=1 #darwin
+SEARCHPATH:=$(filter-out .,$(subst :, ,$(PATH)))
+else
 ifeq ($(findstring ;,$(PATH)),)
 inUnix=1
 SEARCHPATH:=$(filter-out .,$(subst :, ,$(PATH)))
 else
 SEARCHPATH:=$(subst ;, ,$(PATH))
 endif
+endif
 SEARCHPATH+=$(patsubst %/,%,$(subst \,/,$(dir $(MAKE))))
 PWD:=$(strip $(wildcard $(addsuffix /pwd.exe,$(SEARCHPATH))))
 ifeq ($(PWD),)
@@ -37,22 +46,13 @@ ifneq ($(findstring cygdrive,$(PATH)),)
 inCygWin=1
 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
-BATCHEXT=.sh
+SRCBATCHEXT=.sh
 else
 ifdef inOS2
-BATCHEXT=.cmd
+SRCBATCHEXT=.cmd
 else
-BATCHEXT=.bat
+SRCBATCHEXT=.bat
 endif
 endif
 ifdef inUnix
@@ -155,6 +155,12 @@ ifeq ($(findstring $(OS_TARGET),$(MAKEFILETARGETS)),)
 $(error The Makefile doesn't support target $(OS_TARGET), please run fpcmake first)
 endif
 endif
+ifneq ($(findstring $(OS_TARGET),$(BSDs)),)
+BSDhier=1
+endif
+ifeq ($(OS_TARGET),linux)
+linuxHier=1
+endif
 export OS_TARGET OS_SOURCE CPU_TARGET CPU_SOURCE FULL_TARGET FULL_SOURCE CROSSCOMPILE
 ifdef FPCDIR
 override FPCDIR:=$(subst \,/,$(FPCDIR))
@@ -238,42 +244,12 @@ 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
-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
 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
 ifndef INSTALL_PREFIX
@@ -282,7 +258,7 @@ INSTALL_PREFIX=$(PREFIX)
 endif
 endif
 ifndef INSTALL_PREFIX
-ifdef UNIXINSTALLDIR
+ifdef UNIXHier
 INSTALL_PREFIX=/usr/local
 else
 ifdef INSTALL_FPCPACKAGE
@@ -301,7 +277,7 @@ DIST_DESTDIR:=$(BASEDIR)
 endif
 export DIST_DESTDIR
 ifndef INSTALL_BASEDIR
-ifdef UNIXINSTALLDIR
+ifdef UNIXHier
 ifdef INSTALL_FPCPACKAGE
 INSTALL_BASEDIR:=$(INSTALL_PREFIX)/lib/fpc/$(FPC_VERSION)
 else
@@ -312,7 +288,7 @@ INSTALL_BASEDIR:=$(INSTALL_PREFIX)
 endif
 endif
 ifndef INSTALL_BINDIR
-ifdef UNIXINSTALLDIR
+ifdef UNIXHier
 ifdef CROSSCOMPILE
 INSTALL_BINDIR:=$(INSTALL_BASEDIR)/cross/$(FULL_TARGET)/bin
 else
@@ -342,19 +318,23 @@ endif
 endif
 endif
 ifndef INSTALL_LIBDIR
-ifdef UNIXINSTALLDIR
+ifdef UNIXHier
 INSTALL_LIBDIR:=$(INSTALL_PREFIX)/lib
 else
 INSTALL_LIBDIR:=$(INSTALL_UNITDIR)
 endif
 endif
 ifndef INSTALL_SOURCEDIR
-ifdef UNIXINSTALLDIR
+ifdef UNIXHier
 ifdef BSDhier
 SRCPREFIXDIR=share/src
 else
+ifdef linuxHier
+SRCPREFIXDIR=share/src
+else
 SRCPREFIXDIR=src
 endif
+endif
 ifdef INSTALL_FPCPACKAGE
 ifdef INSTALL_FPCSUBDIR
 INSTALL_SOURCEDIR:=$(INSTALL_PREFIX)/$(SRCPREFIXDIR)/fpc-$(FPC_VERSION)/$(INSTALL_FPCSUBDIR)/$(PACKAGE_NAME)
@@ -377,12 +357,16 @@ endif
 endif
 endif
 ifndef INSTALL_DOCDIR
-ifdef UNIXINSTALLDIR
+ifdef UNIXHier
 ifdef BSDhier
 DOCPREFIXDIR=share/doc
 else
+ifdef linuxHier
+DOCPREFIXDIR=share/doc
+else
 DOCPREFIXDIR=doc
 endif
+endif
 ifdef INSTALL_FPCPACKAGE
 INSTALL_DOCDIR:=$(INSTALL_PREFIX)/$(DOCPREFIXDIR)/fpc-$(FPC_VERSION)/$(PACKAGE_NAME)
 else
@@ -397,20 +381,28 @@ endif
 endif
 endif
 ifndef INSTALL_EXAMPLEDIR
-ifdef UNIXINSTALLDIR
+ifdef UNIXHier
 ifdef INSTALL_FPCPACKAGE
 ifdef BSDhier
 INSTALL_EXAMPLEDIR:=$(INSTALL_PREFIX)/share/examples/fpc-$(FPC_VERSION)/$(PACKAGE_NAME)
 else
+ifdef linuxHier
+INSTALL_EXAMPLEDIR:=$(INSTALL_DOCDIR)/examples/fpc-$(FPC_VERSION)/$(PACKAGE_NAME)
+else
 INSTALL_EXAMPLEDIR:=$(INSTALL_PREFIX)/doc/fpc-$(FPC_VERSION)/examples/$(PACKAGE_NAME)
 endif
+endif
 else
 ifdef BSDhier
 INSTALL_EXAMPLEDIR:=$(INSTALL_PREFIX)/share/examples/$(PACKAGE_NAME)-$(PACKAGE_VERSION)
 else
+ifdef linuxHier
+INSTALL_EXAMPLEDIR:=$(INSTALL_DOCDIR)/examples/$(PACKAGE_NAME)-$(PACKAGE_VERSION)
+else
 INSTALL_EXAMPLEDIR:=$(INSTALL_PREFIX)/doc/$(PACKAGE_NAME)-$(PACKAGE_VERSION)
 endif
 endif
+endif
 else
 ifdef INSTALL_FPCPACKAGE
 INSTALL_EXAMPLEDIR:=$(INSTALL_BASEDIR)/examples/$(PACKAGE_NAME)
@@ -432,6 +424,7 @@ endif
 else
 CROSSBINDIR=
 endif
+BATCHEXT=.bat
 LOADEREXT=.as
 EXEEXT=.exe
 PPLEXT=.ppl
@@ -464,24 +457,28 @@ ASMEXT=.asm
 SHAREDLIBEXT=.dll
 endif
 ifeq ($(OS_TARGET),linux)
+BATCHEXT=.sh
 EXEEXT=
 HASSHAREDLIB=1
 FPCMADE=fpcmade.lnx
 ZIPSUFFIX=linux
 endif
 ifeq ($(OS_TARGET),freebsd)
+BATCHEXT=.sh
 EXEEXT=
 HASSHAREDLIB=1
 FPCMADE=fpcmade.freebsd
 ZIPSUFFIX=freebsd
 endif
 ifeq ($(OS_TARGET),netbsd)
+BATCHEXT=.sh
 EXEEXT=
 HASSHAREDLIB=1
 FPCMADE=fpcmade.netbsd
 ZIPSUFFIX=netbsd
 endif
 ifeq ($(OS_TARGET),openbsd)
+BATCHEXT=.sh
 EXEEXT=
 HASSHAREDLIB=1
 FPCMADE=fpcmade.openbsd
@@ -493,6 +490,7 @@ FPCMADE=fpcmade.w32
 ZIPSUFFIX=w32
 endif
 ifeq ($(OS_TARGET),os2)
+BATCHEXT=.cmd
 AOUTEXT=.out
 STATICLIBPREFIX=
 SHAREDLIBEXT=.dll
@@ -501,6 +499,7 @@ ZIPSUFFIX=os2
 ECHO=echo
 endif
 ifeq ($(OS_TARGET),emx)
+BATCHEXT=.cmd
 AOUTEXT=.out
 STATICLIBPREFIX=
 SHAREDLIBEXT=.dll
@@ -518,16 +517,19 @@ EXEEXT=.ttp
 FPCMADE=fpcmade.ata
 endif
 ifeq ($(OS_TARGET),beos)
+BATCHEXT=.sh
 EXEEXT=
 FPCMADE=fpcmade.be
 ZIPSUFFIX=be
 endif
 ifeq ($(OS_TARGET),sunos)
+BATCHEXT=.sh
 EXEEXT=
 FPCMADE=fpcmade.sun
 ZIPSUFFIX=sun
 endif
 ifeq ($(OS_TARGET),qnx)
+BATCHEXT=.sh
 EXEEXT=
 FPCMADE=fpcmade.qnx
 ZIPSUFFIX=qnx
@@ -539,10 +541,14 @@ FPCMADE=fpcmade.nw
 ZIPSUFFIX=nw
 endif
 ifeq ($(OS_TARGET),macos)
+BATCHEXT=
 EXEEXT=
-FPCMADE=fpcmade.mcc
+FPCMADE=fpcmade.macos
+ZIPSUFFIX=macos
+DEBUGSYMEXT=.xcoff
 endif
 ifeq ($(OS_TARGET),darwin)
+BATCHEXT=.sh
 EXEEXT=
 HASSHAREDLIB=1
 FPCMADE=fpcmade.darwin
@@ -571,24 +577,28 @@ FPCMADE=fpcmade.dos
 ZIPSUFFIX=watcom
 endif
 ifeq ($(OS_TARGET),linux)
+BATCHEXT=.sh
 EXEEXT=
 HASSHAREDLIB=1
 FPCMADE=fpcmade.lnx
 ZIPSUFFIX=linux
 endif
 ifeq ($(OS_TARGET),freebsd)
+BATCHEXT=.sh
 EXEEXT=
 HASSHAREDLIB=1
 FPCMADE=fpcmade.freebsd
 ZIPSUFFIX=freebsd
 endif
 ifeq ($(OS_TARGET),netbsd)
+BATCHEXT=.sh
 EXEEXT=
 HASSHAREDLIB=1
 FPCMADE=fpcmade.netbsd
 ZIPSUFFIX=netbsd
 endif
 ifeq ($(OS_TARGET),openbsd)
+BATCHEXT=.sh
 EXEEXT=
 HASSHAREDLIB=1
 FPCMADE=fpcmade.openbsd
@@ -605,6 +615,7 @@ FPCMADE=fpcmade.w32
 ZIPSUFFIX=w32
 endif
 ifeq ($(OS_TARGET),os2)
+BATCHEXT=.cmd
 PPUEXT=.ppo
 ASMEXT=.so2
 OEXT=.oo2
@@ -637,6 +648,7 @@ EXEEXT=.ttp
 FPCMADE=fpcmade.ata
 endif
 ifeq ($(OS_TARGET),beos)
+BATCHEXT=.sh
 PPUEXT=.ppu
 ASMEXT=.s
 OEXT=.o
@@ -647,6 +659,7 @@ FPCMADE=fpcmade.be
 ZIPSUFFIX=be
 endif
 ifeq ($(OS_TARGET),sunos)
+BATCHEXT=.sh
 PPUEXT=.ppu
 ASMEXT=.s
 OEXT=.o
@@ -657,6 +670,7 @@ FPCMADE=fpcmade.sun
 ZIPSUFFIX=sun
 endif
 ifeq ($(OS_TARGET),qnx)
+BATCHEXT=.sh
 PPUEXT=.ppu
 ASMEXT=.s
 OEXT=.o
@@ -679,13 +693,15 @@ ZIPSUFFIX=nw
 EXEEXT=.nlm
 endif
 ifeq ($(OS_TARGET),macos)
+BATCHEXT=
 PPUEXT=.ppu
 ASMEXT=.s
 OEXT=.o
 SMARTEXT=.sl
 STATICLIBEXT=.a
 EXEEXT=
-FPCMADE=fpcmade.mcc
+DEBUGSYMEXT=.xcoff
+FPCMADE=fpcmade.macos
 endif
 endif
 ifndef ECHO
@@ -693,7 +709,7 @@ ECHO:=$(strip $(wildcard $(addsuffix /gecho$(SRCEXEEXT),$(SEARCHPATH))))
 ifeq ($(ECHO),)
 ECHO:=$(strip $(wildcard $(addsuffix /echo$(SRCEXEEXT),$(SEARCHPATH))))
 ifeq ($(ECHO),)
-ECHO=
+ECHO= __missing_command__
 else
 ECHO:=$(firstword $(ECHO))
 endif
@@ -707,7 +723,7 @@ DATE:=$(strip $(wildcard $(addsuffix /gdate$(SRCEXEEXT),$(SEARCHPATH))))
 ifeq ($(DATE),)
 DATE:=$(strip $(wildcard $(addsuffix /date$(SRCEXEEXT),$(SEARCHPATH))))
 ifeq ($(DATE),)
-DATE=
+DATE= __missing_command__
 else
 DATE:=$(firstword $(DATE))
 endif
@@ -721,7 +737,7 @@ GINSTALL:=$(strip $(wildcard $(addsuffix /ginstall$(SRCEXEEXT),$(SEARCHPATH))))
 ifeq ($(GINSTALL),)
 GINSTALL:=$(strip $(wildcard $(addsuffix /install$(SRCEXEEXT),$(SEARCHPATH))))
 ifeq ($(GINSTALL),)
-GINSTALL=
+GINSTALL= __missing_command__
 else
 GINSTALL:=$(firstword $(GINSTALL))
 endif
@@ -733,7 +749,7 @@ export GINSTALL
 ifndef CPPROG
 CPPROG:=$(strip $(wildcard $(addsuffix /cp$(SRCEXEEXT),$(SEARCHPATH))))
 ifeq ($(CPPROG),)
-CPPROG=
+CPPROG= __missing_command__
 else
 CPPROG:=$(firstword $(CPPROG))
 endif
@@ -742,7 +758,7 @@ export CPPROG
 ifndef RMPROG
 RMPROG:=$(strip $(wildcard $(addsuffix /rm$(SRCEXEEXT),$(SEARCHPATH))))
 ifeq ($(RMPROG),)
-RMPROG=
+RMPROG= __missing_command__
 else
 RMPROG:=$(firstword $(RMPROG))
 endif
@@ -751,7 +767,7 @@ export RMPROG
 ifndef MVPROG
 MVPROG:=$(strip $(wildcard $(addsuffix /mv$(SRCEXEEXT),$(SEARCHPATH))))
 ifeq ($(MVPROG),)
-MVPROG=
+MVPROG= __missing_command__
 else
 MVPROG:=$(firstword $(MVPROG))
 endif
@@ -800,7 +816,7 @@ export ECHOREDIR COPY COPYTREE MOVE DEL DELTREE INSTALL INSTALLEXE MKDIR
 ifndef PPUMOVE
 PPUMOVE:=$(strip $(wildcard $(addsuffix /ppumove$(SRCEXEEXT),$(SEARCHPATH))))
 ifeq ($(PPUMOVE),)
-PPUMOVE=
+PPUMOVE= __missing_command__
 else
 PPUMOVE:=$(firstword $(PPUMOVE))
 endif
@@ -809,7 +825,7 @@ export PPUMOVE
 ifndef FPCMAKE
 FPCMAKE:=$(strip $(wildcard $(addsuffix /fpcmake$(SRCEXEEXT),$(SEARCHPATH))))
 ifeq ($(FPCMAKE),)
-FPCMAKE=
+FPCMAKE= __missing_command__
 else
 FPCMAKE:=$(firstword $(FPCMAKE))
 endif
@@ -818,7 +834,7 @@ export FPCMAKE
 ifndef ZIPPROG
 ZIPPROG:=$(strip $(wildcard $(addsuffix /zip$(SRCEXEEXT),$(SEARCHPATH))))
 ifeq ($(ZIPPROG),)
-ZIPPROG=
+ZIPPROG= __missing_command__
 else
 ZIPPROG:=$(firstword $(ZIPPROG))
 endif
@@ -827,7 +843,7 @@ export ZIPPROG
 ifndef TARPROG
 TARPROG:=$(strip $(wildcard $(addsuffix /tar$(SRCEXEEXT),$(SEARCHPATH))))
 ifeq ($(TARPROG),)
-TARPROG=
+TARPROG= __missing_command__
 else
 TARPROG:=$(firstword $(TARPROG))
 endif
@@ -839,9 +855,11 @@ ARNAME=$(BINUTILSPREFIX)ar
 RCNAME=$(BINUTILSPREFIX)rc
 ifneq ($(findstring 1.0.,$(FPC_VERSION)),)
 ifeq ($(OS_TARGET),win32)
-ASNAME=as
-LDNAME=ld
-ARNAME=ar
+ifeq ($(CROSSBINDIR),)
+ASNAME=asw
+LDNAME=ldw
+ARNAME=arw
+endif
 endif
 endif
 ifndef ASPROG
@@ -876,7 +894,7 @@ AS=$(ASPROG)
 LD=$(LDPROG)
 RC=$(RCPROG)
 AR=$(ARPROG)
-PPAS=ppas$(BATCHEXT)
+PPAS=ppas$(SRCBATCHEXT)
 ifdef inUnix
 LDCONFIG=ldconfig
 else
@@ -1135,8 +1153,12 @@ ifdef RELEASE
 ifeq ($(CPU_TARGET),i386)
 FPCCPUOPT:=-OG2p3
 else
+ifeq ($(CPU_TARGET),powerpc)
+FPCCPUOPT:=-O1
+else
 FPCCPUOPT:=
 endif
+endif
 override FPCOPT+=-Xs $(FPCCPUOPT) -n
 override FPCOPTDEF+=RELEASE
 endif
@@ -1230,6 +1252,9 @@ override CLEANPPUFILES+=$(addsuffix $(PPUEXT),$(CLEAN_UNITS))
 endif
 ifdef 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 CLEANPPULINKFILES:=$(wildcard $(addprefix $(UNITTARGETDIRPREFIX),$(CLEANPPULINKFILES)))
 endif
@@ -1253,6 +1278,7 @@ ifdef LIB_NAME
 	-$(DEL) $(LIB_NAME) $(LIB_FULLNAME)
 endif
 	-$(DEL) $(FPCMADE) Package.fpc $(PPAS) script.res link.res $(FPCEXTFILE) $(REDIRFILE)
+	-$(DEL) *$(ASMEXT) *_ppas$(BATCHEXT)
 fpc_distclean: clean
 ifdef COMPILER_UNITTARGETDIR
 TARGETDIRCLEAN=fpc_clean
@@ -1264,9 +1290,13 @@ endif
 	-$(DEL) *$(OEXT) *$(PPUEXT) *$(RSTEXT) *$(ASMEXT) *$(STATICLIBEXT) *$(SHAREDLIBEXT) *$(PPLEXT)
 	-$(DELTREE) *$(SMARTEXT)
 	-$(DEL) $(FPCMADE) Package.fpc $(PPAS) script.res link.res $(FPCEXTFILE) $(REDIRFILE)
+	-$(DEL) *_ppas$(BATCHEXT)
 ifdef AOUTEXT
 	-$(DEL) *$(AOUTEXT)
 endif
+ifdef DEBUGSYMEXT
+	-$(DEL) *$(DEBUGSYMEXT)
+endif
 .PHONY: fpc_baseinfo
 override INFORULES+=fpc_baseinfo
 fpc_baseinfo:

+ 29 - 53
packages/base/gdbint/Makefile

@@ -1,15 +1,24 @@
 #
-# Don't edit, this file is generated by FPCMake Version 1.1 [2004/04/12]
+# Don't edit, this file is generated by FPCMake Version 1.1 [2004/04/21]
 #
 default: all
 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:=$(subst \,/,$(PATH))
+ifneq ($(findstring darwin,$(OSTYPE)),)
+inUnix=1 #darwin
+SEARCHPATH:=$(filter-out .,$(subst :, ,$(PATH)))
+else
 ifeq ($(findstring ;,$(PATH)),)
 inUnix=1
 SEARCHPATH:=$(filter-out .,$(subst :, ,$(PATH)))
 else
 SEARCHPATH:=$(subst ;, ,$(PATH))
 endif
+endif
 SEARCHPATH+=$(patsubst %/,%,$(subst \,/,$(dir $(MAKE))))
 PWD:=$(strip $(wildcard $(addsuffix /pwd.exe,$(SEARCHPATH))))
 ifeq ($(PWD),)
@@ -108,7 +117,6 @@ FPC_VERSION:=$(word 1,$(FPC_COMPILERINFO))
 endif
 export FPC FPC_VERSION FPC_COMPILERINFO
 unexport CHECKDEPEND ALLDEPENDENCIES
-BSDTARGETS=freebsd netbsd openbsd darwin
 ifndef CPU_TARGET
 ifdef CPU_TARGET_DEFAULT
 CPU_TARGET=$(CPU_TARGET_DEFAULT)
@@ -147,7 +155,7 @@ ifeq ($(findstring $(OS_TARGET),$(MAKEFILETARGETS)),)
 $(error The Makefile doesn't support target $(OS_TARGET), please run fpcmake first)
 endif
 endif
-ifneq ($(findstring $(OS_TARGET),$(BSDTARGETS)),)
+ifneq ($(findstring $(OS_TARGET),$(BSDs)),)
 BSDhier=1
 endif
 ifeq ($(OS_TARGET),linux)
@@ -241,48 +249,12 @@ 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
-ifeq ($(OS_TARGET),openbsd)
-UNIXINSTALLDIR=1
-endif
-ifeq ($(OS_TARGET),darwin)
-UNIXINSTALLDIR=1
-endif
-ifeq ($(OS_TARGET),sunos)
-UNIXINSTALLDIR=1
-endif
-ifeq ($(OS_TARGET),qnx)
-UNIXINSTALLDIR=1
+ifneq ($(findstring $(OS_TARGET),$(UNIXs)),)
+UNIXHier=1
 endif
 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_SOURCE),darwin)
-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
 ifndef INSTALL_PREFIX
@@ -291,7 +263,7 @@ INSTALL_PREFIX=$(PREFIX)
 endif
 endif
 ifndef INSTALL_PREFIX
-ifdef UNIXINSTALLDIR
+ifdef UNIXHier
 INSTALL_PREFIX=/usr/local
 else
 ifdef INSTALL_FPCPACKAGE
@@ -310,7 +282,7 @@ DIST_DESTDIR:=$(BASEDIR)
 endif
 export DIST_DESTDIR
 ifndef INSTALL_BASEDIR
-ifdef UNIXINSTALLDIR
+ifdef UNIXHier
 ifdef INSTALL_FPCPACKAGE
 INSTALL_BASEDIR:=$(INSTALL_PREFIX)/lib/fpc/$(FPC_VERSION)
 else
@@ -321,7 +293,7 @@ INSTALL_BASEDIR:=$(INSTALL_PREFIX)
 endif
 endif
 ifndef INSTALL_BINDIR
-ifdef UNIXINSTALLDIR
+ifdef UNIXHier
 ifdef CROSSCOMPILE
 INSTALL_BINDIR:=$(INSTALL_BASEDIR)/cross/$(FULL_TARGET)/bin
 else
@@ -351,14 +323,14 @@ endif
 endif
 endif
 ifndef INSTALL_LIBDIR
-ifdef UNIXINSTALLDIR
+ifdef UNIXHier
 INSTALL_LIBDIR:=$(INSTALL_PREFIX)/lib
 else
 INSTALL_LIBDIR:=$(INSTALL_UNITDIR)
 endif
 endif
 ifndef INSTALL_SOURCEDIR
-ifdef UNIXINSTALLDIR
+ifdef UNIXHier
 ifdef BSDhier
 SRCPREFIXDIR=share/src
 else
@@ -390,7 +362,7 @@ endif
 endif
 endif
 ifndef INSTALL_DOCDIR
-ifdef UNIXINSTALLDIR
+ifdef UNIXHier
 ifdef BSDhier
 DOCPREFIXDIR=share/doc
 else
@@ -414,7 +386,7 @@ endif
 endif
 endif
 ifndef INSTALL_EXAMPLEDIR
-ifdef UNIXINSTALLDIR
+ifdef UNIXHier
 ifdef INSTALL_FPCPACKAGE
 ifdef BSDhier
 INSTALL_EXAMPLEDIR:=$(INSTALL_PREFIX)/share/examples/fpc-$(FPC_VERSION)/$(PACKAGE_NAME)
@@ -1521,6 +1493,9 @@ override CLEANPPUFILES+=$(addsuffix $(PPUEXT),$(CLEAN_UNITS))
 endif
 ifdef 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 CLEANPPULINKFILES:=$(wildcard $(addprefix $(UNITTARGETDIRPREFIX),$(CLEANPPULINKFILES)))
 endif
@@ -1542,11 +1517,9 @@ ifdef CLEAN_FILES
 endif
 ifdef LIB_NAME
 	-$(DEL) $(LIB_NAME) $(LIB_FULLNAME)
-endif
-ifdef DEBUGSYMEXT
-	-$(DEL) *$(DEBUGSYMEXT)
 endif
 	-$(DEL) $(FPCMADE) Package.fpc $(PPAS) script.res link.res $(FPCEXTFILE) $(REDIRFILE)
+	-$(DEL) *$(ASMEXT) *_ppas$(BATCHEXT)
 fpc_distclean: clean
 ifdef COMPILER_UNITTARGETDIR
 TARGETDIRCLEAN=fpc_clean
@@ -1562,6 +1535,9 @@ endif
 ifdef AOUTEXT
 	-$(DEL) *$(AOUTEXT)
 endif
+ifdef DEBUGSYMEXT
+	-$(DEL) *$(DEBUGSYMEXT)
+endif
 .PHONY: fpc_baseinfo
 override INFORULES+=fpc_baseinfo
 fpc_baseinfo:

+ 108 - 70
packages/base/gdbint/libgdb/Makefile

@@ -1,15 +1,24 @@
 #
-# Don't edit, this file is generated by FPCMake Version 1.1 [2004/01/05]
+# Don't edit, this file is generated by FPCMake Version 1.1 [2004/04/21]
 #
 default: all
 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:=$(subst \,/,$(PATH))
+ifneq ($(findstring darwin,$(OSTYPE)),)
+inUnix=1 #darwin
+SEARCHPATH:=$(filter-out .,$(subst :, ,$(PATH)))
+else
 ifeq ($(findstring ;,$(PATH)),)
 inUnix=1
 SEARCHPATH:=$(filter-out .,$(subst :, ,$(PATH)))
 else
 SEARCHPATH:=$(subst ;, ,$(PATH))
 endif
+endif
 SEARCHPATH+=$(patsubst %/,%,$(subst \,/,$(dir $(MAKE))))
 PWD:=$(strip $(wildcard $(addsuffix /pwd.exe,$(SEARCHPATH))))
 ifeq ($(PWD),)
@@ -37,22 +46,13 @@ ifneq ($(findstring cygdrive,$(PATH)),)
 inCygWin=1
 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
-BATCHEXT=.sh
+SRCBATCHEXT=.sh
 else
 ifdef inOS2
-BATCHEXT=.cmd
+SRCBATCHEXT=.cmd
 else
-BATCHEXT=.bat
+SRCBATCHEXT=.bat
 endif
 endif
 ifdef inUnix
@@ -155,6 +155,12 @@ ifeq ($(findstring $(OS_TARGET),$(MAKEFILETARGETS)),)
 $(error The Makefile doesn't support target $(OS_TARGET), please run fpcmake first)
 endif
 endif
+ifneq ($(findstring $(OS_TARGET),$(BSDs)),)
+BSDhier=1
+endif
+ifeq ($(OS_TARGET),linux)
+linuxHier=1
+endif
 export OS_TARGET OS_SOURCE CPU_TARGET CPU_SOURCE FULL_TARGET FULL_SOURCE CROSSCOMPILE
 ifdef FPCDIR
 override FPCDIR:=$(subst \,/,$(FPCDIR))
@@ -184,11 +190,14 @@ override FPCDIR:=$(FPCDIR)/..
 ifeq ($(wildcard $(addprefix $(FPCDIR)/,rtl units)),)
 override FPCDIR:=$(FPCDIR)/..
 ifeq ($(wildcard $(addprefix $(FPCDIR)/,rtl units)),)
+override FPCDIR:=$(BASEDIR)
+ifeq ($(wildcard $(addprefix $(FPCDIR)/,rtl units)),)
 override FPCDIR=c:/pp
 endif
 endif
 endif
 endif
+endif
 ifndef CROSSDIR
 CROSSDIR:=$(FPCDIR)/cross/$(FULL_TARGET)
 endif
@@ -211,42 +220,12 @@ 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
-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
 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
 ifndef INSTALL_PREFIX
@@ -255,7 +234,7 @@ INSTALL_PREFIX=$(PREFIX)
 endif
 endif
 ifndef INSTALL_PREFIX
-ifdef UNIXINSTALLDIR
+ifdef UNIXHier
 INSTALL_PREFIX=/usr/local
 else
 ifdef INSTALL_FPCPACKAGE
@@ -274,7 +253,7 @@ DIST_DESTDIR:=$(BASEDIR)
 endif
 export DIST_DESTDIR
 ifndef INSTALL_BASEDIR
-ifdef UNIXINSTALLDIR
+ifdef UNIXHier
 ifdef INSTALL_FPCPACKAGE
 INSTALL_BASEDIR:=$(INSTALL_PREFIX)/lib/fpc/$(FPC_VERSION)
 else
@@ -285,7 +264,7 @@ INSTALL_BASEDIR:=$(INSTALL_PREFIX)
 endif
 endif
 ifndef INSTALL_BINDIR
-ifdef UNIXINSTALLDIR
+ifdef UNIXHier
 ifdef CROSSCOMPILE
 INSTALL_BINDIR:=$(INSTALL_BASEDIR)/cross/$(FULL_TARGET)/bin
 else
@@ -315,19 +294,23 @@ endif
 endif
 endif
 ifndef INSTALL_LIBDIR
-ifdef UNIXINSTALLDIR
+ifdef UNIXHier
 INSTALL_LIBDIR:=$(INSTALL_PREFIX)/lib
 else
 INSTALL_LIBDIR:=$(INSTALL_UNITDIR)
 endif
 endif
 ifndef INSTALL_SOURCEDIR
-ifdef UNIXINSTALLDIR
+ifdef UNIXHier
 ifdef BSDhier
 SRCPREFIXDIR=share/src
 else
+ifdef linuxHier
+SRCPREFIXDIR=share/src
+else
 SRCPREFIXDIR=src
 endif
+endif
 ifdef INSTALL_FPCPACKAGE
 ifdef INSTALL_FPCSUBDIR
 INSTALL_SOURCEDIR:=$(INSTALL_PREFIX)/$(SRCPREFIXDIR)/fpc-$(FPC_VERSION)/$(INSTALL_FPCSUBDIR)/$(PACKAGE_NAME)
@@ -350,12 +333,16 @@ endif
 endif
 endif
 ifndef INSTALL_DOCDIR
-ifdef UNIXINSTALLDIR
+ifdef UNIXHier
 ifdef BSDhier
 DOCPREFIXDIR=share/doc
 else
+ifdef linuxHier
+DOCPREFIXDIR=share/doc
+else
 DOCPREFIXDIR=doc
 endif
+endif
 ifdef INSTALL_FPCPACKAGE
 INSTALL_DOCDIR:=$(INSTALL_PREFIX)/$(DOCPREFIXDIR)/fpc-$(FPC_VERSION)/$(PACKAGE_NAME)
 else
@@ -370,20 +357,28 @@ endif
 endif
 endif
 ifndef INSTALL_EXAMPLEDIR
-ifdef UNIXINSTALLDIR
+ifdef UNIXHier
 ifdef INSTALL_FPCPACKAGE
 ifdef BSDhier
 INSTALL_EXAMPLEDIR:=$(INSTALL_PREFIX)/share/examples/fpc-$(FPC_VERSION)/$(PACKAGE_NAME)
 else
+ifdef linuxHier
+INSTALL_EXAMPLEDIR:=$(INSTALL_DOCDIR)/examples/fpc-$(FPC_VERSION)/$(PACKAGE_NAME)
+else
 INSTALL_EXAMPLEDIR:=$(INSTALL_PREFIX)/doc/fpc-$(FPC_VERSION)/examples/$(PACKAGE_NAME)
 endif
+endif
 else
 ifdef BSDhier
 INSTALL_EXAMPLEDIR:=$(INSTALL_PREFIX)/share/examples/$(PACKAGE_NAME)-$(PACKAGE_VERSION)
 else
+ifdef linuxHier
+INSTALL_EXAMPLEDIR:=$(INSTALL_DOCDIR)/examples/$(PACKAGE_NAME)-$(PACKAGE_VERSION)
+else
 INSTALL_EXAMPLEDIR:=$(INSTALL_PREFIX)/doc/$(PACKAGE_NAME)-$(PACKAGE_VERSION)
 endif
 endif
+endif
 else
 ifdef INSTALL_FPCPACKAGE
 INSTALL_EXAMPLEDIR:=$(INSTALL_BASEDIR)/examples/$(PACKAGE_NAME)
@@ -405,6 +400,7 @@ endif
 else
 CROSSBINDIR=
 endif
+BATCHEXT=.bat
 LOADEREXT=.as
 EXEEXT=.exe
 PPLEXT=.ppl
@@ -437,24 +433,28 @@ ASMEXT=.asm
 SHAREDLIBEXT=.dll
 endif
 ifeq ($(OS_TARGET),linux)
+BATCHEXT=.sh
 EXEEXT=
 HASSHAREDLIB=1
 FPCMADE=fpcmade.lnx
 ZIPSUFFIX=linux
 endif
 ifeq ($(OS_TARGET),freebsd)
+BATCHEXT=.sh
 EXEEXT=
 HASSHAREDLIB=1
 FPCMADE=fpcmade.freebsd
 ZIPSUFFIX=freebsd
 endif
 ifeq ($(OS_TARGET),netbsd)
+BATCHEXT=.sh
 EXEEXT=
 HASSHAREDLIB=1
 FPCMADE=fpcmade.netbsd
 ZIPSUFFIX=netbsd
 endif
 ifeq ($(OS_TARGET),openbsd)
+BATCHEXT=.sh
 EXEEXT=
 HASSHAREDLIB=1
 FPCMADE=fpcmade.openbsd
@@ -466,6 +466,7 @@ FPCMADE=fpcmade.w32
 ZIPSUFFIX=w32
 endif
 ifeq ($(OS_TARGET),os2)
+BATCHEXT=.cmd
 AOUTEXT=.out
 STATICLIBPREFIX=
 SHAREDLIBEXT=.dll
@@ -474,6 +475,7 @@ ZIPSUFFIX=os2
 ECHO=echo
 endif
 ifeq ($(OS_TARGET),emx)
+BATCHEXT=.cmd
 AOUTEXT=.out
 STATICLIBPREFIX=
 SHAREDLIBEXT=.dll
@@ -491,16 +493,19 @@ EXEEXT=.ttp
 FPCMADE=fpcmade.ata
 endif
 ifeq ($(OS_TARGET),beos)
+BATCHEXT=.sh
 EXEEXT=
 FPCMADE=fpcmade.be
 ZIPSUFFIX=be
 endif
 ifeq ($(OS_TARGET),sunos)
+BATCHEXT=.sh
 EXEEXT=
 FPCMADE=fpcmade.sun
 ZIPSUFFIX=sun
 endif
 ifeq ($(OS_TARGET),qnx)
+BATCHEXT=.sh
 EXEEXT=
 FPCMADE=fpcmade.qnx
 ZIPSUFFIX=qnx
@@ -512,10 +517,14 @@ FPCMADE=fpcmade.nw
 ZIPSUFFIX=nw
 endif
 ifeq ($(OS_TARGET),macos)
+BATCHEXT=
 EXEEXT=
-FPCMADE=fpcmade.mcc
+FPCMADE=fpcmade.macos
+ZIPSUFFIX=macos
+DEBUGSYMEXT=.xcoff
 endif
 ifeq ($(OS_TARGET),darwin)
+BATCHEXT=.sh
 EXEEXT=
 HASSHAREDLIB=1
 FPCMADE=fpcmade.darwin
@@ -544,24 +553,28 @@ FPCMADE=fpcmade.dos
 ZIPSUFFIX=watcom
 endif
 ifeq ($(OS_TARGET),linux)
+BATCHEXT=.sh
 EXEEXT=
 HASSHAREDLIB=1
 FPCMADE=fpcmade.lnx
 ZIPSUFFIX=linux
 endif
 ifeq ($(OS_TARGET),freebsd)
+BATCHEXT=.sh
 EXEEXT=
 HASSHAREDLIB=1
 FPCMADE=fpcmade.freebsd
 ZIPSUFFIX=freebsd
 endif
 ifeq ($(OS_TARGET),netbsd)
+BATCHEXT=.sh
 EXEEXT=
 HASSHAREDLIB=1
 FPCMADE=fpcmade.netbsd
 ZIPSUFFIX=netbsd
 endif
 ifeq ($(OS_TARGET),openbsd)
+BATCHEXT=.sh
 EXEEXT=
 HASSHAREDLIB=1
 FPCMADE=fpcmade.openbsd
@@ -578,6 +591,7 @@ FPCMADE=fpcmade.w32
 ZIPSUFFIX=w32
 endif
 ifeq ($(OS_TARGET),os2)
+BATCHEXT=.cmd
 PPUEXT=.ppo
 ASMEXT=.so2
 OEXT=.oo2
@@ -610,6 +624,7 @@ EXEEXT=.ttp
 FPCMADE=fpcmade.ata
 endif
 ifeq ($(OS_TARGET),beos)
+BATCHEXT=.sh
 PPUEXT=.ppu
 ASMEXT=.s
 OEXT=.o
@@ -620,6 +635,7 @@ FPCMADE=fpcmade.be
 ZIPSUFFIX=be
 endif
 ifeq ($(OS_TARGET),sunos)
+BATCHEXT=.sh
 PPUEXT=.ppu
 ASMEXT=.s
 OEXT=.o
@@ -630,6 +646,7 @@ FPCMADE=fpcmade.sun
 ZIPSUFFIX=sun
 endif
 ifeq ($(OS_TARGET),qnx)
+BATCHEXT=.sh
 PPUEXT=.ppu
 ASMEXT=.s
 OEXT=.o
@@ -652,13 +669,15 @@ ZIPSUFFIX=nw
 EXEEXT=.nlm
 endif
 ifeq ($(OS_TARGET),macos)
+BATCHEXT=
 PPUEXT=.ppu
 ASMEXT=.s
 OEXT=.o
 SMARTEXT=.sl
 STATICLIBEXT=.a
 EXEEXT=
-FPCMADE=fpcmade.mcc
+DEBUGSYMEXT=.xcoff
+FPCMADE=fpcmade.macos
 endif
 endif
 ifndef ECHO
@@ -666,7 +685,7 @@ ECHO:=$(strip $(wildcard $(addsuffix /gecho$(SRCEXEEXT),$(SEARCHPATH))))
 ifeq ($(ECHO),)
 ECHO:=$(strip $(wildcard $(addsuffix /echo$(SRCEXEEXT),$(SEARCHPATH))))
 ifeq ($(ECHO),)
-ECHO=
+ECHO= __missing_command__
 else
 ECHO:=$(firstword $(ECHO))
 endif
@@ -680,7 +699,7 @@ DATE:=$(strip $(wildcard $(addsuffix /gdate$(SRCEXEEXT),$(SEARCHPATH))))
 ifeq ($(DATE),)
 DATE:=$(strip $(wildcard $(addsuffix /date$(SRCEXEEXT),$(SEARCHPATH))))
 ifeq ($(DATE),)
-DATE=
+DATE= __missing_command__
 else
 DATE:=$(firstword $(DATE))
 endif
@@ -694,7 +713,7 @@ GINSTALL:=$(strip $(wildcard $(addsuffix /ginstall$(SRCEXEEXT),$(SEARCHPATH))))
 ifeq ($(GINSTALL),)
 GINSTALL:=$(strip $(wildcard $(addsuffix /install$(SRCEXEEXT),$(SEARCHPATH))))
 ifeq ($(GINSTALL),)
-GINSTALL=
+GINSTALL= __missing_command__
 else
 GINSTALL:=$(firstword $(GINSTALL))
 endif
@@ -706,7 +725,7 @@ export GINSTALL
 ifndef CPPROG
 CPPROG:=$(strip $(wildcard $(addsuffix /cp$(SRCEXEEXT),$(SEARCHPATH))))
 ifeq ($(CPPROG),)
-CPPROG=
+CPPROG= __missing_command__
 else
 CPPROG:=$(firstword $(CPPROG))
 endif
@@ -715,7 +734,7 @@ export CPPROG
 ifndef RMPROG
 RMPROG:=$(strip $(wildcard $(addsuffix /rm$(SRCEXEEXT),$(SEARCHPATH))))
 ifeq ($(RMPROG),)
-RMPROG=
+RMPROG= __missing_command__
 else
 RMPROG:=$(firstword $(RMPROG))
 endif
@@ -724,7 +743,7 @@ export RMPROG
 ifndef MVPROG
 MVPROG:=$(strip $(wildcard $(addsuffix /mv$(SRCEXEEXT),$(SEARCHPATH))))
 ifeq ($(MVPROG),)
-MVPROG=
+MVPROG= __missing_command__
 else
 MVPROG:=$(firstword $(MVPROG))
 endif
@@ -773,7 +792,7 @@ export ECHOREDIR COPY COPYTREE MOVE DEL DELTREE INSTALL INSTALLEXE MKDIR
 ifndef PPUMOVE
 PPUMOVE:=$(strip $(wildcard $(addsuffix /ppumove$(SRCEXEEXT),$(SEARCHPATH))))
 ifeq ($(PPUMOVE),)
-PPUMOVE=
+PPUMOVE= __missing_command__
 else
 PPUMOVE:=$(firstword $(PPUMOVE))
 endif
@@ -782,7 +801,7 @@ export PPUMOVE
 ifndef FPCMAKE
 FPCMAKE:=$(strip $(wildcard $(addsuffix /fpcmake$(SRCEXEEXT),$(SEARCHPATH))))
 ifeq ($(FPCMAKE),)
-FPCMAKE=
+FPCMAKE= __missing_command__
 else
 FPCMAKE:=$(firstword $(FPCMAKE))
 endif
@@ -791,7 +810,7 @@ export FPCMAKE
 ifndef ZIPPROG
 ZIPPROG:=$(strip $(wildcard $(addsuffix /zip$(SRCEXEEXT),$(SEARCHPATH))))
 ifeq ($(ZIPPROG),)
-ZIPPROG=
+ZIPPROG= __missing_command__
 else
 ZIPPROG:=$(firstword $(ZIPPROG))
 endif
@@ -800,7 +819,7 @@ export ZIPPROG
 ifndef TARPROG
 TARPROG:=$(strip $(wildcard $(addsuffix /tar$(SRCEXEEXT),$(SEARCHPATH))))
 ifeq ($(TARPROG),)
-TARPROG=
+TARPROG= __missing_command__
 else
 TARPROG:=$(firstword $(TARPROG))
 endif
@@ -812,9 +831,11 @@ ARNAME=$(BINUTILSPREFIX)ar
 RCNAME=$(BINUTILSPREFIX)rc
 ifneq ($(findstring 1.0.,$(FPC_VERSION)),)
 ifeq ($(OS_TARGET),win32)
-ASNAME=as
-LDNAME=ld
-ARNAME=ar
+ifeq ($(CROSSBINDIR),)
+ASNAME=asw
+LDNAME=ldw
+ARNAME=arw
+endif
 endif
 endif
 ifndef ASPROG
@@ -849,7 +870,7 @@ AS=$(ASPROG)
 LD=$(LDPROG)
 RC=$(RCPROG)
 AR=$(ARPROG)
-PPAS=ppas$(BATCHEXT)
+PPAS=ppas$(SRCBATCHEXT)
 ifdef inUnix
 LDCONFIG=ldconfig
 else
@@ -914,6 +935,11 @@ ifeq ($(CPU_TARGET),x86_64)
 REQUIRE_PACKAGES_RTL=1
 endif
 endif
+ifeq ($(OS_TARGET),linux)
+ifeq ($(CPU_TARGET),arm)
+REQUIRE_PACKAGES_RTL=1
+endif
+endif
 ifeq ($(OS_TARGET),go32v2)
 ifeq ($(CPU_TARGET),i386)
 REQUIRE_PACKAGES_RTL=1
@@ -1103,8 +1129,12 @@ ifdef RELEASE
 ifeq ($(CPU_TARGET),i386)
 FPCCPUOPT:=-OG2p3
 else
+ifeq ($(CPU_TARGET),powerpc)
+FPCCPUOPT:=-O1
+else
 FPCCPUOPT:=
 endif
+endif
 override FPCOPT+=-Xs $(FPCCPUOPT) -n
 override FPCOPTDEF+=RELEASE
 endif
@@ -1198,6 +1228,9 @@ override CLEANPPUFILES+=$(addsuffix $(PPUEXT),$(CLEAN_UNITS))
 endif
 ifdef 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 CLEANPPULINKFILES:=$(wildcard $(addprefix $(UNITTARGETDIRPREFIX),$(CLEANPPULINKFILES)))
 endif
@@ -1221,6 +1254,7 @@ ifdef LIB_NAME
 	-$(DEL) $(LIB_NAME) $(LIB_FULLNAME)
 endif
 	-$(DEL) $(FPCMADE) Package.fpc $(PPAS) script.res link.res $(FPCEXTFILE) $(REDIRFILE)
+	-$(DEL) *$(ASMEXT) *_ppas$(BATCHEXT)
 fpc_distclean: clean
 ifdef COMPILER_UNITTARGETDIR
 TARGETDIRCLEAN=fpc_clean
@@ -1232,9 +1266,13 @@ endif
 	-$(DEL) *$(OEXT) *$(PPUEXT) *$(RSTEXT) *$(ASMEXT) *$(STATICLIBEXT) *$(SHAREDLIBEXT) *$(PPLEXT)
 	-$(DELTREE) *$(SMARTEXT)
 	-$(DEL) $(FPCMADE) Package.fpc $(PPAS) script.res link.res $(FPCEXTFILE) $(REDIRFILE)
+	-$(DEL) *_ppas$(BATCHEXT)
 ifdef AOUTEXT
 	-$(DEL) *$(AOUTEXT)
 endif
+ifdef DEBUGSYMEXT
+	-$(DEL) *$(DEBUGSYMEXT)
+endif
 .PHONY: fpc_baseinfo
 override INFORULES+=fpc_baseinfo
 fpc_baseinfo:

+ 114 - 72
packages/base/ibase/Makefile

@@ -1,15 +1,24 @@
 #
-# Don't edit, this file is generated by FPCMake Version 1.1 [2004/02/22]
+# Don't edit, this file is generated by FPCMake Version 1.1 [2004/04/21]
 #
 default: all
 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:=$(subst \,/,$(PATH))
+ifneq ($(findstring darwin,$(OSTYPE)),)
+inUnix=1 #darwin
+SEARCHPATH:=$(filter-out .,$(subst :, ,$(PATH)))
+else
 ifeq ($(findstring ;,$(PATH)),)
 inUnix=1
 SEARCHPATH:=$(filter-out .,$(subst :, ,$(PATH)))
 else
 SEARCHPATH:=$(subst ;, ,$(PATH))
 endif
+endif
 SEARCHPATH+=$(patsubst %/,%,$(subst \,/,$(dir $(MAKE))))
 PWD:=$(strip $(wildcard $(addsuffix /pwd.exe,$(SEARCHPATH))))
 ifeq ($(PWD),)
@@ -37,22 +46,13 @@ ifneq ($(findstring cygdrive,$(PATH)),)
 inCygWin=1
 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
-BATCHEXT=.sh
+SRCBATCHEXT=.sh
 else
 ifdef inOS2
-BATCHEXT=.cmd
+SRCBATCHEXT=.cmd
 else
-BATCHEXT=.bat
+SRCBATCHEXT=.bat
 endif
 endif
 ifdef inUnix
@@ -155,6 +155,12 @@ ifeq ($(findstring $(OS_TARGET),$(MAKEFILETARGETS)),)
 $(error The Makefile doesn't support target $(OS_TARGET), please run fpcmake first)
 endif
 endif
+ifneq ($(findstring $(OS_TARGET),$(BSDs)),)
+BSDhier=1
+endif
+ifeq ($(OS_TARGET),linux)
+linuxHier=1
+endif
 export OS_TARGET OS_SOURCE CPU_TARGET CPU_SOURCE FULL_TARGET FULL_SOURCE CROSSCOMPILE
 ifdef FPCDIR
 override FPCDIR:=$(subst \,/,$(FPCDIR))
@@ -219,42 +225,12 @@ 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
-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
 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
 ifndef INSTALL_PREFIX
@@ -263,7 +239,7 @@ INSTALL_PREFIX=$(PREFIX)
 endif
 endif
 ifndef INSTALL_PREFIX
-ifdef UNIXINSTALLDIR
+ifdef UNIXHier
 INSTALL_PREFIX=/usr/local
 else
 ifdef INSTALL_FPCPACKAGE
@@ -282,7 +258,7 @@ DIST_DESTDIR:=$(BASEDIR)
 endif
 export DIST_DESTDIR
 ifndef INSTALL_BASEDIR
-ifdef UNIXINSTALLDIR
+ifdef UNIXHier
 ifdef INSTALL_FPCPACKAGE
 INSTALL_BASEDIR:=$(INSTALL_PREFIX)/lib/fpc/$(FPC_VERSION)
 else
@@ -293,7 +269,7 @@ INSTALL_BASEDIR:=$(INSTALL_PREFIX)
 endif
 endif
 ifndef INSTALL_BINDIR
-ifdef UNIXINSTALLDIR
+ifdef UNIXHier
 ifdef CROSSCOMPILE
 INSTALL_BINDIR:=$(INSTALL_BASEDIR)/cross/$(FULL_TARGET)/bin
 else
@@ -323,19 +299,23 @@ endif
 endif
 endif
 ifndef INSTALL_LIBDIR
-ifdef UNIXINSTALLDIR
+ifdef UNIXHier
 INSTALL_LIBDIR:=$(INSTALL_PREFIX)/lib
 else
 INSTALL_LIBDIR:=$(INSTALL_UNITDIR)
 endif
 endif
 ifndef INSTALL_SOURCEDIR
-ifdef UNIXINSTALLDIR
+ifdef UNIXHier
 ifdef BSDhier
 SRCPREFIXDIR=share/src
 else
+ifdef linuxHier
+SRCPREFIXDIR=share/src
+else
 SRCPREFIXDIR=src
 endif
+endif
 ifdef INSTALL_FPCPACKAGE
 ifdef INSTALL_FPCSUBDIR
 INSTALL_SOURCEDIR:=$(INSTALL_PREFIX)/$(SRCPREFIXDIR)/fpc-$(FPC_VERSION)/$(INSTALL_FPCSUBDIR)/$(PACKAGE_NAME)
@@ -358,12 +338,16 @@ endif
 endif
 endif
 ifndef INSTALL_DOCDIR
-ifdef UNIXINSTALLDIR
+ifdef UNIXHier
 ifdef BSDhier
 DOCPREFIXDIR=share/doc
 else
+ifdef linuxHier
+DOCPREFIXDIR=share/doc
+else
 DOCPREFIXDIR=doc
 endif
+endif
 ifdef INSTALL_FPCPACKAGE
 INSTALL_DOCDIR:=$(INSTALL_PREFIX)/$(DOCPREFIXDIR)/fpc-$(FPC_VERSION)/$(PACKAGE_NAME)
 else
@@ -378,20 +362,28 @@ endif
 endif
 endif
 ifndef INSTALL_EXAMPLEDIR
-ifdef UNIXINSTALLDIR
+ifdef UNIXHier
 ifdef INSTALL_FPCPACKAGE
 ifdef BSDhier
 INSTALL_EXAMPLEDIR:=$(INSTALL_PREFIX)/share/examples/fpc-$(FPC_VERSION)/$(PACKAGE_NAME)
 else
+ifdef linuxHier
+INSTALL_EXAMPLEDIR:=$(INSTALL_DOCDIR)/examples/fpc-$(FPC_VERSION)/$(PACKAGE_NAME)
+else
 INSTALL_EXAMPLEDIR:=$(INSTALL_PREFIX)/doc/fpc-$(FPC_VERSION)/examples/$(PACKAGE_NAME)
 endif
+endif
 else
 ifdef BSDhier
 INSTALL_EXAMPLEDIR:=$(INSTALL_PREFIX)/share/examples/$(PACKAGE_NAME)-$(PACKAGE_VERSION)
 else
+ifdef linuxHier
+INSTALL_EXAMPLEDIR:=$(INSTALL_DOCDIR)/examples/$(PACKAGE_NAME)-$(PACKAGE_VERSION)
+else
 INSTALL_EXAMPLEDIR:=$(INSTALL_PREFIX)/doc/$(PACKAGE_NAME)-$(PACKAGE_VERSION)
 endif
 endif
+endif
 else
 ifdef INSTALL_FPCPACKAGE
 INSTALL_EXAMPLEDIR:=$(INSTALL_BASEDIR)/examples/$(PACKAGE_NAME)
@@ -415,7 +407,19 @@ CROSSBINDIR=
 endif
 ifeq ($(OS_SOURCE),linux)
 ifndef GCCLIBDIR
-GCCLIBDIR:=$(shell dirname `gcc -print-libgcc-file-name`)
+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
 ifndef OTHERLIBDIR
 OTHERLIBDIR:=$(shell grep -v "^\#" /etc/ld.so.conf | awk '{ ORS=" "; print $1 }')
@@ -427,6 +431,7 @@ OTHERLIBDIR+=/usr/pkg/lib
 endif
 export GCCLIBDIR OTHERLIB
 endif
+BATCHEXT=.bat
 LOADEREXT=.as
 EXEEXT=.exe
 PPLEXT=.ppl
@@ -459,24 +464,28 @@ ASMEXT=.asm
 SHAREDLIBEXT=.dll
 endif
 ifeq ($(OS_TARGET),linux)
+BATCHEXT=.sh
 EXEEXT=
 HASSHAREDLIB=1
 FPCMADE=fpcmade.lnx
 ZIPSUFFIX=linux
 endif
 ifeq ($(OS_TARGET),freebsd)
+BATCHEXT=.sh
 EXEEXT=
 HASSHAREDLIB=1
 FPCMADE=fpcmade.freebsd
 ZIPSUFFIX=freebsd
 endif
 ifeq ($(OS_TARGET),netbsd)
+BATCHEXT=.sh
 EXEEXT=
 HASSHAREDLIB=1
 FPCMADE=fpcmade.netbsd
 ZIPSUFFIX=netbsd
 endif
 ifeq ($(OS_TARGET),openbsd)
+BATCHEXT=.sh
 EXEEXT=
 HASSHAREDLIB=1
 FPCMADE=fpcmade.openbsd
@@ -488,6 +497,7 @@ FPCMADE=fpcmade.w32
 ZIPSUFFIX=w32
 endif
 ifeq ($(OS_TARGET),os2)
+BATCHEXT=.cmd
 AOUTEXT=.out
 STATICLIBPREFIX=
 SHAREDLIBEXT=.dll
@@ -496,6 +506,7 @@ ZIPSUFFIX=os2
 ECHO=echo
 endif
 ifeq ($(OS_TARGET),emx)
+BATCHEXT=.cmd
 AOUTEXT=.out
 STATICLIBPREFIX=
 SHAREDLIBEXT=.dll
@@ -513,16 +524,19 @@ EXEEXT=.ttp
 FPCMADE=fpcmade.ata
 endif
 ifeq ($(OS_TARGET),beos)
+BATCHEXT=.sh
 EXEEXT=
 FPCMADE=fpcmade.be
 ZIPSUFFIX=be
 endif
 ifeq ($(OS_TARGET),sunos)
+BATCHEXT=.sh
 EXEEXT=
 FPCMADE=fpcmade.sun
 ZIPSUFFIX=sun
 endif
 ifeq ($(OS_TARGET),qnx)
+BATCHEXT=.sh
 EXEEXT=
 FPCMADE=fpcmade.qnx
 ZIPSUFFIX=qnx
@@ -534,10 +548,14 @@ FPCMADE=fpcmade.nw
 ZIPSUFFIX=nw
 endif
 ifeq ($(OS_TARGET),macos)
+BATCHEXT=
 EXEEXT=
-FPCMADE=fpcmade.mcc
+FPCMADE=fpcmade.macos
+ZIPSUFFIX=macos
+DEBUGSYMEXT=.xcoff
 endif
 ifeq ($(OS_TARGET),darwin)
+BATCHEXT=.sh
 EXEEXT=
 HASSHAREDLIB=1
 FPCMADE=fpcmade.darwin
@@ -566,24 +584,28 @@ FPCMADE=fpcmade.dos
 ZIPSUFFIX=watcom
 endif
 ifeq ($(OS_TARGET),linux)
+BATCHEXT=.sh
 EXEEXT=
 HASSHAREDLIB=1
 FPCMADE=fpcmade.lnx
 ZIPSUFFIX=linux
 endif
 ifeq ($(OS_TARGET),freebsd)
+BATCHEXT=.sh
 EXEEXT=
 HASSHAREDLIB=1
 FPCMADE=fpcmade.freebsd
 ZIPSUFFIX=freebsd
 endif
 ifeq ($(OS_TARGET),netbsd)
+BATCHEXT=.sh
 EXEEXT=
 HASSHAREDLIB=1
 FPCMADE=fpcmade.netbsd
 ZIPSUFFIX=netbsd
 endif
 ifeq ($(OS_TARGET),openbsd)
+BATCHEXT=.sh
 EXEEXT=
 HASSHAREDLIB=1
 FPCMADE=fpcmade.openbsd
@@ -600,6 +622,7 @@ FPCMADE=fpcmade.w32
 ZIPSUFFIX=w32
 endif
 ifeq ($(OS_TARGET),os2)
+BATCHEXT=.cmd
 PPUEXT=.ppo
 ASMEXT=.so2
 OEXT=.oo2
@@ -632,6 +655,7 @@ EXEEXT=.ttp
 FPCMADE=fpcmade.ata
 endif
 ifeq ($(OS_TARGET),beos)
+BATCHEXT=.sh
 PPUEXT=.ppu
 ASMEXT=.s
 OEXT=.o
@@ -642,6 +666,7 @@ FPCMADE=fpcmade.be
 ZIPSUFFIX=be
 endif
 ifeq ($(OS_TARGET),sunos)
+BATCHEXT=.sh
 PPUEXT=.ppu
 ASMEXT=.s
 OEXT=.o
@@ -652,6 +677,7 @@ FPCMADE=fpcmade.sun
 ZIPSUFFIX=sun
 endif
 ifeq ($(OS_TARGET),qnx)
+BATCHEXT=.sh
 PPUEXT=.ppu
 ASMEXT=.s
 OEXT=.o
@@ -674,13 +700,15 @@ ZIPSUFFIX=nw
 EXEEXT=.nlm
 endif
 ifeq ($(OS_TARGET),macos)
+BATCHEXT=
 PPUEXT=.ppu
 ASMEXT=.s
 OEXT=.o
 SMARTEXT=.sl
 STATICLIBEXT=.a
 EXEEXT=
-FPCMADE=fpcmade.mcc
+DEBUGSYMEXT=.xcoff
+FPCMADE=fpcmade.macos
 endif
 endif
 ifndef ECHO
@@ -688,7 +716,7 @@ ECHO:=$(strip $(wildcard $(addsuffix /gecho$(SRCEXEEXT),$(SEARCHPATH))))
 ifeq ($(ECHO),)
 ECHO:=$(strip $(wildcard $(addsuffix /echo$(SRCEXEEXT),$(SEARCHPATH))))
 ifeq ($(ECHO),)
-ECHO=
+ECHO= __missing_command__
 else
 ECHO:=$(firstword $(ECHO))
 endif
@@ -702,7 +730,7 @@ DATE:=$(strip $(wildcard $(addsuffix /gdate$(SRCEXEEXT),$(SEARCHPATH))))
 ifeq ($(DATE),)
 DATE:=$(strip $(wildcard $(addsuffix /date$(SRCEXEEXT),$(SEARCHPATH))))
 ifeq ($(DATE),)
-DATE=
+DATE= __missing_command__
 else
 DATE:=$(firstword $(DATE))
 endif
@@ -716,7 +744,7 @@ GINSTALL:=$(strip $(wildcard $(addsuffix /ginstall$(SRCEXEEXT),$(SEARCHPATH))))
 ifeq ($(GINSTALL),)
 GINSTALL:=$(strip $(wildcard $(addsuffix /install$(SRCEXEEXT),$(SEARCHPATH))))
 ifeq ($(GINSTALL),)
-GINSTALL=
+GINSTALL= __missing_command__
 else
 GINSTALL:=$(firstword $(GINSTALL))
 endif
@@ -728,7 +756,7 @@ export GINSTALL
 ifndef CPPROG
 CPPROG:=$(strip $(wildcard $(addsuffix /cp$(SRCEXEEXT),$(SEARCHPATH))))
 ifeq ($(CPPROG),)
-CPPROG=
+CPPROG= __missing_command__
 else
 CPPROG:=$(firstword $(CPPROG))
 endif
@@ -737,7 +765,7 @@ export CPPROG
 ifndef RMPROG
 RMPROG:=$(strip $(wildcard $(addsuffix /rm$(SRCEXEEXT),$(SEARCHPATH))))
 ifeq ($(RMPROG),)
-RMPROG=
+RMPROG= __missing_command__
 else
 RMPROG:=$(firstword $(RMPROG))
 endif
@@ -746,7 +774,7 @@ export RMPROG
 ifndef MVPROG
 MVPROG:=$(strip $(wildcard $(addsuffix /mv$(SRCEXEEXT),$(SEARCHPATH))))
 ifeq ($(MVPROG),)
-MVPROG=
+MVPROG= __missing_command__
 else
 MVPROG:=$(firstword $(MVPROG))
 endif
@@ -795,7 +823,7 @@ export ECHOREDIR COPY COPYTREE MOVE DEL DELTREE INSTALL INSTALLEXE MKDIR
 ifndef PPUMOVE
 PPUMOVE:=$(strip $(wildcard $(addsuffix /ppumove$(SRCEXEEXT),$(SEARCHPATH))))
 ifeq ($(PPUMOVE),)
-PPUMOVE=
+PPUMOVE= __missing_command__
 else
 PPUMOVE:=$(firstword $(PPUMOVE))
 endif
@@ -804,7 +832,7 @@ export PPUMOVE
 ifndef FPCMAKE
 FPCMAKE:=$(strip $(wildcard $(addsuffix /fpcmake$(SRCEXEEXT),$(SEARCHPATH))))
 ifeq ($(FPCMAKE),)
-FPCMAKE=
+FPCMAKE= __missing_command__
 else
 FPCMAKE:=$(firstword $(FPCMAKE))
 endif
@@ -813,7 +841,7 @@ export FPCMAKE
 ifndef ZIPPROG
 ZIPPROG:=$(strip $(wildcard $(addsuffix /zip$(SRCEXEEXT),$(SEARCHPATH))))
 ifeq ($(ZIPPROG),)
-ZIPPROG=
+ZIPPROG= __missing_command__
 else
 ZIPPROG:=$(firstword $(ZIPPROG))
 endif
@@ -822,7 +850,7 @@ export ZIPPROG
 ifndef TARPROG
 TARPROG:=$(strip $(wildcard $(addsuffix /tar$(SRCEXEEXT),$(SEARCHPATH))))
 ifeq ($(TARPROG),)
-TARPROG=
+TARPROG= __missing_command__
 else
 TARPROG:=$(firstword $(TARPROG))
 endif
@@ -834,9 +862,11 @@ ARNAME=$(BINUTILSPREFIX)ar
 RCNAME=$(BINUTILSPREFIX)rc
 ifneq ($(findstring 1.0.,$(FPC_VERSION)),)
 ifeq ($(OS_TARGET),win32)
-ASNAME=as
-LDNAME=ld
-ARNAME=ar
+ifeq ($(CROSSBINDIR),)
+ASNAME=asw
+LDNAME=ldw
+ARNAME=arw
+endif
 endif
 endif
 ifndef ASPROG
@@ -871,7 +901,7 @@ AS=$(ASPROG)
 LD=$(LDPROG)
 RC=$(RCPROG)
 AR=$(ARPROG)
-PPAS=ppas$(BATCHEXT)
+PPAS=ppas$(SRCBATCHEXT)
 ifdef inUnix
 LDCONFIG=ldconfig
 else
@@ -1130,8 +1160,12 @@ ifdef RELEASE
 ifeq ($(CPU_TARGET),i386)
 FPCCPUOPT:=-OG2p3
 else
+ifeq ($(CPU_TARGET),powerpc)
+FPCCPUOPT:=-O1
+else
 FPCCPUOPT:=
 endif
+endif
 override FPCOPT+=-Xs $(FPCCPUOPT) -n
 override FPCOPTDEF+=RELEASE
 endif
@@ -1381,7 +1415,7 @@ USEZIPWRAPPER=1
 endif
 ifdef USEZIPWRAPPER
 ZIPPATHSEP=$(PATHSEP)
-ZIPWRAPPER=$(subst /,$(PATHSEP),$(DIST_DESTDIR)/fpczip$(BATCHEXT))
+ZIPWRAPPER=$(subst /,$(PATHSEP),$(DIST_DESTDIR)/fpczip$(SRCBATCHEXT))
 else
 ZIPPATHSEP=/
 endif
@@ -1435,6 +1469,9 @@ override CLEANPPUFILES+=$(addsuffix $(PPUEXT),$(CLEAN_UNITS))
 endif
 ifdef 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 CLEANPPULINKFILES:=$(wildcard $(addprefix $(UNITTARGETDIRPREFIX),$(CLEANPPULINKFILES)))
 endif
@@ -1458,6 +1495,7 @@ ifdef LIB_NAME
 	-$(DEL) $(LIB_NAME) $(LIB_FULLNAME)
 endif
 	-$(DEL) $(FPCMADE) Package.fpc $(PPAS) script.res link.res $(FPCEXTFILE) $(REDIRFILE)
+	-$(DEL) *$(ASMEXT) *_ppas$(BATCHEXT)
 fpc_distclean: clean
 ifdef COMPILER_UNITTARGETDIR
 TARGETDIRCLEAN=fpc_clean
@@ -1469,9 +1507,13 @@ endif
 	-$(DEL) *$(OEXT) *$(PPUEXT) *$(RSTEXT) *$(ASMEXT) *$(STATICLIBEXT) *$(SHAREDLIBEXT) *$(PPLEXT)
 	-$(DELTREE) *$(SMARTEXT)
 	-$(DEL) $(FPCMADE) Package.fpc $(PPAS) script.res link.res $(FPCEXTFILE) $(REDIRFILE)
+	-$(DEL) *_ppas$(BATCHEXT)
 ifdef AOUTEXT
 	-$(DEL) *$(AOUTEXT)
 endif
+ifdef DEBUGSYMEXT
+	-$(DEL) *$(DEBUGSYMEXT)
+endif
 .PHONY: fpc_baseinfo
 override INFORULES+=fpc_baseinfo
 fpc_baseinfo:

+ 101 - 71
packages/base/inet/Makefile

@@ -1,15 +1,24 @@
 #
-# Don't edit, this file is generated by FPCMake Version 1.1 [2004/02/22]
+# Don't edit, this file is generated by FPCMake Version 1.1 [2004/04/21]
 #
 default: all
 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:=$(subst \,/,$(PATH))
+ifneq ($(findstring darwin,$(OSTYPE)),)
+inUnix=1 #darwin
+SEARCHPATH:=$(filter-out .,$(subst :, ,$(PATH)))
+else
 ifeq ($(findstring ;,$(PATH)),)
 inUnix=1
 SEARCHPATH:=$(filter-out .,$(subst :, ,$(PATH)))
 else
 SEARCHPATH:=$(subst ;, ,$(PATH))
 endif
+endif
 SEARCHPATH+=$(patsubst %/,%,$(subst \,/,$(dir $(MAKE))))
 PWD:=$(strip $(wildcard $(addsuffix /pwd.exe,$(SEARCHPATH))))
 ifeq ($(PWD),)
@@ -37,22 +46,13 @@ ifneq ($(findstring cygdrive,$(PATH)),)
 inCygWin=1
 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
-BATCHEXT=.sh
+SRCBATCHEXT=.sh
 else
 ifdef inOS2
-BATCHEXT=.cmd
+SRCBATCHEXT=.cmd
 else
-BATCHEXT=.bat
+SRCBATCHEXT=.bat
 endif
 endif
 ifdef inUnix
@@ -155,6 +155,12 @@ ifeq ($(findstring $(OS_TARGET),$(MAKEFILETARGETS)),)
 $(error The Makefile doesn't support target $(OS_TARGET), please run fpcmake first)
 endif
 endif
+ifneq ($(findstring $(OS_TARGET),$(BSDs)),)
+BSDhier=1
+endif
+ifeq ($(OS_TARGET),linux)
+linuxHier=1
+endif
 export OS_TARGET OS_SOURCE CPU_TARGET CPU_SOURCE FULL_TARGET FULL_SOURCE CROSSCOMPILE
 ifdef FPCDIR
 override FPCDIR:=$(subst \,/,$(FPCDIR))
@@ -219,42 +225,12 @@ 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
-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
 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
 ifndef INSTALL_PREFIX
@@ -263,7 +239,7 @@ INSTALL_PREFIX=$(PREFIX)
 endif
 endif
 ifndef INSTALL_PREFIX
-ifdef UNIXINSTALLDIR
+ifdef UNIXHier
 INSTALL_PREFIX=/usr/local
 else
 ifdef INSTALL_FPCPACKAGE
@@ -282,7 +258,7 @@ DIST_DESTDIR:=$(BASEDIR)
 endif
 export DIST_DESTDIR
 ifndef INSTALL_BASEDIR
-ifdef UNIXINSTALLDIR
+ifdef UNIXHier
 ifdef INSTALL_FPCPACKAGE
 INSTALL_BASEDIR:=$(INSTALL_PREFIX)/lib/fpc/$(FPC_VERSION)
 else
@@ -293,7 +269,7 @@ INSTALL_BASEDIR:=$(INSTALL_PREFIX)
 endif
 endif
 ifndef INSTALL_BINDIR
-ifdef UNIXINSTALLDIR
+ifdef UNIXHier
 ifdef CROSSCOMPILE
 INSTALL_BINDIR:=$(INSTALL_BASEDIR)/cross/$(FULL_TARGET)/bin
 else
@@ -323,19 +299,23 @@ endif
 endif
 endif
 ifndef INSTALL_LIBDIR
-ifdef UNIXINSTALLDIR
+ifdef UNIXHier
 INSTALL_LIBDIR:=$(INSTALL_PREFIX)/lib
 else
 INSTALL_LIBDIR:=$(INSTALL_UNITDIR)
 endif
 endif
 ifndef INSTALL_SOURCEDIR
-ifdef UNIXINSTALLDIR
+ifdef UNIXHier
 ifdef BSDhier
 SRCPREFIXDIR=share/src
 else
+ifdef linuxHier
+SRCPREFIXDIR=share/src
+else
 SRCPREFIXDIR=src
 endif
+endif
 ifdef INSTALL_FPCPACKAGE
 ifdef INSTALL_FPCSUBDIR
 INSTALL_SOURCEDIR:=$(INSTALL_PREFIX)/$(SRCPREFIXDIR)/fpc-$(FPC_VERSION)/$(INSTALL_FPCSUBDIR)/$(PACKAGE_NAME)
@@ -358,12 +338,16 @@ endif
 endif
 endif
 ifndef INSTALL_DOCDIR
-ifdef UNIXINSTALLDIR
+ifdef UNIXHier
 ifdef BSDhier
 DOCPREFIXDIR=share/doc
 else
+ifdef linuxHier
+DOCPREFIXDIR=share/doc
+else
 DOCPREFIXDIR=doc
 endif
+endif
 ifdef INSTALL_FPCPACKAGE
 INSTALL_DOCDIR:=$(INSTALL_PREFIX)/$(DOCPREFIXDIR)/fpc-$(FPC_VERSION)/$(PACKAGE_NAME)
 else
@@ -378,20 +362,28 @@ endif
 endif
 endif
 ifndef INSTALL_EXAMPLEDIR
-ifdef UNIXINSTALLDIR
+ifdef UNIXHier
 ifdef INSTALL_FPCPACKAGE
 ifdef BSDhier
 INSTALL_EXAMPLEDIR:=$(INSTALL_PREFIX)/share/examples/fpc-$(FPC_VERSION)/$(PACKAGE_NAME)
 else
+ifdef linuxHier
+INSTALL_EXAMPLEDIR:=$(INSTALL_DOCDIR)/examples/fpc-$(FPC_VERSION)/$(PACKAGE_NAME)
+else
 INSTALL_EXAMPLEDIR:=$(INSTALL_PREFIX)/doc/fpc-$(FPC_VERSION)/examples/$(PACKAGE_NAME)
 endif
+endif
 else
 ifdef BSDhier
 INSTALL_EXAMPLEDIR:=$(INSTALL_PREFIX)/share/examples/$(PACKAGE_NAME)-$(PACKAGE_VERSION)
 else
+ifdef linuxHier
+INSTALL_EXAMPLEDIR:=$(INSTALL_DOCDIR)/examples/$(PACKAGE_NAME)-$(PACKAGE_VERSION)
+else
 INSTALL_EXAMPLEDIR:=$(INSTALL_PREFIX)/doc/$(PACKAGE_NAME)-$(PACKAGE_VERSION)
 endif
 endif
+endif
 else
 ifdef INSTALL_FPCPACKAGE
 INSTALL_EXAMPLEDIR:=$(INSTALL_BASEDIR)/examples/$(PACKAGE_NAME)
@@ -413,6 +405,7 @@ endif
 else
 CROSSBINDIR=
 endif
+BATCHEXT=.bat
 LOADEREXT=.as
 EXEEXT=.exe
 PPLEXT=.ppl
@@ -445,24 +438,28 @@ ASMEXT=.asm
 SHAREDLIBEXT=.dll
 endif
 ifeq ($(OS_TARGET),linux)
+BATCHEXT=.sh
 EXEEXT=
 HASSHAREDLIB=1
 FPCMADE=fpcmade.lnx
 ZIPSUFFIX=linux
 endif
 ifeq ($(OS_TARGET),freebsd)
+BATCHEXT=.sh
 EXEEXT=
 HASSHAREDLIB=1
 FPCMADE=fpcmade.freebsd
 ZIPSUFFIX=freebsd
 endif
 ifeq ($(OS_TARGET),netbsd)
+BATCHEXT=.sh
 EXEEXT=
 HASSHAREDLIB=1
 FPCMADE=fpcmade.netbsd
 ZIPSUFFIX=netbsd
 endif
 ifeq ($(OS_TARGET),openbsd)
+BATCHEXT=.sh
 EXEEXT=
 HASSHAREDLIB=1
 FPCMADE=fpcmade.openbsd
@@ -474,6 +471,7 @@ FPCMADE=fpcmade.w32
 ZIPSUFFIX=w32
 endif
 ifeq ($(OS_TARGET),os2)
+BATCHEXT=.cmd
 AOUTEXT=.out
 STATICLIBPREFIX=
 SHAREDLIBEXT=.dll
@@ -482,6 +480,7 @@ ZIPSUFFIX=os2
 ECHO=echo
 endif
 ifeq ($(OS_TARGET),emx)
+BATCHEXT=.cmd
 AOUTEXT=.out
 STATICLIBPREFIX=
 SHAREDLIBEXT=.dll
@@ -499,16 +498,19 @@ EXEEXT=.ttp
 FPCMADE=fpcmade.ata
 endif
 ifeq ($(OS_TARGET),beos)
+BATCHEXT=.sh
 EXEEXT=
 FPCMADE=fpcmade.be
 ZIPSUFFIX=be
 endif
 ifeq ($(OS_TARGET),sunos)
+BATCHEXT=.sh
 EXEEXT=
 FPCMADE=fpcmade.sun
 ZIPSUFFIX=sun
 endif
 ifeq ($(OS_TARGET),qnx)
+BATCHEXT=.sh
 EXEEXT=
 FPCMADE=fpcmade.qnx
 ZIPSUFFIX=qnx
@@ -520,10 +522,14 @@ FPCMADE=fpcmade.nw
 ZIPSUFFIX=nw
 endif
 ifeq ($(OS_TARGET),macos)
+BATCHEXT=
 EXEEXT=
-FPCMADE=fpcmade.mcc
+FPCMADE=fpcmade.macos
+ZIPSUFFIX=macos
+DEBUGSYMEXT=.xcoff
 endif
 ifeq ($(OS_TARGET),darwin)
+BATCHEXT=.sh
 EXEEXT=
 HASSHAREDLIB=1
 FPCMADE=fpcmade.darwin
@@ -552,24 +558,28 @@ FPCMADE=fpcmade.dos
 ZIPSUFFIX=watcom
 endif
 ifeq ($(OS_TARGET),linux)
+BATCHEXT=.sh
 EXEEXT=
 HASSHAREDLIB=1
 FPCMADE=fpcmade.lnx
 ZIPSUFFIX=linux
 endif
 ifeq ($(OS_TARGET),freebsd)
+BATCHEXT=.sh
 EXEEXT=
 HASSHAREDLIB=1
 FPCMADE=fpcmade.freebsd
 ZIPSUFFIX=freebsd
 endif
 ifeq ($(OS_TARGET),netbsd)
+BATCHEXT=.sh
 EXEEXT=
 HASSHAREDLIB=1
 FPCMADE=fpcmade.netbsd
 ZIPSUFFIX=netbsd
 endif
 ifeq ($(OS_TARGET),openbsd)
+BATCHEXT=.sh
 EXEEXT=
 HASSHAREDLIB=1
 FPCMADE=fpcmade.openbsd
@@ -586,6 +596,7 @@ FPCMADE=fpcmade.w32
 ZIPSUFFIX=w32
 endif
 ifeq ($(OS_TARGET),os2)
+BATCHEXT=.cmd
 PPUEXT=.ppo
 ASMEXT=.so2
 OEXT=.oo2
@@ -618,6 +629,7 @@ EXEEXT=.ttp
 FPCMADE=fpcmade.ata
 endif
 ifeq ($(OS_TARGET),beos)
+BATCHEXT=.sh
 PPUEXT=.ppu
 ASMEXT=.s
 OEXT=.o
@@ -628,6 +640,7 @@ FPCMADE=fpcmade.be
 ZIPSUFFIX=be
 endif
 ifeq ($(OS_TARGET),sunos)
+BATCHEXT=.sh
 PPUEXT=.ppu
 ASMEXT=.s
 OEXT=.o
@@ -638,6 +651,7 @@ FPCMADE=fpcmade.sun
 ZIPSUFFIX=sun
 endif
 ifeq ($(OS_TARGET),qnx)
+BATCHEXT=.sh
 PPUEXT=.ppu
 ASMEXT=.s
 OEXT=.o
@@ -660,13 +674,15 @@ ZIPSUFFIX=nw
 EXEEXT=.nlm
 endif
 ifeq ($(OS_TARGET),macos)
+BATCHEXT=
 PPUEXT=.ppu
 ASMEXT=.s
 OEXT=.o
 SMARTEXT=.sl
 STATICLIBEXT=.a
 EXEEXT=
-FPCMADE=fpcmade.mcc
+DEBUGSYMEXT=.xcoff
+FPCMADE=fpcmade.macos
 endif
 endif
 ifndef ECHO
@@ -674,7 +690,7 @@ ECHO:=$(strip $(wildcard $(addsuffix /gecho$(SRCEXEEXT),$(SEARCHPATH))))
 ifeq ($(ECHO),)
 ECHO:=$(strip $(wildcard $(addsuffix /echo$(SRCEXEEXT),$(SEARCHPATH))))
 ifeq ($(ECHO),)
-ECHO=
+ECHO= __missing_command__
 else
 ECHO:=$(firstword $(ECHO))
 endif
@@ -688,7 +704,7 @@ DATE:=$(strip $(wildcard $(addsuffix /gdate$(SRCEXEEXT),$(SEARCHPATH))))
 ifeq ($(DATE),)
 DATE:=$(strip $(wildcard $(addsuffix /date$(SRCEXEEXT),$(SEARCHPATH))))
 ifeq ($(DATE),)
-DATE=
+DATE= __missing_command__
 else
 DATE:=$(firstword $(DATE))
 endif
@@ -702,7 +718,7 @@ GINSTALL:=$(strip $(wildcard $(addsuffix /ginstall$(SRCEXEEXT),$(SEARCHPATH))))
 ifeq ($(GINSTALL),)
 GINSTALL:=$(strip $(wildcard $(addsuffix /install$(SRCEXEEXT),$(SEARCHPATH))))
 ifeq ($(GINSTALL),)
-GINSTALL=
+GINSTALL= __missing_command__
 else
 GINSTALL:=$(firstword $(GINSTALL))
 endif
@@ -714,7 +730,7 @@ export GINSTALL
 ifndef CPPROG
 CPPROG:=$(strip $(wildcard $(addsuffix /cp$(SRCEXEEXT),$(SEARCHPATH))))
 ifeq ($(CPPROG),)
-CPPROG=
+CPPROG= __missing_command__
 else
 CPPROG:=$(firstword $(CPPROG))
 endif
@@ -723,7 +739,7 @@ export CPPROG
 ifndef RMPROG
 RMPROG:=$(strip $(wildcard $(addsuffix /rm$(SRCEXEEXT),$(SEARCHPATH))))
 ifeq ($(RMPROG),)
-RMPROG=
+RMPROG= __missing_command__
 else
 RMPROG:=$(firstword $(RMPROG))
 endif
@@ -732,7 +748,7 @@ export RMPROG
 ifndef MVPROG
 MVPROG:=$(strip $(wildcard $(addsuffix /mv$(SRCEXEEXT),$(SEARCHPATH))))
 ifeq ($(MVPROG),)
-MVPROG=
+MVPROG= __missing_command__
 else
 MVPROG:=$(firstword $(MVPROG))
 endif
@@ -781,7 +797,7 @@ export ECHOREDIR COPY COPYTREE MOVE DEL DELTREE INSTALL INSTALLEXE MKDIR
 ifndef PPUMOVE
 PPUMOVE:=$(strip $(wildcard $(addsuffix /ppumove$(SRCEXEEXT),$(SEARCHPATH))))
 ifeq ($(PPUMOVE),)
-PPUMOVE=
+PPUMOVE= __missing_command__
 else
 PPUMOVE:=$(firstword $(PPUMOVE))
 endif
@@ -790,7 +806,7 @@ export PPUMOVE
 ifndef FPCMAKE
 FPCMAKE:=$(strip $(wildcard $(addsuffix /fpcmake$(SRCEXEEXT),$(SEARCHPATH))))
 ifeq ($(FPCMAKE),)
-FPCMAKE=
+FPCMAKE= __missing_command__
 else
 FPCMAKE:=$(firstword $(FPCMAKE))
 endif
@@ -799,7 +815,7 @@ export FPCMAKE
 ifndef ZIPPROG
 ZIPPROG:=$(strip $(wildcard $(addsuffix /zip$(SRCEXEEXT),$(SEARCHPATH))))
 ifeq ($(ZIPPROG),)
-ZIPPROG=
+ZIPPROG= __missing_command__
 else
 ZIPPROG:=$(firstword $(ZIPPROG))
 endif
@@ -808,7 +824,7 @@ export ZIPPROG
 ifndef TARPROG
 TARPROG:=$(strip $(wildcard $(addsuffix /tar$(SRCEXEEXT),$(SEARCHPATH))))
 ifeq ($(TARPROG),)
-TARPROG=
+TARPROG= __missing_command__
 else
 TARPROG:=$(firstword $(TARPROG))
 endif
@@ -820,9 +836,11 @@ ARNAME=$(BINUTILSPREFIX)ar
 RCNAME=$(BINUTILSPREFIX)rc
 ifneq ($(findstring 1.0.,$(FPC_VERSION)),)
 ifeq ($(OS_TARGET),win32)
-ASNAME=as
-LDNAME=ld
-ARNAME=ar
+ifeq ($(CROSSBINDIR),)
+ASNAME=asw
+LDNAME=ldw
+ARNAME=arw
+endif
 endif
 endif
 ifndef ASPROG
@@ -857,7 +875,7 @@ AS=$(ASPROG)
 LD=$(LDPROG)
 RC=$(RCPROG)
 AR=$(ARPROG)
-PPAS=ppas$(BATCHEXT)
+PPAS=ppas$(SRCBATCHEXT)
 ifdef inUnix
 LDCONFIG=ldconfig
 else
@@ -1116,8 +1134,12 @@ ifdef RELEASE
 ifeq ($(CPU_TARGET),i386)
 FPCCPUOPT:=-OG2p3
 else
+ifeq ($(CPU_TARGET),powerpc)
+FPCCPUOPT:=-O1
+else
 FPCCPUOPT:=
 endif
+endif
 override FPCOPT+=-Xs $(FPCCPUOPT) -n
 override FPCOPTDEF+=RELEASE
 endif
@@ -1361,7 +1383,7 @@ USEZIPWRAPPER=1
 endif
 ifdef USEZIPWRAPPER
 ZIPPATHSEP=$(PATHSEP)
-ZIPWRAPPER=$(subst /,$(PATHSEP),$(DIST_DESTDIR)/fpczip$(BATCHEXT))
+ZIPWRAPPER=$(subst /,$(PATHSEP),$(DIST_DESTDIR)/fpczip$(SRCBATCHEXT))
 else
 ZIPPATHSEP=/
 endif
@@ -1415,6 +1437,9 @@ override CLEANPPUFILES+=$(addsuffix $(PPUEXT),$(CLEAN_UNITS))
 endif
 ifdef 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 CLEANPPULINKFILES:=$(wildcard $(addprefix $(UNITTARGETDIRPREFIX),$(CLEANPPULINKFILES)))
 endif
@@ -1438,6 +1463,7 @@ ifdef LIB_NAME
 	-$(DEL) $(LIB_NAME) $(LIB_FULLNAME)
 endif
 	-$(DEL) $(FPCMADE) Package.fpc $(PPAS) script.res link.res $(FPCEXTFILE) $(REDIRFILE)
+	-$(DEL) *$(ASMEXT) *_ppas$(BATCHEXT)
 fpc_distclean: clean
 ifdef COMPILER_UNITTARGETDIR
 TARGETDIRCLEAN=fpc_clean
@@ -1449,9 +1475,13 @@ endif
 	-$(DEL) *$(OEXT) *$(PPUEXT) *$(RSTEXT) *$(ASMEXT) *$(STATICLIBEXT) *$(SHAREDLIBEXT) *$(PPLEXT)
 	-$(DELTREE) *$(SMARTEXT)
 	-$(DEL) $(FPCMADE) Package.fpc $(PPAS) script.res link.res $(FPCEXTFILE) $(REDIRFILE)
+	-$(DEL) *_ppas$(BATCHEXT)
 ifdef AOUTEXT
 	-$(DEL) *$(AOUTEXT)
 endif
+ifdef DEBUGSYMEXT
+	-$(DEL) *$(DEBUGSYMEXT)
+endif
 .PHONY: fpc_baseinfo
 override INFORULES+=fpc_baseinfo
 fpc_baseinfo:

+ 101 - 71
packages/base/libasync/Makefile

@@ -1,15 +1,24 @@
 #
-# Don't edit, this file is generated by FPCMake Version 1.1 [2004/02/22]
+# Don't edit, this file is generated by FPCMake Version 1.1 [2004/04/21]
 #
 default: all
 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:=$(subst \,/,$(PATH))
+ifneq ($(findstring darwin,$(OSTYPE)),)
+inUnix=1 #darwin
+SEARCHPATH:=$(filter-out .,$(subst :, ,$(PATH)))
+else
 ifeq ($(findstring ;,$(PATH)),)
 inUnix=1
 SEARCHPATH:=$(filter-out .,$(subst :, ,$(PATH)))
 else
 SEARCHPATH:=$(subst ;, ,$(PATH))
 endif
+endif
 SEARCHPATH+=$(patsubst %/,%,$(subst \,/,$(dir $(MAKE))))
 PWD:=$(strip $(wildcard $(addsuffix /pwd.exe,$(SEARCHPATH))))
 ifeq ($(PWD),)
@@ -37,22 +46,13 @@ ifneq ($(findstring cygdrive,$(PATH)),)
 inCygWin=1
 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
-BATCHEXT=.sh
+SRCBATCHEXT=.sh
 else
 ifdef inOS2
-BATCHEXT=.cmd
+SRCBATCHEXT=.cmd
 else
-BATCHEXT=.bat
+SRCBATCHEXT=.bat
 endif
 endif
 ifdef inUnix
@@ -155,6 +155,12 @@ ifeq ($(findstring $(OS_TARGET),$(MAKEFILETARGETS)),)
 $(error The Makefile doesn't support target $(OS_TARGET), please run fpcmake first)
 endif
 endif
+ifneq ($(findstring $(OS_TARGET),$(BSDs)),)
+BSDhier=1
+endif
+ifeq ($(OS_TARGET),linux)
+linuxHier=1
+endif
 export OS_TARGET OS_SOURCE CPU_TARGET CPU_SOURCE FULL_TARGET FULL_SOURCE CROSSCOMPILE
 ifdef FPCDIR
 override FPCDIR:=$(subst \,/,$(FPCDIR))
@@ -234,42 +240,12 @@ 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
-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
 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
 ifndef INSTALL_PREFIX
@@ -278,7 +254,7 @@ INSTALL_PREFIX=$(PREFIX)
 endif
 endif
 ifndef INSTALL_PREFIX
-ifdef UNIXINSTALLDIR
+ifdef UNIXHier
 INSTALL_PREFIX=/usr/local
 else
 ifdef INSTALL_FPCPACKAGE
@@ -297,7 +273,7 @@ DIST_DESTDIR:=$(BASEDIR)
 endif
 export DIST_DESTDIR
 ifndef INSTALL_BASEDIR
-ifdef UNIXINSTALLDIR
+ifdef UNIXHier
 ifdef INSTALL_FPCPACKAGE
 INSTALL_BASEDIR:=$(INSTALL_PREFIX)/lib/fpc/$(FPC_VERSION)
 else
@@ -308,7 +284,7 @@ INSTALL_BASEDIR:=$(INSTALL_PREFIX)
 endif
 endif
 ifndef INSTALL_BINDIR
-ifdef UNIXINSTALLDIR
+ifdef UNIXHier
 ifdef CROSSCOMPILE
 INSTALL_BINDIR:=$(INSTALL_BASEDIR)/cross/$(FULL_TARGET)/bin
 else
@@ -338,19 +314,23 @@ endif
 endif
 endif
 ifndef INSTALL_LIBDIR
-ifdef UNIXINSTALLDIR
+ifdef UNIXHier
 INSTALL_LIBDIR:=$(INSTALL_PREFIX)/lib
 else
 INSTALL_LIBDIR:=$(INSTALL_UNITDIR)
 endif
 endif
 ifndef INSTALL_SOURCEDIR
-ifdef UNIXINSTALLDIR
+ifdef UNIXHier
 ifdef BSDhier
 SRCPREFIXDIR=share/src
 else
+ifdef linuxHier
+SRCPREFIXDIR=share/src
+else
 SRCPREFIXDIR=src
 endif
+endif
 ifdef INSTALL_FPCPACKAGE
 ifdef INSTALL_FPCSUBDIR
 INSTALL_SOURCEDIR:=$(INSTALL_PREFIX)/$(SRCPREFIXDIR)/fpc-$(FPC_VERSION)/$(INSTALL_FPCSUBDIR)/$(PACKAGE_NAME)
@@ -373,12 +353,16 @@ endif
 endif
 endif
 ifndef INSTALL_DOCDIR
-ifdef UNIXINSTALLDIR
+ifdef UNIXHier
 ifdef BSDhier
 DOCPREFIXDIR=share/doc
 else
+ifdef linuxHier
+DOCPREFIXDIR=share/doc
+else
 DOCPREFIXDIR=doc
 endif
+endif
 ifdef INSTALL_FPCPACKAGE
 INSTALL_DOCDIR:=$(INSTALL_PREFIX)/$(DOCPREFIXDIR)/fpc-$(FPC_VERSION)/$(PACKAGE_NAME)
 else
@@ -393,20 +377,28 @@ endif
 endif
 endif
 ifndef INSTALL_EXAMPLEDIR
-ifdef UNIXINSTALLDIR
+ifdef UNIXHier
 ifdef INSTALL_FPCPACKAGE
 ifdef BSDhier
 INSTALL_EXAMPLEDIR:=$(INSTALL_PREFIX)/share/examples/fpc-$(FPC_VERSION)/$(PACKAGE_NAME)
 else
+ifdef linuxHier
+INSTALL_EXAMPLEDIR:=$(INSTALL_DOCDIR)/examples/fpc-$(FPC_VERSION)/$(PACKAGE_NAME)
+else
 INSTALL_EXAMPLEDIR:=$(INSTALL_PREFIX)/doc/fpc-$(FPC_VERSION)/examples/$(PACKAGE_NAME)
 endif
+endif
 else
 ifdef BSDhier
 INSTALL_EXAMPLEDIR:=$(INSTALL_PREFIX)/share/examples/$(PACKAGE_NAME)-$(PACKAGE_VERSION)
 else
+ifdef linuxHier
+INSTALL_EXAMPLEDIR:=$(INSTALL_DOCDIR)/examples/$(PACKAGE_NAME)-$(PACKAGE_VERSION)
+else
 INSTALL_EXAMPLEDIR:=$(INSTALL_PREFIX)/doc/$(PACKAGE_NAME)-$(PACKAGE_VERSION)
 endif
 endif
+endif
 else
 ifdef INSTALL_FPCPACKAGE
 INSTALL_EXAMPLEDIR:=$(INSTALL_BASEDIR)/examples/$(PACKAGE_NAME)
@@ -428,6 +420,7 @@ endif
 else
 CROSSBINDIR=
 endif
+BATCHEXT=.bat
 LOADEREXT=.as
 EXEEXT=.exe
 PPLEXT=.ppl
@@ -460,24 +453,28 @@ ASMEXT=.asm
 SHAREDLIBEXT=.dll
 endif
 ifeq ($(OS_TARGET),linux)
+BATCHEXT=.sh
 EXEEXT=
 HASSHAREDLIB=1
 FPCMADE=fpcmade.lnx
 ZIPSUFFIX=linux
 endif
 ifeq ($(OS_TARGET),freebsd)
+BATCHEXT=.sh
 EXEEXT=
 HASSHAREDLIB=1
 FPCMADE=fpcmade.freebsd
 ZIPSUFFIX=freebsd
 endif
 ifeq ($(OS_TARGET),netbsd)
+BATCHEXT=.sh
 EXEEXT=
 HASSHAREDLIB=1
 FPCMADE=fpcmade.netbsd
 ZIPSUFFIX=netbsd
 endif
 ifeq ($(OS_TARGET),openbsd)
+BATCHEXT=.sh
 EXEEXT=
 HASSHAREDLIB=1
 FPCMADE=fpcmade.openbsd
@@ -489,6 +486,7 @@ FPCMADE=fpcmade.w32
 ZIPSUFFIX=w32
 endif
 ifeq ($(OS_TARGET),os2)
+BATCHEXT=.cmd
 AOUTEXT=.out
 STATICLIBPREFIX=
 SHAREDLIBEXT=.dll
@@ -497,6 +495,7 @@ ZIPSUFFIX=os2
 ECHO=echo
 endif
 ifeq ($(OS_TARGET),emx)
+BATCHEXT=.cmd
 AOUTEXT=.out
 STATICLIBPREFIX=
 SHAREDLIBEXT=.dll
@@ -514,16 +513,19 @@ EXEEXT=.ttp
 FPCMADE=fpcmade.ata
 endif
 ifeq ($(OS_TARGET),beos)
+BATCHEXT=.sh
 EXEEXT=
 FPCMADE=fpcmade.be
 ZIPSUFFIX=be
 endif
 ifeq ($(OS_TARGET),sunos)
+BATCHEXT=.sh
 EXEEXT=
 FPCMADE=fpcmade.sun
 ZIPSUFFIX=sun
 endif
 ifeq ($(OS_TARGET),qnx)
+BATCHEXT=.sh
 EXEEXT=
 FPCMADE=fpcmade.qnx
 ZIPSUFFIX=qnx
@@ -535,10 +537,14 @@ FPCMADE=fpcmade.nw
 ZIPSUFFIX=nw
 endif
 ifeq ($(OS_TARGET),macos)
+BATCHEXT=
 EXEEXT=
-FPCMADE=fpcmade.mcc
+FPCMADE=fpcmade.macos
+ZIPSUFFIX=macos
+DEBUGSYMEXT=.xcoff
 endif
 ifeq ($(OS_TARGET),darwin)
+BATCHEXT=.sh
 EXEEXT=
 HASSHAREDLIB=1
 FPCMADE=fpcmade.darwin
@@ -567,24 +573,28 @@ FPCMADE=fpcmade.dos
 ZIPSUFFIX=watcom
 endif
 ifeq ($(OS_TARGET),linux)
+BATCHEXT=.sh
 EXEEXT=
 HASSHAREDLIB=1
 FPCMADE=fpcmade.lnx
 ZIPSUFFIX=linux
 endif
 ifeq ($(OS_TARGET),freebsd)
+BATCHEXT=.sh
 EXEEXT=
 HASSHAREDLIB=1
 FPCMADE=fpcmade.freebsd
 ZIPSUFFIX=freebsd
 endif
 ifeq ($(OS_TARGET),netbsd)
+BATCHEXT=.sh
 EXEEXT=
 HASSHAREDLIB=1
 FPCMADE=fpcmade.netbsd
 ZIPSUFFIX=netbsd
 endif
 ifeq ($(OS_TARGET),openbsd)
+BATCHEXT=.sh
 EXEEXT=
 HASSHAREDLIB=1
 FPCMADE=fpcmade.openbsd
@@ -601,6 +611,7 @@ FPCMADE=fpcmade.w32
 ZIPSUFFIX=w32
 endif
 ifeq ($(OS_TARGET),os2)
+BATCHEXT=.cmd
 PPUEXT=.ppo
 ASMEXT=.so2
 OEXT=.oo2
@@ -633,6 +644,7 @@ EXEEXT=.ttp
 FPCMADE=fpcmade.ata
 endif
 ifeq ($(OS_TARGET),beos)
+BATCHEXT=.sh
 PPUEXT=.ppu
 ASMEXT=.s
 OEXT=.o
@@ -643,6 +655,7 @@ FPCMADE=fpcmade.be
 ZIPSUFFIX=be
 endif
 ifeq ($(OS_TARGET),sunos)
+BATCHEXT=.sh
 PPUEXT=.ppu
 ASMEXT=.s
 OEXT=.o
@@ -653,6 +666,7 @@ FPCMADE=fpcmade.sun
 ZIPSUFFIX=sun
 endif
 ifeq ($(OS_TARGET),qnx)
+BATCHEXT=.sh
 PPUEXT=.ppu
 ASMEXT=.s
 OEXT=.o
@@ -675,13 +689,15 @@ ZIPSUFFIX=nw
 EXEEXT=.nlm
 endif
 ifeq ($(OS_TARGET),macos)
+BATCHEXT=
 PPUEXT=.ppu
 ASMEXT=.s
 OEXT=.o
 SMARTEXT=.sl
 STATICLIBEXT=.a
 EXEEXT=
-FPCMADE=fpcmade.mcc
+DEBUGSYMEXT=.xcoff
+FPCMADE=fpcmade.macos
 endif
 endif
 ifndef ECHO
@@ -689,7 +705,7 @@ ECHO:=$(strip $(wildcard $(addsuffix /gecho$(SRCEXEEXT),$(SEARCHPATH))))
 ifeq ($(ECHO),)
 ECHO:=$(strip $(wildcard $(addsuffix /echo$(SRCEXEEXT),$(SEARCHPATH))))
 ifeq ($(ECHO),)
-ECHO=
+ECHO= __missing_command__
 else
 ECHO:=$(firstword $(ECHO))
 endif
@@ -703,7 +719,7 @@ DATE:=$(strip $(wildcard $(addsuffix /gdate$(SRCEXEEXT),$(SEARCHPATH))))
 ifeq ($(DATE),)
 DATE:=$(strip $(wildcard $(addsuffix /date$(SRCEXEEXT),$(SEARCHPATH))))
 ifeq ($(DATE),)
-DATE=
+DATE= __missing_command__
 else
 DATE:=$(firstword $(DATE))
 endif
@@ -717,7 +733,7 @@ GINSTALL:=$(strip $(wildcard $(addsuffix /ginstall$(SRCEXEEXT),$(SEARCHPATH))))
 ifeq ($(GINSTALL),)
 GINSTALL:=$(strip $(wildcard $(addsuffix /install$(SRCEXEEXT),$(SEARCHPATH))))
 ifeq ($(GINSTALL),)
-GINSTALL=
+GINSTALL= __missing_command__
 else
 GINSTALL:=$(firstword $(GINSTALL))
 endif
@@ -729,7 +745,7 @@ export GINSTALL
 ifndef CPPROG
 CPPROG:=$(strip $(wildcard $(addsuffix /cp$(SRCEXEEXT),$(SEARCHPATH))))
 ifeq ($(CPPROG),)
-CPPROG=
+CPPROG= __missing_command__
 else
 CPPROG:=$(firstword $(CPPROG))
 endif
@@ -738,7 +754,7 @@ export CPPROG
 ifndef RMPROG
 RMPROG:=$(strip $(wildcard $(addsuffix /rm$(SRCEXEEXT),$(SEARCHPATH))))
 ifeq ($(RMPROG),)
-RMPROG=
+RMPROG= __missing_command__
 else
 RMPROG:=$(firstword $(RMPROG))
 endif
@@ -747,7 +763,7 @@ export RMPROG
 ifndef MVPROG
 MVPROG:=$(strip $(wildcard $(addsuffix /mv$(SRCEXEEXT),$(SEARCHPATH))))
 ifeq ($(MVPROG),)
-MVPROG=
+MVPROG= __missing_command__
 else
 MVPROG:=$(firstword $(MVPROG))
 endif
@@ -796,7 +812,7 @@ export ECHOREDIR COPY COPYTREE MOVE DEL DELTREE INSTALL INSTALLEXE MKDIR
 ifndef PPUMOVE
 PPUMOVE:=$(strip $(wildcard $(addsuffix /ppumove$(SRCEXEEXT),$(SEARCHPATH))))
 ifeq ($(PPUMOVE),)
-PPUMOVE=
+PPUMOVE= __missing_command__
 else
 PPUMOVE:=$(firstword $(PPUMOVE))
 endif
@@ -805,7 +821,7 @@ export PPUMOVE
 ifndef FPCMAKE
 FPCMAKE:=$(strip $(wildcard $(addsuffix /fpcmake$(SRCEXEEXT),$(SEARCHPATH))))
 ifeq ($(FPCMAKE),)
-FPCMAKE=
+FPCMAKE= __missing_command__
 else
 FPCMAKE:=$(firstword $(FPCMAKE))
 endif
@@ -814,7 +830,7 @@ export FPCMAKE
 ifndef ZIPPROG
 ZIPPROG:=$(strip $(wildcard $(addsuffix /zip$(SRCEXEEXT),$(SEARCHPATH))))
 ifeq ($(ZIPPROG),)
-ZIPPROG=
+ZIPPROG= __missing_command__
 else
 ZIPPROG:=$(firstword $(ZIPPROG))
 endif
@@ -823,7 +839,7 @@ export ZIPPROG
 ifndef TARPROG
 TARPROG:=$(strip $(wildcard $(addsuffix /tar$(SRCEXEEXT),$(SEARCHPATH))))
 ifeq ($(TARPROG),)
-TARPROG=
+TARPROG= __missing_command__
 else
 TARPROG:=$(firstword $(TARPROG))
 endif
@@ -835,9 +851,11 @@ ARNAME=$(BINUTILSPREFIX)ar
 RCNAME=$(BINUTILSPREFIX)rc
 ifneq ($(findstring 1.0.,$(FPC_VERSION)),)
 ifeq ($(OS_TARGET),win32)
-ASNAME=as
-LDNAME=ld
-ARNAME=ar
+ifeq ($(CROSSBINDIR),)
+ASNAME=asw
+LDNAME=ldw
+ARNAME=arw
+endif
 endif
 endif
 ifndef ASPROG
@@ -872,7 +890,7 @@ AS=$(ASPROG)
 LD=$(LDPROG)
 RC=$(RCPROG)
 AR=$(ARPROG)
-PPAS=ppas$(BATCHEXT)
+PPAS=ppas$(SRCBATCHEXT)
 ifdef inUnix
 LDCONFIG=ldconfig
 else
@@ -1131,8 +1149,12 @@ ifdef RELEASE
 ifeq ($(CPU_TARGET),i386)
 FPCCPUOPT:=-OG2p3
 else
+ifeq ($(CPU_TARGET),powerpc)
+FPCCPUOPT:=-O1
+else
 FPCCPUOPT:=
 endif
+endif
 override FPCOPT+=-Xs $(FPCCPUOPT) -n
 override FPCOPTDEF+=RELEASE
 endif
@@ -1358,7 +1380,7 @@ USEZIPWRAPPER=1
 endif
 ifdef USEZIPWRAPPER
 ZIPPATHSEP=$(PATHSEP)
-ZIPWRAPPER=$(subst /,$(PATHSEP),$(DIST_DESTDIR)/fpczip$(BATCHEXT))
+ZIPWRAPPER=$(subst /,$(PATHSEP),$(DIST_DESTDIR)/fpczip$(SRCBATCHEXT))
 else
 ZIPPATHSEP=/
 endif
@@ -1412,6 +1434,9 @@ override CLEANPPUFILES+=$(addsuffix $(PPUEXT),$(CLEAN_UNITS))
 endif
 ifdef 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 CLEANPPULINKFILES:=$(wildcard $(addprefix $(UNITTARGETDIRPREFIX),$(CLEANPPULINKFILES)))
 endif
@@ -1435,6 +1460,7 @@ ifdef LIB_NAME
 	-$(DEL) $(LIB_NAME) $(LIB_FULLNAME)
 endif
 	-$(DEL) $(FPCMADE) Package.fpc $(PPAS) script.res link.res $(FPCEXTFILE) $(REDIRFILE)
+	-$(DEL) *$(ASMEXT) *_ppas$(BATCHEXT)
 fpc_distclean: clean
 ifdef COMPILER_UNITTARGETDIR
 TARGETDIRCLEAN=fpc_clean
@@ -1446,9 +1472,13 @@ endif
 	-$(DEL) *$(OEXT) *$(PPUEXT) *$(RSTEXT) *$(ASMEXT) *$(STATICLIBEXT) *$(SHAREDLIBEXT) *$(PPLEXT)
 	-$(DELTREE) *$(SMARTEXT)
 	-$(DEL) $(FPCMADE) Package.fpc $(PPAS) script.res link.res $(FPCEXTFILE) $(REDIRFILE)
+	-$(DEL) *_ppas$(BATCHEXT)
 ifdef AOUTEXT
 	-$(DEL) *$(AOUTEXT)
 endif
+ifdef DEBUGSYMEXT
+	-$(DEL) *$(DEBUGSYMEXT)
+endif
 .PHONY: fpc_baseinfo
 override INFORULES+=fpc_baseinfo
 fpc_baseinfo:

+ 114 - 72
packages/base/libc/Makefile

@@ -1,15 +1,24 @@
 #
-# Don't edit, this file is generated by FPCMake Version 1.1 [2004/02/22]
+# Don't edit, this file is generated by FPCMake Version 1.1 [2004/04/21]
 #
 default: all
 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:=$(subst \,/,$(PATH))
+ifneq ($(findstring darwin,$(OSTYPE)),)
+inUnix=1 #darwin
+SEARCHPATH:=$(filter-out .,$(subst :, ,$(PATH)))
+else
 ifeq ($(findstring ;,$(PATH)),)
 inUnix=1
 SEARCHPATH:=$(filter-out .,$(subst :, ,$(PATH)))
 else
 SEARCHPATH:=$(subst ;, ,$(PATH))
 endif
+endif
 SEARCHPATH+=$(patsubst %/,%,$(subst \,/,$(dir $(MAKE))))
 PWD:=$(strip $(wildcard $(addsuffix /pwd.exe,$(SEARCHPATH))))
 ifeq ($(PWD),)
@@ -37,22 +46,13 @@ ifneq ($(findstring cygdrive,$(PATH)),)
 inCygWin=1
 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
-BATCHEXT=.sh
+SRCBATCHEXT=.sh
 else
 ifdef inOS2
-BATCHEXT=.cmd
+SRCBATCHEXT=.cmd
 else
-BATCHEXT=.bat
+SRCBATCHEXT=.bat
 endif
 endif
 ifdef inUnix
@@ -155,6 +155,12 @@ ifeq ($(findstring $(OS_TARGET),$(MAKEFILETARGETS)),)
 $(error The Makefile doesn't support target $(OS_TARGET), please run fpcmake first)
 endif
 endif
+ifneq ($(findstring $(OS_TARGET),$(BSDs)),)
+BSDhier=1
+endif
+ifeq ($(OS_TARGET),linux)
+linuxHier=1
+endif
 export OS_TARGET OS_SOURCE CPU_TARGET CPU_SOURCE FULL_TARGET FULL_SOURCE CROSSCOMPILE
 ifdef FPCDIR
 override FPCDIR:=$(subst \,/,$(FPCDIR))
@@ -218,42 +224,12 @@ 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
-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
 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
 ifndef INSTALL_PREFIX
@@ -262,7 +238,7 @@ INSTALL_PREFIX=$(PREFIX)
 endif
 endif
 ifndef INSTALL_PREFIX
-ifdef UNIXINSTALLDIR
+ifdef UNIXHier
 INSTALL_PREFIX=/usr/local
 else
 ifdef INSTALL_FPCPACKAGE
@@ -281,7 +257,7 @@ DIST_DESTDIR:=$(BASEDIR)
 endif
 export DIST_DESTDIR
 ifndef INSTALL_BASEDIR
-ifdef UNIXINSTALLDIR
+ifdef UNIXHier
 ifdef INSTALL_FPCPACKAGE
 INSTALL_BASEDIR:=$(INSTALL_PREFIX)/lib/fpc/$(FPC_VERSION)
 else
@@ -292,7 +268,7 @@ INSTALL_BASEDIR:=$(INSTALL_PREFIX)
 endif
 endif
 ifndef INSTALL_BINDIR
-ifdef UNIXINSTALLDIR
+ifdef UNIXHier
 ifdef CROSSCOMPILE
 INSTALL_BINDIR:=$(INSTALL_BASEDIR)/cross/$(FULL_TARGET)/bin
 else
@@ -322,19 +298,23 @@ endif
 endif
 endif
 ifndef INSTALL_LIBDIR
-ifdef UNIXINSTALLDIR
+ifdef UNIXHier
 INSTALL_LIBDIR:=$(INSTALL_PREFIX)/lib
 else
 INSTALL_LIBDIR:=$(INSTALL_UNITDIR)
 endif
 endif
 ifndef INSTALL_SOURCEDIR
-ifdef UNIXINSTALLDIR
+ifdef UNIXHier
 ifdef BSDhier
 SRCPREFIXDIR=share/src
 else
+ifdef linuxHier
+SRCPREFIXDIR=share/src
+else
 SRCPREFIXDIR=src
 endif
+endif
 ifdef INSTALL_FPCPACKAGE
 ifdef INSTALL_FPCSUBDIR
 INSTALL_SOURCEDIR:=$(INSTALL_PREFIX)/$(SRCPREFIXDIR)/fpc-$(FPC_VERSION)/$(INSTALL_FPCSUBDIR)/$(PACKAGE_NAME)
@@ -357,12 +337,16 @@ endif
 endif
 endif
 ifndef INSTALL_DOCDIR
-ifdef UNIXINSTALLDIR
+ifdef UNIXHier
 ifdef BSDhier
 DOCPREFIXDIR=share/doc
 else
+ifdef linuxHier
+DOCPREFIXDIR=share/doc
+else
 DOCPREFIXDIR=doc
 endif
+endif
 ifdef INSTALL_FPCPACKAGE
 INSTALL_DOCDIR:=$(INSTALL_PREFIX)/$(DOCPREFIXDIR)/fpc-$(FPC_VERSION)/$(PACKAGE_NAME)
 else
@@ -377,20 +361,28 @@ endif
 endif
 endif
 ifndef INSTALL_EXAMPLEDIR
-ifdef UNIXINSTALLDIR
+ifdef UNIXHier
 ifdef INSTALL_FPCPACKAGE
 ifdef BSDhier
 INSTALL_EXAMPLEDIR:=$(INSTALL_PREFIX)/share/examples/fpc-$(FPC_VERSION)/$(PACKAGE_NAME)
 else
+ifdef linuxHier
+INSTALL_EXAMPLEDIR:=$(INSTALL_DOCDIR)/examples/fpc-$(FPC_VERSION)/$(PACKAGE_NAME)
+else
 INSTALL_EXAMPLEDIR:=$(INSTALL_PREFIX)/doc/fpc-$(FPC_VERSION)/examples/$(PACKAGE_NAME)
 endif
+endif
 else
 ifdef BSDhier
 INSTALL_EXAMPLEDIR:=$(INSTALL_PREFIX)/share/examples/$(PACKAGE_NAME)-$(PACKAGE_VERSION)
 else
+ifdef linuxHier
+INSTALL_EXAMPLEDIR:=$(INSTALL_DOCDIR)/examples/$(PACKAGE_NAME)-$(PACKAGE_VERSION)
+else
 INSTALL_EXAMPLEDIR:=$(INSTALL_PREFIX)/doc/$(PACKAGE_NAME)-$(PACKAGE_VERSION)
 endif
 endif
+endif
 else
 ifdef INSTALL_FPCPACKAGE
 INSTALL_EXAMPLEDIR:=$(INSTALL_BASEDIR)/examples/$(PACKAGE_NAME)
@@ -414,7 +406,19 @@ CROSSBINDIR=
 endif
 ifeq ($(OS_SOURCE),linux)
 ifndef GCCLIBDIR
-GCCLIBDIR:=$(shell dirname `gcc -print-libgcc-file-name`)
+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
 ifndef OTHERLIBDIR
 OTHERLIBDIR:=$(shell grep -v "^\#" /etc/ld.so.conf | awk '{ ORS=" "; print $1 }')
@@ -426,6 +430,7 @@ OTHERLIBDIR+=/usr/pkg/lib
 endif
 export GCCLIBDIR OTHERLIB
 endif
+BATCHEXT=.bat
 LOADEREXT=.as
 EXEEXT=.exe
 PPLEXT=.ppl
@@ -458,24 +463,28 @@ ASMEXT=.asm
 SHAREDLIBEXT=.dll
 endif
 ifeq ($(OS_TARGET),linux)
+BATCHEXT=.sh
 EXEEXT=
 HASSHAREDLIB=1
 FPCMADE=fpcmade.lnx
 ZIPSUFFIX=linux
 endif
 ifeq ($(OS_TARGET),freebsd)
+BATCHEXT=.sh
 EXEEXT=
 HASSHAREDLIB=1
 FPCMADE=fpcmade.freebsd
 ZIPSUFFIX=freebsd
 endif
 ifeq ($(OS_TARGET),netbsd)
+BATCHEXT=.sh
 EXEEXT=
 HASSHAREDLIB=1
 FPCMADE=fpcmade.netbsd
 ZIPSUFFIX=netbsd
 endif
 ifeq ($(OS_TARGET),openbsd)
+BATCHEXT=.sh
 EXEEXT=
 HASSHAREDLIB=1
 FPCMADE=fpcmade.openbsd
@@ -487,6 +496,7 @@ FPCMADE=fpcmade.w32
 ZIPSUFFIX=w32
 endif
 ifeq ($(OS_TARGET),os2)
+BATCHEXT=.cmd
 AOUTEXT=.out
 STATICLIBPREFIX=
 SHAREDLIBEXT=.dll
@@ -495,6 +505,7 @@ ZIPSUFFIX=os2
 ECHO=echo
 endif
 ifeq ($(OS_TARGET),emx)
+BATCHEXT=.cmd
 AOUTEXT=.out
 STATICLIBPREFIX=
 SHAREDLIBEXT=.dll
@@ -512,16 +523,19 @@ EXEEXT=.ttp
 FPCMADE=fpcmade.ata
 endif
 ifeq ($(OS_TARGET),beos)
+BATCHEXT=.sh
 EXEEXT=
 FPCMADE=fpcmade.be
 ZIPSUFFIX=be
 endif
 ifeq ($(OS_TARGET),sunos)
+BATCHEXT=.sh
 EXEEXT=
 FPCMADE=fpcmade.sun
 ZIPSUFFIX=sun
 endif
 ifeq ($(OS_TARGET),qnx)
+BATCHEXT=.sh
 EXEEXT=
 FPCMADE=fpcmade.qnx
 ZIPSUFFIX=qnx
@@ -533,10 +547,14 @@ FPCMADE=fpcmade.nw
 ZIPSUFFIX=nw
 endif
 ifeq ($(OS_TARGET),macos)
+BATCHEXT=
 EXEEXT=
-FPCMADE=fpcmade.mcc
+FPCMADE=fpcmade.macos
+ZIPSUFFIX=macos
+DEBUGSYMEXT=.xcoff
 endif
 ifeq ($(OS_TARGET),darwin)
+BATCHEXT=.sh
 EXEEXT=
 HASSHAREDLIB=1
 FPCMADE=fpcmade.darwin
@@ -565,24 +583,28 @@ FPCMADE=fpcmade.dos
 ZIPSUFFIX=watcom
 endif
 ifeq ($(OS_TARGET),linux)
+BATCHEXT=.sh
 EXEEXT=
 HASSHAREDLIB=1
 FPCMADE=fpcmade.lnx
 ZIPSUFFIX=linux
 endif
 ifeq ($(OS_TARGET),freebsd)
+BATCHEXT=.sh
 EXEEXT=
 HASSHAREDLIB=1
 FPCMADE=fpcmade.freebsd
 ZIPSUFFIX=freebsd
 endif
 ifeq ($(OS_TARGET),netbsd)
+BATCHEXT=.sh
 EXEEXT=
 HASSHAREDLIB=1
 FPCMADE=fpcmade.netbsd
 ZIPSUFFIX=netbsd
 endif
 ifeq ($(OS_TARGET),openbsd)
+BATCHEXT=.sh
 EXEEXT=
 HASSHAREDLIB=1
 FPCMADE=fpcmade.openbsd
@@ -599,6 +621,7 @@ FPCMADE=fpcmade.w32
 ZIPSUFFIX=w32
 endif
 ifeq ($(OS_TARGET),os2)
+BATCHEXT=.cmd
 PPUEXT=.ppo
 ASMEXT=.so2
 OEXT=.oo2
@@ -631,6 +654,7 @@ EXEEXT=.ttp
 FPCMADE=fpcmade.ata
 endif
 ifeq ($(OS_TARGET),beos)
+BATCHEXT=.sh
 PPUEXT=.ppu
 ASMEXT=.s
 OEXT=.o
@@ -641,6 +665,7 @@ FPCMADE=fpcmade.be
 ZIPSUFFIX=be
 endif
 ifeq ($(OS_TARGET),sunos)
+BATCHEXT=.sh
 PPUEXT=.ppu
 ASMEXT=.s
 OEXT=.o
@@ -651,6 +676,7 @@ FPCMADE=fpcmade.sun
 ZIPSUFFIX=sun
 endif
 ifeq ($(OS_TARGET),qnx)
+BATCHEXT=.sh
 PPUEXT=.ppu
 ASMEXT=.s
 OEXT=.o
@@ -673,13 +699,15 @@ ZIPSUFFIX=nw
 EXEEXT=.nlm
 endif
 ifeq ($(OS_TARGET),macos)
+BATCHEXT=
 PPUEXT=.ppu
 ASMEXT=.s
 OEXT=.o
 SMARTEXT=.sl
 STATICLIBEXT=.a
 EXEEXT=
-FPCMADE=fpcmade.mcc
+DEBUGSYMEXT=.xcoff
+FPCMADE=fpcmade.macos
 endif
 endif
 ifndef ECHO
@@ -687,7 +715,7 @@ ECHO:=$(strip $(wildcard $(addsuffix /gecho$(SRCEXEEXT),$(SEARCHPATH))))
 ifeq ($(ECHO),)
 ECHO:=$(strip $(wildcard $(addsuffix /echo$(SRCEXEEXT),$(SEARCHPATH))))
 ifeq ($(ECHO),)
-ECHO=
+ECHO= __missing_command__
 else
 ECHO:=$(firstword $(ECHO))
 endif
@@ -701,7 +729,7 @@ DATE:=$(strip $(wildcard $(addsuffix /gdate$(SRCEXEEXT),$(SEARCHPATH))))
 ifeq ($(DATE),)
 DATE:=$(strip $(wildcard $(addsuffix /date$(SRCEXEEXT),$(SEARCHPATH))))
 ifeq ($(DATE),)
-DATE=
+DATE= __missing_command__
 else
 DATE:=$(firstword $(DATE))
 endif
@@ -715,7 +743,7 @@ GINSTALL:=$(strip $(wildcard $(addsuffix /ginstall$(SRCEXEEXT),$(SEARCHPATH))))
 ifeq ($(GINSTALL),)
 GINSTALL:=$(strip $(wildcard $(addsuffix /install$(SRCEXEEXT),$(SEARCHPATH))))
 ifeq ($(GINSTALL),)
-GINSTALL=
+GINSTALL= __missing_command__
 else
 GINSTALL:=$(firstword $(GINSTALL))
 endif
@@ -727,7 +755,7 @@ export GINSTALL
 ifndef CPPROG
 CPPROG:=$(strip $(wildcard $(addsuffix /cp$(SRCEXEEXT),$(SEARCHPATH))))
 ifeq ($(CPPROG),)
-CPPROG=
+CPPROG= __missing_command__
 else
 CPPROG:=$(firstword $(CPPROG))
 endif
@@ -736,7 +764,7 @@ export CPPROG
 ifndef RMPROG
 RMPROG:=$(strip $(wildcard $(addsuffix /rm$(SRCEXEEXT),$(SEARCHPATH))))
 ifeq ($(RMPROG),)
-RMPROG=
+RMPROG= __missing_command__
 else
 RMPROG:=$(firstword $(RMPROG))
 endif
@@ -745,7 +773,7 @@ export RMPROG
 ifndef MVPROG
 MVPROG:=$(strip $(wildcard $(addsuffix /mv$(SRCEXEEXT),$(SEARCHPATH))))
 ifeq ($(MVPROG),)
-MVPROG=
+MVPROG= __missing_command__
 else
 MVPROG:=$(firstword $(MVPROG))
 endif
@@ -794,7 +822,7 @@ export ECHOREDIR COPY COPYTREE MOVE DEL DELTREE INSTALL INSTALLEXE MKDIR
 ifndef PPUMOVE
 PPUMOVE:=$(strip $(wildcard $(addsuffix /ppumove$(SRCEXEEXT),$(SEARCHPATH))))
 ifeq ($(PPUMOVE),)
-PPUMOVE=
+PPUMOVE= __missing_command__
 else
 PPUMOVE:=$(firstword $(PPUMOVE))
 endif
@@ -803,7 +831,7 @@ export PPUMOVE
 ifndef FPCMAKE
 FPCMAKE:=$(strip $(wildcard $(addsuffix /fpcmake$(SRCEXEEXT),$(SEARCHPATH))))
 ifeq ($(FPCMAKE),)
-FPCMAKE=
+FPCMAKE= __missing_command__
 else
 FPCMAKE:=$(firstword $(FPCMAKE))
 endif
@@ -812,7 +840,7 @@ export FPCMAKE
 ifndef ZIPPROG
 ZIPPROG:=$(strip $(wildcard $(addsuffix /zip$(SRCEXEEXT),$(SEARCHPATH))))
 ifeq ($(ZIPPROG),)
-ZIPPROG=
+ZIPPROG= __missing_command__
 else
 ZIPPROG:=$(firstword $(ZIPPROG))
 endif
@@ -821,7 +849,7 @@ export ZIPPROG
 ifndef TARPROG
 TARPROG:=$(strip $(wildcard $(addsuffix /tar$(SRCEXEEXT),$(SEARCHPATH))))
 ifeq ($(TARPROG),)
-TARPROG=
+TARPROG= __missing_command__
 else
 TARPROG:=$(firstword $(TARPROG))
 endif
@@ -833,9 +861,11 @@ ARNAME=$(BINUTILSPREFIX)ar
 RCNAME=$(BINUTILSPREFIX)rc
 ifneq ($(findstring 1.0.,$(FPC_VERSION)),)
 ifeq ($(OS_TARGET),win32)
-ASNAME=as
-LDNAME=ld
-ARNAME=ar
+ifeq ($(CROSSBINDIR),)
+ASNAME=asw
+LDNAME=ldw
+ARNAME=arw
+endif
 endif
 endif
 ifndef ASPROG
@@ -870,7 +900,7 @@ AS=$(ASPROG)
 LD=$(LDPROG)
 RC=$(RCPROG)
 AR=$(ARPROG)
-PPAS=ppas$(BATCHEXT)
+PPAS=ppas$(SRCBATCHEXT)
 ifdef inUnix
 LDCONFIG=ldconfig
 else
@@ -1129,8 +1159,12 @@ ifdef RELEASE
 ifeq ($(CPU_TARGET),i386)
 FPCCPUOPT:=-OG2p3
 else
+ifeq ($(CPU_TARGET),powerpc)
+FPCCPUOPT:=-O1
+else
 FPCCPUOPT:=
 endif
+endif
 override FPCOPT+=-Xs $(FPCCPUOPT) -n
 override FPCOPTDEF+=RELEASE
 endif
@@ -1362,7 +1396,7 @@ USEZIPWRAPPER=1
 endif
 ifdef USEZIPWRAPPER
 ZIPPATHSEP=$(PATHSEP)
-ZIPWRAPPER=$(subst /,$(PATHSEP),$(DIST_DESTDIR)/fpczip$(BATCHEXT))
+ZIPWRAPPER=$(subst /,$(PATHSEP),$(DIST_DESTDIR)/fpczip$(SRCBATCHEXT))
 else
 ZIPPATHSEP=/
 endif
@@ -1416,6 +1450,9 @@ override CLEANPPUFILES+=$(addsuffix $(PPUEXT),$(CLEAN_UNITS))
 endif
 ifdef 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 CLEANPPULINKFILES:=$(wildcard $(addprefix $(UNITTARGETDIRPREFIX),$(CLEANPPULINKFILES)))
 endif
@@ -1439,6 +1476,7 @@ ifdef LIB_NAME
 	-$(DEL) $(LIB_NAME) $(LIB_FULLNAME)
 endif
 	-$(DEL) $(FPCMADE) Package.fpc $(PPAS) script.res link.res $(FPCEXTFILE) $(REDIRFILE)
+	-$(DEL) *$(ASMEXT) *_ppas$(BATCHEXT)
 fpc_distclean: clean
 ifdef COMPILER_UNITTARGETDIR
 TARGETDIRCLEAN=fpc_clean
@@ -1450,9 +1488,13 @@ endif
 	-$(DEL) *$(OEXT) *$(PPUEXT) *$(RSTEXT) *$(ASMEXT) *$(STATICLIBEXT) *$(SHAREDLIBEXT) *$(PPLEXT)
 	-$(DELTREE) *$(SMARTEXT)
 	-$(DEL) $(FPCMADE) Package.fpc $(PPAS) script.res link.res $(FPCEXTFILE) $(REDIRFILE)
+	-$(DEL) *_ppas$(BATCHEXT)
 ifdef AOUTEXT
 	-$(DEL) *$(AOUTEXT)
 endif
+ifdef DEBUGSYMEXT
+	-$(DEL) *$(DEBUGSYMEXT)
+endif
 .PHONY: fpc_baseinfo
 override INFORULES+=fpc_baseinfo
 fpc_baseinfo:

+ 109 - 71
packages/base/md5/Makefile

@@ -1,15 +1,24 @@
 #
-# Don't edit, this file is generated by FPCMake Version 1.1 [2004/01/05]
+# Don't edit, this file is generated by FPCMake Version 1.1 [2004/04/21]
 #
 default: all
 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:=$(subst \,/,$(PATH))
+ifneq ($(findstring darwin,$(OSTYPE)),)
+inUnix=1 #darwin
+SEARCHPATH:=$(filter-out .,$(subst :, ,$(PATH)))
+else
 ifeq ($(findstring ;,$(PATH)),)
 inUnix=1
 SEARCHPATH:=$(filter-out .,$(subst :, ,$(PATH)))
 else
 SEARCHPATH:=$(subst ;, ,$(PATH))
 endif
+endif
 SEARCHPATH+=$(patsubst %/,%,$(subst \,/,$(dir $(MAKE))))
 PWD:=$(strip $(wildcard $(addsuffix /pwd.exe,$(SEARCHPATH))))
 ifeq ($(PWD),)
@@ -37,22 +46,13 @@ ifneq ($(findstring cygdrive,$(PATH)),)
 inCygWin=1
 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
-BATCHEXT=.sh
+SRCBATCHEXT=.sh
 else
 ifdef inOS2
-BATCHEXT=.cmd
+SRCBATCHEXT=.cmd
 else
-BATCHEXT=.bat
+SRCBATCHEXT=.bat
 endif
 endif
 ifdef inUnix
@@ -155,6 +155,12 @@ ifeq ($(findstring $(OS_TARGET),$(MAKEFILETARGETS)),)
 $(error The Makefile doesn't support target $(OS_TARGET), please run fpcmake first)
 endif
 endif
+ifneq ($(findstring $(OS_TARGET),$(BSDs)),)
+BSDhier=1
+endif
+ifeq ($(OS_TARGET),linux)
+linuxHier=1
+endif
 export OS_TARGET OS_SOURCE CPU_TARGET CPU_SOURCE FULL_TARGET FULL_SOURCE CROSSCOMPILE
 ifdef FPCDIR
 override FPCDIR:=$(subst \,/,$(FPCDIR))
@@ -184,11 +190,14 @@ override FPCDIR:=$(FPCDIR)/..
 ifeq ($(wildcard $(addprefix $(FPCDIR)/,rtl units)),)
 override FPCDIR:=$(FPCDIR)/..
 ifeq ($(wildcard $(addprefix $(FPCDIR)/,rtl units)),)
+override FPCDIR:=$(BASEDIR)
+ifeq ($(wildcard $(addprefix $(FPCDIR)/,rtl units)),)
 override FPCDIR=c:/pp
 endif
 endif
 endif
 endif
+endif
 ifndef CROSSDIR
 CROSSDIR:=$(FPCDIR)/cross/$(FULL_TARGET)
 endif
@@ -216,42 +225,12 @@ 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
-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
 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
 ifndef INSTALL_PREFIX
@@ -260,7 +239,7 @@ INSTALL_PREFIX=$(PREFIX)
 endif
 endif
 ifndef INSTALL_PREFIX
-ifdef UNIXINSTALLDIR
+ifdef UNIXHier
 INSTALL_PREFIX=/usr/local
 else
 ifdef INSTALL_FPCPACKAGE
@@ -279,7 +258,7 @@ DIST_DESTDIR:=$(BASEDIR)
 endif
 export DIST_DESTDIR
 ifndef INSTALL_BASEDIR
-ifdef UNIXINSTALLDIR
+ifdef UNIXHier
 ifdef INSTALL_FPCPACKAGE
 INSTALL_BASEDIR:=$(INSTALL_PREFIX)/lib/fpc/$(FPC_VERSION)
 else
@@ -290,7 +269,7 @@ INSTALL_BASEDIR:=$(INSTALL_PREFIX)
 endif
 endif
 ifndef INSTALL_BINDIR
-ifdef UNIXINSTALLDIR
+ifdef UNIXHier
 ifdef CROSSCOMPILE
 INSTALL_BINDIR:=$(INSTALL_BASEDIR)/cross/$(FULL_TARGET)/bin
 else
@@ -320,19 +299,23 @@ endif
 endif
 endif
 ifndef INSTALL_LIBDIR
-ifdef UNIXINSTALLDIR
+ifdef UNIXHier
 INSTALL_LIBDIR:=$(INSTALL_PREFIX)/lib
 else
 INSTALL_LIBDIR:=$(INSTALL_UNITDIR)
 endif
 endif
 ifndef INSTALL_SOURCEDIR
-ifdef UNIXINSTALLDIR
+ifdef UNIXHier
 ifdef BSDhier
 SRCPREFIXDIR=share/src
 else
+ifdef linuxHier
+SRCPREFIXDIR=share/src
+else
 SRCPREFIXDIR=src
 endif
+endif
 ifdef INSTALL_FPCPACKAGE
 ifdef INSTALL_FPCSUBDIR
 INSTALL_SOURCEDIR:=$(INSTALL_PREFIX)/$(SRCPREFIXDIR)/fpc-$(FPC_VERSION)/$(INSTALL_FPCSUBDIR)/$(PACKAGE_NAME)
@@ -355,12 +338,16 @@ endif
 endif
 endif
 ifndef INSTALL_DOCDIR
-ifdef UNIXINSTALLDIR
+ifdef UNIXHier
 ifdef BSDhier
 DOCPREFIXDIR=share/doc
 else
+ifdef linuxHier
+DOCPREFIXDIR=share/doc
+else
 DOCPREFIXDIR=doc
 endif
+endif
 ifdef INSTALL_FPCPACKAGE
 INSTALL_DOCDIR:=$(INSTALL_PREFIX)/$(DOCPREFIXDIR)/fpc-$(FPC_VERSION)/$(PACKAGE_NAME)
 else
@@ -375,20 +362,28 @@ endif
 endif
 endif
 ifndef INSTALL_EXAMPLEDIR
-ifdef UNIXINSTALLDIR
+ifdef UNIXHier
 ifdef INSTALL_FPCPACKAGE
 ifdef BSDhier
 INSTALL_EXAMPLEDIR:=$(INSTALL_PREFIX)/share/examples/fpc-$(FPC_VERSION)/$(PACKAGE_NAME)
 else
+ifdef linuxHier
+INSTALL_EXAMPLEDIR:=$(INSTALL_DOCDIR)/examples/fpc-$(FPC_VERSION)/$(PACKAGE_NAME)
+else
 INSTALL_EXAMPLEDIR:=$(INSTALL_PREFIX)/doc/fpc-$(FPC_VERSION)/examples/$(PACKAGE_NAME)
 endif
+endif
 else
 ifdef BSDhier
 INSTALL_EXAMPLEDIR:=$(INSTALL_PREFIX)/share/examples/$(PACKAGE_NAME)-$(PACKAGE_VERSION)
 else
+ifdef linuxHier
+INSTALL_EXAMPLEDIR:=$(INSTALL_DOCDIR)/examples/$(PACKAGE_NAME)-$(PACKAGE_VERSION)
+else
 INSTALL_EXAMPLEDIR:=$(INSTALL_PREFIX)/doc/$(PACKAGE_NAME)-$(PACKAGE_VERSION)
 endif
 endif
+endif
 else
 ifdef INSTALL_FPCPACKAGE
 INSTALL_EXAMPLEDIR:=$(INSTALL_BASEDIR)/examples/$(PACKAGE_NAME)
@@ -410,6 +405,7 @@ endif
 else
 CROSSBINDIR=
 endif
+BATCHEXT=.bat
 LOADEREXT=.as
 EXEEXT=.exe
 PPLEXT=.ppl
@@ -442,24 +438,28 @@ ASMEXT=.asm
 SHAREDLIBEXT=.dll
 endif
 ifeq ($(OS_TARGET),linux)
+BATCHEXT=.sh
 EXEEXT=
 HASSHAREDLIB=1
 FPCMADE=fpcmade.lnx
 ZIPSUFFIX=linux
 endif
 ifeq ($(OS_TARGET),freebsd)
+BATCHEXT=.sh
 EXEEXT=
 HASSHAREDLIB=1
 FPCMADE=fpcmade.freebsd
 ZIPSUFFIX=freebsd
 endif
 ifeq ($(OS_TARGET),netbsd)
+BATCHEXT=.sh
 EXEEXT=
 HASSHAREDLIB=1
 FPCMADE=fpcmade.netbsd
 ZIPSUFFIX=netbsd
 endif
 ifeq ($(OS_TARGET),openbsd)
+BATCHEXT=.sh
 EXEEXT=
 HASSHAREDLIB=1
 FPCMADE=fpcmade.openbsd
@@ -471,6 +471,7 @@ FPCMADE=fpcmade.w32
 ZIPSUFFIX=w32
 endif
 ifeq ($(OS_TARGET),os2)
+BATCHEXT=.cmd
 AOUTEXT=.out
 STATICLIBPREFIX=
 SHAREDLIBEXT=.dll
@@ -479,6 +480,7 @@ ZIPSUFFIX=os2
 ECHO=echo
 endif
 ifeq ($(OS_TARGET),emx)
+BATCHEXT=.cmd
 AOUTEXT=.out
 STATICLIBPREFIX=
 SHAREDLIBEXT=.dll
@@ -496,16 +498,19 @@ EXEEXT=.ttp
 FPCMADE=fpcmade.ata
 endif
 ifeq ($(OS_TARGET),beos)
+BATCHEXT=.sh
 EXEEXT=
 FPCMADE=fpcmade.be
 ZIPSUFFIX=be
 endif
 ifeq ($(OS_TARGET),sunos)
+BATCHEXT=.sh
 EXEEXT=
 FPCMADE=fpcmade.sun
 ZIPSUFFIX=sun
 endif
 ifeq ($(OS_TARGET),qnx)
+BATCHEXT=.sh
 EXEEXT=
 FPCMADE=fpcmade.qnx
 ZIPSUFFIX=qnx
@@ -517,10 +522,14 @@ FPCMADE=fpcmade.nw
 ZIPSUFFIX=nw
 endif
 ifeq ($(OS_TARGET),macos)
+BATCHEXT=
 EXEEXT=
-FPCMADE=fpcmade.mcc
+FPCMADE=fpcmade.macos
+ZIPSUFFIX=macos
+DEBUGSYMEXT=.xcoff
 endif
 ifeq ($(OS_TARGET),darwin)
+BATCHEXT=.sh
 EXEEXT=
 HASSHAREDLIB=1
 FPCMADE=fpcmade.darwin
@@ -549,24 +558,28 @@ FPCMADE=fpcmade.dos
 ZIPSUFFIX=watcom
 endif
 ifeq ($(OS_TARGET),linux)
+BATCHEXT=.sh
 EXEEXT=
 HASSHAREDLIB=1
 FPCMADE=fpcmade.lnx
 ZIPSUFFIX=linux
 endif
 ifeq ($(OS_TARGET),freebsd)
+BATCHEXT=.sh
 EXEEXT=
 HASSHAREDLIB=1
 FPCMADE=fpcmade.freebsd
 ZIPSUFFIX=freebsd
 endif
 ifeq ($(OS_TARGET),netbsd)
+BATCHEXT=.sh
 EXEEXT=
 HASSHAREDLIB=1
 FPCMADE=fpcmade.netbsd
 ZIPSUFFIX=netbsd
 endif
 ifeq ($(OS_TARGET),openbsd)
+BATCHEXT=.sh
 EXEEXT=
 HASSHAREDLIB=1
 FPCMADE=fpcmade.openbsd
@@ -583,6 +596,7 @@ FPCMADE=fpcmade.w32
 ZIPSUFFIX=w32
 endif
 ifeq ($(OS_TARGET),os2)
+BATCHEXT=.cmd
 PPUEXT=.ppo
 ASMEXT=.so2
 OEXT=.oo2
@@ -615,6 +629,7 @@ EXEEXT=.ttp
 FPCMADE=fpcmade.ata
 endif
 ifeq ($(OS_TARGET),beos)
+BATCHEXT=.sh
 PPUEXT=.ppu
 ASMEXT=.s
 OEXT=.o
@@ -625,6 +640,7 @@ FPCMADE=fpcmade.be
 ZIPSUFFIX=be
 endif
 ifeq ($(OS_TARGET),sunos)
+BATCHEXT=.sh
 PPUEXT=.ppu
 ASMEXT=.s
 OEXT=.o
@@ -635,6 +651,7 @@ FPCMADE=fpcmade.sun
 ZIPSUFFIX=sun
 endif
 ifeq ($(OS_TARGET),qnx)
+BATCHEXT=.sh
 PPUEXT=.ppu
 ASMEXT=.s
 OEXT=.o
@@ -657,13 +674,15 @@ ZIPSUFFIX=nw
 EXEEXT=.nlm
 endif
 ifeq ($(OS_TARGET),macos)
+BATCHEXT=
 PPUEXT=.ppu
 ASMEXT=.s
 OEXT=.o
 SMARTEXT=.sl
 STATICLIBEXT=.a
 EXEEXT=
-FPCMADE=fpcmade.mcc
+DEBUGSYMEXT=.xcoff
+FPCMADE=fpcmade.macos
 endif
 endif
 ifndef ECHO
@@ -671,7 +690,7 @@ ECHO:=$(strip $(wildcard $(addsuffix /gecho$(SRCEXEEXT),$(SEARCHPATH))))
 ifeq ($(ECHO),)
 ECHO:=$(strip $(wildcard $(addsuffix /echo$(SRCEXEEXT),$(SEARCHPATH))))
 ifeq ($(ECHO),)
-ECHO=
+ECHO= __missing_command__
 else
 ECHO:=$(firstword $(ECHO))
 endif
@@ -685,7 +704,7 @@ DATE:=$(strip $(wildcard $(addsuffix /gdate$(SRCEXEEXT),$(SEARCHPATH))))
 ifeq ($(DATE),)
 DATE:=$(strip $(wildcard $(addsuffix /date$(SRCEXEEXT),$(SEARCHPATH))))
 ifeq ($(DATE),)
-DATE=
+DATE= __missing_command__
 else
 DATE:=$(firstword $(DATE))
 endif
@@ -699,7 +718,7 @@ GINSTALL:=$(strip $(wildcard $(addsuffix /ginstall$(SRCEXEEXT),$(SEARCHPATH))))
 ifeq ($(GINSTALL),)
 GINSTALL:=$(strip $(wildcard $(addsuffix /install$(SRCEXEEXT),$(SEARCHPATH))))
 ifeq ($(GINSTALL),)
-GINSTALL=
+GINSTALL= __missing_command__
 else
 GINSTALL:=$(firstword $(GINSTALL))
 endif
@@ -711,7 +730,7 @@ export GINSTALL
 ifndef CPPROG
 CPPROG:=$(strip $(wildcard $(addsuffix /cp$(SRCEXEEXT),$(SEARCHPATH))))
 ifeq ($(CPPROG),)
-CPPROG=
+CPPROG= __missing_command__
 else
 CPPROG:=$(firstword $(CPPROG))
 endif
@@ -720,7 +739,7 @@ export CPPROG
 ifndef RMPROG
 RMPROG:=$(strip $(wildcard $(addsuffix /rm$(SRCEXEEXT),$(SEARCHPATH))))
 ifeq ($(RMPROG),)
-RMPROG=
+RMPROG= __missing_command__
 else
 RMPROG:=$(firstword $(RMPROG))
 endif
@@ -729,7 +748,7 @@ export RMPROG
 ifndef MVPROG
 MVPROG:=$(strip $(wildcard $(addsuffix /mv$(SRCEXEEXT),$(SEARCHPATH))))
 ifeq ($(MVPROG),)
-MVPROG=
+MVPROG= __missing_command__
 else
 MVPROG:=$(firstword $(MVPROG))
 endif
@@ -778,7 +797,7 @@ export ECHOREDIR COPY COPYTREE MOVE DEL DELTREE INSTALL INSTALLEXE MKDIR
 ifndef PPUMOVE
 PPUMOVE:=$(strip $(wildcard $(addsuffix /ppumove$(SRCEXEEXT),$(SEARCHPATH))))
 ifeq ($(PPUMOVE),)
-PPUMOVE=
+PPUMOVE= __missing_command__
 else
 PPUMOVE:=$(firstword $(PPUMOVE))
 endif
@@ -787,7 +806,7 @@ export PPUMOVE
 ifndef FPCMAKE
 FPCMAKE:=$(strip $(wildcard $(addsuffix /fpcmake$(SRCEXEEXT),$(SEARCHPATH))))
 ifeq ($(FPCMAKE),)
-FPCMAKE=
+FPCMAKE= __missing_command__
 else
 FPCMAKE:=$(firstword $(FPCMAKE))
 endif
@@ -796,7 +815,7 @@ export FPCMAKE
 ifndef ZIPPROG
 ZIPPROG:=$(strip $(wildcard $(addsuffix /zip$(SRCEXEEXT),$(SEARCHPATH))))
 ifeq ($(ZIPPROG),)
-ZIPPROG=
+ZIPPROG= __missing_command__
 else
 ZIPPROG:=$(firstword $(ZIPPROG))
 endif
@@ -805,7 +824,7 @@ export ZIPPROG
 ifndef TARPROG
 TARPROG:=$(strip $(wildcard $(addsuffix /tar$(SRCEXEEXT),$(SEARCHPATH))))
 ifeq ($(TARPROG),)
-TARPROG=
+TARPROG= __missing_command__
 else
 TARPROG:=$(firstword $(TARPROG))
 endif
@@ -817,9 +836,11 @@ ARNAME=$(BINUTILSPREFIX)ar
 RCNAME=$(BINUTILSPREFIX)rc
 ifneq ($(findstring 1.0.,$(FPC_VERSION)),)
 ifeq ($(OS_TARGET),win32)
-ASNAME=as
-LDNAME=ld
-ARNAME=ar
+ifeq ($(CROSSBINDIR),)
+ASNAME=asw
+LDNAME=ldw
+ARNAME=arw
+endif
 endif
 endif
 ifndef ASPROG
@@ -854,7 +875,7 @@ AS=$(ASPROG)
 LD=$(LDPROG)
 RC=$(RCPROG)
 AR=$(ARPROG)
-PPAS=ppas$(BATCHEXT)
+PPAS=ppas$(SRCBATCHEXT)
 ifdef inUnix
 LDCONFIG=ldconfig
 else
@@ -919,6 +940,11 @@ ifeq ($(CPU_TARGET),x86_64)
 REQUIRE_PACKAGES_RTL=1
 endif
 endif
+ifeq ($(OS_TARGET),linux)
+ifeq ($(CPU_TARGET),arm)
+REQUIRE_PACKAGES_RTL=1
+endif
+endif
 ifeq ($(OS_TARGET),go32v2)
 ifeq ($(CPU_TARGET),i386)
 REQUIRE_PACKAGES_RTL=1
@@ -1108,8 +1134,12 @@ ifdef RELEASE
 ifeq ($(CPU_TARGET),i386)
 FPCCPUOPT:=-OG2p3
 else
+ifeq ($(CPU_TARGET),powerpc)
+FPCCPUOPT:=-O1
+else
 FPCCPUOPT:=
 endif
+endif
 override FPCOPT+=-Xs $(FPCCPUOPT) -n
 override FPCOPTDEF+=RELEASE
 endif
@@ -1353,7 +1383,7 @@ USEZIPWRAPPER=1
 endif
 ifdef USEZIPWRAPPER
 ZIPPATHSEP=$(PATHSEP)
-ZIPWRAPPER=$(subst /,$(PATHSEP),$(DIST_DESTDIR)/fpczip$(BATCHEXT))
+ZIPWRAPPER=$(subst /,$(PATHSEP),$(DIST_DESTDIR)/fpczip$(SRCBATCHEXT))
 else
 ZIPPATHSEP=/
 endif
@@ -1407,6 +1437,9 @@ override CLEANPPUFILES+=$(addsuffix $(PPUEXT),$(CLEAN_UNITS))
 endif
 ifdef 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 CLEANPPULINKFILES:=$(wildcard $(addprefix $(UNITTARGETDIRPREFIX),$(CLEANPPULINKFILES)))
 endif
@@ -1430,6 +1463,7 @@ ifdef LIB_NAME
 	-$(DEL) $(LIB_NAME) $(LIB_FULLNAME)
 endif
 	-$(DEL) $(FPCMADE) Package.fpc $(PPAS) script.res link.res $(FPCEXTFILE) $(REDIRFILE)
+	-$(DEL) *$(ASMEXT) *_ppas$(BATCHEXT)
 fpc_distclean: clean
 ifdef COMPILER_UNITTARGETDIR
 TARGETDIRCLEAN=fpc_clean
@@ -1441,9 +1475,13 @@ endif
 	-$(DEL) *$(OEXT) *$(PPUEXT) *$(RSTEXT) *$(ASMEXT) *$(STATICLIBEXT) *$(SHAREDLIBEXT) *$(PPLEXT)
 	-$(DELTREE) *$(SMARTEXT)
 	-$(DEL) $(FPCMADE) Package.fpc $(PPAS) script.res link.res $(FPCEXTFILE) $(REDIRFILE)
+	-$(DEL) *_ppas$(BATCHEXT)
 ifdef AOUTEXT
 	-$(DEL) *$(AOUTEXT)
 endif
+ifdef DEBUGSYMEXT
+	-$(DEL) *$(DEBUGSYMEXT)
+endif
 .PHONY: fpc_baseinfo
 override INFORULES+=fpc_baseinfo
 fpc_baseinfo:

+ 114 - 72
packages/base/mysql/Makefile

@@ -1,15 +1,24 @@
 #
-# Don't edit, this file is generated by FPCMake Version 1.1 [2004/02/22]
+# Don't edit, this file is generated by FPCMake Version 1.1 [2004/04/21]
 #
 default: all
 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:=$(subst \,/,$(PATH))
+ifneq ($(findstring darwin,$(OSTYPE)),)
+inUnix=1 #darwin
+SEARCHPATH:=$(filter-out .,$(subst :, ,$(PATH)))
+else
 ifeq ($(findstring ;,$(PATH)),)
 inUnix=1
 SEARCHPATH:=$(filter-out .,$(subst :, ,$(PATH)))
 else
 SEARCHPATH:=$(subst ;, ,$(PATH))
 endif
+endif
 SEARCHPATH+=$(patsubst %/,%,$(subst \,/,$(dir $(MAKE))))
 PWD:=$(strip $(wildcard $(addsuffix /pwd.exe,$(SEARCHPATH))))
 ifeq ($(PWD),)
@@ -37,22 +46,13 @@ ifneq ($(findstring cygdrive,$(PATH)),)
 inCygWin=1
 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
-BATCHEXT=.sh
+SRCBATCHEXT=.sh
 else
 ifdef inOS2
-BATCHEXT=.cmd
+SRCBATCHEXT=.cmd
 else
-BATCHEXT=.bat
+SRCBATCHEXT=.bat
 endif
 endif
 ifdef inUnix
@@ -155,6 +155,12 @@ ifeq ($(findstring $(OS_TARGET),$(MAKEFILETARGETS)),)
 $(error The Makefile doesn't support target $(OS_TARGET), please run fpcmake first)
 endif
 endif
+ifneq ($(findstring $(OS_TARGET),$(BSDs)),)
+BSDhier=1
+endif
+ifeq ($(OS_TARGET),linux)
+linuxHier=1
+endif
 export OS_TARGET OS_SOURCE CPU_TARGET CPU_SOURCE FULL_TARGET FULL_SOURCE CROSSCOMPILE
 ifdef FPCDIR
 override FPCDIR:=$(subst \,/,$(FPCDIR))
@@ -219,42 +225,12 @@ 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
-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
 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
 ifndef INSTALL_PREFIX
@@ -263,7 +239,7 @@ INSTALL_PREFIX=$(PREFIX)
 endif
 endif
 ifndef INSTALL_PREFIX
-ifdef UNIXINSTALLDIR
+ifdef UNIXHier
 INSTALL_PREFIX=/usr/local
 else
 ifdef INSTALL_FPCPACKAGE
@@ -282,7 +258,7 @@ DIST_DESTDIR:=$(BASEDIR)
 endif
 export DIST_DESTDIR
 ifndef INSTALL_BASEDIR
-ifdef UNIXINSTALLDIR
+ifdef UNIXHier
 ifdef INSTALL_FPCPACKAGE
 INSTALL_BASEDIR:=$(INSTALL_PREFIX)/lib/fpc/$(FPC_VERSION)
 else
@@ -293,7 +269,7 @@ INSTALL_BASEDIR:=$(INSTALL_PREFIX)
 endif
 endif
 ifndef INSTALL_BINDIR
-ifdef UNIXINSTALLDIR
+ifdef UNIXHier
 ifdef CROSSCOMPILE
 INSTALL_BINDIR:=$(INSTALL_BASEDIR)/cross/$(FULL_TARGET)/bin
 else
@@ -323,19 +299,23 @@ endif
 endif
 endif
 ifndef INSTALL_LIBDIR
-ifdef UNIXINSTALLDIR
+ifdef UNIXHier
 INSTALL_LIBDIR:=$(INSTALL_PREFIX)/lib
 else
 INSTALL_LIBDIR:=$(INSTALL_UNITDIR)
 endif
 endif
 ifndef INSTALL_SOURCEDIR
-ifdef UNIXINSTALLDIR
+ifdef UNIXHier
 ifdef BSDhier
 SRCPREFIXDIR=share/src
 else
+ifdef linuxHier
+SRCPREFIXDIR=share/src
+else
 SRCPREFIXDIR=src
 endif
+endif
 ifdef INSTALL_FPCPACKAGE
 ifdef INSTALL_FPCSUBDIR
 INSTALL_SOURCEDIR:=$(INSTALL_PREFIX)/$(SRCPREFIXDIR)/fpc-$(FPC_VERSION)/$(INSTALL_FPCSUBDIR)/$(PACKAGE_NAME)
@@ -358,12 +338,16 @@ endif
 endif
 endif
 ifndef INSTALL_DOCDIR
-ifdef UNIXINSTALLDIR
+ifdef UNIXHier
 ifdef BSDhier
 DOCPREFIXDIR=share/doc
 else
+ifdef linuxHier
+DOCPREFIXDIR=share/doc
+else
 DOCPREFIXDIR=doc
 endif
+endif
 ifdef INSTALL_FPCPACKAGE
 INSTALL_DOCDIR:=$(INSTALL_PREFIX)/$(DOCPREFIXDIR)/fpc-$(FPC_VERSION)/$(PACKAGE_NAME)
 else
@@ -378,20 +362,28 @@ endif
 endif
 endif
 ifndef INSTALL_EXAMPLEDIR
-ifdef UNIXINSTALLDIR
+ifdef UNIXHier
 ifdef INSTALL_FPCPACKAGE
 ifdef BSDhier
 INSTALL_EXAMPLEDIR:=$(INSTALL_PREFIX)/share/examples/fpc-$(FPC_VERSION)/$(PACKAGE_NAME)
 else
+ifdef linuxHier
+INSTALL_EXAMPLEDIR:=$(INSTALL_DOCDIR)/examples/fpc-$(FPC_VERSION)/$(PACKAGE_NAME)
+else
 INSTALL_EXAMPLEDIR:=$(INSTALL_PREFIX)/doc/fpc-$(FPC_VERSION)/examples/$(PACKAGE_NAME)
 endif
+endif
 else
 ifdef BSDhier
 INSTALL_EXAMPLEDIR:=$(INSTALL_PREFIX)/share/examples/$(PACKAGE_NAME)-$(PACKAGE_VERSION)
 else
+ifdef linuxHier
+INSTALL_EXAMPLEDIR:=$(INSTALL_DOCDIR)/examples/$(PACKAGE_NAME)-$(PACKAGE_VERSION)
+else
 INSTALL_EXAMPLEDIR:=$(INSTALL_PREFIX)/doc/$(PACKAGE_NAME)-$(PACKAGE_VERSION)
 endif
 endif
+endif
 else
 ifdef INSTALL_FPCPACKAGE
 INSTALL_EXAMPLEDIR:=$(INSTALL_BASEDIR)/examples/$(PACKAGE_NAME)
@@ -415,7 +407,19 @@ CROSSBINDIR=
 endif
 ifeq ($(OS_SOURCE),linux)
 ifndef GCCLIBDIR
-GCCLIBDIR:=$(shell dirname `gcc -print-libgcc-file-name`)
+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
 ifndef OTHERLIBDIR
 OTHERLIBDIR:=$(shell grep -v "^\#" /etc/ld.so.conf | awk '{ ORS=" "; print $1 }')
@@ -427,6 +431,7 @@ OTHERLIBDIR+=/usr/pkg/lib
 endif
 export GCCLIBDIR OTHERLIB
 endif
+BATCHEXT=.bat
 LOADEREXT=.as
 EXEEXT=.exe
 PPLEXT=.ppl
@@ -459,24 +464,28 @@ ASMEXT=.asm
 SHAREDLIBEXT=.dll
 endif
 ifeq ($(OS_TARGET),linux)
+BATCHEXT=.sh
 EXEEXT=
 HASSHAREDLIB=1
 FPCMADE=fpcmade.lnx
 ZIPSUFFIX=linux
 endif
 ifeq ($(OS_TARGET),freebsd)
+BATCHEXT=.sh
 EXEEXT=
 HASSHAREDLIB=1
 FPCMADE=fpcmade.freebsd
 ZIPSUFFIX=freebsd
 endif
 ifeq ($(OS_TARGET),netbsd)
+BATCHEXT=.sh
 EXEEXT=
 HASSHAREDLIB=1
 FPCMADE=fpcmade.netbsd
 ZIPSUFFIX=netbsd
 endif
 ifeq ($(OS_TARGET),openbsd)
+BATCHEXT=.sh
 EXEEXT=
 HASSHAREDLIB=1
 FPCMADE=fpcmade.openbsd
@@ -488,6 +497,7 @@ FPCMADE=fpcmade.w32
 ZIPSUFFIX=w32
 endif
 ifeq ($(OS_TARGET),os2)
+BATCHEXT=.cmd
 AOUTEXT=.out
 STATICLIBPREFIX=
 SHAREDLIBEXT=.dll
@@ -496,6 +506,7 @@ ZIPSUFFIX=os2
 ECHO=echo
 endif
 ifeq ($(OS_TARGET),emx)
+BATCHEXT=.cmd
 AOUTEXT=.out
 STATICLIBPREFIX=
 SHAREDLIBEXT=.dll
@@ -513,16 +524,19 @@ EXEEXT=.ttp
 FPCMADE=fpcmade.ata
 endif
 ifeq ($(OS_TARGET),beos)
+BATCHEXT=.sh
 EXEEXT=
 FPCMADE=fpcmade.be
 ZIPSUFFIX=be
 endif
 ifeq ($(OS_TARGET),sunos)
+BATCHEXT=.sh
 EXEEXT=
 FPCMADE=fpcmade.sun
 ZIPSUFFIX=sun
 endif
 ifeq ($(OS_TARGET),qnx)
+BATCHEXT=.sh
 EXEEXT=
 FPCMADE=fpcmade.qnx
 ZIPSUFFIX=qnx
@@ -534,10 +548,14 @@ FPCMADE=fpcmade.nw
 ZIPSUFFIX=nw
 endif
 ifeq ($(OS_TARGET),macos)
+BATCHEXT=
 EXEEXT=
-FPCMADE=fpcmade.mcc
+FPCMADE=fpcmade.macos
+ZIPSUFFIX=macos
+DEBUGSYMEXT=.xcoff
 endif
 ifeq ($(OS_TARGET),darwin)
+BATCHEXT=.sh
 EXEEXT=
 HASSHAREDLIB=1
 FPCMADE=fpcmade.darwin
@@ -566,24 +584,28 @@ FPCMADE=fpcmade.dos
 ZIPSUFFIX=watcom
 endif
 ifeq ($(OS_TARGET),linux)
+BATCHEXT=.sh
 EXEEXT=
 HASSHAREDLIB=1
 FPCMADE=fpcmade.lnx
 ZIPSUFFIX=linux
 endif
 ifeq ($(OS_TARGET),freebsd)
+BATCHEXT=.sh
 EXEEXT=
 HASSHAREDLIB=1
 FPCMADE=fpcmade.freebsd
 ZIPSUFFIX=freebsd
 endif
 ifeq ($(OS_TARGET),netbsd)
+BATCHEXT=.sh
 EXEEXT=
 HASSHAREDLIB=1
 FPCMADE=fpcmade.netbsd
 ZIPSUFFIX=netbsd
 endif
 ifeq ($(OS_TARGET),openbsd)
+BATCHEXT=.sh
 EXEEXT=
 HASSHAREDLIB=1
 FPCMADE=fpcmade.openbsd
@@ -600,6 +622,7 @@ FPCMADE=fpcmade.w32
 ZIPSUFFIX=w32
 endif
 ifeq ($(OS_TARGET),os2)
+BATCHEXT=.cmd
 PPUEXT=.ppo
 ASMEXT=.so2
 OEXT=.oo2
@@ -632,6 +655,7 @@ EXEEXT=.ttp
 FPCMADE=fpcmade.ata
 endif
 ifeq ($(OS_TARGET),beos)
+BATCHEXT=.sh
 PPUEXT=.ppu
 ASMEXT=.s
 OEXT=.o
@@ -642,6 +666,7 @@ FPCMADE=fpcmade.be
 ZIPSUFFIX=be
 endif
 ifeq ($(OS_TARGET),sunos)
+BATCHEXT=.sh
 PPUEXT=.ppu
 ASMEXT=.s
 OEXT=.o
@@ -652,6 +677,7 @@ FPCMADE=fpcmade.sun
 ZIPSUFFIX=sun
 endif
 ifeq ($(OS_TARGET),qnx)
+BATCHEXT=.sh
 PPUEXT=.ppu
 ASMEXT=.s
 OEXT=.o
@@ -674,13 +700,15 @@ ZIPSUFFIX=nw
 EXEEXT=.nlm
 endif
 ifeq ($(OS_TARGET),macos)
+BATCHEXT=
 PPUEXT=.ppu
 ASMEXT=.s
 OEXT=.o
 SMARTEXT=.sl
 STATICLIBEXT=.a
 EXEEXT=
-FPCMADE=fpcmade.mcc
+DEBUGSYMEXT=.xcoff
+FPCMADE=fpcmade.macos
 endif
 endif
 ifndef ECHO
@@ -688,7 +716,7 @@ ECHO:=$(strip $(wildcard $(addsuffix /gecho$(SRCEXEEXT),$(SEARCHPATH))))
 ifeq ($(ECHO),)
 ECHO:=$(strip $(wildcard $(addsuffix /echo$(SRCEXEEXT),$(SEARCHPATH))))
 ifeq ($(ECHO),)
-ECHO=
+ECHO= __missing_command__
 else
 ECHO:=$(firstword $(ECHO))
 endif
@@ -702,7 +730,7 @@ DATE:=$(strip $(wildcard $(addsuffix /gdate$(SRCEXEEXT),$(SEARCHPATH))))
 ifeq ($(DATE),)
 DATE:=$(strip $(wildcard $(addsuffix /date$(SRCEXEEXT),$(SEARCHPATH))))
 ifeq ($(DATE),)
-DATE=
+DATE= __missing_command__
 else
 DATE:=$(firstword $(DATE))
 endif
@@ -716,7 +744,7 @@ GINSTALL:=$(strip $(wildcard $(addsuffix /ginstall$(SRCEXEEXT),$(SEARCHPATH))))
 ifeq ($(GINSTALL),)
 GINSTALL:=$(strip $(wildcard $(addsuffix /install$(SRCEXEEXT),$(SEARCHPATH))))
 ifeq ($(GINSTALL),)
-GINSTALL=
+GINSTALL= __missing_command__
 else
 GINSTALL:=$(firstword $(GINSTALL))
 endif
@@ -728,7 +756,7 @@ export GINSTALL
 ifndef CPPROG
 CPPROG:=$(strip $(wildcard $(addsuffix /cp$(SRCEXEEXT),$(SEARCHPATH))))
 ifeq ($(CPPROG),)
-CPPROG=
+CPPROG= __missing_command__
 else
 CPPROG:=$(firstword $(CPPROG))
 endif
@@ -737,7 +765,7 @@ export CPPROG
 ifndef RMPROG
 RMPROG:=$(strip $(wildcard $(addsuffix /rm$(SRCEXEEXT),$(SEARCHPATH))))
 ifeq ($(RMPROG),)
-RMPROG=
+RMPROG= __missing_command__
 else
 RMPROG:=$(firstword $(RMPROG))
 endif
@@ -746,7 +774,7 @@ export RMPROG
 ifndef MVPROG
 MVPROG:=$(strip $(wildcard $(addsuffix /mv$(SRCEXEEXT),$(SEARCHPATH))))
 ifeq ($(MVPROG),)
-MVPROG=
+MVPROG= __missing_command__
 else
 MVPROG:=$(firstword $(MVPROG))
 endif
@@ -795,7 +823,7 @@ export ECHOREDIR COPY COPYTREE MOVE DEL DELTREE INSTALL INSTALLEXE MKDIR
 ifndef PPUMOVE
 PPUMOVE:=$(strip $(wildcard $(addsuffix /ppumove$(SRCEXEEXT),$(SEARCHPATH))))
 ifeq ($(PPUMOVE),)
-PPUMOVE=
+PPUMOVE= __missing_command__
 else
 PPUMOVE:=$(firstword $(PPUMOVE))
 endif
@@ -804,7 +832,7 @@ export PPUMOVE
 ifndef FPCMAKE
 FPCMAKE:=$(strip $(wildcard $(addsuffix /fpcmake$(SRCEXEEXT),$(SEARCHPATH))))
 ifeq ($(FPCMAKE),)
-FPCMAKE=
+FPCMAKE= __missing_command__
 else
 FPCMAKE:=$(firstword $(FPCMAKE))
 endif
@@ -813,7 +841,7 @@ export FPCMAKE
 ifndef ZIPPROG
 ZIPPROG:=$(strip $(wildcard $(addsuffix /zip$(SRCEXEEXT),$(SEARCHPATH))))
 ifeq ($(ZIPPROG),)
-ZIPPROG=
+ZIPPROG= __missing_command__
 else
 ZIPPROG:=$(firstword $(ZIPPROG))
 endif
@@ -822,7 +850,7 @@ export ZIPPROG
 ifndef TARPROG
 TARPROG:=$(strip $(wildcard $(addsuffix /tar$(SRCEXEEXT),$(SEARCHPATH))))
 ifeq ($(TARPROG),)
-TARPROG=
+TARPROG= __missing_command__
 else
 TARPROG:=$(firstword $(TARPROG))
 endif
@@ -834,9 +862,11 @@ ARNAME=$(BINUTILSPREFIX)ar
 RCNAME=$(BINUTILSPREFIX)rc
 ifneq ($(findstring 1.0.,$(FPC_VERSION)),)
 ifeq ($(OS_TARGET),win32)
-ASNAME=as
-LDNAME=ld
-ARNAME=ar
+ifeq ($(CROSSBINDIR),)
+ASNAME=asw
+LDNAME=ldw
+ARNAME=arw
+endif
 endif
 endif
 ifndef ASPROG
@@ -871,7 +901,7 @@ AS=$(ASPROG)
 LD=$(LDPROG)
 RC=$(RCPROG)
 AR=$(ARPROG)
-PPAS=ppas$(BATCHEXT)
+PPAS=ppas$(SRCBATCHEXT)
 ifdef inUnix
 LDCONFIG=ldconfig
 else
@@ -1130,8 +1160,12 @@ ifdef RELEASE
 ifeq ($(CPU_TARGET),i386)
 FPCCPUOPT:=-OG2p3
 else
+ifeq ($(CPU_TARGET),powerpc)
+FPCCPUOPT:=-O1
+else
 FPCCPUOPT:=
 endif
+endif
 override FPCOPT+=-Xs $(FPCCPUOPT) -n
 override FPCOPTDEF+=RELEASE
 endif
@@ -1381,7 +1415,7 @@ USEZIPWRAPPER=1
 endif
 ifdef USEZIPWRAPPER
 ZIPPATHSEP=$(PATHSEP)
-ZIPWRAPPER=$(subst /,$(PATHSEP),$(DIST_DESTDIR)/fpczip$(BATCHEXT))
+ZIPWRAPPER=$(subst /,$(PATHSEP),$(DIST_DESTDIR)/fpczip$(SRCBATCHEXT))
 else
 ZIPPATHSEP=/
 endif
@@ -1435,6 +1469,9 @@ override CLEANPPUFILES+=$(addsuffix $(PPUEXT),$(CLEAN_UNITS))
 endif
 ifdef 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 CLEANPPULINKFILES:=$(wildcard $(addprefix $(UNITTARGETDIRPREFIX),$(CLEANPPULINKFILES)))
 endif
@@ -1458,6 +1495,7 @@ ifdef LIB_NAME
 	-$(DEL) $(LIB_NAME) $(LIB_FULLNAME)
 endif
 	-$(DEL) $(FPCMADE) Package.fpc $(PPAS) script.res link.res $(FPCEXTFILE) $(REDIRFILE)
+	-$(DEL) *$(ASMEXT) *_ppas$(BATCHEXT)
 fpc_distclean: clean
 ifdef COMPILER_UNITTARGETDIR
 TARGETDIRCLEAN=fpc_clean
@@ -1469,9 +1507,13 @@ endif
 	-$(DEL) *$(OEXT) *$(PPUEXT) *$(RSTEXT) *$(ASMEXT) *$(STATICLIBEXT) *$(SHAREDLIBEXT) *$(PPLEXT)
 	-$(DELTREE) *$(SMARTEXT)
 	-$(DEL) $(FPCMADE) Package.fpc $(PPAS) script.res link.res $(FPCEXTFILE) $(REDIRFILE)
+	-$(DEL) *_ppas$(BATCHEXT)
 ifdef AOUTEXT
 	-$(DEL) *$(AOUTEXT)
 endif
+ifdef DEBUGSYMEXT
+	-$(DEL) *$(DEBUGSYMEXT)
+endif
 .PHONY: fpc_baseinfo
 override INFORULES+=fpc_baseinfo
 fpc_baseinfo:

+ 101 - 71
packages/base/netdb/Makefile

@@ -1,15 +1,24 @@
 #
-# Don't edit, this file is generated by FPCMake Version 1.1 [2004/02/22]
+# Don't edit, this file is generated by FPCMake Version 1.1 [2004/04/21]
 #
 default: all
 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:=$(subst \,/,$(PATH))
+ifneq ($(findstring darwin,$(OSTYPE)),)
+inUnix=1 #darwin
+SEARCHPATH:=$(filter-out .,$(subst :, ,$(PATH)))
+else
 ifeq ($(findstring ;,$(PATH)),)
 inUnix=1
 SEARCHPATH:=$(filter-out .,$(subst :, ,$(PATH)))
 else
 SEARCHPATH:=$(subst ;, ,$(PATH))
 endif
+endif
 SEARCHPATH+=$(patsubst %/,%,$(subst \,/,$(dir $(MAKE))))
 PWD:=$(strip $(wildcard $(addsuffix /pwd.exe,$(SEARCHPATH))))
 ifeq ($(PWD),)
@@ -37,22 +46,13 @@ ifneq ($(findstring cygdrive,$(PATH)),)
 inCygWin=1
 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
-BATCHEXT=.sh
+SRCBATCHEXT=.sh
 else
 ifdef inOS2
-BATCHEXT=.cmd
+SRCBATCHEXT=.cmd
 else
-BATCHEXT=.bat
+SRCBATCHEXT=.bat
 endif
 endif
 ifdef inUnix
@@ -155,6 +155,12 @@ ifeq ($(findstring $(OS_TARGET),$(MAKEFILETARGETS)),)
 $(error The Makefile doesn't support target $(OS_TARGET), please run fpcmake first)
 endif
 endif
+ifneq ($(findstring $(OS_TARGET),$(BSDs)),)
+BSDhier=1
+endif
+ifeq ($(OS_TARGET),linux)
+linuxHier=1
+endif
 export OS_TARGET OS_SOURCE CPU_TARGET CPU_SOURCE FULL_TARGET FULL_SOURCE CROSSCOMPILE
 ifdef FPCDIR
 override FPCDIR:=$(subst \,/,$(FPCDIR))
@@ -243,42 +249,12 @@ 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
-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
 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
 ifndef INSTALL_PREFIX
@@ -287,7 +263,7 @@ INSTALL_PREFIX=$(PREFIX)
 endif
 endif
 ifndef INSTALL_PREFIX
-ifdef UNIXINSTALLDIR
+ifdef UNIXHier
 INSTALL_PREFIX=/usr/local
 else
 ifdef INSTALL_FPCPACKAGE
@@ -306,7 +282,7 @@ DIST_DESTDIR:=$(BASEDIR)
 endif
 export DIST_DESTDIR
 ifndef INSTALL_BASEDIR
-ifdef UNIXINSTALLDIR
+ifdef UNIXHier
 ifdef INSTALL_FPCPACKAGE
 INSTALL_BASEDIR:=$(INSTALL_PREFIX)/lib/fpc/$(FPC_VERSION)
 else
@@ -317,7 +293,7 @@ INSTALL_BASEDIR:=$(INSTALL_PREFIX)
 endif
 endif
 ifndef INSTALL_BINDIR
-ifdef UNIXINSTALLDIR
+ifdef UNIXHier
 ifdef CROSSCOMPILE
 INSTALL_BINDIR:=$(INSTALL_BASEDIR)/cross/$(FULL_TARGET)/bin
 else
@@ -347,19 +323,23 @@ endif
 endif
 endif
 ifndef INSTALL_LIBDIR
-ifdef UNIXINSTALLDIR
+ifdef UNIXHier
 INSTALL_LIBDIR:=$(INSTALL_PREFIX)/lib
 else
 INSTALL_LIBDIR:=$(INSTALL_UNITDIR)
 endif
 endif
 ifndef INSTALL_SOURCEDIR
-ifdef UNIXINSTALLDIR
+ifdef UNIXHier
 ifdef BSDhier
 SRCPREFIXDIR=share/src
 else
+ifdef linuxHier
+SRCPREFIXDIR=share/src
+else
 SRCPREFIXDIR=src
 endif
+endif
 ifdef INSTALL_FPCPACKAGE
 ifdef INSTALL_FPCSUBDIR
 INSTALL_SOURCEDIR:=$(INSTALL_PREFIX)/$(SRCPREFIXDIR)/fpc-$(FPC_VERSION)/$(INSTALL_FPCSUBDIR)/$(PACKAGE_NAME)
@@ -382,12 +362,16 @@ endif
 endif
 endif
 ifndef INSTALL_DOCDIR
-ifdef UNIXINSTALLDIR
+ifdef UNIXHier
 ifdef BSDhier
 DOCPREFIXDIR=share/doc
 else
+ifdef linuxHier
+DOCPREFIXDIR=share/doc
+else
 DOCPREFIXDIR=doc
 endif
+endif
 ifdef INSTALL_FPCPACKAGE
 INSTALL_DOCDIR:=$(INSTALL_PREFIX)/$(DOCPREFIXDIR)/fpc-$(FPC_VERSION)/$(PACKAGE_NAME)
 else
@@ -402,20 +386,28 @@ endif
 endif
 endif
 ifndef INSTALL_EXAMPLEDIR
-ifdef UNIXINSTALLDIR
+ifdef UNIXHier
 ifdef INSTALL_FPCPACKAGE
 ifdef BSDhier
 INSTALL_EXAMPLEDIR:=$(INSTALL_PREFIX)/share/examples/fpc-$(FPC_VERSION)/$(PACKAGE_NAME)
 else
+ifdef linuxHier
+INSTALL_EXAMPLEDIR:=$(INSTALL_DOCDIR)/examples/fpc-$(FPC_VERSION)/$(PACKAGE_NAME)
+else
 INSTALL_EXAMPLEDIR:=$(INSTALL_PREFIX)/doc/fpc-$(FPC_VERSION)/examples/$(PACKAGE_NAME)
 endif
+endif
 else
 ifdef BSDhier
 INSTALL_EXAMPLEDIR:=$(INSTALL_PREFIX)/share/examples/$(PACKAGE_NAME)-$(PACKAGE_VERSION)
 else
+ifdef linuxHier
+INSTALL_EXAMPLEDIR:=$(INSTALL_DOCDIR)/examples/$(PACKAGE_NAME)-$(PACKAGE_VERSION)
+else
 INSTALL_EXAMPLEDIR:=$(INSTALL_PREFIX)/doc/$(PACKAGE_NAME)-$(PACKAGE_VERSION)
 endif
 endif
+endif
 else
 ifdef INSTALL_FPCPACKAGE
 INSTALL_EXAMPLEDIR:=$(INSTALL_BASEDIR)/examples/$(PACKAGE_NAME)
@@ -437,6 +429,7 @@ endif
 else
 CROSSBINDIR=
 endif
+BATCHEXT=.bat
 LOADEREXT=.as
 EXEEXT=.exe
 PPLEXT=.ppl
@@ -469,24 +462,28 @@ ASMEXT=.asm
 SHAREDLIBEXT=.dll
 endif
 ifeq ($(OS_TARGET),linux)
+BATCHEXT=.sh
 EXEEXT=
 HASSHAREDLIB=1
 FPCMADE=fpcmade.lnx
 ZIPSUFFIX=linux
 endif
 ifeq ($(OS_TARGET),freebsd)
+BATCHEXT=.sh
 EXEEXT=
 HASSHAREDLIB=1
 FPCMADE=fpcmade.freebsd
 ZIPSUFFIX=freebsd
 endif
 ifeq ($(OS_TARGET),netbsd)
+BATCHEXT=.sh
 EXEEXT=
 HASSHAREDLIB=1
 FPCMADE=fpcmade.netbsd
 ZIPSUFFIX=netbsd
 endif
 ifeq ($(OS_TARGET),openbsd)
+BATCHEXT=.sh
 EXEEXT=
 HASSHAREDLIB=1
 FPCMADE=fpcmade.openbsd
@@ -498,6 +495,7 @@ FPCMADE=fpcmade.w32
 ZIPSUFFIX=w32
 endif
 ifeq ($(OS_TARGET),os2)
+BATCHEXT=.cmd
 AOUTEXT=.out
 STATICLIBPREFIX=
 SHAREDLIBEXT=.dll
@@ -506,6 +504,7 @@ ZIPSUFFIX=os2
 ECHO=echo
 endif
 ifeq ($(OS_TARGET),emx)
+BATCHEXT=.cmd
 AOUTEXT=.out
 STATICLIBPREFIX=
 SHAREDLIBEXT=.dll
@@ -523,16 +522,19 @@ EXEEXT=.ttp
 FPCMADE=fpcmade.ata
 endif
 ifeq ($(OS_TARGET),beos)
+BATCHEXT=.sh
 EXEEXT=
 FPCMADE=fpcmade.be
 ZIPSUFFIX=be
 endif
 ifeq ($(OS_TARGET),sunos)
+BATCHEXT=.sh
 EXEEXT=
 FPCMADE=fpcmade.sun
 ZIPSUFFIX=sun
 endif
 ifeq ($(OS_TARGET),qnx)
+BATCHEXT=.sh
 EXEEXT=
 FPCMADE=fpcmade.qnx
 ZIPSUFFIX=qnx
@@ -544,10 +546,14 @@ FPCMADE=fpcmade.nw
 ZIPSUFFIX=nw
 endif
 ifeq ($(OS_TARGET),macos)
+BATCHEXT=
 EXEEXT=
-FPCMADE=fpcmade.mcc
+FPCMADE=fpcmade.macos
+ZIPSUFFIX=macos
+DEBUGSYMEXT=.xcoff
 endif
 ifeq ($(OS_TARGET),darwin)
+BATCHEXT=.sh
 EXEEXT=
 HASSHAREDLIB=1
 FPCMADE=fpcmade.darwin
@@ -576,24 +582,28 @@ FPCMADE=fpcmade.dos
 ZIPSUFFIX=watcom
 endif
 ifeq ($(OS_TARGET),linux)
+BATCHEXT=.sh
 EXEEXT=
 HASSHAREDLIB=1
 FPCMADE=fpcmade.lnx
 ZIPSUFFIX=linux
 endif
 ifeq ($(OS_TARGET),freebsd)
+BATCHEXT=.sh
 EXEEXT=
 HASSHAREDLIB=1
 FPCMADE=fpcmade.freebsd
 ZIPSUFFIX=freebsd
 endif
 ifeq ($(OS_TARGET),netbsd)
+BATCHEXT=.sh
 EXEEXT=
 HASSHAREDLIB=1
 FPCMADE=fpcmade.netbsd
 ZIPSUFFIX=netbsd
 endif
 ifeq ($(OS_TARGET),openbsd)
+BATCHEXT=.sh
 EXEEXT=
 HASSHAREDLIB=1
 FPCMADE=fpcmade.openbsd
@@ -610,6 +620,7 @@ FPCMADE=fpcmade.w32
 ZIPSUFFIX=w32
 endif
 ifeq ($(OS_TARGET),os2)
+BATCHEXT=.cmd
 PPUEXT=.ppo
 ASMEXT=.so2
 OEXT=.oo2
@@ -642,6 +653,7 @@ EXEEXT=.ttp
 FPCMADE=fpcmade.ata
 endif
 ifeq ($(OS_TARGET),beos)
+BATCHEXT=.sh
 PPUEXT=.ppu
 ASMEXT=.s
 OEXT=.o
@@ -652,6 +664,7 @@ FPCMADE=fpcmade.be
 ZIPSUFFIX=be
 endif
 ifeq ($(OS_TARGET),sunos)
+BATCHEXT=.sh
 PPUEXT=.ppu
 ASMEXT=.s
 OEXT=.o
@@ -662,6 +675,7 @@ FPCMADE=fpcmade.sun
 ZIPSUFFIX=sun
 endif
 ifeq ($(OS_TARGET),qnx)
+BATCHEXT=.sh
 PPUEXT=.ppu
 ASMEXT=.s
 OEXT=.o
@@ -684,13 +698,15 @@ ZIPSUFFIX=nw
 EXEEXT=.nlm
 endif
 ifeq ($(OS_TARGET),macos)
+BATCHEXT=
 PPUEXT=.ppu
 ASMEXT=.s
 OEXT=.o
 SMARTEXT=.sl
 STATICLIBEXT=.a
 EXEEXT=
-FPCMADE=fpcmade.mcc
+DEBUGSYMEXT=.xcoff
+FPCMADE=fpcmade.macos
 endif
 endif
 ifndef ECHO
@@ -698,7 +714,7 @@ ECHO:=$(strip $(wildcard $(addsuffix /gecho$(SRCEXEEXT),$(SEARCHPATH))))
 ifeq ($(ECHO),)
 ECHO:=$(strip $(wildcard $(addsuffix /echo$(SRCEXEEXT),$(SEARCHPATH))))
 ifeq ($(ECHO),)
-ECHO=
+ECHO= __missing_command__
 else
 ECHO:=$(firstword $(ECHO))
 endif
@@ -712,7 +728,7 @@ DATE:=$(strip $(wildcard $(addsuffix /gdate$(SRCEXEEXT),$(SEARCHPATH))))
 ifeq ($(DATE),)
 DATE:=$(strip $(wildcard $(addsuffix /date$(SRCEXEEXT),$(SEARCHPATH))))
 ifeq ($(DATE),)
-DATE=
+DATE= __missing_command__
 else
 DATE:=$(firstword $(DATE))
 endif
@@ -726,7 +742,7 @@ GINSTALL:=$(strip $(wildcard $(addsuffix /ginstall$(SRCEXEEXT),$(SEARCHPATH))))
 ifeq ($(GINSTALL),)
 GINSTALL:=$(strip $(wildcard $(addsuffix /install$(SRCEXEEXT),$(SEARCHPATH))))
 ifeq ($(GINSTALL),)
-GINSTALL=
+GINSTALL= __missing_command__
 else
 GINSTALL:=$(firstword $(GINSTALL))
 endif
@@ -738,7 +754,7 @@ export GINSTALL
 ifndef CPPROG
 CPPROG:=$(strip $(wildcard $(addsuffix /cp$(SRCEXEEXT),$(SEARCHPATH))))
 ifeq ($(CPPROG),)
-CPPROG=
+CPPROG= __missing_command__
 else
 CPPROG:=$(firstword $(CPPROG))
 endif
@@ -747,7 +763,7 @@ export CPPROG
 ifndef RMPROG
 RMPROG:=$(strip $(wildcard $(addsuffix /rm$(SRCEXEEXT),$(SEARCHPATH))))
 ifeq ($(RMPROG),)
-RMPROG=
+RMPROG= __missing_command__
 else
 RMPROG:=$(firstword $(RMPROG))
 endif
@@ -756,7 +772,7 @@ export RMPROG
 ifndef MVPROG
 MVPROG:=$(strip $(wildcard $(addsuffix /mv$(SRCEXEEXT),$(SEARCHPATH))))
 ifeq ($(MVPROG),)
-MVPROG=
+MVPROG= __missing_command__
 else
 MVPROG:=$(firstword $(MVPROG))
 endif
@@ -805,7 +821,7 @@ export ECHOREDIR COPY COPYTREE MOVE DEL DELTREE INSTALL INSTALLEXE MKDIR
 ifndef PPUMOVE
 PPUMOVE:=$(strip $(wildcard $(addsuffix /ppumove$(SRCEXEEXT),$(SEARCHPATH))))
 ifeq ($(PPUMOVE),)
-PPUMOVE=
+PPUMOVE= __missing_command__
 else
 PPUMOVE:=$(firstword $(PPUMOVE))
 endif
@@ -814,7 +830,7 @@ export PPUMOVE
 ifndef FPCMAKE
 FPCMAKE:=$(strip $(wildcard $(addsuffix /fpcmake$(SRCEXEEXT),$(SEARCHPATH))))
 ifeq ($(FPCMAKE),)
-FPCMAKE=
+FPCMAKE= __missing_command__
 else
 FPCMAKE:=$(firstword $(FPCMAKE))
 endif
@@ -823,7 +839,7 @@ export FPCMAKE
 ifndef ZIPPROG
 ZIPPROG:=$(strip $(wildcard $(addsuffix /zip$(SRCEXEEXT),$(SEARCHPATH))))
 ifeq ($(ZIPPROG),)
-ZIPPROG=
+ZIPPROG= __missing_command__
 else
 ZIPPROG:=$(firstword $(ZIPPROG))
 endif
@@ -832,7 +848,7 @@ export ZIPPROG
 ifndef TARPROG
 TARPROG:=$(strip $(wildcard $(addsuffix /tar$(SRCEXEEXT),$(SEARCHPATH))))
 ifeq ($(TARPROG),)
-TARPROG=
+TARPROG= __missing_command__
 else
 TARPROG:=$(firstword $(TARPROG))
 endif
@@ -844,9 +860,11 @@ ARNAME=$(BINUTILSPREFIX)ar
 RCNAME=$(BINUTILSPREFIX)rc
 ifneq ($(findstring 1.0.,$(FPC_VERSION)),)
 ifeq ($(OS_TARGET),win32)
-ASNAME=as
-LDNAME=ld
-ARNAME=ar
+ifeq ($(CROSSBINDIR),)
+ASNAME=asw
+LDNAME=ldw
+ARNAME=arw
+endif
 endif
 endif
 ifndef ASPROG
@@ -881,7 +899,7 @@ AS=$(ASPROG)
 LD=$(LDPROG)
 RC=$(RCPROG)
 AR=$(ARPROG)
-PPAS=ppas$(BATCHEXT)
+PPAS=ppas$(SRCBATCHEXT)
 ifdef inUnix
 LDCONFIG=ldconfig
 else
@@ -1140,8 +1158,12 @@ ifdef RELEASE
 ifeq ($(CPU_TARGET),i386)
 FPCCPUOPT:=-OG2p3
 else
+ifeq ($(CPU_TARGET),powerpc)
+FPCCPUOPT:=-O1
+else
 FPCCPUOPT:=
 endif
+endif
 override FPCOPT+=-Xs $(FPCCPUOPT) -n
 override FPCOPTDEF+=RELEASE
 endif
@@ -1385,7 +1407,7 @@ USEZIPWRAPPER=1
 endif
 ifdef USEZIPWRAPPER
 ZIPPATHSEP=$(PATHSEP)
-ZIPWRAPPER=$(subst /,$(PATHSEP),$(DIST_DESTDIR)/fpczip$(BATCHEXT))
+ZIPWRAPPER=$(subst /,$(PATHSEP),$(DIST_DESTDIR)/fpczip$(SRCBATCHEXT))
 else
 ZIPPATHSEP=/
 endif
@@ -1439,6 +1461,9 @@ override CLEANPPUFILES+=$(addsuffix $(PPUEXT),$(CLEAN_UNITS))
 endif
 ifdef 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 CLEANPPULINKFILES:=$(wildcard $(addprefix $(UNITTARGETDIRPREFIX),$(CLEANPPULINKFILES)))
 endif
@@ -1462,6 +1487,7 @@ ifdef LIB_NAME
 	-$(DEL) $(LIB_NAME) $(LIB_FULLNAME)
 endif
 	-$(DEL) $(FPCMADE) Package.fpc $(PPAS) script.res link.res $(FPCEXTFILE) $(REDIRFILE)
+	-$(DEL) *$(ASMEXT) *_ppas$(BATCHEXT)
 fpc_distclean: clean
 ifdef COMPILER_UNITTARGETDIR
 TARGETDIRCLEAN=fpc_clean
@@ -1473,9 +1499,13 @@ endif
 	-$(DEL) *$(OEXT) *$(PPUEXT) *$(RSTEXT) *$(ASMEXT) *$(STATICLIBEXT) *$(SHAREDLIBEXT) *$(PPLEXT)
 	-$(DELTREE) *$(SMARTEXT)
 	-$(DEL) $(FPCMADE) Package.fpc $(PPAS) script.res link.res $(FPCEXTFILE) $(REDIRFILE)
+	-$(DEL) *_ppas$(BATCHEXT)
 ifdef AOUTEXT
 	-$(DEL) *$(AOUTEXT)
 endif
+ifdef DEBUGSYMEXT
+	-$(DEL) *$(DEBUGSYMEXT)
+endif
 .PHONY: fpc_baseinfo
 override INFORULES+=fpc_baseinfo
 fpc_baseinfo:

+ 114 - 72
packages/base/odbc/Makefile

@@ -1,15 +1,24 @@
 #
-# Don't edit, this file is generated by FPCMake Version 1.1 [2004/02/22]
+# Don't edit, this file is generated by FPCMake Version 1.1 [2004/04/21]
 #
 default: all
 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:=$(subst \,/,$(PATH))
+ifneq ($(findstring darwin,$(OSTYPE)),)
+inUnix=1 #darwin
+SEARCHPATH:=$(filter-out .,$(subst :, ,$(PATH)))
+else
 ifeq ($(findstring ;,$(PATH)),)
 inUnix=1
 SEARCHPATH:=$(filter-out .,$(subst :, ,$(PATH)))
 else
 SEARCHPATH:=$(subst ;, ,$(PATH))
 endif
+endif
 SEARCHPATH+=$(patsubst %/,%,$(subst \,/,$(dir $(MAKE))))
 PWD:=$(strip $(wildcard $(addsuffix /pwd.exe,$(SEARCHPATH))))
 ifeq ($(PWD),)
@@ -37,22 +46,13 @@ ifneq ($(findstring cygdrive,$(PATH)),)
 inCygWin=1
 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
-BATCHEXT=.sh
+SRCBATCHEXT=.sh
 else
 ifdef inOS2
-BATCHEXT=.cmd
+SRCBATCHEXT=.cmd
 else
-BATCHEXT=.bat
+SRCBATCHEXT=.bat
 endif
 endif
 ifdef inUnix
@@ -155,6 +155,12 @@ ifeq ($(findstring $(OS_TARGET),$(MAKEFILETARGETS)),)
 $(error The Makefile doesn't support target $(OS_TARGET), please run fpcmake first)
 endif
 endif
+ifneq ($(findstring $(OS_TARGET),$(BSDs)),)
+BSDhier=1
+endif
+ifeq ($(OS_TARGET),linux)
+linuxHier=1
+endif
 export OS_TARGET OS_SOURCE CPU_TARGET CPU_SOURCE FULL_TARGET FULL_SOURCE CROSSCOMPILE
 ifdef FPCDIR
 override FPCDIR:=$(subst \,/,$(FPCDIR))
@@ -219,42 +225,12 @@ 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
-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
 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
 ifndef INSTALL_PREFIX
@@ -263,7 +239,7 @@ INSTALL_PREFIX=$(PREFIX)
 endif
 endif
 ifndef INSTALL_PREFIX
-ifdef UNIXINSTALLDIR
+ifdef UNIXHier
 INSTALL_PREFIX=/usr/local
 else
 ifdef INSTALL_FPCPACKAGE
@@ -282,7 +258,7 @@ DIST_DESTDIR:=$(BASEDIR)
 endif
 export DIST_DESTDIR
 ifndef INSTALL_BASEDIR
-ifdef UNIXINSTALLDIR
+ifdef UNIXHier
 ifdef INSTALL_FPCPACKAGE
 INSTALL_BASEDIR:=$(INSTALL_PREFIX)/lib/fpc/$(FPC_VERSION)
 else
@@ -293,7 +269,7 @@ INSTALL_BASEDIR:=$(INSTALL_PREFIX)
 endif
 endif
 ifndef INSTALL_BINDIR
-ifdef UNIXINSTALLDIR
+ifdef UNIXHier
 ifdef CROSSCOMPILE
 INSTALL_BINDIR:=$(INSTALL_BASEDIR)/cross/$(FULL_TARGET)/bin
 else
@@ -323,19 +299,23 @@ endif
 endif
 endif
 ifndef INSTALL_LIBDIR
-ifdef UNIXINSTALLDIR
+ifdef UNIXHier
 INSTALL_LIBDIR:=$(INSTALL_PREFIX)/lib
 else
 INSTALL_LIBDIR:=$(INSTALL_UNITDIR)
 endif
 endif
 ifndef INSTALL_SOURCEDIR
-ifdef UNIXINSTALLDIR
+ifdef UNIXHier
 ifdef BSDhier
 SRCPREFIXDIR=share/src
 else
+ifdef linuxHier
+SRCPREFIXDIR=share/src
+else
 SRCPREFIXDIR=src
 endif
+endif
 ifdef INSTALL_FPCPACKAGE
 ifdef INSTALL_FPCSUBDIR
 INSTALL_SOURCEDIR:=$(INSTALL_PREFIX)/$(SRCPREFIXDIR)/fpc-$(FPC_VERSION)/$(INSTALL_FPCSUBDIR)/$(PACKAGE_NAME)
@@ -358,12 +338,16 @@ endif
 endif
 endif
 ifndef INSTALL_DOCDIR
-ifdef UNIXINSTALLDIR
+ifdef UNIXHier
 ifdef BSDhier
 DOCPREFIXDIR=share/doc
 else
+ifdef linuxHier
+DOCPREFIXDIR=share/doc
+else
 DOCPREFIXDIR=doc
 endif
+endif
 ifdef INSTALL_FPCPACKAGE
 INSTALL_DOCDIR:=$(INSTALL_PREFIX)/$(DOCPREFIXDIR)/fpc-$(FPC_VERSION)/$(PACKAGE_NAME)
 else
@@ -378,20 +362,28 @@ endif
 endif
 endif
 ifndef INSTALL_EXAMPLEDIR
-ifdef UNIXINSTALLDIR
+ifdef UNIXHier
 ifdef INSTALL_FPCPACKAGE
 ifdef BSDhier
 INSTALL_EXAMPLEDIR:=$(INSTALL_PREFIX)/share/examples/fpc-$(FPC_VERSION)/$(PACKAGE_NAME)
 else
+ifdef linuxHier
+INSTALL_EXAMPLEDIR:=$(INSTALL_DOCDIR)/examples/fpc-$(FPC_VERSION)/$(PACKAGE_NAME)
+else
 INSTALL_EXAMPLEDIR:=$(INSTALL_PREFIX)/doc/fpc-$(FPC_VERSION)/examples/$(PACKAGE_NAME)
 endif
+endif
 else
 ifdef BSDhier
 INSTALL_EXAMPLEDIR:=$(INSTALL_PREFIX)/share/examples/$(PACKAGE_NAME)-$(PACKAGE_VERSION)
 else
+ifdef linuxHier
+INSTALL_EXAMPLEDIR:=$(INSTALL_DOCDIR)/examples/$(PACKAGE_NAME)-$(PACKAGE_VERSION)
+else
 INSTALL_EXAMPLEDIR:=$(INSTALL_PREFIX)/doc/$(PACKAGE_NAME)-$(PACKAGE_VERSION)
 endif
 endif
+endif
 else
 ifdef INSTALL_FPCPACKAGE
 INSTALL_EXAMPLEDIR:=$(INSTALL_BASEDIR)/examples/$(PACKAGE_NAME)
@@ -415,7 +407,19 @@ CROSSBINDIR=
 endif
 ifeq ($(OS_SOURCE),linux)
 ifndef GCCLIBDIR
-GCCLIBDIR:=$(shell dirname `gcc -print-libgcc-file-name`)
+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
 ifndef OTHERLIBDIR
 OTHERLIBDIR:=$(shell grep -v "^\#" /etc/ld.so.conf | awk '{ ORS=" "; print $1 }')
@@ -427,6 +431,7 @@ OTHERLIBDIR+=/usr/pkg/lib
 endif
 export GCCLIBDIR OTHERLIB
 endif
+BATCHEXT=.bat
 LOADEREXT=.as
 EXEEXT=.exe
 PPLEXT=.ppl
@@ -459,24 +464,28 @@ ASMEXT=.asm
 SHAREDLIBEXT=.dll
 endif
 ifeq ($(OS_TARGET),linux)
+BATCHEXT=.sh
 EXEEXT=
 HASSHAREDLIB=1
 FPCMADE=fpcmade.lnx
 ZIPSUFFIX=linux
 endif
 ifeq ($(OS_TARGET),freebsd)
+BATCHEXT=.sh
 EXEEXT=
 HASSHAREDLIB=1
 FPCMADE=fpcmade.freebsd
 ZIPSUFFIX=freebsd
 endif
 ifeq ($(OS_TARGET),netbsd)
+BATCHEXT=.sh
 EXEEXT=
 HASSHAREDLIB=1
 FPCMADE=fpcmade.netbsd
 ZIPSUFFIX=netbsd
 endif
 ifeq ($(OS_TARGET),openbsd)
+BATCHEXT=.sh
 EXEEXT=
 HASSHAREDLIB=1
 FPCMADE=fpcmade.openbsd
@@ -488,6 +497,7 @@ FPCMADE=fpcmade.w32
 ZIPSUFFIX=w32
 endif
 ifeq ($(OS_TARGET),os2)
+BATCHEXT=.cmd
 AOUTEXT=.out
 STATICLIBPREFIX=
 SHAREDLIBEXT=.dll
@@ -496,6 +506,7 @@ ZIPSUFFIX=os2
 ECHO=echo
 endif
 ifeq ($(OS_TARGET),emx)
+BATCHEXT=.cmd
 AOUTEXT=.out
 STATICLIBPREFIX=
 SHAREDLIBEXT=.dll
@@ -513,16 +524,19 @@ EXEEXT=.ttp
 FPCMADE=fpcmade.ata
 endif
 ifeq ($(OS_TARGET),beos)
+BATCHEXT=.sh
 EXEEXT=
 FPCMADE=fpcmade.be
 ZIPSUFFIX=be
 endif
 ifeq ($(OS_TARGET),sunos)
+BATCHEXT=.sh
 EXEEXT=
 FPCMADE=fpcmade.sun
 ZIPSUFFIX=sun
 endif
 ifeq ($(OS_TARGET),qnx)
+BATCHEXT=.sh
 EXEEXT=
 FPCMADE=fpcmade.qnx
 ZIPSUFFIX=qnx
@@ -534,10 +548,14 @@ FPCMADE=fpcmade.nw
 ZIPSUFFIX=nw
 endif
 ifeq ($(OS_TARGET),macos)
+BATCHEXT=
 EXEEXT=
-FPCMADE=fpcmade.mcc
+FPCMADE=fpcmade.macos
+ZIPSUFFIX=macos
+DEBUGSYMEXT=.xcoff
 endif
 ifeq ($(OS_TARGET),darwin)
+BATCHEXT=.sh
 EXEEXT=
 HASSHAREDLIB=1
 FPCMADE=fpcmade.darwin
@@ -566,24 +584,28 @@ FPCMADE=fpcmade.dos
 ZIPSUFFIX=watcom
 endif
 ifeq ($(OS_TARGET),linux)
+BATCHEXT=.sh
 EXEEXT=
 HASSHAREDLIB=1
 FPCMADE=fpcmade.lnx
 ZIPSUFFIX=linux
 endif
 ifeq ($(OS_TARGET),freebsd)
+BATCHEXT=.sh
 EXEEXT=
 HASSHAREDLIB=1
 FPCMADE=fpcmade.freebsd
 ZIPSUFFIX=freebsd
 endif
 ifeq ($(OS_TARGET),netbsd)
+BATCHEXT=.sh
 EXEEXT=
 HASSHAREDLIB=1
 FPCMADE=fpcmade.netbsd
 ZIPSUFFIX=netbsd
 endif
 ifeq ($(OS_TARGET),openbsd)
+BATCHEXT=.sh
 EXEEXT=
 HASSHAREDLIB=1
 FPCMADE=fpcmade.openbsd
@@ -600,6 +622,7 @@ FPCMADE=fpcmade.w32
 ZIPSUFFIX=w32
 endif
 ifeq ($(OS_TARGET),os2)
+BATCHEXT=.cmd
 PPUEXT=.ppo
 ASMEXT=.so2
 OEXT=.oo2
@@ -632,6 +655,7 @@ EXEEXT=.ttp
 FPCMADE=fpcmade.ata
 endif
 ifeq ($(OS_TARGET),beos)
+BATCHEXT=.sh
 PPUEXT=.ppu
 ASMEXT=.s
 OEXT=.o
@@ -642,6 +666,7 @@ FPCMADE=fpcmade.be
 ZIPSUFFIX=be
 endif
 ifeq ($(OS_TARGET),sunos)
+BATCHEXT=.sh
 PPUEXT=.ppu
 ASMEXT=.s
 OEXT=.o
@@ -652,6 +677,7 @@ FPCMADE=fpcmade.sun
 ZIPSUFFIX=sun
 endif
 ifeq ($(OS_TARGET),qnx)
+BATCHEXT=.sh
 PPUEXT=.ppu
 ASMEXT=.s
 OEXT=.o
@@ -674,13 +700,15 @@ ZIPSUFFIX=nw
 EXEEXT=.nlm
 endif
 ifeq ($(OS_TARGET),macos)
+BATCHEXT=
 PPUEXT=.ppu
 ASMEXT=.s
 OEXT=.o
 SMARTEXT=.sl
 STATICLIBEXT=.a
 EXEEXT=
-FPCMADE=fpcmade.mcc
+DEBUGSYMEXT=.xcoff
+FPCMADE=fpcmade.macos
 endif
 endif
 ifndef ECHO
@@ -688,7 +716,7 @@ ECHO:=$(strip $(wildcard $(addsuffix /gecho$(SRCEXEEXT),$(SEARCHPATH))))
 ifeq ($(ECHO),)
 ECHO:=$(strip $(wildcard $(addsuffix /echo$(SRCEXEEXT),$(SEARCHPATH))))
 ifeq ($(ECHO),)
-ECHO=
+ECHO= __missing_command__
 else
 ECHO:=$(firstword $(ECHO))
 endif
@@ -702,7 +730,7 @@ DATE:=$(strip $(wildcard $(addsuffix /gdate$(SRCEXEEXT),$(SEARCHPATH))))
 ifeq ($(DATE),)
 DATE:=$(strip $(wildcard $(addsuffix /date$(SRCEXEEXT),$(SEARCHPATH))))
 ifeq ($(DATE),)
-DATE=
+DATE= __missing_command__
 else
 DATE:=$(firstword $(DATE))
 endif
@@ -716,7 +744,7 @@ GINSTALL:=$(strip $(wildcard $(addsuffix /ginstall$(SRCEXEEXT),$(SEARCHPATH))))
 ifeq ($(GINSTALL),)
 GINSTALL:=$(strip $(wildcard $(addsuffix /install$(SRCEXEEXT),$(SEARCHPATH))))
 ifeq ($(GINSTALL),)
-GINSTALL=
+GINSTALL= __missing_command__
 else
 GINSTALL:=$(firstword $(GINSTALL))
 endif
@@ -728,7 +756,7 @@ export GINSTALL
 ifndef CPPROG
 CPPROG:=$(strip $(wildcard $(addsuffix /cp$(SRCEXEEXT),$(SEARCHPATH))))
 ifeq ($(CPPROG),)
-CPPROG=
+CPPROG= __missing_command__
 else
 CPPROG:=$(firstword $(CPPROG))
 endif
@@ -737,7 +765,7 @@ export CPPROG
 ifndef RMPROG
 RMPROG:=$(strip $(wildcard $(addsuffix /rm$(SRCEXEEXT),$(SEARCHPATH))))
 ifeq ($(RMPROG),)
-RMPROG=
+RMPROG= __missing_command__
 else
 RMPROG:=$(firstword $(RMPROG))
 endif
@@ -746,7 +774,7 @@ export RMPROG
 ifndef MVPROG
 MVPROG:=$(strip $(wildcard $(addsuffix /mv$(SRCEXEEXT),$(SEARCHPATH))))
 ifeq ($(MVPROG),)
-MVPROG=
+MVPROG= __missing_command__
 else
 MVPROG:=$(firstword $(MVPROG))
 endif
@@ -795,7 +823,7 @@ export ECHOREDIR COPY COPYTREE MOVE DEL DELTREE INSTALL INSTALLEXE MKDIR
 ifndef PPUMOVE
 PPUMOVE:=$(strip $(wildcard $(addsuffix /ppumove$(SRCEXEEXT),$(SEARCHPATH))))
 ifeq ($(PPUMOVE),)
-PPUMOVE=
+PPUMOVE= __missing_command__
 else
 PPUMOVE:=$(firstword $(PPUMOVE))
 endif
@@ -804,7 +832,7 @@ export PPUMOVE
 ifndef FPCMAKE
 FPCMAKE:=$(strip $(wildcard $(addsuffix /fpcmake$(SRCEXEEXT),$(SEARCHPATH))))
 ifeq ($(FPCMAKE),)
-FPCMAKE=
+FPCMAKE= __missing_command__
 else
 FPCMAKE:=$(firstword $(FPCMAKE))
 endif
@@ -813,7 +841,7 @@ export FPCMAKE
 ifndef ZIPPROG
 ZIPPROG:=$(strip $(wildcard $(addsuffix /zip$(SRCEXEEXT),$(SEARCHPATH))))
 ifeq ($(ZIPPROG),)
-ZIPPROG=
+ZIPPROG= __missing_command__
 else
 ZIPPROG:=$(firstword $(ZIPPROG))
 endif
@@ -822,7 +850,7 @@ export ZIPPROG
 ifndef TARPROG
 TARPROG:=$(strip $(wildcard $(addsuffix /tar$(SRCEXEEXT),$(SEARCHPATH))))
 ifeq ($(TARPROG),)
-TARPROG=
+TARPROG= __missing_command__
 else
 TARPROG:=$(firstword $(TARPROG))
 endif
@@ -834,9 +862,11 @@ ARNAME=$(BINUTILSPREFIX)ar
 RCNAME=$(BINUTILSPREFIX)rc
 ifneq ($(findstring 1.0.,$(FPC_VERSION)),)
 ifeq ($(OS_TARGET),win32)
-ASNAME=as
-LDNAME=ld
-ARNAME=ar
+ifeq ($(CROSSBINDIR),)
+ASNAME=asw
+LDNAME=ldw
+ARNAME=arw
+endif
 endif
 endif
 ifndef ASPROG
@@ -871,7 +901,7 @@ AS=$(ASPROG)
 LD=$(LDPROG)
 RC=$(RCPROG)
 AR=$(ARPROG)
-PPAS=ppas$(BATCHEXT)
+PPAS=ppas$(SRCBATCHEXT)
 ifdef inUnix
 LDCONFIG=ldconfig
 else
@@ -1130,8 +1160,12 @@ ifdef RELEASE
 ifeq ($(CPU_TARGET),i386)
 FPCCPUOPT:=-OG2p3
 else
+ifeq ($(CPU_TARGET),powerpc)
+FPCCPUOPT:=-O1
+else
 FPCCPUOPT:=
 endif
+endif
 override FPCOPT+=-Xs $(FPCCPUOPT) -n
 override FPCOPTDEF+=RELEASE
 endif
@@ -1381,7 +1415,7 @@ USEZIPWRAPPER=1
 endif
 ifdef USEZIPWRAPPER
 ZIPPATHSEP=$(PATHSEP)
-ZIPWRAPPER=$(subst /,$(PATHSEP),$(DIST_DESTDIR)/fpczip$(BATCHEXT))
+ZIPWRAPPER=$(subst /,$(PATHSEP),$(DIST_DESTDIR)/fpczip$(SRCBATCHEXT))
 else
 ZIPPATHSEP=/
 endif
@@ -1435,6 +1469,9 @@ override CLEANPPUFILES+=$(addsuffix $(PPUEXT),$(CLEAN_UNITS))
 endif
 ifdef 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 CLEANPPULINKFILES:=$(wildcard $(addprefix $(UNITTARGETDIRPREFIX),$(CLEANPPULINKFILES)))
 endif
@@ -1458,6 +1495,7 @@ ifdef LIB_NAME
 	-$(DEL) $(LIB_NAME) $(LIB_FULLNAME)
 endif
 	-$(DEL) $(FPCMADE) Package.fpc $(PPAS) script.res link.res $(FPCEXTFILE) $(REDIRFILE)
+	-$(DEL) *$(ASMEXT) *_ppas$(BATCHEXT)
 fpc_distclean: clean
 ifdef COMPILER_UNITTARGETDIR
 TARGETDIRCLEAN=fpc_clean
@@ -1469,9 +1507,13 @@ endif
 	-$(DEL) *$(OEXT) *$(PPUEXT) *$(RSTEXT) *$(ASMEXT) *$(STATICLIBEXT) *$(SHAREDLIBEXT) *$(PPLEXT)
 	-$(DELTREE) *$(SMARTEXT)
 	-$(DEL) $(FPCMADE) Package.fpc $(PPAS) script.res link.res $(FPCEXTFILE) $(REDIRFILE)
+	-$(DEL) *_ppas$(BATCHEXT)
 ifdef AOUTEXT
 	-$(DEL) *$(AOUTEXT)
 endif
+ifdef DEBUGSYMEXT
+	-$(DEL) *$(DEBUGSYMEXT)
+endif
 .PHONY: fpc_baseinfo
 override INFORULES+=fpc_baseinfo
 fpc_baseinfo:

+ 114 - 72
packages/base/oracle/Makefile

@@ -1,15 +1,24 @@
 #
-# Don't edit, this file is generated by FPCMake Version 1.1 [2004/02/22]
+# Don't edit, this file is generated by FPCMake Version 1.1 [2004/04/21]
 #
 default: all
 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:=$(subst \,/,$(PATH))
+ifneq ($(findstring darwin,$(OSTYPE)),)
+inUnix=1 #darwin
+SEARCHPATH:=$(filter-out .,$(subst :, ,$(PATH)))
+else
 ifeq ($(findstring ;,$(PATH)),)
 inUnix=1
 SEARCHPATH:=$(filter-out .,$(subst :, ,$(PATH)))
 else
 SEARCHPATH:=$(subst ;, ,$(PATH))
 endif
+endif
 SEARCHPATH+=$(patsubst %/,%,$(subst \,/,$(dir $(MAKE))))
 PWD:=$(strip $(wildcard $(addsuffix /pwd.exe,$(SEARCHPATH))))
 ifeq ($(PWD),)
@@ -37,22 +46,13 @@ ifneq ($(findstring cygdrive,$(PATH)),)
 inCygWin=1
 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
-BATCHEXT=.sh
+SRCBATCHEXT=.sh
 else
 ifdef inOS2
-BATCHEXT=.cmd
+SRCBATCHEXT=.cmd
 else
-BATCHEXT=.bat
+SRCBATCHEXT=.bat
 endif
 endif
 ifdef inUnix
@@ -155,6 +155,12 @@ ifeq ($(findstring $(OS_TARGET),$(MAKEFILETARGETS)),)
 $(error The Makefile doesn't support target $(OS_TARGET), please run fpcmake first)
 endif
 endif
+ifneq ($(findstring $(OS_TARGET),$(BSDs)),)
+BSDhier=1
+endif
+ifeq ($(OS_TARGET),linux)
+linuxHier=1
+endif
 export OS_TARGET OS_SOURCE CPU_TARGET CPU_SOURCE FULL_TARGET FULL_SOURCE CROSSCOMPILE
 ifdef FPCDIR
 override FPCDIR:=$(subst \,/,$(FPCDIR))
@@ -219,42 +225,12 @@ 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
-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
 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
 ifndef INSTALL_PREFIX
@@ -263,7 +239,7 @@ INSTALL_PREFIX=$(PREFIX)
 endif
 endif
 ifndef INSTALL_PREFIX
-ifdef UNIXINSTALLDIR
+ifdef UNIXHier
 INSTALL_PREFIX=/usr/local
 else
 ifdef INSTALL_FPCPACKAGE
@@ -282,7 +258,7 @@ DIST_DESTDIR:=$(BASEDIR)
 endif
 export DIST_DESTDIR
 ifndef INSTALL_BASEDIR
-ifdef UNIXINSTALLDIR
+ifdef UNIXHier
 ifdef INSTALL_FPCPACKAGE
 INSTALL_BASEDIR:=$(INSTALL_PREFIX)/lib/fpc/$(FPC_VERSION)
 else
@@ -293,7 +269,7 @@ INSTALL_BASEDIR:=$(INSTALL_PREFIX)
 endif
 endif
 ifndef INSTALL_BINDIR
-ifdef UNIXINSTALLDIR
+ifdef UNIXHier
 ifdef CROSSCOMPILE
 INSTALL_BINDIR:=$(INSTALL_BASEDIR)/cross/$(FULL_TARGET)/bin
 else
@@ -323,19 +299,23 @@ endif
 endif
 endif
 ifndef INSTALL_LIBDIR
-ifdef UNIXINSTALLDIR
+ifdef UNIXHier
 INSTALL_LIBDIR:=$(INSTALL_PREFIX)/lib
 else
 INSTALL_LIBDIR:=$(INSTALL_UNITDIR)
 endif
 endif
 ifndef INSTALL_SOURCEDIR
-ifdef UNIXINSTALLDIR
+ifdef UNIXHier
 ifdef BSDhier
 SRCPREFIXDIR=share/src
 else
+ifdef linuxHier
+SRCPREFIXDIR=share/src
+else
 SRCPREFIXDIR=src
 endif
+endif
 ifdef INSTALL_FPCPACKAGE
 ifdef INSTALL_FPCSUBDIR
 INSTALL_SOURCEDIR:=$(INSTALL_PREFIX)/$(SRCPREFIXDIR)/fpc-$(FPC_VERSION)/$(INSTALL_FPCSUBDIR)/$(PACKAGE_NAME)
@@ -358,12 +338,16 @@ endif
 endif
 endif
 ifndef INSTALL_DOCDIR
-ifdef UNIXINSTALLDIR
+ifdef UNIXHier
 ifdef BSDhier
 DOCPREFIXDIR=share/doc
 else
+ifdef linuxHier
+DOCPREFIXDIR=share/doc
+else
 DOCPREFIXDIR=doc
 endif
+endif
 ifdef INSTALL_FPCPACKAGE
 INSTALL_DOCDIR:=$(INSTALL_PREFIX)/$(DOCPREFIXDIR)/fpc-$(FPC_VERSION)/$(PACKAGE_NAME)
 else
@@ -378,20 +362,28 @@ endif
 endif
 endif
 ifndef INSTALL_EXAMPLEDIR
-ifdef UNIXINSTALLDIR
+ifdef UNIXHier
 ifdef INSTALL_FPCPACKAGE
 ifdef BSDhier
 INSTALL_EXAMPLEDIR:=$(INSTALL_PREFIX)/share/examples/fpc-$(FPC_VERSION)/$(PACKAGE_NAME)
 else
+ifdef linuxHier
+INSTALL_EXAMPLEDIR:=$(INSTALL_DOCDIR)/examples/fpc-$(FPC_VERSION)/$(PACKAGE_NAME)
+else
 INSTALL_EXAMPLEDIR:=$(INSTALL_PREFIX)/doc/fpc-$(FPC_VERSION)/examples/$(PACKAGE_NAME)
 endif
+endif
 else
 ifdef BSDhier
 INSTALL_EXAMPLEDIR:=$(INSTALL_PREFIX)/share/examples/$(PACKAGE_NAME)-$(PACKAGE_VERSION)
 else
+ifdef linuxHier
+INSTALL_EXAMPLEDIR:=$(INSTALL_DOCDIR)/examples/$(PACKAGE_NAME)-$(PACKAGE_VERSION)
+else
 INSTALL_EXAMPLEDIR:=$(INSTALL_PREFIX)/doc/$(PACKAGE_NAME)-$(PACKAGE_VERSION)
 endif
 endif
+endif
 else
 ifdef INSTALL_FPCPACKAGE
 INSTALL_EXAMPLEDIR:=$(INSTALL_BASEDIR)/examples/$(PACKAGE_NAME)
@@ -415,7 +407,19 @@ CROSSBINDIR=
 endif
 ifeq ($(OS_SOURCE),linux)
 ifndef GCCLIBDIR
-GCCLIBDIR:=$(shell dirname `gcc -print-libgcc-file-name`)
+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
 ifndef OTHERLIBDIR
 OTHERLIBDIR:=$(shell grep -v "^\#" /etc/ld.so.conf | awk '{ ORS=" "; print $1 }')
@@ -427,6 +431,7 @@ OTHERLIBDIR+=/usr/pkg/lib
 endif
 export GCCLIBDIR OTHERLIB
 endif
+BATCHEXT=.bat
 LOADEREXT=.as
 EXEEXT=.exe
 PPLEXT=.ppl
@@ -459,24 +464,28 @@ ASMEXT=.asm
 SHAREDLIBEXT=.dll
 endif
 ifeq ($(OS_TARGET),linux)
+BATCHEXT=.sh
 EXEEXT=
 HASSHAREDLIB=1
 FPCMADE=fpcmade.lnx
 ZIPSUFFIX=linux
 endif
 ifeq ($(OS_TARGET),freebsd)
+BATCHEXT=.sh
 EXEEXT=
 HASSHAREDLIB=1
 FPCMADE=fpcmade.freebsd
 ZIPSUFFIX=freebsd
 endif
 ifeq ($(OS_TARGET),netbsd)
+BATCHEXT=.sh
 EXEEXT=
 HASSHAREDLIB=1
 FPCMADE=fpcmade.netbsd
 ZIPSUFFIX=netbsd
 endif
 ifeq ($(OS_TARGET),openbsd)
+BATCHEXT=.sh
 EXEEXT=
 HASSHAREDLIB=1
 FPCMADE=fpcmade.openbsd
@@ -488,6 +497,7 @@ FPCMADE=fpcmade.w32
 ZIPSUFFIX=w32
 endif
 ifeq ($(OS_TARGET),os2)
+BATCHEXT=.cmd
 AOUTEXT=.out
 STATICLIBPREFIX=
 SHAREDLIBEXT=.dll
@@ -496,6 +506,7 @@ ZIPSUFFIX=os2
 ECHO=echo
 endif
 ifeq ($(OS_TARGET),emx)
+BATCHEXT=.cmd
 AOUTEXT=.out
 STATICLIBPREFIX=
 SHAREDLIBEXT=.dll
@@ -513,16 +524,19 @@ EXEEXT=.ttp
 FPCMADE=fpcmade.ata
 endif
 ifeq ($(OS_TARGET),beos)
+BATCHEXT=.sh
 EXEEXT=
 FPCMADE=fpcmade.be
 ZIPSUFFIX=be
 endif
 ifeq ($(OS_TARGET),sunos)
+BATCHEXT=.sh
 EXEEXT=
 FPCMADE=fpcmade.sun
 ZIPSUFFIX=sun
 endif
 ifeq ($(OS_TARGET),qnx)
+BATCHEXT=.sh
 EXEEXT=
 FPCMADE=fpcmade.qnx
 ZIPSUFFIX=qnx
@@ -534,10 +548,14 @@ FPCMADE=fpcmade.nw
 ZIPSUFFIX=nw
 endif
 ifeq ($(OS_TARGET),macos)
+BATCHEXT=
 EXEEXT=
-FPCMADE=fpcmade.mcc
+FPCMADE=fpcmade.macos
+ZIPSUFFIX=macos
+DEBUGSYMEXT=.xcoff
 endif
 ifeq ($(OS_TARGET),darwin)
+BATCHEXT=.sh
 EXEEXT=
 HASSHAREDLIB=1
 FPCMADE=fpcmade.darwin
@@ -566,24 +584,28 @@ FPCMADE=fpcmade.dos
 ZIPSUFFIX=watcom
 endif
 ifeq ($(OS_TARGET),linux)
+BATCHEXT=.sh
 EXEEXT=
 HASSHAREDLIB=1
 FPCMADE=fpcmade.lnx
 ZIPSUFFIX=linux
 endif
 ifeq ($(OS_TARGET),freebsd)
+BATCHEXT=.sh
 EXEEXT=
 HASSHAREDLIB=1
 FPCMADE=fpcmade.freebsd
 ZIPSUFFIX=freebsd
 endif
 ifeq ($(OS_TARGET),netbsd)
+BATCHEXT=.sh
 EXEEXT=
 HASSHAREDLIB=1
 FPCMADE=fpcmade.netbsd
 ZIPSUFFIX=netbsd
 endif
 ifeq ($(OS_TARGET),openbsd)
+BATCHEXT=.sh
 EXEEXT=
 HASSHAREDLIB=1
 FPCMADE=fpcmade.openbsd
@@ -600,6 +622,7 @@ FPCMADE=fpcmade.w32
 ZIPSUFFIX=w32
 endif
 ifeq ($(OS_TARGET),os2)
+BATCHEXT=.cmd
 PPUEXT=.ppo
 ASMEXT=.so2
 OEXT=.oo2
@@ -632,6 +655,7 @@ EXEEXT=.ttp
 FPCMADE=fpcmade.ata
 endif
 ifeq ($(OS_TARGET),beos)
+BATCHEXT=.sh
 PPUEXT=.ppu
 ASMEXT=.s
 OEXT=.o
@@ -642,6 +666,7 @@ FPCMADE=fpcmade.be
 ZIPSUFFIX=be
 endif
 ifeq ($(OS_TARGET),sunos)
+BATCHEXT=.sh
 PPUEXT=.ppu
 ASMEXT=.s
 OEXT=.o
@@ -652,6 +677,7 @@ FPCMADE=fpcmade.sun
 ZIPSUFFIX=sun
 endif
 ifeq ($(OS_TARGET),qnx)
+BATCHEXT=.sh
 PPUEXT=.ppu
 ASMEXT=.s
 OEXT=.o
@@ -674,13 +700,15 @@ ZIPSUFFIX=nw
 EXEEXT=.nlm
 endif
 ifeq ($(OS_TARGET),macos)
+BATCHEXT=
 PPUEXT=.ppu
 ASMEXT=.s
 OEXT=.o
 SMARTEXT=.sl
 STATICLIBEXT=.a
 EXEEXT=
-FPCMADE=fpcmade.mcc
+DEBUGSYMEXT=.xcoff
+FPCMADE=fpcmade.macos
 endif
 endif
 ifndef ECHO
@@ -688,7 +716,7 @@ ECHO:=$(strip $(wildcard $(addsuffix /gecho$(SRCEXEEXT),$(SEARCHPATH))))
 ifeq ($(ECHO),)
 ECHO:=$(strip $(wildcard $(addsuffix /echo$(SRCEXEEXT),$(SEARCHPATH))))
 ifeq ($(ECHO),)
-ECHO=
+ECHO= __missing_command__
 else
 ECHO:=$(firstword $(ECHO))
 endif
@@ -702,7 +730,7 @@ DATE:=$(strip $(wildcard $(addsuffix /gdate$(SRCEXEEXT),$(SEARCHPATH))))
 ifeq ($(DATE),)
 DATE:=$(strip $(wildcard $(addsuffix /date$(SRCEXEEXT),$(SEARCHPATH))))
 ifeq ($(DATE),)
-DATE=
+DATE= __missing_command__
 else
 DATE:=$(firstword $(DATE))
 endif
@@ -716,7 +744,7 @@ GINSTALL:=$(strip $(wildcard $(addsuffix /ginstall$(SRCEXEEXT),$(SEARCHPATH))))
 ifeq ($(GINSTALL),)
 GINSTALL:=$(strip $(wildcard $(addsuffix /install$(SRCEXEEXT),$(SEARCHPATH))))
 ifeq ($(GINSTALL),)
-GINSTALL=
+GINSTALL= __missing_command__
 else
 GINSTALL:=$(firstword $(GINSTALL))
 endif
@@ -728,7 +756,7 @@ export GINSTALL
 ifndef CPPROG
 CPPROG:=$(strip $(wildcard $(addsuffix /cp$(SRCEXEEXT),$(SEARCHPATH))))
 ifeq ($(CPPROG),)
-CPPROG=
+CPPROG= __missing_command__
 else
 CPPROG:=$(firstword $(CPPROG))
 endif
@@ -737,7 +765,7 @@ export CPPROG
 ifndef RMPROG
 RMPROG:=$(strip $(wildcard $(addsuffix /rm$(SRCEXEEXT),$(SEARCHPATH))))
 ifeq ($(RMPROG),)
-RMPROG=
+RMPROG= __missing_command__
 else
 RMPROG:=$(firstword $(RMPROG))
 endif
@@ -746,7 +774,7 @@ export RMPROG
 ifndef MVPROG
 MVPROG:=$(strip $(wildcard $(addsuffix /mv$(SRCEXEEXT),$(SEARCHPATH))))
 ifeq ($(MVPROG),)
-MVPROG=
+MVPROG= __missing_command__
 else
 MVPROG:=$(firstword $(MVPROG))
 endif
@@ -795,7 +823,7 @@ export ECHOREDIR COPY COPYTREE MOVE DEL DELTREE INSTALL INSTALLEXE MKDIR
 ifndef PPUMOVE
 PPUMOVE:=$(strip $(wildcard $(addsuffix /ppumove$(SRCEXEEXT),$(SEARCHPATH))))
 ifeq ($(PPUMOVE),)
-PPUMOVE=
+PPUMOVE= __missing_command__
 else
 PPUMOVE:=$(firstword $(PPUMOVE))
 endif
@@ -804,7 +832,7 @@ export PPUMOVE
 ifndef FPCMAKE
 FPCMAKE:=$(strip $(wildcard $(addsuffix /fpcmake$(SRCEXEEXT),$(SEARCHPATH))))
 ifeq ($(FPCMAKE),)
-FPCMAKE=
+FPCMAKE= __missing_command__
 else
 FPCMAKE:=$(firstword $(FPCMAKE))
 endif
@@ -813,7 +841,7 @@ export FPCMAKE
 ifndef ZIPPROG
 ZIPPROG:=$(strip $(wildcard $(addsuffix /zip$(SRCEXEEXT),$(SEARCHPATH))))
 ifeq ($(ZIPPROG),)
-ZIPPROG=
+ZIPPROG= __missing_command__
 else
 ZIPPROG:=$(firstword $(ZIPPROG))
 endif
@@ -822,7 +850,7 @@ export ZIPPROG
 ifndef TARPROG
 TARPROG:=$(strip $(wildcard $(addsuffix /tar$(SRCEXEEXT),$(SEARCHPATH))))
 ifeq ($(TARPROG),)
-TARPROG=
+TARPROG= __missing_command__
 else
 TARPROG:=$(firstword $(TARPROG))
 endif
@@ -834,9 +862,11 @@ ARNAME=$(BINUTILSPREFIX)ar
 RCNAME=$(BINUTILSPREFIX)rc
 ifneq ($(findstring 1.0.,$(FPC_VERSION)),)
 ifeq ($(OS_TARGET),win32)
-ASNAME=as
-LDNAME=ld
-ARNAME=ar
+ifeq ($(CROSSBINDIR),)
+ASNAME=asw
+LDNAME=ldw
+ARNAME=arw
+endif
 endif
 endif
 ifndef ASPROG
@@ -871,7 +901,7 @@ AS=$(ASPROG)
 LD=$(LDPROG)
 RC=$(RCPROG)
 AR=$(ARPROG)
-PPAS=ppas$(BATCHEXT)
+PPAS=ppas$(SRCBATCHEXT)
 ifdef inUnix
 LDCONFIG=ldconfig
 else
@@ -1130,8 +1160,12 @@ ifdef RELEASE
 ifeq ($(CPU_TARGET),i386)
 FPCCPUOPT:=-OG2p3
 else
+ifeq ($(CPU_TARGET),powerpc)
+FPCCPUOPT:=-O1
+else
 FPCCPUOPT:=
 endif
+endif
 override FPCOPT+=-Xs $(FPCCPUOPT) -n
 override FPCOPTDEF+=RELEASE
 endif
@@ -1381,7 +1415,7 @@ USEZIPWRAPPER=1
 endif
 ifdef USEZIPWRAPPER
 ZIPPATHSEP=$(PATHSEP)
-ZIPWRAPPER=$(subst /,$(PATHSEP),$(DIST_DESTDIR)/fpczip$(BATCHEXT))
+ZIPWRAPPER=$(subst /,$(PATHSEP),$(DIST_DESTDIR)/fpczip$(SRCBATCHEXT))
 else
 ZIPPATHSEP=/
 endif
@@ -1435,6 +1469,9 @@ override CLEANPPUFILES+=$(addsuffix $(PPUEXT),$(CLEAN_UNITS))
 endif
 ifdef 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 CLEANPPULINKFILES:=$(wildcard $(addprefix $(UNITTARGETDIRPREFIX),$(CLEANPPULINKFILES)))
 endif
@@ -1458,6 +1495,7 @@ ifdef LIB_NAME
 	-$(DEL) $(LIB_NAME) $(LIB_FULLNAME)
 endif
 	-$(DEL) $(FPCMADE) Package.fpc $(PPAS) script.res link.res $(FPCEXTFILE) $(REDIRFILE)
+	-$(DEL) *$(ASMEXT) *_ppas$(BATCHEXT)
 fpc_distclean: clean
 ifdef COMPILER_UNITTARGETDIR
 TARGETDIRCLEAN=fpc_clean
@@ -1469,9 +1507,13 @@ endif
 	-$(DEL) *$(OEXT) *$(PPUEXT) *$(RSTEXT) *$(ASMEXT) *$(STATICLIBEXT) *$(SHAREDLIBEXT) *$(PPLEXT)
 	-$(DELTREE) *$(SMARTEXT)
 	-$(DEL) $(FPCMADE) Package.fpc $(PPAS) script.res link.res $(FPCEXTFILE) $(REDIRFILE)
+	-$(DEL) *_ppas$(BATCHEXT)
 ifdef AOUTEXT
 	-$(DEL) *$(AOUTEXT)
 endif
+ifdef DEBUGSYMEXT
+	-$(DEL) *$(DEBUGSYMEXT)
+endif
 .PHONY: fpc_baseinfo
 override INFORULES+=fpc_baseinfo
 fpc_baseinfo:

+ 113 - 71
packages/base/oracle/example/Makefile

@@ -1,15 +1,24 @@
 #
-# Don't edit, this file is generated by FPCMake Version 1.1 [2004/02/22]
+# Don't edit, this file is generated by FPCMake Version 1.1 [2004/04/21]
 #
 default: all
 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:=$(subst \,/,$(PATH))
+ifneq ($(findstring darwin,$(OSTYPE)),)
+inUnix=1 #darwin
+SEARCHPATH:=$(filter-out .,$(subst :, ,$(PATH)))
+else
 ifeq ($(findstring ;,$(PATH)),)
 inUnix=1
 SEARCHPATH:=$(filter-out .,$(subst :, ,$(PATH)))
 else
 SEARCHPATH:=$(subst ;, ,$(PATH))
 endif
+endif
 SEARCHPATH+=$(patsubst %/,%,$(subst \,/,$(dir $(MAKE))))
 PWD:=$(strip $(wildcard $(addsuffix /pwd.exe,$(SEARCHPATH))))
 ifeq ($(PWD),)
@@ -37,22 +46,13 @@ ifneq ($(findstring cygdrive,$(PATH)),)
 inCygWin=1
 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
-BATCHEXT=.sh
+SRCBATCHEXT=.sh
 else
 ifdef inOS2
-BATCHEXT=.cmd
+SRCBATCHEXT=.cmd
 else
-BATCHEXT=.bat
+SRCBATCHEXT=.bat
 endif
 endif
 ifdef inUnix
@@ -155,6 +155,12 @@ ifeq ($(findstring $(OS_TARGET),$(MAKEFILETARGETS)),)
 $(error The Makefile doesn't support target $(OS_TARGET), please run fpcmake first)
 endif
 endif
+ifneq ($(findstring $(OS_TARGET),$(BSDs)),)
+BSDhier=1
+endif
+ifeq ($(OS_TARGET),linux)
+linuxHier=1
+endif
 export OS_TARGET OS_SOURCE CPU_TARGET CPU_SOURCE FULL_TARGET FULL_SOURCE CROSSCOMPILE
 ifdef FPCDIR
 override FPCDIR:=$(subst \,/,$(FPCDIR))
@@ -217,42 +223,12 @@ 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
-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
 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
 ifndef INSTALL_PREFIX
@@ -261,7 +237,7 @@ INSTALL_PREFIX=$(PREFIX)
 endif
 endif
 ifndef INSTALL_PREFIX
-ifdef UNIXINSTALLDIR
+ifdef UNIXHier
 INSTALL_PREFIX=/usr/local
 else
 ifdef INSTALL_FPCPACKAGE
@@ -280,7 +256,7 @@ DIST_DESTDIR:=$(BASEDIR)
 endif
 export DIST_DESTDIR
 ifndef INSTALL_BASEDIR
-ifdef UNIXINSTALLDIR
+ifdef UNIXHier
 ifdef INSTALL_FPCPACKAGE
 INSTALL_BASEDIR:=$(INSTALL_PREFIX)/lib/fpc/$(FPC_VERSION)
 else
@@ -291,7 +267,7 @@ INSTALL_BASEDIR:=$(INSTALL_PREFIX)
 endif
 endif
 ifndef INSTALL_BINDIR
-ifdef UNIXINSTALLDIR
+ifdef UNIXHier
 ifdef CROSSCOMPILE
 INSTALL_BINDIR:=$(INSTALL_BASEDIR)/cross/$(FULL_TARGET)/bin
 else
@@ -321,19 +297,23 @@ endif
 endif
 endif
 ifndef INSTALL_LIBDIR
-ifdef UNIXINSTALLDIR
+ifdef UNIXHier
 INSTALL_LIBDIR:=$(INSTALL_PREFIX)/lib
 else
 INSTALL_LIBDIR:=$(INSTALL_UNITDIR)
 endif
 endif
 ifndef INSTALL_SOURCEDIR
-ifdef UNIXINSTALLDIR
+ifdef UNIXHier
 ifdef BSDhier
 SRCPREFIXDIR=share/src
 else
+ifdef linuxHier
+SRCPREFIXDIR=share/src
+else
 SRCPREFIXDIR=src
 endif
+endif
 ifdef INSTALL_FPCPACKAGE
 ifdef INSTALL_FPCSUBDIR
 INSTALL_SOURCEDIR:=$(INSTALL_PREFIX)/$(SRCPREFIXDIR)/fpc-$(FPC_VERSION)/$(INSTALL_FPCSUBDIR)/$(PACKAGE_NAME)
@@ -356,12 +336,16 @@ endif
 endif
 endif
 ifndef INSTALL_DOCDIR
-ifdef UNIXINSTALLDIR
+ifdef UNIXHier
 ifdef BSDhier
 DOCPREFIXDIR=share/doc
 else
+ifdef linuxHier
+DOCPREFIXDIR=share/doc
+else
 DOCPREFIXDIR=doc
 endif
+endif
 ifdef INSTALL_FPCPACKAGE
 INSTALL_DOCDIR:=$(INSTALL_PREFIX)/$(DOCPREFIXDIR)/fpc-$(FPC_VERSION)/$(PACKAGE_NAME)
 else
@@ -376,20 +360,28 @@ endif
 endif
 endif
 ifndef INSTALL_EXAMPLEDIR
-ifdef UNIXINSTALLDIR
+ifdef UNIXHier
 ifdef INSTALL_FPCPACKAGE
 ifdef BSDhier
 INSTALL_EXAMPLEDIR:=$(INSTALL_PREFIX)/share/examples/fpc-$(FPC_VERSION)/$(PACKAGE_NAME)
 else
+ifdef linuxHier
+INSTALL_EXAMPLEDIR:=$(INSTALL_DOCDIR)/examples/fpc-$(FPC_VERSION)/$(PACKAGE_NAME)
+else
 INSTALL_EXAMPLEDIR:=$(INSTALL_PREFIX)/doc/fpc-$(FPC_VERSION)/examples/$(PACKAGE_NAME)
 endif
+endif
 else
 ifdef BSDhier
 INSTALL_EXAMPLEDIR:=$(INSTALL_PREFIX)/share/examples/$(PACKAGE_NAME)-$(PACKAGE_VERSION)
 else
+ifdef linuxHier
+INSTALL_EXAMPLEDIR:=$(INSTALL_DOCDIR)/examples/$(PACKAGE_NAME)-$(PACKAGE_VERSION)
+else
 INSTALL_EXAMPLEDIR:=$(INSTALL_PREFIX)/doc/$(PACKAGE_NAME)-$(PACKAGE_VERSION)
 endif
 endif
+endif
 else
 ifdef INSTALL_FPCPACKAGE
 INSTALL_EXAMPLEDIR:=$(INSTALL_BASEDIR)/examples/$(PACKAGE_NAME)
@@ -413,7 +405,19 @@ CROSSBINDIR=
 endif
 ifeq ($(OS_SOURCE),linux)
 ifndef GCCLIBDIR
-GCCLIBDIR:=$(shell dirname `gcc -print-libgcc-file-name`)
+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
 ifndef OTHERLIBDIR
 OTHERLIBDIR:=$(shell grep -v "^\#" /etc/ld.so.conf | awk '{ ORS=" "; print $1 }')
@@ -425,6 +429,7 @@ OTHERLIBDIR+=/usr/pkg/lib
 endif
 export GCCLIBDIR OTHERLIB
 endif
+BATCHEXT=.bat
 LOADEREXT=.as
 EXEEXT=.exe
 PPLEXT=.ppl
@@ -457,24 +462,28 @@ ASMEXT=.asm
 SHAREDLIBEXT=.dll
 endif
 ifeq ($(OS_TARGET),linux)
+BATCHEXT=.sh
 EXEEXT=
 HASSHAREDLIB=1
 FPCMADE=fpcmade.lnx
 ZIPSUFFIX=linux
 endif
 ifeq ($(OS_TARGET),freebsd)
+BATCHEXT=.sh
 EXEEXT=
 HASSHAREDLIB=1
 FPCMADE=fpcmade.freebsd
 ZIPSUFFIX=freebsd
 endif
 ifeq ($(OS_TARGET),netbsd)
+BATCHEXT=.sh
 EXEEXT=
 HASSHAREDLIB=1
 FPCMADE=fpcmade.netbsd
 ZIPSUFFIX=netbsd
 endif
 ifeq ($(OS_TARGET),openbsd)
+BATCHEXT=.sh
 EXEEXT=
 HASSHAREDLIB=1
 FPCMADE=fpcmade.openbsd
@@ -486,6 +495,7 @@ FPCMADE=fpcmade.w32
 ZIPSUFFIX=w32
 endif
 ifeq ($(OS_TARGET),os2)
+BATCHEXT=.cmd
 AOUTEXT=.out
 STATICLIBPREFIX=
 SHAREDLIBEXT=.dll
@@ -494,6 +504,7 @@ ZIPSUFFIX=os2
 ECHO=echo
 endif
 ifeq ($(OS_TARGET),emx)
+BATCHEXT=.cmd
 AOUTEXT=.out
 STATICLIBPREFIX=
 SHAREDLIBEXT=.dll
@@ -511,16 +522,19 @@ EXEEXT=.ttp
 FPCMADE=fpcmade.ata
 endif
 ifeq ($(OS_TARGET),beos)
+BATCHEXT=.sh
 EXEEXT=
 FPCMADE=fpcmade.be
 ZIPSUFFIX=be
 endif
 ifeq ($(OS_TARGET),sunos)
+BATCHEXT=.sh
 EXEEXT=
 FPCMADE=fpcmade.sun
 ZIPSUFFIX=sun
 endif
 ifeq ($(OS_TARGET),qnx)
+BATCHEXT=.sh
 EXEEXT=
 FPCMADE=fpcmade.qnx
 ZIPSUFFIX=qnx
@@ -532,10 +546,14 @@ FPCMADE=fpcmade.nw
 ZIPSUFFIX=nw
 endif
 ifeq ($(OS_TARGET),macos)
+BATCHEXT=
 EXEEXT=
-FPCMADE=fpcmade.mcc
+FPCMADE=fpcmade.macos
+ZIPSUFFIX=macos
+DEBUGSYMEXT=.xcoff
 endif
 ifeq ($(OS_TARGET),darwin)
+BATCHEXT=.sh
 EXEEXT=
 HASSHAREDLIB=1
 FPCMADE=fpcmade.darwin
@@ -564,24 +582,28 @@ FPCMADE=fpcmade.dos
 ZIPSUFFIX=watcom
 endif
 ifeq ($(OS_TARGET),linux)
+BATCHEXT=.sh
 EXEEXT=
 HASSHAREDLIB=1
 FPCMADE=fpcmade.lnx
 ZIPSUFFIX=linux
 endif
 ifeq ($(OS_TARGET),freebsd)
+BATCHEXT=.sh
 EXEEXT=
 HASSHAREDLIB=1
 FPCMADE=fpcmade.freebsd
 ZIPSUFFIX=freebsd
 endif
 ifeq ($(OS_TARGET),netbsd)
+BATCHEXT=.sh
 EXEEXT=
 HASSHAREDLIB=1
 FPCMADE=fpcmade.netbsd
 ZIPSUFFIX=netbsd
 endif
 ifeq ($(OS_TARGET),openbsd)
+BATCHEXT=.sh
 EXEEXT=
 HASSHAREDLIB=1
 FPCMADE=fpcmade.openbsd
@@ -598,6 +620,7 @@ FPCMADE=fpcmade.w32
 ZIPSUFFIX=w32
 endif
 ifeq ($(OS_TARGET),os2)
+BATCHEXT=.cmd
 PPUEXT=.ppo
 ASMEXT=.so2
 OEXT=.oo2
@@ -630,6 +653,7 @@ EXEEXT=.ttp
 FPCMADE=fpcmade.ata
 endif
 ifeq ($(OS_TARGET),beos)
+BATCHEXT=.sh
 PPUEXT=.ppu
 ASMEXT=.s
 OEXT=.o
@@ -640,6 +664,7 @@ FPCMADE=fpcmade.be
 ZIPSUFFIX=be
 endif
 ifeq ($(OS_TARGET),sunos)
+BATCHEXT=.sh
 PPUEXT=.ppu
 ASMEXT=.s
 OEXT=.o
@@ -650,6 +675,7 @@ FPCMADE=fpcmade.sun
 ZIPSUFFIX=sun
 endif
 ifeq ($(OS_TARGET),qnx)
+BATCHEXT=.sh
 PPUEXT=.ppu
 ASMEXT=.s
 OEXT=.o
@@ -672,13 +698,15 @@ ZIPSUFFIX=nw
 EXEEXT=.nlm
 endif
 ifeq ($(OS_TARGET),macos)
+BATCHEXT=
 PPUEXT=.ppu
 ASMEXT=.s
 OEXT=.o
 SMARTEXT=.sl
 STATICLIBEXT=.a
 EXEEXT=
-FPCMADE=fpcmade.mcc
+DEBUGSYMEXT=.xcoff
+FPCMADE=fpcmade.macos
 endif
 endif
 ifndef ECHO
@@ -686,7 +714,7 @@ ECHO:=$(strip $(wildcard $(addsuffix /gecho$(SRCEXEEXT),$(SEARCHPATH))))
 ifeq ($(ECHO),)
 ECHO:=$(strip $(wildcard $(addsuffix /echo$(SRCEXEEXT),$(SEARCHPATH))))
 ifeq ($(ECHO),)
-ECHO=
+ECHO= __missing_command__
 else
 ECHO:=$(firstword $(ECHO))
 endif
@@ -700,7 +728,7 @@ DATE:=$(strip $(wildcard $(addsuffix /gdate$(SRCEXEEXT),$(SEARCHPATH))))
 ifeq ($(DATE),)
 DATE:=$(strip $(wildcard $(addsuffix /date$(SRCEXEEXT),$(SEARCHPATH))))
 ifeq ($(DATE),)
-DATE=
+DATE= __missing_command__
 else
 DATE:=$(firstword $(DATE))
 endif
@@ -714,7 +742,7 @@ GINSTALL:=$(strip $(wildcard $(addsuffix /ginstall$(SRCEXEEXT),$(SEARCHPATH))))
 ifeq ($(GINSTALL),)
 GINSTALL:=$(strip $(wildcard $(addsuffix /install$(SRCEXEEXT),$(SEARCHPATH))))
 ifeq ($(GINSTALL),)
-GINSTALL=
+GINSTALL= __missing_command__
 else
 GINSTALL:=$(firstword $(GINSTALL))
 endif
@@ -726,7 +754,7 @@ export GINSTALL
 ifndef CPPROG
 CPPROG:=$(strip $(wildcard $(addsuffix /cp$(SRCEXEEXT),$(SEARCHPATH))))
 ifeq ($(CPPROG),)
-CPPROG=
+CPPROG= __missing_command__
 else
 CPPROG:=$(firstword $(CPPROG))
 endif
@@ -735,7 +763,7 @@ export CPPROG
 ifndef RMPROG
 RMPROG:=$(strip $(wildcard $(addsuffix /rm$(SRCEXEEXT),$(SEARCHPATH))))
 ifeq ($(RMPROG),)
-RMPROG=
+RMPROG= __missing_command__
 else
 RMPROG:=$(firstword $(RMPROG))
 endif
@@ -744,7 +772,7 @@ export RMPROG
 ifndef MVPROG
 MVPROG:=$(strip $(wildcard $(addsuffix /mv$(SRCEXEEXT),$(SEARCHPATH))))
 ifeq ($(MVPROG),)
-MVPROG=
+MVPROG= __missing_command__
 else
 MVPROG:=$(firstword $(MVPROG))
 endif
@@ -793,7 +821,7 @@ export ECHOREDIR COPY COPYTREE MOVE DEL DELTREE INSTALL INSTALLEXE MKDIR
 ifndef PPUMOVE
 PPUMOVE:=$(strip $(wildcard $(addsuffix /ppumove$(SRCEXEEXT),$(SEARCHPATH))))
 ifeq ($(PPUMOVE),)
-PPUMOVE=
+PPUMOVE= __missing_command__
 else
 PPUMOVE:=$(firstword $(PPUMOVE))
 endif
@@ -802,7 +830,7 @@ export PPUMOVE
 ifndef FPCMAKE
 FPCMAKE:=$(strip $(wildcard $(addsuffix /fpcmake$(SRCEXEEXT),$(SEARCHPATH))))
 ifeq ($(FPCMAKE),)
-FPCMAKE=
+FPCMAKE= __missing_command__
 else
 FPCMAKE:=$(firstword $(FPCMAKE))
 endif
@@ -811,7 +839,7 @@ export FPCMAKE
 ifndef ZIPPROG
 ZIPPROG:=$(strip $(wildcard $(addsuffix /zip$(SRCEXEEXT),$(SEARCHPATH))))
 ifeq ($(ZIPPROG),)
-ZIPPROG=
+ZIPPROG= __missing_command__
 else
 ZIPPROG:=$(firstword $(ZIPPROG))
 endif
@@ -820,7 +848,7 @@ export ZIPPROG
 ifndef TARPROG
 TARPROG:=$(strip $(wildcard $(addsuffix /tar$(SRCEXEEXT),$(SEARCHPATH))))
 ifeq ($(TARPROG),)
-TARPROG=
+TARPROG= __missing_command__
 else
 TARPROG:=$(firstword $(TARPROG))
 endif
@@ -832,9 +860,11 @@ ARNAME=$(BINUTILSPREFIX)ar
 RCNAME=$(BINUTILSPREFIX)rc
 ifneq ($(findstring 1.0.,$(FPC_VERSION)),)
 ifeq ($(OS_TARGET),win32)
-ASNAME=as
-LDNAME=ld
-ARNAME=ar
+ifeq ($(CROSSBINDIR),)
+ASNAME=asw
+LDNAME=ldw
+ARNAME=arw
+endif
 endif
 endif
 ifndef ASPROG
@@ -869,7 +899,7 @@ AS=$(ASPROG)
 LD=$(LDPROG)
 RC=$(RCPROG)
 AR=$(ARPROG)
-PPAS=ppas$(BATCHEXT)
+PPAS=ppas$(SRCBATCHEXT)
 ifdef inUnix
 LDCONFIG=ldconfig
 else
@@ -1625,8 +1655,12 @@ ifdef RELEASE
 ifeq ($(CPU_TARGET),i386)
 FPCCPUOPT:=-OG2p3
 else
+ifeq ($(CPU_TARGET),powerpc)
+FPCCPUOPT:=-O1
+else
 FPCCPUOPT:=
 endif
+endif
 override FPCOPT+=-Xs $(FPCCPUOPT) -n
 override FPCOPTDEF+=RELEASE
 endif
@@ -1851,6 +1885,9 @@ override CLEANPPUFILES+=$(addsuffix $(PPUEXT),$(CLEAN_UNITS))
 endif
 ifdef 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 CLEANPPULINKFILES:=$(wildcard $(addprefix $(UNITTARGETDIRPREFIX),$(CLEANPPULINKFILES)))
 endif
@@ -1874,6 +1911,7 @@ ifdef LIB_NAME
 	-$(DEL) $(LIB_NAME) $(LIB_FULLNAME)
 endif
 	-$(DEL) $(FPCMADE) Package.fpc $(PPAS) script.res link.res $(FPCEXTFILE) $(REDIRFILE)
+	-$(DEL) *$(ASMEXT) *_ppas$(BATCHEXT)
 fpc_distclean: clean
 ifdef COMPILER_UNITTARGETDIR
 TARGETDIRCLEAN=fpc_clean
@@ -1885,9 +1923,13 @@ endif
 	-$(DEL) *$(OEXT) *$(PPUEXT) *$(RSTEXT) *$(ASMEXT) *$(STATICLIBEXT) *$(SHAREDLIBEXT) *$(PPLEXT)
 	-$(DELTREE) *$(SMARTEXT)
 	-$(DEL) $(FPCMADE) Package.fpc $(PPAS) script.res link.res $(FPCEXTFILE) $(REDIRFILE)
+	-$(DEL) *_ppas$(BATCHEXT)
 ifdef AOUTEXT
 	-$(DEL) *$(AOUTEXT)
 endif
+ifdef DEBUGSYMEXT
+	-$(DEL) *$(DEBUGSYMEXT)
+endif
 .PHONY: fpc_baseinfo
 override INFORULES+=fpc_baseinfo
 fpc_baseinfo:

+ 101 - 71
packages/base/pasjpeg/Makefile

@@ -1,15 +1,24 @@
 #
-# Don't edit, this file is generated by FPCMake Version 1.1 [2004/02/22]
+# Don't edit, this file is generated by FPCMake Version 1.1 [2004/04/21]
 #
 default: all
 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:=$(subst \,/,$(PATH))
+ifneq ($(findstring darwin,$(OSTYPE)),)
+inUnix=1 #darwin
+SEARCHPATH:=$(filter-out .,$(subst :, ,$(PATH)))
+else
 ifeq ($(findstring ;,$(PATH)),)
 inUnix=1
 SEARCHPATH:=$(filter-out .,$(subst :, ,$(PATH)))
 else
 SEARCHPATH:=$(subst ;, ,$(PATH))
 endif
+endif
 SEARCHPATH+=$(patsubst %/,%,$(subst \,/,$(dir $(MAKE))))
 PWD:=$(strip $(wildcard $(addsuffix /pwd.exe,$(SEARCHPATH))))
 ifeq ($(PWD),)
@@ -37,22 +46,13 @@ ifneq ($(findstring cygdrive,$(PATH)),)
 inCygWin=1
 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
-BATCHEXT=.sh
+SRCBATCHEXT=.sh
 else
 ifdef inOS2
-BATCHEXT=.cmd
+SRCBATCHEXT=.cmd
 else
-BATCHEXT=.bat
+SRCBATCHEXT=.bat
 endif
 endif
 ifdef inUnix
@@ -155,6 +155,12 @@ ifeq ($(findstring $(OS_TARGET),$(MAKEFILETARGETS)),)
 $(error The Makefile doesn't support target $(OS_TARGET), please run fpcmake first)
 endif
 endif
+ifneq ($(findstring $(OS_TARGET),$(BSDs)),)
+BSDhier=1
+endif
+ifeq ($(OS_TARGET),linux)
+linuxHier=1
+endif
 export OS_TARGET OS_SOURCE CPU_TARGET CPU_SOURCE FULL_TARGET FULL_SOURCE CROSSCOMPILE
 ifdef FPCDIR
 override FPCDIR:=$(subst \,/,$(FPCDIR))
@@ -219,42 +225,12 @@ 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
-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
 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
 ifndef INSTALL_PREFIX
@@ -263,7 +239,7 @@ INSTALL_PREFIX=$(PREFIX)
 endif
 endif
 ifndef INSTALL_PREFIX
-ifdef UNIXINSTALLDIR
+ifdef UNIXHier
 INSTALL_PREFIX=/usr/local
 else
 ifdef INSTALL_FPCPACKAGE
@@ -282,7 +258,7 @@ DIST_DESTDIR:=$(BASEDIR)
 endif
 export DIST_DESTDIR
 ifndef INSTALL_BASEDIR
-ifdef UNIXINSTALLDIR
+ifdef UNIXHier
 ifdef INSTALL_FPCPACKAGE
 INSTALL_BASEDIR:=$(INSTALL_PREFIX)/lib/fpc/$(FPC_VERSION)
 else
@@ -293,7 +269,7 @@ INSTALL_BASEDIR:=$(INSTALL_PREFIX)
 endif
 endif
 ifndef INSTALL_BINDIR
-ifdef UNIXINSTALLDIR
+ifdef UNIXHier
 ifdef CROSSCOMPILE
 INSTALL_BINDIR:=$(INSTALL_BASEDIR)/cross/$(FULL_TARGET)/bin
 else
@@ -323,19 +299,23 @@ endif
 endif
 endif
 ifndef INSTALL_LIBDIR
-ifdef UNIXINSTALLDIR
+ifdef UNIXHier
 INSTALL_LIBDIR:=$(INSTALL_PREFIX)/lib
 else
 INSTALL_LIBDIR:=$(INSTALL_UNITDIR)
 endif
 endif
 ifndef INSTALL_SOURCEDIR
-ifdef UNIXINSTALLDIR
+ifdef UNIXHier
 ifdef BSDhier
 SRCPREFIXDIR=share/src
 else
+ifdef linuxHier
+SRCPREFIXDIR=share/src
+else
 SRCPREFIXDIR=src
 endif
+endif
 ifdef INSTALL_FPCPACKAGE
 ifdef INSTALL_FPCSUBDIR
 INSTALL_SOURCEDIR:=$(INSTALL_PREFIX)/$(SRCPREFIXDIR)/fpc-$(FPC_VERSION)/$(INSTALL_FPCSUBDIR)/$(PACKAGE_NAME)
@@ -358,12 +338,16 @@ endif
 endif
 endif
 ifndef INSTALL_DOCDIR
-ifdef UNIXINSTALLDIR
+ifdef UNIXHier
 ifdef BSDhier
 DOCPREFIXDIR=share/doc
 else
+ifdef linuxHier
+DOCPREFIXDIR=share/doc
+else
 DOCPREFIXDIR=doc
 endif
+endif
 ifdef INSTALL_FPCPACKAGE
 INSTALL_DOCDIR:=$(INSTALL_PREFIX)/$(DOCPREFIXDIR)/fpc-$(FPC_VERSION)/$(PACKAGE_NAME)
 else
@@ -378,20 +362,28 @@ endif
 endif
 endif
 ifndef INSTALL_EXAMPLEDIR
-ifdef UNIXINSTALLDIR
+ifdef UNIXHier
 ifdef INSTALL_FPCPACKAGE
 ifdef BSDhier
 INSTALL_EXAMPLEDIR:=$(INSTALL_PREFIX)/share/examples/fpc-$(FPC_VERSION)/$(PACKAGE_NAME)
 else
+ifdef linuxHier
+INSTALL_EXAMPLEDIR:=$(INSTALL_DOCDIR)/examples/fpc-$(FPC_VERSION)/$(PACKAGE_NAME)
+else
 INSTALL_EXAMPLEDIR:=$(INSTALL_PREFIX)/doc/fpc-$(FPC_VERSION)/examples/$(PACKAGE_NAME)
 endif
+endif
 else
 ifdef BSDhier
 INSTALL_EXAMPLEDIR:=$(INSTALL_PREFIX)/share/examples/$(PACKAGE_NAME)-$(PACKAGE_VERSION)
 else
+ifdef linuxHier
+INSTALL_EXAMPLEDIR:=$(INSTALL_DOCDIR)/examples/$(PACKAGE_NAME)-$(PACKAGE_VERSION)
+else
 INSTALL_EXAMPLEDIR:=$(INSTALL_PREFIX)/doc/$(PACKAGE_NAME)-$(PACKAGE_VERSION)
 endif
 endif
+endif
 else
 ifdef INSTALL_FPCPACKAGE
 INSTALL_EXAMPLEDIR:=$(INSTALL_BASEDIR)/examples/$(PACKAGE_NAME)
@@ -413,6 +405,7 @@ endif
 else
 CROSSBINDIR=
 endif
+BATCHEXT=.bat
 LOADEREXT=.as
 EXEEXT=.exe
 PPLEXT=.ppl
@@ -445,24 +438,28 @@ ASMEXT=.asm
 SHAREDLIBEXT=.dll
 endif
 ifeq ($(OS_TARGET),linux)
+BATCHEXT=.sh
 EXEEXT=
 HASSHAREDLIB=1
 FPCMADE=fpcmade.lnx
 ZIPSUFFIX=linux
 endif
 ifeq ($(OS_TARGET),freebsd)
+BATCHEXT=.sh
 EXEEXT=
 HASSHAREDLIB=1
 FPCMADE=fpcmade.freebsd
 ZIPSUFFIX=freebsd
 endif
 ifeq ($(OS_TARGET),netbsd)
+BATCHEXT=.sh
 EXEEXT=
 HASSHAREDLIB=1
 FPCMADE=fpcmade.netbsd
 ZIPSUFFIX=netbsd
 endif
 ifeq ($(OS_TARGET),openbsd)
+BATCHEXT=.sh
 EXEEXT=
 HASSHAREDLIB=1
 FPCMADE=fpcmade.openbsd
@@ -474,6 +471,7 @@ FPCMADE=fpcmade.w32
 ZIPSUFFIX=w32
 endif
 ifeq ($(OS_TARGET),os2)
+BATCHEXT=.cmd
 AOUTEXT=.out
 STATICLIBPREFIX=
 SHAREDLIBEXT=.dll
@@ -482,6 +480,7 @@ ZIPSUFFIX=os2
 ECHO=echo
 endif
 ifeq ($(OS_TARGET),emx)
+BATCHEXT=.cmd
 AOUTEXT=.out
 STATICLIBPREFIX=
 SHAREDLIBEXT=.dll
@@ -499,16 +498,19 @@ EXEEXT=.ttp
 FPCMADE=fpcmade.ata
 endif
 ifeq ($(OS_TARGET),beos)
+BATCHEXT=.sh
 EXEEXT=
 FPCMADE=fpcmade.be
 ZIPSUFFIX=be
 endif
 ifeq ($(OS_TARGET),sunos)
+BATCHEXT=.sh
 EXEEXT=
 FPCMADE=fpcmade.sun
 ZIPSUFFIX=sun
 endif
 ifeq ($(OS_TARGET),qnx)
+BATCHEXT=.sh
 EXEEXT=
 FPCMADE=fpcmade.qnx
 ZIPSUFFIX=qnx
@@ -520,10 +522,14 @@ FPCMADE=fpcmade.nw
 ZIPSUFFIX=nw
 endif
 ifeq ($(OS_TARGET),macos)
+BATCHEXT=
 EXEEXT=
-FPCMADE=fpcmade.mcc
+FPCMADE=fpcmade.macos
+ZIPSUFFIX=macos
+DEBUGSYMEXT=.xcoff
 endif
 ifeq ($(OS_TARGET),darwin)
+BATCHEXT=.sh
 EXEEXT=
 HASSHAREDLIB=1
 FPCMADE=fpcmade.darwin
@@ -552,24 +558,28 @@ FPCMADE=fpcmade.dos
 ZIPSUFFIX=watcom
 endif
 ifeq ($(OS_TARGET),linux)
+BATCHEXT=.sh
 EXEEXT=
 HASSHAREDLIB=1
 FPCMADE=fpcmade.lnx
 ZIPSUFFIX=linux
 endif
 ifeq ($(OS_TARGET),freebsd)
+BATCHEXT=.sh
 EXEEXT=
 HASSHAREDLIB=1
 FPCMADE=fpcmade.freebsd
 ZIPSUFFIX=freebsd
 endif
 ifeq ($(OS_TARGET),netbsd)
+BATCHEXT=.sh
 EXEEXT=
 HASSHAREDLIB=1
 FPCMADE=fpcmade.netbsd
 ZIPSUFFIX=netbsd
 endif
 ifeq ($(OS_TARGET),openbsd)
+BATCHEXT=.sh
 EXEEXT=
 HASSHAREDLIB=1
 FPCMADE=fpcmade.openbsd
@@ -586,6 +596,7 @@ FPCMADE=fpcmade.w32
 ZIPSUFFIX=w32
 endif
 ifeq ($(OS_TARGET),os2)
+BATCHEXT=.cmd
 PPUEXT=.ppo
 ASMEXT=.so2
 OEXT=.oo2
@@ -618,6 +629,7 @@ EXEEXT=.ttp
 FPCMADE=fpcmade.ata
 endif
 ifeq ($(OS_TARGET),beos)
+BATCHEXT=.sh
 PPUEXT=.ppu
 ASMEXT=.s
 OEXT=.o
@@ -628,6 +640,7 @@ FPCMADE=fpcmade.be
 ZIPSUFFIX=be
 endif
 ifeq ($(OS_TARGET),sunos)
+BATCHEXT=.sh
 PPUEXT=.ppu
 ASMEXT=.s
 OEXT=.o
@@ -638,6 +651,7 @@ FPCMADE=fpcmade.sun
 ZIPSUFFIX=sun
 endif
 ifeq ($(OS_TARGET),qnx)
+BATCHEXT=.sh
 PPUEXT=.ppu
 ASMEXT=.s
 OEXT=.o
@@ -660,13 +674,15 @@ ZIPSUFFIX=nw
 EXEEXT=.nlm
 endif
 ifeq ($(OS_TARGET),macos)
+BATCHEXT=
 PPUEXT=.ppu
 ASMEXT=.s
 OEXT=.o
 SMARTEXT=.sl
 STATICLIBEXT=.a
 EXEEXT=
-FPCMADE=fpcmade.mcc
+DEBUGSYMEXT=.xcoff
+FPCMADE=fpcmade.macos
 endif
 endif
 ifndef ECHO
@@ -674,7 +690,7 @@ ECHO:=$(strip $(wildcard $(addsuffix /gecho$(SRCEXEEXT),$(SEARCHPATH))))
 ifeq ($(ECHO),)
 ECHO:=$(strip $(wildcard $(addsuffix /echo$(SRCEXEEXT),$(SEARCHPATH))))
 ifeq ($(ECHO),)
-ECHO=
+ECHO= __missing_command__
 else
 ECHO:=$(firstword $(ECHO))
 endif
@@ -688,7 +704,7 @@ DATE:=$(strip $(wildcard $(addsuffix /gdate$(SRCEXEEXT),$(SEARCHPATH))))
 ifeq ($(DATE),)
 DATE:=$(strip $(wildcard $(addsuffix /date$(SRCEXEEXT),$(SEARCHPATH))))
 ifeq ($(DATE),)
-DATE=
+DATE= __missing_command__
 else
 DATE:=$(firstword $(DATE))
 endif
@@ -702,7 +718,7 @@ GINSTALL:=$(strip $(wildcard $(addsuffix /ginstall$(SRCEXEEXT),$(SEARCHPATH))))
 ifeq ($(GINSTALL),)
 GINSTALL:=$(strip $(wildcard $(addsuffix /install$(SRCEXEEXT),$(SEARCHPATH))))
 ifeq ($(GINSTALL),)
-GINSTALL=
+GINSTALL= __missing_command__
 else
 GINSTALL:=$(firstword $(GINSTALL))
 endif
@@ -714,7 +730,7 @@ export GINSTALL
 ifndef CPPROG
 CPPROG:=$(strip $(wildcard $(addsuffix /cp$(SRCEXEEXT),$(SEARCHPATH))))
 ifeq ($(CPPROG),)
-CPPROG=
+CPPROG= __missing_command__
 else
 CPPROG:=$(firstword $(CPPROG))
 endif
@@ -723,7 +739,7 @@ export CPPROG
 ifndef RMPROG
 RMPROG:=$(strip $(wildcard $(addsuffix /rm$(SRCEXEEXT),$(SEARCHPATH))))
 ifeq ($(RMPROG),)
-RMPROG=
+RMPROG= __missing_command__
 else
 RMPROG:=$(firstword $(RMPROG))
 endif
@@ -732,7 +748,7 @@ export RMPROG
 ifndef MVPROG
 MVPROG:=$(strip $(wildcard $(addsuffix /mv$(SRCEXEEXT),$(SEARCHPATH))))
 ifeq ($(MVPROG),)
-MVPROG=
+MVPROG= __missing_command__
 else
 MVPROG:=$(firstword $(MVPROG))
 endif
@@ -781,7 +797,7 @@ export ECHOREDIR COPY COPYTREE MOVE DEL DELTREE INSTALL INSTALLEXE MKDIR
 ifndef PPUMOVE
 PPUMOVE:=$(strip $(wildcard $(addsuffix /ppumove$(SRCEXEEXT),$(SEARCHPATH))))
 ifeq ($(PPUMOVE),)
-PPUMOVE=
+PPUMOVE= __missing_command__
 else
 PPUMOVE:=$(firstword $(PPUMOVE))
 endif
@@ -790,7 +806,7 @@ export PPUMOVE
 ifndef FPCMAKE
 FPCMAKE:=$(strip $(wildcard $(addsuffix /fpcmake$(SRCEXEEXT),$(SEARCHPATH))))
 ifeq ($(FPCMAKE),)
-FPCMAKE=
+FPCMAKE= __missing_command__
 else
 FPCMAKE:=$(firstword $(FPCMAKE))
 endif
@@ -799,7 +815,7 @@ export FPCMAKE
 ifndef ZIPPROG
 ZIPPROG:=$(strip $(wildcard $(addsuffix /zip$(SRCEXEEXT),$(SEARCHPATH))))
 ifeq ($(ZIPPROG),)
-ZIPPROG=
+ZIPPROG= __missing_command__
 else
 ZIPPROG:=$(firstword $(ZIPPROG))
 endif
@@ -808,7 +824,7 @@ export ZIPPROG
 ifndef TARPROG
 TARPROG:=$(strip $(wildcard $(addsuffix /tar$(SRCEXEEXT),$(SEARCHPATH))))
 ifeq ($(TARPROG),)
-TARPROG=
+TARPROG= __missing_command__
 else
 TARPROG:=$(firstword $(TARPROG))
 endif
@@ -820,9 +836,11 @@ ARNAME=$(BINUTILSPREFIX)ar
 RCNAME=$(BINUTILSPREFIX)rc
 ifneq ($(findstring 1.0.,$(FPC_VERSION)),)
 ifeq ($(OS_TARGET),win32)
-ASNAME=as
-LDNAME=ld
-ARNAME=ar
+ifeq ($(CROSSBINDIR),)
+ASNAME=asw
+LDNAME=ldw
+ARNAME=arw
+endif
 endif
 endif
 ifndef ASPROG
@@ -857,7 +875,7 @@ AS=$(ASPROG)
 LD=$(LDPROG)
 RC=$(RCPROG)
 AR=$(ARPROG)
-PPAS=ppas$(BATCHEXT)
+PPAS=ppas$(SRCBATCHEXT)
 ifdef inUnix
 LDCONFIG=ldconfig
 else
@@ -1116,8 +1134,12 @@ ifdef RELEASE
 ifeq ($(CPU_TARGET),i386)
 FPCCPUOPT:=-OG2p3
 else
+ifeq ($(CPU_TARGET),powerpc)
+FPCCPUOPT:=-O1
+else
 FPCCPUOPT:=
 endif
+endif
 override FPCOPT+=-Xs $(FPCCPUOPT) -n
 override FPCOPTDEF+=RELEASE
 endif
@@ -1361,7 +1383,7 @@ USEZIPWRAPPER=1
 endif
 ifdef USEZIPWRAPPER
 ZIPPATHSEP=$(PATHSEP)
-ZIPWRAPPER=$(subst /,$(PATHSEP),$(DIST_DESTDIR)/fpczip$(BATCHEXT))
+ZIPWRAPPER=$(subst /,$(PATHSEP),$(DIST_DESTDIR)/fpczip$(SRCBATCHEXT))
 else
 ZIPPATHSEP=/
 endif
@@ -1415,6 +1437,9 @@ override CLEANPPUFILES+=$(addsuffix $(PPUEXT),$(CLEAN_UNITS))
 endif
 ifdef 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 CLEANPPULINKFILES:=$(wildcard $(addprefix $(UNITTARGETDIRPREFIX),$(CLEANPPULINKFILES)))
 endif
@@ -1438,6 +1463,7 @@ ifdef LIB_NAME
 	-$(DEL) $(LIB_NAME) $(LIB_FULLNAME)
 endif
 	-$(DEL) $(FPCMADE) Package.fpc $(PPAS) script.res link.res $(FPCEXTFILE) $(REDIRFILE)
+	-$(DEL) *$(ASMEXT) *_ppas$(BATCHEXT)
 fpc_distclean: clean
 ifdef COMPILER_UNITTARGETDIR
 TARGETDIRCLEAN=fpc_clean
@@ -1449,9 +1475,13 @@ endif
 	-$(DEL) *$(OEXT) *$(PPUEXT) *$(RSTEXT) *$(ASMEXT) *$(STATICLIBEXT) *$(SHAREDLIBEXT) *$(PPLEXT)
 	-$(DELTREE) *$(SMARTEXT)
 	-$(DEL) $(FPCMADE) Package.fpc $(PPAS) script.res link.res $(FPCEXTFILE) $(REDIRFILE)
+	-$(DEL) *_ppas$(BATCHEXT)
 ifdef AOUTEXT
 	-$(DEL) *$(AOUTEXT)
 endif
+ifdef DEBUGSYMEXT
+	-$(DEL) *$(DEBUGSYMEXT)
+endif
 .PHONY: fpc_baseinfo
 override INFORULES+=fpc_baseinfo
 fpc_baseinfo:

+ 101 - 71
packages/base/paszlib/Makefile

@@ -1,15 +1,24 @@
 #
-# Don't edit, this file is generated by FPCMake Version 1.1 [2004/02/22]
+# Don't edit, this file is generated by FPCMake Version 1.1 [2004/04/21]
 #
 default: all
 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:=$(subst \,/,$(PATH))
+ifneq ($(findstring darwin,$(OSTYPE)),)
+inUnix=1 #darwin
+SEARCHPATH:=$(filter-out .,$(subst :, ,$(PATH)))
+else
 ifeq ($(findstring ;,$(PATH)),)
 inUnix=1
 SEARCHPATH:=$(filter-out .,$(subst :, ,$(PATH)))
 else
 SEARCHPATH:=$(subst ;, ,$(PATH))
 endif
+endif
 SEARCHPATH+=$(patsubst %/,%,$(subst \,/,$(dir $(MAKE))))
 PWD:=$(strip $(wildcard $(addsuffix /pwd.exe,$(SEARCHPATH))))
 ifeq ($(PWD),)
@@ -37,22 +46,13 @@ ifneq ($(findstring cygdrive,$(PATH)),)
 inCygWin=1
 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
-BATCHEXT=.sh
+SRCBATCHEXT=.sh
 else
 ifdef inOS2
-BATCHEXT=.cmd
+SRCBATCHEXT=.cmd
 else
-BATCHEXT=.bat
+SRCBATCHEXT=.bat
 endif
 endif
 ifdef inUnix
@@ -155,6 +155,12 @@ ifeq ($(findstring $(OS_TARGET),$(MAKEFILETARGETS)),)
 $(error The Makefile doesn't support target $(OS_TARGET), please run fpcmake first)
 endif
 endif
+ifneq ($(findstring $(OS_TARGET),$(BSDs)),)
+BSDhier=1
+endif
+ifeq ($(OS_TARGET),linux)
+linuxHier=1
+endif
 export OS_TARGET OS_SOURCE CPU_TARGET CPU_SOURCE FULL_TARGET FULL_SOURCE CROSSCOMPILE
 ifdef FPCDIR
 override FPCDIR:=$(subst \,/,$(FPCDIR))
@@ -219,42 +225,12 @@ 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
-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
 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
 ifndef INSTALL_PREFIX
@@ -263,7 +239,7 @@ INSTALL_PREFIX=$(PREFIX)
 endif
 endif
 ifndef INSTALL_PREFIX
-ifdef UNIXINSTALLDIR
+ifdef UNIXHier
 INSTALL_PREFIX=/usr/local
 else
 ifdef INSTALL_FPCPACKAGE
@@ -282,7 +258,7 @@ DIST_DESTDIR:=$(BASEDIR)
 endif
 export DIST_DESTDIR
 ifndef INSTALL_BASEDIR
-ifdef UNIXINSTALLDIR
+ifdef UNIXHier
 ifdef INSTALL_FPCPACKAGE
 INSTALL_BASEDIR:=$(INSTALL_PREFIX)/lib/fpc/$(FPC_VERSION)
 else
@@ -293,7 +269,7 @@ INSTALL_BASEDIR:=$(INSTALL_PREFIX)
 endif
 endif
 ifndef INSTALL_BINDIR
-ifdef UNIXINSTALLDIR
+ifdef UNIXHier
 ifdef CROSSCOMPILE
 INSTALL_BINDIR:=$(INSTALL_BASEDIR)/cross/$(FULL_TARGET)/bin
 else
@@ -323,19 +299,23 @@ endif
 endif
 endif
 ifndef INSTALL_LIBDIR
-ifdef UNIXINSTALLDIR
+ifdef UNIXHier
 INSTALL_LIBDIR:=$(INSTALL_PREFIX)/lib
 else
 INSTALL_LIBDIR:=$(INSTALL_UNITDIR)
 endif
 endif
 ifndef INSTALL_SOURCEDIR
-ifdef UNIXINSTALLDIR
+ifdef UNIXHier
 ifdef BSDhier
 SRCPREFIXDIR=share/src
 else
+ifdef linuxHier
+SRCPREFIXDIR=share/src
+else
 SRCPREFIXDIR=src
 endif
+endif
 ifdef INSTALL_FPCPACKAGE
 ifdef INSTALL_FPCSUBDIR
 INSTALL_SOURCEDIR:=$(INSTALL_PREFIX)/$(SRCPREFIXDIR)/fpc-$(FPC_VERSION)/$(INSTALL_FPCSUBDIR)/$(PACKAGE_NAME)
@@ -358,12 +338,16 @@ endif
 endif
 endif
 ifndef INSTALL_DOCDIR
-ifdef UNIXINSTALLDIR
+ifdef UNIXHier
 ifdef BSDhier
 DOCPREFIXDIR=share/doc
 else
+ifdef linuxHier
+DOCPREFIXDIR=share/doc
+else
 DOCPREFIXDIR=doc
 endif
+endif
 ifdef INSTALL_FPCPACKAGE
 INSTALL_DOCDIR:=$(INSTALL_PREFIX)/$(DOCPREFIXDIR)/fpc-$(FPC_VERSION)/$(PACKAGE_NAME)
 else
@@ -378,20 +362,28 @@ endif
 endif
 endif
 ifndef INSTALL_EXAMPLEDIR
-ifdef UNIXINSTALLDIR
+ifdef UNIXHier
 ifdef INSTALL_FPCPACKAGE
 ifdef BSDhier
 INSTALL_EXAMPLEDIR:=$(INSTALL_PREFIX)/share/examples/fpc-$(FPC_VERSION)/$(PACKAGE_NAME)
 else
+ifdef linuxHier
+INSTALL_EXAMPLEDIR:=$(INSTALL_DOCDIR)/examples/fpc-$(FPC_VERSION)/$(PACKAGE_NAME)
+else
 INSTALL_EXAMPLEDIR:=$(INSTALL_PREFIX)/doc/fpc-$(FPC_VERSION)/examples/$(PACKAGE_NAME)
 endif
+endif
 else
 ifdef BSDhier
 INSTALL_EXAMPLEDIR:=$(INSTALL_PREFIX)/share/examples/$(PACKAGE_NAME)-$(PACKAGE_VERSION)
 else
+ifdef linuxHier
+INSTALL_EXAMPLEDIR:=$(INSTALL_DOCDIR)/examples/$(PACKAGE_NAME)-$(PACKAGE_VERSION)
+else
 INSTALL_EXAMPLEDIR:=$(INSTALL_PREFIX)/doc/$(PACKAGE_NAME)-$(PACKAGE_VERSION)
 endif
 endif
+endif
 else
 ifdef INSTALL_FPCPACKAGE
 INSTALL_EXAMPLEDIR:=$(INSTALL_BASEDIR)/examples/$(PACKAGE_NAME)
@@ -413,6 +405,7 @@ endif
 else
 CROSSBINDIR=
 endif
+BATCHEXT=.bat
 LOADEREXT=.as
 EXEEXT=.exe
 PPLEXT=.ppl
@@ -445,24 +438,28 @@ ASMEXT=.asm
 SHAREDLIBEXT=.dll
 endif
 ifeq ($(OS_TARGET),linux)
+BATCHEXT=.sh
 EXEEXT=
 HASSHAREDLIB=1
 FPCMADE=fpcmade.lnx
 ZIPSUFFIX=linux
 endif
 ifeq ($(OS_TARGET),freebsd)
+BATCHEXT=.sh
 EXEEXT=
 HASSHAREDLIB=1
 FPCMADE=fpcmade.freebsd
 ZIPSUFFIX=freebsd
 endif
 ifeq ($(OS_TARGET),netbsd)
+BATCHEXT=.sh
 EXEEXT=
 HASSHAREDLIB=1
 FPCMADE=fpcmade.netbsd
 ZIPSUFFIX=netbsd
 endif
 ifeq ($(OS_TARGET),openbsd)
+BATCHEXT=.sh
 EXEEXT=
 HASSHAREDLIB=1
 FPCMADE=fpcmade.openbsd
@@ -474,6 +471,7 @@ FPCMADE=fpcmade.w32
 ZIPSUFFIX=w32
 endif
 ifeq ($(OS_TARGET),os2)
+BATCHEXT=.cmd
 AOUTEXT=.out
 STATICLIBPREFIX=
 SHAREDLIBEXT=.dll
@@ -482,6 +480,7 @@ ZIPSUFFIX=os2
 ECHO=echo
 endif
 ifeq ($(OS_TARGET),emx)
+BATCHEXT=.cmd
 AOUTEXT=.out
 STATICLIBPREFIX=
 SHAREDLIBEXT=.dll
@@ -499,16 +498,19 @@ EXEEXT=.ttp
 FPCMADE=fpcmade.ata
 endif
 ifeq ($(OS_TARGET),beos)
+BATCHEXT=.sh
 EXEEXT=
 FPCMADE=fpcmade.be
 ZIPSUFFIX=be
 endif
 ifeq ($(OS_TARGET),sunos)
+BATCHEXT=.sh
 EXEEXT=
 FPCMADE=fpcmade.sun
 ZIPSUFFIX=sun
 endif
 ifeq ($(OS_TARGET),qnx)
+BATCHEXT=.sh
 EXEEXT=
 FPCMADE=fpcmade.qnx
 ZIPSUFFIX=qnx
@@ -520,10 +522,14 @@ FPCMADE=fpcmade.nw
 ZIPSUFFIX=nw
 endif
 ifeq ($(OS_TARGET),macos)
+BATCHEXT=
 EXEEXT=
-FPCMADE=fpcmade.mcc
+FPCMADE=fpcmade.macos
+ZIPSUFFIX=macos
+DEBUGSYMEXT=.xcoff
 endif
 ifeq ($(OS_TARGET),darwin)
+BATCHEXT=.sh
 EXEEXT=
 HASSHAREDLIB=1
 FPCMADE=fpcmade.darwin
@@ -552,24 +558,28 @@ FPCMADE=fpcmade.dos
 ZIPSUFFIX=watcom
 endif
 ifeq ($(OS_TARGET),linux)
+BATCHEXT=.sh
 EXEEXT=
 HASSHAREDLIB=1
 FPCMADE=fpcmade.lnx
 ZIPSUFFIX=linux
 endif
 ifeq ($(OS_TARGET),freebsd)
+BATCHEXT=.sh
 EXEEXT=
 HASSHAREDLIB=1
 FPCMADE=fpcmade.freebsd
 ZIPSUFFIX=freebsd
 endif
 ifeq ($(OS_TARGET),netbsd)
+BATCHEXT=.sh
 EXEEXT=
 HASSHAREDLIB=1
 FPCMADE=fpcmade.netbsd
 ZIPSUFFIX=netbsd
 endif
 ifeq ($(OS_TARGET),openbsd)
+BATCHEXT=.sh
 EXEEXT=
 HASSHAREDLIB=1
 FPCMADE=fpcmade.openbsd
@@ -586,6 +596,7 @@ FPCMADE=fpcmade.w32
 ZIPSUFFIX=w32
 endif
 ifeq ($(OS_TARGET),os2)
+BATCHEXT=.cmd
 PPUEXT=.ppo
 ASMEXT=.so2
 OEXT=.oo2
@@ -618,6 +629,7 @@ EXEEXT=.ttp
 FPCMADE=fpcmade.ata
 endif
 ifeq ($(OS_TARGET),beos)
+BATCHEXT=.sh
 PPUEXT=.ppu
 ASMEXT=.s
 OEXT=.o
@@ -628,6 +640,7 @@ FPCMADE=fpcmade.be
 ZIPSUFFIX=be
 endif
 ifeq ($(OS_TARGET),sunos)
+BATCHEXT=.sh
 PPUEXT=.ppu
 ASMEXT=.s
 OEXT=.o
@@ -638,6 +651,7 @@ FPCMADE=fpcmade.sun
 ZIPSUFFIX=sun
 endif
 ifeq ($(OS_TARGET),qnx)
+BATCHEXT=.sh
 PPUEXT=.ppu
 ASMEXT=.s
 OEXT=.o
@@ -660,13 +674,15 @@ ZIPSUFFIX=nw
 EXEEXT=.nlm
 endif
 ifeq ($(OS_TARGET),macos)
+BATCHEXT=
 PPUEXT=.ppu
 ASMEXT=.s
 OEXT=.o
 SMARTEXT=.sl
 STATICLIBEXT=.a
 EXEEXT=
-FPCMADE=fpcmade.mcc
+DEBUGSYMEXT=.xcoff
+FPCMADE=fpcmade.macos
 endif
 endif
 ifndef ECHO
@@ -674,7 +690,7 @@ ECHO:=$(strip $(wildcard $(addsuffix /gecho$(SRCEXEEXT),$(SEARCHPATH))))
 ifeq ($(ECHO),)
 ECHO:=$(strip $(wildcard $(addsuffix /echo$(SRCEXEEXT),$(SEARCHPATH))))
 ifeq ($(ECHO),)
-ECHO=
+ECHO= __missing_command__
 else
 ECHO:=$(firstword $(ECHO))
 endif
@@ -688,7 +704,7 @@ DATE:=$(strip $(wildcard $(addsuffix /gdate$(SRCEXEEXT),$(SEARCHPATH))))
 ifeq ($(DATE),)
 DATE:=$(strip $(wildcard $(addsuffix /date$(SRCEXEEXT),$(SEARCHPATH))))
 ifeq ($(DATE),)
-DATE=
+DATE= __missing_command__
 else
 DATE:=$(firstword $(DATE))
 endif
@@ -702,7 +718,7 @@ GINSTALL:=$(strip $(wildcard $(addsuffix /ginstall$(SRCEXEEXT),$(SEARCHPATH))))
 ifeq ($(GINSTALL),)
 GINSTALL:=$(strip $(wildcard $(addsuffix /install$(SRCEXEEXT),$(SEARCHPATH))))
 ifeq ($(GINSTALL),)
-GINSTALL=
+GINSTALL= __missing_command__
 else
 GINSTALL:=$(firstword $(GINSTALL))
 endif
@@ -714,7 +730,7 @@ export GINSTALL
 ifndef CPPROG
 CPPROG:=$(strip $(wildcard $(addsuffix /cp$(SRCEXEEXT),$(SEARCHPATH))))
 ifeq ($(CPPROG),)
-CPPROG=
+CPPROG= __missing_command__
 else
 CPPROG:=$(firstword $(CPPROG))
 endif
@@ -723,7 +739,7 @@ export CPPROG
 ifndef RMPROG
 RMPROG:=$(strip $(wildcard $(addsuffix /rm$(SRCEXEEXT),$(SEARCHPATH))))
 ifeq ($(RMPROG),)
-RMPROG=
+RMPROG= __missing_command__
 else
 RMPROG:=$(firstword $(RMPROG))
 endif
@@ -732,7 +748,7 @@ export RMPROG
 ifndef MVPROG
 MVPROG:=$(strip $(wildcard $(addsuffix /mv$(SRCEXEEXT),$(SEARCHPATH))))
 ifeq ($(MVPROG),)
-MVPROG=
+MVPROG= __missing_command__
 else
 MVPROG:=$(firstword $(MVPROG))
 endif
@@ -781,7 +797,7 @@ export ECHOREDIR COPY COPYTREE MOVE DEL DELTREE INSTALL INSTALLEXE MKDIR
 ifndef PPUMOVE
 PPUMOVE:=$(strip $(wildcard $(addsuffix /ppumove$(SRCEXEEXT),$(SEARCHPATH))))
 ifeq ($(PPUMOVE),)
-PPUMOVE=
+PPUMOVE= __missing_command__
 else
 PPUMOVE:=$(firstword $(PPUMOVE))
 endif
@@ -790,7 +806,7 @@ export PPUMOVE
 ifndef FPCMAKE
 FPCMAKE:=$(strip $(wildcard $(addsuffix /fpcmake$(SRCEXEEXT),$(SEARCHPATH))))
 ifeq ($(FPCMAKE),)
-FPCMAKE=
+FPCMAKE= __missing_command__
 else
 FPCMAKE:=$(firstword $(FPCMAKE))
 endif
@@ -799,7 +815,7 @@ export FPCMAKE
 ifndef ZIPPROG
 ZIPPROG:=$(strip $(wildcard $(addsuffix /zip$(SRCEXEEXT),$(SEARCHPATH))))
 ifeq ($(ZIPPROG),)
-ZIPPROG=
+ZIPPROG= __missing_command__
 else
 ZIPPROG:=$(firstword $(ZIPPROG))
 endif
@@ -808,7 +824,7 @@ export ZIPPROG
 ifndef TARPROG
 TARPROG:=$(strip $(wildcard $(addsuffix /tar$(SRCEXEEXT),$(SEARCHPATH))))
 ifeq ($(TARPROG),)
-TARPROG=
+TARPROG= __missing_command__
 else
 TARPROG:=$(firstword $(TARPROG))
 endif
@@ -820,9 +836,11 @@ ARNAME=$(BINUTILSPREFIX)ar
 RCNAME=$(BINUTILSPREFIX)rc
 ifneq ($(findstring 1.0.,$(FPC_VERSION)),)
 ifeq ($(OS_TARGET),win32)
-ASNAME=as
-LDNAME=ld
-ARNAME=ar
+ifeq ($(CROSSBINDIR),)
+ASNAME=asw
+LDNAME=ldw
+ARNAME=arw
+endif
 endif
 endif
 ifndef ASPROG
@@ -857,7 +875,7 @@ AS=$(ASPROG)
 LD=$(LDPROG)
 RC=$(RCPROG)
 AR=$(ARPROG)
-PPAS=ppas$(BATCHEXT)
+PPAS=ppas$(SRCBATCHEXT)
 ifdef inUnix
 LDCONFIG=ldconfig
 else
@@ -1116,8 +1134,12 @@ ifdef RELEASE
 ifeq ($(CPU_TARGET),i386)
 FPCCPUOPT:=-OG2p3
 else
+ifeq ($(CPU_TARGET),powerpc)
+FPCCPUOPT:=-O1
+else
 FPCCPUOPT:=
 endif
+endif
 override FPCOPT+=-Xs $(FPCCPUOPT) -n
 override FPCOPTDEF+=RELEASE
 endif
@@ -1361,7 +1383,7 @@ USEZIPWRAPPER=1
 endif
 ifdef USEZIPWRAPPER
 ZIPPATHSEP=$(PATHSEP)
-ZIPWRAPPER=$(subst /,$(PATHSEP),$(DIST_DESTDIR)/fpczip$(BATCHEXT))
+ZIPWRAPPER=$(subst /,$(PATHSEP),$(DIST_DESTDIR)/fpczip$(SRCBATCHEXT))
 else
 ZIPPATHSEP=/
 endif
@@ -1415,6 +1437,9 @@ override CLEANPPUFILES+=$(addsuffix $(PPUEXT),$(CLEAN_UNITS))
 endif
 ifdef 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 CLEANPPULINKFILES:=$(wildcard $(addprefix $(UNITTARGETDIRPREFIX),$(CLEANPPULINKFILES)))
 endif
@@ -1438,6 +1463,7 @@ ifdef LIB_NAME
 	-$(DEL) $(LIB_NAME) $(LIB_FULLNAME)
 endif
 	-$(DEL) $(FPCMADE) Package.fpc $(PPAS) script.res link.res $(FPCEXTFILE) $(REDIRFILE)
+	-$(DEL) *$(ASMEXT) *_ppas$(BATCHEXT)
 fpc_distclean: clean
 ifdef COMPILER_UNITTARGETDIR
 TARGETDIRCLEAN=fpc_clean
@@ -1449,9 +1475,13 @@ endif
 	-$(DEL) *$(OEXT) *$(PPUEXT) *$(RSTEXT) *$(ASMEXT) *$(STATICLIBEXT) *$(SHAREDLIBEXT) *$(PPLEXT)
 	-$(DELTREE) *$(SMARTEXT)
 	-$(DEL) $(FPCMADE) Package.fpc $(PPAS) script.res link.res $(FPCEXTFILE) $(REDIRFILE)
+	-$(DEL) *_ppas$(BATCHEXT)
 ifdef AOUTEXT
 	-$(DEL) *$(AOUTEXT)
 endif
+ifdef DEBUGSYMEXT
+	-$(DEL) *$(DEBUGSYMEXT)
+endif
 .PHONY: fpc_baseinfo
 override INFORULES+=fpc_baseinfo
 fpc_baseinfo:

+ 114 - 72
packages/base/postgres/Makefile

@@ -1,15 +1,24 @@
 #
-# Don't edit, this file is generated by FPCMake Version 1.1 [2004/02/22]
+# Don't edit, this file is generated by FPCMake Version 1.1 [2004/04/21]
 #
 default: all
 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:=$(subst \,/,$(PATH))
+ifneq ($(findstring darwin,$(OSTYPE)),)
+inUnix=1 #darwin
+SEARCHPATH:=$(filter-out .,$(subst :, ,$(PATH)))
+else
 ifeq ($(findstring ;,$(PATH)),)
 inUnix=1
 SEARCHPATH:=$(filter-out .,$(subst :, ,$(PATH)))
 else
 SEARCHPATH:=$(subst ;, ,$(PATH))
 endif
+endif
 SEARCHPATH+=$(patsubst %/,%,$(subst \,/,$(dir $(MAKE))))
 PWD:=$(strip $(wildcard $(addsuffix /pwd.exe,$(SEARCHPATH))))
 ifeq ($(PWD),)
@@ -37,22 +46,13 @@ ifneq ($(findstring cygdrive,$(PATH)),)
 inCygWin=1
 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
-BATCHEXT=.sh
+SRCBATCHEXT=.sh
 else
 ifdef inOS2
-BATCHEXT=.cmd
+SRCBATCHEXT=.cmd
 else
-BATCHEXT=.bat
+SRCBATCHEXT=.bat
 endif
 endif
 ifdef inUnix
@@ -155,6 +155,12 @@ ifeq ($(findstring $(OS_TARGET),$(MAKEFILETARGETS)),)
 $(error The Makefile doesn't support target $(OS_TARGET), please run fpcmake first)
 endif
 endif
+ifneq ($(findstring $(OS_TARGET),$(BSDs)),)
+BSDhier=1
+endif
+ifeq ($(OS_TARGET),linux)
+linuxHier=1
+endif
 export OS_TARGET OS_SOURCE CPU_TARGET CPU_SOURCE FULL_TARGET FULL_SOURCE CROSSCOMPILE
 ifdef FPCDIR
 override FPCDIR:=$(subst \,/,$(FPCDIR))
@@ -219,42 +225,12 @@ 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
-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
 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
 ifndef INSTALL_PREFIX
@@ -263,7 +239,7 @@ INSTALL_PREFIX=$(PREFIX)
 endif
 endif
 ifndef INSTALL_PREFIX
-ifdef UNIXINSTALLDIR
+ifdef UNIXHier
 INSTALL_PREFIX=/usr/local
 else
 ifdef INSTALL_FPCPACKAGE
@@ -282,7 +258,7 @@ DIST_DESTDIR:=$(BASEDIR)
 endif
 export DIST_DESTDIR
 ifndef INSTALL_BASEDIR
-ifdef UNIXINSTALLDIR
+ifdef UNIXHier
 ifdef INSTALL_FPCPACKAGE
 INSTALL_BASEDIR:=$(INSTALL_PREFIX)/lib/fpc/$(FPC_VERSION)
 else
@@ -293,7 +269,7 @@ INSTALL_BASEDIR:=$(INSTALL_PREFIX)
 endif
 endif
 ifndef INSTALL_BINDIR
-ifdef UNIXINSTALLDIR
+ifdef UNIXHier
 ifdef CROSSCOMPILE
 INSTALL_BINDIR:=$(INSTALL_BASEDIR)/cross/$(FULL_TARGET)/bin
 else
@@ -323,19 +299,23 @@ endif
 endif
 endif
 ifndef INSTALL_LIBDIR
-ifdef UNIXINSTALLDIR
+ifdef UNIXHier
 INSTALL_LIBDIR:=$(INSTALL_PREFIX)/lib
 else
 INSTALL_LIBDIR:=$(INSTALL_UNITDIR)
 endif
 endif
 ifndef INSTALL_SOURCEDIR
-ifdef UNIXINSTALLDIR
+ifdef UNIXHier
 ifdef BSDhier
 SRCPREFIXDIR=share/src
 else
+ifdef linuxHier
+SRCPREFIXDIR=share/src
+else
 SRCPREFIXDIR=src
 endif
+endif
 ifdef INSTALL_FPCPACKAGE
 ifdef INSTALL_FPCSUBDIR
 INSTALL_SOURCEDIR:=$(INSTALL_PREFIX)/$(SRCPREFIXDIR)/fpc-$(FPC_VERSION)/$(INSTALL_FPCSUBDIR)/$(PACKAGE_NAME)
@@ -358,12 +338,16 @@ endif
 endif
 endif
 ifndef INSTALL_DOCDIR
-ifdef UNIXINSTALLDIR
+ifdef UNIXHier
 ifdef BSDhier
 DOCPREFIXDIR=share/doc
 else
+ifdef linuxHier
+DOCPREFIXDIR=share/doc
+else
 DOCPREFIXDIR=doc
 endif
+endif
 ifdef INSTALL_FPCPACKAGE
 INSTALL_DOCDIR:=$(INSTALL_PREFIX)/$(DOCPREFIXDIR)/fpc-$(FPC_VERSION)/$(PACKAGE_NAME)
 else
@@ -378,20 +362,28 @@ endif
 endif
 endif
 ifndef INSTALL_EXAMPLEDIR
-ifdef UNIXINSTALLDIR
+ifdef UNIXHier
 ifdef INSTALL_FPCPACKAGE
 ifdef BSDhier
 INSTALL_EXAMPLEDIR:=$(INSTALL_PREFIX)/share/examples/fpc-$(FPC_VERSION)/$(PACKAGE_NAME)
 else
+ifdef linuxHier
+INSTALL_EXAMPLEDIR:=$(INSTALL_DOCDIR)/examples/fpc-$(FPC_VERSION)/$(PACKAGE_NAME)
+else
 INSTALL_EXAMPLEDIR:=$(INSTALL_PREFIX)/doc/fpc-$(FPC_VERSION)/examples/$(PACKAGE_NAME)
 endif
+endif
 else
 ifdef BSDhier
 INSTALL_EXAMPLEDIR:=$(INSTALL_PREFIX)/share/examples/$(PACKAGE_NAME)-$(PACKAGE_VERSION)
 else
+ifdef linuxHier
+INSTALL_EXAMPLEDIR:=$(INSTALL_DOCDIR)/examples/$(PACKAGE_NAME)-$(PACKAGE_VERSION)
+else
 INSTALL_EXAMPLEDIR:=$(INSTALL_PREFIX)/doc/$(PACKAGE_NAME)-$(PACKAGE_VERSION)
 endif
 endif
+endif
 else
 ifdef INSTALL_FPCPACKAGE
 INSTALL_EXAMPLEDIR:=$(INSTALL_BASEDIR)/examples/$(PACKAGE_NAME)
@@ -415,7 +407,19 @@ CROSSBINDIR=
 endif
 ifeq ($(OS_SOURCE),linux)
 ifndef GCCLIBDIR
-GCCLIBDIR:=$(shell dirname `gcc -print-libgcc-file-name`)
+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
 ifndef OTHERLIBDIR
 OTHERLIBDIR:=$(shell grep -v "^\#" /etc/ld.so.conf | awk '{ ORS=" "; print $1 }')
@@ -427,6 +431,7 @@ OTHERLIBDIR+=/usr/pkg/lib
 endif
 export GCCLIBDIR OTHERLIB
 endif
+BATCHEXT=.bat
 LOADEREXT=.as
 EXEEXT=.exe
 PPLEXT=.ppl
@@ -459,24 +464,28 @@ ASMEXT=.asm
 SHAREDLIBEXT=.dll
 endif
 ifeq ($(OS_TARGET),linux)
+BATCHEXT=.sh
 EXEEXT=
 HASSHAREDLIB=1
 FPCMADE=fpcmade.lnx
 ZIPSUFFIX=linux
 endif
 ifeq ($(OS_TARGET),freebsd)
+BATCHEXT=.sh
 EXEEXT=
 HASSHAREDLIB=1
 FPCMADE=fpcmade.freebsd
 ZIPSUFFIX=freebsd
 endif
 ifeq ($(OS_TARGET),netbsd)
+BATCHEXT=.sh
 EXEEXT=
 HASSHAREDLIB=1
 FPCMADE=fpcmade.netbsd
 ZIPSUFFIX=netbsd
 endif
 ifeq ($(OS_TARGET),openbsd)
+BATCHEXT=.sh
 EXEEXT=
 HASSHAREDLIB=1
 FPCMADE=fpcmade.openbsd
@@ -488,6 +497,7 @@ FPCMADE=fpcmade.w32
 ZIPSUFFIX=w32
 endif
 ifeq ($(OS_TARGET),os2)
+BATCHEXT=.cmd
 AOUTEXT=.out
 STATICLIBPREFIX=
 SHAREDLIBEXT=.dll
@@ -496,6 +506,7 @@ ZIPSUFFIX=os2
 ECHO=echo
 endif
 ifeq ($(OS_TARGET),emx)
+BATCHEXT=.cmd
 AOUTEXT=.out
 STATICLIBPREFIX=
 SHAREDLIBEXT=.dll
@@ -513,16 +524,19 @@ EXEEXT=.ttp
 FPCMADE=fpcmade.ata
 endif
 ifeq ($(OS_TARGET),beos)
+BATCHEXT=.sh
 EXEEXT=
 FPCMADE=fpcmade.be
 ZIPSUFFIX=be
 endif
 ifeq ($(OS_TARGET),sunos)
+BATCHEXT=.sh
 EXEEXT=
 FPCMADE=fpcmade.sun
 ZIPSUFFIX=sun
 endif
 ifeq ($(OS_TARGET),qnx)
+BATCHEXT=.sh
 EXEEXT=
 FPCMADE=fpcmade.qnx
 ZIPSUFFIX=qnx
@@ -534,10 +548,14 @@ FPCMADE=fpcmade.nw
 ZIPSUFFIX=nw
 endif
 ifeq ($(OS_TARGET),macos)
+BATCHEXT=
 EXEEXT=
-FPCMADE=fpcmade.mcc
+FPCMADE=fpcmade.macos
+ZIPSUFFIX=macos
+DEBUGSYMEXT=.xcoff
 endif
 ifeq ($(OS_TARGET),darwin)
+BATCHEXT=.sh
 EXEEXT=
 HASSHAREDLIB=1
 FPCMADE=fpcmade.darwin
@@ -566,24 +584,28 @@ FPCMADE=fpcmade.dos
 ZIPSUFFIX=watcom
 endif
 ifeq ($(OS_TARGET),linux)
+BATCHEXT=.sh
 EXEEXT=
 HASSHAREDLIB=1
 FPCMADE=fpcmade.lnx
 ZIPSUFFIX=linux
 endif
 ifeq ($(OS_TARGET),freebsd)
+BATCHEXT=.sh
 EXEEXT=
 HASSHAREDLIB=1
 FPCMADE=fpcmade.freebsd
 ZIPSUFFIX=freebsd
 endif
 ifeq ($(OS_TARGET),netbsd)
+BATCHEXT=.sh
 EXEEXT=
 HASSHAREDLIB=1
 FPCMADE=fpcmade.netbsd
 ZIPSUFFIX=netbsd
 endif
 ifeq ($(OS_TARGET),openbsd)
+BATCHEXT=.sh
 EXEEXT=
 HASSHAREDLIB=1
 FPCMADE=fpcmade.openbsd
@@ -600,6 +622,7 @@ FPCMADE=fpcmade.w32
 ZIPSUFFIX=w32
 endif
 ifeq ($(OS_TARGET),os2)
+BATCHEXT=.cmd
 PPUEXT=.ppo
 ASMEXT=.so2
 OEXT=.oo2
@@ -632,6 +655,7 @@ EXEEXT=.ttp
 FPCMADE=fpcmade.ata
 endif
 ifeq ($(OS_TARGET),beos)
+BATCHEXT=.sh
 PPUEXT=.ppu
 ASMEXT=.s
 OEXT=.o
@@ -642,6 +666,7 @@ FPCMADE=fpcmade.be
 ZIPSUFFIX=be
 endif
 ifeq ($(OS_TARGET),sunos)
+BATCHEXT=.sh
 PPUEXT=.ppu
 ASMEXT=.s
 OEXT=.o
@@ -652,6 +677,7 @@ FPCMADE=fpcmade.sun
 ZIPSUFFIX=sun
 endif
 ifeq ($(OS_TARGET),qnx)
+BATCHEXT=.sh
 PPUEXT=.ppu
 ASMEXT=.s
 OEXT=.o
@@ -674,13 +700,15 @@ ZIPSUFFIX=nw
 EXEEXT=.nlm
 endif
 ifeq ($(OS_TARGET),macos)
+BATCHEXT=
 PPUEXT=.ppu
 ASMEXT=.s
 OEXT=.o
 SMARTEXT=.sl
 STATICLIBEXT=.a
 EXEEXT=
-FPCMADE=fpcmade.mcc
+DEBUGSYMEXT=.xcoff
+FPCMADE=fpcmade.macos
 endif
 endif
 ifndef ECHO
@@ -688,7 +716,7 @@ ECHO:=$(strip $(wildcard $(addsuffix /gecho$(SRCEXEEXT),$(SEARCHPATH))))
 ifeq ($(ECHO),)
 ECHO:=$(strip $(wildcard $(addsuffix /echo$(SRCEXEEXT),$(SEARCHPATH))))
 ifeq ($(ECHO),)
-ECHO=
+ECHO= __missing_command__
 else
 ECHO:=$(firstword $(ECHO))
 endif
@@ -702,7 +730,7 @@ DATE:=$(strip $(wildcard $(addsuffix /gdate$(SRCEXEEXT),$(SEARCHPATH))))
 ifeq ($(DATE),)
 DATE:=$(strip $(wildcard $(addsuffix /date$(SRCEXEEXT),$(SEARCHPATH))))
 ifeq ($(DATE),)
-DATE=
+DATE= __missing_command__
 else
 DATE:=$(firstword $(DATE))
 endif
@@ -716,7 +744,7 @@ GINSTALL:=$(strip $(wildcard $(addsuffix /ginstall$(SRCEXEEXT),$(SEARCHPATH))))
 ifeq ($(GINSTALL),)
 GINSTALL:=$(strip $(wildcard $(addsuffix /install$(SRCEXEEXT),$(SEARCHPATH))))
 ifeq ($(GINSTALL),)
-GINSTALL=
+GINSTALL= __missing_command__
 else
 GINSTALL:=$(firstword $(GINSTALL))
 endif
@@ -728,7 +756,7 @@ export GINSTALL
 ifndef CPPROG
 CPPROG:=$(strip $(wildcard $(addsuffix /cp$(SRCEXEEXT),$(SEARCHPATH))))
 ifeq ($(CPPROG),)
-CPPROG=
+CPPROG= __missing_command__
 else
 CPPROG:=$(firstword $(CPPROG))
 endif
@@ -737,7 +765,7 @@ export CPPROG
 ifndef RMPROG
 RMPROG:=$(strip $(wildcard $(addsuffix /rm$(SRCEXEEXT),$(SEARCHPATH))))
 ifeq ($(RMPROG),)
-RMPROG=
+RMPROG= __missing_command__
 else
 RMPROG:=$(firstword $(RMPROG))
 endif
@@ -746,7 +774,7 @@ export RMPROG
 ifndef MVPROG
 MVPROG:=$(strip $(wildcard $(addsuffix /mv$(SRCEXEEXT),$(SEARCHPATH))))
 ifeq ($(MVPROG),)
-MVPROG=
+MVPROG= __missing_command__
 else
 MVPROG:=$(firstword $(MVPROG))
 endif
@@ -795,7 +823,7 @@ export ECHOREDIR COPY COPYTREE MOVE DEL DELTREE INSTALL INSTALLEXE MKDIR
 ifndef PPUMOVE
 PPUMOVE:=$(strip $(wildcard $(addsuffix /ppumove$(SRCEXEEXT),$(SEARCHPATH))))
 ifeq ($(PPUMOVE),)
-PPUMOVE=
+PPUMOVE= __missing_command__
 else
 PPUMOVE:=$(firstword $(PPUMOVE))
 endif
@@ -804,7 +832,7 @@ export PPUMOVE
 ifndef FPCMAKE
 FPCMAKE:=$(strip $(wildcard $(addsuffix /fpcmake$(SRCEXEEXT),$(SEARCHPATH))))
 ifeq ($(FPCMAKE),)
-FPCMAKE=
+FPCMAKE= __missing_command__
 else
 FPCMAKE:=$(firstword $(FPCMAKE))
 endif
@@ -813,7 +841,7 @@ export FPCMAKE
 ifndef ZIPPROG
 ZIPPROG:=$(strip $(wildcard $(addsuffix /zip$(SRCEXEEXT),$(SEARCHPATH))))
 ifeq ($(ZIPPROG),)
-ZIPPROG=
+ZIPPROG= __missing_command__
 else
 ZIPPROG:=$(firstword $(ZIPPROG))
 endif
@@ -822,7 +850,7 @@ export ZIPPROG
 ifndef TARPROG
 TARPROG:=$(strip $(wildcard $(addsuffix /tar$(SRCEXEEXT),$(SEARCHPATH))))
 ifeq ($(TARPROG),)
-TARPROG=
+TARPROG= __missing_command__
 else
 TARPROG:=$(firstword $(TARPROG))
 endif
@@ -834,9 +862,11 @@ ARNAME=$(BINUTILSPREFIX)ar
 RCNAME=$(BINUTILSPREFIX)rc
 ifneq ($(findstring 1.0.,$(FPC_VERSION)),)
 ifeq ($(OS_TARGET),win32)
-ASNAME=as
-LDNAME=ld
-ARNAME=ar
+ifeq ($(CROSSBINDIR),)
+ASNAME=asw
+LDNAME=ldw
+ARNAME=arw
+endif
 endif
 endif
 ifndef ASPROG
@@ -871,7 +901,7 @@ AS=$(ASPROG)
 LD=$(LDPROG)
 RC=$(RCPROG)
 AR=$(ARPROG)
-PPAS=ppas$(BATCHEXT)
+PPAS=ppas$(SRCBATCHEXT)
 ifdef inUnix
 LDCONFIG=ldconfig
 else
@@ -1130,8 +1160,12 @@ ifdef RELEASE
 ifeq ($(CPU_TARGET),i386)
 FPCCPUOPT:=-OG2p3
 else
+ifeq ($(CPU_TARGET),powerpc)
+FPCCPUOPT:=-O1
+else
 FPCCPUOPT:=
 endif
+endif
 override FPCOPT+=-Xs $(FPCCPUOPT) -n
 override FPCOPTDEF+=RELEASE
 endif
@@ -1381,7 +1415,7 @@ USEZIPWRAPPER=1
 endif
 ifdef USEZIPWRAPPER
 ZIPPATHSEP=$(PATHSEP)
-ZIPWRAPPER=$(subst /,$(PATHSEP),$(DIST_DESTDIR)/fpczip$(BATCHEXT))
+ZIPWRAPPER=$(subst /,$(PATHSEP),$(DIST_DESTDIR)/fpczip$(SRCBATCHEXT))
 else
 ZIPPATHSEP=/
 endif
@@ -1435,6 +1469,9 @@ override CLEANPPUFILES+=$(addsuffix $(PPUEXT),$(CLEAN_UNITS))
 endif
 ifdef 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 CLEANPPULINKFILES:=$(wildcard $(addprefix $(UNITTARGETDIRPREFIX),$(CLEANPPULINKFILES)))
 endif
@@ -1458,6 +1495,7 @@ ifdef LIB_NAME
 	-$(DEL) $(LIB_NAME) $(LIB_FULLNAME)
 endif
 	-$(DEL) $(FPCMADE) Package.fpc $(PPAS) script.res link.res $(FPCEXTFILE) $(REDIRFILE)
+	-$(DEL) *$(ASMEXT) *_ppas$(BATCHEXT)
 fpc_distclean: clean
 ifdef COMPILER_UNITTARGETDIR
 TARGETDIRCLEAN=fpc_clean
@@ -1469,9 +1507,13 @@ endif
 	-$(DEL) *$(OEXT) *$(PPUEXT) *$(RSTEXT) *$(ASMEXT) *$(STATICLIBEXT) *$(SHAREDLIBEXT) *$(PPLEXT)
 	-$(DELTREE) *$(SMARTEXT)
 	-$(DEL) $(FPCMADE) Package.fpc $(PPAS) script.res link.res $(FPCEXTFILE) $(REDIRFILE)
+	-$(DEL) *_ppas$(BATCHEXT)
 ifdef AOUTEXT
 	-$(DEL) *$(AOUTEXT)
 endif
+ifdef DEBUGSYMEXT
+	-$(DEL) *$(DEBUGSYMEXT)
+endif
 .PHONY: fpc_baseinfo
 override INFORULES+=fpc_baseinfo
 fpc_baseinfo:

+ 101 - 71
packages/base/pthreads/Makefile

@@ -1,15 +1,24 @@
 #
-# Don't edit, this file is generated by FPCMake Version 1.1 [2004/02/22]
+# Don't edit, this file is generated by FPCMake Version 1.1 [2004/04/21]
 #
 default: all
 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:=$(subst \,/,$(PATH))
+ifneq ($(findstring darwin,$(OSTYPE)),)
+inUnix=1 #darwin
+SEARCHPATH:=$(filter-out .,$(subst :, ,$(PATH)))
+else
 ifeq ($(findstring ;,$(PATH)),)
 inUnix=1
 SEARCHPATH:=$(filter-out .,$(subst :, ,$(PATH)))
 else
 SEARCHPATH:=$(subst ;, ,$(PATH))
 endif
+endif
 SEARCHPATH+=$(patsubst %/,%,$(subst \,/,$(dir $(MAKE))))
 PWD:=$(strip $(wildcard $(addsuffix /pwd.exe,$(SEARCHPATH))))
 ifeq ($(PWD),)
@@ -37,22 +46,13 @@ ifneq ($(findstring cygdrive,$(PATH)),)
 inCygWin=1
 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
-BATCHEXT=.sh
+SRCBATCHEXT=.sh
 else
 ifdef inOS2
-BATCHEXT=.cmd
+SRCBATCHEXT=.cmd
 else
-BATCHEXT=.bat
+SRCBATCHEXT=.bat
 endif
 endif
 ifdef inUnix
@@ -155,6 +155,12 @@ ifeq ($(findstring $(OS_TARGET),$(MAKEFILETARGETS)),)
 $(error The Makefile doesn't support target $(OS_TARGET), please run fpcmake first)
 endif
 endif
+ifneq ($(findstring $(OS_TARGET),$(BSDs)),)
+BSDhier=1
+endif
+ifeq ($(OS_TARGET),linux)
+linuxHier=1
+endif
 export OS_TARGET OS_SOURCE CPU_TARGET CPU_SOURCE FULL_TARGET FULL_SOURCE CROSSCOMPILE
 ifdef FPCDIR
 override FPCDIR:=$(subst \,/,$(FPCDIR))
@@ -218,42 +224,12 @@ 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
-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
 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
 ifndef INSTALL_PREFIX
@@ -262,7 +238,7 @@ INSTALL_PREFIX=$(PREFIX)
 endif
 endif
 ifndef INSTALL_PREFIX
-ifdef UNIXINSTALLDIR
+ifdef UNIXHier
 INSTALL_PREFIX=/usr/local
 else
 ifdef INSTALL_FPCPACKAGE
@@ -281,7 +257,7 @@ DIST_DESTDIR:=$(BASEDIR)
 endif
 export DIST_DESTDIR
 ifndef INSTALL_BASEDIR
-ifdef UNIXINSTALLDIR
+ifdef UNIXHier
 ifdef INSTALL_FPCPACKAGE
 INSTALL_BASEDIR:=$(INSTALL_PREFIX)/lib/fpc/$(FPC_VERSION)
 else
@@ -292,7 +268,7 @@ INSTALL_BASEDIR:=$(INSTALL_PREFIX)
 endif
 endif
 ifndef INSTALL_BINDIR
-ifdef UNIXINSTALLDIR
+ifdef UNIXHier
 ifdef CROSSCOMPILE
 INSTALL_BINDIR:=$(INSTALL_BASEDIR)/cross/$(FULL_TARGET)/bin
 else
@@ -322,19 +298,23 @@ endif
 endif
 endif
 ifndef INSTALL_LIBDIR
-ifdef UNIXINSTALLDIR
+ifdef UNIXHier
 INSTALL_LIBDIR:=$(INSTALL_PREFIX)/lib
 else
 INSTALL_LIBDIR:=$(INSTALL_UNITDIR)
 endif
 endif
 ifndef INSTALL_SOURCEDIR
-ifdef UNIXINSTALLDIR
+ifdef UNIXHier
 ifdef BSDhier
 SRCPREFIXDIR=share/src
 else
+ifdef linuxHier
+SRCPREFIXDIR=share/src
+else
 SRCPREFIXDIR=src
 endif
+endif
 ifdef INSTALL_FPCPACKAGE
 ifdef INSTALL_FPCSUBDIR
 INSTALL_SOURCEDIR:=$(INSTALL_PREFIX)/$(SRCPREFIXDIR)/fpc-$(FPC_VERSION)/$(INSTALL_FPCSUBDIR)/$(PACKAGE_NAME)
@@ -357,12 +337,16 @@ endif
 endif
 endif
 ifndef INSTALL_DOCDIR
-ifdef UNIXINSTALLDIR
+ifdef UNIXHier
 ifdef BSDhier
 DOCPREFIXDIR=share/doc
 else
+ifdef linuxHier
+DOCPREFIXDIR=share/doc
+else
 DOCPREFIXDIR=doc
 endif
+endif
 ifdef INSTALL_FPCPACKAGE
 INSTALL_DOCDIR:=$(INSTALL_PREFIX)/$(DOCPREFIXDIR)/fpc-$(FPC_VERSION)/$(PACKAGE_NAME)
 else
@@ -377,20 +361,28 @@ endif
 endif
 endif
 ifndef INSTALL_EXAMPLEDIR
-ifdef UNIXINSTALLDIR
+ifdef UNIXHier
 ifdef INSTALL_FPCPACKAGE
 ifdef BSDhier
 INSTALL_EXAMPLEDIR:=$(INSTALL_PREFIX)/share/examples/fpc-$(FPC_VERSION)/$(PACKAGE_NAME)
 else
+ifdef linuxHier
+INSTALL_EXAMPLEDIR:=$(INSTALL_DOCDIR)/examples/fpc-$(FPC_VERSION)/$(PACKAGE_NAME)
+else
 INSTALL_EXAMPLEDIR:=$(INSTALL_PREFIX)/doc/fpc-$(FPC_VERSION)/examples/$(PACKAGE_NAME)
 endif
+endif
 else
 ifdef BSDhier
 INSTALL_EXAMPLEDIR:=$(INSTALL_PREFIX)/share/examples/$(PACKAGE_NAME)-$(PACKAGE_VERSION)
 else
+ifdef linuxHier
+INSTALL_EXAMPLEDIR:=$(INSTALL_DOCDIR)/examples/$(PACKAGE_NAME)-$(PACKAGE_VERSION)
+else
 INSTALL_EXAMPLEDIR:=$(INSTALL_PREFIX)/doc/$(PACKAGE_NAME)-$(PACKAGE_VERSION)
 endif
 endif
+endif
 else
 ifdef INSTALL_FPCPACKAGE
 INSTALL_EXAMPLEDIR:=$(INSTALL_BASEDIR)/examples/$(PACKAGE_NAME)
@@ -412,6 +404,7 @@ endif
 else
 CROSSBINDIR=
 endif
+BATCHEXT=.bat
 LOADEREXT=.as
 EXEEXT=.exe
 PPLEXT=.ppl
@@ -444,24 +437,28 @@ ASMEXT=.asm
 SHAREDLIBEXT=.dll
 endif
 ifeq ($(OS_TARGET),linux)
+BATCHEXT=.sh
 EXEEXT=
 HASSHAREDLIB=1
 FPCMADE=fpcmade.lnx
 ZIPSUFFIX=linux
 endif
 ifeq ($(OS_TARGET),freebsd)
+BATCHEXT=.sh
 EXEEXT=
 HASSHAREDLIB=1
 FPCMADE=fpcmade.freebsd
 ZIPSUFFIX=freebsd
 endif
 ifeq ($(OS_TARGET),netbsd)
+BATCHEXT=.sh
 EXEEXT=
 HASSHAREDLIB=1
 FPCMADE=fpcmade.netbsd
 ZIPSUFFIX=netbsd
 endif
 ifeq ($(OS_TARGET),openbsd)
+BATCHEXT=.sh
 EXEEXT=
 HASSHAREDLIB=1
 FPCMADE=fpcmade.openbsd
@@ -473,6 +470,7 @@ FPCMADE=fpcmade.w32
 ZIPSUFFIX=w32
 endif
 ifeq ($(OS_TARGET),os2)
+BATCHEXT=.cmd
 AOUTEXT=.out
 STATICLIBPREFIX=
 SHAREDLIBEXT=.dll
@@ -481,6 +479,7 @@ ZIPSUFFIX=os2
 ECHO=echo
 endif
 ifeq ($(OS_TARGET),emx)
+BATCHEXT=.cmd
 AOUTEXT=.out
 STATICLIBPREFIX=
 SHAREDLIBEXT=.dll
@@ -498,16 +497,19 @@ EXEEXT=.ttp
 FPCMADE=fpcmade.ata
 endif
 ifeq ($(OS_TARGET),beos)
+BATCHEXT=.sh
 EXEEXT=
 FPCMADE=fpcmade.be
 ZIPSUFFIX=be
 endif
 ifeq ($(OS_TARGET),sunos)
+BATCHEXT=.sh
 EXEEXT=
 FPCMADE=fpcmade.sun
 ZIPSUFFIX=sun
 endif
 ifeq ($(OS_TARGET),qnx)
+BATCHEXT=.sh
 EXEEXT=
 FPCMADE=fpcmade.qnx
 ZIPSUFFIX=qnx
@@ -519,10 +521,14 @@ FPCMADE=fpcmade.nw
 ZIPSUFFIX=nw
 endif
 ifeq ($(OS_TARGET),macos)
+BATCHEXT=
 EXEEXT=
-FPCMADE=fpcmade.mcc
+FPCMADE=fpcmade.macos
+ZIPSUFFIX=macos
+DEBUGSYMEXT=.xcoff
 endif
 ifeq ($(OS_TARGET),darwin)
+BATCHEXT=.sh
 EXEEXT=
 HASSHAREDLIB=1
 FPCMADE=fpcmade.darwin
@@ -551,24 +557,28 @@ FPCMADE=fpcmade.dos
 ZIPSUFFIX=watcom
 endif
 ifeq ($(OS_TARGET),linux)
+BATCHEXT=.sh
 EXEEXT=
 HASSHAREDLIB=1
 FPCMADE=fpcmade.lnx
 ZIPSUFFIX=linux
 endif
 ifeq ($(OS_TARGET),freebsd)
+BATCHEXT=.sh
 EXEEXT=
 HASSHAREDLIB=1
 FPCMADE=fpcmade.freebsd
 ZIPSUFFIX=freebsd
 endif
 ifeq ($(OS_TARGET),netbsd)
+BATCHEXT=.sh
 EXEEXT=
 HASSHAREDLIB=1
 FPCMADE=fpcmade.netbsd
 ZIPSUFFIX=netbsd
 endif
 ifeq ($(OS_TARGET),openbsd)
+BATCHEXT=.sh
 EXEEXT=
 HASSHAREDLIB=1
 FPCMADE=fpcmade.openbsd
@@ -585,6 +595,7 @@ FPCMADE=fpcmade.w32
 ZIPSUFFIX=w32
 endif
 ifeq ($(OS_TARGET),os2)
+BATCHEXT=.cmd
 PPUEXT=.ppo
 ASMEXT=.so2
 OEXT=.oo2
@@ -617,6 +628,7 @@ EXEEXT=.ttp
 FPCMADE=fpcmade.ata
 endif
 ifeq ($(OS_TARGET),beos)
+BATCHEXT=.sh
 PPUEXT=.ppu
 ASMEXT=.s
 OEXT=.o
@@ -627,6 +639,7 @@ FPCMADE=fpcmade.be
 ZIPSUFFIX=be
 endif
 ifeq ($(OS_TARGET),sunos)
+BATCHEXT=.sh
 PPUEXT=.ppu
 ASMEXT=.s
 OEXT=.o
@@ -637,6 +650,7 @@ FPCMADE=fpcmade.sun
 ZIPSUFFIX=sun
 endif
 ifeq ($(OS_TARGET),qnx)
+BATCHEXT=.sh
 PPUEXT=.ppu
 ASMEXT=.s
 OEXT=.o
@@ -659,13 +673,15 @@ ZIPSUFFIX=nw
 EXEEXT=.nlm
 endif
 ifeq ($(OS_TARGET),macos)
+BATCHEXT=
 PPUEXT=.ppu
 ASMEXT=.s
 OEXT=.o
 SMARTEXT=.sl
 STATICLIBEXT=.a
 EXEEXT=
-FPCMADE=fpcmade.mcc
+DEBUGSYMEXT=.xcoff
+FPCMADE=fpcmade.macos
 endif
 endif
 ifndef ECHO
@@ -673,7 +689,7 @@ ECHO:=$(strip $(wildcard $(addsuffix /gecho$(SRCEXEEXT),$(SEARCHPATH))))
 ifeq ($(ECHO),)
 ECHO:=$(strip $(wildcard $(addsuffix /echo$(SRCEXEEXT),$(SEARCHPATH))))
 ifeq ($(ECHO),)
-ECHO=
+ECHO= __missing_command__
 else
 ECHO:=$(firstword $(ECHO))
 endif
@@ -687,7 +703,7 @@ DATE:=$(strip $(wildcard $(addsuffix /gdate$(SRCEXEEXT),$(SEARCHPATH))))
 ifeq ($(DATE),)
 DATE:=$(strip $(wildcard $(addsuffix /date$(SRCEXEEXT),$(SEARCHPATH))))
 ifeq ($(DATE),)
-DATE=
+DATE= __missing_command__
 else
 DATE:=$(firstword $(DATE))
 endif
@@ -701,7 +717,7 @@ GINSTALL:=$(strip $(wildcard $(addsuffix /ginstall$(SRCEXEEXT),$(SEARCHPATH))))
 ifeq ($(GINSTALL),)
 GINSTALL:=$(strip $(wildcard $(addsuffix /install$(SRCEXEEXT),$(SEARCHPATH))))
 ifeq ($(GINSTALL),)
-GINSTALL=
+GINSTALL= __missing_command__
 else
 GINSTALL:=$(firstword $(GINSTALL))
 endif
@@ -713,7 +729,7 @@ export GINSTALL
 ifndef CPPROG
 CPPROG:=$(strip $(wildcard $(addsuffix /cp$(SRCEXEEXT),$(SEARCHPATH))))
 ifeq ($(CPPROG),)
-CPPROG=
+CPPROG= __missing_command__
 else
 CPPROG:=$(firstword $(CPPROG))
 endif
@@ -722,7 +738,7 @@ export CPPROG
 ifndef RMPROG
 RMPROG:=$(strip $(wildcard $(addsuffix /rm$(SRCEXEEXT),$(SEARCHPATH))))
 ifeq ($(RMPROG),)
-RMPROG=
+RMPROG= __missing_command__
 else
 RMPROG:=$(firstword $(RMPROG))
 endif
@@ -731,7 +747,7 @@ export RMPROG
 ifndef MVPROG
 MVPROG:=$(strip $(wildcard $(addsuffix /mv$(SRCEXEEXT),$(SEARCHPATH))))
 ifeq ($(MVPROG),)
-MVPROG=
+MVPROG= __missing_command__
 else
 MVPROG:=$(firstword $(MVPROG))
 endif
@@ -780,7 +796,7 @@ export ECHOREDIR COPY COPYTREE MOVE DEL DELTREE INSTALL INSTALLEXE MKDIR
 ifndef PPUMOVE
 PPUMOVE:=$(strip $(wildcard $(addsuffix /ppumove$(SRCEXEEXT),$(SEARCHPATH))))
 ifeq ($(PPUMOVE),)
-PPUMOVE=
+PPUMOVE= __missing_command__
 else
 PPUMOVE:=$(firstword $(PPUMOVE))
 endif
@@ -789,7 +805,7 @@ export PPUMOVE
 ifndef FPCMAKE
 FPCMAKE:=$(strip $(wildcard $(addsuffix /fpcmake$(SRCEXEEXT),$(SEARCHPATH))))
 ifeq ($(FPCMAKE),)
-FPCMAKE=
+FPCMAKE= __missing_command__
 else
 FPCMAKE:=$(firstword $(FPCMAKE))
 endif
@@ -798,7 +814,7 @@ export FPCMAKE
 ifndef ZIPPROG
 ZIPPROG:=$(strip $(wildcard $(addsuffix /zip$(SRCEXEEXT),$(SEARCHPATH))))
 ifeq ($(ZIPPROG),)
-ZIPPROG=
+ZIPPROG= __missing_command__
 else
 ZIPPROG:=$(firstword $(ZIPPROG))
 endif
@@ -807,7 +823,7 @@ export ZIPPROG
 ifndef TARPROG
 TARPROG:=$(strip $(wildcard $(addsuffix /tar$(SRCEXEEXT),$(SEARCHPATH))))
 ifeq ($(TARPROG),)
-TARPROG=
+TARPROG= __missing_command__
 else
 TARPROG:=$(firstword $(TARPROG))
 endif
@@ -819,9 +835,11 @@ ARNAME=$(BINUTILSPREFIX)ar
 RCNAME=$(BINUTILSPREFIX)rc
 ifneq ($(findstring 1.0.,$(FPC_VERSION)),)
 ifeq ($(OS_TARGET),win32)
-ASNAME=as
-LDNAME=ld
-ARNAME=ar
+ifeq ($(CROSSBINDIR),)
+ASNAME=asw
+LDNAME=ldw
+ARNAME=arw
+endif
 endif
 endif
 ifndef ASPROG
@@ -856,7 +874,7 @@ AS=$(ASPROG)
 LD=$(LDPROG)
 RC=$(RCPROG)
 AR=$(ARPROG)
-PPAS=ppas$(BATCHEXT)
+PPAS=ppas$(SRCBATCHEXT)
 ifdef inUnix
 LDCONFIG=ldconfig
 else
@@ -1115,8 +1133,12 @@ ifdef RELEASE
 ifeq ($(CPU_TARGET),i386)
 FPCCPUOPT:=-OG2p3
 else
+ifeq ($(CPU_TARGET),powerpc)
+FPCCPUOPT:=-O1
+else
 FPCCPUOPT:=
 endif
+endif
 override FPCOPT+=-Xs $(FPCCPUOPT) -n
 override FPCOPTDEF+=RELEASE
 endif
@@ -1342,7 +1364,7 @@ USEZIPWRAPPER=1
 endif
 ifdef USEZIPWRAPPER
 ZIPPATHSEP=$(PATHSEP)
-ZIPWRAPPER=$(subst /,$(PATHSEP),$(DIST_DESTDIR)/fpczip$(BATCHEXT))
+ZIPWRAPPER=$(subst /,$(PATHSEP),$(DIST_DESTDIR)/fpczip$(SRCBATCHEXT))
 else
 ZIPPATHSEP=/
 endif
@@ -1396,6 +1418,9 @@ override CLEANPPUFILES+=$(addsuffix $(PPUEXT),$(CLEAN_UNITS))
 endif
 ifdef 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 CLEANPPULINKFILES:=$(wildcard $(addprefix $(UNITTARGETDIRPREFIX),$(CLEANPPULINKFILES)))
 endif
@@ -1419,6 +1444,7 @@ ifdef LIB_NAME
 	-$(DEL) $(LIB_NAME) $(LIB_FULLNAME)
 endif
 	-$(DEL) $(FPCMADE) Package.fpc $(PPAS) script.res link.res $(FPCEXTFILE) $(REDIRFILE)
+	-$(DEL) *$(ASMEXT) *_ppas$(BATCHEXT)
 fpc_distclean: clean
 ifdef COMPILER_UNITTARGETDIR
 TARGETDIRCLEAN=fpc_clean
@@ -1430,9 +1456,13 @@ endif
 	-$(DEL) *$(OEXT) *$(PPUEXT) *$(RSTEXT) *$(ASMEXT) *$(STATICLIBEXT) *$(SHAREDLIBEXT) *$(PPLEXT)
 	-$(DELTREE) *$(SMARTEXT)
 	-$(DEL) $(FPCMADE) Package.fpc $(PPAS) script.res link.res $(FPCEXTFILE) $(REDIRFILE)
+	-$(DEL) *_ppas$(BATCHEXT)
 ifdef AOUTEXT
 	-$(DEL) *$(AOUTEXT)
 endif
+ifdef DEBUGSYMEXT
+	-$(DEL) *$(DEBUGSYMEXT)
+endif
 .PHONY: fpc_baseinfo
 override INFORULES+=fpc_baseinfo
 fpc_baseinfo:

+ 101 - 71
packages/base/regexpr/Makefile

@@ -1,15 +1,24 @@
 #
-# Don't edit, this file is generated by FPCMake Version 1.1 [2004/02/22]
+# Don't edit, this file is generated by FPCMake Version 1.1 [2004/04/21]
 #
 default: all
 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:=$(subst \,/,$(PATH))
+ifneq ($(findstring darwin,$(OSTYPE)),)
+inUnix=1 #darwin
+SEARCHPATH:=$(filter-out .,$(subst :, ,$(PATH)))
+else
 ifeq ($(findstring ;,$(PATH)),)
 inUnix=1
 SEARCHPATH:=$(filter-out .,$(subst :, ,$(PATH)))
 else
 SEARCHPATH:=$(subst ;, ,$(PATH))
 endif
+endif
 SEARCHPATH+=$(patsubst %/,%,$(subst \,/,$(dir $(MAKE))))
 PWD:=$(strip $(wildcard $(addsuffix /pwd.exe,$(SEARCHPATH))))
 ifeq ($(PWD),)
@@ -37,22 +46,13 @@ ifneq ($(findstring cygdrive,$(PATH)),)
 inCygWin=1
 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
-BATCHEXT=.sh
+SRCBATCHEXT=.sh
 else
 ifdef inOS2
-BATCHEXT=.cmd
+SRCBATCHEXT=.cmd
 else
-BATCHEXT=.bat
+SRCBATCHEXT=.bat
 endif
 endif
 ifdef inUnix
@@ -155,6 +155,12 @@ ifeq ($(findstring $(OS_TARGET),$(MAKEFILETARGETS)),)
 $(error The Makefile doesn't support target $(OS_TARGET), please run fpcmake first)
 endif
 endif
+ifneq ($(findstring $(OS_TARGET),$(BSDs)),)
+BSDhier=1
+endif
+ifeq ($(OS_TARGET),linux)
+linuxHier=1
+endif
 export OS_TARGET OS_SOURCE CPU_TARGET CPU_SOURCE FULL_TARGET FULL_SOURCE CROSSCOMPILE
 ifdef FPCDIR
 override FPCDIR:=$(subst \,/,$(FPCDIR))
@@ -220,42 +226,12 @@ 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
-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
 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
 ifndef INSTALL_PREFIX
@@ -264,7 +240,7 @@ INSTALL_PREFIX=$(PREFIX)
 endif
 endif
 ifndef INSTALL_PREFIX
-ifdef UNIXINSTALLDIR
+ifdef UNIXHier
 INSTALL_PREFIX=/usr/local
 else
 ifdef INSTALL_FPCPACKAGE
@@ -283,7 +259,7 @@ DIST_DESTDIR:=$(BASEDIR)
 endif
 export DIST_DESTDIR
 ifndef INSTALL_BASEDIR
-ifdef UNIXINSTALLDIR
+ifdef UNIXHier
 ifdef INSTALL_FPCPACKAGE
 INSTALL_BASEDIR:=$(INSTALL_PREFIX)/lib/fpc/$(FPC_VERSION)
 else
@@ -294,7 +270,7 @@ INSTALL_BASEDIR:=$(INSTALL_PREFIX)
 endif
 endif
 ifndef INSTALL_BINDIR
-ifdef UNIXINSTALLDIR
+ifdef UNIXHier
 ifdef CROSSCOMPILE
 INSTALL_BINDIR:=$(INSTALL_BASEDIR)/cross/$(FULL_TARGET)/bin
 else
@@ -324,19 +300,23 @@ endif
 endif
 endif
 ifndef INSTALL_LIBDIR
-ifdef UNIXINSTALLDIR
+ifdef UNIXHier
 INSTALL_LIBDIR:=$(INSTALL_PREFIX)/lib
 else
 INSTALL_LIBDIR:=$(INSTALL_UNITDIR)
 endif
 endif
 ifndef INSTALL_SOURCEDIR
-ifdef UNIXINSTALLDIR
+ifdef UNIXHier
 ifdef BSDhier
 SRCPREFIXDIR=share/src
 else
+ifdef linuxHier
+SRCPREFIXDIR=share/src
+else
 SRCPREFIXDIR=src
 endif
+endif
 ifdef INSTALL_FPCPACKAGE
 ifdef INSTALL_FPCSUBDIR
 INSTALL_SOURCEDIR:=$(INSTALL_PREFIX)/$(SRCPREFIXDIR)/fpc-$(FPC_VERSION)/$(INSTALL_FPCSUBDIR)/$(PACKAGE_NAME)
@@ -359,12 +339,16 @@ endif
 endif
 endif
 ifndef INSTALL_DOCDIR
-ifdef UNIXINSTALLDIR
+ifdef UNIXHier
 ifdef BSDhier
 DOCPREFIXDIR=share/doc
 else
+ifdef linuxHier
+DOCPREFIXDIR=share/doc
+else
 DOCPREFIXDIR=doc
 endif
+endif
 ifdef INSTALL_FPCPACKAGE
 INSTALL_DOCDIR:=$(INSTALL_PREFIX)/$(DOCPREFIXDIR)/fpc-$(FPC_VERSION)/$(PACKAGE_NAME)
 else
@@ -379,20 +363,28 @@ endif
 endif
 endif
 ifndef INSTALL_EXAMPLEDIR
-ifdef UNIXINSTALLDIR
+ifdef UNIXHier
 ifdef INSTALL_FPCPACKAGE
 ifdef BSDhier
 INSTALL_EXAMPLEDIR:=$(INSTALL_PREFIX)/share/examples/fpc-$(FPC_VERSION)/$(PACKAGE_NAME)
 else
+ifdef linuxHier
+INSTALL_EXAMPLEDIR:=$(INSTALL_DOCDIR)/examples/fpc-$(FPC_VERSION)/$(PACKAGE_NAME)
+else
 INSTALL_EXAMPLEDIR:=$(INSTALL_PREFIX)/doc/fpc-$(FPC_VERSION)/examples/$(PACKAGE_NAME)
 endif
+endif
 else
 ifdef BSDhier
 INSTALL_EXAMPLEDIR:=$(INSTALL_PREFIX)/share/examples/$(PACKAGE_NAME)-$(PACKAGE_VERSION)
 else
+ifdef linuxHier
+INSTALL_EXAMPLEDIR:=$(INSTALL_DOCDIR)/examples/$(PACKAGE_NAME)-$(PACKAGE_VERSION)
+else
 INSTALL_EXAMPLEDIR:=$(INSTALL_PREFIX)/doc/$(PACKAGE_NAME)-$(PACKAGE_VERSION)
 endif
 endif
+endif
 else
 ifdef INSTALL_FPCPACKAGE
 INSTALL_EXAMPLEDIR:=$(INSTALL_BASEDIR)/examples/$(PACKAGE_NAME)
@@ -414,6 +406,7 @@ endif
 else
 CROSSBINDIR=
 endif
+BATCHEXT=.bat
 LOADEREXT=.as
 EXEEXT=.exe
 PPLEXT=.ppl
@@ -446,24 +439,28 @@ ASMEXT=.asm
 SHAREDLIBEXT=.dll
 endif
 ifeq ($(OS_TARGET),linux)
+BATCHEXT=.sh
 EXEEXT=
 HASSHAREDLIB=1
 FPCMADE=fpcmade.lnx
 ZIPSUFFIX=linux
 endif
 ifeq ($(OS_TARGET),freebsd)
+BATCHEXT=.sh
 EXEEXT=
 HASSHAREDLIB=1
 FPCMADE=fpcmade.freebsd
 ZIPSUFFIX=freebsd
 endif
 ifeq ($(OS_TARGET),netbsd)
+BATCHEXT=.sh
 EXEEXT=
 HASSHAREDLIB=1
 FPCMADE=fpcmade.netbsd
 ZIPSUFFIX=netbsd
 endif
 ifeq ($(OS_TARGET),openbsd)
+BATCHEXT=.sh
 EXEEXT=
 HASSHAREDLIB=1
 FPCMADE=fpcmade.openbsd
@@ -475,6 +472,7 @@ FPCMADE=fpcmade.w32
 ZIPSUFFIX=w32
 endif
 ifeq ($(OS_TARGET),os2)
+BATCHEXT=.cmd
 AOUTEXT=.out
 STATICLIBPREFIX=
 SHAREDLIBEXT=.dll
@@ -483,6 +481,7 @@ ZIPSUFFIX=os2
 ECHO=echo
 endif
 ifeq ($(OS_TARGET),emx)
+BATCHEXT=.cmd
 AOUTEXT=.out
 STATICLIBPREFIX=
 SHAREDLIBEXT=.dll
@@ -500,16 +499,19 @@ EXEEXT=.ttp
 FPCMADE=fpcmade.ata
 endif
 ifeq ($(OS_TARGET),beos)
+BATCHEXT=.sh
 EXEEXT=
 FPCMADE=fpcmade.be
 ZIPSUFFIX=be
 endif
 ifeq ($(OS_TARGET),sunos)
+BATCHEXT=.sh
 EXEEXT=
 FPCMADE=fpcmade.sun
 ZIPSUFFIX=sun
 endif
 ifeq ($(OS_TARGET),qnx)
+BATCHEXT=.sh
 EXEEXT=
 FPCMADE=fpcmade.qnx
 ZIPSUFFIX=qnx
@@ -521,10 +523,14 @@ FPCMADE=fpcmade.nw
 ZIPSUFFIX=nw
 endif
 ifeq ($(OS_TARGET),macos)
+BATCHEXT=
 EXEEXT=
-FPCMADE=fpcmade.mcc
+FPCMADE=fpcmade.macos
+ZIPSUFFIX=macos
+DEBUGSYMEXT=.xcoff
 endif
 ifeq ($(OS_TARGET),darwin)
+BATCHEXT=.sh
 EXEEXT=
 HASSHAREDLIB=1
 FPCMADE=fpcmade.darwin
@@ -553,24 +559,28 @@ FPCMADE=fpcmade.dos
 ZIPSUFFIX=watcom
 endif
 ifeq ($(OS_TARGET),linux)
+BATCHEXT=.sh
 EXEEXT=
 HASSHAREDLIB=1
 FPCMADE=fpcmade.lnx
 ZIPSUFFIX=linux
 endif
 ifeq ($(OS_TARGET),freebsd)
+BATCHEXT=.sh
 EXEEXT=
 HASSHAREDLIB=1
 FPCMADE=fpcmade.freebsd
 ZIPSUFFIX=freebsd
 endif
 ifeq ($(OS_TARGET),netbsd)
+BATCHEXT=.sh
 EXEEXT=
 HASSHAREDLIB=1
 FPCMADE=fpcmade.netbsd
 ZIPSUFFIX=netbsd
 endif
 ifeq ($(OS_TARGET),openbsd)
+BATCHEXT=.sh
 EXEEXT=
 HASSHAREDLIB=1
 FPCMADE=fpcmade.openbsd
@@ -587,6 +597,7 @@ FPCMADE=fpcmade.w32
 ZIPSUFFIX=w32
 endif
 ifeq ($(OS_TARGET),os2)
+BATCHEXT=.cmd
 PPUEXT=.ppo
 ASMEXT=.so2
 OEXT=.oo2
@@ -619,6 +630,7 @@ EXEEXT=.ttp
 FPCMADE=fpcmade.ata
 endif
 ifeq ($(OS_TARGET),beos)
+BATCHEXT=.sh
 PPUEXT=.ppu
 ASMEXT=.s
 OEXT=.o
@@ -629,6 +641,7 @@ FPCMADE=fpcmade.be
 ZIPSUFFIX=be
 endif
 ifeq ($(OS_TARGET),sunos)
+BATCHEXT=.sh
 PPUEXT=.ppu
 ASMEXT=.s
 OEXT=.o
@@ -639,6 +652,7 @@ FPCMADE=fpcmade.sun
 ZIPSUFFIX=sun
 endif
 ifeq ($(OS_TARGET),qnx)
+BATCHEXT=.sh
 PPUEXT=.ppu
 ASMEXT=.s
 OEXT=.o
@@ -661,13 +675,15 @@ ZIPSUFFIX=nw
 EXEEXT=.nlm
 endif
 ifeq ($(OS_TARGET),macos)
+BATCHEXT=
 PPUEXT=.ppu
 ASMEXT=.s
 OEXT=.o
 SMARTEXT=.sl
 STATICLIBEXT=.a
 EXEEXT=
-FPCMADE=fpcmade.mcc
+DEBUGSYMEXT=.xcoff
+FPCMADE=fpcmade.macos
 endif
 endif
 ifndef ECHO
@@ -675,7 +691,7 @@ ECHO:=$(strip $(wildcard $(addsuffix /gecho$(SRCEXEEXT),$(SEARCHPATH))))
 ifeq ($(ECHO),)
 ECHO:=$(strip $(wildcard $(addsuffix /echo$(SRCEXEEXT),$(SEARCHPATH))))
 ifeq ($(ECHO),)
-ECHO=
+ECHO= __missing_command__
 else
 ECHO:=$(firstword $(ECHO))
 endif
@@ -689,7 +705,7 @@ DATE:=$(strip $(wildcard $(addsuffix /gdate$(SRCEXEEXT),$(SEARCHPATH))))
 ifeq ($(DATE),)
 DATE:=$(strip $(wildcard $(addsuffix /date$(SRCEXEEXT),$(SEARCHPATH))))
 ifeq ($(DATE),)
-DATE=
+DATE= __missing_command__
 else
 DATE:=$(firstword $(DATE))
 endif
@@ -703,7 +719,7 @@ GINSTALL:=$(strip $(wildcard $(addsuffix /ginstall$(SRCEXEEXT),$(SEARCHPATH))))
 ifeq ($(GINSTALL),)
 GINSTALL:=$(strip $(wildcard $(addsuffix /install$(SRCEXEEXT),$(SEARCHPATH))))
 ifeq ($(GINSTALL),)
-GINSTALL=
+GINSTALL= __missing_command__
 else
 GINSTALL:=$(firstword $(GINSTALL))
 endif
@@ -715,7 +731,7 @@ export GINSTALL
 ifndef CPPROG
 CPPROG:=$(strip $(wildcard $(addsuffix /cp$(SRCEXEEXT),$(SEARCHPATH))))
 ifeq ($(CPPROG),)
-CPPROG=
+CPPROG= __missing_command__
 else
 CPPROG:=$(firstword $(CPPROG))
 endif
@@ -724,7 +740,7 @@ export CPPROG
 ifndef RMPROG
 RMPROG:=$(strip $(wildcard $(addsuffix /rm$(SRCEXEEXT),$(SEARCHPATH))))
 ifeq ($(RMPROG),)
-RMPROG=
+RMPROG= __missing_command__
 else
 RMPROG:=$(firstword $(RMPROG))
 endif
@@ -733,7 +749,7 @@ export RMPROG
 ifndef MVPROG
 MVPROG:=$(strip $(wildcard $(addsuffix /mv$(SRCEXEEXT),$(SEARCHPATH))))
 ifeq ($(MVPROG),)
-MVPROG=
+MVPROG= __missing_command__
 else
 MVPROG:=$(firstword $(MVPROG))
 endif
@@ -782,7 +798,7 @@ export ECHOREDIR COPY COPYTREE MOVE DEL DELTREE INSTALL INSTALLEXE MKDIR
 ifndef PPUMOVE
 PPUMOVE:=$(strip $(wildcard $(addsuffix /ppumove$(SRCEXEEXT),$(SEARCHPATH))))
 ifeq ($(PPUMOVE),)
-PPUMOVE=
+PPUMOVE= __missing_command__
 else
 PPUMOVE:=$(firstword $(PPUMOVE))
 endif
@@ -791,7 +807,7 @@ export PPUMOVE
 ifndef FPCMAKE
 FPCMAKE:=$(strip $(wildcard $(addsuffix /fpcmake$(SRCEXEEXT),$(SEARCHPATH))))
 ifeq ($(FPCMAKE),)
-FPCMAKE=
+FPCMAKE= __missing_command__
 else
 FPCMAKE:=$(firstword $(FPCMAKE))
 endif
@@ -800,7 +816,7 @@ export FPCMAKE
 ifndef ZIPPROG
 ZIPPROG:=$(strip $(wildcard $(addsuffix /zip$(SRCEXEEXT),$(SEARCHPATH))))
 ifeq ($(ZIPPROG),)
-ZIPPROG=
+ZIPPROG= __missing_command__
 else
 ZIPPROG:=$(firstword $(ZIPPROG))
 endif
@@ -809,7 +825,7 @@ export ZIPPROG
 ifndef TARPROG
 TARPROG:=$(strip $(wildcard $(addsuffix /tar$(SRCEXEEXT),$(SEARCHPATH))))
 ifeq ($(TARPROG),)
-TARPROG=
+TARPROG= __missing_command__
 else
 TARPROG:=$(firstword $(TARPROG))
 endif
@@ -821,9 +837,11 @@ ARNAME=$(BINUTILSPREFIX)ar
 RCNAME=$(BINUTILSPREFIX)rc
 ifneq ($(findstring 1.0.,$(FPC_VERSION)),)
 ifeq ($(OS_TARGET),win32)
-ASNAME=as
-LDNAME=ld
-ARNAME=ar
+ifeq ($(CROSSBINDIR),)
+ASNAME=asw
+LDNAME=ldw
+ARNAME=arw
+endif
 endif
 endif
 ifndef ASPROG
@@ -858,7 +876,7 @@ AS=$(ASPROG)
 LD=$(LDPROG)
 RC=$(RCPROG)
 AR=$(ARPROG)
-PPAS=ppas$(BATCHEXT)
+PPAS=ppas$(SRCBATCHEXT)
 ifdef inUnix
 LDCONFIG=ldconfig
 else
@@ -1117,8 +1135,12 @@ ifdef RELEASE
 ifeq ($(CPU_TARGET),i386)
 FPCCPUOPT:=-OG2p3
 else
+ifeq ($(CPU_TARGET),powerpc)
+FPCCPUOPT:=-O1
+else
 FPCCPUOPT:=
 endif
+endif
 override FPCOPT+=-Xs $(FPCCPUOPT) -n
 override FPCOPTDEF+=RELEASE
 endif
@@ -1362,7 +1384,7 @@ USEZIPWRAPPER=1
 endif
 ifdef USEZIPWRAPPER
 ZIPPATHSEP=$(PATHSEP)
-ZIPWRAPPER=$(subst /,$(PATHSEP),$(DIST_DESTDIR)/fpczip$(BATCHEXT))
+ZIPWRAPPER=$(subst /,$(PATHSEP),$(DIST_DESTDIR)/fpczip$(SRCBATCHEXT))
 else
 ZIPPATHSEP=/
 endif
@@ -1416,6 +1438,9 @@ override CLEANPPUFILES+=$(addsuffix $(PPUEXT),$(CLEAN_UNITS))
 endif
 ifdef 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 CLEANPPULINKFILES:=$(wildcard $(addprefix $(UNITTARGETDIRPREFIX),$(CLEANPPULINKFILES)))
 endif
@@ -1439,6 +1464,7 @@ ifdef LIB_NAME
 	-$(DEL) $(LIB_NAME) $(LIB_FULLNAME)
 endif
 	-$(DEL) $(FPCMADE) Package.fpc $(PPAS) script.res link.res $(FPCEXTFILE) $(REDIRFILE)
+	-$(DEL) *$(ASMEXT) *_ppas$(BATCHEXT)
 fpc_distclean: clean
 ifdef COMPILER_UNITTARGETDIR
 TARGETDIRCLEAN=fpc_clean
@@ -1450,9 +1476,13 @@ endif
 	-$(DEL) *$(OEXT) *$(PPUEXT) *$(RSTEXT) *$(ASMEXT) *$(STATICLIBEXT) *$(SHAREDLIBEXT) *$(PPLEXT)
 	-$(DELTREE) *$(SMARTEXT)
 	-$(DEL) $(FPCMADE) Package.fpc $(PPAS) script.res link.res $(FPCEXTFILE) $(REDIRFILE)
+	-$(DEL) *_ppas$(BATCHEXT)
 ifdef AOUTEXT
 	-$(DEL) *$(AOUTEXT)
 endif
+ifdef DEBUGSYMEXT
+	-$(DEL) *$(DEBUGSYMEXT)
+endif
 .PHONY: fpc_baseinfo
 override INFORULES+=fpc_baseinfo
 fpc_baseinfo:

+ 101 - 71
packages/base/sqlite/Makefile

@@ -1,15 +1,24 @@
 #
-# Don't edit, this file is generated by FPCMake Version 1.1 [2004/02/22]
+# Don't edit, this file is generated by FPCMake Version 1.1 [2004/04/21]
 #
 default: all
 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:=$(subst \,/,$(PATH))
+ifneq ($(findstring darwin,$(OSTYPE)),)
+inUnix=1 #darwin
+SEARCHPATH:=$(filter-out .,$(subst :, ,$(PATH)))
+else
 ifeq ($(findstring ;,$(PATH)),)
 inUnix=1
 SEARCHPATH:=$(filter-out .,$(subst :, ,$(PATH)))
 else
 SEARCHPATH:=$(subst ;, ,$(PATH))
 endif
+endif
 SEARCHPATH+=$(patsubst %/,%,$(subst \,/,$(dir $(MAKE))))
 PWD:=$(strip $(wildcard $(addsuffix /pwd.exe,$(SEARCHPATH))))
 ifeq ($(PWD),)
@@ -37,22 +46,13 @@ ifneq ($(findstring cygdrive,$(PATH)),)
 inCygWin=1
 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
-BATCHEXT=.sh
+SRCBATCHEXT=.sh
 else
 ifdef inOS2
-BATCHEXT=.cmd
+SRCBATCHEXT=.cmd
 else
-BATCHEXT=.bat
+SRCBATCHEXT=.bat
 endif
 endif
 ifdef inUnix
@@ -155,6 +155,12 @@ ifeq ($(findstring $(OS_TARGET),$(MAKEFILETARGETS)),)
 $(error The Makefile doesn't support target $(OS_TARGET), please run fpcmake first)
 endif
 endif
+ifneq ($(findstring $(OS_TARGET),$(BSDs)),)
+BSDhier=1
+endif
+ifeq ($(OS_TARGET),linux)
+linuxHier=1
+endif
 export OS_TARGET OS_SOURCE CPU_TARGET CPU_SOURCE FULL_TARGET FULL_SOURCE CROSSCOMPILE
 ifdef FPCDIR
 override FPCDIR:=$(subst \,/,$(FPCDIR))
@@ -218,42 +224,12 @@ 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
-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
 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
 ifndef INSTALL_PREFIX
@@ -262,7 +238,7 @@ INSTALL_PREFIX=$(PREFIX)
 endif
 endif
 ifndef INSTALL_PREFIX
-ifdef UNIXINSTALLDIR
+ifdef UNIXHier
 INSTALL_PREFIX=/usr/local
 else
 ifdef INSTALL_FPCPACKAGE
@@ -281,7 +257,7 @@ DIST_DESTDIR:=$(BASEDIR)
 endif
 export DIST_DESTDIR
 ifndef INSTALL_BASEDIR
-ifdef UNIXINSTALLDIR
+ifdef UNIXHier
 ifdef INSTALL_FPCPACKAGE
 INSTALL_BASEDIR:=$(INSTALL_PREFIX)/lib/fpc/$(FPC_VERSION)
 else
@@ -292,7 +268,7 @@ INSTALL_BASEDIR:=$(INSTALL_PREFIX)
 endif
 endif
 ifndef INSTALL_BINDIR
-ifdef UNIXINSTALLDIR
+ifdef UNIXHier
 ifdef CROSSCOMPILE
 INSTALL_BINDIR:=$(INSTALL_BASEDIR)/cross/$(FULL_TARGET)/bin
 else
@@ -322,19 +298,23 @@ endif
 endif
 endif
 ifndef INSTALL_LIBDIR
-ifdef UNIXINSTALLDIR
+ifdef UNIXHier
 INSTALL_LIBDIR:=$(INSTALL_PREFIX)/lib
 else
 INSTALL_LIBDIR:=$(INSTALL_UNITDIR)
 endif
 endif
 ifndef INSTALL_SOURCEDIR
-ifdef UNIXINSTALLDIR
+ifdef UNIXHier
 ifdef BSDhier
 SRCPREFIXDIR=share/src
 else
+ifdef linuxHier
+SRCPREFIXDIR=share/src
+else
 SRCPREFIXDIR=src
 endif
+endif
 ifdef INSTALL_FPCPACKAGE
 ifdef INSTALL_FPCSUBDIR
 INSTALL_SOURCEDIR:=$(INSTALL_PREFIX)/$(SRCPREFIXDIR)/fpc-$(FPC_VERSION)/$(INSTALL_FPCSUBDIR)/$(PACKAGE_NAME)
@@ -357,12 +337,16 @@ endif
 endif
 endif
 ifndef INSTALL_DOCDIR
-ifdef UNIXINSTALLDIR
+ifdef UNIXHier
 ifdef BSDhier
 DOCPREFIXDIR=share/doc
 else
+ifdef linuxHier
+DOCPREFIXDIR=share/doc
+else
 DOCPREFIXDIR=doc
 endif
+endif
 ifdef INSTALL_FPCPACKAGE
 INSTALL_DOCDIR:=$(INSTALL_PREFIX)/$(DOCPREFIXDIR)/fpc-$(FPC_VERSION)/$(PACKAGE_NAME)
 else
@@ -377,20 +361,28 @@ endif
 endif
 endif
 ifndef INSTALL_EXAMPLEDIR
-ifdef UNIXINSTALLDIR
+ifdef UNIXHier
 ifdef INSTALL_FPCPACKAGE
 ifdef BSDhier
 INSTALL_EXAMPLEDIR:=$(INSTALL_PREFIX)/share/examples/fpc-$(FPC_VERSION)/$(PACKAGE_NAME)
 else
+ifdef linuxHier
+INSTALL_EXAMPLEDIR:=$(INSTALL_DOCDIR)/examples/fpc-$(FPC_VERSION)/$(PACKAGE_NAME)
+else
 INSTALL_EXAMPLEDIR:=$(INSTALL_PREFIX)/doc/fpc-$(FPC_VERSION)/examples/$(PACKAGE_NAME)
 endif
+endif
 else
 ifdef BSDhier
 INSTALL_EXAMPLEDIR:=$(INSTALL_PREFIX)/share/examples/$(PACKAGE_NAME)-$(PACKAGE_VERSION)
 else
+ifdef linuxHier
+INSTALL_EXAMPLEDIR:=$(INSTALL_DOCDIR)/examples/$(PACKAGE_NAME)-$(PACKAGE_VERSION)
+else
 INSTALL_EXAMPLEDIR:=$(INSTALL_PREFIX)/doc/$(PACKAGE_NAME)-$(PACKAGE_VERSION)
 endif
 endif
+endif
 else
 ifdef INSTALL_FPCPACKAGE
 INSTALL_EXAMPLEDIR:=$(INSTALL_BASEDIR)/examples/$(PACKAGE_NAME)
@@ -412,6 +404,7 @@ endif
 else
 CROSSBINDIR=
 endif
+BATCHEXT=.bat
 LOADEREXT=.as
 EXEEXT=.exe
 PPLEXT=.ppl
@@ -444,24 +437,28 @@ ASMEXT=.asm
 SHAREDLIBEXT=.dll
 endif
 ifeq ($(OS_TARGET),linux)
+BATCHEXT=.sh
 EXEEXT=
 HASSHAREDLIB=1
 FPCMADE=fpcmade.lnx
 ZIPSUFFIX=linux
 endif
 ifeq ($(OS_TARGET),freebsd)
+BATCHEXT=.sh
 EXEEXT=
 HASSHAREDLIB=1
 FPCMADE=fpcmade.freebsd
 ZIPSUFFIX=freebsd
 endif
 ifeq ($(OS_TARGET),netbsd)
+BATCHEXT=.sh
 EXEEXT=
 HASSHAREDLIB=1
 FPCMADE=fpcmade.netbsd
 ZIPSUFFIX=netbsd
 endif
 ifeq ($(OS_TARGET),openbsd)
+BATCHEXT=.sh
 EXEEXT=
 HASSHAREDLIB=1
 FPCMADE=fpcmade.openbsd
@@ -473,6 +470,7 @@ FPCMADE=fpcmade.w32
 ZIPSUFFIX=w32
 endif
 ifeq ($(OS_TARGET),os2)
+BATCHEXT=.cmd
 AOUTEXT=.out
 STATICLIBPREFIX=
 SHAREDLIBEXT=.dll
@@ -481,6 +479,7 @@ ZIPSUFFIX=os2
 ECHO=echo
 endif
 ifeq ($(OS_TARGET),emx)
+BATCHEXT=.cmd
 AOUTEXT=.out
 STATICLIBPREFIX=
 SHAREDLIBEXT=.dll
@@ -498,16 +497,19 @@ EXEEXT=.ttp
 FPCMADE=fpcmade.ata
 endif
 ifeq ($(OS_TARGET),beos)
+BATCHEXT=.sh
 EXEEXT=
 FPCMADE=fpcmade.be
 ZIPSUFFIX=be
 endif
 ifeq ($(OS_TARGET),sunos)
+BATCHEXT=.sh
 EXEEXT=
 FPCMADE=fpcmade.sun
 ZIPSUFFIX=sun
 endif
 ifeq ($(OS_TARGET),qnx)
+BATCHEXT=.sh
 EXEEXT=
 FPCMADE=fpcmade.qnx
 ZIPSUFFIX=qnx
@@ -519,10 +521,14 @@ FPCMADE=fpcmade.nw
 ZIPSUFFIX=nw
 endif
 ifeq ($(OS_TARGET),macos)
+BATCHEXT=
 EXEEXT=
-FPCMADE=fpcmade.mcc
+FPCMADE=fpcmade.macos
+ZIPSUFFIX=macos
+DEBUGSYMEXT=.xcoff
 endif
 ifeq ($(OS_TARGET),darwin)
+BATCHEXT=.sh
 EXEEXT=
 HASSHAREDLIB=1
 FPCMADE=fpcmade.darwin
@@ -551,24 +557,28 @@ FPCMADE=fpcmade.dos
 ZIPSUFFIX=watcom
 endif
 ifeq ($(OS_TARGET),linux)
+BATCHEXT=.sh
 EXEEXT=
 HASSHAREDLIB=1
 FPCMADE=fpcmade.lnx
 ZIPSUFFIX=linux
 endif
 ifeq ($(OS_TARGET),freebsd)
+BATCHEXT=.sh
 EXEEXT=
 HASSHAREDLIB=1
 FPCMADE=fpcmade.freebsd
 ZIPSUFFIX=freebsd
 endif
 ifeq ($(OS_TARGET),netbsd)
+BATCHEXT=.sh
 EXEEXT=
 HASSHAREDLIB=1
 FPCMADE=fpcmade.netbsd
 ZIPSUFFIX=netbsd
 endif
 ifeq ($(OS_TARGET),openbsd)
+BATCHEXT=.sh
 EXEEXT=
 HASSHAREDLIB=1
 FPCMADE=fpcmade.openbsd
@@ -585,6 +595,7 @@ FPCMADE=fpcmade.w32
 ZIPSUFFIX=w32
 endif
 ifeq ($(OS_TARGET),os2)
+BATCHEXT=.cmd
 PPUEXT=.ppo
 ASMEXT=.so2
 OEXT=.oo2
@@ -617,6 +628,7 @@ EXEEXT=.ttp
 FPCMADE=fpcmade.ata
 endif
 ifeq ($(OS_TARGET),beos)
+BATCHEXT=.sh
 PPUEXT=.ppu
 ASMEXT=.s
 OEXT=.o
@@ -627,6 +639,7 @@ FPCMADE=fpcmade.be
 ZIPSUFFIX=be
 endif
 ifeq ($(OS_TARGET),sunos)
+BATCHEXT=.sh
 PPUEXT=.ppu
 ASMEXT=.s
 OEXT=.o
@@ -637,6 +650,7 @@ FPCMADE=fpcmade.sun
 ZIPSUFFIX=sun
 endif
 ifeq ($(OS_TARGET),qnx)
+BATCHEXT=.sh
 PPUEXT=.ppu
 ASMEXT=.s
 OEXT=.o
@@ -659,13 +673,15 @@ ZIPSUFFIX=nw
 EXEEXT=.nlm
 endif
 ifeq ($(OS_TARGET),macos)
+BATCHEXT=
 PPUEXT=.ppu
 ASMEXT=.s
 OEXT=.o
 SMARTEXT=.sl
 STATICLIBEXT=.a
 EXEEXT=
-FPCMADE=fpcmade.mcc
+DEBUGSYMEXT=.xcoff
+FPCMADE=fpcmade.macos
 endif
 endif
 ifndef ECHO
@@ -673,7 +689,7 @@ ECHO:=$(strip $(wildcard $(addsuffix /gecho$(SRCEXEEXT),$(SEARCHPATH))))
 ifeq ($(ECHO),)
 ECHO:=$(strip $(wildcard $(addsuffix /echo$(SRCEXEEXT),$(SEARCHPATH))))
 ifeq ($(ECHO),)
-ECHO=
+ECHO= __missing_command__
 else
 ECHO:=$(firstword $(ECHO))
 endif
@@ -687,7 +703,7 @@ DATE:=$(strip $(wildcard $(addsuffix /gdate$(SRCEXEEXT),$(SEARCHPATH))))
 ifeq ($(DATE),)
 DATE:=$(strip $(wildcard $(addsuffix /date$(SRCEXEEXT),$(SEARCHPATH))))
 ifeq ($(DATE),)
-DATE=
+DATE= __missing_command__
 else
 DATE:=$(firstword $(DATE))
 endif
@@ -701,7 +717,7 @@ GINSTALL:=$(strip $(wildcard $(addsuffix /ginstall$(SRCEXEEXT),$(SEARCHPATH))))
 ifeq ($(GINSTALL),)
 GINSTALL:=$(strip $(wildcard $(addsuffix /install$(SRCEXEEXT),$(SEARCHPATH))))
 ifeq ($(GINSTALL),)
-GINSTALL=
+GINSTALL= __missing_command__
 else
 GINSTALL:=$(firstword $(GINSTALL))
 endif
@@ -713,7 +729,7 @@ export GINSTALL
 ifndef CPPROG
 CPPROG:=$(strip $(wildcard $(addsuffix /cp$(SRCEXEEXT),$(SEARCHPATH))))
 ifeq ($(CPPROG),)
-CPPROG=
+CPPROG= __missing_command__
 else
 CPPROG:=$(firstword $(CPPROG))
 endif
@@ -722,7 +738,7 @@ export CPPROG
 ifndef RMPROG
 RMPROG:=$(strip $(wildcard $(addsuffix /rm$(SRCEXEEXT),$(SEARCHPATH))))
 ifeq ($(RMPROG),)
-RMPROG=
+RMPROG= __missing_command__
 else
 RMPROG:=$(firstword $(RMPROG))
 endif
@@ -731,7 +747,7 @@ export RMPROG
 ifndef MVPROG
 MVPROG:=$(strip $(wildcard $(addsuffix /mv$(SRCEXEEXT),$(SEARCHPATH))))
 ifeq ($(MVPROG),)
-MVPROG=
+MVPROG= __missing_command__
 else
 MVPROG:=$(firstword $(MVPROG))
 endif
@@ -780,7 +796,7 @@ export ECHOREDIR COPY COPYTREE MOVE DEL DELTREE INSTALL INSTALLEXE MKDIR
 ifndef PPUMOVE
 PPUMOVE:=$(strip $(wildcard $(addsuffix /ppumove$(SRCEXEEXT),$(SEARCHPATH))))
 ifeq ($(PPUMOVE),)
-PPUMOVE=
+PPUMOVE= __missing_command__
 else
 PPUMOVE:=$(firstword $(PPUMOVE))
 endif
@@ -789,7 +805,7 @@ export PPUMOVE
 ifndef FPCMAKE
 FPCMAKE:=$(strip $(wildcard $(addsuffix /fpcmake$(SRCEXEEXT),$(SEARCHPATH))))
 ifeq ($(FPCMAKE),)
-FPCMAKE=
+FPCMAKE= __missing_command__
 else
 FPCMAKE:=$(firstword $(FPCMAKE))
 endif
@@ -798,7 +814,7 @@ export FPCMAKE
 ifndef ZIPPROG
 ZIPPROG:=$(strip $(wildcard $(addsuffix /zip$(SRCEXEEXT),$(SEARCHPATH))))
 ifeq ($(ZIPPROG),)
-ZIPPROG=
+ZIPPROG= __missing_command__
 else
 ZIPPROG:=$(firstword $(ZIPPROG))
 endif
@@ -807,7 +823,7 @@ export ZIPPROG
 ifndef TARPROG
 TARPROG:=$(strip $(wildcard $(addsuffix /tar$(SRCEXEEXT),$(SEARCHPATH))))
 ifeq ($(TARPROG),)
-TARPROG=
+TARPROG= __missing_command__
 else
 TARPROG:=$(firstword $(TARPROG))
 endif
@@ -819,9 +835,11 @@ ARNAME=$(BINUTILSPREFIX)ar
 RCNAME=$(BINUTILSPREFIX)rc
 ifneq ($(findstring 1.0.,$(FPC_VERSION)),)
 ifeq ($(OS_TARGET),win32)
-ASNAME=as
-LDNAME=ld
-ARNAME=ar
+ifeq ($(CROSSBINDIR),)
+ASNAME=asw
+LDNAME=ldw
+ARNAME=arw
+endif
 endif
 endif
 ifndef ASPROG
@@ -856,7 +874,7 @@ AS=$(ASPROG)
 LD=$(LDPROG)
 RC=$(RCPROG)
 AR=$(ARPROG)
-PPAS=ppas$(BATCHEXT)
+PPAS=ppas$(SRCBATCHEXT)
 ifdef inUnix
 LDCONFIG=ldconfig
 else
@@ -1115,8 +1133,12 @@ ifdef RELEASE
 ifeq ($(CPU_TARGET),i386)
 FPCCPUOPT:=-OG2p3
 else
+ifeq ($(CPU_TARGET),powerpc)
+FPCCPUOPT:=-O1
+else
 FPCCPUOPT:=
 endif
+endif
 override FPCOPT+=-Xs $(FPCCPUOPT) -n
 override FPCOPTDEF+=RELEASE
 endif
@@ -1342,7 +1364,7 @@ USEZIPWRAPPER=1
 endif
 ifdef USEZIPWRAPPER
 ZIPPATHSEP=$(PATHSEP)
-ZIPWRAPPER=$(subst /,$(PATHSEP),$(DIST_DESTDIR)/fpczip$(BATCHEXT))
+ZIPWRAPPER=$(subst /,$(PATHSEP),$(DIST_DESTDIR)/fpczip$(SRCBATCHEXT))
 else
 ZIPPATHSEP=/
 endif
@@ -1396,6 +1418,9 @@ override CLEANPPUFILES+=$(addsuffix $(PPUEXT),$(CLEAN_UNITS))
 endif
 ifdef 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 CLEANPPULINKFILES:=$(wildcard $(addprefix $(UNITTARGETDIRPREFIX),$(CLEANPPULINKFILES)))
 endif
@@ -1419,6 +1444,7 @@ ifdef LIB_NAME
 	-$(DEL) $(LIB_NAME) $(LIB_FULLNAME)
 endif
 	-$(DEL) $(FPCMADE) Package.fpc $(PPAS) script.res link.res $(FPCEXTFILE) $(REDIRFILE)
+	-$(DEL) *$(ASMEXT) *_ppas$(BATCHEXT)
 fpc_distclean: clean
 ifdef COMPILER_UNITTARGETDIR
 TARGETDIRCLEAN=fpc_clean
@@ -1430,9 +1456,13 @@ endif
 	-$(DEL) *$(OEXT) *$(PPUEXT) *$(RSTEXT) *$(ASMEXT) *$(STATICLIBEXT) *$(SHAREDLIBEXT) *$(PPLEXT)
 	-$(DELTREE) *$(SMARTEXT)
 	-$(DEL) $(FPCMADE) Package.fpc $(PPAS) script.res link.res $(FPCEXTFILE) $(REDIRFILE)
+	-$(DEL) *_ppas$(BATCHEXT)
 ifdef AOUTEXT
 	-$(DEL) *$(AOUTEXT)
 endif
+ifdef DEBUGSYMEXT
+	-$(DEL) *$(DEBUGSYMEXT)
+endif
 .PHONY: fpc_baseinfo
 override INFORULES+=fpc_baseinfo
 fpc_baseinfo:

+ 93 - 66
packages/extra/Makefile

@@ -1,15 +1,24 @@
 #
-# Don't edit, this file is generated by FPCMake Version 1.1 [2004/03/29]
+# Don't edit, this file is generated by FPCMake Version 1.1 [2004/04/21]
 #
 default: all
 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:=$(subst \,/,$(PATH))
+ifneq ($(findstring darwin,$(OSTYPE)),)
+inUnix=1 #darwin
+SEARCHPATH:=$(filter-out .,$(subst :, ,$(PATH)))
+else
 ifeq ($(findstring ;,$(PATH)),)
 inUnix=1
 SEARCHPATH:=$(filter-out .,$(subst :, ,$(PATH)))
 else
 SEARCHPATH:=$(subst ;, ,$(PATH))
 endif
+endif
 SEARCHPATH+=$(patsubst %/,%,$(subst \,/,$(dir $(MAKE))))
 PWD:=$(strip $(wildcard $(addsuffix /pwd.exe,$(SEARCHPATH))))
 ifeq ($(PWD),)
@@ -37,22 +46,13 @@ ifneq ($(findstring cygdrive,$(PATH)),)
 inCygWin=1
 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
-BATCHEXT=.sh
+SRCBATCHEXT=.sh
 else
 ifdef inOS2
-BATCHEXT=.cmd
+SRCBATCHEXT=.cmd
 else
-BATCHEXT=.bat
+SRCBATCHEXT=.bat
 endif
 endif
 ifdef inUnix
@@ -155,6 +155,12 @@ ifeq ($(findstring $(OS_TARGET),$(MAKEFILETARGETS)),)
 $(error The Makefile doesn't support target $(OS_TARGET), please run fpcmake first)
 endif
 endif
+ifneq ($(findstring $(OS_TARGET),$(BSDs)),)
+BSDhier=1
+endif
+ifeq ($(OS_TARGET),linux)
+linuxHier=1
+endif
 export OS_TARGET OS_SOURCE CPU_TARGET CPU_SOURCE FULL_TARGET FULL_SOURCE CROSSCOMPILE
 ifdef FPCDIR
 override FPCDIR:=$(subst \,/,$(FPCDIR))
@@ -246,42 +252,12 @@ 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
-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
 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
 ifndef INSTALL_PREFIX
@@ -290,7 +266,7 @@ INSTALL_PREFIX=$(PREFIX)
 endif
 endif
 ifndef INSTALL_PREFIX
-ifdef UNIXINSTALLDIR
+ifdef UNIXHier
 INSTALL_PREFIX=/usr/local
 else
 ifdef INSTALL_FPCPACKAGE
@@ -309,7 +285,7 @@ DIST_DESTDIR:=$(BASEDIR)
 endif
 export DIST_DESTDIR
 ifndef INSTALL_BASEDIR
-ifdef UNIXINSTALLDIR
+ifdef UNIXHier
 ifdef INSTALL_FPCPACKAGE
 INSTALL_BASEDIR:=$(INSTALL_PREFIX)/lib/fpc/$(FPC_VERSION)
 else
@@ -320,7 +296,7 @@ INSTALL_BASEDIR:=$(INSTALL_PREFIX)
 endif
 endif
 ifndef INSTALL_BINDIR
-ifdef UNIXINSTALLDIR
+ifdef UNIXHier
 ifdef CROSSCOMPILE
 INSTALL_BINDIR:=$(INSTALL_BASEDIR)/cross/$(FULL_TARGET)/bin
 else
@@ -350,19 +326,23 @@ endif
 endif
 endif
 ifndef INSTALL_LIBDIR
-ifdef UNIXINSTALLDIR
+ifdef UNIXHier
 INSTALL_LIBDIR:=$(INSTALL_PREFIX)/lib
 else
 INSTALL_LIBDIR:=$(INSTALL_UNITDIR)
 endif
 endif
 ifndef INSTALL_SOURCEDIR
-ifdef UNIXINSTALLDIR
+ifdef UNIXHier
 ifdef BSDhier
 SRCPREFIXDIR=share/src
 else
+ifdef linuxHier
+SRCPREFIXDIR=share/src
+else
 SRCPREFIXDIR=src
 endif
+endif
 ifdef INSTALL_FPCPACKAGE
 ifdef INSTALL_FPCSUBDIR
 INSTALL_SOURCEDIR:=$(INSTALL_PREFIX)/$(SRCPREFIXDIR)/fpc-$(FPC_VERSION)/$(INSTALL_FPCSUBDIR)/$(PACKAGE_NAME)
@@ -385,12 +365,16 @@ endif
 endif
 endif
 ifndef INSTALL_DOCDIR
-ifdef UNIXINSTALLDIR
+ifdef UNIXHier
 ifdef BSDhier
 DOCPREFIXDIR=share/doc
 else
+ifdef linuxHier
+DOCPREFIXDIR=share/doc
+else
 DOCPREFIXDIR=doc
 endif
+endif
 ifdef INSTALL_FPCPACKAGE
 INSTALL_DOCDIR:=$(INSTALL_PREFIX)/$(DOCPREFIXDIR)/fpc-$(FPC_VERSION)/$(PACKAGE_NAME)
 else
@@ -405,20 +389,28 @@ endif
 endif
 endif
 ifndef INSTALL_EXAMPLEDIR
-ifdef UNIXINSTALLDIR
+ifdef UNIXHier
 ifdef INSTALL_FPCPACKAGE
 ifdef BSDhier
 INSTALL_EXAMPLEDIR:=$(INSTALL_PREFIX)/share/examples/fpc-$(FPC_VERSION)/$(PACKAGE_NAME)
 else
+ifdef linuxHier
+INSTALL_EXAMPLEDIR:=$(INSTALL_DOCDIR)/examples/fpc-$(FPC_VERSION)/$(PACKAGE_NAME)
+else
 INSTALL_EXAMPLEDIR:=$(INSTALL_PREFIX)/doc/fpc-$(FPC_VERSION)/examples/$(PACKAGE_NAME)
 endif
+endif
 else
 ifdef BSDhier
 INSTALL_EXAMPLEDIR:=$(INSTALL_PREFIX)/share/examples/$(PACKAGE_NAME)-$(PACKAGE_VERSION)
 else
+ifdef linuxHier
+INSTALL_EXAMPLEDIR:=$(INSTALL_DOCDIR)/examples/$(PACKAGE_NAME)-$(PACKAGE_VERSION)
+else
 INSTALL_EXAMPLEDIR:=$(INSTALL_PREFIX)/doc/$(PACKAGE_NAME)-$(PACKAGE_VERSION)
 endif
 endif
+endif
 else
 ifdef INSTALL_FPCPACKAGE
 INSTALL_EXAMPLEDIR:=$(INSTALL_BASEDIR)/examples/$(PACKAGE_NAME)
@@ -440,6 +432,7 @@ endif
 else
 CROSSBINDIR=
 endif
+BATCHEXT=.bat
 LOADEREXT=.as
 EXEEXT=.exe
 PPLEXT=.ppl
@@ -472,24 +465,28 @@ ASMEXT=.asm
 SHAREDLIBEXT=.dll
 endif
 ifeq ($(OS_TARGET),linux)
+BATCHEXT=.sh
 EXEEXT=
 HASSHAREDLIB=1
 FPCMADE=fpcmade.lnx
 ZIPSUFFIX=linux
 endif
 ifeq ($(OS_TARGET),freebsd)
+BATCHEXT=.sh
 EXEEXT=
 HASSHAREDLIB=1
 FPCMADE=fpcmade.freebsd
 ZIPSUFFIX=freebsd
 endif
 ifeq ($(OS_TARGET),netbsd)
+BATCHEXT=.sh
 EXEEXT=
 HASSHAREDLIB=1
 FPCMADE=fpcmade.netbsd
 ZIPSUFFIX=netbsd
 endif
 ifeq ($(OS_TARGET),openbsd)
+BATCHEXT=.sh
 EXEEXT=
 HASSHAREDLIB=1
 FPCMADE=fpcmade.openbsd
@@ -501,6 +498,7 @@ FPCMADE=fpcmade.w32
 ZIPSUFFIX=w32
 endif
 ifeq ($(OS_TARGET),os2)
+BATCHEXT=.cmd
 AOUTEXT=.out
 STATICLIBPREFIX=
 SHAREDLIBEXT=.dll
@@ -509,6 +507,7 @@ ZIPSUFFIX=os2
 ECHO=echo
 endif
 ifeq ($(OS_TARGET),emx)
+BATCHEXT=.cmd
 AOUTEXT=.out
 STATICLIBPREFIX=
 SHAREDLIBEXT=.dll
@@ -526,16 +525,19 @@ EXEEXT=.ttp
 FPCMADE=fpcmade.ata
 endif
 ifeq ($(OS_TARGET),beos)
+BATCHEXT=.sh
 EXEEXT=
 FPCMADE=fpcmade.be
 ZIPSUFFIX=be
 endif
 ifeq ($(OS_TARGET),sunos)
+BATCHEXT=.sh
 EXEEXT=
 FPCMADE=fpcmade.sun
 ZIPSUFFIX=sun
 endif
 ifeq ($(OS_TARGET),qnx)
+BATCHEXT=.sh
 EXEEXT=
 FPCMADE=fpcmade.qnx
 ZIPSUFFIX=qnx
@@ -547,11 +549,14 @@ FPCMADE=fpcmade.nw
 ZIPSUFFIX=nw
 endif
 ifeq ($(OS_TARGET),macos)
+BATCHEXT=
 EXEEXT=
 FPCMADE=fpcmade.macos
 ZIPSUFFIX=macos
+DEBUGSYMEXT=.xcoff
 endif
 ifeq ($(OS_TARGET),darwin)
+BATCHEXT=.sh
 EXEEXT=
 HASSHAREDLIB=1
 FPCMADE=fpcmade.darwin
@@ -580,24 +585,28 @@ FPCMADE=fpcmade.dos
 ZIPSUFFIX=watcom
 endif
 ifeq ($(OS_TARGET),linux)
+BATCHEXT=.sh
 EXEEXT=
 HASSHAREDLIB=1
 FPCMADE=fpcmade.lnx
 ZIPSUFFIX=linux
 endif
 ifeq ($(OS_TARGET),freebsd)
+BATCHEXT=.sh
 EXEEXT=
 HASSHAREDLIB=1
 FPCMADE=fpcmade.freebsd
 ZIPSUFFIX=freebsd
 endif
 ifeq ($(OS_TARGET),netbsd)
+BATCHEXT=.sh
 EXEEXT=
 HASSHAREDLIB=1
 FPCMADE=fpcmade.netbsd
 ZIPSUFFIX=netbsd
 endif
 ifeq ($(OS_TARGET),openbsd)
+BATCHEXT=.sh
 EXEEXT=
 HASSHAREDLIB=1
 FPCMADE=fpcmade.openbsd
@@ -614,6 +623,7 @@ FPCMADE=fpcmade.w32
 ZIPSUFFIX=w32
 endif
 ifeq ($(OS_TARGET),os2)
+BATCHEXT=.cmd
 PPUEXT=.ppo
 ASMEXT=.so2
 OEXT=.oo2
@@ -646,6 +656,7 @@ EXEEXT=.ttp
 FPCMADE=fpcmade.ata
 endif
 ifeq ($(OS_TARGET),beos)
+BATCHEXT=.sh
 PPUEXT=.ppu
 ASMEXT=.s
 OEXT=.o
@@ -656,6 +667,7 @@ FPCMADE=fpcmade.be
 ZIPSUFFIX=be
 endif
 ifeq ($(OS_TARGET),sunos)
+BATCHEXT=.sh
 PPUEXT=.ppu
 ASMEXT=.s
 OEXT=.o
@@ -666,6 +678,7 @@ FPCMADE=fpcmade.sun
 ZIPSUFFIX=sun
 endif
 ifeq ($(OS_TARGET),qnx)
+BATCHEXT=.sh
 PPUEXT=.ppu
 ASMEXT=.s
 OEXT=.o
@@ -688,13 +701,15 @@ ZIPSUFFIX=nw
 EXEEXT=.nlm
 endif
 ifeq ($(OS_TARGET),macos)
+BATCHEXT=
 PPUEXT=.ppu
 ASMEXT=.s
 OEXT=.o
 SMARTEXT=.sl
 STATICLIBEXT=.a
 EXEEXT=
-FPCMADE=fpcmade.mcc
+DEBUGSYMEXT=.xcoff
+FPCMADE=fpcmade.macos
 endif
 endif
 ifndef ECHO
@@ -702,7 +717,7 @@ ECHO:=$(strip $(wildcard $(addsuffix /gecho$(SRCEXEEXT),$(SEARCHPATH))))
 ifeq ($(ECHO),)
 ECHO:=$(strip $(wildcard $(addsuffix /echo$(SRCEXEEXT),$(SEARCHPATH))))
 ifeq ($(ECHO),)
-ECHO=
+ECHO= __missing_command__
 else
 ECHO:=$(firstword $(ECHO))
 endif
@@ -716,7 +731,7 @@ DATE:=$(strip $(wildcard $(addsuffix /gdate$(SRCEXEEXT),$(SEARCHPATH))))
 ifeq ($(DATE),)
 DATE:=$(strip $(wildcard $(addsuffix /date$(SRCEXEEXT),$(SEARCHPATH))))
 ifeq ($(DATE),)
-DATE=
+DATE= __missing_command__
 else
 DATE:=$(firstword $(DATE))
 endif
@@ -730,7 +745,7 @@ GINSTALL:=$(strip $(wildcard $(addsuffix /ginstall$(SRCEXEEXT),$(SEARCHPATH))))
 ifeq ($(GINSTALL),)
 GINSTALL:=$(strip $(wildcard $(addsuffix /install$(SRCEXEEXT),$(SEARCHPATH))))
 ifeq ($(GINSTALL),)
-GINSTALL=
+GINSTALL= __missing_command__
 else
 GINSTALL:=$(firstword $(GINSTALL))
 endif
@@ -742,7 +757,7 @@ export GINSTALL
 ifndef CPPROG
 CPPROG:=$(strip $(wildcard $(addsuffix /cp$(SRCEXEEXT),$(SEARCHPATH))))
 ifeq ($(CPPROG),)
-CPPROG=
+CPPROG= __missing_command__
 else
 CPPROG:=$(firstword $(CPPROG))
 endif
@@ -751,7 +766,7 @@ export CPPROG
 ifndef RMPROG
 RMPROG:=$(strip $(wildcard $(addsuffix /rm$(SRCEXEEXT),$(SEARCHPATH))))
 ifeq ($(RMPROG),)
-RMPROG=
+RMPROG= __missing_command__
 else
 RMPROG:=$(firstword $(RMPROG))
 endif
@@ -760,7 +775,7 @@ export RMPROG
 ifndef MVPROG
 MVPROG:=$(strip $(wildcard $(addsuffix /mv$(SRCEXEEXT),$(SEARCHPATH))))
 ifeq ($(MVPROG),)
-MVPROG=
+MVPROG= __missing_command__
 else
 MVPROG:=$(firstword $(MVPROG))
 endif
@@ -809,7 +824,7 @@ export ECHOREDIR COPY COPYTREE MOVE DEL DELTREE INSTALL INSTALLEXE MKDIR
 ifndef PPUMOVE
 PPUMOVE:=$(strip $(wildcard $(addsuffix /ppumove$(SRCEXEEXT),$(SEARCHPATH))))
 ifeq ($(PPUMOVE),)
-PPUMOVE=
+PPUMOVE= __missing_command__
 else
 PPUMOVE:=$(firstword $(PPUMOVE))
 endif
@@ -818,7 +833,7 @@ export PPUMOVE
 ifndef FPCMAKE
 FPCMAKE:=$(strip $(wildcard $(addsuffix /fpcmake$(SRCEXEEXT),$(SEARCHPATH))))
 ifeq ($(FPCMAKE),)
-FPCMAKE=
+FPCMAKE= __missing_command__
 else
 FPCMAKE:=$(firstword $(FPCMAKE))
 endif
@@ -827,7 +842,7 @@ export FPCMAKE
 ifndef ZIPPROG
 ZIPPROG:=$(strip $(wildcard $(addsuffix /zip$(SRCEXEEXT),$(SEARCHPATH))))
 ifeq ($(ZIPPROG),)
-ZIPPROG=
+ZIPPROG= __missing_command__
 else
 ZIPPROG:=$(firstword $(ZIPPROG))
 endif
@@ -836,7 +851,7 @@ export ZIPPROG
 ifndef TARPROG
 TARPROG:=$(strip $(wildcard $(addsuffix /tar$(SRCEXEEXT),$(SEARCHPATH))))
 ifeq ($(TARPROG),)
-TARPROG=
+TARPROG= __missing_command__
 else
 TARPROG:=$(firstword $(TARPROG))
 endif
@@ -887,7 +902,7 @@ AS=$(ASPROG)
 LD=$(LDPROG)
 RC=$(RCPROG)
 AR=$(ARPROG)
-PPAS=ppas$(BATCHEXT)
+PPAS=ppas$(SRCBATCHEXT)
 ifdef inUnix
 LDCONFIG=ldconfig
 else
@@ -1146,8 +1161,12 @@ ifdef RELEASE
 ifeq ($(CPU_TARGET),i386)
 FPCCPUOPT:=-OG2p3
 else
+ifeq ($(CPU_TARGET),powerpc)
+FPCCPUOPT:=-O1
+else
 FPCCPUOPT:=
 endif
+endif
 override FPCOPT+=-Xs $(FPCCPUOPT) -n
 override FPCOPTDEF+=RELEASE
 endif
@@ -1241,6 +1260,9 @@ override CLEANPPUFILES+=$(addsuffix $(PPUEXT),$(CLEAN_UNITS))
 endif
 ifdef 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 CLEANPPULINKFILES:=$(wildcard $(addprefix $(UNITTARGETDIRPREFIX),$(CLEANPPULINKFILES)))
 endif
@@ -1264,6 +1286,7 @@ ifdef LIB_NAME
 	-$(DEL) $(LIB_NAME) $(LIB_FULLNAME)
 endif
 	-$(DEL) $(FPCMADE) Package.fpc $(PPAS) script.res link.res $(FPCEXTFILE) $(REDIRFILE)
+	-$(DEL) *$(ASMEXT) *_ppas$(BATCHEXT)
 fpc_distclean: clean
 ifdef COMPILER_UNITTARGETDIR
 TARGETDIRCLEAN=fpc_clean
@@ -1275,9 +1298,13 @@ endif
 	-$(DEL) *$(OEXT) *$(PPUEXT) *$(RSTEXT) *$(ASMEXT) *$(STATICLIBEXT) *$(SHAREDLIBEXT) *$(PPLEXT)
 	-$(DELTREE) *$(SMARTEXT)
 	-$(DEL) $(FPCMADE) Package.fpc $(PPAS) script.res link.res $(FPCEXTFILE) $(REDIRFILE)
+	-$(DEL) *_ppas$(BATCHEXT)
 ifdef AOUTEXT
 	-$(DEL) *$(AOUTEXT)
 endif
+ifdef DEBUGSYMEXT
+	-$(DEL) *$(DEBUGSYMEXT)
+endif
 .PHONY: fpc_baseinfo
 override INFORULES+=fpc_baseinfo
 fpc_baseinfo:

+ 101 - 71
packages/extra/bfd/Makefile

@@ -1,15 +1,24 @@
 #
-# Don't edit, this file is generated by FPCMake Version 1.1 [2004/02/22]
+# Don't edit, this file is generated by FPCMake Version 1.1 [2004/04/21]
 #
 default: all
 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:=$(subst \,/,$(PATH))
+ifneq ($(findstring darwin,$(OSTYPE)),)
+inUnix=1 #darwin
+SEARCHPATH:=$(filter-out .,$(subst :, ,$(PATH)))
+else
 ifeq ($(findstring ;,$(PATH)),)
 inUnix=1
 SEARCHPATH:=$(filter-out .,$(subst :, ,$(PATH)))
 else
 SEARCHPATH:=$(subst ;, ,$(PATH))
 endif
+endif
 SEARCHPATH+=$(patsubst %/,%,$(subst \,/,$(dir $(MAKE))))
 PWD:=$(strip $(wildcard $(addsuffix /pwd.exe,$(SEARCHPATH))))
 ifeq ($(PWD),)
@@ -37,22 +46,13 @@ ifneq ($(findstring cygdrive,$(PATH)),)
 inCygWin=1
 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
-BATCHEXT=.sh
+SRCBATCHEXT=.sh
 else
 ifdef inOS2
-BATCHEXT=.cmd
+SRCBATCHEXT=.cmd
 else
-BATCHEXT=.bat
+SRCBATCHEXT=.bat
 endif
 endif
 ifdef inUnix
@@ -155,6 +155,12 @@ ifeq ($(findstring $(OS_TARGET),$(MAKEFILETARGETS)),)
 $(error The Makefile doesn't support target $(OS_TARGET), please run fpcmake first)
 endif
 endif
+ifneq ($(findstring $(OS_TARGET),$(BSDs)),)
+BSDhier=1
+endif
+ifeq ($(OS_TARGET),linux)
+linuxHier=1
+endif
 export OS_TARGET OS_SOURCE CPU_TARGET CPU_SOURCE FULL_TARGET FULL_SOURCE CROSSCOMPILE
 ifdef FPCDIR
 override FPCDIR:=$(subst \,/,$(FPCDIR))
@@ -218,42 +224,12 @@ 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
-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
 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
 ifndef INSTALL_PREFIX
@@ -262,7 +238,7 @@ INSTALL_PREFIX=$(PREFIX)
 endif
 endif
 ifndef INSTALL_PREFIX
-ifdef UNIXINSTALLDIR
+ifdef UNIXHier
 INSTALL_PREFIX=/usr/local
 else
 ifdef INSTALL_FPCPACKAGE
@@ -281,7 +257,7 @@ DIST_DESTDIR:=$(BASEDIR)
 endif
 export DIST_DESTDIR
 ifndef INSTALL_BASEDIR
-ifdef UNIXINSTALLDIR
+ifdef UNIXHier
 ifdef INSTALL_FPCPACKAGE
 INSTALL_BASEDIR:=$(INSTALL_PREFIX)/lib/fpc/$(FPC_VERSION)
 else
@@ -292,7 +268,7 @@ INSTALL_BASEDIR:=$(INSTALL_PREFIX)
 endif
 endif
 ifndef INSTALL_BINDIR
-ifdef UNIXINSTALLDIR
+ifdef UNIXHier
 ifdef CROSSCOMPILE
 INSTALL_BINDIR:=$(INSTALL_BASEDIR)/cross/$(FULL_TARGET)/bin
 else
@@ -322,19 +298,23 @@ endif
 endif
 endif
 ifndef INSTALL_LIBDIR
-ifdef UNIXINSTALLDIR
+ifdef UNIXHier
 INSTALL_LIBDIR:=$(INSTALL_PREFIX)/lib
 else
 INSTALL_LIBDIR:=$(INSTALL_UNITDIR)
 endif
 endif
 ifndef INSTALL_SOURCEDIR
-ifdef UNIXINSTALLDIR
+ifdef UNIXHier
 ifdef BSDhier
 SRCPREFIXDIR=share/src
 else
+ifdef linuxHier
+SRCPREFIXDIR=share/src
+else
 SRCPREFIXDIR=src
 endif
+endif
 ifdef INSTALL_FPCPACKAGE
 ifdef INSTALL_FPCSUBDIR
 INSTALL_SOURCEDIR:=$(INSTALL_PREFIX)/$(SRCPREFIXDIR)/fpc-$(FPC_VERSION)/$(INSTALL_FPCSUBDIR)/$(PACKAGE_NAME)
@@ -357,12 +337,16 @@ endif
 endif
 endif
 ifndef INSTALL_DOCDIR
-ifdef UNIXINSTALLDIR
+ifdef UNIXHier
 ifdef BSDhier
 DOCPREFIXDIR=share/doc
 else
+ifdef linuxHier
+DOCPREFIXDIR=share/doc
+else
 DOCPREFIXDIR=doc
 endif
+endif
 ifdef INSTALL_FPCPACKAGE
 INSTALL_DOCDIR:=$(INSTALL_PREFIX)/$(DOCPREFIXDIR)/fpc-$(FPC_VERSION)/$(PACKAGE_NAME)
 else
@@ -377,20 +361,28 @@ endif
 endif
 endif
 ifndef INSTALL_EXAMPLEDIR
-ifdef UNIXINSTALLDIR
+ifdef UNIXHier
 ifdef INSTALL_FPCPACKAGE
 ifdef BSDhier
 INSTALL_EXAMPLEDIR:=$(INSTALL_PREFIX)/share/examples/fpc-$(FPC_VERSION)/$(PACKAGE_NAME)
 else
+ifdef linuxHier
+INSTALL_EXAMPLEDIR:=$(INSTALL_DOCDIR)/examples/fpc-$(FPC_VERSION)/$(PACKAGE_NAME)
+else
 INSTALL_EXAMPLEDIR:=$(INSTALL_PREFIX)/doc/fpc-$(FPC_VERSION)/examples/$(PACKAGE_NAME)
 endif
+endif
 else
 ifdef BSDhier
 INSTALL_EXAMPLEDIR:=$(INSTALL_PREFIX)/share/examples/$(PACKAGE_NAME)-$(PACKAGE_VERSION)
 else
+ifdef linuxHier
+INSTALL_EXAMPLEDIR:=$(INSTALL_DOCDIR)/examples/$(PACKAGE_NAME)-$(PACKAGE_VERSION)
+else
 INSTALL_EXAMPLEDIR:=$(INSTALL_PREFIX)/doc/$(PACKAGE_NAME)-$(PACKAGE_VERSION)
 endif
 endif
+endif
 else
 ifdef INSTALL_FPCPACKAGE
 INSTALL_EXAMPLEDIR:=$(INSTALL_BASEDIR)/examples/$(PACKAGE_NAME)
@@ -412,6 +404,7 @@ endif
 else
 CROSSBINDIR=
 endif
+BATCHEXT=.bat
 LOADEREXT=.as
 EXEEXT=.exe
 PPLEXT=.ppl
@@ -444,24 +437,28 @@ ASMEXT=.asm
 SHAREDLIBEXT=.dll
 endif
 ifeq ($(OS_TARGET),linux)
+BATCHEXT=.sh
 EXEEXT=
 HASSHAREDLIB=1
 FPCMADE=fpcmade.lnx
 ZIPSUFFIX=linux
 endif
 ifeq ($(OS_TARGET),freebsd)
+BATCHEXT=.sh
 EXEEXT=
 HASSHAREDLIB=1
 FPCMADE=fpcmade.freebsd
 ZIPSUFFIX=freebsd
 endif
 ifeq ($(OS_TARGET),netbsd)
+BATCHEXT=.sh
 EXEEXT=
 HASSHAREDLIB=1
 FPCMADE=fpcmade.netbsd
 ZIPSUFFIX=netbsd
 endif
 ifeq ($(OS_TARGET),openbsd)
+BATCHEXT=.sh
 EXEEXT=
 HASSHAREDLIB=1
 FPCMADE=fpcmade.openbsd
@@ -473,6 +470,7 @@ FPCMADE=fpcmade.w32
 ZIPSUFFIX=w32
 endif
 ifeq ($(OS_TARGET),os2)
+BATCHEXT=.cmd
 AOUTEXT=.out
 STATICLIBPREFIX=
 SHAREDLIBEXT=.dll
@@ -481,6 +479,7 @@ ZIPSUFFIX=os2
 ECHO=echo
 endif
 ifeq ($(OS_TARGET),emx)
+BATCHEXT=.cmd
 AOUTEXT=.out
 STATICLIBPREFIX=
 SHAREDLIBEXT=.dll
@@ -498,16 +497,19 @@ EXEEXT=.ttp
 FPCMADE=fpcmade.ata
 endif
 ifeq ($(OS_TARGET),beos)
+BATCHEXT=.sh
 EXEEXT=
 FPCMADE=fpcmade.be
 ZIPSUFFIX=be
 endif
 ifeq ($(OS_TARGET),sunos)
+BATCHEXT=.sh
 EXEEXT=
 FPCMADE=fpcmade.sun
 ZIPSUFFIX=sun
 endif
 ifeq ($(OS_TARGET),qnx)
+BATCHEXT=.sh
 EXEEXT=
 FPCMADE=fpcmade.qnx
 ZIPSUFFIX=qnx
@@ -519,10 +521,14 @@ FPCMADE=fpcmade.nw
 ZIPSUFFIX=nw
 endif
 ifeq ($(OS_TARGET),macos)
+BATCHEXT=
 EXEEXT=
-FPCMADE=fpcmade.mcc
+FPCMADE=fpcmade.macos
+ZIPSUFFIX=macos
+DEBUGSYMEXT=.xcoff
 endif
 ifeq ($(OS_TARGET),darwin)
+BATCHEXT=.sh
 EXEEXT=
 HASSHAREDLIB=1
 FPCMADE=fpcmade.darwin
@@ -551,24 +557,28 @@ FPCMADE=fpcmade.dos
 ZIPSUFFIX=watcom
 endif
 ifeq ($(OS_TARGET),linux)
+BATCHEXT=.sh
 EXEEXT=
 HASSHAREDLIB=1
 FPCMADE=fpcmade.lnx
 ZIPSUFFIX=linux
 endif
 ifeq ($(OS_TARGET),freebsd)
+BATCHEXT=.sh
 EXEEXT=
 HASSHAREDLIB=1
 FPCMADE=fpcmade.freebsd
 ZIPSUFFIX=freebsd
 endif
 ifeq ($(OS_TARGET),netbsd)
+BATCHEXT=.sh
 EXEEXT=
 HASSHAREDLIB=1
 FPCMADE=fpcmade.netbsd
 ZIPSUFFIX=netbsd
 endif
 ifeq ($(OS_TARGET),openbsd)
+BATCHEXT=.sh
 EXEEXT=
 HASSHAREDLIB=1
 FPCMADE=fpcmade.openbsd
@@ -585,6 +595,7 @@ FPCMADE=fpcmade.w32
 ZIPSUFFIX=w32
 endif
 ifeq ($(OS_TARGET),os2)
+BATCHEXT=.cmd
 PPUEXT=.ppo
 ASMEXT=.so2
 OEXT=.oo2
@@ -617,6 +628,7 @@ EXEEXT=.ttp
 FPCMADE=fpcmade.ata
 endif
 ifeq ($(OS_TARGET),beos)
+BATCHEXT=.sh
 PPUEXT=.ppu
 ASMEXT=.s
 OEXT=.o
@@ -627,6 +639,7 @@ FPCMADE=fpcmade.be
 ZIPSUFFIX=be
 endif
 ifeq ($(OS_TARGET),sunos)
+BATCHEXT=.sh
 PPUEXT=.ppu
 ASMEXT=.s
 OEXT=.o
@@ -637,6 +650,7 @@ FPCMADE=fpcmade.sun
 ZIPSUFFIX=sun
 endif
 ifeq ($(OS_TARGET),qnx)
+BATCHEXT=.sh
 PPUEXT=.ppu
 ASMEXT=.s
 OEXT=.o
@@ -659,13 +673,15 @@ ZIPSUFFIX=nw
 EXEEXT=.nlm
 endif
 ifeq ($(OS_TARGET),macos)
+BATCHEXT=
 PPUEXT=.ppu
 ASMEXT=.s
 OEXT=.o
 SMARTEXT=.sl
 STATICLIBEXT=.a
 EXEEXT=
-FPCMADE=fpcmade.mcc
+DEBUGSYMEXT=.xcoff
+FPCMADE=fpcmade.macos
 endif
 endif
 ifndef ECHO
@@ -673,7 +689,7 @@ ECHO:=$(strip $(wildcard $(addsuffix /gecho$(SRCEXEEXT),$(SEARCHPATH))))
 ifeq ($(ECHO),)
 ECHO:=$(strip $(wildcard $(addsuffix /echo$(SRCEXEEXT),$(SEARCHPATH))))
 ifeq ($(ECHO),)
-ECHO=
+ECHO= __missing_command__
 else
 ECHO:=$(firstword $(ECHO))
 endif
@@ -687,7 +703,7 @@ DATE:=$(strip $(wildcard $(addsuffix /gdate$(SRCEXEEXT),$(SEARCHPATH))))
 ifeq ($(DATE),)
 DATE:=$(strip $(wildcard $(addsuffix /date$(SRCEXEEXT),$(SEARCHPATH))))
 ifeq ($(DATE),)
-DATE=
+DATE= __missing_command__
 else
 DATE:=$(firstword $(DATE))
 endif
@@ -701,7 +717,7 @@ GINSTALL:=$(strip $(wildcard $(addsuffix /ginstall$(SRCEXEEXT),$(SEARCHPATH))))
 ifeq ($(GINSTALL),)
 GINSTALL:=$(strip $(wildcard $(addsuffix /install$(SRCEXEEXT),$(SEARCHPATH))))
 ifeq ($(GINSTALL),)
-GINSTALL=
+GINSTALL= __missing_command__
 else
 GINSTALL:=$(firstword $(GINSTALL))
 endif
@@ -713,7 +729,7 @@ export GINSTALL
 ifndef CPPROG
 CPPROG:=$(strip $(wildcard $(addsuffix /cp$(SRCEXEEXT),$(SEARCHPATH))))
 ifeq ($(CPPROG),)
-CPPROG=
+CPPROG= __missing_command__
 else
 CPPROG:=$(firstword $(CPPROG))
 endif
@@ -722,7 +738,7 @@ export CPPROG
 ifndef RMPROG
 RMPROG:=$(strip $(wildcard $(addsuffix /rm$(SRCEXEEXT),$(SEARCHPATH))))
 ifeq ($(RMPROG),)
-RMPROG=
+RMPROG= __missing_command__
 else
 RMPROG:=$(firstword $(RMPROG))
 endif
@@ -731,7 +747,7 @@ export RMPROG
 ifndef MVPROG
 MVPROG:=$(strip $(wildcard $(addsuffix /mv$(SRCEXEEXT),$(SEARCHPATH))))
 ifeq ($(MVPROG),)
-MVPROG=
+MVPROG= __missing_command__
 else
 MVPROG:=$(firstword $(MVPROG))
 endif
@@ -780,7 +796,7 @@ export ECHOREDIR COPY COPYTREE MOVE DEL DELTREE INSTALL INSTALLEXE MKDIR
 ifndef PPUMOVE
 PPUMOVE:=$(strip $(wildcard $(addsuffix /ppumove$(SRCEXEEXT),$(SEARCHPATH))))
 ifeq ($(PPUMOVE),)
-PPUMOVE=
+PPUMOVE= __missing_command__
 else
 PPUMOVE:=$(firstword $(PPUMOVE))
 endif
@@ -789,7 +805,7 @@ export PPUMOVE
 ifndef FPCMAKE
 FPCMAKE:=$(strip $(wildcard $(addsuffix /fpcmake$(SRCEXEEXT),$(SEARCHPATH))))
 ifeq ($(FPCMAKE),)
-FPCMAKE=
+FPCMAKE= __missing_command__
 else
 FPCMAKE:=$(firstword $(FPCMAKE))
 endif
@@ -798,7 +814,7 @@ export FPCMAKE
 ifndef ZIPPROG
 ZIPPROG:=$(strip $(wildcard $(addsuffix /zip$(SRCEXEEXT),$(SEARCHPATH))))
 ifeq ($(ZIPPROG),)
-ZIPPROG=
+ZIPPROG= __missing_command__
 else
 ZIPPROG:=$(firstword $(ZIPPROG))
 endif
@@ -807,7 +823,7 @@ export ZIPPROG
 ifndef TARPROG
 TARPROG:=$(strip $(wildcard $(addsuffix /tar$(SRCEXEEXT),$(SEARCHPATH))))
 ifeq ($(TARPROG),)
-TARPROG=
+TARPROG= __missing_command__
 else
 TARPROG:=$(firstword $(TARPROG))
 endif
@@ -819,9 +835,11 @@ ARNAME=$(BINUTILSPREFIX)ar
 RCNAME=$(BINUTILSPREFIX)rc
 ifneq ($(findstring 1.0.,$(FPC_VERSION)),)
 ifeq ($(OS_TARGET),win32)
-ASNAME=as
-LDNAME=ld
-ARNAME=ar
+ifeq ($(CROSSBINDIR),)
+ASNAME=asw
+LDNAME=ldw
+ARNAME=arw
+endif
 endif
 endif
 ifndef ASPROG
@@ -856,7 +874,7 @@ AS=$(ASPROG)
 LD=$(LDPROG)
 RC=$(RCPROG)
 AR=$(ARPROG)
-PPAS=ppas$(BATCHEXT)
+PPAS=ppas$(SRCBATCHEXT)
 ifdef inUnix
 LDCONFIG=ldconfig
 else
@@ -1115,8 +1133,12 @@ ifdef RELEASE
 ifeq ($(CPU_TARGET),i386)
 FPCCPUOPT:=-OG2p3
 else
+ifeq ($(CPU_TARGET),powerpc)
+FPCCPUOPT:=-O1
+else
 FPCCPUOPT:=
 endif
+endif
 override FPCOPT+=-Xs $(FPCCPUOPT) -n
 override FPCOPTDEF+=RELEASE
 endif
@@ -1342,7 +1364,7 @@ USEZIPWRAPPER=1
 endif
 ifdef USEZIPWRAPPER
 ZIPPATHSEP=$(PATHSEP)
-ZIPWRAPPER=$(subst /,$(PATHSEP),$(DIST_DESTDIR)/fpczip$(BATCHEXT))
+ZIPWRAPPER=$(subst /,$(PATHSEP),$(DIST_DESTDIR)/fpczip$(SRCBATCHEXT))
 else
 ZIPPATHSEP=/
 endif
@@ -1396,6 +1418,9 @@ override CLEANPPUFILES+=$(addsuffix $(PPUEXT),$(CLEAN_UNITS))
 endif
 ifdef 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 CLEANPPULINKFILES:=$(wildcard $(addprefix $(UNITTARGETDIRPREFIX),$(CLEANPPULINKFILES)))
 endif
@@ -1419,6 +1444,7 @@ ifdef LIB_NAME
 	-$(DEL) $(LIB_NAME) $(LIB_FULLNAME)
 endif
 	-$(DEL) $(FPCMADE) Package.fpc $(PPAS) script.res link.res $(FPCEXTFILE) $(REDIRFILE)
+	-$(DEL) *$(ASMEXT) *_ppas$(BATCHEXT)
 fpc_distclean: clean
 ifdef COMPILER_UNITTARGETDIR
 TARGETDIRCLEAN=fpc_clean
@@ -1430,9 +1456,13 @@ endif
 	-$(DEL) *$(OEXT) *$(PPUEXT) *$(RSTEXT) *$(ASMEXT) *$(STATICLIBEXT) *$(SHAREDLIBEXT) *$(PPLEXT)
 	-$(DELTREE) *$(SMARTEXT)
 	-$(DEL) $(FPCMADE) Package.fpc $(PPAS) script.res link.res $(FPCEXTFILE) $(REDIRFILE)
+	-$(DEL) *_ppas$(BATCHEXT)
 ifdef AOUTEXT
 	-$(DEL) *$(AOUTEXT)
 endif
+ifdef DEBUGSYMEXT
+	-$(DEL) *$(DEBUGSYMEXT)
+endif
 .PHONY: fpc_baseinfo
 override INFORULES+=fpc_baseinfo
 fpc_baseinfo:

+ 101 - 71
packages/extra/cdrom/Makefile

@@ -1,15 +1,24 @@
 #
-# Don't edit, this file is generated by FPCMake Version 1.1 [2004/02/22]
+# Don't edit, this file is generated by FPCMake Version 1.1 [2004/04/21]
 #
 default: all
 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:=$(subst \,/,$(PATH))
+ifneq ($(findstring darwin,$(OSTYPE)),)
+inUnix=1 #darwin
+SEARCHPATH:=$(filter-out .,$(subst :, ,$(PATH)))
+else
 ifeq ($(findstring ;,$(PATH)),)
 inUnix=1
 SEARCHPATH:=$(filter-out .,$(subst :, ,$(PATH)))
 else
 SEARCHPATH:=$(subst ;, ,$(PATH))
 endif
+endif
 SEARCHPATH+=$(patsubst %/,%,$(subst \,/,$(dir $(MAKE))))
 PWD:=$(strip $(wildcard $(addsuffix /pwd.exe,$(SEARCHPATH))))
 ifeq ($(PWD),)
@@ -37,22 +46,13 @@ ifneq ($(findstring cygdrive,$(PATH)),)
 inCygWin=1
 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
-BATCHEXT=.sh
+SRCBATCHEXT=.sh
 else
 ifdef inOS2
-BATCHEXT=.cmd
+SRCBATCHEXT=.cmd
 else
-BATCHEXT=.bat
+SRCBATCHEXT=.bat
 endif
 endif
 ifdef inUnix
@@ -155,6 +155,12 @@ ifeq ($(findstring $(OS_TARGET),$(MAKEFILETARGETS)),)
 $(error The Makefile doesn't support target $(OS_TARGET), please run fpcmake first)
 endif
 endif
+ifneq ($(findstring $(OS_TARGET),$(BSDs)),)
+BSDhier=1
+endif
+ifeq ($(OS_TARGET),linux)
+linuxHier=1
+endif
 export OS_TARGET OS_SOURCE CPU_TARGET CPU_SOURCE FULL_TARGET FULL_SOURCE CROSSCOMPILE
 ifdef FPCDIR
 override FPCDIR:=$(subst \,/,$(FPCDIR))
@@ -225,42 +231,12 @@ 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
-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
 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
 ifndef INSTALL_PREFIX
@@ -269,7 +245,7 @@ INSTALL_PREFIX=$(PREFIX)
 endif
 endif
 ifndef INSTALL_PREFIX
-ifdef UNIXINSTALLDIR
+ifdef UNIXHier
 INSTALL_PREFIX=/usr/local
 else
 ifdef INSTALL_FPCPACKAGE
@@ -288,7 +264,7 @@ DIST_DESTDIR:=$(BASEDIR)
 endif
 export DIST_DESTDIR
 ifndef INSTALL_BASEDIR
-ifdef UNIXINSTALLDIR
+ifdef UNIXHier
 ifdef INSTALL_FPCPACKAGE
 INSTALL_BASEDIR:=$(INSTALL_PREFIX)/lib/fpc/$(FPC_VERSION)
 else
@@ -299,7 +275,7 @@ INSTALL_BASEDIR:=$(INSTALL_PREFIX)
 endif
 endif
 ifndef INSTALL_BINDIR
-ifdef UNIXINSTALLDIR
+ifdef UNIXHier
 ifdef CROSSCOMPILE
 INSTALL_BINDIR:=$(INSTALL_BASEDIR)/cross/$(FULL_TARGET)/bin
 else
@@ -329,19 +305,23 @@ endif
 endif
 endif
 ifndef INSTALL_LIBDIR
-ifdef UNIXINSTALLDIR
+ifdef UNIXHier
 INSTALL_LIBDIR:=$(INSTALL_PREFIX)/lib
 else
 INSTALL_LIBDIR:=$(INSTALL_UNITDIR)
 endif
 endif
 ifndef INSTALL_SOURCEDIR
-ifdef UNIXINSTALLDIR
+ifdef UNIXHier
 ifdef BSDhier
 SRCPREFIXDIR=share/src
 else
+ifdef linuxHier
+SRCPREFIXDIR=share/src
+else
 SRCPREFIXDIR=src
 endif
+endif
 ifdef INSTALL_FPCPACKAGE
 ifdef INSTALL_FPCSUBDIR
 INSTALL_SOURCEDIR:=$(INSTALL_PREFIX)/$(SRCPREFIXDIR)/fpc-$(FPC_VERSION)/$(INSTALL_FPCSUBDIR)/$(PACKAGE_NAME)
@@ -364,12 +344,16 @@ endif
 endif
 endif
 ifndef INSTALL_DOCDIR
-ifdef UNIXINSTALLDIR
+ifdef UNIXHier
 ifdef BSDhier
 DOCPREFIXDIR=share/doc
 else
+ifdef linuxHier
+DOCPREFIXDIR=share/doc
+else
 DOCPREFIXDIR=doc
 endif
+endif
 ifdef INSTALL_FPCPACKAGE
 INSTALL_DOCDIR:=$(INSTALL_PREFIX)/$(DOCPREFIXDIR)/fpc-$(FPC_VERSION)/$(PACKAGE_NAME)
 else
@@ -384,20 +368,28 @@ endif
 endif
 endif
 ifndef INSTALL_EXAMPLEDIR
-ifdef UNIXINSTALLDIR
+ifdef UNIXHier
 ifdef INSTALL_FPCPACKAGE
 ifdef BSDhier
 INSTALL_EXAMPLEDIR:=$(INSTALL_PREFIX)/share/examples/fpc-$(FPC_VERSION)/$(PACKAGE_NAME)
 else
+ifdef linuxHier
+INSTALL_EXAMPLEDIR:=$(INSTALL_DOCDIR)/examples/fpc-$(FPC_VERSION)/$(PACKAGE_NAME)
+else
 INSTALL_EXAMPLEDIR:=$(INSTALL_PREFIX)/doc/fpc-$(FPC_VERSION)/examples/$(PACKAGE_NAME)
 endif
+endif
 else
 ifdef BSDhier
 INSTALL_EXAMPLEDIR:=$(INSTALL_PREFIX)/share/examples/$(PACKAGE_NAME)-$(PACKAGE_VERSION)
 else
+ifdef linuxHier
+INSTALL_EXAMPLEDIR:=$(INSTALL_DOCDIR)/examples/$(PACKAGE_NAME)-$(PACKAGE_VERSION)
+else
 INSTALL_EXAMPLEDIR:=$(INSTALL_PREFIX)/doc/$(PACKAGE_NAME)-$(PACKAGE_VERSION)
 endif
 endif
+endif
 else
 ifdef INSTALL_FPCPACKAGE
 INSTALL_EXAMPLEDIR:=$(INSTALL_BASEDIR)/examples/$(PACKAGE_NAME)
@@ -419,6 +411,7 @@ endif
 else
 CROSSBINDIR=
 endif
+BATCHEXT=.bat
 LOADEREXT=.as
 EXEEXT=.exe
 PPLEXT=.ppl
@@ -451,24 +444,28 @@ ASMEXT=.asm
 SHAREDLIBEXT=.dll
 endif
 ifeq ($(OS_TARGET),linux)
+BATCHEXT=.sh
 EXEEXT=
 HASSHAREDLIB=1
 FPCMADE=fpcmade.lnx
 ZIPSUFFIX=linux
 endif
 ifeq ($(OS_TARGET),freebsd)
+BATCHEXT=.sh
 EXEEXT=
 HASSHAREDLIB=1
 FPCMADE=fpcmade.freebsd
 ZIPSUFFIX=freebsd
 endif
 ifeq ($(OS_TARGET),netbsd)
+BATCHEXT=.sh
 EXEEXT=
 HASSHAREDLIB=1
 FPCMADE=fpcmade.netbsd
 ZIPSUFFIX=netbsd
 endif
 ifeq ($(OS_TARGET),openbsd)
+BATCHEXT=.sh
 EXEEXT=
 HASSHAREDLIB=1
 FPCMADE=fpcmade.openbsd
@@ -480,6 +477,7 @@ FPCMADE=fpcmade.w32
 ZIPSUFFIX=w32
 endif
 ifeq ($(OS_TARGET),os2)
+BATCHEXT=.cmd
 AOUTEXT=.out
 STATICLIBPREFIX=
 SHAREDLIBEXT=.dll
@@ -488,6 +486,7 @@ ZIPSUFFIX=os2
 ECHO=echo
 endif
 ifeq ($(OS_TARGET),emx)
+BATCHEXT=.cmd
 AOUTEXT=.out
 STATICLIBPREFIX=
 SHAREDLIBEXT=.dll
@@ -505,16 +504,19 @@ EXEEXT=.ttp
 FPCMADE=fpcmade.ata
 endif
 ifeq ($(OS_TARGET),beos)
+BATCHEXT=.sh
 EXEEXT=
 FPCMADE=fpcmade.be
 ZIPSUFFIX=be
 endif
 ifeq ($(OS_TARGET),sunos)
+BATCHEXT=.sh
 EXEEXT=
 FPCMADE=fpcmade.sun
 ZIPSUFFIX=sun
 endif
 ifeq ($(OS_TARGET),qnx)
+BATCHEXT=.sh
 EXEEXT=
 FPCMADE=fpcmade.qnx
 ZIPSUFFIX=qnx
@@ -526,10 +528,14 @@ FPCMADE=fpcmade.nw
 ZIPSUFFIX=nw
 endif
 ifeq ($(OS_TARGET),macos)
+BATCHEXT=
 EXEEXT=
-FPCMADE=fpcmade.mcc
+FPCMADE=fpcmade.macos
+ZIPSUFFIX=macos
+DEBUGSYMEXT=.xcoff
 endif
 ifeq ($(OS_TARGET),darwin)
+BATCHEXT=.sh
 EXEEXT=
 HASSHAREDLIB=1
 FPCMADE=fpcmade.darwin
@@ -558,24 +564,28 @@ FPCMADE=fpcmade.dos
 ZIPSUFFIX=watcom
 endif
 ifeq ($(OS_TARGET),linux)
+BATCHEXT=.sh
 EXEEXT=
 HASSHAREDLIB=1
 FPCMADE=fpcmade.lnx
 ZIPSUFFIX=linux
 endif
 ifeq ($(OS_TARGET),freebsd)
+BATCHEXT=.sh
 EXEEXT=
 HASSHAREDLIB=1
 FPCMADE=fpcmade.freebsd
 ZIPSUFFIX=freebsd
 endif
 ifeq ($(OS_TARGET),netbsd)
+BATCHEXT=.sh
 EXEEXT=
 HASSHAREDLIB=1
 FPCMADE=fpcmade.netbsd
 ZIPSUFFIX=netbsd
 endif
 ifeq ($(OS_TARGET),openbsd)
+BATCHEXT=.sh
 EXEEXT=
 HASSHAREDLIB=1
 FPCMADE=fpcmade.openbsd
@@ -592,6 +602,7 @@ FPCMADE=fpcmade.w32
 ZIPSUFFIX=w32
 endif
 ifeq ($(OS_TARGET),os2)
+BATCHEXT=.cmd
 PPUEXT=.ppo
 ASMEXT=.so2
 OEXT=.oo2
@@ -624,6 +635,7 @@ EXEEXT=.ttp
 FPCMADE=fpcmade.ata
 endif
 ifeq ($(OS_TARGET),beos)
+BATCHEXT=.sh
 PPUEXT=.ppu
 ASMEXT=.s
 OEXT=.o
@@ -634,6 +646,7 @@ FPCMADE=fpcmade.be
 ZIPSUFFIX=be
 endif
 ifeq ($(OS_TARGET),sunos)
+BATCHEXT=.sh
 PPUEXT=.ppu
 ASMEXT=.s
 OEXT=.o
@@ -644,6 +657,7 @@ FPCMADE=fpcmade.sun
 ZIPSUFFIX=sun
 endif
 ifeq ($(OS_TARGET),qnx)
+BATCHEXT=.sh
 PPUEXT=.ppu
 ASMEXT=.s
 OEXT=.o
@@ -666,13 +680,15 @@ ZIPSUFFIX=nw
 EXEEXT=.nlm
 endif
 ifeq ($(OS_TARGET),macos)
+BATCHEXT=
 PPUEXT=.ppu
 ASMEXT=.s
 OEXT=.o
 SMARTEXT=.sl
 STATICLIBEXT=.a
 EXEEXT=
-FPCMADE=fpcmade.mcc
+DEBUGSYMEXT=.xcoff
+FPCMADE=fpcmade.macos
 endif
 endif
 ifndef ECHO
@@ -680,7 +696,7 @@ ECHO:=$(strip $(wildcard $(addsuffix /gecho$(SRCEXEEXT),$(SEARCHPATH))))
 ifeq ($(ECHO),)
 ECHO:=$(strip $(wildcard $(addsuffix /echo$(SRCEXEEXT),$(SEARCHPATH))))
 ifeq ($(ECHO),)
-ECHO=
+ECHO= __missing_command__
 else
 ECHO:=$(firstword $(ECHO))
 endif
@@ -694,7 +710,7 @@ DATE:=$(strip $(wildcard $(addsuffix /gdate$(SRCEXEEXT),$(SEARCHPATH))))
 ifeq ($(DATE),)
 DATE:=$(strip $(wildcard $(addsuffix /date$(SRCEXEEXT),$(SEARCHPATH))))
 ifeq ($(DATE),)
-DATE=
+DATE= __missing_command__
 else
 DATE:=$(firstword $(DATE))
 endif
@@ -708,7 +724,7 @@ GINSTALL:=$(strip $(wildcard $(addsuffix /ginstall$(SRCEXEEXT),$(SEARCHPATH))))
 ifeq ($(GINSTALL),)
 GINSTALL:=$(strip $(wildcard $(addsuffix /install$(SRCEXEEXT),$(SEARCHPATH))))
 ifeq ($(GINSTALL),)
-GINSTALL=
+GINSTALL= __missing_command__
 else
 GINSTALL:=$(firstword $(GINSTALL))
 endif
@@ -720,7 +736,7 @@ export GINSTALL
 ifndef CPPROG
 CPPROG:=$(strip $(wildcard $(addsuffix /cp$(SRCEXEEXT),$(SEARCHPATH))))
 ifeq ($(CPPROG),)
-CPPROG=
+CPPROG= __missing_command__
 else
 CPPROG:=$(firstword $(CPPROG))
 endif
@@ -729,7 +745,7 @@ export CPPROG
 ifndef RMPROG
 RMPROG:=$(strip $(wildcard $(addsuffix /rm$(SRCEXEEXT),$(SEARCHPATH))))
 ifeq ($(RMPROG),)
-RMPROG=
+RMPROG= __missing_command__
 else
 RMPROG:=$(firstword $(RMPROG))
 endif
@@ -738,7 +754,7 @@ export RMPROG
 ifndef MVPROG
 MVPROG:=$(strip $(wildcard $(addsuffix /mv$(SRCEXEEXT),$(SEARCHPATH))))
 ifeq ($(MVPROG),)
-MVPROG=
+MVPROG= __missing_command__
 else
 MVPROG:=$(firstword $(MVPROG))
 endif
@@ -787,7 +803,7 @@ export ECHOREDIR COPY COPYTREE MOVE DEL DELTREE INSTALL INSTALLEXE MKDIR
 ifndef PPUMOVE
 PPUMOVE:=$(strip $(wildcard $(addsuffix /ppumove$(SRCEXEEXT),$(SEARCHPATH))))
 ifeq ($(PPUMOVE),)
-PPUMOVE=
+PPUMOVE= __missing_command__
 else
 PPUMOVE:=$(firstword $(PPUMOVE))
 endif
@@ -796,7 +812,7 @@ export PPUMOVE
 ifndef FPCMAKE
 FPCMAKE:=$(strip $(wildcard $(addsuffix /fpcmake$(SRCEXEEXT),$(SEARCHPATH))))
 ifeq ($(FPCMAKE),)
-FPCMAKE=
+FPCMAKE= __missing_command__
 else
 FPCMAKE:=$(firstword $(FPCMAKE))
 endif
@@ -805,7 +821,7 @@ export FPCMAKE
 ifndef ZIPPROG
 ZIPPROG:=$(strip $(wildcard $(addsuffix /zip$(SRCEXEEXT),$(SEARCHPATH))))
 ifeq ($(ZIPPROG),)
-ZIPPROG=
+ZIPPROG= __missing_command__
 else
 ZIPPROG:=$(firstword $(ZIPPROG))
 endif
@@ -814,7 +830,7 @@ export ZIPPROG
 ifndef TARPROG
 TARPROG:=$(strip $(wildcard $(addsuffix /tar$(SRCEXEEXT),$(SEARCHPATH))))
 ifeq ($(TARPROG),)
-TARPROG=
+TARPROG= __missing_command__
 else
 TARPROG:=$(firstword $(TARPROG))
 endif
@@ -826,9 +842,11 @@ ARNAME=$(BINUTILSPREFIX)ar
 RCNAME=$(BINUTILSPREFIX)rc
 ifneq ($(findstring 1.0.,$(FPC_VERSION)),)
 ifeq ($(OS_TARGET),win32)
-ASNAME=as
-LDNAME=ld
-ARNAME=ar
+ifeq ($(CROSSBINDIR),)
+ASNAME=asw
+LDNAME=ldw
+ARNAME=arw
+endif
 endif
 endif
 ifndef ASPROG
@@ -863,7 +881,7 @@ AS=$(ASPROG)
 LD=$(LDPROG)
 RC=$(RCPROG)
 AR=$(ARPROG)
-PPAS=ppas$(BATCHEXT)
+PPAS=ppas$(SRCBATCHEXT)
 ifdef inUnix
 LDCONFIG=ldconfig
 else
@@ -1122,8 +1140,12 @@ ifdef RELEASE
 ifeq ($(CPU_TARGET),i386)
 FPCCPUOPT:=-OG2p3
 else
+ifeq ($(CPU_TARGET),powerpc)
+FPCCPUOPT:=-O1
+else
 FPCCPUOPT:=
 endif
+endif
 override FPCOPT+=-Xs $(FPCCPUOPT) -n
 override FPCOPTDEF+=RELEASE
 endif
@@ -1367,7 +1389,7 @@ USEZIPWRAPPER=1
 endif
 ifdef USEZIPWRAPPER
 ZIPPATHSEP=$(PATHSEP)
-ZIPWRAPPER=$(subst /,$(PATHSEP),$(DIST_DESTDIR)/fpczip$(BATCHEXT))
+ZIPWRAPPER=$(subst /,$(PATHSEP),$(DIST_DESTDIR)/fpczip$(SRCBATCHEXT))
 else
 ZIPPATHSEP=/
 endif
@@ -1421,6 +1443,9 @@ override CLEANPPUFILES+=$(addsuffix $(PPUEXT),$(CLEAN_UNITS))
 endif
 ifdef 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 CLEANPPULINKFILES:=$(wildcard $(addprefix $(UNITTARGETDIRPREFIX),$(CLEANPPULINKFILES)))
 endif
@@ -1444,6 +1469,7 @@ ifdef LIB_NAME
 	-$(DEL) $(LIB_NAME) $(LIB_FULLNAME)
 endif
 	-$(DEL) $(FPCMADE) Package.fpc $(PPAS) script.res link.res $(FPCEXTFILE) $(REDIRFILE)
+	-$(DEL) *$(ASMEXT) *_ppas$(BATCHEXT)
 fpc_distclean: clean
 ifdef COMPILER_UNITTARGETDIR
 TARGETDIRCLEAN=fpc_clean
@@ -1455,9 +1481,13 @@ endif
 	-$(DEL) *$(OEXT) *$(PPUEXT) *$(RSTEXT) *$(ASMEXT) *$(STATICLIBEXT) *$(SHAREDLIBEXT) *$(PPLEXT)
 	-$(DELTREE) *$(SMARTEXT)
 	-$(DEL) $(FPCMADE) Package.fpc $(PPAS) script.res link.res $(FPCEXTFILE) $(REDIRFILE)
+	-$(DEL) *_ppas$(BATCHEXT)
 ifdef AOUTEXT
 	-$(DEL) *$(AOUTEXT)
 endif
+ifdef DEBUGSYMEXT
+	-$(DEL) *$(DEBUGSYMEXT)
+endif
 .PHONY: fpc_baseinfo
 override INFORULES+=fpc_baseinfo
 fpc_baseinfo:

+ 114 - 72
packages/extra/forms/Makefile

@@ -1,15 +1,24 @@
 #
-# Don't edit, this file is generated by FPCMake Version 1.1 [2004/02/22]
+# Don't edit, this file is generated by FPCMake Version 1.1 [2004/04/21]
 #
 default: all
 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:=$(subst \,/,$(PATH))
+ifneq ($(findstring darwin,$(OSTYPE)),)
+inUnix=1 #darwin
+SEARCHPATH:=$(filter-out .,$(subst :, ,$(PATH)))
+else
 ifeq ($(findstring ;,$(PATH)),)
 inUnix=1
 SEARCHPATH:=$(filter-out .,$(subst :, ,$(PATH)))
 else
 SEARCHPATH:=$(subst ;, ,$(PATH))
 endif
+endif
 SEARCHPATH+=$(patsubst %/,%,$(subst \,/,$(dir $(MAKE))))
 PWD:=$(strip $(wildcard $(addsuffix /pwd.exe,$(SEARCHPATH))))
 ifeq ($(PWD),)
@@ -37,22 +46,13 @@ ifneq ($(findstring cygdrive,$(PATH)),)
 inCygWin=1
 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
-BATCHEXT=.sh
+SRCBATCHEXT=.sh
 else
 ifdef inOS2
-BATCHEXT=.cmd
+SRCBATCHEXT=.cmd
 else
-BATCHEXT=.bat
+SRCBATCHEXT=.bat
 endif
 endif
 ifdef inUnix
@@ -155,6 +155,12 @@ ifeq ($(findstring $(OS_TARGET),$(MAKEFILETARGETS)),)
 $(error The Makefile doesn't support target $(OS_TARGET), please run fpcmake first)
 endif
 endif
+ifneq ($(findstring $(OS_TARGET),$(BSDs)),)
+BSDhier=1
+endif
+ifeq ($(OS_TARGET),linux)
+linuxHier=1
+endif
 export OS_TARGET OS_SOURCE CPU_TARGET CPU_SOURCE FULL_TARGET FULL_SOURCE CROSSCOMPILE
 ifdef FPCDIR
 override FPCDIR:=$(subst \,/,$(FPCDIR))
@@ -220,42 +226,12 @@ 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
-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
 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
 ifndef INSTALL_PREFIX
@@ -264,7 +240,7 @@ INSTALL_PREFIX=$(PREFIX)
 endif
 endif
 ifndef INSTALL_PREFIX
-ifdef UNIXINSTALLDIR
+ifdef UNIXHier
 INSTALL_PREFIX=/usr/local
 else
 ifdef INSTALL_FPCPACKAGE
@@ -283,7 +259,7 @@ DIST_DESTDIR:=$(BASEDIR)
 endif
 export DIST_DESTDIR
 ifndef INSTALL_BASEDIR
-ifdef UNIXINSTALLDIR
+ifdef UNIXHier
 ifdef INSTALL_FPCPACKAGE
 INSTALL_BASEDIR:=$(INSTALL_PREFIX)/lib/fpc/$(FPC_VERSION)
 else
@@ -294,7 +270,7 @@ INSTALL_BASEDIR:=$(INSTALL_PREFIX)
 endif
 endif
 ifndef INSTALL_BINDIR
-ifdef UNIXINSTALLDIR
+ifdef UNIXHier
 ifdef CROSSCOMPILE
 INSTALL_BINDIR:=$(INSTALL_BASEDIR)/cross/$(FULL_TARGET)/bin
 else
@@ -324,19 +300,23 @@ endif
 endif
 endif
 ifndef INSTALL_LIBDIR
-ifdef UNIXINSTALLDIR
+ifdef UNIXHier
 INSTALL_LIBDIR:=$(INSTALL_PREFIX)/lib
 else
 INSTALL_LIBDIR:=$(INSTALL_UNITDIR)
 endif
 endif
 ifndef INSTALL_SOURCEDIR
-ifdef UNIXINSTALLDIR
+ifdef UNIXHier
 ifdef BSDhier
 SRCPREFIXDIR=share/src
 else
+ifdef linuxHier
+SRCPREFIXDIR=share/src
+else
 SRCPREFIXDIR=src
 endif
+endif
 ifdef INSTALL_FPCPACKAGE
 ifdef INSTALL_FPCSUBDIR
 INSTALL_SOURCEDIR:=$(INSTALL_PREFIX)/$(SRCPREFIXDIR)/fpc-$(FPC_VERSION)/$(INSTALL_FPCSUBDIR)/$(PACKAGE_NAME)
@@ -359,12 +339,16 @@ endif
 endif
 endif
 ifndef INSTALL_DOCDIR
-ifdef UNIXINSTALLDIR
+ifdef UNIXHier
 ifdef BSDhier
 DOCPREFIXDIR=share/doc
 else
+ifdef linuxHier
+DOCPREFIXDIR=share/doc
+else
 DOCPREFIXDIR=doc
 endif
+endif
 ifdef INSTALL_FPCPACKAGE
 INSTALL_DOCDIR:=$(INSTALL_PREFIX)/$(DOCPREFIXDIR)/fpc-$(FPC_VERSION)/$(PACKAGE_NAME)
 else
@@ -379,20 +363,28 @@ endif
 endif
 endif
 ifndef INSTALL_EXAMPLEDIR
-ifdef UNIXINSTALLDIR
+ifdef UNIXHier
 ifdef INSTALL_FPCPACKAGE
 ifdef BSDhier
 INSTALL_EXAMPLEDIR:=$(INSTALL_PREFIX)/share/examples/fpc-$(FPC_VERSION)/$(PACKAGE_NAME)
 else
+ifdef linuxHier
+INSTALL_EXAMPLEDIR:=$(INSTALL_DOCDIR)/examples/fpc-$(FPC_VERSION)/$(PACKAGE_NAME)
+else
 INSTALL_EXAMPLEDIR:=$(INSTALL_PREFIX)/doc/fpc-$(FPC_VERSION)/examples/$(PACKAGE_NAME)
 endif
+endif
 else
 ifdef BSDhier
 INSTALL_EXAMPLEDIR:=$(INSTALL_PREFIX)/share/examples/$(PACKAGE_NAME)-$(PACKAGE_VERSION)
 else
+ifdef linuxHier
+INSTALL_EXAMPLEDIR:=$(INSTALL_DOCDIR)/examples/$(PACKAGE_NAME)-$(PACKAGE_VERSION)
+else
 INSTALL_EXAMPLEDIR:=$(INSTALL_PREFIX)/doc/$(PACKAGE_NAME)-$(PACKAGE_VERSION)
 endif
 endif
+endif
 else
 ifdef INSTALL_FPCPACKAGE
 INSTALL_EXAMPLEDIR:=$(INSTALL_BASEDIR)/examples/$(PACKAGE_NAME)
@@ -416,7 +408,19 @@ CROSSBINDIR=
 endif
 ifeq ($(OS_SOURCE),linux)
 ifndef GCCLIBDIR
-GCCLIBDIR:=$(shell dirname `gcc -print-libgcc-file-name`)
+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
 ifndef OTHERLIBDIR
 OTHERLIBDIR:=$(shell grep -v "^\#" /etc/ld.so.conf | awk '{ ORS=" "; print $1 }')
@@ -428,6 +432,7 @@ OTHERLIBDIR+=/usr/pkg/lib
 endif
 export GCCLIBDIR OTHERLIB
 endif
+BATCHEXT=.bat
 LOADEREXT=.as
 EXEEXT=.exe
 PPLEXT=.ppl
@@ -460,24 +465,28 @@ ASMEXT=.asm
 SHAREDLIBEXT=.dll
 endif
 ifeq ($(OS_TARGET),linux)
+BATCHEXT=.sh
 EXEEXT=
 HASSHAREDLIB=1
 FPCMADE=fpcmade.lnx
 ZIPSUFFIX=linux
 endif
 ifeq ($(OS_TARGET),freebsd)
+BATCHEXT=.sh
 EXEEXT=
 HASSHAREDLIB=1
 FPCMADE=fpcmade.freebsd
 ZIPSUFFIX=freebsd
 endif
 ifeq ($(OS_TARGET),netbsd)
+BATCHEXT=.sh
 EXEEXT=
 HASSHAREDLIB=1
 FPCMADE=fpcmade.netbsd
 ZIPSUFFIX=netbsd
 endif
 ifeq ($(OS_TARGET),openbsd)
+BATCHEXT=.sh
 EXEEXT=
 HASSHAREDLIB=1
 FPCMADE=fpcmade.openbsd
@@ -489,6 +498,7 @@ FPCMADE=fpcmade.w32
 ZIPSUFFIX=w32
 endif
 ifeq ($(OS_TARGET),os2)
+BATCHEXT=.cmd
 AOUTEXT=.out
 STATICLIBPREFIX=
 SHAREDLIBEXT=.dll
@@ -497,6 +507,7 @@ ZIPSUFFIX=os2
 ECHO=echo
 endif
 ifeq ($(OS_TARGET),emx)
+BATCHEXT=.cmd
 AOUTEXT=.out
 STATICLIBPREFIX=
 SHAREDLIBEXT=.dll
@@ -514,16 +525,19 @@ EXEEXT=.ttp
 FPCMADE=fpcmade.ata
 endif
 ifeq ($(OS_TARGET),beos)
+BATCHEXT=.sh
 EXEEXT=
 FPCMADE=fpcmade.be
 ZIPSUFFIX=be
 endif
 ifeq ($(OS_TARGET),sunos)
+BATCHEXT=.sh
 EXEEXT=
 FPCMADE=fpcmade.sun
 ZIPSUFFIX=sun
 endif
 ifeq ($(OS_TARGET),qnx)
+BATCHEXT=.sh
 EXEEXT=
 FPCMADE=fpcmade.qnx
 ZIPSUFFIX=qnx
@@ -535,10 +549,14 @@ FPCMADE=fpcmade.nw
 ZIPSUFFIX=nw
 endif
 ifeq ($(OS_TARGET),macos)
+BATCHEXT=
 EXEEXT=
-FPCMADE=fpcmade.mcc
+FPCMADE=fpcmade.macos
+ZIPSUFFIX=macos
+DEBUGSYMEXT=.xcoff
 endif
 ifeq ($(OS_TARGET),darwin)
+BATCHEXT=.sh
 EXEEXT=
 HASSHAREDLIB=1
 FPCMADE=fpcmade.darwin
@@ -567,24 +585,28 @@ FPCMADE=fpcmade.dos
 ZIPSUFFIX=watcom
 endif
 ifeq ($(OS_TARGET),linux)
+BATCHEXT=.sh
 EXEEXT=
 HASSHAREDLIB=1
 FPCMADE=fpcmade.lnx
 ZIPSUFFIX=linux
 endif
 ifeq ($(OS_TARGET),freebsd)
+BATCHEXT=.sh
 EXEEXT=
 HASSHAREDLIB=1
 FPCMADE=fpcmade.freebsd
 ZIPSUFFIX=freebsd
 endif
 ifeq ($(OS_TARGET),netbsd)
+BATCHEXT=.sh
 EXEEXT=
 HASSHAREDLIB=1
 FPCMADE=fpcmade.netbsd
 ZIPSUFFIX=netbsd
 endif
 ifeq ($(OS_TARGET),openbsd)
+BATCHEXT=.sh
 EXEEXT=
 HASSHAREDLIB=1
 FPCMADE=fpcmade.openbsd
@@ -601,6 +623,7 @@ FPCMADE=fpcmade.w32
 ZIPSUFFIX=w32
 endif
 ifeq ($(OS_TARGET),os2)
+BATCHEXT=.cmd
 PPUEXT=.ppo
 ASMEXT=.so2
 OEXT=.oo2
@@ -633,6 +656,7 @@ EXEEXT=.ttp
 FPCMADE=fpcmade.ata
 endif
 ifeq ($(OS_TARGET),beos)
+BATCHEXT=.sh
 PPUEXT=.ppu
 ASMEXT=.s
 OEXT=.o
@@ -643,6 +667,7 @@ FPCMADE=fpcmade.be
 ZIPSUFFIX=be
 endif
 ifeq ($(OS_TARGET),sunos)
+BATCHEXT=.sh
 PPUEXT=.ppu
 ASMEXT=.s
 OEXT=.o
@@ -653,6 +678,7 @@ FPCMADE=fpcmade.sun
 ZIPSUFFIX=sun
 endif
 ifeq ($(OS_TARGET),qnx)
+BATCHEXT=.sh
 PPUEXT=.ppu
 ASMEXT=.s
 OEXT=.o
@@ -675,13 +701,15 @@ ZIPSUFFIX=nw
 EXEEXT=.nlm
 endif
 ifeq ($(OS_TARGET),macos)
+BATCHEXT=
 PPUEXT=.ppu
 ASMEXT=.s
 OEXT=.o
 SMARTEXT=.sl
 STATICLIBEXT=.a
 EXEEXT=
-FPCMADE=fpcmade.mcc
+DEBUGSYMEXT=.xcoff
+FPCMADE=fpcmade.macos
 endif
 endif
 ifndef ECHO
@@ -689,7 +717,7 @@ ECHO:=$(strip $(wildcard $(addsuffix /gecho$(SRCEXEEXT),$(SEARCHPATH))))
 ifeq ($(ECHO),)
 ECHO:=$(strip $(wildcard $(addsuffix /echo$(SRCEXEEXT),$(SEARCHPATH))))
 ifeq ($(ECHO),)
-ECHO=
+ECHO= __missing_command__
 else
 ECHO:=$(firstword $(ECHO))
 endif
@@ -703,7 +731,7 @@ DATE:=$(strip $(wildcard $(addsuffix /gdate$(SRCEXEEXT),$(SEARCHPATH))))
 ifeq ($(DATE),)
 DATE:=$(strip $(wildcard $(addsuffix /date$(SRCEXEEXT),$(SEARCHPATH))))
 ifeq ($(DATE),)
-DATE=
+DATE= __missing_command__
 else
 DATE:=$(firstword $(DATE))
 endif
@@ -717,7 +745,7 @@ GINSTALL:=$(strip $(wildcard $(addsuffix /ginstall$(SRCEXEEXT),$(SEARCHPATH))))
 ifeq ($(GINSTALL),)
 GINSTALL:=$(strip $(wildcard $(addsuffix /install$(SRCEXEEXT),$(SEARCHPATH))))
 ifeq ($(GINSTALL),)
-GINSTALL=
+GINSTALL= __missing_command__
 else
 GINSTALL:=$(firstword $(GINSTALL))
 endif
@@ -729,7 +757,7 @@ export GINSTALL
 ifndef CPPROG
 CPPROG:=$(strip $(wildcard $(addsuffix /cp$(SRCEXEEXT),$(SEARCHPATH))))
 ifeq ($(CPPROG),)
-CPPROG=
+CPPROG= __missing_command__
 else
 CPPROG:=$(firstword $(CPPROG))
 endif
@@ -738,7 +766,7 @@ export CPPROG
 ifndef RMPROG
 RMPROG:=$(strip $(wildcard $(addsuffix /rm$(SRCEXEEXT),$(SEARCHPATH))))
 ifeq ($(RMPROG),)
-RMPROG=
+RMPROG= __missing_command__
 else
 RMPROG:=$(firstword $(RMPROG))
 endif
@@ -747,7 +775,7 @@ export RMPROG
 ifndef MVPROG
 MVPROG:=$(strip $(wildcard $(addsuffix /mv$(SRCEXEEXT),$(SEARCHPATH))))
 ifeq ($(MVPROG),)
-MVPROG=
+MVPROG= __missing_command__
 else
 MVPROG:=$(firstword $(MVPROG))
 endif
@@ -796,7 +824,7 @@ export ECHOREDIR COPY COPYTREE MOVE DEL DELTREE INSTALL INSTALLEXE MKDIR
 ifndef PPUMOVE
 PPUMOVE:=$(strip $(wildcard $(addsuffix /ppumove$(SRCEXEEXT),$(SEARCHPATH))))
 ifeq ($(PPUMOVE),)
-PPUMOVE=
+PPUMOVE= __missing_command__
 else
 PPUMOVE:=$(firstword $(PPUMOVE))
 endif
@@ -805,7 +833,7 @@ export PPUMOVE
 ifndef FPCMAKE
 FPCMAKE:=$(strip $(wildcard $(addsuffix /fpcmake$(SRCEXEEXT),$(SEARCHPATH))))
 ifeq ($(FPCMAKE),)
-FPCMAKE=
+FPCMAKE= __missing_command__
 else
 FPCMAKE:=$(firstword $(FPCMAKE))
 endif
@@ -814,7 +842,7 @@ export FPCMAKE
 ifndef ZIPPROG
 ZIPPROG:=$(strip $(wildcard $(addsuffix /zip$(SRCEXEEXT),$(SEARCHPATH))))
 ifeq ($(ZIPPROG),)
-ZIPPROG=
+ZIPPROG= __missing_command__
 else
 ZIPPROG:=$(firstword $(ZIPPROG))
 endif
@@ -823,7 +851,7 @@ export ZIPPROG
 ifndef TARPROG
 TARPROG:=$(strip $(wildcard $(addsuffix /tar$(SRCEXEEXT),$(SEARCHPATH))))
 ifeq ($(TARPROG),)
-TARPROG=
+TARPROG= __missing_command__
 else
 TARPROG:=$(firstword $(TARPROG))
 endif
@@ -835,9 +863,11 @@ ARNAME=$(BINUTILSPREFIX)ar
 RCNAME=$(BINUTILSPREFIX)rc
 ifneq ($(findstring 1.0.,$(FPC_VERSION)),)
 ifeq ($(OS_TARGET),win32)
-ASNAME=as
-LDNAME=ld
-ARNAME=ar
+ifeq ($(CROSSBINDIR),)
+ASNAME=asw
+LDNAME=ldw
+ARNAME=arw
+endif
 endif
 endif
 ifndef ASPROG
@@ -872,7 +902,7 @@ AS=$(ASPROG)
 LD=$(LDPROG)
 RC=$(RCPROG)
 AR=$(ARPROG)
-PPAS=ppas$(BATCHEXT)
+PPAS=ppas$(SRCBATCHEXT)
 ifdef inUnix
 LDCONFIG=ldconfig
 else
@@ -1187,8 +1217,12 @@ ifdef RELEASE
 ifeq ($(CPU_TARGET),i386)
 FPCCPUOPT:=-OG2p3
 else
+ifeq ($(CPU_TARGET),powerpc)
+FPCCPUOPT:=-O1
+else
 FPCCPUOPT:=
 endif
+endif
 override FPCOPT+=-Xs $(FPCCPUOPT) -n
 override FPCOPTDEF+=RELEASE
 endif
@@ -1453,7 +1487,7 @@ USEZIPWRAPPER=1
 endif
 ifdef USEZIPWRAPPER
 ZIPPATHSEP=$(PATHSEP)
-ZIPWRAPPER=$(subst /,$(PATHSEP),$(DIST_DESTDIR)/fpczip$(BATCHEXT))
+ZIPWRAPPER=$(subst /,$(PATHSEP),$(DIST_DESTDIR)/fpczip$(SRCBATCHEXT))
 else
 ZIPPATHSEP=/
 endif
@@ -1507,6 +1541,9 @@ override CLEANPPUFILES+=$(addsuffix $(PPUEXT),$(CLEAN_UNITS))
 endif
 ifdef 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 CLEANPPULINKFILES:=$(wildcard $(addprefix $(UNITTARGETDIRPREFIX),$(CLEANPPULINKFILES)))
 endif
@@ -1530,6 +1567,7 @@ ifdef LIB_NAME
 	-$(DEL) $(LIB_NAME) $(LIB_FULLNAME)
 endif
 	-$(DEL) $(FPCMADE) Package.fpc $(PPAS) script.res link.res $(FPCEXTFILE) $(REDIRFILE)
+	-$(DEL) *$(ASMEXT) *_ppas$(BATCHEXT)
 fpc_distclean: clean
 ifdef COMPILER_UNITTARGETDIR
 TARGETDIRCLEAN=fpc_clean
@@ -1541,9 +1579,13 @@ endif
 	-$(DEL) *$(OEXT) *$(PPUEXT) *$(RSTEXT) *$(ASMEXT) *$(STATICLIBEXT) *$(SHAREDLIBEXT) *$(PPLEXT)
 	-$(DELTREE) *$(SMARTEXT)
 	-$(DEL) $(FPCMADE) Package.fpc $(PPAS) script.res link.res $(FPCEXTFILE) $(REDIRFILE)
+	-$(DEL) *_ppas$(BATCHEXT)
 ifdef AOUTEXT
 	-$(DEL) *$(AOUTEXT)
 endif
+ifdef DEBUGSYMEXT
+	-$(DEL) *$(DEBUGSYMEXT)
+endif
 .PHONY: fpc_baseinfo
 override INFORULES+=fpc_baseinfo
 fpc_baseinfo:

+ 113 - 71
packages/extra/forms/demo/Makefile

@@ -1,15 +1,24 @@
 #
-# Don't edit, this file is generated by FPCMake Version 1.1 [2004/02/22]
+# Don't edit, this file is generated by FPCMake Version 1.1 [2004/04/21]
 #
 default: all
 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:=$(subst \,/,$(PATH))
+ifneq ($(findstring darwin,$(OSTYPE)),)
+inUnix=1 #darwin
+SEARCHPATH:=$(filter-out .,$(subst :, ,$(PATH)))
+else
 ifeq ($(findstring ;,$(PATH)),)
 inUnix=1
 SEARCHPATH:=$(filter-out .,$(subst :, ,$(PATH)))
 else
 SEARCHPATH:=$(subst ;, ,$(PATH))
 endif
+endif
 SEARCHPATH+=$(patsubst %/,%,$(subst \,/,$(dir $(MAKE))))
 PWD:=$(strip $(wildcard $(addsuffix /pwd.exe,$(SEARCHPATH))))
 ifeq ($(PWD),)
@@ -37,22 +46,13 @@ ifneq ($(findstring cygdrive,$(PATH)),)
 inCygWin=1
 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
-BATCHEXT=.sh
+SRCBATCHEXT=.sh
 else
 ifdef inOS2
-BATCHEXT=.cmd
+SRCBATCHEXT=.cmd
 else
-BATCHEXT=.bat
+SRCBATCHEXT=.bat
 endif
 endif
 ifdef inUnix
@@ -155,6 +155,12 @@ ifeq ($(findstring $(OS_TARGET),$(MAKEFILETARGETS)),)
 $(error The Makefile doesn't support target $(OS_TARGET), please run fpcmake first)
 endif
 endif
+ifneq ($(findstring $(OS_TARGET),$(BSDs)),)
+BSDhier=1
+endif
+ifeq ($(OS_TARGET),linux)
+linuxHier=1
+endif
 export OS_TARGET OS_SOURCE CPU_TARGET CPU_SOURCE FULL_TARGET FULL_SOURCE CROSSCOMPILE
 ifdef FPCDIR
 override FPCDIR:=$(subst \,/,$(FPCDIR))
@@ -216,42 +222,12 @@ 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
-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
 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
 ifndef INSTALL_PREFIX
@@ -260,7 +236,7 @@ INSTALL_PREFIX=$(PREFIX)
 endif
 endif
 ifndef INSTALL_PREFIX
-ifdef UNIXINSTALLDIR
+ifdef UNIXHier
 INSTALL_PREFIX=/usr/local
 else
 ifdef INSTALL_FPCPACKAGE
@@ -279,7 +255,7 @@ DIST_DESTDIR:=$(BASEDIR)
 endif
 export DIST_DESTDIR
 ifndef INSTALL_BASEDIR
-ifdef UNIXINSTALLDIR
+ifdef UNIXHier
 ifdef INSTALL_FPCPACKAGE
 INSTALL_BASEDIR:=$(INSTALL_PREFIX)/lib/fpc/$(FPC_VERSION)
 else
@@ -290,7 +266,7 @@ INSTALL_BASEDIR:=$(INSTALL_PREFIX)
 endif
 endif
 ifndef INSTALL_BINDIR
-ifdef UNIXINSTALLDIR
+ifdef UNIXHier
 ifdef CROSSCOMPILE
 INSTALL_BINDIR:=$(INSTALL_BASEDIR)/cross/$(FULL_TARGET)/bin
 else
@@ -320,19 +296,23 @@ endif
 endif
 endif
 ifndef INSTALL_LIBDIR
-ifdef UNIXINSTALLDIR
+ifdef UNIXHier
 INSTALL_LIBDIR:=$(INSTALL_PREFIX)/lib
 else
 INSTALL_LIBDIR:=$(INSTALL_UNITDIR)
 endif
 endif
 ifndef INSTALL_SOURCEDIR
-ifdef UNIXINSTALLDIR
+ifdef UNIXHier
 ifdef BSDhier
 SRCPREFIXDIR=share/src
 else
+ifdef linuxHier
+SRCPREFIXDIR=share/src
+else
 SRCPREFIXDIR=src
 endif
+endif
 ifdef INSTALL_FPCPACKAGE
 ifdef INSTALL_FPCSUBDIR
 INSTALL_SOURCEDIR:=$(INSTALL_PREFIX)/$(SRCPREFIXDIR)/fpc-$(FPC_VERSION)/$(INSTALL_FPCSUBDIR)/$(PACKAGE_NAME)
@@ -355,12 +335,16 @@ endif
 endif
 endif
 ifndef INSTALL_DOCDIR
-ifdef UNIXINSTALLDIR
+ifdef UNIXHier
 ifdef BSDhier
 DOCPREFIXDIR=share/doc
 else
+ifdef linuxHier
+DOCPREFIXDIR=share/doc
+else
 DOCPREFIXDIR=doc
 endif
+endif
 ifdef INSTALL_FPCPACKAGE
 INSTALL_DOCDIR:=$(INSTALL_PREFIX)/$(DOCPREFIXDIR)/fpc-$(FPC_VERSION)/$(PACKAGE_NAME)
 else
@@ -375,20 +359,28 @@ endif
 endif
 endif
 ifndef INSTALL_EXAMPLEDIR
-ifdef UNIXINSTALLDIR
+ifdef UNIXHier
 ifdef INSTALL_FPCPACKAGE
 ifdef BSDhier
 INSTALL_EXAMPLEDIR:=$(INSTALL_PREFIX)/share/examples/fpc-$(FPC_VERSION)/$(PACKAGE_NAME)
 else
+ifdef linuxHier
+INSTALL_EXAMPLEDIR:=$(INSTALL_DOCDIR)/examples/fpc-$(FPC_VERSION)/$(PACKAGE_NAME)
+else
 INSTALL_EXAMPLEDIR:=$(INSTALL_PREFIX)/doc/fpc-$(FPC_VERSION)/examples/$(PACKAGE_NAME)
 endif
+endif
 else
 ifdef BSDhier
 INSTALL_EXAMPLEDIR:=$(INSTALL_PREFIX)/share/examples/$(PACKAGE_NAME)-$(PACKAGE_VERSION)
 else
+ifdef linuxHier
+INSTALL_EXAMPLEDIR:=$(INSTALL_DOCDIR)/examples/$(PACKAGE_NAME)-$(PACKAGE_VERSION)
+else
 INSTALL_EXAMPLEDIR:=$(INSTALL_PREFIX)/doc/$(PACKAGE_NAME)-$(PACKAGE_VERSION)
 endif
 endif
+endif
 else
 ifdef INSTALL_FPCPACKAGE
 INSTALL_EXAMPLEDIR:=$(INSTALL_BASEDIR)/examples/$(PACKAGE_NAME)
@@ -412,7 +404,19 @@ CROSSBINDIR=
 endif
 ifeq ($(OS_SOURCE),linux)
 ifndef GCCLIBDIR
-GCCLIBDIR:=$(shell dirname `gcc -print-libgcc-file-name`)
+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
 ifndef OTHERLIBDIR
 OTHERLIBDIR:=$(shell grep -v "^\#" /etc/ld.so.conf | awk '{ ORS=" "; print $1 }')
@@ -424,6 +428,7 @@ OTHERLIBDIR+=/usr/pkg/lib
 endif
 export GCCLIBDIR OTHERLIB
 endif
+BATCHEXT=.bat
 LOADEREXT=.as
 EXEEXT=.exe
 PPLEXT=.ppl
@@ -456,24 +461,28 @@ ASMEXT=.asm
 SHAREDLIBEXT=.dll
 endif
 ifeq ($(OS_TARGET),linux)
+BATCHEXT=.sh
 EXEEXT=
 HASSHAREDLIB=1
 FPCMADE=fpcmade.lnx
 ZIPSUFFIX=linux
 endif
 ifeq ($(OS_TARGET),freebsd)
+BATCHEXT=.sh
 EXEEXT=
 HASSHAREDLIB=1
 FPCMADE=fpcmade.freebsd
 ZIPSUFFIX=freebsd
 endif
 ifeq ($(OS_TARGET),netbsd)
+BATCHEXT=.sh
 EXEEXT=
 HASSHAREDLIB=1
 FPCMADE=fpcmade.netbsd
 ZIPSUFFIX=netbsd
 endif
 ifeq ($(OS_TARGET),openbsd)
+BATCHEXT=.sh
 EXEEXT=
 HASSHAREDLIB=1
 FPCMADE=fpcmade.openbsd
@@ -485,6 +494,7 @@ FPCMADE=fpcmade.w32
 ZIPSUFFIX=w32
 endif
 ifeq ($(OS_TARGET),os2)
+BATCHEXT=.cmd
 AOUTEXT=.out
 STATICLIBPREFIX=
 SHAREDLIBEXT=.dll
@@ -493,6 +503,7 @@ ZIPSUFFIX=os2
 ECHO=echo
 endif
 ifeq ($(OS_TARGET),emx)
+BATCHEXT=.cmd
 AOUTEXT=.out
 STATICLIBPREFIX=
 SHAREDLIBEXT=.dll
@@ -510,16 +521,19 @@ EXEEXT=.ttp
 FPCMADE=fpcmade.ata
 endif
 ifeq ($(OS_TARGET),beos)
+BATCHEXT=.sh
 EXEEXT=
 FPCMADE=fpcmade.be
 ZIPSUFFIX=be
 endif
 ifeq ($(OS_TARGET),sunos)
+BATCHEXT=.sh
 EXEEXT=
 FPCMADE=fpcmade.sun
 ZIPSUFFIX=sun
 endif
 ifeq ($(OS_TARGET),qnx)
+BATCHEXT=.sh
 EXEEXT=
 FPCMADE=fpcmade.qnx
 ZIPSUFFIX=qnx
@@ -531,10 +545,14 @@ FPCMADE=fpcmade.nw
 ZIPSUFFIX=nw
 endif
 ifeq ($(OS_TARGET),macos)
+BATCHEXT=
 EXEEXT=
-FPCMADE=fpcmade.mcc
+FPCMADE=fpcmade.macos
+ZIPSUFFIX=macos
+DEBUGSYMEXT=.xcoff
 endif
 ifeq ($(OS_TARGET),darwin)
+BATCHEXT=.sh
 EXEEXT=
 HASSHAREDLIB=1
 FPCMADE=fpcmade.darwin
@@ -563,24 +581,28 @@ FPCMADE=fpcmade.dos
 ZIPSUFFIX=watcom
 endif
 ifeq ($(OS_TARGET),linux)
+BATCHEXT=.sh
 EXEEXT=
 HASSHAREDLIB=1
 FPCMADE=fpcmade.lnx
 ZIPSUFFIX=linux
 endif
 ifeq ($(OS_TARGET),freebsd)
+BATCHEXT=.sh
 EXEEXT=
 HASSHAREDLIB=1
 FPCMADE=fpcmade.freebsd
 ZIPSUFFIX=freebsd
 endif
 ifeq ($(OS_TARGET),netbsd)
+BATCHEXT=.sh
 EXEEXT=
 HASSHAREDLIB=1
 FPCMADE=fpcmade.netbsd
 ZIPSUFFIX=netbsd
 endif
 ifeq ($(OS_TARGET),openbsd)
+BATCHEXT=.sh
 EXEEXT=
 HASSHAREDLIB=1
 FPCMADE=fpcmade.openbsd
@@ -597,6 +619,7 @@ FPCMADE=fpcmade.w32
 ZIPSUFFIX=w32
 endif
 ifeq ($(OS_TARGET),os2)
+BATCHEXT=.cmd
 PPUEXT=.ppo
 ASMEXT=.so2
 OEXT=.oo2
@@ -629,6 +652,7 @@ EXEEXT=.ttp
 FPCMADE=fpcmade.ata
 endif
 ifeq ($(OS_TARGET),beos)
+BATCHEXT=.sh
 PPUEXT=.ppu
 ASMEXT=.s
 OEXT=.o
@@ -639,6 +663,7 @@ FPCMADE=fpcmade.be
 ZIPSUFFIX=be
 endif
 ifeq ($(OS_TARGET),sunos)
+BATCHEXT=.sh
 PPUEXT=.ppu
 ASMEXT=.s
 OEXT=.o
@@ -649,6 +674,7 @@ FPCMADE=fpcmade.sun
 ZIPSUFFIX=sun
 endif
 ifeq ($(OS_TARGET),qnx)
+BATCHEXT=.sh
 PPUEXT=.ppu
 ASMEXT=.s
 OEXT=.o
@@ -671,13 +697,15 @@ ZIPSUFFIX=nw
 EXEEXT=.nlm
 endif
 ifeq ($(OS_TARGET),macos)
+BATCHEXT=
 PPUEXT=.ppu
 ASMEXT=.s
 OEXT=.o
 SMARTEXT=.sl
 STATICLIBEXT=.a
 EXEEXT=
-FPCMADE=fpcmade.mcc
+DEBUGSYMEXT=.xcoff
+FPCMADE=fpcmade.macos
 endif
 endif
 ifndef ECHO
@@ -685,7 +713,7 @@ ECHO:=$(strip $(wildcard $(addsuffix /gecho$(SRCEXEEXT),$(SEARCHPATH))))
 ifeq ($(ECHO),)
 ECHO:=$(strip $(wildcard $(addsuffix /echo$(SRCEXEEXT),$(SEARCHPATH))))
 ifeq ($(ECHO),)
-ECHO=
+ECHO= __missing_command__
 else
 ECHO:=$(firstword $(ECHO))
 endif
@@ -699,7 +727,7 @@ DATE:=$(strip $(wildcard $(addsuffix /gdate$(SRCEXEEXT),$(SEARCHPATH))))
 ifeq ($(DATE),)
 DATE:=$(strip $(wildcard $(addsuffix /date$(SRCEXEEXT),$(SEARCHPATH))))
 ifeq ($(DATE),)
-DATE=
+DATE= __missing_command__
 else
 DATE:=$(firstword $(DATE))
 endif
@@ -713,7 +741,7 @@ GINSTALL:=$(strip $(wildcard $(addsuffix /ginstall$(SRCEXEEXT),$(SEARCHPATH))))
 ifeq ($(GINSTALL),)
 GINSTALL:=$(strip $(wildcard $(addsuffix /install$(SRCEXEEXT),$(SEARCHPATH))))
 ifeq ($(GINSTALL),)
-GINSTALL=
+GINSTALL= __missing_command__
 else
 GINSTALL:=$(firstword $(GINSTALL))
 endif
@@ -725,7 +753,7 @@ export GINSTALL
 ifndef CPPROG
 CPPROG:=$(strip $(wildcard $(addsuffix /cp$(SRCEXEEXT),$(SEARCHPATH))))
 ifeq ($(CPPROG),)
-CPPROG=
+CPPROG= __missing_command__
 else
 CPPROG:=$(firstword $(CPPROG))
 endif
@@ -734,7 +762,7 @@ export CPPROG
 ifndef RMPROG
 RMPROG:=$(strip $(wildcard $(addsuffix /rm$(SRCEXEEXT),$(SEARCHPATH))))
 ifeq ($(RMPROG),)
-RMPROG=
+RMPROG= __missing_command__
 else
 RMPROG:=$(firstword $(RMPROG))
 endif
@@ -743,7 +771,7 @@ export RMPROG
 ifndef MVPROG
 MVPROG:=$(strip $(wildcard $(addsuffix /mv$(SRCEXEEXT),$(SEARCHPATH))))
 ifeq ($(MVPROG),)
-MVPROG=
+MVPROG= __missing_command__
 else
 MVPROG:=$(firstword $(MVPROG))
 endif
@@ -792,7 +820,7 @@ export ECHOREDIR COPY COPYTREE MOVE DEL DELTREE INSTALL INSTALLEXE MKDIR
 ifndef PPUMOVE
 PPUMOVE:=$(strip $(wildcard $(addsuffix /ppumove$(SRCEXEEXT),$(SEARCHPATH))))
 ifeq ($(PPUMOVE),)
-PPUMOVE=
+PPUMOVE= __missing_command__
 else
 PPUMOVE:=$(firstword $(PPUMOVE))
 endif
@@ -801,7 +829,7 @@ export PPUMOVE
 ifndef FPCMAKE
 FPCMAKE:=$(strip $(wildcard $(addsuffix /fpcmake$(SRCEXEEXT),$(SEARCHPATH))))
 ifeq ($(FPCMAKE),)
-FPCMAKE=
+FPCMAKE= __missing_command__
 else
 FPCMAKE:=$(firstword $(FPCMAKE))
 endif
@@ -810,7 +838,7 @@ export FPCMAKE
 ifndef ZIPPROG
 ZIPPROG:=$(strip $(wildcard $(addsuffix /zip$(SRCEXEEXT),$(SEARCHPATH))))
 ifeq ($(ZIPPROG),)
-ZIPPROG=
+ZIPPROG= __missing_command__
 else
 ZIPPROG:=$(firstword $(ZIPPROG))
 endif
@@ -819,7 +847,7 @@ export ZIPPROG
 ifndef TARPROG
 TARPROG:=$(strip $(wildcard $(addsuffix /tar$(SRCEXEEXT),$(SEARCHPATH))))
 ifeq ($(TARPROG),)
-TARPROG=
+TARPROG= __missing_command__
 else
 TARPROG:=$(firstword $(TARPROG))
 endif
@@ -831,9 +859,11 @@ ARNAME=$(BINUTILSPREFIX)ar
 RCNAME=$(BINUTILSPREFIX)rc
 ifneq ($(findstring 1.0.,$(FPC_VERSION)),)
 ifeq ($(OS_TARGET),win32)
-ASNAME=as
-LDNAME=ld
-ARNAME=ar
+ifeq ($(CROSSBINDIR),)
+ASNAME=asw
+LDNAME=ldw
+ARNAME=arw
+endif
 endif
 endif
 ifndef ASPROG
@@ -868,7 +898,7 @@ AS=$(ASPROG)
 LD=$(LDPROG)
 RC=$(RCPROG)
 AR=$(ARPROG)
-PPAS=ppas$(BATCHEXT)
+PPAS=ppas$(SRCBATCHEXT)
 ifdef inUnix
 LDCONFIG=ldconfig
 else
@@ -1239,8 +1269,12 @@ ifdef RELEASE
 ifeq ($(CPU_TARGET),i386)
 FPCCPUOPT:=-OG2p3
 else
+ifeq ($(CPU_TARGET),powerpc)
+FPCCPUOPT:=-O1
+else
 FPCCPUOPT:=
 endif
+endif
 override FPCOPT+=-Xs $(FPCCPUOPT) -n
 override FPCOPTDEF+=RELEASE
 endif
@@ -1453,6 +1487,9 @@ override CLEANPPUFILES+=$(addsuffix $(PPUEXT),$(CLEAN_UNITS))
 endif
 ifdef 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 CLEANPPULINKFILES:=$(wildcard $(addprefix $(UNITTARGETDIRPREFIX),$(CLEANPPULINKFILES)))
 endif
@@ -1476,6 +1513,7 @@ ifdef LIB_NAME
 	-$(DEL) $(LIB_NAME) $(LIB_FULLNAME)
 endif
 	-$(DEL) $(FPCMADE) Package.fpc $(PPAS) script.res link.res $(FPCEXTFILE) $(REDIRFILE)
+	-$(DEL) *$(ASMEXT) *_ppas$(BATCHEXT)
 fpc_distclean: clean
 ifdef COMPILER_UNITTARGETDIR
 TARGETDIRCLEAN=fpc_clean
@@ -1487,9 +1525,13 @@ endif
 	-$(DEL) *$(OEXT) *$(PPUEXT) *$(RSTEXT) *$(ASMEXT) *$(STATICLIBEXT) *$(SHAREDLIBEXT) *$(PPLEXT)
 	-$(DELTREE) *$(SMARTEXT)
 	-$(DEL) $(FPCMADE) Package.fpc $(PPAS) script.res link.res $(FPCEXTFILE) $(REDIRFILE)
+	-$(DEL) *_ppas$(BATCHEXT)
 ifdef AOUTEXT
 	-$(DEL) *$(AOUTEXT)
 endif
+ifdef DEBUGSYMEXT
+	-$(DEL) *$(DEBUGSYMEXT)
+endif
 .PHONY: fpc_baseinfo
 override INFORULES+=fpc_baseinfo
 fpc_baseinfo:

+ 114 - 72
packages/extra/fpgtk/Makefile

@@ -1,15 +1,24 @@
 #
-# Don't edit, this file is generated by FPCMake Version 1.1 [2004/02/22]
+# Don't edit, this file is generated by FPCMake Version 1.1 [2004/04/21]
 #
 default: all
 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:=$(subst \,/,$(PATH))
+ifneq ($(findstring darwin,$(OSTYPE)),)
+inUnix=1 #darwin
+SEARCHPATH:=$(filter-out .,$(subst :, ,$(PATH)))
+else
 ifeq ($(findstring ;,$(PATH)),)
 inUnix=1
 SEARCHPATH:=$(filter-out .,$(subst :, ,$(PATH)))
 else
 SEARCHPATH:=$(subst ;, ,$(PATH))
 endif
+endif
 SEARCHPATH+=$(patsubst %/,%,$(subst \,/,$(dir $(MAKE))))
 PWD:=$(strip $(wildcard $(addsuffix /pwd.exe,$(SEARCHPATH))))
 ifeq ($(PWD),)
@@ -37,22 +46,13 @@ ifneq ($(findstring cygdrive,$(PATH)),)
 inCygWin=1
 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
-BATCHEXT=.sh
+SRCBATCHEXT=.sh
 else
 ifdef inOS2
-BATCHEXT=.cmd
+SRCBATCHEXT=.cmd
 else
-BATCHEXT=.bat
+SRCBATCHEXT=.bat
 endif
 endif
 ifdef inUnix
@@ -155,6 +155,12 @@ ifeq ($(findstring $(OS_TARGET),$(MAKEFILETARGETS)),)
 $(error The Makefile doesn't support target $(OS_TARGET), please run fpcmake first)
 endif
 endif
+ifneq ($(findstring $(OS_TARGET),$(BSDs)),)
+BSDhier=1
+endif
+ifeq ($(OS_TARGET),linux)
+linuxHier=1
+endif
 export OS_TARGET OS_SOURCE CPU_TARGET CPU_SOURCE FULL_TARGET FULL_SOURCE CROSSCOMPILE
 ifdef FPCDIR
 override FPCDIR:=$(subst \,/,$(FPCDIR))
@@ -219,42 +225,12 @@ 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
-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
 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
 ifndef INSTALL_PREFIX
@@ -263,7 +239,7 @@ INSTALL_PREFIX=$(PREFIX)
 endif
 endif
 ifndef INSTALL_PREFIX
-ifdef UNIXINSTALLDIR
+ifdef UNIXHier
 INSTALL_PREFIX=/usr/local
 else
 ifdef INSTALL_FPCPACKAGE
@@ -282,7 +258,7 @@ DIST_DESTDIR:=$(BASEDIR)
 endif
 export DIST_DESTDIR
 ifndef INSTALL_BASEDIR
-ifdef UNIXINSTALLDIR
+ifdef UNIXHier
 ifdef INSTALL_FPCPACKAGE
 INSTALL_BASEDIR:=$(INSTALL_PREFIX)/lib/fpc/$(FPC_VERSION)
 else
@@ -293,7 +269,7 @@ INSTALL_BASEDIR:=$(INSTALL_PREFIX)
 endif
 endif
 ifndef INSTALL_BINDIR
-ifdef UNIXINSTALLDIR
+ifdef UNIXHier
 ifdef CROSSCOMPILE
 INSTALL_BINDIR:=$(INSTALL_BASEDIR)/cross/$(FULL_TARGET)/bin
 else
@@ -323,19 +299,23 @@ endif
 endif
 endif
 ifndef INSTALL_LIBDIR
-ifdef UNIXINSTALLDIR
+ifdef UNIXHier
 INSTALL_LIBDIR:=$(INSTALL_PREFIX)/lib
 else
 INSTALL_LIBDIR:=$(INSTALL_UNITDIR)
 endif
 endif
 ifndef INSTALL_SOURCEDIR
-ifdef UNIXINSTALLDIR
+ifdef UNIXHier
 ifdef BSDhier
 SRCPREFIXDIR=share/src
 else
+ifdef linuxHier
+SRCPREFIXDIR=share/src
+else
 SRCPREFIXDIR=src
 endif
+endif
 ifdef INSTALL_FPCPACKAGE
 ifdef INSTALL_FPCSUBDIR
 INSTALL_SOURCEDIR:=$(INSTALL_PREFIX)/$(SRCPREFIXDIR)/fpc-$(FPC_VERSION)/$(INSTALL_FPCSUBDIR)/$(PACKAGE_NAME)
@@ -358,12 +338,16 @@ endif
 endif
 endif
 ifndef INSTALL_DOCDIR
-ifdef UNIXINSTALLDIR
+ifdef UNIXHier
 ifdef BSDhier
 DOCPREFIXDIR=share/doc
 else
+ifdef linuxHier
+DOCPREFIXDIR=share/doc
+else
 DOCPREFIXDIR=doc
 endif
+endif
 ifdef INSTALL_FPCPACKAGE
 INSTALL_DOCDIR:=$(INSTALL_PREFIX)/$(DOCPREFIXDIR)/fpc-$(FPC_VERSION)/$(PACKAGE_NAME)
 else
@@ -378,20 +362,28 @@ endif
 endif
 endif
 ifndef INSTALL_EXAMPLEDIR
-ifdef UNIXINSTALLDIR
+ifdef UNIXHier
 ifdef INSTALL_FPCPACKAGE
 ifdef BSDhier
 INSTALL_EXAMPLEDIR:=$(INSTALL_PREFIX)/share/examples/fpc-$(FPC_VERSION)/$(PACKAGE_NAME)
 else
+ifdef linuxHier
+INSTALL_EXAMPLEDIR:=$(INSTALL_DOCDIR)/examples/fpc-$(FPC_VERSION)/$(PACKAGE_NAME)
+else
 INSTALL_EXAMPLEDIR:=$(INSTALL_PREFIX)/doc/fpc-$(FPC_VERSION)/examples/$(PACKAGE_NAME)
 endif
+endif
 else
 ifdef BSDhier
 INSTALL_EXAMPLEDIR:=$(INSTALL_PREFIX)/share/examples/$(PACKAGE_NAME)-$(PACKAGE_VERSION)
 else
+ifdef linuxHier
+INSTALL_EXAMPLEDIR:=$(INSTALL_DOCDIR)/examples/$(PACKAGE_NAME)-$(PACKAGE_VERSION)
+else
 INSTALL_EXAMPLEDIR:=$(INSTALL_PREFIX)/doc/$(PACKAGE_NAME)-$(PACKAGE_VERSION)
 endif
 endif
+endif
 else
 ifdef INSTALL_FPCPACKAGE
 INSTALL_EXAMPLEDIR:=$(INSTALL_BASEDIR)/examples/$(PACKAGE_NAME)
@@ -415,7 +407,19 @@ CROSSBINDIR=
 endif
 ifeq ($(OS_SOURCE),linux)
 ifndef GCCLIBDIR
-GCCLIBDIR:=$(shell dirname `gcc -print-libgcc-file-name`)
+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
 ifndef OTHERLIBDIR
 OTHERLIBDIR:=$(shell grep -v "^\#" /etc/ld.so.conf | awk '{ ORS=" "; print $1 }')
@@ -427,6 +431,7 @@ OTHERLIBDIR+=/usr/pkg/lib
 endif
 export GCCLIBDIR OTHERLIB
 endif
+BATCHEXT=.bat
 LOADEREXT=.as
 EXEEXT=.exe
 PPLEXT=.ppl
@@ -459,24 +464,28 @@ ASMEXT=.asm
 SHAREDLIBEXT=.dll
 endif
 ifeq ($(OS_TARGET),linux)
+BATCHEXT=.sh
 EXEEXT=
 HASSHAREDLIB=1
 FPCMADE=fpcmade.lnx
 ZIPSUFFIX=linux
 endif
 ifeq ($(OS_TARGET),freebsd)
+BATCHEXT=.sh
 EXEEXT=
 HASSHAREDLIB=1
 FPCMADE=fpcmade.freebsd
 ZIPSUFFIX=freebsd
 endif
 ifeq ($(OS_TARGET),netbsd)
+BATCHEXT=.sh
 EXEEXT=
 HASSHAREDLIB=1
 FPCMADE=fpcmade.netbsd
 ZIPSUFFIX=netbsd
 endif
 ifeq ($(OS_TARGET),openbsd)
+BATCHEXT=.sh
 EXEEXT=
 HASSHAREDLIB=1
 FPCMADE=fpcmade.openbsd
@@ -488,6 +497,7 @@ FPCMADE=fpcmade.w32
 ZIPSUFFIX=w32
 endif
 ifeq ($(OS_TARGET),os2)
+BATCHEXT=.cmd
 AOUTEXT=.out
 STATICLIBPREFIX=
 SHAREDLIBEXT=.dll
@@ -496,6 +506,7 @@ ZIPSUFFIX=os2
 ECHO=echo
 endif
 ifeq ($(OS_TARGET),emx)
+BATCHEXT=.cmd
 AOUTEXT=.out
 STATICLIBPREFIX=
 SHAREDLIBEXT=.dll
@@ -513,16 +524,19 @@ EXEEXT=.ttp
 FPCMADE=fpcmade.ata
 endif
 ifeq ($(OS_TARGET),beos)
+BATCHEXT=.sh
 EXEEXT=
 FPCMADE=fpcmade.be
 ZIPSUFFIX=be
 endif
 ifeq ($(OS_TARGET),sunos)
+BATCHEXT=.sh
 EXEEXT=
 FPCMADE=fpcmade.sun
 ZIPSUFFIX=sun
 endif
 ifeq ($(OS_TARGET),qnx)
+BATCHEXT=.sh
 EXEEXT=
 FPCMADE=fpcmade.qnx
 ZIPSUFFIX=qnx
@@ -534,10 +548,14 @@ FPCMADE=fpcmade.nw
 ZIPSUFFIX=nw
 endif
 ifeq ($(OS_TARGET),macos)
+BATCHEXT=
 EXEEXT=
-FPCMADE=fpcmade.mcc
+FPCMADE=fpcmade.macos
+ZIPSUFFIX=macos
+DEBUGSYMEXT=.xcoff
 endif
 ifeq ($(OS_TARGET),darwin)
+BATCHEXT=.sh
 EXEEXT=
 HASSHAREDLIB=1
 FPCMADE=fpcmade.darwin
@@ -566,24 +584,28 @@ FPCMADE=fpcmade.dos
 ZIPSUFFIX=watcom
 endif
 ifeq ($(OS_TARGET),linux)
+BATCHEXT=.sh
 EXEEXT=
 HASSHAREDLIB=1
 FPCMADE=fpcmade.lnx
 ZIPSUFFIX=linux
 endif
 ifeq ($(OS_TARGET),freebsd)
+BATCHEXT=.sh
 EXEEXT=
 HASSHAREDLIB=1
 FPCMADE=fpcmade.freebsd
 ZIPSUFFIX=freebsd
 endif
 ifeq ($(OS_TARGET),netbsd)
+BATCHEXT=.sh
 EXEEXT=
 HASSHAREDLIB=1
 FPCMADE=fpcmade.netbsd
 ZIPSUFFIX=netbsd
 endif
 ifeq ($(OS_TARGET),openbsd)
+BATCHEXT=.sh
 EXEEXT=
 HASSHAREDLIB=1
 FPCMADE=fpcmade.openbsd
@@ -600,6 +622,7 @@ FPCMADE=fpcmade.w32
 ZIPSUFFIX=w32
 endif
 ifeq ($(OS_TARGET),os2)
+BATCHEXT=.cmd
 PPUEXT=.ppo
 ASMEXT=.so2
 OEXT=.oo2
@@ -632,6 +655,7 @@ EXEEXT=.ttp
 FPCMADE=fpcmade.ata
 endif
 ifeq ($(OS_TARGET),beos)
+BATCHEXT=.sh
 PPUEXT=.ppu
 ASMEXT=.s
 OEXT=.o
@@ -642,6 +666,7 @@ FPCMADE=fpcmade.be
 ZIPSUFFIX=be
 endif
 ifeq ($(OS_TARGET),sunos)
+BATCHEXT=.sh
 PPUEXT=.ppu
 ASMEXT=.s
 OEXT=.o
@@ -652,6 +677,7 @@ FPCMADE=fpcmade.sun
 ZIPSUFFIX=sun
 endif
 ifeq ($(OS_TARGET),qnx)
+BATCHEXT=.sh
 PPUEXT=.ppu
 ASMEXT=.s
 OEXT=.o
@@ -674,13 +700,15 @@ ZIPSUFFIX=nw
 EXEEXT=.nlm
 endif
 ifeq ($(OS_TARGET),macos)
+BATCHEXT=
 PPUEXT=.ppu
 ASMEXT=.s
 OEXT=.o
 SMARTEXT=.sl
 STATICLIBEXT=.a
 EXEEXT=
-FPCMADE=fpcmade.mcc
+DEBUGSYMEXT=.xcoff
+FPCMADE=fpcmade.macos
 endif
 endif
 ifndef ECHO
@@ -688,7 +716,7 @@ ECHO:=$(strip $(wildcard $(addsuffix /gecho$(SRCEXEEXT),$(SEARCHPATH))))
 ifeq ($(ECHO),)
 ECHO:=$(strip $(wildcard $(addsuffix /echo$(SRCEXEEXT),$(SEARCHPATH))))
 ifeq ($(ECHO),)
-ECHO=
+ECHO= __missing_command__
 else
 ECHO:=$(firstword $(ECHO))
 endif
@@ -702,7 +730,7 @@ DATE:=$(strip $(wildcard $(addsuffix /gdate$(SRCEXEEXT),$(SEARCHPATH))))
 ifeq ($(DATE),)
 DATE:=$(strip $(wildcard $(addsuffix /date$(SRCEXEEXT),$(SEARCHPATH))))
 ifeq ($(DATE),)
-DATE=
+DATE= __missing_command__
 else
 DATE:=$(firstword $(DATE))
 endif
@@ -716,7 +744,7 @@ GINSTALL:=$(strip $(wildcard $(addsuffix /ginstall$(SRCEXEEXT),$(SEARCHPATH))))
 ifeq ($(GINSTALL),)
 GINSTALL:=$(strip $(wildcard $(addsuffix /install$(SRCEXEEXT),$(SEARCHPATH))))
 ifeq ($(GINSTALL),)
-GINSTALL=
+GINSTALL= __missing_command__
 else
 GINSTALL:=$(firstword $(GINSTALL))
 endif
@@ -728,7 +756,7 @@ export GINSTALL
 ifndef CPPROG
 CPPROG:=$(strip $(wildcard $(addsuffix /cp$(SRCEXEEXT),$(SEARCHPATH))))
 ifeq ($(CPPROG),)
-CPPROG=
+CPPROG= __missing_command__
 else
 CPPROG:=$(firstword $(CPPROG))
 endif
@@ -737,7 +765,7 @@ export CPPROG
 ifndef RMPROG
 RMPROG:=$(strip $(wildcard $(addsuffix /rm$(SRCEXEEXT),$(SEARCHPATH))))
 ifeq ($(RMPROG),)
-RMPROG=
+RMPROG= __missing_command__
 else
 RMPROG:=$(firstword $(RMPROG))
 endif
@@ -746,7 +774,7 @@ export RMPROG
 ifndef MVPROG
 MVPROG:=$(strip $(wildcard $(addsuffix /mv$(SRCEXEEXT),$(SEARCHPATH))))
 ifeq ($(MVPROG),)
-MVPROG=
+MVPROG= __missing_command__
 else
 MVPROG:=$(firstword $(MVPROG))
 endif
@@ -795,7 +823,7 @@ export ECHOREDIR COPY COPYTREE MOVE DEL DELTREE INSTALL INSTALLEXE MKDIR
 ifndef PPUMOVE
 PPUMOVE:=$(strip $(wildcard $(addsuffix /ppumove$(SRCEXEEXT),$(SEARCHPATH))))
 ifeq ($(PPUMOVE),)
-PPUMOVE=
+PPUMOVE= __missing_command__
 else
 PPUMOVE:=$(firstword $(PPUMOVE))
 endif
@@ -804,7 +832,7 @@ export PPUMOVE
 ifndef FPCMAKE
 FPCMAKE:=$(strip $(wildcard $(addsuffix /fpcmake$(SRCEXEEXT),$(SEARCHPATH))))
 ifeq ($(FPCMAKE),)
-FPCMAKE=
+FPCMAKE= __missing_command__
 else
 FPCMAKE:=$(firstword $(FPCMAKE))
 endif
@@ -813,7 +841,7 @@ export FPCMAKE
 ifndef ZIPPROG
 ZIPPROG:=$(strip $(wildcard $(addsuffix /zip$(SRCEXEEXT),$(SEARCHPATH))))
 ifeq ($(ZIPPROG),)
-ZIPPROG=
+ZIPPROG= __missing_command__
 else
 ZIPPROG:=$(firstword $(ZIPPROG))
 endif
@@ -822,7 +850,7 @@ export ZIPPROG
 ifndef TARPROG
 TARPROG:=$(strip $(wildcard $(addsuffix /tar$(SRCEXEEXT),$(SEARCHPATH))))
 ifeq ($(TARPROG),)
-TARPROG=
+TARPROG= __missing_command__
 else
 TARPROG:=$(firstword $(TARPROG))
 endif
@@ -834,9 +862,11 @@ ARNAME=$(BINUTILSPREFIX)ar
 RCNAME=$(BINUTILSPREFIX)rc
 ifneq ($(findstring 1.0.,$(FPC_VERSION)),)
 ifeq ($(OS_TARGET),win32)
-ASNAME=as
-LDNAME=ld
-ARNAME=ar
+ifeq ($(CROSSBINDIR),)
+ASNAME=asw
+LDNAME=ldw
+ARNAME=arw
+endif
 endif
 endif
 ifndef ASPROG
@@ -871,7 +901,7 @@ AS=$(ASPROG)
 LD=$(LDPROG)
 RC=$(RCPROG)
 AR=$(ARPROG)
-PPAS=ppas$(BATCHEXT)
+PPAS=ppas$(SRCBATCHEXT)
 ifdef inUnix
 LDCONFIG=ldconfig
 else
@@ -1723,8 +1753,12 @@ ifdef RELEASE
 ifeq ($(CPU_TARGET),i386)
 FPCCPUOPT:=-OG2p3
 else
+ifeq ($(CPU_TARGET),powerpc)
+FPCCPUOPT:=-O1
+else
 FPCCPUOPT:=
 endif
+endif
 override FPCOPT+=-Xs $(FPCCPUOPT) -n
 override FPCOPTDEF+=RELEASE
 endif
@@ -1956,7 +1990,7 @@ USEZIPWRAPPER=1
 endif
 ifdef USEZIPWRAPPER
 ZIPPATHSEP=$(PATHSEP)
-ZIPWRAPPER=$(subst /,$(PATHSEP),$(DIST_DESTDIR)/fpczip$(BATCHEXT))
+ZIPWRAPPER=$(subst /,$(PATHSEP),$(DIST_DESTDIR)/fpczip$(SRCBATCHEXT))
 else
 ZIPPATHSEP=/
 endif
@@ -2010,6 +2044,9 @@ override CLEANPPUFILES+=$(addsuffix $(PPUEXT),$(CLEAN_UNITS))
 endif
 ifdef 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 CLEANPPULINKFILES:=$(wildcard $(addprefix $(UNITTARGETDIRPREFIX),$(CLEANPPULINKFILES)))
 endif
@@ -2033,6 +2070,7 @@ ifdef LIB_NAME
 	-$(DEL) $(LIB_NAME) $(LIB_FULLNAME)
 endif
 	-$(DEL) $(FPCMADE) Package.fpc $(PPAS) script.res link.res $(FPCEXTFILE) $(REDIRFILE)
+	-$(DEL) *$(ASMEXT) *_ppas$(BATCHEXT)
 fpc_distclean: clean
 ifdef COMPILER_UNITTARGETDIR
 TARGETDIRCLEAN=fpc_clean
@@ -2044,9 +2082,13 @@ endif
 	-$(DEL) *$(OEXT) *$(PPUEXT) *$(RSTEXT) *$(ASMEXT) *$(STATICLIBEXT) *$(SHAREDLIBEXT) *$(PPLEXT)
 	-$(DELTREE) *$(SMARTEXT)
 	-$(DEL) $(FPCMADE) Package.fpc $(PPAS) script.res link.res $(FPCEXTFILE) $(REDIRFILE)
+	-$(DEL) *_ppas$(BATCHEXT)
 ifdef AOUTEXT
 	-$(DEL) *$(AOUTEXT)
 endif
+ifdef DEBUGSYMEXT
+	-$(DEL) *$(DEBUGSYMEXT)
+endif
 .PHONY: fpc_baseinfo
 override INFORULES+=fpc_baseinfo
 fpc_baseinfo:

+ 189 - 71
packages/extra/fpgtk/demo/Makefile

@@ -1,15 +1,24 @@
 #
-# Don't edit, this file is generated by FPCMake Version 1.1 [2004/01/05]
+# Don't edit, this file is generated by FPCMake Version 1.1 [2004/04/21]
 #
 default: all
 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:=$(subst \,/,$(PATH))
+ifneq ($(findstring darwin,$(OSTYPE)),)
+inUnix=1 #darwin
+SEARCHPATH:=$(filter-out .,$(subst :, ,$(PATH)))
+else
 ifeq ($(findstring ;,$(PATH)),)
 inUnix=1
 SEARCHPATH:=$(filter-out .,$(subst :, ,$(PATH)))
 else
 SEARCHPATH:=$(subst ;, ,$(PATH))
 endif
+endif
 SEARCHPATH+=$(patsubst %/,%,$(subst \,/,$(dir $(MAKE))))
 PWD:=$(strip $(wildcard $(addsuffix /pwd.exe,$(SEARCHPATH))))
 ifeq ($(PWD),)
@@ -37,22 +46,13 @@ ifneq ($(findstring cygdrive,$(PATH)),)
 inCygWin=1
 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
-BATCHEXT=.sh
+SRCBATCHEXT=.sh
 else
 ifdef inOS2
-BATCHEXT=.cmd
+SRCBATCHEXT=.cmd
 else
-BATCHEXT=.bat
+SRCBATCHEXT=.bat
 endif
 endif
 ifdef inUnix
@@ -155,6 +155,12 @@ ifeq ($(findstring $(OS_TARGET),$(MAKEFILETARGETS)),)
 $(error The Makefile doesn't support target $(OS_TARGET), please run fpcmake first)
 endif
 endif
+ifneq ($(findstring $(OS_TARGET),$(BSDs)),)
+BSDhier=1
+endif
+ifeq ($(OS_TARGET),linux)
+linuxHier=1
+endif
 export OS_TARGET OS_SOURCE CPU_TARGET CPU_SOURCE FULL_TARGET FULL_SOURCE CROSSCOMPILE
 ifdef FPCDIR
 override FPCDIR:=$(subst \,/,$(FPCDIR))
@@ -184,11 +190,14 @@ override FPCDIR:=$(FPCDIR)/..
 ifeq ($(wildcard $(addprefix $(FPCDIR)/,rtl units)),)
 override FPCDIR:=$(FPCDIR)/..
 ifeq ($(wildcard $(addprefix $(FPCDIR)/,rtl units)),)
+override FPCDIR:=$(BASEDIR)
+ifeq ($(wildcard $(addprefix $(FPCDIR)/,rtl units)),)
 override FPCDIR=c:/pp
 endif
 endif
 endif
 endif
+endif
 ifndef CROSSDIR
 CROSSDIR:=$(FPCDIR)/cross/$(FULL_TARGET)
 endif
@@ -214,42 +223,12 @@ 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
-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
 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
 ifndef INSTALL_PREFIX
@@ -258,7 +237,7 @@ INSTALL_PREFIX=$(PREFIX)
 endif
 endif
 ifndef INSTALL_PREFIX
-ifdef UNIXINSTALLDIR
+ifdef UNIXHier
 INSTALL_PREFIX=/usr/local
 else
 ifdef INSTALL_FPCPACKAGE
@@ -277,7 +256,7 @@ DIST_DESTDIR:=$(BASEDIR)
 endif
 export DIST_DESTDIR
 ifndef INSTALL_BASEDIR
-ifdef UNIXINSTALLDIR
+ifdef UNIXHier
 ifdef INSTALL_FPCPACKAGE
 INSTALL_BASEDIR:=$(INSTALL_PREFIX)/lib/fpc/$(FPC_VERSION)
 else
@@ -288,7 +267,7 @@ INSTALL_BASEDIR:=$(INSTALL_PREFIX)
 endif
 endif
 ifndef INSTALL_BINDIR
-ifdef UNIXINSTALLDIR
+ifdef UNIXHier
 ifdef CROSSCOMPILE
 INSTALL_BINDIR:=$(INSTALL_BASEDIR)/cross/$(FULL_TARGET)/bin
 else
@@ -318,19 +297,23 @@ endif
 endif
 endif
 ifndef INSTALL_LIBDIR
-ifdef UNIXINSTALLDIR
+ifdef UNIXHier
 INSTALL_LIBDIR:=$(INSTALL_PREFIX)/lib
 else
 INSTALL_LIBDIR:=$(INSTALL_UNITDIR)
 endif
 endif
 ifndef INSTALL_SOURCEDIR
-ifdef UNIXINSTALLDIR
+ifdef UNIXHier
 ifdef BSDhier
 SRCPREFIXDIR=share/src
 else
+ifdef linuxHier
+SRCPREFIXDIR=share/src
+else
 SRCPREFIXDIR=src
 endif
+endif
 ifdef INSTALL_FPCPACKAGE
 ifdef INSTALL_FPCSUBDIR
 INSTALL_SOURCEDIR:=$(INSTALL_PREFIX)/$(SRCPREFIXDIR)/fpc-$(FPC_VERSION)/$(INSTALL_FPCSUBDIR)/$(PACKAGE_NAME)
@@ -353,12 +336,16 @@ endif
 endif
 endif
 ifndef INSTALL_DOCDIR
-ifdef UNIXINSTALLDIR
+ifdef UNIXHier
 ifdef BSDhier
 DOCPREFIXDIR=share/doc
 else
+ifdef linuxHier
+DOCPREFIXDIR=share/doc
+else
 DOCPREFIXDIR=doc
 endif
+endif
 ifdef INSTALL_FPCPACKAGE
 INSTALL_DOCDIR:=$(INSTALL_PREFIX)/$(DOCPREFIXDIR)/fpc-$(FPC_VERSION)/$(PACKAGE_NAME)
 else
@@ -373,20 +360,28 @@ endif
 endif
 endif
 ifndef INSTALL_EXAMPLEDIR
-ifdef UNIXINSTALLDIR
+ifdef UNIXHier
 ifdef INSTALL_FPCPACKAGE
 ifdef BSDhier
 INSTALL_EXAMPLEDIR:=$(INSTALL_PREFIX)/share/examples/fpc-$(FPC_VERSION)/$(PACKAGE_NAME)
 else
+ifdef linuxHier
+INSTALL_EXAMPLEDIR:=$(INSTALL_DOCDIR)/examples/fpc-$(FPC_VERSION)/$(PACKAGE_NAME)
+else
 INSTALL_EXAMPLEDIR:=$(INSTALL_PREFIX)/doc/fpc-$(FPC_VERSION)/examples/$(PACKAGE_NAME)
 endif
+endif
 else
 ifdef BSDhier
 INSTALL_EXAMPLEDIR:=$(INSTALL_PREFIX)/share/examples/$(PACKAGE_NAME)-$(PACKAGE_VERSION)
 else
+ifdef linuxHier
+INSTALL_EXAMPLEDIR:=$(INSTALL_DOCDIR)/examples/$(PACKAGE_NAME)-$(PACKAGE_VERSION)
+else
 INSTALL_EXAMPLEDIR:=$(INSTALL_PREFIX)/doc/$(PACKAGE_NAME)-$(PACKAGE_VERSION)
 endif
 endif
+endif
 else
 ifdef INSTALL_FPCPACKAGE
 INSTALL_EXAMPLEDIR:=$(INSTALL_BASEDIR)/examples/$(PACKAGE_NAME)
@@ -410,7 +405,19 @@ CROSSBINDIR=
 endif
 ifeq ($(OS_SOURCE),linux)
 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
 ifndef OTHERLIBDIR
 OTHERLIBDIR:=$(shell grep -v "^\#" /etc/ld.so.conf | awk '{ ORS=" "; print $1 }')
@@ -422,6 +429,7 @@ OTHERLIBDIR+=/usr/pkg/lib
 endif
 export GCCLIBDIR OTHERLIB
 endif
+BATCHEXT=.bat
 LOADEREXT=.as
 EXEEXT=.exe
 PPLEXT=.ppl
@@ -454,24 +462,28 @@ ASMEXT=.asm
 SHAREDLIBEXT=.dll
 endif
 ifeq ($(OS_TARGET),linux)
+BATCHEXT=.sh
 EXEEXT=
 HASSHAREDLIB=1
 FPCMADE=fpcmade.lnx
 ZIPSUFFIX=linux
 endif
 ifeq ($(OS_TARGET),freebsd)
+BATCHEXT=.sh
 EXEEXT=
 HASSHAREDLIB=1
 FPCMADE=fpcmade.freebsd
 ZIPSUFFIX=freebsd
 endif
 ifeq ($(OS_TARGET),netbsd)
+BATCHEXT=.sh
 EXEEXT=
 HASSHAREDLIB=1
 FPCMADE=fpcmade.netbsd
 ZIPSUFFIX=netbsd
 endif
 ifeq ($(OS_TARGET),openbsd)
+BATCHEXT=.sh
 EXEEXT=
 HASSHAREDLIB=1
 FPCMADE=fpcmade.openbsd
@@ -483,6 +495,7 @@ FPCMADE=fpcmade.w32
 ZIPSUFFIX=w32
 endif
 ifeq ($(OS_TARGET),os2)
+BATCHEXT=.cmd
 AOUTEXT=.out
 STATICLIBPREFIX=
 SHAREDLIBEXT=.dll
@@ -491,6 +504,7 @@ ZIPSUFFIX=os2
 ECHO=echo
 endif
 ifeq ($(OS_TARGET),emx)
+BATCHEXT=.cmd
 AOUTEXT=.out
 STATICLIBPREFIX=
 SHAREDLIBEXT=.dll
@@ -508,16 +522,19 @@ EXEEXT=.ttp
 FPCMADE=fpcmade.ata
 endif
 ifeq ($(OS_TARGET),beos)
+BATCHEXT=.sh
 EXEEXT=
 FPCMADE=fpcmade.be
 ZIPSUFFIX=be
 endif
 ifeq ($(OS_TARGET),sunos)
+BATCHEXT=.sh
 EXEEXT=
 FPCMADE=fpcmade.sun
 ZIPSUFFIX=sun
 endif
 ifeq ($(OS_TARGET),qnx)
+BATCHEXT=.sh
 EXEEXT=
 FPCMADE=fpcmade.qnx
 ZIPSUFFIX=qnx
@@ -529,10 +546,14 @@ FPCMADE=fpcmade.nw
 ZIPSUFFIX=nw
 endif
 ifeq ($(OS_TARGET),macos)
+BATCHEXT=
 EXEEXT=
-FPCMADE=fpcmade.mcc
+FPCMADE=fpcmade.macos
+ZIPSUFFIX=macos
+DEBUGSYMEXT=.xcoff
 endif
 ifeq ($(OS_TARGET),darwin)
+BATCHEXT=.sh
 EXEEXT=
 HASSHAREDLIB=1
 FPCMADE=fpcmade.darwin
@@ -561,24 +582,28 @@ FPCMADE=fpcmade.dos
 ZIPSUFFIX=watcom
 endif
 ifeq ($(OS_TARGET),linux)
+BATCHEXT=.sh
 EXEEXT=
 HASSHAREDLIB=1
 FPCMADE=fpcmade.lnx
 ZIPSUFFIX=linux
 endif
 ifeq ($(OS_TARGET),freebsd)
+BATCHEXT=.sh
 EXEEXT=
 HASSHAREDLIB=1
 FPCMADE=fpcmade.freebsd
 ZIPSUFFIX=freebsd
 endif
 ifeq ($(OS_TARGET),netbsd)
+BATCHEXT=.sh
 EXEEXT=
 HASSHAREDLIB=1
 FPCMADE=fpcmade.netbsd
 ZIPSUFFIX=netbsd
 endif
 ifeq ($(OS_TARGET),openbsd)
+BATCHEXT=.sh
 EXEEXT=
 HASSHAREDLIB=1
 FPCMADE=fpcmade.openbsd
@@ -595,6 +620,7 @@ FPCMADE=fpcmade.w32
 ZIPSUFFIX=w32
 endif
 ifeq ($(OS_TARGET),os2)
+BATCHEXT=.cmd
 PPUEXT=.ppo
 ASMEXT=.so2
 OEXT=.oo2
@@ -627,6 +653,7 @@ EXEEXT=.ttp
 FPCMADE=fpcmade.ata
 endif
 ifeq ($(OS_TARGET),beos)
+BATCHEXT=.sh
 PPUEXT=.ppu
 ASMEXT=.s
 OEXT=.o
@@ -637,6 +664,7 @@ FPCMADE=fpcmade.be
 ZIPSUFFIX=be
 endif
 ifeq ($(OS_TARGET),sunos)
+BATCHEXT=.sh
 PPUEXT=.ppu
 ASMEXT=.s
 OEXT=.o
@@ -647,6 +675,7 @@ FPCMADE=fpcmade.sun
 ZIPSUFFIX=sun
 endif
 ifeq ($(OS_TARGET),qnx)
+BATCHEXT=.sh
 PPUEXT=.ppu
 ASMEXT=.s
 OEXT=.o
@@ -669,13 +698,15 @@ ZIPSUFFIX=nw
 EXEEXT=.nlm
 endif
 ifeq ($(OS_TARGET),macos)
+BATCHEXT=
 PPUEXT=.ppu
 ASMEXT=.s
 OEXT=.o
 SMARTEXT=.sl
 STATICLIBEXT=.a
 EXEEXT=
-FPCMADE=fpcmade.mcc
+DEBUGSYMEXT=.xcoff
+FPCMADE=fpcmade.macos
 endif
 endif
 ifndef ECHO
@@ -683,7 +714,7 @@ ECHO:=$(strip $(wildcard $(addsuffix /gecho$(SRCEXEEXT),$(SEARCHPATH))))
 ifeq ($(ECHO),)
 ECHO:=$(strip $(wildcard $(addsuffix /echo$(SRCEXEEXT),$(SEARCHPATH))))
 ifeq ($(ECHO),)
-ECHO=
+ECHO= __missing_command__
 else
 ECHO:=$(firstword $(ECHO))
 endif
@@ -697,7 +728,7 @@ DATE:=$(strip $(wildcard $(addsuffix /gdate$(SRCEXEEXT),$(SEARCHPATH))))
 ifeq ($(DATE),)
 DATE:=$(strip $(wildcard $(addsuffix /date$(SRCEXEEXT),$(SEARCHPATH))))
 ifeq ($(DATE),)
-DATE=
+DATE= __missing_command__
 else
 DATE:=$(firstword $(DATE))
 endif
@@ -711,7 +742,7 @@ GINSTALL:=$(strip $(wildcard $(addsuffix /ginstall$(SRCEXEEXT),$(SEARCHPATH))))
 ifeq ($(GINSTALL),)
 GINSTALL:=$(strip $(wildcard $(addsuffix /install$(SRCEXEEXT),$(SEARCHPATH))))
 ifeq ($(GINSTALL),)
-GINSTALL=
+GINSTALL= __missing_command__
 else
 GINSTALL:=$(firstword $(GINSTALL))
 endif
@@ -723,7 +754,7 @@ export GINSTALL
 ifndef CPPROG
 CPPROG:=$(strip $(wildcard $(addsuffix /cp$(SRCEXEEXT),$(SEARCHPATH))))
 ifeq ($(CPPROG),)
-CPPROG=
+CPPROG= __missing_command__
 else
 CPPROG:=$(firstword $(CPPROG))
 endif
@@ -732,7 +763,7 @@ export CPPROG
 ifndef RMPROG
 RMPROG:=$(strip $(wildcard $(addsuffix /rm$(SRCEXEEXT),$(SEARCHPATH))))
 ifeq ($(RMPROG),)
-RMPROG=
+RMPROG= __missing_command__
 else
 RMPROG:=$(firstword $(RMPROG))
 endif
@@ -741,7 +772,7 @@ export RMPROG
 ifndef MVPROG
 MVPROG:=$(strip $(wildcard $(addsuffix /mv$(SRCEXEEXT),$(SEARCHPATH))))
 ifeq ($(MVPROG),)
-MVPROG=
+MVPROG= __missing_command__
 else
 MVPROG:=$(firstword $(MVPROG))
 endif
@@ -790,7 +821,7 @@ export ECHOREDIR COPY COPYTREE MOVE DEL DELTREE INSTALL INSTALLEXE MKDIR
 ifndef PPUMOVE
 PPUMOVE:=$(strip $(wildcard $(addsuffix /ppumove$(SRCEXEEXT),$(SEARCHPATH))))
 ifeq ($(PPUMOVE),)
-PPUMOVE=
+PPUMOVE= __missing_command__
 else
 PPUMOVE:=$(firstword $(PPUMOVE))
 endif
@@ -799,7 +830,7 @@ export PPUMOVE
 ifndef FPCMAKE
 FPCMAKE:=$(strip $(wildcard $(addsuffix /fpcmake$(SRCEXEEXT),$(SEARCHPATH))))
 ifeq ($(FPCMAKE),)
-FPCMAKE=
+FPCMAKE= __missing_command__
 else
 FPCMAKE:=$(firstword $(FPCMAKE))
 endif
@@ -808,7 +839,7 @@ export FPCMAKE
 ifndef ZIPPROG
 ZIPPROG:=$(strip $(wildcard $(addsuffix /zip$(SRCEXEEXT),$(SEARCHPATH))))
 ifeq ($(ZIPPROG),)
-ZIPPROG=
+ZIPPROG= __missing_command__
 else
 ZIPPROG:=$(firstword $(ZIPPROG))
 endif
@@ -817,7 +848,7 @@ export ZIPPROG
 ifndef TARPROG
 TARPROG:=$(strip $(wildcard $(addsuffix /tar$(SRCEXEEXT),$(SEARCHPATH))))
 ifeq ($(TARPROG),)
-TARPROG=
+TARPROG= __missing_command__
 else
 TARPROG:=$(firstword $(TARPROG))
 endif
@@ -829,9 +860,11 @@ ARNAME=$(BINUTILSPREFIX)ar
 RCNAME=$(BINUTILSPREFIX)rc
 ifneq ($(findstring 1.0.,$(FPC_VERSION)),)
 ifeq ($(OS_TARGET),win32)
-ASNAME=as
-LDNAME=ld
-ARNAME=ar
+ifeq ($(CROSSBINDIR),)
+ASNAME=asw
+LDNAME=ldw
+ARNAME=arw
+endif
 endif
 endif
 ifndef ASPROG
@@ -866,7 +899,7 @@ AS=$(ASPROG)
 LD=$(LDPROG)
 RC=$(RCPROG)
 AR=$(ARPROG)
-PPAS=ppas$(BATCHEXT)
+PPAS=ppas$(SRCBATCHEXT)
 ifdef inUnix
 LDCONFIG=ldconfig
 else
@@ -916,6 +949,7 @@ REQUIRE_PACKAGES_PTHREADS=1
 REQUIRE_PACKAGES_FCL=1
 REQUIRE_PACKAGES_GTK=1
 REQUIRE_PACKAGES_FPGTK=1
+REQUIRE_PACKAGES_PASJPEG=1
 REQUIRE_PACKAGES_MYSQL=1
 REQUIRE_PACKAGES_IBASE=1
 REQUIRE_PACKAGES_SQLITE=1
@@ -933,6 +967,7 @@ REQUIRE_PACKAGES_PTHREADS=1
 REQUIRE_PACKAGES_FCL=1
 REQUIRE_PACKAGES_GTK=1
 REQUIRE_PACKAGES_FPGTK=1
+REQUIRE_PACKAGES_PASJPEG=1
 REQUIRE_PACKAGES_MYSQL=1
 REQUIRE_PACKAGES_IBASE=1
 REQUIRE_PACKAGES_SQLITE=1
@@ -950,6 +985,7 @@ REQUIRE_PACKAGES_PTHREADS=1
 REQUIRE_PACKAGES_FCL=1
 REQUIRE_PACKAGES_GTK=1
 REQUIRE_PACKAGES_FPGTK=1
+REQUIRE_PACKAGES_PASJPEG=1
 REQUIRE_PACKAGES_MYSQL=1
 REQUIRE_PACKAGES_IBASE=1
 REQUIRE_PACKAGES_SQLITE=1
@@ -967,6 +1003,7 @@ REQUIRE_PACKAGES_PTHREADS=1
 REQUIRE_PACKAGES_FCL=1
 REQUIRE_PACKAGES_GTK=1
 REQUIRE_PACKAGES_FPGTK=1
+REQUIRE_PACKAGES_PASJPEG=1
 REQUIRE_PACKAGES_MYSQL=1
 REQUIRE_PACKAGES_IBASE=1
 REQUIRE_PACKAGES_SQLITE=1
@@ -984,6 +1021,25 @@ REQUIRE_PACKAGES_PTHREADS=1
 REQUIRE_PACKAGES_FCL=1
 REQUIRE_PACKAGES_GTK=1
 REQUIRE_PACKAGES_FPGTK=1
+REQUIRE_PACKAGES_PASJPEG=1
+REQUIRE_PACKAGES_MYSQL=1
+REQUIRE_PACKAGES_IBASE=1
+REQUIRE_PACKAGES_SQLITE=1
+REQUIRE_PACKAGES_X11=1
+REQUIRE_PACKAGES_OPENGL=1
+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_FCL=1
+REQUIRE_PACKAGES_GTK=1
+REQUIRE_PACKAGES_FPGTK=1
+REQUIRE_PACKAGES_PASJPEG=1
 REQUIRE_PACKAGES_MYSQL=1
 REQUIRE_PACKAGES_IBASE=1
 REQUIRE_PACKAGES_SQLITE=1
@@ -998,6 +1054,7 @@ REQUIRE_PACKAGES_PASZLIB=1
 REQUIRE_PACKAGES_FCL=1
 REQUIRE_PACKAGES_GTK=1
 REQUIRE_PACKAGES_FPGTK=1
+REQUIRE_PACKAGES_PASJPEG=1
 REQUIRE_PACKAGES_NETDB=1
 REQUIRE_PACKAGES_LIBASYNC=1
 REQUIRE_PACKAGES_OPENGL=1
@@ -1011,6 +1068,7 @@ REQUIRE_PACKAGES_NETDB=1
 REQUIRE_PACKAGES_FCL=1
 REQUIRE_PACKAGES_GTK=1
 REQUIRE_PACKAGES_FPGTK=1
+REQUIRE_PACKAGES_PASJPEG=1
 REQUIRE_PACKAGES_MYSQL=1
 REQUIRE_PACKAGES_IBASE=1
 REQUIRE_PACKAGES_SQLITE=1
@@ -1025,6 +1083,7 @@ REQUIRE_PACKAGES_PASZLIB=1
 REQUIRE_PACKAGES_FCL=1
 REQUIRE_PACKAGES_GTK=1
 REQUIRE_PACKAGES_FPGTK=1
+REQUIRE_PACKAGES_PASJPEG=1
 REQUIRE_PACKAGES_NETDB=1
 REQUIRE_PACKAGES_LIBASYNC=1
 REQUIRE_PACKAGES_OPENGL=1
@@ -1040,6 +1099,7 @@ REQUIRE_PACKAGES_PTHREADS=1
 REQUIRE_PACKAGES_FCL=1
 REQUIRE_PACKAGES_GTK=1
 REQUIRE_PACKAGES_FPGTK=1
+REQUIRE_PACKAGES_PASJPEG=1
 REQUIRE_PACKAGES_MYSQL=1
 REQUIRE_PACKAGES_IBASE=1
 REQUIRE_PACKAGES_SQLITE=1
@@ -1057,6 +1117,7 @@ REQUIRE_PACKAGES_PTHREADS=1
 REQUIRE_PACKAGES_FCL=1
 REQUIRE_PACKAGES_GTK=1
 REQUIRE_PACKAGES_FPGTK=1
+REQUIRE_PACKAGES_PASJPEG=1
 REQUIRE_PACKAGES_MYSQL=1
 REQUIRE_PACKAGES_IBASE=1
 REQUIRE_PACKAGES_SQLITE=1
@@ -1071,6 +1132,7 @@ REQUIRE_PACKAGES_PASZLIB=1
 REQUIRE_PACKAGES_FCL=1
 REQUIRE_PACKAGES_GTK=1
 REQUIRE_PACKAGES_FPGTK=1
+REQUIRE_PACKAGES_PASJPEG=1
 REQUIRE_PACKAGES_NETDB=1
 REQUIRE_PACKAGES_LIBASYNC=1
 REQUIRE_PACKAGES_OPENGL=1
@@ -1085,6 +1147,7 @@ REQUIRE_PACKAGES_LIBASYNC=1
 REQUIRE_PACKAGES_FCL=1
 REQUIRE_PACKAGES_GTK=1
 REQUIRE_PACKAGES_FPGTK=1
+REQUIRE_PACKAGES_PASJPEG=1
 REQUIRE_PACKAGES_MYSQL=1
 REQUIRE_PACKAGES_IBASE=1
 REQUIRE_PACKAGES_SQLITE=1
@@ -1101,6 +1164,7 @@ REQUIRE_PACKAGES_LIBASYNC=1
 REQUIRE_PACKAGES_FCL=1
 REQUIRE_PACKAGES_GTK=1
 REQUIRE_PACKAGES_FPGTK=1
+REQUIRE_PACKAGES_PASJPEG=1
 REQUIRE_PACKAGES_MYSQL=1
 REQUIRE_PACKAGES_IBASE=1
 REQUIRE_PACKAGES_SQLITE=1
@@ -1117,6 +1181,7 @@ REQUIRE_PACKAGES_LIBASYNC=1
 REQUIRE_PACKAGES_FCL=1
 REQUIRE_PACKAGES_GTK=1
 REQUIRE_PACKAGES_FPGTK=1
+REQUIRE_PACKAGES_PASJPEG=1
 REQUIRE_PACKAGES_MYSQL=1
 REQUIRE_PACKAGES_IBASE=1
 REQUIRE_PACKAGES_SQLITE=1
@@ -1133,6 +1198,7 @@ REQUIRE_PACKAGES_LIBASYNC=1
 REQUIRE_PACKAGES_FCL=1
 REQUIRE_PACKAGES_GTK=1
 REQUIRE_PACKAGES_FPGTK=1
+REQUIRE_PACKAGES_PASJPEG=1
 REQUIRE_PACKAGES_MYSQL=1
 REQUIRE_PACKAGES_IBASE=1
 REQUIRE_PACKAGES_SQLITE=1
@@ -1147,6 +1213,7 @@ REQUIRE_PACKAGES_PASZLIB=1
 REQUIRE_PACKAGES_FCL=1
 REQUIRE_PACKAGES_GTK=1
 REQUIRE_PACKAGES_FPGTK=1
+REQUIRE_PACKAGES_PASJPEG=1
 REQUIRE_PACKAGES_NETDB=1
 REQUIRE_PACKAGES_LIBASYNC=1
 REQUIRE_PACKAGES_OPENGL=1
@@ -1159,6 +1226,7 @@ REQUIRE_PACKAGES_PASZLIB=1
 REQUIRE_PACKAGES_FCL=1
 REQUIRE_PACKAGES_GTK=1
 REQUIRE_PACKAGES_FPGTK=1
+REQUIRE_PACKAGES_PASJPEG=1
 REQUIRE_PACKAGES_NETDB=1
 REQUIRE_PACKAGES_LIBASYNC=1
 REQUIRE_PACKAGES_OPENGL=1
@@ -1171,6 +1239,7 @@ REQUIRE_PACKAGES_PASZLIB=1
 REQUIRE_PACKAGES_FCL=1
 REQUIRE_PACKAGES_GTK=1
 REQUIRE_PACKAGES_FPGTK=1
+REQUIRE_PACKAGES_PASJPEG=1
 REQUIRE_PACKAGES_NETDB=1
 REQUIRE_PACKAGES_LIBASYNC=1
 REQUIRE_PACKAGES_OPENGL=1
@@ -1183,6 +1252,7 @@ REQUIRE_PACKAGES_PASZLIB=1
 REQUIRE_PACKAGES_FCL=1
 REQUIRE_PACKAGES_GTK=1
 REQUIRE_PACKAGES_FPGTK=1
+REQUIRE_PACKAGES_PASJPEG=1
 REQUIRE_PACKAGES_NETDB=1
 REQUIRE_PACKAGES_LIBASYNC=1
 REQUIRE_PACKAGES_OPENGL=1
@@ -1195,6 +1265,7 @@ REQUIRE_PACKAGES_PASZLIB=1
 REQUIRE_PACKAGES_FCL=1
 REQUIRE_PACKAGES_GTK=1
 REQUIRE_PACKAGES_FPGTK=1
+REQUIRE_PACKAGES_PASJPEG=1
 REQUIRE_PACKAGES_NETDB=1
 REQUIRE_PACKAGES_LIBASYNC=1
 REQUIRE_PACKAGES_OPENGL=1
@@ -1207,6 +1278,7 @@ REQUIRE_PACKAGES_PASZLIB=1
 REQUIRE_PACKAGES_FCL=1
 REQUIRE_PACKAGES_GTK=1
 REQUIRE_PACKAGES_FPGTK=1
+REQUIRE_PACKAGES_PASJPEG=1
 REQUIRE_PACKAGES_NETDB=1
 REQUIRE_PACKAGES_LIBASYNC=1
 REQUIRE_PACKAGES_OPENGL=1
@@ -1221,6 +1293,7 @@ REQUIRE_PACKAGES_LIBASYNC=1
 REQUIRE_PACKAGES_FCL=1
 REQUIRE_PACKAGES_GTK=1
 REQUIRE_PACKAGES_FPGTK=1
+REQUIRE_PACKAGES_PASJPEG=1
 REQUIRE_PACKAGES_MYSQL=1
 REQUIRE_PACKAGES_IBASE=1
 REQUIRE_PACKAGES_SQLITE=1
@@ -1237,6 +1310,7 @@ REQUIRE_PACKAGES_LIBASYNC=1
 REQUIRE_PACKAGES_FCL=1
 REQUIRE_PACKAGES_GTK=1
 REQUIRE_PACKAGES_FPGTK=1
+REQUIRE_PACKAGES_PASJPEG=1
 REQUIRE_PACKAGES_MYSQL=1
 REQUIRE_PACKAGES_IBASE=1
 REQUIRE_PACKAGES_SQLITE=1
@@ -1251,6 +1325,7 @@ REQUIRE_PACKAGES_PASZLIB=1
 REQUIRE_PACKAGES_FCL=1
 REQUIRE_PACKAGES_GTK=1
 REQUIRE_PACKAGES_FPGTK=1
+REQUIRE_PACKAGES_PASJPEG=1
 REQUIRE_PACKAGES_NETDB=1
 REQUIRE_PACKAGES_LIBASYNC=1
 REQUIRE_PACKAGES_OPENGL=1
@@ -1263,6 +1338,7 @@ REQUIRE_PACKAGES_PASZLIB=1
 REQUIRE_PACKAGES_FCL=1
 REQUIRE_PACKAGES_GTK=1
 REQUIRE_PACKAGES_FPGTK=1
+REQUIRE_PACKAGES_PASJPEG=1
 REQUIRE_PACKAGES_NETDB=1
 REQUIRE_PACKAGES_LIBASYNC=1
 REQUIRE_PACKAGES_OPENGL=1
@@ -1275,6 +1351,7 @@ REQUIRE_PACKAGES_PASZLIB=1
 REQUIRE_PACKAGES_FCL=1
 REQUIRE_PACKAGES_GTK=1
 REQUIRE_PACKAGES_FPGTK=1
+REQUIRE_PACKAGES_PASJPEG=1
 REQUIRE_PACKAGES_NETDB=1
 REQUIRE_PACKAGES_LIBASYNC=1
 REQUIRE_PACKAGES_OPENGL=1
@@ -1290,6 +1367,7 @@ REQUIRE_PACKAGES_PTHREADS=1
 REQUIRE_PACKAGES_FCL=1
 REQUIRE_PACKAGES_GTK=1
 REQUIRE_PACKAGES_FPGTK=1
+REQUIRE_PACKAGES_PASJPEG=1
 REQUIRE_PACKAGES_MYSQL=1
 REQUIRE_PACKAGES_IBASE=1
 REQUIRE_PACKAGES_SQLITE=1
@@ -1303,6 +1381,7 @@ REQUIRE_PACKAGES_PASZLIB=1
 REQUIRE_PACKAGES_FCL=1
 REQUIRE_PACKAGES_GTK=1
 REQUIRE_PACKAGES_FPGTK=1
+REQUIRE_PACKAGES_PASJPEG=1
 REQUIRE_PACKAGES_NETDB=1
 REQUIRE_PACKAGES_LIBASYNC=1
 REQUIRE_PACKAGES_OPENGL=1
@@ -1315,6 +1394,7 @@ REQUIRE_PACKAGES_PASZLIB=1
 REQUIRE_PACKAGES_FCL=1
 REQUIRE_PACKAGES_GTK=1
 REQUIRE_PACKAGES_FPGTK=1
+REQUIRE_PACKAGES_PASJPEG=1
 REQUIRE_PACKAGES_NETDB=1
 REQUIRE_PACKAGES_LIBASYNC=1
 REQUIRE_PACKAGES_OPENGL=1
@@ -1528,6 +1608,32 @@ ifdef UNITDIR_FPGTK
 override COMPILER_UNITDIR+=$(UNITDIR_FPGTK)
 endif
 endif
+ifdef REQUIRE_PACKAGES_PASJPEG
+PACKAGEDIR_PASJPEG:=$(firstword $(subst /Makefile.fpc,,$(strip $(wildcard $(addsuffix /pasjpeg/Makefile.fpc,$(PACKAGESDIR))))))
+ifneq ($(PACKAGEDIR_PASJPEG),)
+ifneq ($(wildcard $(PACKAGEDIR_PASJPEG)/$(OS_TARGET)),)
+UNITDIR_PASJPEG=$(PACKAGEDIR_PASJPEG)/$(OS_TARGET)
+else
+UNITDIR_PASJPEG=$(PACKAGEDIR_PASJPEG)
+endif
+ifdef CHECKDEPEND
+$(PACKAGEDIR_PASJPEG)/$(FPCMADE):
+	$(MAKE) -C $(PACKAGEDIR_PASJPEG) $(FPCMADE)
+override ALLDEPENDENCIES+=$(PACKAGEDIR_PASJPEG)/$(FPCMADE)
+endif
+else
+PACKAGEDIR_PASJPEG=
+UNITDIR_PASJPEG:=$(subst /Package.fpc,,$(strip $(wildcard $(addsuffix /pasjpeg/Package.fpc,$(UNITSDIR)))))
+ifneq ($(UNITDIR_PASJPEG),)
+UNITDIR_PASJPEG:=$(firstword $(UNITDIR_PASJPEG))
+else
+UNITDIR_PASJPEG=
+endif
+endif
+ifdef UNITDIR_PASJPEG
+override COMPILER_UNITDIR+=$(UNITDIR_PASJPEG)
+endif
+endif
 ifdef REQUIRE_PACKAGES_MYSQL
 PACKAGEDIR_MYSQL:=$(firstword $(subst /Makefile.fpc,,$(strip $(wildcard $(addsuffix /mysql/Makefile.fpc,$(PACKAGESDIR))))))
 ifneq ($(PACKAGEDIR_MYSQL),)
@@ -1701,8 +1807,12 @@ ifdef RELEASE
 ifeq ($(CPU_TARGET),i386)
 FPCCPUOPT:=-OG2p3
 else
+ifeq ($(CPU_TARGET),powerpc)
+FPCCPUOPT:=-O1
+else
 FPCCPUOPT:=
 endif
+endif
 override FPCOPT+=-Xs $(FPCCPUOPT) -n
 override FPCOPTDEF+=RELEASE
 endif
@@ -1915,6 +2025,9 @@ override CLEANPPUFILES+=$(addsuffix $(PPUEXT),$(CLEAN_UNITS))
 endif
 ifdef 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 CLEANPPULINKFILES:=$(wildcard $(addprefix $(UNITTARGETDIRPREFIX),$(CLEANPPULINKFILES)))
 endif
@@ -1938,6 +2051,7 @@ ifdef LIB_NAME
 	-$(DEL) $(LIB_NAME) $(LIB_FULLNAME)
 endif
 	-$(DEL) $(FPCMADE) Package.fpc $(PPAS) script.res link.res $(FPCEXTFILE) $(REDIRFILE)
+	-$(DEL) *$(ASMEXT) *_ppas$(BATCHEXT)
 fpc_distclean: clean
 ifdef COMPILER_UNITTARGETDIR
 TARGETDIRCLEAN=fpc_clean
@@ -1949,9 +2063,13 @@ endif
 	-$(DEL) *$(OEXT) *$(PPUEXT) *$(RSTEXT) *$(ASMEXT) *$(STATICLIBEXT) *$(SHAREDLIBEXT) *$(PPLEXT)
 	-$(DELTREE) *$(SMARTEXT)
 	-$(DEL) $(FPCMADE) Package.fpc $(PPAS) script.res link.res $(FPCEXTFILE) $(REDIRFILE)
+	-$(DEL) *_ppas$(BATCHEXT)
 ifdef AOUTEXT
 	-$(DEL) *$(AOUTEXT)
 endif
+ifdef DEBUGSYMEXT
+	-$(DEL) *$(DEBUGSYMEXT)
+endif
 .PHONY: fpc_baseinfo
 override INFORULES+=fpc_baseinfo
 fpc_baseinfo:

+ 101 - 71
packages/extra/gdbm/Makefile

@@ -1,15 +1,24 @@
 #
-# Don't edit, this file is generated by FPCMake Version 1.1 [2004/02/22]
+# Don't edit, this file is generated by FPCMake Version 1.1 [2004/04/21]
 #
 default: all
 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:=$(subst \,/,$(PATH))
+ifneq ($(findstring darwin,$(OSTYPE)),)
+inUnix=1 #darwin
+SEARCHPATH:=$(filter-out .,$(subst :, ,$(PATH)))
+else
 ifeq ($(findstring ;,$(PATH)),)
 inUnix=1
 SEARCHPATH:=$(filter-out .,$(subst :, ,$(PATH)))
 else
 SEARCHPATH:=$(subst ;, ,$(PATH))
 endif
+endif
 SEARCHPATH+=$(patsubst %/,%,$(subst \,/,$(dir $(MAKE))))
 PWD:=$(strip $(wildcard $(addsuffix /pwd.exe,$(SEARCHPATH))))
 ifeq ($(PWD),)
@@ -37,22 +46,13 @@ ifneq ($(findstring cygdrive,$(PATH)),)
 inCygWin=1
 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
-BATCHEXT=.sh
+SRCBATCHEXT=.sh
 else
 ifdef inOS2
-BATCHEXT=.cmd
+SRCBATCHEXT=.cmd
 else
-BATCHEXT=.bat
+SRCBATCHEXT=.bat
 endif
 endif
 ifdef inUnix
@@ -155,6 +155,12 @@ ifeq ($(findstring $(OS_TARGET),$(MAKEFILETARGETS)),)
 $(error The Makefile doesn't support target $(OS_TARGET), please run fpcmake first)
 endif
 endif
+ifneq ($(findstring $(OS_TARGET),$(BSDs)),)
+BSDhier=1
+endif
+ifeq ($(OS_TARGET),linux)
+linuxHier=1
+endif
 export OS_TARGET OS_SOURCE CPU_TARGET CPU_SOURCE FULL_TARGET FULL_SOURCE CROSSCOMPILE
 ifdef FPCDIR
 override FPCDIR:=$(subst \,/,$(FPCDIR))
@@ -219,42 +225,12 @@ 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
-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
 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
 ifndef INSTALL_PREFIX
@@ -263,7 +239,7 @@ INSTALL_PREFIX=$(PREFIX)
 endif
 endif
 ifndef INSTALL_PREFIX
-ifdef UNIXINSTALLDIR
+ifdef UNIXHier
 INSTALL_PREFIX=/usr/local
 else
 ifdef INSTALL_FPCPACKAGE
@@ -282,7 +258,7 @@ DIST_DESTDIR:=$(BASEDIR)
 endif
 export DIST_DESTDIR
 ifndef INSTALL_BASEDIR
-ifdef UNIXINSTALLDIR
+ifdef UNIXHier
 ifdef INSTALL_FPCPACKAGE
 INSTALL_BASEDIR:=$(INSTALL_PREFIX)/lib/fpc/$(FPC_VERSION)
 else
@@ -293,7 +269,7 @@ INSTALL_BASEDIR:=$(INSTALL_PREFIX)
 endif
 endif
 ifndef INSTALL_BINDIR
-ifdef UNIXINSTALLDIR
+ifdef UNIXHier
 ifdef CROSSCOMPILE
 INSTALL_BINDIR:=$(INSTALL_BASEDIR)/cross/$(FULL_TARGET)/bin
 else
@@ -323,19 +299,23 @@ endif
 endif
 endif
 ifndef INSTALL_LIBDIR
-ifdef UNIXINSTALLDIR
+ifdef UNIXHier
 INSTALL_LIBDIR:=$(INSTALL_PREFIX)/lib
 else
 INSTALL_LIBDIR:=$(INSTALL_UNITDIR)
 endif
 endif
 ifndef INSTALL_SOURCEDIR
-ifdef UNIXINSTALLDIR
+ifdef UNIXHier
 ifdef BSDhier
 SRCPREFIXDIR=share/src
 else
+ifdef linuxHier
+SRCPREFIXDIR=share/src
+else
 SRCPREFIXDIR=src
 endif
+endif
 ifdef INSTALL_FPCPACKAGE
 ifdef INSTALL_FPCSUBDIR
 INSTALL_SOURCEDIR:=$(INSTALL_PREFIX)/$(SRCPREFIXDIR)/fpc-$(FPC_VERSION)/$(INSTALL_FPCSUBDIR)/$(PACKAGE_NAME)
@@ -358,12 +338,16 @@ endif
 endif
 endif
 ifndef INSTALL_DOCDIR
-ifdef UNIXINSTALLDIR
+ifdef UNIXHier
 ifdef BSDhier
 DOCPREFIXDIR=share/doc
 else
+ifdef linuxHier
+DOCPREFIXDIR=share/doc
+else
 DOCPREFIXDIR=doc
 endif
+endif
 ifdef INSTALL_FPCPACKAGE
 INSTALL_DOCDIR:=$(INSTALL_PREFIX)/$(DOCPREFIXDIR)/fpc-$(FPC_VERSION)/$(PACKAGE_NAME)
 else
@@ -378,20 +362,28 @@ endif
 endif
 endif
 ifndef INSTALL_EXAMPLEDIR
-ifdef UNIXINSTALLDIR
+ifdef UNIXHier
 ifdef INSTALL_FPCPACKAGE
 ifdef BSDhier
 INSTALL_EXAMPLEDIR:=$(INSTALL_PREFIX)/share/examples/fpc-$(FPC_VERSION)/$(PACKAGE_NAME)
 else
+ifdef linuxHier
+INSTALL_EXAMPLEDIR:=$(INSTALL_DOCDIR)/examples/fpc-$(FPC_VERSION)/$(PACKAGE_NAME)
+else
 INSTALL_EXAMPLEDIR:=$(INSTALL_PREFIX)/doc/fpc-$(FPC_VERSION)/examples/$(PACKAGE_NAME)
 endif
+endif
 else
 ifdef BSDhier
 INSTALL_EXAMPLEDIR:=$(INSTALL_PREFIX)/share/examples/$(PACKAGE_NAME)-$(PACKAGE_VERSION)
 else
+ifdef linuxHier
+INSTALL_EXAMPLEDIR:=$(INSTALL_DOCDIR)/examples/$(PACKAGE_NAME)-$(PACKAGE_VERSION)
+else
 INSTALL_EXAMPLEDIR:=$(INSTALL_PREFIX)/doc/$(PACKAGE_NAME)-$(PACKAGE_VERSION)
 endif
 endif
+endif
 else
 ifdef INSTALL_FPCPACKAGE
 INSTALL_EXAMPLEDIR:=$(INSTALL_BASEDIR)/examples/$(PACKAGE_NAME)
@@ -413,6 +405,7 @@ endif
 else
 CROSSBINDIR=
 endif
+BATCHEXT=.bat
 LOADEREXT=.as
 EXEEXT=.exe
 PPLEXT=.ppl
@@ -445,24 +438,28 @@ ASMEXT=.asm
 SHAREDLIBEXT=.dll
 endif
 ifeq ($(OS_TARGET),linux)
+BATCHEXT=.sh
 EXEEXT=
 HASSHAREDLIB=1
 FPCMADE=fpcmade.lnx
 ZIPSUFFIX=linux
 endif
 ifeq ($(OS_TARGET),freebsd)
+BATCHEXT=.sh
 EXEEXT=
 HASSHAREDLIB=1
 FPCMADE=fpcmade.freebsd
 ZIPSUFFIX=freebsd
 endif
 ifeq ($(OS_TARGET),netbsd)
+BATCHEXT=.sh
 EXEEXT=
 HASSHAREDLIB=1
 FPCMADE=fpcmade.netbsd
 ZIPSUFFIX=netbsd
 endif
 ifeq ($(OS_TARGET),openbsd)
+BATCHEXT=.sh
 EXEEXT=
 HASSHAREDLIB=1
 FPCMADE=fpcmade.openbsd
@@ -474,6 +471,7 @@ FPCMADE=fpcmade.w32
 ZIPSUFFIX=w32
 endif
 ifeq ($(OS_TARGET),os2)
+BATCHEXT=.cmd
 AOUTEXT=.out
 STATICLIBPREFIX=
 SHAREDLIBEXT=.dll
@@ -482,6 +480,7 @@ ZIPSUFFIX=os2
 ECHO=echo
 endif
 ifeq ($(OS_TARGET),emx)
+BATCHEXT=.cmd
 AOUTEXT=.out
 STATICLIBPREFIX=
 SHAREDLIBEXT=.dll
@@ -499,16 +498,19 @@ EXEEXT=.ttp
 FPCMADE=fpcmade.ata
 endif
 ifeq ($(OS_TARGET),beos)
+BATCHEXT=.sh
 EXEEXT=
 FPCMADE=fpcmade.be
 ZIPSUFFIX=be
 endif
 ifeq ($(OS_TARGET),sunos)
+BATCHEXT=.sh
 EXEEXT=
 FPCMADE=fpcmade.sun
 ZIPSUFFIX=sun
 endif
 ifeq ($(OS_TARGET),qnx)
+BATCHEXT=.sh
 EXEEXT=
 FPCMADE=fpcmade.qnx
 ZIPSUFFIX=qnx
@@ -520,10 +522,14 @@ FPCMADE=fpcmade.nw
 ZIPSUFFIX=nw
 endif
 ifeq ($(OS_TARGET),macos)
+BATCHEXT=
 EXEEXT=
-FPCMADE=fpcmade.mcc
+FPCMADE=fpcmade.macos
+ZIPSUFFIX=macos
+DEBUGSYMEXT=.xcoff
 endif
 ifeq ($(OS_TARGET),darwin)
+BATCHEXT=.sh
 EXEEXT=
 HASSHAREDLIB=1
 FPCMADE=fpcmade.darwin
@@ -552,24 +558,28 @@ FPCMADE=fpcmade.dos
 ZIPSUFFIX=watcom
 endif
 ifeq ($(OS_TARGET),linux)
+BATCHEXT=.sh
 EXEEXT=
 HASSHAREDLIB=1
 FPCMADE=fpcmade.lnx
 ZIPSUFFIX=linux
 endif
 ifeq ($(OS_TARGET),freebsd)
+BATCHEXT=.sh
 EXEEXT=
 HASSHAREDLIB=1
 FPCMADE=fpcmade.freebsd
 ZIPSUFFIX=freebsd
 endif
 ifeq ($(OS_TARGET),netbsd)
+BATCHEXT=.sh
 EXEEXT=
 HASSHAREDLIB=1
 FPCMADE=fpcmade.netbsd
 ZIPSUFFIX=netbsd
 endif
 ifeq ($(OS_TARGET),openbsd)
+BATCHEXT=.sh
 EXEEXT=
 HASSHAREDLIB=1
 FPCMADE=fpcmade.openbsd
@@ -586,6 +596,7 @@ FPCMADE=fpcmade.w32
 ZIPSUFFIX=w32
 endif
 ifeq ($(OS_TARGET),os2)
+BATCHEXT=.cmd
 PPUEXT=.ppo
 ASMEXT=.so2
 OEXT=.oo2
@@ -618,6 +629,7 @@ EXEEXT=.ttp
 FPCMADE=fpcmade.ata
 endif
 ifeq ($(OS_TARGET),beos)
+BATCHEXT=.sh
 PPUEXT=.ppu
 ASMEXT=.s
 OEXT=.o
@@ -628,6 +640,7 @@ FPCMADE=fpcmade.be
 ZIPSUFFIX=be
 endif
 ifeq ($(OS_TARGET),sunos)
+BATCHEXT=.sh
 PPUEXT=.ppu
 ASMEXT=.s
 OEXT=.o
@@ -638,6 +651,7 @@ FPCMADE=fpcmade.sun
 ZIPSUFFIX=sun
 endif
 ifeq ($(OS_TARGET),qnx)
+BATCHEXT=.sh
 PPUEXT=.ppu
 ASMEXT=.s
 OEXT=.o
@@ -660,13 +674,15 @@ ZIPSUFFIX=nw
 EXEEXT=.nlm
 endif
 ifeq ($(OS_TARGET),macos)
+BATCHEXT=
 PPUEXT=.ppu
 ASMEXT=.s
 OEXT=.o
 SMARTEXT=.sl
 STATICLIBEXT=.a
 EXEEXT=
-FPCMADE=fpcmade.mcc
+DEBUGSYMEXT=.xcoff
+FPCMADE=fpcmade.macos
 endif
 endif
 ifndef ECHO
@@ -674,7 +690,7 @@ ECHO:=$(strip $(wildcard $(addsuffix /gecho$(SRCEXEEXT),$(SEARCHPATH))))
 ifeq ($(ECHO),)
 ECHO:=$(strip $(wildcard $(addsuffix /echo$(SRCEXEEXT),$(SEARCHPATH))))
 ifeq ($(ECHO),)
-ECHO=
+ECHO= __missing_command__
 else
 ECHO:=$(firstword $(ECHO))
 endif
@@ -688,7 +704,7 @@ DATE:=$(strip $(wildcard $(addsuffix /gdate$(SRCEXEEXT),$(SEARCHPATH))))
 ifeq ($(DATE),)
 DATE:=$(strip $(wildcard $(addsuffix /date$(SRCEXEEXT),$(SEARCHPATH))))
 ifeq ($(DATE),)
-DATE=
+DATE= __missing_command__
 else
 DATE:=$(firstword $(DATE))
 endif
@@ -702,7 +718,7 @@ GINSTALL:=$(strip $(wildcard $(addsuffix /ginstall$(SRCEXEEXT),$(SEARCHPATH))))
 ifeq ($(GINSTALL),)
 GINSTALL:=$(strip $(wildcard $(addsuffix /install$(SRCEXEEXT),$(SEARCHPATH))))
 ifeq ($(GINSTALL),)
-GINSTALL=
+GINSTALL= __missing_command__
 else
 GINSTALL:=$(firstword $(GINSTALL))
 endif
@@ -714,7 +730,7 @@ export GINSTALL
 ifndef CPPROG
 CPPROG:=$(strip $(wildcard $(addsuffix /cp$(SRCEXEEXT),$(SEARCHPATH))))
 ifeq ($(CPPROG),)
-CPPROG=
+CPPROG= __missing_command__
 else
 CPPROG:=$(firstword $(CPPROG))
 endif
@@ -723,7 +739,7 @@ export CPPROG
 ifndef RMPROG
 RMPROG:=$(strip $(wildcard $(addsuffix /rm$(SRCEXEEXT),$(SEARCHPATH))))
 ifeq ($(RMPROG),)
-RMPROG=
+RMPROG= __missing_command__
 else
 RMPROG:=$(firstword $(RMPROG))
 endif
@@ -732,7 +748,7 @@ export RMPROG
 ifndef MVPROG
 MVPROG:=$(strip $(wildcard $(addsuffix /mv$(SRCEXEEXT),$(SEARCHPATH))))
 ifeq ($(MVPROG),)
-MVPROG=
+MVPROG= __missing_command__
 else
 MVPROG:=$(firstword $(MVPROG))
 endif
@@ -781,7 +797,7 @@ export ECHOREDIR COPY COPYTREE MOVE DEL DELTREE INSTALL INSTALLEXE MKDIR
 ifndef PPUMOVE
 PPUMOVE:=$(strip $(wildcard $(addsuffix /ppumove$(SRCEXEEXT),$(SEARCHPATH))))
 ifeq ($(PPUMOVE),)
-PPUMOVE=
+PPUMOVE= __missing_command__
 else
 PPUMOVE:=$(firstword $(PPUMOVE))
 endif
@@ -790,7 +806,7 @@ export PPUMOVE
 ifndef FPCMAKE
 FPCMAKE:=$(strip $(wildcard $(addsuffix /fpcmake$(SRCEXEEXT),$(SEARCHPATH))))
 ifeq ($(FPCMAKE),)
-FPCMAKE=
+FPCMAKE= __missing_command__
 else
 FPCMAKE:=$(firstword $(FPCMAKE))
 endif
@@ -799,7 +815,7 @@ export FPCMAKE
 ifndef ZIPPROG
 ZIPPROG:=$(strip $(wildcard $(addsuffix /zip$(SRCEXEEXT),$(SEARCHPATH))))
 ifeq ($(ZIPPROG),)
-ZIPPROG=
+ZIPPROG= __missing_command__
 else
 ZIPPROG:=$(firstword $(ZIPPROG))
 endif
@@ -808,7 +824,7 @@ export ZIPPROG
 ifndef TARPROG
 TARPROG:=$(strip $(wildcard $(addsuffix /tar$(SRCEXEEXT),$(SEARCHPATH))))
 ifeq ($(TARPROG),)
-TARPROG=
+TARPROG= __missing_command__
 else
 TARPROG:=$(firstword $(TARPROG))
 endif
@@ -820,9 +836,11 @@ ARNAME=$(BINUTILSPREFIX)ar
 RCNAME=$(BINUTILSPREFIX)rc
 ifneq ($(findstring 1.0.,$(FPC_VERSION)),)
 ifeq ($(OS_TARGET),win32)
-ASNAME=as
-LDNAME=ld
-ARNAME=ar
+ifeq ($(CROSSBINDIR),)
+ASNAME=asw
+LDNAME=ldw
+ARNAME=arw
+endif
 endif
 endif
 ifndef ASPROG
@@ -857,7 +875,7 @@ AS=$(ASPROG)
 LD=$(LDPROG)
 RC=$(RCPROG)
 AR=$(ARPROG)
-PPAS=ppas$(BATCHEXT)
+PPAS=ppas$(SRCBATCHEXT)
 ifdef inUnix
 LDCONFIG=ldconfig
 else
@@ -1116,8 +1134,12 @@ ifdef RELEASE
 ifeq ($(CPU_TARGET),i386)
 FPCCPUOPT:=-OG2p3
 else
+ifeq ($(CPU_TARGET),powerpc)
+FPCCPUOPT:=-O1
+else
 FPCCPUOPT:=
 endif
+endif
 override FPCOPT+=-Xs $(FPCCPUOPT) -n
 override FPCOPTDEF+=RELEASE
 endif
@@ -1361,7 +1383,7 @@ USEZIPWRAPPER=1
 endif
 ifdef USEZIPWRAPPER
 ZIPPATHSEP=$(PATHSEP)
-ZIPWRAPPER=$(subst /,$(PATHSEP),$(DIST_DESTDIR)/fpczip$(BATCHEXT))
+ZIPWRAPPER=$(subst /,$(PATHSEP),$(DIST_DESTDIR)/fpczip$(SRCBATCHEXT))
 else
 ZIPPATHSEP=/
 endif
@@ -1415,6 +1437,9 @@ override CLEANPPUFILES+=$(addsuffix $(PPUEXT),$(CLEAN_UNITS))
 endif
 ifdef 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 CLEANPPULINKFILES:=$(wildcard $(addprefix $(UNITTARGETDIRPREFIX),$(CLEANPPULINKFILES)))
 endif
@@ -1438,6 +1463,7 @@ ifdef LIB_NAME
 	-$(DEL) $(LIB_NAME) $(LIB_FULLNAME)
 endif
 	-$(DEL) $(FPCMADE) Package.fpc $(PPAS) script.res link.res $(FPCEXTFILE) $(REDIRFILE)
+	-$(DEL) *$(ASMEXT) *_ppas$(BATCHEXT)
 fpc_distclean: clean
 ifdef COMPILER_UNITTARGETDIR
 TARGETDIRCLEAN=fpc_clean
@@ -1449,9 +1475,13 @@ endif
 	-$(DEL) *$(OEXT) *$(PPUEXT) *$(RSTEXT) *$(ASMEXT) *$(STATICLIBEXT) *$(SHAREDLIBEXT) *$(PPLEXT)
 	-$(DELTREE) *$(SMARTEXT)
 	-$(DEL) $(FPCMADE) Package.fpc $(PPAS) script.res link.res $(FPCEXTFILE) $(REDIRFILE)
+	-$(DEL) *_ppas$(BATCHEXT)
 ifdef AOUTEXT
 	-$(DEL) *$(AOUTEXT)
 endif
+ifdef DEBUGSYMEXT
+	-$(DEL) *$(DEBUGSYMEXT)
+endif
 .PHONY: fpc_baseinfo
 override INFORULES+=fpc_baseinfo
 fpc_baseinfo:

+ 114 - 72
packages/extra/ggi/Makefile

@@ -1,15 +1,24 @@
 #
-# Don't edit, this file is generated by FPCMake Version 1.1 [2004/02/22]
+# Don't edit, this file is generated by FPCMake Version 1.1 [2004/04/21]
 #
 default: all
 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:=$(subst \,/,$(PATH))
+ifneq ($(findstring darwin,$(OSTYPE)),)
+inUnix=1 #darwin
+SEARCHPATH:=$(filter-out .,$(subst :, ,$(PATH)))
+else
 ifeq ($(findstring ;,$(PATH)),)
 inUnix=1
 SEARCHPATH:=$(filter-out .,$(subst :, ,$(PATH)))
 else
 SEARCHPATH:=$(subst ;, ,$(PATH))
 endif
+endif
 SEARCHPATH+=$(patsubst %/,%,$(subst \,/,$(dir $(MAKE))))
 PWD:=$(strip $(wildcard $(addsuffix /pwd.exe,$(SEARCHPATH))))
 ifeq ($(PWD),)
@@ -37,22 +46,13 @@ ifneq ($(findstring cygdrive,$(PATH)),)
 inCygWin=1
 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
-BATCHEXT=.sh
+SRCBATCHEXT=.sh
 else
 ifdef inOS2
-BATCHEXT=.cmd
+SRCBATCHEXT=.cmd
 else
-BATCHEXT=.bat
+SRCBATCHEXT=.bat
 endif
 endif
 ifdef inUnix
@@ -155,6 +155,12 @@ ifeq ($(findstring $(OS_TARGET),$(MAKEFILETARGETS)),)
 $(error The Makefile doesn't support target $(OS_TARGET), please run fpcmake first)
 endif
 endif
+ifneq ($(findstring $(OS_TARGET),$(BSDs)),)
+BSDhier=1
+endif
+ifeq ($(OS_TARGET),linux)
+linuxHier=1
+endif
 export OS_TARGET OS_SOURCE CPU_TARGET CPU_SOURCE FULL_TARGET FULL_SOURCE CROSSCOMPILE
 ifdef FPCDIR
 override FPCDIR:=$(subst \,/,$(FPCDIR))
@@ -219,42 +225,12 @@ 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
-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
 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
 ifndef INSTALL_PREFIX
@@ -263,7 +239,7 @@ INSTALL_PREFIX=$(PREFIX)
 endif
 endif
 ifndef INSTALL_PREFIX
-ifdef UNIXINSTALLDIR
+ifdef UNIXHier
 INSTALL_PREFIX=/usr/local
 else
 ifdef INSTALL_FPCPACKAGE
@@ -282,7 +258,7 @@ DIST_DESTDIR:=$(BASEDIR)
 endif
 export DIST_DESTDIR
 ifndef INSTALL_BASEDIR
-ifdef UNIXINSTALLDIR
+ifdef UNIXHier
 ifdef INSTALL_FPCPACKAGE
 INSTALL_BASEDIR:=$(INSTALL_PREFIX)/lib/fpc/$(FPC_VERSION)
 else
@@ -293,7 +269,7 @@ INSTALL_BASEDIR:=$(INSTALL_PREFIX)
 endif
 endif
 ifndef INSTALL_BINDIR
-ifdef UNIXINSTALLDIR
+ifdef UNIXHier
 ifdef CROSSCOMPILE
 INSTALL_BINDIR:=$(INSTALL_BASEDIR)/cross/$(FULL_TARGET)/bin
 else
@@ -323,19 +299,23 @@ endif
 endif
 endif
 ifndef INSTALL_LIBDIR
-ifdef UNIXINSTALLDIR
+ifdef UNIXHier
 INSTALL_LIBDIR:=$(INSTALL_PREFIX)/lib
 else
 INSTALL_LIBDIR:=$(INSTALL_UNITDIR)
 endif
 endif
 ifndef INSTALL_SOURCEDIR
-ifdef UNIXINSTALLDIR
+ifdef UNIXHier
 ifdef BSDhier
 SRCPREFIXDIR=share/src
 else
+ifdef linuxHier
+SRCPREFIXDIR=share/src
+else
 SRCPREFIXDIR=src
 endif
+endif
 ifdef INSTALL_FPCPACKAGE
 ifdef INSTALL_FPCSUBDIR
 INSTALL_SOURCEDIR:=$(INSTALL_PREFIX)/$(SRCPREFIXDIR)/fpc-$(FPC_VERSION)/$(INSTALL_FPCSUBDIR)/$(PACKAGE_NAME)
@@ -358,12 +338,16 @@ endif
 endif
 endif
 ifndef INSTALL_DOCDIR
-ifdef UNIXINSTALLDIR
+ifdef UNIXHier
 ifdef BSDhier
 DOCPREFIXDIR=share/doc
 else
+ifdef linuxHier
+DOCPREFIXDIR=share/doc
+else
 DOCPREFIXDIR=doc
 endif
+endif
 ifdef INSTALL_FPCPACKAGE
 INSTALL_DOCDIR:=$(INSTALL_PREFIX)/$(DOCPREFIXDIR)/fpc-$(FPC_VERSION)/$(PACKAGE_NAME)
 else
@@ -378,20 +362,28 @@ endif
 endif
 endif
 ifndef INSTALL_EXAMPLEDIR
-ifdef UNIXINSTALLDIR
+ifdef UNIXHier
 ifdef INSTALL_FPCPACKAGE
 ifdef BSDhier
 INSTALL_EXAMPLEDIR:=$(INSTALL_PREFIX)/share/examples/fpc-$(FPC_VERSION)/$(PACKAGE_NAME)
 else
+ifdef linuxHier
+INSTALL_EXAMPLEDIR:=$(INSTALL_DOCDIR)/examples/fpc-$(FPC_VERSION)/$(PACKAGE_NAME)
+else
 INSTALL_EXAMPLEDIR:=$(INSTALL_PREFIX)/doc/fpc-$(FPC_VERSION)/examples/$(PACKAGE_NAME)
 endif
+endif
 else
 ifdef BSDhier
 INSTALL_EXAMPLEDIR:=$(INSTALL_PREFIX)/share/examples/$(PACKAGE_NAME)-$(PACKAGE_VERSION)
 else
+ifdef linuxHier
+INSTALL_EXAMPLEDIR:=$(INSTALL_DOCDIR)/examples/$(PACKAGE_NAME)-$(PACKAGE_VERSION)
+else
 INSTALL_EXAMPLEDIR:=$(INSTALL_PREFIX)/doc/$(PACKAGE_NAME)-$(PACKAGE_VERSION)
 endif
 endif
+endif
 else
 ifdef INSTALL_FPCPACKAGE
 INSTALL_EXAMPLEDIR:=$(INSTALL_BASEDIR)/examples/$(PACKAGE_NAME)
@@ -415,7 +407,19 @@ CROSSBINDIR=
 endif
 ifeq ($(OS_SOURCE),linux)
 ifndef GCCLIBDIR
-GCCLIBDIR:=$(shell dirname `gcc -print-libgcc-file-name`)
+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
 ifndef OTHERLIBDIR
 OTHERLIBDIR:=$(shell grep -v "^\#" /etc/ld.so.conf | awk '{ ORS=" "; print $1 }')
@@ -427,6 +431,7 @@ OTHERLIBDIR+=/usr/pkg/lib
 endif
 export GCCLIBDIR OTHERLIB
 endif
+BATCHEXT=.bat
 LOADEREXT=.as
 EXEEXT=.exe
 PPLEXT=.ppl
@@ -459,24 +464,28 @@ ASMEXT=.asm
 SHAREDLIBEXT=.dll
 endif
 ifeq ($(OS_TARGET),linux)
+BATCHEXT=.sh
 EXEEXT=
 HASSHAREDLIB=1
 FPCMADE=fpcmade.lnx
 ZIPSUFFIX=linux
 endif
 ifeq ($(OS_TARGET),freebsd)
+BATCHEXT=.sh
 EXEEXT=
 HASSHAREDLIB=1
 FPCMADE=fpcmade.freebsd
 ZIPSUFFIX=freebsd
 endif
 ifeq ($(OS_TARGET),netbsd)
+BATCHEXT=.sh
 EXEEXT=
 HASSHAREDLIB=1
 FPCMADE=fpcmade.netbsd
 ZIPSUFFIX=netbsd
 endif
 ifeq ($(OS_TARGET),openbsd)
+BATCHEXT=.sh
 EXEEXT=
 HASSHAREDLIB=1
 FPCMADE=fpcmade.openbsd
@@ -488,6 +497,7 @@ FPCMADE=fpcmade.w32
 ZIPSUFFIX=w32
 endif
 ifeq ($(OS_TARGET),os2)
+BATCHEXT=.cmd
 AOUTEXT=.out
 STATICLIBPREFIX=
 SHAREDLIBEXT=.dll
@@ -496,6 +506,7 @@ ZIPSUFFIX=os2
 ECHO=echo
 endif
 ifeq ($(OS_TARGET),emx)
+BATCHEXT=.cmd
 AOUTEXT=.out
 STATICLIBPREFIX=
 SHAREDLIBEXT=.dll
@@ -513,16 +524,19 @@ EXEEXT=.ttp
 FPCMADE=fpcmade.ata
 endif
 ifeq ($(OS_TARGET),beos)
+BATCHEXT=.sh
 EXEEXT=
 FPCMADE=fpcmade.be
 ZIPSUFFIX=be
 endif
 ifeq ($(OS_TARGET),sunos)
+BATCHEXT=.sh
 EXEEXT=
 FPCMADE=fpcmade.sun
 ZIPSUFFIX=sun
 endif
 ifeq ($(OS_TARGET),qnx)
+BATCHEXT=.sh
 EXEEXT=
 FPCMADE=fpcmade.qnx
 ZIPSUFFIX=qnx
@@ -534,10 +548,14 @@ FPCMADE=fpcmade.nw
 ZIPSUFFIX=nw
 endif
 ifeq ($(OS_TARGET),macos)
+BATCHEXT=
 EXEEXT=
-FPCMADE=fpcmade.mcc
+FPCMADE=fpcmade.macos
+ZIPSUFFIX=macos
+DEBUGSYMEXT=.xcoff
 endif
 ifeq ($(OS_TARGET),darwin)
+BATCHEXT=.sh
 EXEEXT=
 HASSHAREDLIB=1
 FPCMADE=fpcmade.darwin
@@ -566,24 +584,28 @@ FPCMADE=fpcmade.dos
 ZIPSUFFIX=watcom
 endif
 ifeq ($(OS_TARGET),linux)
+BATCHEXT=.sh
 EXEEXT=
 HASSHAREDLIB=1
 FPCMADE=fpcmade.lnx
 ZIPSUFFIX=linux
 endif
 ifeq ($(OS_TARGET),freebsd)
+BATCHEXT=.sh
 EXEEXT=
 HASSHAREDLIB=1
 FPCMADE=fpcmade.freebsd
 ZIPSUFFIX=freebsd
 endif
 ifeq ($(OS_TARGET),netbsd)
+BATCHEXT=.sh
 EXEEXT=
 HASSHAREDLIB=1
 FPCMADE=fpcmade.netbsd
 ZIPSUFFIX=netbsd
 endif
 ifeq ($(OS_TARGET),openbsd)
+BATCHEXT=.sh
 EXEEXT=
 HASSHAREDLIB=1
 FPCMADE=fpcmade.openbsd
@@ -600,6 +622,7 @@ FPCMADE=fpcmade.w32
 ZIPSUFFIX=w32
 endif
 ifeq ($(OS_TARGET),os2)
+BATCHEXT=.cmd
 PPUEXT=.ppo
 ASMEXT=.so2
 OEXT=.oo2
@@ -632,6 +655,7 @@ EXEEXT=.ttp
 FPCMADE=fpcmade.ata
 endif
 ifeq ($(OS_TARGET),beos)
+BATCHEXT=.sh
 PPUEXT=.ppu
 ASMEXT=.s
 OEXT=.o
@@ -642,6 +666,7 @@ FPCMADE=fpcmade.be
 ZIPSUFFIX=be
 endif
 ifeq ($(OS_TARGET),sunos)
+BATCHEXT=.sh
 PPUEXT=.ppu
 ASMEXT=.s
 OEXT=.o
@@ -652,6 +677,7 @@ FPCMADE=fpcmade.sun
 ZIPSUFFIX=sun
 endif
 ifeq ($(OS_TARGET),qnx)
+BATCHEXT=.sh
 PPUEXT=.ppu
 ASMEXT=.s
 OEXT=.o
@@ -674,13 +700,15 @@ ZIPSUFFIX=nw
 EXEEXT=.nlm
 endif
 ifeq ($(OS_TARGET),macos)
+BATCHEXT=
 PPUEXT=.ppu
 ASMEXT=.s
 OEXT=.o
 SMARTEXT=.sl
 STATICLIBEXT=.a
 EXEEXT=
-FPCMADE=fpcmade.mcc
+DEBUGSYMEXT=.xcoff
+FPCMADE=fpcmade.macos
 endif
 endif
 ifndef ECHO
@@ -688,7 +716,7 @@ ECHO:=$(strip $(wildcard $(addsuffix /gecho$(SRCEXEEXT),$(SEARCHPATH))))
 ifeq ($(ECHO),)
 ECHO:=$(strip $(wildcard $(addsuffix /echo$(SRCEXEEXT),$(SEARCHPATH))))
 ifeq ($(ECHO),)
-ECHO=
+ECHO= __missing_command__
 else
 ECHO:=$(firstword $(ECHO))
 endif
@@ -702,7 +730,7 @@ DATE:=$(strip $(wildcard $(addsuffix /gdate$(SRCEXEEXT),$(SEARCHPATH))))
 ifeq ($(DATE),)
 DATE:=$(strip $(wildcard $(addsuffix /date$(SRCEXEEXT),$(SEARCHPATH))))
 ifeq ($(DATE),)
-DATE=
+DATE= __missing_command__
 else
 DATE:=$(firstword $(DATE))
 endif
@@ -716,7 +744,7 @@ GINSTALL:=$(strip $(wildcard $(addsuffix /ginstall$(SRCEXEEXT),$(SEARCHPATH))))
 ifeq ($(GINSTALL),)
 GINSTALL:=$(strip $(wildcard $(addsuffix /install$(SRCEXEEXT),$(SEARCHPATH))))
 ifeq ($(GINSTALL),)
-GINSTALL=
+GINSTALL= __missing_command__
 else
 GINSTALL:=$(firstword $(GINSTALL))
 endif
@@ -728,7 +756,7 @@ export GINSTALL
 ifndef CPPROG
 CPPROG:=$(strip $(wildcard $(addsuffix /cp$(SRCEXEEXT),$(SEARCHPATH))))
 ifeq ($(CPPROG),)
-CPPROG=
+CPPROG= __missing_command__
 else
 CPPROG:=$(firstword $(CPPROG))
 endif
@@ -737,7 +765,7 @@ export CPPROG
 ifndef RMPROG
 RMPROG:=$(strip $(wildcard $(addsuffix /rm$(SRCEXEEXT),$(SEARCHPATH))))
 ifeq ($(RMPROG),)
-RMPROG=
+RMPROG= __missing_command__
 else
 RMPROG:=$(firstword $(RMPROG))
 endif
@@ -746,7 +774,7 @@ export RMPROG
 ifndef MVPROG
 MVPROG:=$(strip $(wildcard $(addsuffix /mv$(SRCEXEEXT),$(SEARCHPATH))))
 ifeq ($(MVPROG),)
-MVPROG=
+MVPROG= __missing_command__
 else
 MVPROG:=$(firstword $(MVPROG))
 endif
@@ -795,7 +823,7 @@ export ECHOREDIR COPY COPYTREE MOVE DEL DELTREE INSTALL INSTALLEXE MKDIR
 ifndef PPUMOVE
 PPUMOVE:=$(strip $(wildcard $(addsuffix /ppumove$(SRCEXEEXT),$(SEARCHPATH))))
 ifeq ($(PPUMOVE),)
-PPUMOVE=
+PPUMOVE= __missing_command__
 else
 PPUMOVE:=$(firstword $(PPUMOVE))
 endif
@@ -804,7 +832,7 @@ export PPUMOVE
 ifndef FPCMAKE
 FPCMAKE:=$(strip $(wildcard $(addsuffix /fpcmake$(SRCEXEEXT),$(SEARCHPATH))))
 ifeq ($(FPCMAKE),)
-FPCMAKE=
+FPCMAKE= __missing_command__
 else
 FPCMAKE:=$(firstword $(FPCMAKE))
 endif
@@ -813,7 +841,7 @@ export FPCMAKE
 ifndef ZIPPROG
 ZIPPROG:=$(strip $(wildcard $(addsuffix /zip$(SRCEXEEXT),$(SEARCHPATH))))
 ifeq ($(ZIPPROG),)
-ZIPPROG=
+ZIPPROG= __missing_command__
 else
 ZIPPROG:=$(firstword $(ZIPPROG))
 endif
@@ -822,7 +850,7 @@ export ZIPPROG
 ifndef TARPROG
 TARPROG:=$(strip $(wildcard $(addsuffix /tar$(SRCEXEEXT),$(SEARCHPATH))))
 ifeq ($(TARPROG),)
-TARPROG=
+TARPROG= __missing_command__
 else
 TARPROG:=$(firstword $(TARPROG))
 endif
@@ -834,9 +862,11 @@ ARNAME=$(BINUTILSPREFIX)ar
 RCNAME=$(BINUTILSPREFIX)rc
 ifneq ($(findstring 1.0.,$(FPC_VERSION)),)
 ifeq ($(OS_TARGET),win32)
-ASNAME=as
-LDNAME=ld
-ARNAME=ar
+ifeq ($(CROSSBINDIR),)
+ASNAME=asw
+LDNAME=ldw
+ARNAME=arw
+endif
 endif
 endif
 ifndef ASPROG
@@ -871,7 +901,7 @@ AS=$(ASPROG)
 LD=$(LDPROG)
 RC=$(RCPROG)
 AR=$(ARPROG)
-PPAS=ppas$(BATCHEXT)
+PPAS=ppas$(SRCBATCHEXT)
 ifdef inUnix
 LDCONFIG=ldconfig
 else
@@ -1130,8 +1160,12 @@ ifdef RELEASE
 ifeq ($(CPU_TARGET),i386)
 FPCCPUOPT:=-OG2p3
 else
+ifeq ($(CPU_TARGET),powerpc)
+FPCCPUOPT:=-O1
+else
 FPCCPUOPT:=
 endif
+endif
 override FPCOPT+=-Xs $(FPCCPUOPT) -n
 override FPCOPTDEF+=RELEASE
 endif
@@ -1381,7 +1415,7 @@ USEZIPWRAPPER=1
 endif
 ifdef USEZIPWRAPPER
 ZIPPATHSEP=$(PATHSEP)
-ZIPWRAPPER=$(subst /,$(PATHSEP),$(DIST_DESTDIR)/fpczip$(BATCHEXT))
+ZIPWRAPPER=$(subst /,$(PATHSEP),$(DIST_DESTDIR)/fpczip$(SRCBATCHEXT))
 else
 ZIPPATHSEP=/
 endif
@@ -1435,6 +1469,9 @@ override CLEANPPUFILES+=$(addsuffix $(PPUEXT),$(CLEAN_UNITS))
 endif
 ifdef 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 CLEANPPULINKFILES:=$(wildcard $(addprefix $(UNITTARGETDIRPREFIX),$(CLEANPPULINKFILES)))
 endif
@@ -1458,6 +1495,7 @@ ifdef LIB_NAME
 	-$(DEL) $(LIB_NAME) $(LIB_FULLNAME)
 endif
 	-$(DEL) $(FPCMADE) Package.fpc $(PPAS) script.res link.res $(FPCEXTFILE) $(REDIRFILE)
+	-$(DEL) *$(ASMEXT) *_ppas$(BATCHEXT)
 fpc_distclean: clean
 ifdef COMPILER_UNITTARGETDIR
 TARGETDIRCLEAN=fpc_clean
@@ -1469,9 +1507,13 @@ endif
 	-$(DEL) *$(OEXT) *$(PPUEXT) *$(RSTEXT) *$(ASMEXT) *$(STATICLIBEXT) *$(SHAREDLIBEXT) *$(PPLEXT)
 	-$(DELTREE) *$(SMARTEXT)
 	-$(DEL) $(FPCMADE) Package.fpc $(PPAS) script.res link.res $(FPCEXTFILE) $(REDIRFILE)
+	-$(DEL) *_ppas$(BATCHEXT)
 ifdef AOUTEXT
 	-$(DEL) *$(AOUTEXT)
 endif
+ifdef DEBUGSYMEXT
+	-$(DEL) *$(DEBUGSYMEXT)
+endif
 .PHONY: fpc_baseinfo
 override INFORULES+=fpc_baseinfo
 fpc_baseinfo:

+ 100 - 70
packages/extra/gnome1/Makefile

@@ -1,15 +1,24 @@
 #
-# Don't edit, this file is generated by FPCMake Version 1.1 [2004/02/22]
+# Don't edit, this file is generated by FPCMake Version 1.1 [2004/04/21]
 #
 default: all
 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:=$(subst \,/,$(PATH))
+ifneq ($(findstring darwin,$(OSTYPE)),)
+inUnix=1 #darwin
+SEARCHPATH:=$(filter-out .,$(subst :, ,$(PATH)))
+else
 ifeq ($(findstring ;,$(PATH)),)
 inUnix=1
 SEARCHPATH:=$(filter-out .,$(subst :, ,$(PATH)))
 else
 SEARCHPATH:=$(subst ;, ,$(PATH))
 endif
+endif
 SEARCHPATH+=$(patsubst %/,%,$(subst \,/,$(dir $(MAKE))))
 PWD:=$(strip $(wildcard $(addsuffix /pwd.exe,$(SEARCHPATH))))
 ifeq ($(PWD),)
@@ -37,22 +46,13 @@ ifneq ($(findstring cygdrive,$(PATH)),)
 inCygWin=1
 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
-BATCHEXT=.sh
+SRCBATCHEXT=.sh
 else
 ifdef inOS2
-BATCHEXT=.cmd
+SRCBATCHEXT=.cmd
 else
-BATCHEXT=.bat
+SRCBATCHEXT=.bat
 endif
 endif
 ifdef inUnix
@@ -155,6 +155,12 @@ ifeq ($(findstring $(OS_TARGET),$(MAKEFILETARGETS)),)
 $(error The Makefile doesn't support target $(OS_TARGET), please run fpcmake first)
 endif
 endif
+ifneq ($(findstring $(OS_TARGET),$(BSDs)),)
+BSDhier=1
+endif
+ifeq ($(OS_TARGET),linux)
+linuxHier=1
+endif
 export OS_TARGET OS_SOURCE CPU_TARGET CPU_SOURCE FULL_TARGET FULL_SOURCE CROSSCOMPILE
 ifdef FPCDIR
 override FPCDIR:=$(subst \,/,$(FPCDIR))
@@ -217,42 +223,12 @@ 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
-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
 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
 ifndef INSTALL_PREFIX
@@ -261,7 +237,7 @@ INSTALL_PREFIX=$(PREFIX)
 endif
 endif
 ifndef INSTALL_PREFIX
-ifdef UNIXINSTALLDIR
+ifdef UNIXHier
 INSTALL_PREFIX=/usr/local
 else
 ifdef INSTALL_FPCPACKAGE
@@ -280,7 +256,7 @@ DIST_DESTDIR:=$(BASEDIR)
 endif
 export DIST_DESTDIR
 ifndef INSTALL_BASEDIR
-ifdef UNIXINSTALLDIR
+ifdef UNIXHier
 ifdef INSTALL_FPCPACKAGE
 INSTALL_BASEDIR:=$(INSTALL_PREFIX)/lib/fpc/$(FPC_VERSION)
 else
@@ -291,7 +267,7 @@ INSTALL_BASEDIR:=$(INSTALL_PREFIX)
 endif
 endif
 ifndef INSTALL_BINDIR
-ifdef UNIXINSTALLDIR
+ifdef UNIXHier
 ifdef CROSSCOMPILE
 INSTALL_BINDIR:=$(INSTALL_BASEDIR)/cross/$(FULL_TARGET)/bin
 else
@@ -321,19 +297,23 @@ endif
 endif
 endif
 ifndef INSTALL_LIBDIR
-ifdef UNIXINSTALLDIR
+ifdef UNIXHier
 INSTALL_LIBDIR:=$(INSTALL_PREFIX)/lib
 else
 INSTALL_LIBDIR:=$(INSTALL_UNITDIR)
 endif
 endif
 ifndef INSTALL_SOURCEDIR
-ifdef UNIXINSTALLDIR
+ifdef UNIXHier
 ifdef BSDhier
 SRCPREFIXDIR=share/src
 else
+ifdef linuxHier
+SRCPREFIXDIR=share/src
+else
 SRCPREFIXDIR=src
 endif
+endif
 ifdef INSTALL_FPCPACKAGE
 ifdef INSTALL_FPCSUBDIR
 INSTALL_SOURCEDIR:=$(INSTALL_PREFIX)/$(SRCPREFIXDIR)/fpc-$(FPC_VERSION)/$(INSTALL_FPCSUBDIR)/$(PACKAGE_NAME)
@@ -356,12 +336,16 @@ endif
 endif
 endif
 ifndef INSTALL_DOCDIR
-ifdef UNIXINSTALLDIR
+ifdef UNIXHier
 ifdef BSDhier
 DOCPREFIXDIR=share/doc
 else
+ifdef linuxHier
+DOCPREFIXDIR=share/doc
+else
 DOCPREFIXDIR=doc
 endif
+endif
 ifdef INSTALL_FPCPACKAGE
 INSTALL_DOCDIR:=$(INSTALL_PREFIX)/$(DOCPREFIXDIR)/fpc-$(FPC_VERSION)/$(PACKAGE_NAME)
 else
@@ -376,20 +360,28 @@ endif
 endif
 endif
 ifndef INSTALL_EXAMPLEDIR
-ifdef UNIXINSTALLDIR
+ifdef UNIXHier
 ifdef INSTALL_FPCPACKAGE
 ifdef BSDhier
 INSTALL_EXAMPLEDIR:=$(INSTALL_PREFIX)/share/examples/fpc-$(FPC_VERSION)/$(PACKAGE_NAME)
 else
+ifdef linuxHier
+INSTALL_EXAMPLEDIR:=$(INSTALL_DOCDIR)/examples/fpc-$(FPC_VERSION)/$(PACKAGE_NAME)
+else
 INSTALL_EXAMPLEDIR:=$(INSTALL_PREFIX)/doc/fpc-$(FPC_VERSION)/examples/$(PACKAGE_NAME)
 endif
+endif
 else
 ifdef BSDhier
 INSTALL_EXAMPLEDIR:=$(INSTALL_PREFIX)/share/examples/$(PACKAGE_NAME)-$(PACKAGE_VERSION)
 else
+ifdef linuxHier
+INSTALL_EXAMPLEDIR:=$(INSTALL_DOCDIR)/examples/$(PACKAGE_NAME)-$(PACKAGE_VERSION)
+else
 INSTALL_EXAMPLEDIR:=$(INSTALL_PREFIX)/doc/$(PACKAGE_NAME)-$(PACKAGE_VERSION)
 endif
 endif
+endif
 else
 ifdef INSTALL_FPCPACKAGE
 INSTALL_EXAMPLEDIR:=$(INSTALL_BASEDIR)/examples/$(PACKAGE_NAME)
@@ -411,6 +403,7 @@ endif
 else
 CROSSBINDIR=
 endif
+BATCHEXT=.bat
 LOADEREXT=.as
 EXEEXT=.exe
 PPLEXT=.ppl
@@ -443,24 +436,28 @@ ASMEXT=.asm
 SHAREDLIBEXT=.dll
 endif
 ifeq ($(OS_TARGET),linux)
+BATCHEXT=.sh
 EXEEXT=
 HASSHAREDLIB=1
 FPCMADE=fpcmade.lnx
 ZIPSUFFIX=linux
 endif
 ifeq ($(OS_TARGET),freebsd)
+BATCHEXT=.sh
 EXEEXT=
 HASSHAREDLIB=1
 FPCMADE=fpcmade.freebsd
 ZIPSUFFIX=freebsd
 endif
 ifeq ($(OS_TARGET),netbsd)
+BATCHEXT=.sh
 EXEEXT=
 HASSHAREDLIB=1
 FPCMADE=fpcmade.netbsd
 ZIPSUFFIX=netbsd
 endif
 ifeq ($(OS_TARGET),openbsd)
+BATCHEXT=.sh
 EXEEXT=
 HASSHAREDLIB=1
 FPCMADE=fpcmade.openbsd
@@ -472,6 +469,7 @@ FPCMADE=fpcmade.w32
 ZIPSUFFIX=w32
 endif
 ifeq ($(OS_TARGET),os2)
+BATCHEXT=.cmd
 AOUTEXT=.out
 STATICLIBPREFIX=
 SHAREDLIBEXT=.dll
@@ -480,6 +478,7 @@ ZIPSUFFIX=os2
 ECHO=echo
 endif
 ifeq ($(OS_TARGET),emx)
+BATCHEXT=.cmd
 AOUTEXT=.out
 STATICLIBPREFIX=
 SHAREDLIBEXT=.dll
@@ -497,16 +496,19 @@ EXEEXT=.ttp
 FPCMADE=fpcmade.ata
 endif
 ifeq ($(OS_TARGET),beos)
+BATCHEXT=.sh
 EXEEXT=
 FPCMADE=fpcmade.be
 ZIPSUFFIX=be
 endif
 ifeq ($(OS_TARGET),sunos)
+BATCHEXT=.sh
 EXEEXT=
 FPCMADE=fpcmade.sun
 ZIPSUFFIX=sun
 endif
 ifeq ($(OS_TARGET),qnx)
+BATCHEXT=.sh
 EXEEXT=
 FPCMADE=fpcmade.qnx
 ZIPSUFFIX=qnx
@@ -518,10 +520,14 @@ FPCMADE=fpcmade.nw
 ZIPSUFFIX=nw
 endif
 ifeq ($(OS_TARGET),macos)
+BATCHEXT=
 EXEEXT=
-FPCMADE=fpcmade.mcc
+FPCMADE=fpcmade.macos
+ZIPSUFFIX=macos
+DEBUGSYMEXT=.xcoff
 endif
 ifeq ($(OS_TARGET),darwin)
+BATCHEXT=.sh
 EXEEXT=
 HASSHAREDLIB=1
 FPCMADE=fpcmade.darwin
@@ -550,24 +556,28 @@ FPCMADE=fpcmade.dos
 ZIPSUFFIX=watcom
 endif
 ifeq ($(OS_TARGET),linux)
+BATCHEXT=.sh
 EXEEXT=
 HASSHAREDLIB=1
 FPCMADE=fpcmade.lnx
 ZIPSUFFIX=linux
 endif
 ifeq ($(OS_TARGET),freebsd)
+BATCHEXT=.sh
 EXEEXT=
 HASSHAREDLIB=1
 FPCMADE=fpcmade.freebsd
 ZIPSUFFIX=freebsd
 endif
 ifeq ($(OS_TARGET),netbsd)
+BATCHEXT=.sh
 EXEEXT=
 HASSHAREDLIB=1
 FPCMADE=fpcmade.netbsd
 ZIPSUFFIX=netbsd
 endif
 ifeq ($(OS_TARGET),openbsd)
+BATCHEXT=.sh
 EXEEXT=
 HASSHAREDLIB=1
 FPCMADE=fpcmade.openbsd
@@ -584,6 +594,7 @@ FPCMADE=fpcmade.w32
 ZIPSUFFIX=w32
 endif
 ifeq ($(OS_TARGET),os2)
+BATCHEXT=.cmd
 PPUEXT=.ppo
 ASMEXT=.so2
 OEXT=.oo2
@@ -616,6 +627,7 @@ EXEEXT=.ttp
 FPCMADE=fpcmade.ata
 endif
 ifeq ($(OS_TARGET),beos)
+BATCHEXT=.sh
 PPUEXT=.ppu
 ASMEXT=.s
 OEXT=.o
@@ -626,6 +638,7 @@ FPCMADE=fpcmade.be
 ZIPSUFFIX=be
 endif
 ifeq ($(OS_TARGET),sunos)
+BATCHEXT=.sh
 PPUEXT=.ppu
 ASMEXT=.s
 OEXT=.o
@@ -636,6 +649,7 @@ FPCMADE=fpcmade.sun
 ZIPSUFFIX=sun
 endif
 ifeq ($(OS_TARGET),qnx)
+BATCHEXT=.sh
 PPUEXT=.ppu
 ASMEXT=.s
 OEXT=.o
@@ -658,13 +672,15 @@ ZIPSUFFIX=nw
 EXEEXT=.nlm
 endif
 ifeq ($(OS_TARGET),macos)
+BATCHEXT=
 PPUEXT=.ppu
 ASMEXT=.s
 OEXT=.o
 SMARTEXT=.sl
 STATICLIBEXT=.a
 EXEEXT=
-FPCMADE=fpcmade.mcc
+DEBUGSYMEXT=.xcoff
+FPCMADE=fpcmade.macos
 endif
 endif
 ifndef ECHO
@@ -672,7 +688,7 @@ ECHO:=$(strip $(wildcard $(addsuffix /gecho$(SRCEXEEXT),$(SEARCHPATH))))
 ifeq ($(ECHO),)
 ECHO:=$(strip $(wildcard $(addsuffix /echo$(SRCEXEEXT),$(SEARCHPATH))))
 ifeq ($(ECHO),)
-ECHO=
+ECHO= __missing_command__
 else
 ECHO:=$(firstword $(ECHO))
 endif
@@ -686,7 +702,7 @@ DATE:=$(strip $(wildcard $(addsuffix /gdate$(SRCEXEEXT),$(SEARCHPATH))))
 ifeq ($(DATE),)
 DATE:=$(strip $(wildcard $(addsuffix /date$(SRCEXEEXT),$(SEARCHPATH))))
 ifeq ($(DATE),)
-DATE=
+DATE= __missing_command__
 else
 DATE:=$(firstword $(DATE))
 endif
@@ -700,7 +716,7 @@ GINSTALL:=$(strip $(wildcard $(addsuffix /ginstall$(SRCEXEEXT),$(SEARCHPATH))))
 ifeq ($(GINSTALL),)
 GINSTALL:=$(strip $(wildcard $(addsuffix /install$(SRCEXEEXT),$(SEARCHPATH))))
 ifeq ($(GINSTALL),)
-GINSTALL=
+GINSTALL= __missing_command__
 else
 GINSTALL:=$(firstword $(GINSTALL))
 endif
@@ -712,7 +728,7 @@ export GINSTALL
 ifndef CPPROG
 CPPROG:=$(strip $(wildcard $(addsuffix /cp$(SRCEXEEXT),$(SEARCHPATH))))
 ifeq ($(CPPROG),)
-CPPROG=
+CPPROG= __missing_command__
 else
 CPPROG:=$(firstword $(CPPROG))
 endif
@@ -721,7 +737,7 @@ export CPPROG
 ifndef RMPROG
 RMPROG:=$(strip $(wildcard $(addsuffix /rm$(SRCEXEEXT),$(SEARCHPATH))))
 ifeq ($(RMPROG),)
-RMPROG=
+RMPROG= __missing_command__
 else
 RMPROG:=$(firstword $(RMPROG))
 endif
@@ -730,7 +746,7 @@ export RMPROG
 ifndef MVPROG
 MVPROG:=$(strip $(wildcard $(addsuffix /mv$(SRCEXEEXT),$(SEARCHPATH))))
 ifeq ($(MVPROG),)
-MVPROG=
+MVPROG= __missing_command__
 else
 MVPROG:=$(firstword $(MVPROG))
 endif
@@ -779,7 +795,7 @@ export ECHOREDIR COPY COPYTREE MOVE DEL DELTREE INSTALL INSTALLEXE MKDIR
 ifndef PPUMOVE
 PPUMOVE:=$(strip $(wildcard $(addsuffix /ppumove$(SRCEXEEXT),$(SEARCHPATH))))
 ifeq ($(PPUMOVE),)
-PPUMOVE=
+PPUMOVE= __missing_command__
 else
 PPUMOVE:=$(firstword $(PPUMOVE))
 endif
@@ -788,7 +804,7 @@ export PPUMOVE
 ifndef FPCMAKE
 FPCMAKE:=$(strip $(wildcard $(addsuffix /fpcmake$(SRCEXEEXT),$(SEARCHPATH))))
 ifeq ($(FPCMAKE),)
-FPCMAKE=
+FPCMAKE= __missing_command__
 else
 FPCMAKE:=$(firstword $(FPCMAKE))
 endif
@@ -797,7 +813,7 @@ export FPCMAKE
 ifndef ZIPPROG
 ZIPPROG:=$(strip $(wildcard $(addsuffix /zip$(SRCEXEEXT),$(SEARCHPATH))))
 ifeq ($(ZIPPROG),)
-ZIPPROG=
+ZIPPROG= __missing_command__
 else
 ZIPPROG:=$(firstword $(ZIPPROG))
 endif
@@ -806,7 +822,7 @@ export ZIPPROG
 ifndef TARPROG
 TARPROG:=$(strip $(wildcard $(addsuffix /tar$(SRCEXEEXT),$(SEARCHPATH))))
 ifeq ($(TARPROG),)
-TARPROG=
+TARPROG= __missing_command__
 else
 TARPROG:=$(firstword $(TARPROG))
 endif
@@ -818,9 +834,11 @@ ARNAME=$(BINUTILSPREFIX)ar
 RCNAME=$(BINUTILSPREFIX)rc
 ifneq ($(findstring 1.0.,$(FPC_VERSION)),)
 ifeq ($(OS_TARGET),win32)
-ASNAME=as
-LDNAME=ld
-ARNAME=ar
+ifeq ($(CROSSBINDIR),)
+ASNAME=asw
+LDNAME=ldw
+ARNAME=arw
+endif
 endif
 endif
 ifndef ASPROG
@@ -855,7 +873,7 @@ AS=$(ASPROG)
 LD=$(LDPROG)
 RC=$(RCPROG)
 AR=$(ARPROG)
-PPAS=ppas$(BATCHEXT)
+PPAS=ppas$(SRCBATCHEXT)
 ifdef inUnix
 LDCONFIG=ldconfig
 else
@@ -1114,8 +1132,12 @@ ifdef RELEASE
 ifeq ($(CPU_TARGET),i386)
 FPCCPUOPT:=-OG2p3
 else
+ifeq ($(CPU_TARGET),powerpc)
+FPCCPUOPT:=-O1
+else
 FPCCPUOPT:=
 endif
+endif
 override FPCOPT+=-Xs $(FPCCPUOPT) -n
 override FPCOPTDEF+=RELEASE
 endif
@@ -1209,6 +1231,9 @@ override CLEANPPUFILES+=$(addsuffix $(PPUEXT),$(CLEAN_UNITS))
 endif
 ifdef 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 CLEANPPULINKFILES:=$(wildcard $(addprefix $(UNITTARGETDIRPREFIX),$(CLEANPPULINKFILES)))
 endif
@@ -1232,6 +1257,7 @@ ifdef LIB_NAME
 	-$(DEL) $(LIB_NAME) $(LIB_FULLNAME)
 endif
 	-$(DEL) $(FPCMADE) Package.fpc $(PPAS) script.res link.res $(FPCEXTFILE) $(REDIRFILE)
+	-$(DEL) *$(ASMEXT) *_ppas$(BATCHEXT)
 fpc_distclean: clean
 ifdef COMPILER_UNITTARGETDIR
 TARGETDIRCLEAN=fpc_clean
@@ -1243,9 +1269,13 @@ endif
 	-$(DEL) *$(OEXT) *$(PPUEXT) *$(RSTEXT) *$(ASMEXT) *$(STATICLIBEXT) *$(SHAREDLIBEXT) *$(PPLEXT)
 	-$(DELTREE) *$(SMARTEXT)
 	-$(DEL) $(FPCMADE) Package.fpc $(PPAS) script.res link.res $(FPCEXTFILE) $(REDIRFILE)
+	-$(DEL) *_ppas$(BATCHEXT)
 ifdef AOUTEXT
 	-$(DEL) *$(AOUTEXT)
 endif
+ifdef DEBUGSYMEXT
+	-$(DEL) *$(DEBUGSYMEXT)
+endif
 .PHONY: fpc_baseinfo
 override INFORULES+=fpc_baseinfo
 fpc_baseinfo:

+ 114 - 72
packages/extra/gnome1/gconf/Makefile

@@ -1,15 +1,24 @@
 #
-# Don't edit, this file is generated by FPCMake Version 1.1 [2004/02/22]
+# Don't edit, this file is generated by FPCMake Version 1.1 [2004/04/21]
 #
 default: all
 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:=$(subst \,/,$(PATH))
+ifneq ($(findstring darwin,$(OSTYPE)),)
+inUnix=1 #darwin
+SEARCHPATH:=$(filter-out .,$(subst :, ,$(PATH)))
+else
 ifeq ($(findstring ;,$(PATH)),)
 inUnix=1
 SEARCHPATH:=$(filter-out .,$(subst :, ,$(PATH)))
 else
 SEARCHPATH:=$(subst ;, ,$(PATH))
 endif
+endif
 SEARCHPATH+=$(patsubst %/,%,$(subst \,/,$(dir $(MAKE))))
 PWD:=$(strip $(wildcard $(addsuffix /pwd.exe,$(SEARCHPATH))))
 ifeq ($(PWD),)
@@ -37,22 +46,13 @@ ifneq ($(findstring cygdrive,$(PATH)),)
 inCygWin=1
 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
-BATCHEXT=.sh
+SRCBATCHEXT=.sh
 else
 ifdef inOS2
-BATCHEXT=.cmd
+SRCBATCHEXT=.cmd
 else
-BATCHEXT=.bat
+SRCBATCHEXT=.bat
 endif
 endif
 ifdef inUnix
@@ -155,6 +155,12 @@ ifeq ($(findstring $(OS_TARGET),$(MAKEFILETARGETS)),)
 $(error The Makefile doesn't support target $(OS_TARGET), please run fpcmake first)
 endif
 endif
+ifneq ($(findstring $(OS_TARGET),$(BSDs)),)
+BSDhier=1
+endif
+ifeq ($(OS_TARGET),linux)
+linuxHier=1
+endif
 export OS_TARGET OS_SOURCE CPU_TARGET CPU_SOURCE FULL_TARGET FULL_SOURCE CROSSCOMPILE
 ifdef FPCDIR
 override FPCDIR:=$(subst \,/,$(FPCDIR))
@@ -221,42 +227,12 @@ 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
-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
 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
 ifndef INSTALL_PREFIX
@@ -265,7 +241,7 @@ INSTALL_PREFIX=$(PREFIX)
 endif
 endif
 ifndef INSTALL_PREFIX
-ifdef UNIXINSTALLDIR
+ifdef UNIXHier
 INSTALL_PREFIX=/usr/local
 else
 ifdef INSTALL_FPCPACKAGE
@@ -284,7 +260,7 @@ DIST_DESTDIR:=$(BASEDIR)
 endif
 export DIST_DESTDIR
 ifndef INSTALL_BASEDIR
-ifdef UNIXINSTALLDIR
+ifdef UNIXHier
 ifdef INSTALL_FPCPACKAGE
 INSTALL_BASEDIR:=$(INSTALL_PREFIX)/lib/fpc/$(FPC_VERSION)
 else
@@ -295,7 +271,7 @@ INSTALL_BASEDIR:=$(INSTALL_PREFIX)
 endif
 endif
 ifndef INSTALL_BINDIR
-ifdef UNIXINSTALLDIR
+ifdef UNIXHier
 ifdef CROSSCOMPILE
 INSTALL_BINDIR:=$(INSTALL_BASEDIR)/cross/$(FULL_TARGET)/bin
 else
@@ -325,19 +301,23 @@ endif
 endif
 endif
 ifndef INSTALL_LIBDIR
-ifdef UNIXINSTALLDIR
+ifdef UNIXHier
 INSTALL_LIBDIR:=$(INSTALL_PREFIX)/lib
 else
 INSTALL_LIBDIR:=$(INSTALL_UNITDIR)
 endif
 endif
 ifndef INSTALL_SOURCEDIR
-ifdef UNIXINSTALLDIR
+ifdef UNIXHier
 ifdef BSDhier
 SRCPREFIXDIR=share/src
 else
+ifdef linuxHier
+SRCPREFIXDIR=share/src
+else
 SRCPREFIXDIR=src
 endif
+endif
 ifdef INSTALL_FPCPACKAGE
 ifdef INSTALL_FPCSUBDIR
 INSTALL_SOURCEDIR:=$(INSTALL_PREFIX)/$(SRCPREFIXDIR)/fpc-$(FPC_VERSION)/$(INSTALL_FPCSUBDIR)/$(PACKAGE_NAME)
@@ -360,12 +340,16 @@ endif
 endif
 endif
 ifndef INSTALL_DOCDIR
-ifdef UNIXINSTALLDIR
+ifdef UNIXHier
 ifdef BSDhier
 DOCPREFIXDIR=share/doc
 else
+ifdef linuxHier
+DOCPREFIXDIR=share/doc
+else
 DOCPREFIXDIR=doc
 endif
+endif
 ifdef INSTALL_FPCPACKAGE
 INSTALL_DOCDIR:=$(INSTALL_PREFIX)/$(DOCPREFIXDIR)/fpc-$(FPC_VERSION)/$(PACKAGE_NAME)
 else
@@ -380,20 +364,28 @@ endif
 endif
 endif
 ifndef INSTALL_EXAMPLEDIR
-ifdef UNIXINSTALLDIR
+ifdef UNIXHier
 ifdef INSTALL_FPCPACKAGE
 ifdef BSDhier
 INSTALL_EXAMPLEDIR:=$(INSTALL_PREFIX)/share/examples/fpc-$(FPC_VERSION)/$(PACKAGE_NAME)
 else
+ifdef linuxHier
+INSTALL_EXAMPLEDIR:=$(INSTALL_DOCDIR)/examples/fpc-$(FPC_VERSION)/$(PACKAGE_NAME)
+else
 INSTALL_EXAMPLEDIR:=$(INSTALL_PREFIX)/doc/fpc-$(FPC_VERSION)/examples/$(PACKAGE_NAME)
 endif
+endif
 else
 ifdef BSDhier
 INSTALL_EXAMPLEDIR:=$(INSTALL_PREFIX)/share/examples/$(PACKAGE_NAME)-$(PACKAGE_VERSION)
 else
+ifdef linuxHier
+INSTALL_EXAMPLEDIR:=$(INSTALL_DOCDIR)/examples/$(PACKAGE_NAME)-$(PACKAGE_VERSION)
+else
 INSTALL_EXAMPLEDIR:=$(INSTALL_PREFIX)/doc/$(PACKAGE_NAME)-$(PACKAGE_VERSION)
 endif
 endif
+endif
 else
 ifdef INSTALL_FPCPACKAGE
 INSTALL_EXAMPLEDIR:=$(INSTALL_BASEDIR)/examples/$(PACKAGE_NAME)
@@ -417,7 +409,19 @@ CROSSBINDIR=
 endif
 ifeq ($(OS_SOURCE),linux)
 ifndef GCCLIBDIR
-GCCLIBDIR:=$(shell dirname `gcc -print-libgcc-file-name`)
+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
 ifndef OTHERLIBDIR
 OTHERLIBDIR:=$(shell grep -v "^\#" /etc/ld.so.conf | awk '{ ORS=" "; print $1 }')
@@ -429,6 +433,7 @@ OTHERLIBDIR+=/usr/pkg/lib
 endif
 export GCCLIBDIR OTHERLIB
 endif
+BATCHEXT=.bat
 LOADEREXT=.as
 EXEEXT=.exe
 PPLEXT=.ppl
@@ -461,24 +466,28 @@ ASMEXT=.asm
 SHAREDLIBEXT=.dll
 endif
 ifeq ($(OS_TARGET),linux)
+BATCHEXT=.sh
 EXEEXT=
 HASSHAREDLIB=1
 FPCMADE=fpcmade.lnx
 ZIPSUFFIX=linux
 endif
 ifeq ($(OS_TARGET),freebsd)
+BATCHEXT=.sh
 EXEEXT=
 HASSHAREDLIB=1
 FPCMADE=fpcmade.freebsd
 ZIPSUFFIX=freebsd
 endif
 ifeq ($(OS_TARGET),netbsd)
+BATCHEXT=.sh
 EXEEXT=
 HASSHAREDLIB=1
 FPCMADE=fpcmade.netbsd
 ZIPSUFFIX=netbsd
 endif
 ifeq ($(OS_TARGET),openbsd)
+BATCHEXT=.sh
 EXEEXT=
 HASSHAREDLIB=1
 FPCMADE=fpcmade.openbsd
@@ -490,6 +499,7 @@ FPCMADE=fpcmade.w32
 ZIPSUFFIX=w32
 endif
 ifeq ($(OS_TARGET),os2)
+BATCHEXT=.cmd
 AOUTEXT=.out
 STATICLIBPREFIX=
 SHAREDLIBEXT=.dll
@@ -498,6 +508,7 @@ ZIPSUFFIX=os2
 ECHO=echo
 endif
 ifeq ($(OS_TARGET),emx)
+BATCHEXT=.cmd
 AOUTEXT=.out
 STATICLIBPREFIX=
 SHAREDLIBEXT=.dll
@@ -515,16 +526,19 @@ EXEEXT=.ttp
 FPCMADE=fpcmade.ata
 endif
 ifeq ($(OS_TARGET),beos)
+BATCHEXT=.sh
 EXEEXT=
 FPCMADE=fpcmade.be
 ZIPSUFFIX=be
 endif
 ifeq ($(OS_TARGET),sunos)
+BATCHEXT=.sh
 EXEEXT=
 FPCMADE=fpcmade.sun
 ZIPSUFFIX=sun
 endif
 ifeq ($(OS_TARGET),qnx)
+BATCHEXT=.sh
 EXEEXT=
 FPCMADE=fpcmade.qnx
 ZIPSUFFIX=qnx
@@ -536,10 +550,14 @@ FPCMADE=fpcmade.nw
 ZIPSUFFIX=nw
 endif
 ifeq ($(OS_TARGET),macos)
+BATCHEXT=
 EXEEXT=
-FPCMADE=fpcmade.mcc
+FPCMADE=fpcmade.macos
+ZIPSUFFIX=macos
+DEBUGSYMEXT=.xcoff
 endif
 ifeq ($(OS_TARGET),darwin)
+BATCHEXT=.sh
 EXEEXT=
 HASSHAREDLIB=1
 FPCMADE=fpcmade.darwin
@@ -568,24 +586,28 @@ FPCMADE=fpcmade.dos
 ZIPSUFFIX=watcom
 endif
 ifeq ($(OS_TARGET),linux)
+BATCHEXT=.sh
 EXEEXT=
 HASSHAREDLIB=1
 FPCMADE=fpcmade.lnx
 ZIPSUFFIX=linux
 endif
 ifeq ($(OS_TARGET),freebsd)
+BATCHEXT=.sh
 EXEEXT=
 HASSHAREDLIB=1
 FPCMADE=fpcmade.freebsd
 ZIPSUFFIX=freebsd
 endif
 ifeq ($(OS_TARGET),netbsd)
+BATCHEXT=.sh
 EXEEXT=
 HASSHAREDLIB=1
 FPCMADE=fpcmade.netbsd
 ZIPSUFFIX=netbsd
 endif
 ifeq ($(OS_TARGET),openbsd)
+BATCHEXT=.sh
 EXEEXT=
 HASSHAREDLIB=1
 FPCMADE=fpcmade.openbsd
@@ -602,6 +624,7 @@ FPCMADE=fpcmade.w32
 ZIPSUFFIX=w32
 endif
 ifeq ($(OS_TARGET),os2)
+BATCHEXT=.cmd
 PPUEXT=.ppo
 ASMEXT=.so2
 OEXT=.oo2
@@ -634,6 +657,7 @@ EXEEXT=.ttp
 FPCMADE=fpcmade.ata
 endif
 ifeq ($(OS_TARGET),beos)
+BATCHEXT=.sh
 PPUEXT=.ppu
 ASMEXT=.s
 OEXT=.o
@@ -644,6 +668,7 @@ FPCMADE=fpcmade.be
 ZIPSUFFIX=be
 endif
 ifeq ($(OS_TARGET),sunos)
+BATCHEXT=.sh
 PPUEXT=.ppu
 ASMEXT=.s
 OEXT=.o
@@ -654,6 +679,7 @@ FPCMADE=fpcmade.sun
 ZIPSUFFIX=sun
 endif
 ifeq ($(OS_TARGET),qnx)
+BATCHEXT=.sh
 PPUEXT=.ppu
 ASMEXT=.s
 OEXT=.o
@@ -676,13 +702,15 @@ ZIPSUFFIX=nw
 EXEEXT=.nlm
 endif
 ifeq ($(OS_TARGET),macos)
+BATCHEXT=
 PPUEXT=.ppu
 ASMEXT=.s
 OEXT=.o
 SMARTEXT=.sl
 STATICLIBEXT=.a
 EXEEXT=
-FPCMADE=fpcmade.mcc
+DEBUGSYMEXT=.xcoff
+FPCMADE=fpcmade.macos
 endif
 endif
 ifndef ECHO
@@ -690,7 +718,7 @@ ECHO:=$(strip $(wildcard $(addsuffix /gecho$(SRCEXEEXT),$(SEARCHPATH))))
 ifeq ($(ECHO),)
 ECHO:=$(strip $(wildcard $(addsuffix /echo$(SRCEXEEXT),$(SEARCHPATH))))
 ifeq ($(ECHO),)
-ECHO=
+ECHO= __missing_command__
 else
 ECHO:=$(firstword $(ECHO))
 endif
@@ -704,7 +732,7 @@ DATE:=$(strip $(wildcard $(addsuffix /gdate$(SRCEXEEXT),$(SEARCHPATH))))
 ifeq ($(DATE),)
 DATE:=$(strip $(wildcard $(addsuffix /date$(SRCEXEEXT),$(SEARCHPATH))))
 ifeq ($(DATE),)
-DATE=
+DATE= __missing_command__
 else
 DATE:=$(firstword $(DATE))
 endif
@@ -718,7 +746,7 @@ GINSTALL:=$(strip $(wildcard $(addsuffix /ginstall$(SRCEXEEXT),$(SEARCHPATH))))
 ifeq ($(GINSTALL),)
 GINSTALL:=$(strip $(wildcard $(addsuffix /install$(SRCEXEEXT),$(SEARCHPATH))))
 ifeq ($(GINSTALL),)
-GINSTALL=
+GINSTALL= __missing_command__
 else
 GINSTALL:=$(firstword $(GINSTALL))
 endif
@@ -730,7 +758,7 @@ export GINSTALL
 ifndef CPPROG
 CPPROG:=$(strip $(wildcard $(addsuffix /cp$(SRCEXEEXT),$(SEARCHPATH))))
 ifeq ($(CPPROG),)
-CPPROG=
+CPPROG= __missing_command__
 else
 CPPROG:=$(firstword $(CPPROG))
 endif
@@ -739,7 +767,7 @@ export CPPROG
 ifndef RMPROG
 RMPROG:=$(strip $(wildcard $(addsuffix /rm$(SRCEXEEXT),$(SEARCHPATH))))
 ifeq ($(RMPROG),)
-RMPROG=
+RMPROG= __missing_command__
 else
 RMPROG:=$(firstword $(RMPROG))
 endif
@@ -748,7 +776,7 @@ export RMPROG
 ifndef MVPROG
 MVPROG:=$(strip $(wildcard $(addsuffix /mv$(SRCEXEEXT),$(SEARCHPATH))))
 ifeq ($(MVPROG),)
-MVPROG=
+MVPROG= __missing_command__
 else
 MVPROG:=$(firstword $(MVPROG))
 endif
@@ -797,7 +825,7 @@ export ECHOREDIR COPY COPYTREE MOVE DEL DELTREE INSTALL INSTALLEXE MKDIR
 ifndef PPUMOVE
 PPUMOVE:=$(strip $(wildcard $(addsuffix /ppumove$(SRCEXEEXT),$(SEARCHPATH))))
 ifeq ($(PPUMOVE),)
-PPUMOVE=
+PPUMOVE= __missing_command__
 else
 PPUMOVE:=$(firstword $(PPUMOVE))
 endif
@@ -806,7 +834,7 @@ export PPUMOVE
 ifndef FPCMAKE
 FPCMAKE:=$(strip $(wildcard $(addsuffix /fpcmake$(SRCEXEEXT),$(SEARCHPATH))))
 ifeq ($(FPCMAKE),)
-FPCMAKE=
+FPCMAKE= __missing_command__
 else
 FPCMAKE:=$(firstword $(FPCMAKE))
 endif
@@ -815,7 +843,7 @@ export FPCMAKE
 ifndef ZIPPROG
 ZIPPROG:=$(strip $(wildcard $(addsuffix /zip$(SRCEXEEXT),$(SEARCHPATH))))
 ifeq ($(ZIPPROG),)
-ZIPPROG=
+ZIPPROG= __missing_command__
 else
 ZIPPROG:=$(firstword $(ZIPPROG))
 endif
@@ -824,7 +852,7 @@ export ZIPPROG
 ifndef TARPROG
 TARPROG:=$(strip $(wildcard $(addsuffix /tar$(SRCEXEEXT),$(SEARCHPATH))))
 ifeq ($(TARPROG),)
-TARPROG=
+TARPROG= __missing_command__
 else
 TARPROG:=$(firstword $(TARPROG))
 endif
@@ -836,9 +864,11 @@ ARNAME=$(BINUTILSPREFIX)ar
 RCNAME=$(BINUTILSPREFIX)rc
 ifneq ($(findstring 1.0.,$(FPC_VERSION)),)
 ifeq ($(OS_TARGET),win32)
-ASNAME=as
-LDNAME=ld
-ARNAME=ar
+ifeq ($(CROSSBINDIR),)
+ASNAME=asw
+LDNAME=ldw
+ARNAME=arw
+endif
 endif
 endif
 ifndef ASPROG
@@ -873,7 +903,7 @@ AS=$(ASPROG)
 LD=$(LDPROG)
 RC=$(RCPROG)
 AR=$(ARPROG)
-PPAS=ppas$(BATCHEXT)
+PPAS=ppas$(SRCBATCHEXT)
 ifdef inUnix
 LDCONFIG=ldconfig
 else
@@ -1284,8 +1314,12 @@ ifdef RELEASE
 ifeq ($(CPU_TARGET),i386)
 FPCCPUOPT:=-OG2p3
 else
+ifeq ($(CPU_TARGET),powerpc)
+FPCCPUOPT:=-O1
+else
 FPCCPUOPT:=
 endif
+endif
 override FPCOPT+=-Xs $(FPCCPUOPT) -n
 override FPCOPTDEF+=RELEASE
 endif
@@ -1535,7 +1569,7 @@ USEZIPWRAPPER=1
 endif
 ifdef USEZIPWRAPPER
 ZIPPATHSEP=$(PATHSEP)
-ZIPWRAPPER=$(subst /,$(PATHSEP),$(DIST_DESTDIR)/fpczip$(BATCHEXT))
+ZIPWRAPPER=$(subst /,$(PATHSEP),$(DIST_DESTDIR)/fpczip$(SRCBATCHEXT))
 else
 ZIPPATHSEP=/
 endif
@@ -1589,6 +1623,9 @@ override CLEANPPUFILES+=$(addsuffix $(PPUEXT),$(CLEAN_UNITS))
 endif
 ifdef 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 CLEANPPULINKFILES:=$(wildcard $(addprefix $(UNITTARGETDIRPREFIX),$(CLEANPPULINKFILES)))
 endif
@@ -1612,6 +1649,7 @@ ifdef LIB_NAME
 	-$(DEL) $(LIB_NAME) $(LIB_FULLNAME)
 endif
 	-$(DEL) $(FPCMADE) Package.fpc $(PPAS) script.res link.res $(FPCEXTFILE) $(REDIRFILE)
+	-$(DEL) *$(ASMEXT) *_ppas$(BATCHEXT)
 fpc_distclean: clean
 ifdef COMPILER_UNITTARGETDIR
 TARGETDIRCLEAN=fpc_clean
@@ -1623,9 +1661,13 @@ endif
 	-$(DEL) *$(OEXT) *$(PPUEXT) *$(RSTEXT) *$(ASMEXT) *$(STATICLIBEXT) *$(SHAREDLIBEXT) *$(PPLEXT)
 	-$(DELTREE) *$(SMARTEXT)
 	-$(DEL) $(FPCMADE) Package.fpc $(PPAS) script.res link.res $(FPCEXTFILE) $(REDIRFILE)
+	-$(DEL) *_ppas$(BATCHEXT)
 ifdef AOUTEXT
 	-$(DEL) *$(AOUTEXT)
 endif
+ifdef DEBUGSYMEXT
+	-$(DEL) *$(DEBUGSYMEXT)
+endif
 .PHONY: fpc_baseinfo
 override INFORULES+=fpc_baseinfo
 fpc_baseinfo:

+ 113 - 71
packages/extra/gnome1/gconf/examples/Makefile

@@ -1,15 +1,24 @@
 #
-# Don't edit, this file is generated by FPCMake Version 1.1 [2004/02/22]
+# Don't edit, this file is generated by FPCMake Version 1.1 [2004/04/21]
 #
 default: all
 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:=$(subst \,/,$(PATH))
+ifneq ($(findstring darwin,$(OSTYPE)),)
+inUnix=1 #darwin
+SEARCHPATH:=$(filter-out .,$(subst :, ,$(PATH)))
+else
 ifeq ($(findstring ;,$(PATH)),)
 inUnix=1
 SEARCHPATH:=$(filter-out .,$(subst :, ,$(PATH)))
 else
 SEARCHPATH:=$(subst ;, ,$(PATH))
 endif
+endif
 SEARCHPATH+=$(patsubst %/,%,$(subst \,/,$(dir $(MAKE))))
 PWD:=$(strip $(wildcard $(addsuffix /pwd.exe,$(SEARCHPATH))))
 ifeq ($(PWD),)
@@ -37,22 +46,13 @@ ifneq ($(findstring cygdrive,$(PATH)),)
 inCygWin=1
 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
-BATCHEXT=.sh
+SRCBATCHEXT=.sh
 else
 ifdef inOS2
-BATCHEXT=.cmd
+SRCBATCHEXT=.cmd
 else
-BATCHEXT=.bat
+SRCBATCHEXT=.bat
 endif
 endif
 ifdef inUnix
@@ -155,6 +155,12 @@ ifeq ($(findstring $(OS_TARGET),$(MAKEFILETARGETS)),)
 $(error The Makefile doesn't support target $(OS_TARGET), please run fpcmake first)
 endif
 endif
+ifneq ($(findstring $(OS_TARGET),$(BSDs)),)
+BSDhier=1
+endif
+ifeq ($(OS_TARGET),linux)
+linuxHier=1
+endif
 export OS_TARGET OS_SOURCE CPU_TARGET CPU_SOURCE FULL_TARGET FULL_SOURCE CROSSCOMPILE
 ifdef FPCDIR
 override FPCDIR:=$(subst \,/,$(FPCDIR))
@@ -217,42 +223,12 @@ 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
-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
 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
 ifndef INSTALL_PREFIX
@@ -261,7 +237,7 @@ INSTALL_PREFIX=$(PREFIX)
 endif
 endif
 ifndef INSTALL_PREFIX
-ifdef UNIXINSTALLDIR
+ifdef UNIXHier
 INSTALL_PREFIX=/usr/local
 else
 ifdef INSTALL_FPCPACKAGE
@@ -280,7 +256,7 @@ DIST_DESTDIR:=$(BASEDIR)
 endif
 export DIST_DESTDIR
 ifndef INSTALL_BASEDIR
-ifdef UNIXINSTALLDIR
+ifdef UNIXHier
 ifdef INSTALL_FPCPACKAGE
 INSTALL_BASEDIR:=$(INSTALL_PREFIX)/lib/fpc/$(FPC_VERSION)
 else
@@ -291,7 +267,7 @@ INSTALL_BASEDIR:=$(INSTALL_PREFIX)
 endif
 endif
 ifndef INSTALL_BINDIR
-ifdef UNIXINSTALLDIR
+ifdef UNIXHier
 ifdef CROSSCOMPILE
 INSTALL_BINDIR:=$(INSTALL_BASEDIR)/cross/$(FULL_TARGET)/bin
 else
@@ -321,19 +297,23 @@ endif
 endif
 endif
 ifndef INSTALL_LIBDIR
-ifdef UNIXINSTALLDIR
+ifdef UNIXHier
 INSTALL_LIBDIR:=$(INSTALL_PREFIX)/lib
 else
 INSTALL_LIBDIR:=$(INSTALL_UNITDIR)
 endif
 endif
 ifndef INSTALL_SOURCEDIR
-ifdef UNIXINSTALLDIR
+ifdef UNIXHier
 ifdef BSDhier
 SRCPREFIXDIR=share/src
 else
+ifdef linuxHier
+SRCPREFIXDIR=share/src
+else
 SRCPREFIXDIR=src
 endif
+endif
 ifdef INSTALL_FPCPACKAGE
 ifdef INSTALL_FPCSUBDIR
 INSTALL_SOURCEDIR:=$(INSTALL_PREFIX)/$(SRCPREFIXDIR)/fpc-$(FPC_VERSION)/$(INSTALL_FPCSUBDIR)/$(PACKAGE_NAME)
@@ -356,12 +336,16 @@ endif
 endif
 endif
 ifndef INSTALL_DOCDIR
-ifdef UNIXINSTALLDIR
+ifdef UNIXHier
 ifdef BSDhier
 DOCPREFIXDIR=share/doc
 else
+ifdef linuxHier
+DOCPREFIXDIR=share/doc
+else
 DOCPREFIXDIR=doc
 endif
+endif
 ifdef INSTALL_FPCPACKAGE
 INSTALL_DOCDIR:=$(INSTALL_PREFIX)/$(DOCPREFIXDIR)/fpc-$(FPC_VERSION)/$(PACKAGE_NAME)
 else
@@ -376,20 +360,28 @@ endif
 endif
 endif
 ifndef INSTALL_EXAMPLEDIR
-ifdef UNIXINSTALLDIR
+ifdef UNIXHier
 ifdef INSTALL_FPCPACKAGE
 ifdef BSDhier
 INSTALL_EXAMPLEDIR:=$(INSTALL_PREFIX)/share/examples/fpc-$(FPC_VERSION)/$(PACKAGE_NAME)
 else
+ifdef linuxHier
+INSTALL_EXAMPLEDIR:=$(INSTALL_DOCDIR)/examples/fpc-$(FPC_VERSION)/$(PACKAGE_NAME)
+else
 INSTALL_EXAMPLEDIR:=$(INSTALL_PREFIX)/doc/fpc-$(FPC_VERSION)/examples/$(PACKAGE_NAME)
 endif
+endif
 else
 ifdef BSDhier
 INSTALL_EXAMPLEDIR:=$(INSTALL_PREFIX)/share/examples/$(PACKAGE_NAME)-$(PACKAGE_VERSION)
 else
+ifdef linuxHier
+INSTALL_EXAMPLEDIR:=$(INSTALL_DOCDIR)/examples/$(PACKAGE_NAME)-$(PACKAGE_VERSION)
+else
 INSTALL_EXAMPLEDIR:=$(INSTALL_PREFIX)/doc/$(PACKAGE_NAME)-$(PACKAGE_VERSION)
 endif
 endif
+endif
 else
 ifdef INSTALL_FPCPACKAGE
 INSTALL_EXAMPLEDIR:=$(INSTALL_BASEDIR)/examples/$(PACKAGE_NAME)
@@ -413,7 +405,19 @@ CROSSBINDIR=
 endif
 ifeq ($(OS_SOURCE),linux)
 ifndef GCCLIBDIR
-GCCLIBDIR:=$(shell dirname `gcc -print-libgcc-file-name`)
+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
 ifndef OTHERLIBDIR
 OTHERLIBDIR:=$(shell grep -v "^\#" /etc/ld.so.conf | awk '{ ORS=" "; print $1 }')
@@ -425,6 +429,7 @@ OTHERLIBDIR+=/usr/pkg/lib
 endif
 export GCCLIBDIR OTHERLIB
 endif
+BATCHEXT=.bat
 LOADEREXT=.as
 EXEEXT=.exe
 PPLEXT=.ppl
@@ -457,24 +462,28 @@ ASMEXT=.asm
 SHAREDLIBEXT=.dll
 endif
 ifeq ($(OS_TARGET),linux)
+BATCHEXT=.sh
 EXEEXT=
 HASSHAREDLIB=1
 FPCMADE=fpcmade.lnx
 ZIPSUFFIX=linux
 endif
 ifeq ($(OS_TARGET),freebsd)
+BATCHEXT=.sh
 EXEEXT=
 HASSHAREDLIB=1
 FPCMADE=fpcmade.freebsd
 ZIPSUFFIX=freebsd
 endif
 ifeq ($(OS_TARGET),netbsd)
+BATCHEXT=.sh
 EXEEXT=
 HASSHAREDLIB=1
 FPCMADE=fpcmade.netbsd
 ZIPSUFFIX=netbsd
 endif
 ifeq ($(OS_TARGET),openbsd)
+BATCHEXT=.sh
 EXEEXT=
 HASSHAREDLIB=1
 FPCMADE=fpcmade.openbsd
@@ -486,6 +495,7 @@ FPCMADE=fpcmade.w32
 ZIPSUFFIX=w32
 endif
 ifeq ($(OS_TARGET),os2)
+BATCHEXT=.cmd
 AOUTEXT=.out
 STATICLIBPREFIX=
 SHAREDLIBEXT=.dll
@@ -494,6 +504,7 @@ ZIPSUFFIX=os2
 ECHO=echo
 endif
 ifeq ($(OS_TARGET),emx)
+BATCHEXT=.cmd
 AOUTEXT=.out
 STATICLIBPREFIX=
 SHAREDLIBEXT=.dll
@@ -511,16 +522,19 @@ EXEEXT=.ttp
 FPCMADE=fpcmade.ata
 endif
 ifeq ($(OS_TARGET),beos)
+BATCHEXT=.sh
 EXEEXT=
 FPCMADE=fpcmade.be
 ZIPSUFFIX=be
 endif
 ifeq ($(OS_TARGET),sunos)
+BATCHEXT=.sh
 EXEEXT=
 FPCMADE=fpcmade.sun
 ZIPSUFFIX=sun
 endif
 ifeq ($(OS_TARGET),qnx)
+BATCHEXT=.sh
 EXEEXT=
 FPCMADE=fpcmade.qnx
 ZIPSUFFIX=qnx
@@ -532,10 +546,14 @@ FPCMADE=fpcmade.nw
 ZIPSUFFIX=nw
 endif
 ifeq ($(OS_TARGET),macos)
+BATCHEXT=
 EXEEXT=
-FPCMADE=fpcmade.mcc
+FPCMADE=fpcmade.macos
+ZIPSUFFIX=macos
+DEBUGSYMEXT=.xcoff
 endif
 ifeq ($(OS_TARGET),darwin)
+BATCHEXT=.sh
 EXEEXT=
 HASSHAREDLIB=1
 FPCMADE=fpcmade.darwin
@@ -564,24 +582,28 @@ FPCMADE=fpcmade.dos
 ZIPSUFFIX=watcom
 endif
 ifeq ($(OS_TARGET),linux)
+BATCHEXT=.sh
 EXEEXT=
 HASSHAREDLIB=1
 FPCMADE=fpcmade.lnx
 ZIPSUFFIX=linux
 endif
 ifeq ($(OS_TARGET),freebsd)
+BATCHEXT=.sh
 EXEEXT=
 HASSHAREDLIB=1
 FPCMADE=fpcmade.freebsd
 ZIPSUFFIX=freebsd
 endif
 ifeq ($(OS_TARGET),netbsd)
+BATCHEXT=.sh
 EXEEXT=
 HASSHAREDLIB=1
 FPCMADE=fpcmade.netbsd
 ZIPSUFFIX=netbsd
 endif
 ifeq ($(OS_TARGET),openbsd)
+BATCHEXT=.sh
 EXEEXT=
 HASSHAREDLIB=1
 FPCMADE=fpcmade.openbsd
@@ -598,6 +620,7 @@ FPCMADE=fpcmade.w32
 ZIPSUFFIX=w32
 endif
 ifeq ($(OS_TARGET),os2)
+BATCHEXT=.cmd
 PPUEXT=.ppo
 ASMEXT=.so2
 OEXT=.oo2
@@ -630,6 +653,7 @@ EXEEXT=.ttp
 FPCMADE=fpcmade.ata
 endif
 ifeq ($(OS_TARGET),beos)
+BATCHEXT=.sh
 PPUEXT=.ppu
 ASMEXT=.s
 OEXT=.o
@@ -640,6 +664,7 @@ FPCMADE=fpcmade.be
 ZIPSUFFIX=be
 endif
 ifeq ($(OS_TARGET),sunos)
+BATCHEXT=.sh
 PPUEXT=.ppu
 ASMEXT=.s
 OEXT=.o
@@ -650,6 +675,7 @@ FPCMADE=fpcmade.sun
 ZIPSUFFIX=sun
 endif
 ifeq ($(OS_TARGET),qnx)
+BATCHEXT=.sh
 PPUEXT=.ppu
 ASMEXT=.s
 OEXT=.o
@@ -672,13 +698,15 @@ ZIPSUFFIX=nw
 EXEEXT=.nlm
 endif
 ifeq ($(OS_TARGET),macos)
+BATCHEXT=
 PPUEXT=.ppu
 ASMEXT=.s
 OEXT=.o
 SMARTEXT=.sl
 STATICLIBEXT=.a
 EXEEXT=
-FPCMADE=fpcmade.mcc
+DEBUGSYMEXT=.xcoff
+FPCMADE=fpcmade.macos
 endif
 endif
 ifndef ECHO
@@ -686,7 +714,7 @@ ECHO:=$(strip $(wildcard $(addsuffix /gecho$(SRCEXEEXT),$(SEARCHPATH))))
 ifeq ($(ECHO),)
 ECHO:=$(strip $(wildcard $(addsuffix /echo$(SRCEXEEXT),$(SEARCHPATH))))
 ifeq ($(ECHO),)
-ECHO=
+ECHO= __missing_command__
 else
 ECHO:=$(firstword $(ECHO))
 endif
@@ -700,7 +728,7 @@ DATE:=$(strip $(wildcard $(addsuffix /gdate$(SRCEXEEXT),$(SEARCHPATH))))
 ifeq ($(DATE),)
 DATE:=$(strip $(wildcard $(addsuffix /date$(SRCEXEEXT),$(SEARCHPATH))))
 ifeq ($(DATE),)
-DATE=
+DATE= __missing_command__
 else
 DATE:=$(firstword $(DATE))
 endif
@@ -714,7 +742,7 @@ GINSTALL:=$(strip $(wildcard $(addsuffix /ginstall$(SRCEXEEXT),$(SEARCHPATH))))
 ifeq ($(GINSTALL),)
 GINSTALL:=$(strip $(wildcard $(addsuffix /install$(SRCEXEEXT),$(SEARCHPATH))))
 ifeq ($(GINSTALL),)
-GINSTALL=
+GINSTALL= __missing_command__
 else
 GINSTALL:=$(firstword $(GINSTALL))
 endif
@@ -726,7 +754,7 @@ export GINSTALL
 ifndef CPPROG
 CPPROG:=$(strip $(wildcard $(addsuffix /cp$(SRCEXEEXT),$(SEARCHPATH))))
 ifeq ($(CPPROG),)
-CPPROG=
+CPPROG= __missing_command__
 else
 CPPROG:=$(firstword $(CPPROG))
 endif
@@ -735,7 +763,7 @@ export CPPROG
 ifndef RMPROG
 RMPROG:=$(strip $(wildcard $(addsuffix /rm$(SRCEXEEXT),$(SEARCHPATH))))
 ifeq ($(RMPROG),)
-RMPROG=
+RMPROG= __missing_command__
 else
 RMPROG:=$(firstword $(RMPROG))
 endif
@@ -744,7 +772,7 @@ export RMPROG
 ifndef MVPROG
 MVPROG:=$(strip $(wildcard $(addsuffix /mv$(SRCEXEEXT),$(SEARCHPATH))))
 ifeq ($(MVPROG),)
-MVPROG=
+MVPROG= __missing_command__
 else
 MVPROG:=$(firstword $(MVPROG))
 endif
@@ -793,7 +821,7 @@ export ECHOREDIR COPY COPYTREE MOVE DEL DELTREE INSTALL INSTALLEXE MKDIR
 ifndef PPUMOVE
 PPUMOVE:=$(strip $(wildcard $(addsuffix /ppumove$(SRCEXEEXT),$(SEARCHPATH))))
 ifeq ($(PPUMOVE),)
-PPUMOVE=
+PPUMOVE= __missing_command__
 else
 PPUMOVE:=$(firstword $(PPUMOVE))
 endif
@@ -802,7 +830,7 @@ export PPUMOVE
 ifndef FPCMAKE
 FPCMAKE:=$(strip $(wildcard $(addsuffix /fpcmake$(SRCEXEEXT),$(SEARCHPATH))))
 ifeq ($(FPCMAKE),)
-FPCMAKE=
+FPCMAKE= __missing_command__
 else
 FPCMAKE:=$(firstword $(FPCMAKE))
 endif
@@ -811,7 +839,7 @@ export FPCMAKE
 ifndef ZIPPROG
 ZIPPROG:=$(strip $(wildcard $(addsuffix /zip$(SRCEXEEXT),$(SEARCHPATH))))
 ifeq ($(ZIPPROG),)
-ZIPPROG=
+ZIPPROG= __missing_command__
 else
 ZIPPROG:=$(firstword $(ZIPPROG))
 endif
@@ -820,7 +848,7 @@ export ZIPPROG
 ifndef TARPROG
 TARPROG:=$(strip $(wildcard $(addsuffix /tar$(SRCEXEEXT),$(SEARCHPATH))))
 ifeq ($(TARPROG),)
-TARPROG=
+TARPROG= __missing_command__
 else
 TARPROG:=$(firstword $(TARPROG))
 endif
@@ -832,9 +860,11 @@ ARNAME=$(BINUTILSPREFIX)ar
 RCNAME=$(BINUTILSPREFIX)rc
 ifneq ($(findstring 1.0.,$(FPC_VERSION)),)
 ifeq ($(OS_TARGET),win32)
-ASNAME=as
-LDNAME=ld
-ARNAME=ar
+ifeq ($(CROSSBINDIR),)
+ASNAME=asw
+LDNAME=ldw
+ARNAME=arw
+endif
 endif
 endif
 ifndef ASPROG
@@ -869,7 +899,7 @@ AS=$(ASPROG)
 LD=$(LDPROG)
 RC=$(RCPROG)
 AR=$(ARPROG)
-PPAS=ppas$(BATCHEXT)
+PPAS=ppas$(SRCBATCHEXT)
 ifdef inUnix
 LDCONFIG=ldconfig
 else
@@ -1336,8 +1366,12 @@ ifdef RELEASE
 ifeq ($(CPU_TARGET),i386)
 FPCCPUOPT:=-OG2p3
 else
+ifeq ($(CPU_TARGET),powerpc)
+FPCCPUOPT:=-O1
+else
 FPCCPUOPT:=
 endif
+endif
 override FPCOPT+=-Xs $(FPCCPUOPT) -n
 override FPCOPTDEF+=RELEASE
 endif
@@ -1550,6 +1584,9 @@ override CLEANPPUFILES+=$(addsuffix $(PPUEXT),$(CLEAN_UNITS))
 endif
 ifdef 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 CLEANPPULINKFILES:=$(wildcard $(addprefix $(UNITTARGETDIRPREFIX),$(CLEANPPULINKFILES)))
 endif
@@ -1573,6 +1610,7 @@ ifdef LIB_NAME
 	-$(DEL) $(LIB_NAME) $(LIB_FULLNAME)
 endif
 	-$(DEL) $(FPCMADE) Package.fpc $(PPAS) script.res link.res $(FPCEXTFILE) $(REDIRFILE)
+	-$(DEL) *$(ASMEXT) *_ppas$(BATCHEXT)
 fpc_distclean: clean
 ifdef COMPILER_UNITTARGETDIR
 TARGETDIRCLEAN=fpc_clean
@@ -1584,9 +1622,13 @@ endif
 	-$(DEL) *$(OEXT) *$(PPUEXT) *$(RSTEXT) *$(ASMEXT) *$(STATICLIBEXT) *$(SHAREDLIBEXT) *$(PPLEXT)
 	-$(DELTREE) *$(SMARTEXT)
 	-$(DEL) $(FPCMADE) Package.fpc $(PPAS) script.res link.res $(FPCEXTFILE) $(REDIRFILE)
+	-$(DEL) *_ppas$(BATCHEXT)
 ifdef AOUTEXT
 	-$(DEL) *$(AOUTEXT)
 endif
+ifdef DEBUGSYMEXT
+	-$(DEL) *$(DEBUGSYMEXT)
+endif
 .PHONY: fpc_baseinfo
 override INFORULES+=fpc_baseinfo
 fpc_baseinfo:

+ 114 - 72
packages/extra/gnome1/gnome/Makefile

@@ -1,15 +1,24 @@
 #
-# Don't edit, this file is generated by FPCMake Version 1.1 [2004/02/22]
+# Don't edit, this file is generated by FPCMake Version 1.1 [2004/04/21]
 #
 default: all
 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:=$(subst \,/,$(PATH))
+ifneq ($(findstring darwin,$(OSTYPE)),)
+inUnix=1 #darwin
+SEARCHPATH:=$(filter-out .,$(subst :, ,$(PATH)))
+else
 ifeq ($(findstring ;,$(PATH)),)
 inUnix=1
 SEARCHPATH:=$(filter-out .,$(subst :, ,$(PATH)))
 else
 SEARCHPATH:=$(subst ;, ,$(PATH))
 endif
+endif
 SEARCHPATH+=$(patsubst %/,%,$(subst \,/,$(dir $(MAKE))))
 PWD:=$(strip $(wildcard $(addsuffix /pwd.exe,$(SEARCHPATH))))
 ifeq ($(PWD),)
@@ -37,22 +46,13 @@ ifneq ($(findstring cygdrive,$(PATH)),)
 inCygWin=1
 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
-BATCHEXT=.sh
+SRCBATCHEXT=.sh
 else
 ifdef inOS2
-BATCHEXT=.cmd
+SRCBATCHEXT=.cmd
 else
-BATCHEXT=.bat
+SRCBATCHEXT=.bat
 endif
 endif
 ifdef inUnix
@@ -155,6 +155,12 @@ ifeq ($(findstring $(OS_TARGET),$(MAKEFILETARGETS)),)
 $(error The Makefile doesn't support target $(OS_TARGET), please run fpcmake first)
 endif
 endif
+ifneq ($(findstring $(OS_TARGET),$(BSDs)),)
+BSDhier=1
+endif
+ifeq ($(OS_TARGET),linux)
+linuxHier=1
+endif
 export OS_TARGET OS_SOURCE CPU_TARGET CPU_SOURCE FULL_TARGET FULL_SOURCE CROSSCOMPILE
 ifdef FPCDIR
 override FPCDIR:=$(subst \,/,$(FPCDIR))
@@ -220,42 +226,12 @@ 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
-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
 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
 ifndef INSTALL_PREFIX
@@ -264,7 +240,7 @@ INSTALL_PREFIX=$(PREFIX)
 endif
 endif
 ifndef INSTALL_PREFIX
-ifdef UNIXINSTALLDIR
+ifdef UNIXHier
 INSTALL_PREFIX=/usr/local
 else
 ifdef INSTALL_FPCPACKAGE
@@ -283,7 +259,7 @@ DIST_DESTDIR:=$(BASEDIR)
 endif
 export DIST_DESTDIR
 ifndef INSTALL_BASEDIR
-ifdef UNIXINSTALLDIR
+ifdef UNIXHier
 ifdef INSTALL_FPCPACKAGE
 INSTALL_BASEDIR:=$(INSTALL_PREFIX)/lib/fpc/$(FPC_VERSION)
 else
@@ -294,7 +270,7 @@ INSTALL_BASEDIR:=$(INSTALL_PREFIX)
 endif
 endif
 ifndef INSTALL_BINDIR
-ifdef UNIXINSTALLDIR
+ifdef UNIXHier
 ifdef CROSSCOMPILE
 INSTALL_BINDIR:=$(INSTALL_BASEDIR)/cross/$(FULL_TARGET)/bin
 else
@@ -324,19 +300,23 @@ endif
 endif
 endif
 ifndef INSTALL_LIBDIR
-ifdef UNIXINSTALLDIR
+ifdef UNIXHier
 INSTALL_LIBDIR:=$(INSTALL_PREFIX)/lib
 else
 INSTALL_LIBDIR:=$(INSTALL_UNITDIR)
 endif
 endif
 ifndef INSTALL_SOURCEDIR
-ifdef UNIXINSTALLDIR
+ifdef UNIXHier
 ifdef BSDhier
 SRCPREFIXDIR=share/src
 else
+ifdef linuxHier
+SRCPREFIXDIR=share/src
+else
 SRCPREFIXDIR=src
 endif
+endif
 ifdef INSTALL_FPCPACKAGE
 ifdef INSTALL_FPCSUBDIR
 INSTALL_SOURCEDIR:=$(INSTALL_PREFIX)/$(SRCPREFIXDIR)/fpc-$(FPC_VERSION)/$(INSTALL_FPCSUBDIR)/$(PACKAGE_NAME)
@@ -359,12 +339,16 @@ endif
 endif
 endif
 ifndef INSTALL_DOCDIR
-ifdef UNIXINSTALLDIR
+ifdef UNIXHier
 ifdef BSDhier
 DOCPREFIXDIR=share/doc
 else
+ifdef linuxHier
+DOCPREFIXDIR=share/doc
+else
 DOCPREFIXDIR=doc
 endif
+endif
 ifdef INSTALL_FPCPACKAGE
 INSTALL_DOCDIR:=$(INSTALL_PREFIX)/$(DOCPREFIXDIR)/fpc-$(FPC_VERSION)/$(PACKAGE_NAME)
 else
@@ -379,20 +363,28 @@ endif
 endif
 endif
 ifndef INSTALL_EXAMPLEDIR
-ifdef UNIXINSTALLDIR
+ifdef UNIXHier
 ifdef INSTALL_FPCPACKAGE
 ifdef BSDhier
 INSTALL_EXAMPLEDIR:=$(INSTALL_PREFIX)/share/examples/fpc-$(FPC_VERSION)/$(PACKAGE_NAME)
 else
+ifdef linuxHier
+INSTALL_EXAMPLEDIR:=$(INSTALL_DOCDIR)/examples/fpc-$(FPC_VERSION)/$(PACKAGE_NAME)
+else
 INSTALL_EXAMPLEDIR:=$(INSTALL_PREFIX)/doc/fpc-$(FPC_VERSION)/examples/$(PACKAGE_NAME)
 endif
+endif
 else
 ifdef BSDhier
 INSTALL_EXAMPLEDIR:=$(INSTALL_PREFIX)/share/examples/$(PACKAGE_NAME)-$(PACKAGE_VERSION)
 else
+ifdef linuxHier
+INSTALL_EXAMPLEDIR:=$(INSTALL_DOCDIR)/examples/$(PACKAGE_NAME)-$(PACKAGE_VERSION)
+else
 INSTALL_EXAMPLEDIR:=$(INSTALL_PREFIX)/doc/$(PACKAGE_NAME)-$(PACKAGE_VERSION)
 endif
 endif
+endif
 else
 ifdef INSTALL_FPCPACKAGE
 INSTALL_EXAMPLEDIR:=$(INSTALL_BASEDIR)/examples/$(PACKAGE_NAME)
@@ -416,7 +408,19 @@ CROSSBINDIR=
 endif
 ifeq ($(OS_SOURCE),linux)
 ifndef GCCLIBDIR
-GCCLIBDIR:=$(shell dirname `gcc -print-libgcc-file-name`)
+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
 ifndef OTHERLIBDIR
 OTHERLIBDIR:=$(shell grep -v "^\#" /etc/ld.so.conf | awk '{ ORS=" "; print $1 }')
@@ -428,6 +432,7 @@ OTHERLIBDIR+=/usr/pkg/lib
 endif
 export GCCLIBDIR OTHERLIB
 endif
+BATCHEXT=.bat
 LOADEREXT=.as
 EXEEXT=.exe
 PPLEXT=.ppl
@@ -460,24 +465,28 @@ ASMEXT=.asm
 SHAREDLIBEXT=.dll
 endif
 ifeq ($(OS_TARGET),linux)
+BATCHEXT=.sh
 EXEEXT=
 HASSHAREDLIB=1
 FPCMADE=fpcmade.lnx
 ZIPSUFFIX=linux
 endif
 ifeq ($(OS_TARGET),freebsd)
+BATCHEXT=.sh
 EXEEXT=
 HASSHAREDLIB=1
 FPCMADE=fpcmade.freebsd
 ZIPSUFFIX=freebsd
 endif
 ifeq ($(OS_TARGET),netbsd)
+BATCHEXT=.sh
 EXEEXT=
 HASSHAREDLIB=1
 FPCMADE=fpcmade.netbsd
 ZIPSUFFIX=netbsd
 endif
 ifeq ($(OS_TARGET),openbsd)
+BATCHEXT=.sh
 EXEEXT=
 HASSHAREDLIB=1
 FPCMADE=fpcmade.openbsd
@@ -489,6 +498,7 @@ FPCMADE=fpcmade.w32
 ZIPSUFFIX=w32
 endif
 ifeq ($(OS_TARGET),os2)
+BATCHEXT=.cmd
 AOUTEXT=.out
 STATICLIBPREFIX=
 SHAREDLIBEXT=.dll
@@ -497,6 +507,7 @@ ZIPSUFFIX=os2
 ECHO=echo
 endif
 ifeq ($(OS_TARGET),emx)
+BATCHEXT=.cmd
 AOUTEXT=.out
 STATICLIBPREFIX=
 SHAREDLIBEXT=.dll
@@ -514,16 +525,19 @@ EXEEXT=.ttp
 FPCMADE=fpcmade.ata
 endif
 ifeq ($(OS_TARGET),beos)
+BATCHEXT=.sh
 EXEEXT=
 FPCMADE=fpcmade.be
 ZIPSUFFIX=be
 endif
 ifeq ($(OS_TARGET),sunos)
+BATCHEXT=.sh
 EXEEXT=
 FPCMADE=fpcmade.sun
 ZIPSUFFIX=sun
 endif
 ifeq ($(OS_TARGET),qnx)
+BATCHEXT=.sh
 EXEEXT=
 FPCMADE=fpcmade.qnx
 ZIPSUFFIX=qnx
@@ -535,10 +549,14 @@ FPCMADE=fpcmade.nw
 ZIPSUFFIX=nw
 endif
 ifeq ($(OS_TARGET),macos)
+BATCHEXT=
 EXEEXT=
-FPCMADE=fpcmade.mcc
+FPCMADE=fpcmade.macos
+ZIPSUFFIX=macos
+DEBUGSYMEXT=.xcoff
 endif
 ifeq ($(OS_TARGET),darwin)
+BATCHEXT=.sh
 EXEEXT=
 HASSHAREDLIB=1
 FPCMADE=fpcmade.darwin
@@ -567,24 +585,28 @@ FPCMADE=fpcmade.dos
 ZIPSUFFIX=watcom
 endif
 ifeq ($(OS_TARGET),linux)
+BATCHEXT=.sh
 EXEEXT=
 HASSHAREDLIB=1
 FPCMADE=fpcmade.lnx
 ZIPSUFFIX=linux
 endif
 ifeq ($(OS_TARGET),freebsd)
+BATCHEXT=.sh
 EXEEXT=
 HASSHAREDLIB=1
 FPCMADE=fpcmade.freebsd
 ZIPSUFFIX=freebsd
 endif
 ifeq ($(OS_TARGET),netbsd)
+BATCHEXT=.sh
 EXEEXT=
 HASSHAREDLIB=1
 FPCMADE=fpcmade.netbsd
 ZIPSUFFIX=netbsd
 endif
 ifeq ($(OS_TARGET),openbsd)
+BATCHEXT=.sh
 EXEEXT=
 HASSHAREDLIB=1
 FPCMADE=fpcmade.openbsd
@@ -601,6 +623,7 @@ FPCMADE=fpcmade.w32
 ZIPSUFFIX=w32
 endif
 ifeq ($(OS_TARGET),os2)
+BATCHEXT=.cmd
 PPUEXT=.ppo
 ASMEXT=.so2
 OEXT=.oo2
@@ -633,6 +656,7 @@ EXEEXT=.ttp
 FPCMADE=fpcmade.ata
 endif
 ifeq ($(OS_TARGET),beos)
+BATCHEXT=.sh
 PPUEXT=.ppu
 ASMEXT=.s
 OEXT=.o
@@ -643,6 +667,7 @@ FPCMADE=fpcmade.be
 ZIPSUFFIX=be
 endif
 ifeq ($(OS_TARGET),sunos)
+BATCHEXT=.sh
 PPUEXT=.ppu
 ASMEXT=.s
 OEXT=.o
@@ -653,6 +678,7 @@ FPCMADE=fpcmade.sun
 ZIPSUFFIX=sun
 endif
 ifeq ($(OS_TARGET),qnx)
+BATCHEXT=.sh
 PPUEXT=.ppu
 ASMEXT=.s
 OEXT=.o
@@ -675,13 +701,15 @@ ZIPSUFFIX=nw
 EXEEXT=.nlm
 endif
 ifeq ($(OS_TARGET),macos)
+BATCHEXT=
 PPUEXT=.ppu
 ASMEXT=.s
 OEXT=.o
 SMARTEXT=.sl
 STATICLIBEXT=.a
 EXEEXT=
-FPCMADE=fpcmade.mcc
+DEBUGSYMEXT=.xcoff
+FPCMADE=fpcmade.macos
 endif
 endif
 ifndef ECHO
@@ -689,7 +717,7 @@ ECHO:=$(strip $(wildcard $(addsuffix /gecho$(SRCEXEEXT),$(SEARCHPATH))))
 ifeq ($(ECHO),)
 ECHO:=$(strip $(wildcard $(addsuffix /echo$(SRCEXEEXT),$(SEARCHPATH))))
 ifeq ($(ECHO),)
-ECHO=
+ECHO= __missing_command__
 else
 ECHO:=$(firstword $(ECHO))
 endif
@@ -703,7 +731,7 @@ DATE:=$(strip $(wildcard $(addsuffix /gdate$(SRCEXEEXT),$(SEARCHPATH))))
 ifeq ($(DATE),)
 DATE:=$(strip $(wildcard $(addsuffix /date$(SRCEXEEXT),$(SEARCHPATH))))
 ifeq ($(DATE),)
-DATE=
+DATE= __missing_command__
 else
 DATE:=$(firstword $(DATE))
 endif
@@ -717,7 +745,7 @@ GINSTALL:=$(strip $(wildcard $(addsuffix /ginstall$(SRCEXEEXT),$(SEARCHPATH))))
 ifeq ($(GINSTALL),)
 GINSTALL:=$(strip $(wildcard $(addsuffix /install$(SRCEXEEXT),$(SEARCHPATH))))
 ifeq ($(GINSTALL),)
-GINSTALL=
+GINSTALL= __missing_command__
 else
 GINSTALL:=$(firstword $(GINSTALL))
 endif
@@ -729,7 +757,7 @@ export GINSTALL
 ifndef CPPROG
 CPPROG:=$(strip $(wildcard $(addsuffix /cp$(SRCEXEEXT),$(SEARCHPATH))))
 ifeq ($(CPPROG),)
-CPPROG=
+CPPROG= __missing_command__
 else
 CPPROG:=$(firstword $(CPPROG))
 endif
@@ -738,7 +766,7 @@ export CPPROG
 ifndef RMPROG
 RMPROG:=$(strip $(wildcard $(addsuffix /rm$(SRCEXEEXT),$(SEARCHPATH))))
 ifeq ($(RMPROG),)
-RMPROG=
+RMPROG= __missing_command__
 else
 RMPROG:=$(firstword $(RMPROG))
 endif
@@ -747,7 +775,7 @@ export RMPROG
 ifndef MVPROG
 MVPROG:=$(strip $(wildcard $(addsuffix /mv$(SRCEXEEXT),$(SEARCHPATH))))
 ifeq ($(MVPROG),)
-MVPROG=
+MVPROG= __missing_command__
 else
 MVPROG:=$(firstword $(MVPROG))
 endif
@@ -796,7 +824,7 @@ export ECHOREDIR COPY COPYTREE MOVE DEL DELTREE INSTALL INSTALLEXE MKDIR
 ifndef PPUMOVE
 PPUMOVE:=$(strip $(wildcard $(addsuffix /ppumove$(SRCEXEEXT),$(SEARCHPATH))))
 ifeq ($(PPUMOVE),)
-PPUMOVE=
+PPUMOVE= __missing_command__
 else
 PPUMOVE:=$(firstword $(PPUMOVE))
 endif
@@ -805,7 +833,7 @@ export PPUMOVE
 ifndef FPCMAKE
 FPCMAKE:=$(strip $(wildcard $(addsuffix /fpcmake$(SRCEXEEXT),$(SEARCHPATH))))
 ifeq ($(FPCMAKE),)
-FPCMAKE=
+FPCMAKE= __missing_command__
 else
 FPCMAKE:=$(firstword $(FPCMAKE))
 endif
@@ -814,7 +842,7 @@ export FPCMAKE
 ifndef ZIPPROG
 ZIPPROG:=$(strip $(wildcard $(addsuffix /zip$(SRCEXEEXT),$(SEARCHPATH))))
 ifeq ($(ZIPPROG),)
-ZIPPROG=
+ZIPPROG= __missing_command__
 else
 ZIPPROG:=$(firstword $(ZIPPROG))
 endif
@@ -823,7 +851,7 @@ export ZIPPROG
 ifndef TARPROG
 TARPROG:=$(strip $(wildcard $(addsuffix /tar$(SRCEXEEXT),$(SEARCHPATH))))
 ifeq ($(TARPROG),)
-TARPROG=
+TARPROG= __missing_command__
 else
 TARPROG:=$(firstword $(TARPROG))
 endif
@@ -835,9 +863,11 @@ ARNAME=$(BINUTILSPREFIX)ar
 RCNAME=$(BINUTILSPREFIX)rc
 ifneq ($(findstring 1.0.,$(FPC_VERSION)),)
 ifeq ($(OS_TARGET),win32)
-ASNAME=as
-LDNAME=ld
-ARNAME=ar
+ifeq ($(CROSSBINDIR),)
+ASNAME=asw
+LDNAME=ldw
+ARNAME=arw
+endif
 endif
 endif
 ifndef ASPROG
@@ -872,7 +902,7 @@ AS=$(ASPROG)
 LD=$(LDPROG)
 RC=$(RCPROG)
 AR=$(ARPROG)
-PPAS=ppas$(BATCHEXT)
+PPAS=ppas$(SRCBATCHEXT)
 ifdef inUnix
 LDCONFIG=ldconfig
 else
@@ -1355,8 +1385,12 @@ ifdef RELEASE
 ifeq ($(CPU_TARGET),i386)
 FPCCPUOPT:=-OG2p3
 else
+ifeq ($(CPU_TARGET),powerpc)
+FPCCPUOPT:=-O1
+else
 FPCCPUOPT:=
 endif
+endif
 override FPCOPT+=-Xs $(FPCCPUOPT) -n
 override FPCOPTDEF+=RELEASE
 endif
@@ -1588,7 +1622,7 @@ USEZIPWRAPPER=1
 endif
 ifdef USEZIPWRAPPER
 ZIPPATHSEP=$(PATHSEP)
-ZIPWRAPPER=$(subst /,$(PATHSEP),$(DIST_DESTDIR)/fpczip$(BATCHEXT))
+ZIPWRAPPER=$(subst /,$(PATHSEP),$(DIST_DESTDIR)/fpczip$(SRCBATCHEXT))
 else
 ZIPPATHSEP=/
 endif
@@ -1642,6 +1676,9 @@ override CLEANPPUFILES+=$(addsuffix $(PPUEXT),$(CLEAN_UNITS))
 endif
 ifdef 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 CLEANPPULINKFILES:=$(wildcard $(addprefix $(UNITTARGETDIRPREFIX),$(CLEANPPULINKFILES)))
 endif
@@ -1665,6 +1702,7 @@ ifdef LIB_NAME
 	-$(DEL) $(LIB_NAME) $(LIB_FULLNAME)
 endif
 	-$(DEL) $(FPCMADE) Package.fpc $(PPAS) script.res link.res $(FPCEXTFILE) $(REDIRFILE)
+	-$(DEL) *$(ASMEXT) *_ppas$(BATCHEXT)
 fpc_distclean: clean
 ifdef COMPILER_UNITTARGETDIR
 TARGETDIRCLEAN=fpc_clean
@@ -1676,9 +1714,13 @@ endif
 	-$(DEL) *$(OEXT) *$(PPUEXT) *$(RSTEXT) *$(ASMEXT) *$(STATICLIBEXT) *$(SHAREDLIBEXT) *$(PPLEXT)
 	-$(DELTREE) *$(SMARTEXT)
 	-$(DEL) $(FPCMADE) Package.fpc $(PPAS) script.res link.res $(FPCEXTFILE) $(REDIRFILE)
+	-$(DEL) *_ppas$(BATCHEXT)
 ifdef AOUTEXT
 	-$(DEL) *$(AOUTEXT)
 endif
+ifdef DEBUGSYMEXT
+	-$(DEL) *$(DEBUGSYMEXT)
+endif
 .PHONY: fpc_baseinfo
 override INFORULES+=fpc_baseinfo
 fpc_baseinfo:

+ 114 - 72
packages/extra/gnome1/zvt/Makefile

@@ -1,15 +1,24 @@
 #
-# Don't edit, this file is generated by FPCMake Version 1.1 [2004/02/22]
+# Don't edit, this file is generated by FPCMake Version 1.1 [2004/04/21]
 #
 default: all
 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:=$(subst \,/,$(PATH))
+ifneq ($(findstring darwin,$(OSTYPE)),)
+inUnix=1 #darwin
+SEARCHPATH:=$(filter-out .,$(subst :, ,$(PATH)))
+else
 ifeq ($(findstring ;,$(PATH)),)
 inUnix=1
 SEARCHPATH:=$(filter-out .,$(subst :, ,$(PATH)))
 else
 SEARCHPATH:=$(subst ;, ,$(PATH))
 endif
+endif
 SEARCHPATH+=$(patsubst %/,%,$(subst \,/,$(dir $(MAKE))))
 PWD:=$(strip $(wildcard $(addsuffix /pwd.exe,$(SEARCHPATH))))
 ifeq ($(PWD),)
@@ -37,22 +46,13 @@ ifneq ($(findstring cygdrive,$(PATH)),)
 inCygWin=1
 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
-BATCHEXT=.sh
+SRCBATCHEXT=.sh
 else
 ifdef inOS2
-BATCHEXT=.cmd
+SRCBATCHEXT=.cmd
 else
-BATCHEXT=.bat
+SRCBATCHEXT=.bat
 endif
 endif
 ifdef inUnix
@@ -155,6 +155,12 @@ ifeq ($(findstring $(OS_TARGET),$(MAKEFILETARGETS)),)
 $(error The Makefile doesn't support target $(OS_TARGET), please run fpcmake first)
 endif
 endif
+ifneq ($(findstring $(OS_TARGET),$(BSDs)),)
+BSDhier=1
+endif
+ifeq ($(OS_TARGET),linux)
+linuxHier=1
+endif
 export OS_TARGET OS_SOURCE CPU_TARGET CPU_SOURCE FULL_TARGET FULL_SOURCE CROSSCOMPILE
 ifdef FPCDIR
 override FPCDIR:=$(subst \,/,$(FPCDIR))
@@ -221,42 +227,12 @@ 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
-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
 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
 ifndef INSTALL_PREFIX
@@ -265,7 +241,7 @@ INSTALL_PREFIX=$(PREFIX)
 endif
 endif
 ifndef INSTALL_PREFIX
-ifdef UNIXINSTALLDIR
+ifdef UNIXHier
 INSTALL_PREFIX=/usr/local
 else
 ifdef INSTALL_FPCPACKAGE
@@ -284,7 +260,7 @@ DIST_DESTDIR:=$(BASEDIR)
 endif
 export DIST_DESTDIR
 ifndef INSTALL_BASEDIR
-ifdef UNIXINSTALLDIR
+ifdef UNIXHier
 ifdef INSTALL_FPCPACKAGE
 INSTALL_BASEDIR:=$(INSTALL_PREFIX)/lib/fpc/$(FPC_VERSION)
 else
@@ -295,7 +271,7 @@ INSTALL_BASEDIR:=$(INSTALL_PREFIX)
 endif
 endif
 ifndef INSTALL_BINDIR
-ifdef UNIXINSTALLDIR
+ifdef UNIXHier
 ifdef CROSSCOMPILE
 INSTALL_BINDIR:=$(INSTALL_BASEDIR)/cross/$(FULL_TARGET)/bin
 else
@@ -325,19 +301,23 @@ endif
 endif
 endif
 ifndef INSTALL_LIBDIR
-ifdef UNIXINSTALLDIR
+ifdef UNIXHier
 INSTALL_LIBDIR:=$(INSTALL_PREFIX)/lib
 else
 INSTALL_LIBDIR:=$(INSTALL_UNITDIR)
 endif
 endif
 ifndef INSTALL_SOURCEDIR
-ifdef UNIXINSTALLDIR
+ifdef UNIXHier
 ifdef BSDhier
 SRCPREFIXDIR=share/src
 else
+ifdef linuxHier
+SRCPREFIXDIR=share/src
+else
 SRCPREFIXDIR=src
 endif
+endif
 ifdef INSTALL_FPCPACKAGE
 ifdef INSTALL_FPCSUBDIR
 INSTALL_SOURCEDIR:=$(INSTALL_PREFIX)/$(SRCPREFIXDIR)/fpc-$(FPC_VERSION)/$(INSTALL_FPCSUBDIR)/$(PACKAGE_NAME)
@@ -360,12 +340,16 @@ endif
 endif
 endif
 ifndef INSTALL_DOCDIR
-ifdef UNIXINSTALLDIR
+ifdef UNIXHier
 ifdef BSDhier
 DOCPREFIXDIR=share/doc
 else
+ifdef linuxHier
+DOCPREFIXDIR=share/doc
+else
 DOCPREFIXDIR=doc
 endif
+endif
 ifdef INSTALL_FPCPACKAGE
 INSTALL_DOCDIR:=$(INSTALL_PREFIX)/$(DOCPREFIXDIR)/fpc-$(FPC_VERSION)/$(PACKAGE_NAME)
 else
@@ -380,20 +364,28 @@ endif
 endif
 endif
 ifndef INSTALL_EXAMPLEDIR
-ifdef UNIXINSTALLDIR
+ifdef UNIXHier
 ifdef INSTALL_FPCPACKAGE
 ifdef BSDhier
 INSTALL_EXAMPLEDIR:=$(INSTALL_PREFIX)/share/examples/fpc-$(FPC_VERSION)/$(PACKAGE_NAME)
 else
+ifdef linuxHier
+INSTALL_EXAMPLEDIR:=$(INSTALL_DOCDIR)/examples/fpc-$(FPC_VERSION)/$(PACKAGE_NAME)
+else
 INSTALL_EXAMPLEDIR:=$(INSTALL_PREFIX)/doc/fpc-$(FPC_VERSION)/examples/$(PACKAGE_NAME)
 endif
+endif
 else
 ifdef BSDhier
 INSTALL_EXAMPLEDIR:=$(INSTALL_PREFIX)/share/examples/$(PACKAGE_NAME)-$(PACKAGE_VERSION)
 else
+ifdef linuxHier
+INSTALL_EXAMPLEDIR:=$(INSTALL_DOCDIR)/examples/$(PACKAGE_NAME)-$(PACKAGE_VERSION)
+else
 INSTALL_EXAMPLEDIR:=$(INSTALL_PREFIX)/doc/$(PACKAGE_NAME)-$(PACKAGE_VERSION)
 endif
 endif
+endif
 else
 ifdef INSTALL_FPCPACKAGE
 INSTALL_EXAMPLEDIR:=$(INSTALL_BASEDIR)/examples/$(PACKAGE_NAME)
@@ -417,7 +409,19 @@ CROSSBINDIR=
 endif
 ifeq ($(OS_SOURCE),linux)
 ifndef GCCLIBDIR
-GCCLIBDIR:=$(shell dirname `gcc -print-libgcc-file-name`)
+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
 ifndef OTHERLIBDIR
 OTHERLIBDIR:=$(shell grep -v "^\#" /etc/ld.so.conf | awk '{ ORS=" "; print $1 }')
@@ -429,6 +433,7 @@ OTHERLIBDIR+=/usr/pkg/lib
 endif
 export GCCLIBDIR OTHERLIB
 endif
+BATCHEXT=.bat
 LOADEREXT=.as
 EXEEXT=.exe
 PPLEXT=.ppl
@@ -461,24 +466,28 @@ ASMEXT=.asm
 SHAREDLIBEXT=.dll
 endif
 ifeq ($(OS_TARGET),linux)
+BATCHEXT=.sh
 EXEEXT=
 HASSHAREDLIB=1
 FPCMADE=fpcmade.lnx
 ZIPSUFFIX=linux
 endif
 ifeq ($(OS_TARGET),freebsd)
+BATCHEXT=.sh
 EXEEXT=
 HASSHAREDLIB=1
 FPCMADE=fpcmade.freebsd
 ZIPSUFFIX=freebsd
 endif
 ifeq ($(OS_TARGET),netbsd)
+BATCHEXT=.sh
 EXEEXT=
 HASSHAREDLIB=1
 FPCMADE=fpcmade.netbsd
 ZIPSUFFIX=netbsd
 endif
 ifeq ($(OS_TARGET),openbsd)
+BATCHEXT=.sh
 EXEEXT=
 HASSHAREDLIB=1
 FPCMADE=fpcmade.openbsd
@@ -490,6 +499,7 @@ FPCMADE=fpcmade.w32
 ZIPSUFFIX=w32
 endif
 ifeq ($(OS_TARGET),os2)
+BATCHEXT=.cmd
 AOUTEXT=.out
 STATICLIBPREFIX=
 SHAREDLIBEXT=.dll
@@ -498,6 +508,7 @@ ZIPSUFFIX=os2
 ECHO=echo
 endif
 ifeq ($(OS_TARGET),emx)
+BATCHEXT=.cmd
 AOUTEXT=.out
 STATICLIBPREFIX=
 SHAREDLIBEXT=.dll
@@ -515,16 +526,19 @@ EXEEXT=.ttp
 FPCMADE=fpcmade.ata
 endif
 ifeq ($(OS_TARGET),beos)
+BATCHEXT=.sh
 EXEEXT=
 FPCMADE=fpcmade.be
 ZIPSUFFIX=be
 endif
 ifeq ($(OS_TARGET),sunos)
+BATCHEXT=.sh
 EXEEXT=
 FPCMADE=fpcmade.sun
 ZIPSUFFIX=sun
 endif
 ifeq ($(OS_TARGET),qnx)
+BATCHEXT=.sh
 EXEEXT=
 FPCMADE=fpcmade.qnx
 ZIPSUFFIX=qnx
@@ -536,10 +550,14 @@ FPCMADE=fpcmade.nw
 ZIPSUFFIX=nw
 endif
 ifeq ($(OS_TARGET),macos)
+BATCHEXT=
 EXEEXT=
-FPCMADE=fpcmade.mcc
+FPCMADE=fpcmade.macos
+ZIPSUFFIX=macos
+DEBUGSYMEXT=.xcoff
 endif
 ifeq ($(OS_TARGET),darwin)
+BATCHEXT=.sh
 EXEEXT=
 HASSHAREDLIB=1
 FPCMADE=fpcmade.darwin
@@ -568,24 +586,28 @@ FPCMADE=fpcmade.dos
 ZIPSUFFIX=watcom
 endif
 ifeq ($(OS_TARGET),linux)
+BATCHEXT=.sh
 EXEEXT=
 HASSHAREDLIB=1
 FPCMADE=fpcmade.lnx
 ZIPSUFFIX=linux
 endif
 ifeq ($(OS_TARGET),freebsd)
+BATCHEXT=.sh
 EXEEXT=
 HASSHAREDLIB=1
 FPCMADE=fpcmade.freebsd
 ZIPSUFFIX=freebsd
 endif
 ifeq ($(OS_TARGET),netbsd)
+BATCHEXT=.sh
 EXEEXT=
 HASSHAREDLIB=1
 FPCMADE=fpcmade.netbsd
 ZIPSUFFIX=netbsd
 endif
 ifeq ($(OS_TARGET),openbsd)
+BATCHEXT=.sh
 EXEEXT=
 HASSHAREDLIB=1
 FPCMADE=fpcmade.openbsd
@@ -602,6 +624,7 @@ FPCMADE=fpcmade.w32
 ZIPSUFFIX=w32
 endif
 ifeq ($(OS_TARGET),os2)
+BATCHEXT=.cmd
 PPUEXT=.ppo
 ASMEXT=.so2
 OEXT=.oo2
@@ -634,6 +657,7 @@ EXEEXT=.ttp
 FPCMADE=fpcmade.ata
 endif
 ifeq ($(OS_TARGET),beos)
+BATCHEXT=.sh
 PPUEXT=.ppu
 ASMEXT=.s
 OEXT=.o
@@ -644,6 +668,7 @@ FPCMADE=fpcmade.be
 ZIPSUFFIX=be
 endif
 ifeq ($(OS_TARGET),sunos)
+BATCHEXT=.sh
 PPUEXT=.ppu
 ASMEXT=.s
 OEXT=.o
@@ -654,6 +679,7 @@ FPCMADE=fpcmade.sun
 ZIPSUFFIX=sun
 endif
 ifeq ($(OS_TARGET),qnx)
+BATCHEXT=.sh
 PPUEXT=.ppu
 ASMEXT=.s
 OEXT=.o
@@ -676,13 +702,15 @@ ZIPSUFFIX=nw
 EXEEXT=.nlm
 endif
 ifeq ($(OS_TARGET),macos)
+BATCHEXT=
 PPUEXT=.ppu
 ASMEXT=.s
 OEXT=.o
 SMARTEXT=.sl
 STATICLIBEXT=.a
 EXEEXT=
-FPCMADE=fpcmade.mcc
+DEBUGSYMEXT=.xcoff
+FPCMADE=fpcmade.macos
 endif
 endif
 ifndef ECHO
@@ -690,7 +718,7 @@ ECHO:=$(strip $(wildcard $(addsuffix /gecho$(SRCEXEEXT),$(SEARCHPATH))))
 ifeq ($(ECHO),)
 ECHO:=$(strip $(wildcard $(addsuffix /echo$(SRCEXEEXT),$(SEARCHPATH))))
 ifeq ($(ECHO),)
-ECHO=
+ECHO= __missing_command__
 else
 ECHO:=$(firstword $(ECHO))
 endif
@@ -704,7 +732,7 @@ DATE:=$(strip $(wildcard $(addsuffix /gdate$(SRCEXEEXT),$(SEARCHPATH))))
 ifeq ($(DATE),)
 DATE:=$(strip $(wildcard $(addsuffix /date$(SRCEXEEXT),$(SEARCHPATH))))
 ifeq ($(DATE),)
-DATE=
+DATE= __missing_command__
 else
 DATE:=$(firstword $(DATE))
 endif
@@ -718,7 +746,7 @@ GINSTALL:=$(strip $(wildcard $(addsuffix /ginstall$(SRCEXEEXT),$(SEARCHPATH))))
 ifeq ($(GINSTALL),)
 GINSTALL:=$(strip $(wildcard $(addsuffix /install$(SRCEXEEXT),$(SEARCHPATH))))
 ifeq ($(GINSTALL),)
-GINSTALL=
+GINSTALL= __missing_command__
 else
 GINSTALL:=$(firstword $(GINSTALL))
 endif
@@ -730,7 +758,7 @@ export GINSTALL
 ifndef CPPROG
 CPPROG:=$(strip $(wildcard $(addsuffix /cp$(SRCEXEEXT),$(SEARCHPATH))))
 ifeq ($(CPPROG),)
-CPPROG=
+CPPROG= __missing_command__
 else
 CPPROG:=$(firstword $(CPPROG))
 endif
@@ -739,7 +767,7 @@ export CPPROG
 ifndef RMPROG
 RMPROG:=$(strip $(wildcard $(addsuffix /rm$(SRCEXEEXT),$(SEARCHPATH))))
 ifeq ($(RMPROG),)
-RMPROG=
+RMPROG= __missing_command__
 else
 RMPROG:=$(firstword $(RMPROG))
 endif
@@ -748,7 +776,7 @@ export RMPROG
 ifndef MVPROG
 MVPROG:=$(strip $(wildcard $(addsuffix /mv$(SRCEXEEXT),$(SEARCHPATH))))
 ifeq ($(MVPROG),)
-MVPROG=
+MVPROG= __missing_command__
 else
 MVPROG:=$(firstword $(MVPROG))
 endif
@@ -797,7 +825,7 @@ export ECHOREDIR COPY COPYTREE MOVE DEL DELTREE INSTALL INSTALLEXE MKDIR
 ifndef PPUMOVE
 PPUMOVE:=$(strip $(wildcard $(addsuffix /ppumove$(SRCEXEEXT),$(SEARCHPATH))))
 ifeq ($(PPUMOVE),)
-PPUMOVE=
+PPUMOVE= __missing_command__
 else
 PPUMOVE:=$(firstword $(PPUMOVE))
 endif
@@ -806,7 +834,7 @@ export PPUMOVE
 ifndef FPCMAKE
 FPCMAKE:=$(strip $(wildcard $(addsuffix /fpcmake$(SRCEXEEXT),$(SEARCHPATH))))
 ifeq ($(FPCMAKE),)
-FPCMAKE=
+FPCMAKE= __missing_command__
 else
 FPCMAKE:=$(firstword $(FPCMAKE))
 endif
@@ -815,7 +843,7 @@ export FPCMAKE
 ifndef ZIPPROG
 ZIPPROG:=$(strip $(wildcard $(addsuffix /zip$(SRCEXEEXT),$(SEARCHPATH))))
 ifeq ($(ZIPPROG),)
-ZIPPROG=
+ZIPPROG= __missing_command__
 else
 ZIPPROG:=$(firstword $(ZIPPROG))
 endif
@@ -824,7 +852,7 @@ export ZIPPROG
 ifndef TARPROG
 TARPROG:=$(strip $(wildcard $(addsuffix /tar$(SRCEXEEXT),$(SEARCHPATH))))
 ifeq ($(TARPROG),)
-TARPROG=
+TARPROG= __missing_command__
 else
 TARPROG:=$(firstword $(TARPROG))
 endif
@@ -836,9 +864,11 @@ ARNAME=$(BINUTILSPREFIX)ar
 RCNAME=$(BINUTILSPREFIX)rc
 ifneq ($(findstring 1.0.,$(FPC_VERSION)),)
 ifeq ($(OS_TARGET),win32)
-ASNAME=as
-LDNAME=ld
-ARNAME=ar
+ifeq ($(CROSSBINDIR),)
+ASNAME=asw
+LDNAME=ldw
+ARNAME=arw
+endif
 endif
 endif
 ifndef ASPROG
@@ -873,7 +903,7 @@ AS=$(ASPROG)
 LD=$(LDPROG)
 RC=$(RCPROG)
 AR=$(ARPROG)
-PPAS=ppas$(BATCHEXT)
+PPAS=ppas$(SRCBATCHEXT)
 ifdef inUnix
 LDCONFIG=ldconfig
 else
@@ -1356,8 +1386,12 @@ ifdef RELEASE
 ifeq ($(CPU_TARGET),i386)
 FPCCPUOPT:=-OG2p3
 else
+ifeq ($(CPU_TARGET),powerpc)
+FPCCPUOPT:=-O1
+else
 FPCCPUOPT:=
 endif
+endif
 override FPCOPT+=-Xs $(FPCCPUOPT) -n
 override FPCOPTDEF+=RELEASE
 endif
@@ -1607,7 +1641,7 @@ USEZIPWRAPPER=1
 endif
 ifdef USEZIPWRAPPER
 ZIPPATHSEP=$(PATHSEP)
-ZIPWRAPPER=$(subst /,$(PATHSEP),$(DIST_DESTDIR)/fpczip$(BATCHEXT))
+ZIPWRAPPER=$(subst /,$(PATHSEP),$(DIST_DESTDIR)/fpczip$(SRCBATCHEXT))
 else
 ZIPPATHSEP=/
 endif
@@ -1661,6 +1695,9 @@ override CLEANPPUFILES+=$(addsuffix $(PPUEXT),$(CLEAN_UNITS))
 endif
 ifdef 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 CLEANPPULINKFILES:=$(wildcard $(addprefix $(UNITTARGETDIRPREFIX),$(CLEANPPULINKFILES)))
 endif
@@ -1684,6 +1721,7 @@ ifdef LIB_NAME
 	-$(DEL) $(LIB_NAME) $(LIB_FULLNAME)
 endif
 	-$(DEL) $(FPCMADE) Package.fpc $(PPAS) script.res link.res $(FPCEXTFILE) $(REDIRFILE)
+	-$(DEL) *$(ASMEXT) *_ppas$(BATCHEXT)
 fpc_distclean: clean
 ifdef COMPILER_UNITTARGETDIR
 TARGETDIRCLEAN=fpc_clean
@@ -1695,9 +1733,13 @@ endif
 	-$(DEL) *$(OEXT) *$(PPUEXT) *$(RSTEXT) *$(ASMEXT) *$(STATICLIBEXT) *$(SHAREDLIBEXT) *$(PPLEXT)
 	-$(DELTREE) *$(SMARTEXT)
 	-$(DEL) $(FPCMADE) Package.fpc $(PPAS) script.res link.res $(FPCEXTFILE) $(REDIRFILE)
+	-$(DEL) *_ppas$(BATCHEXT)
 ifdef AOUTEXT
 	-$(DEL) *$(AOUTEXT)
 endif
+ifdef DEBUGSYMEXT
+	-$(DEL) *$(DEBUGSYMEXT)
+endif
 .PHONY: fpc_baseinfo
 override INFORULES+=fpc_baseinfo
 fpc_baseinfo:

+ 113 - 71
packages/extra/gnome1/zvt/examples/Makefile

@@ -1,15 +1,24 @@
 #
-# Don't edit, this file is generated by FPCMake Version 1.1 [2004/02/22]
+# Don't edit, this file is generated by FPCMake Version 1.1 [2004/04/21]
 #
 default: all
 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:=$(subst \,/,$(PATH))
+ifneq ($(findstring darwin,$(OSTYPE)),)
+inUnix=1 #darwin
+SEARCHPATH:=$(filter-out .,$(subst :, ,$(PATH)))
+else
 ifeq ($(findstring ;,$(PATH)),)
 inUnix=1
 SEARCHPATH:=$(filter-out .,$(subst :, ,$(PATH)))
 else
 SEARCHPATH:=$(subst ;, ,$(PATH))
 endif
+endif
 SEARCHPATH+=$(patsubst %/,%,$(subst \,/,$(dir $(MAKE))))
 PWD:=$(strip $(wildcard $(addsuffix /pwd.exe,$(SEARCHPATH))))
 ifeq ($(PWD),)
@@ -37,22 +46,13 @@ ifneq ($(findstring cygdrive,$(PATH)),)
 inCygWin=1
 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
-BATCHEXT=.sh
+SRCBATCHEXT=.sh
 else
 ifdef inOS2
-BATCHEXT=.cmd
+SRCBATCHEXT=.cmd
 else
-BATCHEXT=.bat
+SRCBATCHEXT=.bat
 endif
 endif
 ifdef inUnix
@@ -155,6 +155,12 @@ ifeq ($(findstring $(OS_TARGET),$(MAKEFILETARGETS)),)
 $(error The Makefile doesn't support target $(OS_TARGET), please run fpcmake first)
 endif
 endif
+ifneq ($(findstring $(OS_TARGET),$(BSDs)),)
+BSDhier=1
+endif
+ifeq ($(OS_TARGET),linux)
+linuxHier=1
+endif
 export OS_TARGET OS_SOURCE CPU_TARGET CPU_SOURCE FULL_TARGET FULL_SOURCE CROSSCOMPILE
 ifdef FPCDIR
 override FPCDIR:=$(subst \,/,$(FPCDIR))
@@ -217,42 +223,12 @@ 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
-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
 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
 ifndef INSTALL_PREFIX
@@ -261,7 +237,7 @@ INSTALL_PREFIX=$(PREFIX)
 endif
 endif
 ifndef INSTALL_PREFIX
-ifdef UNIXINSTALLDIR
+ifdef UNIXHier
 INSTALL_PREFIX=/usr/local
 else
 ifdef INSTALL_FPCPACKAGE
@@ -280,7 +256,7 @@ DIST_DESTDIR:=$(BASEDIR)
 endif
 export DIST_DESTDIR
 ifndef INSTALL_BASEDIR
-ifdef UNIXINSTALLDIR
+ifdef UNIXHier
 ifdef INSTALL_FPCPACKAGE
 INSTALL_BASEDIR:=$(INSTALL_PREFIX)/lib/fpc/$(FPC_VERSION)
 else
@@ -291,7 +267,7 @@ INSTALL_BASEDIR:=$(INSTALL_PREFIX)
 endif
 endif
 ifndef INSTALL_BINDIR
-ifdef UNIXINSTALLDIR
+ifdef UNIXHier
 ifdef CROSSCOMPILE
 INSTALL_BINDIR:=$(INSTALL_BASEDIR)/cross/$(FULL_TARGET)/bin
 else
@@ -321,19 +297,23 @@ endif
 endif
 endif
 ifndef INSTALL_LIBDIR
-ifdef UNIXINSTALLDIR
+ifdef UNIXHier
 INSTALL_LIBDIR:=$(INSTALL_PREFIX)/lib
 else
 INSTALL_LIBDIR:=$(INSTALL_UNITDIR)
 endif
 endif
 ifndef INSTALL_SOURCEDIR
-ifdef UNIXINSTALLDIR
+ifdef UNIXHier
 ifdef BSDhier
 SRCPREFIXDIR=share/src
 else
+ifdef linuxHier
+SRCPREFIXDIR=share/src
+else
 SRCPREFIXDIR=src
 endif
+endif
 ifdef INSTALL_FPCPACKAGE
 ifdef INSTALL_FPCSUBDIR
 INSTALL_SOURCEDIR:=$(INSTALL_PREFIX)/$(SRCPREFIXDIR)/fpc-$(FPC_VERSION)/$(INSTALL_FPCSUBDIR)/$(PACKAGE_NAME)
@@ -356,12 +336,16 @@ endif
 endif
 endif
 ifndef INSTALL_DOCDIR
-ifdef UNIXINSTALLDIR
+ifdef UNIXHier
 ifdef BSDhier
 DOCPREFIXDIR=share/doc
 else
+ifdef linuxHier
+DOCPREFIXDIR=share/doc
+else
 DOCPREFIXDIR=doc
 endif
+endif
 ifdef INSTALL_FPCPACKAGE
 INSTALL_DOCDIR:=$(INSTALL_PREFIX)/$(DOCPREFIXDIR)/fpc-$(FPC_VERSION)/$(PACKAGE_NAME)
 else
@@ -376,20 +360,28 @@ endif
 endif
 endif
 ifndef INSTALL_EXAMPLEDIR
-ifdef UNIXINSTALLDIR
+ifdef UNIXHier
 ifdef INSTALL_FPCPACKAGE
 ifdef BSDhier
 INSTALL_EXAMPLEDIR:=$(INSTALL_PREFIX)/share/examples/fpc-$(FPC_VERSION)/$(PACKAGE_NAME)
 else
+ifdef linuxHier
+INSTALL_EXAMPLEDIR:=$(INSTALL_DOCDIR)/examples/fpc-$(FPC_VERSION)/$(PACKAGE_NAME)
+else
 INSTALL_EXAMPLEDIR:=$(INSTALL_PREFIX)/doc/fpc-$(FPC_VERSION)/examples/$(PACKAGE_NAME)
 endif
+endif
 else
 ifdef BSDhier
 INSTALL_EXAMPLEDIR:=$(INSTALL_PREFIX)/share/examples/$(PACKAGE_NAME)-$(PACKAGE_VERSION)
 else
+ifdef linuxHier
+INSTALL_EXAMPLEDIR:=$(INSTALL_DOCDIR)/examples/$(PACKAGE_NAME)-$(PACKAGE_VERSION)
+else
 INSTALL_EXAMPLEDIR:=$(INSTALL_PREFIX)/doc/$(PACKAGE_NAME)-$(PACKAGE_VERSION)
 endif
 endif
+endif
 else
 ifdef INSTALL_FPCPACKAGE
 INSTALL_EXAMPLEDIR:=$(INSTALL_BASEDIR)/examples/$(PACKAGE_NAME)
@@ -413,7 +405,19 @@ CROSSBINDIR=
 endif
 ifeq ($(OS_SOURCE),linux)
 ifndef GCCLIBDIR
-GCCLIBDIR:=$(shell dirname `gcc -print-libgcc-file-name`)
+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
 ifndef OTHERLIBDIR
 OTHERLIBDIR:=$(shell grep -v "^\#" /etc/ld.so.conf | awk '{ ORS=" "; print $1 }')
@@ -425,6 +429,7 @@ OTHERLIBDIR+=/usr/pkg/lib
 endif
 export GCCLIBDIR OTHERLIB
 endif
+BATCHEXT=.bat
 LOADEREXT=.as
 EXEEXT=.exe
 PPLEXT=.ppl
@@ -457,24 +462,28 @@ ASMEXT=.asm
 SHAREDLIBEXT=.dll
 endif
 ifeq ($(OS_TARGET),linux)
+BATCHEXT=.sh
 EXEEXT=
 HASSHAREDLIB=1
 FPCMADE=fpcmade.lnx
 ZIPSUFFIX=linux
 endif
 ifeq ($(OS_TARGET),freebsd)
+BATCHEXT=.sh
 EXEEXT=
 HASSHAREDLIB=1
 FPCMADE=fpcmade.freebsd
 ZIPSUFFIX=freebsd
 endif
 ifeq ($(OS_TARGET),netbsd)
+BATCHEXT=.sh
 EXEEXT=
 HASSHAREDLIB=1
 FPCMADE=fpcmade.netbsd
 ZIPSUFFIX=netbsd
 endif
 ifeq ($(OS_TARGET),openbsd)
+BATCHEXT=.sh
 EXEEXT=
 HASSHAREDLIB=1
 FPCMADE=fpcmade.openbsd
@@ -486,6 +495,7 @@ FPCMADE=fpcmade.w32
 ZIPSUFFIX=w32
 endif
 ifeq ($(OS_TARGET),os2)
+BATCHEXT=.cmd
 AOUTEXT=.out
 STATICLIBPREFIX=
 SHAREDLIBEXT=.dll
@@ -494,6 +504,7 @@ ZIPSUFFIX=os2
 ECHO=echo
 endif
 ifeq ($(OS_TARGET),emx)
+BATCHEXT=.cmd
 AOUTEXT=.out
 STATICLIBPREFIX=
 SHAREDLIBEXT=.dll
@@ -511,16 +522,19 @@ EXEEXT=.ttp
 FPCMADE=fpcmade.ata
 endif
 ifeq ($(OS_TARGET),beos)
+BATCHEXT=.sh
 EXEEXT=
 FPCMADE=fpcmade.be
 ZIPSUFFIX=be
 endif
 ifeq ($(OS_TARGET),sunos)
+BATCHEXT=.sh
 EXEEXT=
 FPCMADE=fpcmade.sun
 ZIPSUFFIX=sun
 endif
 ifeq ($(OS_TARGET),qnx)
+BATCHEXT=.sh
 EXEEXT=
 FPCMADE=fpcmade.qnx
 ZIPSUFFIX=qnx
@@ -532,10 +546,14 @@ FPCMADE=fpcmade.nw
 ZIPSUFFIX=nw
 endif
 ifeq ($(OS_TARGET),macos)
+BATCHEXT=
 EXEEXT=
-FPCMADE=fpcmade.mcc
+FPCMADE=fpcmade.macos
+ZIPSUFFIX=macos
+DEBUGSYMEXT=.xcoff
 endif
 ifeq ($(OS_TARGET),darwin)
+BATCHEXT=.sh
 EXEEXT=
 HASSHAREDLIB=1
 FPCMADE=fpcmade.darwin
@@ -564,24 +582,28 @@ FPCMADE=fpcmade.dos
 ZIPSUFFIX=watcom
 endif
 ifeq ($(OS_TARGET),linux)
+BATCHEXT=.sh
 EXEEXT=
 HASSHAREDLIB=1
 FPCMADE=fpcmade.lnx
 ZIPSUFFIX=linux
 endif
 ifeq ($(OS_TARGET),freebsd)
+BATCHEXT=.sh
 EXEEXT=
 HASSHAREDLIB=1
 FPCMADE=fpcmade.freebsd
 ZIPSUFFIX=freebsd
 endif
 ifeq ($(OS_TARGET),netbsd)
+BATCHEXT=.sh
 EXEEXT=
 HASSHAREDLIB=1
 FPCMADE=fpcmade.netbsd
 ZIPSUFFIX=netbsd
 endif
 ifeq ($(OS_TARGET),openbsd)
+BATCHEXT=.sh
 EXEEXT=
 HASSHAREDLIB=1
 FPCMADE=fpcmade.openbsd
@@ -598,6 +620,7 @@ FPCMADE=fpcmade.w32
 ZIPSUFFIX=w32
 endif
 ifeq ($(OS_TARGET),os2)
+BATCHEXT=.cmd
 PPUEXT=.ppo
 ASMEXT=.so2
 OEXT=.oo2
@@ -630,6 +653,7 @@ EXEEXT=.ttp
 FPCMADE=fpcmade.ata
 endif
 ifeq ($(OS_TARGET),beos)
+BATCHEXT=.sh
 PPUEXT=.ppu
 ASMEXT=.s
 OEXT=.o
@@ -640,6 +664,7 @@ FPCMADE=fpcmade.be
 ZIPSUFFIX=be
 endif
 ifeq ($(OS_TARGET),sunos)
+BATCHEXT=.sh
 PPUEXT=.ppu
 ASMEXT=.s
 OEXT=.o
@@ -650,6 +675,7 @@ FPCMADE=fpcmade.sun
 ZIPSUFFIX=sun
 endif
 ifeq ($(OS_TARGET),qnx)
+BATCHEXT=.sh
 PPUEXT=.ppu
 ASMEXT=.s
 OEXT=.o
@@ -672,13 +698,15 @@ ZIPSUFFIX=nw
 EXEEXT=.nlm
 endif
 ifeq ($(OS_TARGET),macos)
+BATCHEXT=
 PPUEXT=.ppu
 ASMEXT=.s
 OEXT=.o
 SMARTEXT=.sl
 STATICLIBEXT=.a
 EXEEXT=
-FPCMADE=fpcmade.mcc
+DEBUGSYMEXT=.xcoff
+FPCMADE=fpcmade.macos
 endif
 endif
 ifndef ECHO
@@ -686,7 +714,7 @@ ECHO:=$(strip $(wildcard $(addsuffix /gecho$(SRCEXEEXT),$(SEARCHPATH))))
 ifeq ($(ECHO),)
 ECHO:=$(strip $(wildcard $(addsuffix /echo$(SRCEXEEXT),$(SEARCHPATH))))
 ifeq ($(ECHO),)
-ECHO=
+ECHO= __missing_command__
 else
 ECHO:=$(firstword $(ECHO))
 endif
@@ -700,7 +728,7 @@ DATE:=$(strip $(wildcard $(addsuffix /gdate$(SRCEXEEXT),$(SEARCHPATH))))
 ifeq ($(DATE),)
 DATE:=$(strip $(wildcard $(addsuffix /date$(SRCEXEEXT),$(SEARCHPATH))))
 ifeq ($(DATE),)
-DATE=
+DATE= __missing_command__
 else
 DATE:=$(firstword $(DATE))
 endif
@@ -714,7 +742,7 @@ GINSTALL:=$(strip $(wildcard $(addsuffix /ginstall$(SRCEXEEXT),$(SEARCHPATH))))
 ifeq ($(GINSTALL),)
 GINSTALL:=$(strip $(wildcard $(addsuffix /install$(SRCEXEEXT),$(SEARCHPATH))))
 ifeq ($(GINSTALL),)
-GINSTALL=
+GINSTALL= __missing_command__
 else
 GINSTALL:=$(firstword $(GINSTALL))
 endif
@@ -726,7 +754,7 @@ export GINSTALL
 ifndef CPPROG
 CPPROG:=$(strip $(wildcard $(addsuffix /cp$(SRCEXEEXT),$(SEARCHPATH))))
 ifeq ($(CPPROG),)
-CPPROG=
+CPPROG= __missing_command__
 else
 CPPROG:=$(firstword $(CPPROG))
 endif
@@ -735,7 +763,7 @@ export CPPROG
 ifndef RMPROG
 RMPROG:=$(strip $(wildcard $(addsuffix /rm$(SRCEXEEXT),$(SEARCHPATH))))
 ifeq ($(RMPROG),)
-RMPROG=
+RMPROG= __missing_command__
 else
 RMPROG:=$(firstword $(RMPROG))
 endif
@@ -744,7 +772,7 @@ export RMPROG
 ifndef MVPROG
 MVPROG:=$(strip $(wildcard $(addsuffix /mv$(SRCEXEEXT),$(SEARCHPATH))))
 ifeq ($(MVPROG),)
-MVPROG=
+MVPROG= __missing_command__
 else
 MVPROG:=$(firstword $(MVPROG))
 endif
@@ -793,7 +821,7 @@ export ECHOREDIR COPY COPYTREE MOVE DEL DELTREE INSTALL INSTALLEXE MKDIR
 ifndef PPUMOVE
 PPUMOVE:=$(strip $(wildcard $(addsuffix /ppumove$(SRCEXEEXT),$(SEARCHPATH))))
 ifeq ($(PPUMOVE),)
-PPUMOVE=
+PPUMOVE= __missing_command__
 else
 PPUMOVE:=$(firstword $(PPUMOVE))
 endif
@@ -802,7 +830,7 @@ export PPUMOVE
 ifndef FPCMAKE
 FPCMAKE:=$(strip $(wildcard $(addsuffix /fpcmake$(SRCEXEEXT),$(SEARCHPATH))))
 ifeq ($(FPCMAKE),)
-FPCMAKE=
+FPCMAKE= __missing_command__
 else
 FPCMAKE:=$(firstword $(FPCMAKE))
 endif
@@ -811,7 +839,7 @@ export FPCMAKE
 ifndef ZIPPROG
 ZIPPROG:=$(strip $(wildcard $(addsuffix /zip$(SRCEXEEXT),$(SEARCHPATH))))
 ifeq ($(ZIPPROG),)
-ZIPPROG=
+ZIPPROG= __missing_command__
 else
 ZIPPROG:=$(firstword $(ZIPPROG))
 endif
@@ -820,7 +848,7 @@ export ZIPPROG
 ifndef TARPROG
 TARPROG:=$(strip $(wildcard $(addsuffix /tar$(SRCEXEEXT),$(SEARCHPATH))))
 ifeq ($(TARPROG),)
-TARPROG=
+TARPROG= __missing_command__
 else
 TARPROG:=$(firstword $(TARPROG))
 endif
@@ -832,9 +860,11 @@ ARNAME=$(BINUTILSPREFIX)ar
 RCNAME=$(BINUTILSPREFIX)rc
 ifneq ($(findstring 1.0.,$(FPC_VERSION)),)
 ifeq ($(OS_TARGET),win32)
-ASNAME=as
-LDNAME=ld
-ARNAME=ar
+ifeq ($(CROSSBINDIR),)
+ASNAME=asw
+LDNAME=ldw
+ARNAME=arw
+endif
 endif
 endif
 ifndef ASPROG
@@ -869,7 +899,7 @@ AS=$(ASPROG)
 LD=$(LDPROG)
 RC=$(RCPROG)
 AR=$(ARPROG)
-PPAS=ppas$(BATCHEXT)
+PPAS=ppas$(SRCBATCHEXT)
 ifdef inUnix
 LDCONFIG=ldconfig
 else
@@ -1464,8 +1494,12 @@ ifdef RELEASE
 ifeq ($(CPU_TARGET),i386)
 FPCCPUOPT:=-OG2p3
 else
+ifeq ($(CPU_TARGET),powerpc)
+FPCCPUOPT:=-O1
+else
 FPCCPUOPT:=
 endif
+endif
 override FPCOPT+=-Xs $(FPCCPUOPT) -n
 override FPCOPTDEF+=RELEASE
 endif
@@ -1678,6 +1712,9 @@ override CLEANPPUFILES+=$(addsuffix $(PPUEXT),$(CLEAN_UNITS))
 endif
 ifdef 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 CLEANPPULINKFILES:=$(wildcard $(addprefix $(UNITTARGETDIRPREFIX),$(CLEANPPULINKFILES)))
 endif
@@ -1701,6 +1738,7 @@ ifdef LIB_NAME
 	-$(DEL) $(LIB_NAME) $(LIB_FULLNAME)
 endif
 	-$(DEL) $(FPCMADE) Package.fpc $(PPAS) script.res link.res $(FPCEXTFILE) $(REDIRFILE)
+	-$(DEL) *$(ASMEXT) *_ppas$(BATCHEXT)
 fpc_distclean: clean
 ifdef COMPILER_UNITTARGETDIR
 TARGETDIRCLEAN=fpc_clean
@@ -1712,9 +1750,13 @@ endif
 	-$(DEL) *$(OEXT) *$(PPUEXT) *$(RSTEXT) *$(ASMEXT) *$(STATICLIBEXT) *$(SHAREDLIBEXT) *$(PPLEXT)
 	-$(DELTREE) *$(SMARTEXT)
 	-$(DEL) $(FPCMADE) Package.fpc $(PPAS) script.res link.res $(FPCEXTFILE) $(REDIRFILE)
+	-$(DEL) *_ppas$(BATCHEXT)
 ifdef AOUTEXT
 	-$(DEL) *$(AOUTEXT)
 endif
+ifdef DEBUGSYMEXT
+	-$(DEL) *$(DEBUGSYMEXT)
+endif
 .PHONY: fpc_baseinfo
 override INFORULES+=fpc_baseinfo
 fpc_baseinfo:

+ 114 - 72
packages/extra/gtk/Makefile

@@ -1,15 +1,24 @@
 #
-# Don't edit, this file is generated by FPCMake Version 1.1 [2004/02/22]
+# Don't edit, this file is generated by FPCMake Version 1.1 [2004/04/21]
 #
 default: all
 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:=$(subst \,/,$(PATH))
+ifneq ($(findstring darwin,$(OSTYPE)),)
+inUnix=1 #darwin
+SEARCHPATH:=$(filter-out .,$(subst :, ,$(PATH)))
+else
 ifeq ($(findstring ;,$(PATH)),)
 inUnix=1
 SEARCHPATH:=$(filter-out .,$(subst :, ,$(PATH)))
 else
 SEARCHPATH:=$(subst ;, ,$(PATH))
 endif
+endif
 SEARCHPATH+=$(patsubst %/,%,$(subst \,/,$(dir $(MAKE))))
 PWD:=$(strip $(wildcard $(addsuffix /pwd.exe,$(SEARCHPATH))))
 ifeq ($(PWD),)
@@ -37,22 +46,13 @@ ifneq ($(findstring cygdrive,$(PATH)),)
 inCygWin=1
 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
-BATCHEXT=.sh
+SRCBATCHEXT=.sh
 else
 ifdef inOS2
-BATCHEXT=.cmd
+SRCBATCHEXT=.cmd
 else
-BATCHEXT=.bat
+SRCBATCHEXT=.bat
 endif
 endif
 ifdef inUnix
@@ -155,6 +155,12 @@ ifeq ($(findstring $(OS_TARGET),$(MAKEFILETARGETS)),)
 $(error The Makefile doesn't support target $(OS_TARGET), please run fpcmake first)
 endif
 endif
+ifneq ($(findstring $(OS_TARGET),$(BSDs)),)
+BSDhier=1
+endif
+ifeq ($(OS_TARGET),linux)
+linuxHier=1
+endif
 export OS_TARGET OS_SOURCE CPU_TARGET CPU_SOURCE FULL_TARGET FULL_SOURCE CROSSCOMPILE
 ifdef FPCDIR
 override FPCDIR:=$(subst \,/,$(FPCDIR))
@@ -222,42 +228,12 @@ 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
-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
 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
 ifndef INSTALL_PREFIX
@@ -266,7 +242,7 @@ INSTALL_PREFIX=$(PREFIX)
 endif
 endif
 ifndef INSTALL_PREFIX
-ifdef UNIXINSTALLDIR
+ifdef UNIXHier
 INSTALL_PREFIX=/usr/local
 else
 ifdef INSTALL_FPCPACKAGE
@@ -285,7 +261,7 @@ DIST_DESTDIR:=$(BASEDIR)
 endif
 export DIST_DESTDIR
 ifndef INSTALL_BASEDIR
-ifdef UNIXINSTALLDIR
+ifdef UNIXHier
 ifdef INSTALL_FPCPACKAGE
 INSTALL_BASEDIR:=$(INSTALL_PREFIX)/lib/fpc/$(FPC_VERSION)
 else
@@ -296,7 +272,7 @@ INSTALL_BASEDIR:=$(INSTALL_PREFIX)
 endif
 endif
 ifndef INSTALL_BINDIR
-ifdef UNIXINSTALLDIR
+ifdef UNIXHier
 ifdef CROSSCOMPILE
 INSTALL_BINDIR:=$(INSTALL_BASEDIR)/cross/$(FULL_TARGET)/bin
 else
@@ -326,19 +302,23 @@ endif
 endif
 endif
 ifndef INSTALL_LIBDIR
-ifdef UNIXINSTALLDIR
+ifdef UNIXHier
 INSTALL_LIBDIR:=$(INSTALL_PREFIX)/lib
 else
 INSTALL_LIBDIR:=$(INSTALL_UNITDIR)
 endif
 endif
 ifndef INSTALL_SOURCEDIR
-ifdef UNIXINSTALLDIR
+ifdef UNIXHier
 ifdef BSDhier
 SRCPREFIXDIR=share/src
 else
+ifdef linuxHier
+SRCPREFIXDIR=share/src
+else
 SRCPREFIXDIR=src
 endif
+endif
 ifdef INSTALL_FPCPACKAGE
 ifdef INSTALL_FPCSUBDIR
 INSTALL_SOURCEDIR:=$(INSTALL_PREFIX)/$(SRCPREFIXDIR)/fpc-$(FPC_VERSION)/$(INSTALL_FPCSUBDIR)/$(PACKAGE_NAME)
@@ -361,12 +341,16 @@ endif
 endif
 endif
 ifndef INSTALL_DOCDIR
-ifdef UNIXINSTALLDIR
+ifdef UNIXHier
 ifdef BSDhier
 DOCPREFIXDIR=share/doc
 else
+ifdef linuxHier
+DOCPREFIXDIR=share/doc
+else
 DOCPREFIXDIR=doc
 endif
+endif
 ifdef INSTALL_FPCPACKAGE
 INSTALL_DOCDIR:=$(INSTALL_PREFIX)/$(DOCPREFIXDIR)/fpc-$(FPC_VERSION)/$(PACKAGE_NAME)
 else
@@ -381,20 +365,28 @@ endif
 endif
 endif
 ifndef INSTALL_EXAMPLEDIR
-ifdef UNIXINSTALLDIR
+ifdef UNIXHier
 ifdef INSTALL_FPCPACKAGE
 ifdef BSDhier
 INSTALL_EXAMPLEDIR:=$(INSTALL_PREFIX)/share/examples/fpc-$(FPC_VERSION)/$(PACKAGE_NAME)
 else
+ifdef linuxHier
+INSTALL_EXAMPLEDIR:=$(INSTALL_DOCDIR)/examples/fpc-$(FPC_VERSION)/$(PACKAGE_NAME)
+else
 INSTALL_EXAMPLEDIR:=$(INSTALL_PREFIX)/doc/fpc-$(FPC_VERSION)/examples/$(PACKAGE_NAME)
 endif
+endif
 else
 ifdef BSDhier
 INSTALL_EXAMPLEDIR:=$(INSTALL_PREFIX)/share/examples/$(PACKAGE_NAME)-$(PACKAGE_VERSION)
 else
+ifdef linuxHier
+INSTALL_EXAMPLEDIR:=$(INSTALL_DOCDIR)/examples/$(PACKAGE_NAME)-$(PACKAGE_VERSION)
+else
 INSTALL_EXAMPLEDIR:=$(INSTALL_PREFIX)/doc/$(PACKAGE_NAME)-$(PACKAGE_VERSION)
 endif
 endif
+endif
 else
 ifdef INSTALL_FPCPACKAGE
 INSTALL_EXAMPLEDIR:=$(INSTALL_BASEDIR)/examples/$(PACKAGE_NAME)
@@ -418,7 +410,19 @@ CROSSBINDIR=
 endif
 ifeq ($(OS_SOURCE),linux)
 ifndef GCCLIBDIR
-GCCLIBDIR:=$(shell dirname `gcc -print-libgcc-file-name`)
+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
 ifndef OTHERLIBDIR
 OTHERLIBDIR:=$(shell grep -v "^\#" /etc/ld.so.conf | awk '{ ORS=" "; print $1 }')
@@ -430,6 +434,7 @@ OTHERLIBDIR+=/usr/pkg/lib
 endif
 export GCCLIBDIR OTHERLIB
 endif
+BATCHEXT=.bat
 LOADEREXT=.as
 EXEEXT=.exe
 PPLEXT=.ppl
@@ -462,24 +467,28 @@ ASMEXT=.asm
 SHAREDLIBEXT=.dll
 endif
 ifeq ($(OS_TARGET),linux)
+BATCHEXT=.sh
 EXEEXT=
 HASSHAREDLIB=1
 FPCMADE=fpcmade.lnx
 ZIPSUFFIX=linux
 endif
 ifeq ($(OS_TARGET),freebsd)
+BATCHEXT=.sh
 EXEEXT=
 HASSHAREDLIB=1
 FPCMADE=fpcmade.freebsd
 ZIPSUFFIX=freebsd
 endif
 ifeq ($(OS_TARGET),netbsd)
+BATCHEXT=.sh
 EXEEXT=
 HASSHAREDLIB=1
 FPCMADE=fpcmade.netbsd
 ZIPSUFFIX=netbsd
 endif
 ifeq ($(OS_TARGET),openbsd)
+BATCHEXT=.sh
 EXEEXT=
 HASSHAREDLIB=1
 FPCMADE=fpcmade.openbsd
@@ -491,6 +500,7 @@ FPCMADE=fpcmade.w32
 ZIPSUFFIX=w32
 endif
 ifeq ($(OS_TARGET),os2)
+BATCHEXT=.cmd
 AOUTEXT=.out
 STATICLIBPREFIX=
 SHAREDLIBEXT=.dll
@@ -499,6 +509,7 @@ ZIPSUFFIX=os2
 ECHO=echo
 endif
 ifeq ($(OS_TARGET),emx)
+BATCHEXT=.cmd
 AOUTEXT=.out
 STATICLIBPREFIX=
 SHAREDLIBEXT=.dll
@@ -516,16 +527,19 @@ EXEEXT=.ttp
 FPCMADE=fpcmade.ata
 endif
 ifeq ($(OS_TARGET),beos)
+BATCHEXT=.sh
 EXEEXT=
 FPCMADE=fpcmade.be
 ZIPSUFFIX=be
 endif
 ifeq ($(OS_TARGET),sunos)
+BATCHEXT=.sh
 EXEEXT=
 FPCMADE=fpcmade.sun
 ZIPSUFFIX=sun
 endif
 ifeq ($(OS_TARGET),qnx)
+BATCHEXT=.sh
 EXEEXT=
 FPCMADE=fpcmade.qnx
 ZIPSUFFIX=qnx
@@ -537,10 +551,14 @@ FPCMADE=fpcmade.nw
 ZIPSUFFIX=nw
 endif
 ifeq ($(OS_TARGET),macos)
+BATCHEXT=
 EXEEXT=
-FPCMADE=fpcmade.mcc
+FPCMADE=fpcmade.macos
+ZIPSUFFIX=macos
+DEBUGSYMEXT=.xcoff
 endif
 ifeq ($(OS_TARGET),darwin)
+BATCHEXT=.sh
 EXEEXT=
 HASSHAREDLIB=1
 FPCMADE=fpcmade.darwin
@@ -569,24 +587,28 @@ FPCMADE=fpcmade.dos
 ZIPSUFFIX=watcom
 endif
 ifeq ($(OS_TARGET),linux)
+BATCHEXT=.sh
 EXEEXT=
 HASSHAREDLIB=1
 FPCMADE=fpcmade.lnx
 ZIPSUFFIX=linux
 endif
 ifeq ($(OS_TARGET),freebsd)
+BATCHEXT=.sh
 EXEEXT=
 HASSHAREDLIB=1
 FPCMADE=fpcmade.freebsd
 ZIPSUFFIX=freebsd
 endif
 ifeq ($(OS_TARGET),netbsd)
+BATCHEXT=.sh
 EXEEXT=
 HASSHAREDLIB=1
 FPCMADE=fpcmade.netbsd
 ZIPSUFFIX=netbsd
 endif
 ifeq ($(OS_TARGET),openbsd)
+BATCHEXT=.sh
 EXEEXT=
 HASSHAREDLIB=1
 FPCMADE=fpcmade.openbsd
@@ -603,6 +625,7 @@ FPCMADE=fpcmade.w32
 ZIPSUFFIX=w32
 endif
 ifeq ($(OS_TARGET),os2)
+BATCHEXT=.cmd
 PPUEXT=.ppo
 ASMEXT=.so2
 OEXT=.oo2
@@ -635,6 +658,7 @@ EXEEXT=.ttp
 FPCMADE=fpcmade.ata
 endif
 ifeq ($(OS_TARGET),beos)
+BATCHEXT=.sh
 PPUEXT=.ppu
 ASMEXT=.s
 OEXT=.o
@@ -645,6 +669,7 @@ FPCMADE=fpcmade.be
 ZIPSUFFIX=be
 endif
 ifeq ($(OS_TARGET),sunos)
+BATCHEXT=.sh
 PPUEXT=.ppu
 ASMEXT=.s
 OEXT=.o
@@ -655,6 +680,7 @@ FPCMADE=fpcmade.sun
 ZIPSUFFIX=sun
 endif
 ifeq ($(OS_TARGET),qnx)
+BATCHEXT=.sh
 PPUEXT=.ppu
 ASMEXT=.s
 OEXT=.o
@@ -677,13 +703,15 @@ ZIPSUFFIX=nw
 EXEEXT=.nlm
 endif
 ifeq ($(OS_TARGET),macos)
+BATCHEXT=
 PPUEXT=.ppu
 ASMEXT=.s
 OEXT=.o
 SMARTEXT=.sl
 STATICLIBEXT=.a
 EXEEXT=
-FPCMADE=fpcmade.mcc
+DEBUGSYMEXT=.xcoff
+FPCMADE=fpcmade.macos
 endif
 endif
 ifndef ECHO
@@ -691,7 +719,7 @@ ECHO:=$(strip $(wildcard $(addsuffix /gecho$(SRCEXEEXT),$(SEARCHPATH))))
 ifeq ($(ECHO),)
 ECHO:=$(strip $(wildcard $(addsuffix /echo$(SRCEXEEXT),$(SEARCHPATH))))
 ifeq ($(ECHO),)
-ECHO=
+ECHO= __missing_command__
 else
 ECHO:=$(firstword $(ECHO))
 endif
@@ -705,7 +733,7 @@ DATE:=$(strip $(wildcard $(addsuffix /gdate$(SRCEXEEXT),$(SEARCHPATH))))
 ifeq ($(DATE),)
 DATE:=$(strip $(wildcard $(addsuffix /date$(SRCEXEEXT),$(SEARCHPATH))))
 ifeq ($(DATE),)
-DATE=
+DATE= __missing_command__
 else
 DATE:=$(firstword $(DATE))
 endif
@@ -719,7 +747,7 @@ GINSTALL:=$(strip $(wildcard $(addsuffix /ginstall$(SRCEXEEXT),$(SEARCHPATH))))
 ifeq ($(GINSTALL),)
 GINSTALL:=$(strip $(wildcard $(addsuffix /install$(SRCEXEEXT),$(SEARCHPATH))))
 ifeq ($(GINSTALL),)
-GINSTALL=
+GINSTALL= __missing_command__
 else
 GINSTALL:=$(firstword $(GINSTALL))
 endif
@@ -731,7 +759,7 @@ export GINSTALL
 ifndef CPPROG
 CPPROG:=$(strip $(wildcard $(addsuffix /cp$(SRCEXEEXT),$(SEARCHPATH))))
 ifeq ($(CPPROG),)
-CPPROG=
+CPPROG= __missing_command__
 else
 CPPROG:=$(firstword $(CPPROG))
 endif
@@ -740,7 +768,7 @@ export CPPROG
 ifndef RMPROG
 RMPROG:=$(strip $(wildcard $(addsuffix /rm$(SRCEXEEXT),$(SEARCHPATH))))
 ifeq ($(RMPROG),)
-RMPROG=
+RMPROG= __missing_command__
 else
 RMPROG:=$(firstword $(RMPROG))
 endif
@@ -749,7 +777,7 @@ export RMPROG
 ifndef MVPROG
 MVPROG:=$(strip $(wildcard $(addsuffix /mv$(SRCEXEEXT),$(SEARCHPATH))))
 ifeq ($(MVPROG),)
-MVPROG=
+MVPROG= __missing_command__
 else
 MVPROG:=$(firstword $(MVPROG))
 endif
@@ -798,7 +826,7 @@ export ECHOREDIR COPY COPYTREE MOVE DEL DELTREE INSTALL INSTALLEXE MKDIR
 ifndef PPUMOVE
 PPUMOVE:=$(strip $(wildcard $(addsuffix /ppumove$(SRCEXEEXT),$(SEARCHPATH))))
 ifeq ($(PPUMOVE),)
-PPUMOVE=
+PPUMOVE= __missing_command__
 else
 PPUMOVE:=$(firstword $(PPUMOVE))
 endif
@@ -807,7 +835,7 @@ export PPUMOVE
 ifndef FPCMAKE
 FPCMAKE:=$(strip $(wildcard $(addsuffix /fpcmake$(SRCEXEEXT),$(SEARCHPATH))))
 ifeq ($(FPCMAKE),)
-FPCMAKE=
+FPCMAKE= __missing_command__
 else
 FPCMAKE:=$(firstword $(FPCMAKE))
 endif
@@ -816,7 +844,7 @@ export FPCMAKE
 ifndef ZIPPROG
 ZIPPROG:=$(strip $(wildcard $(addsuffix /zip$(SRCEXEEXT),$(SEARCHPATH))))
 ifeq ($(ZIPPROG),)
-ZIPPROG=
+ZIPPROG= __missing_command__
 else
 ZIPPROG:=$(firstword $(ZIPPROG))
 endif
@@ -825,7 +853,7 @@ export ZIPPROG
 ifndef TARPROG
 TARPROG:=$(strip $(wildcard $(addsuffix /tar$(SRCEXEEXT),$(SEARCHPATH))))
 ifeq ($(TARPROG),)
-TARPROG=
+TARPROG= __missing_command__
 else
 TARPROG:=$(firstword $(TARPROG))
 endif
@@ -837,9 +865,11 @@ ARNAME=$(BINUTILSPREFIX)ar
 RCNAME=$(BINUTILSPREFIX)rc
 ifneq ($(findstring 1.0.,$(FPC_VERSION)),)
 ifeq ($(OS_TARGET),win32)
-ASNAME=as
-LDNAME=ld
-ARNAME=ar
+ifeq ($(CROSSBINDIR),)
+ASNAME=asw
+LDNAME=ldw
+ARNAME=arw
+endif
 endif
 endif
 ifndef ASPROG
@@ -874,7 +904,7 @@ AS=$(ASPROG)
 LD=$(LDPROG)
 RC=$(RCPROG)
 AR=$(ARPROG)
-PPAS=ppas$(BATCHEXT)
+PPAS=ppas$(SRCBATCHEXT)
 ifdef inUnix
 LDCONFIG=ldconfig
 else
@@ -1229,8 +1259,12 @@ ifdef RELEASE
 ifeq ($(CPU_TARGET),i386)
 FPCCPUOPT:=-OG2p3
 else
+ifeq ($(CPU_TARGET),powerpc)
+FPCCPUOPT:=-O1
+else
 FPCCPUOPT:=
 endif
+endif
 override FPCOPT+=-Xs $(FPCCPUOPT) -n
 override FPCOPTDEF+=RELEASE
 endif
@@ -1480,7 +1514,7 @@ USEZIPWRAPPER=1
 endif
 ifdef USEZIPWRAPPER
 ZIPPATHSEP=$(PATHSEP)
-ZIPWRAPPER=$(subst /,$(PATHSEP),$(DIST_DESTDIR)/fpczip$(BATCHEXT))
+ZIPWRAPPER=$(subst /,$(PATHSEP),$(DIST_DESTDIR)/fpczip$(SRCBATCHEXT))
 else
 ZIPPATHSEP=/
 endif
@@ -1534,6 +1568,9 @@ override CLEANPPUFILES+=$(addsuffix $(PPUEXT),$(CLEAN_UNITS))
 endif
 ifdef 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 CLEANPPULINKFILES:=$(wildcard $(addprefix $(UNITTARGETDIRPREFIX),$(CLEANPPULINKFILES)))
 endif
@@ -1557,6 +1594,7 @@ ifdef LIB_NAME
 	-$(DEL) $(LIB_NAME) $(LIB_FULLNAME)
 endif
 	-$(DEL) $(FPCMADE) Package.fpc $(PPAS) script.res link.res $(FPCEXTFILE) $(REDIRFILE)
+	-$(DEL) *$(ASMEXT) *_ppas$(BATCHEXT)
 fpc_distclean: clean
 ifdef COMPILER_UNITTARGETDIR
 TARGETDIRCLEAN=fpc_clean
@@ -1568,9 +1606,13 @@ endif
 	-$(DEL) *$(OEXT) *$(PPUEXT) *$(RSTEXT) *$(ASMEXT) *$(STATICLIBEXT) *$(SHAREDLIBEXT) *$(PPLEXT)
 	-$(DELTREE) *$(SMARTEXT)
 	-$(DEL) $(FPCMADE) Package.fpc $(PPAS) script.res link.res $(FPCEXTFILE) $(REDIRFILE)
+	-$(DEL) *_ppas$(BATCHEXT)
 ifdef AOUTEXT
 	-$(DEL) *$(AOUTEXT)
 endif
+ifdef DEBUGSYMEXT
+	-$(DEL) *$(DEBUGSYMEXT)
+endif
 .PHONY: fpc_baseinfo
 override INFORULES+=fpc_baseinfo
 fpc_baseinfo:

+ 113 - 71
packages/extra/gtk/examples/Makefile

@@ -1,15 +1,24 @@
 #
-# Don't edit, this file is generated by FPCMake Version 1.1 [2004/02/22]
+# Don't edit, this file is generated by FPCMake Version 1.1 [2004/04/21]
 #
 default: all
 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:=$(subst \,/,$(PATH))
+ifneq ($(findstring darwin,$(OSTYPE)),)
+inUnix=1 #darwin
+SEARCHPATH:=$(filter-out .,$(subst :, ,$(PATH)))
+else
 ifeq ($(findstring ;,$(PATH)),)
 inUnix=1
 SEARCHPATH:=$(filter-out .,$(subst :, ,$(PATH)))
 else
 SEARCHPATH:=$(subst ;, ,$(PATH))
 endif
+endif
 SEARCHPATH+=$(patsubst %/,%,$(subst \,/,$(dir $(MAKE))))
 PWD:=$(strip $(wildcard $(addsuffix /pwd.exe,$(SEARCHPATH))))
 ifeq ($(PWD),)
@@ -37,22 +46,13 @@ ifneq ($(findstring cygdrive,$(PATH)),)
 inCygWin=1
 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
-BATCHEXT=.sh
+SRCBATCHEXT=.sh
 else
 ifdef inOS2
-BATCHEXT=.cmd
+SRCBATCHEXT=.cmd
 else
-BATCHEXT=.bat
+SRCBATCHEXT=.bat
 endif
 endif
 ifdef inUnix
@@ -155,6 +155,12 @@ ifeq ($(findstring $(OS_TARGET),$(MAKEFILETARGETS)),)
 $(error The Makefile doesn't support target $(OS_TARGET), please run fpcmake first)
 endif
 endif
+ifneq ($(findstring $(OS_TARGET),$(BSDs)),)
+BSDhier=1
+endif
+ifeq ($(OS_TARGET),linux)
+linuxHier=1
+endif
 export OS_TARGET OS_SOURCE CPU_TARGET CPU_SOURCE FULL_TARGET FULL_SOURCE CROSSCOMPILE
 ifdef FPCDIR
 override FPCDIR:=$(subst \,/,$(FPCDIR))
@@ -218,42 +224,12 @@ 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
-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
 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
 ifndef INSTALL_PREFIX
@@ -262,7 +238,7 @@ INSTALL_PREFIX=$(PREFIX)
 endif
 endif
 ifndef INSTALL_PREFIX
-ifdef UNIXINSTALLDIR
+ifdef UNIXHier
 INSTALL_PREFIX=/usr/local
 else
 ifdef INSTALL_FPCPACKAGE
@@ -281,7 +257,7 @@ DIST_DESTDIR:=$(BASEDIR)
 endif
 export DIST_DESTDIR
 ifndef INSTALL_BASEDIR
-ifdef UNIXINSTALLDIR
+ifdef UNIXHier
 ifdef INSTALL_FPCPACKAGE
 INSTALL_BASEDIR:=$(INSTALL_PREFIX)/lib/fpc/$(FPC_VERSION)
 else
@@ -292,7 +268,7 @@ INSTALL_BASEDIR:=$(INSTALL_PREFIX)
 endif
 endif
 ifndef INSTALL_BINDIR
-ifdef UNIXINSTALLDIR
+ifdef UNIXHier
 ifdef CROSSCOMPILE
 INSTALL_BINDIR:=$(INSTALL_BASEDIR)/cross/$(FULL_TARGET)/bin
 else
@@ -322,19 +298,23 @@ endif
 endif
 endif
 ifndef INSTALL_LIBDIR
-ifdef UNIXINSTALLDIR
+ifdef UNIXHier
 INSTALL_LIBDIR:=$(INSTALL_PREFIX)/lib
 else
 INSTALL_LIBDIR:=$(INSTALL_UNITDIR)
 endif
 endif
 ifndef INSTALL_SOURCEDIR
-ifdef UNIXINSTALLDIR
+ifdef UNIXHier
 ifdef BSDhier
 SRCPREFIXDIR=share/src
 else
+ifdef linuxHier
+SRCPREFIXDIR=share/src
+else
 SRCPREFIXDIR=src
 endif
+endif
 ifdef INSTALL_FPCPACKAGE
 ifdef INSTALL_FPCSUBDIR
 INSTALL_SOURCEDIR:=$(INSTALL_PREFIX)/$(SRCPREFIXDIR)/fpc-$(FPC_VERSION)/$(INSTALL_FPCSUBDIR)/$(PACKAGE_NAME)
@@ -357,12 +337,16 @@ endif
 endif
 endif
 ifndef INSTALL_DOCDIR
-ifdef UNIXINSTALLDIR
+ifdef UNIXHier
 ifdef BSDhier
 DOCPREFIXDIR=share/doc
 else
+ifdef linuxHier
+DOCPREFIXDIR=share/doc
+else
 DOCPREFIXDIR=doc
 endif
+endif
 ifdef INSTALL_FPCPACKAGE
 INSTALL_DOCDIR:=$(INSTALL_PREFIX)/$(DOCPREFIXDIR)/fpc-$(FPC_VERSION)/$(PACKAGE_NAME)
 else
@@ -377,20 +361,28 @@ endif
 endif
 endif
 ifndef INSTALL_EXAMPLEDIR
-ifdef UNIXINSTALLDIR
+ifdef UNIXHier
 ifdef INSTALL_FPCPACKAGE
 ifdef BSDhier
 INSTALL_EXAMPLEDIR:=$(INSTALL_PREFIX)/share/examples/fpc-$(FPC_VERSION)/$(PACKAGE_NAME)
 else
+ifdef linuxHier
+INSTALL_EXAMPLEDIR:=$(INSTALL_DOCDIR)/examples/fpc-$(FPC_VERSION)/$(PACKAGE_NAME)
+else
 INSTALL_EXAMPLEDIR:=$(INSTALL_PREFIX)/doc/fpc-$(FPC_VERSION)/examples/$(PACKAGE_NAME)
 endif
+endif
 else
 ifdef BSDhier
 INSTALL_EXAMPLEDIR:=$(INSTALL_PREFIX)/share/examples/$(PACKAGE_NAME)-$(PACKAGE_VERSION)
 else
+ifdef linuxHier
+INSTALL_EXAMPLEDIR:=$(INSTALL_DOCDIR)/examples/$(PACKAGE_NAME)-$(PACKAGE_VERSION)
+else
 INSTALL_EXAMPLEDIR:=$(INSTALL_PREFIX)/doc/$(PACKAGE_NAME)-$(PACKAGE_VERSION)
 endif
 endif
+endif
 else
 ifdef INSTALL_FPCPACKAGE
 INSTALL_EXAMPLEDIR:=$(INSTALL_BASEDIR)/examples/$(PACKAGE_NAME)
@@ -414,7 +406,19 @@ CROSSBINDIR=
 endif
 ifeq ($(OS_SOURCE),linux)
 ifndef GCCLIBDIR
-GCCLIBDIR:=$(shell dirname `gcc -print-libgcc-file-name`)
+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
 ifndef OTHERLIBDIR
 OTHERLIBDIR:=$(shell grep -v "^\#" /etc/ld.so.conf | awk '{ ORS=" "; print $1 }')
@@ -426,6 +430,7 @@ OTHERLIBDIR+=/usr/pkg/lib
 endif
 export GCCLIBDIR OTHERLIB
 endif
+BATCHEXT=.bat
 LOADEREXT=.as
 EXEEXT=.exe
 PPLEXT=.ppl
@@ -458,24 +463,28 @@ ASMEXT=.asm
 SHAREDLIBEXT=.dll
 endif
 ifeq ($(OS_TARGET),linux)
+BATCHEXT=.sh
 EXEEXT=
 HASSHAREDLIB=1
 FPCMADE=fpcmade.lnx
 ZIPSUFFIX=linux
 endif
 ifeq ($(OS_TARGET),freebsd)
+BATCHEXT=.sh
 EXEEXT=
 HASSHAREDLIB=1
 FPCMADE=fpcmade.freebsd
 ZIPSUFFIX=freebsd
 endif
 ifeq ($(OS_TARGET),netbsd)
+BATCHEXT=.sh
 EXEEXT=
 HASSHAREDLIB=1
 FPCMADE=fpcmade.netbsd
 ZIPSUFFIX=netbsd
 endif
 ifeq ($(OS_TARGET),openbsd)
+BATCHEXT=.sh
 EXEEXT=
 HASSHAREDLIB=1
 FPCMADE=fpcmade.openbsd
@@ -487,6 +496,7 @@ FPCMADE=fpcmade.w32
 ZIPSUFFIX=w32
 endif
 ifeq ($(OS_TARGET),os2)
+BATCHEXT=.cmd
 AOUTEXT=.out
 STATICLIBPREFIX=
 SHAREDLIBEXT=.dll
@@ -495,6 +505,7 @@ ZIPSUFFIX=os2
 ECHO=echo
 endif
 ifeq ($(OS_TARGET),emx)
+BATCHEXT=.cmd
 AOUTEXT=.out
 STATICLIBPREFIX=
 SHAREDLIBEXT=.dll
@@ -512,16 +523,19 @@ EXEEXT=.ttp
 FPCMADE=fpcmade.ata
 endif
 ifeq ($(OS_TARGET),beos)
+BATCHEXT=.sh
 EXEEXT=
 FPCMADE=fpcmade.be
 ZIPSUFFIX=be
 endif
 ifeq ($(OS_TARGET),sunos)
+BATCHEXT=.sh
 EXEEXT=
 FPCMADE=fpcmade.sun
 ZIPSUFFIX=sun
 endif
 ifeq ($(OS_TARGET),qnx)
+BATCHEXT=.sh
 EXEEXT=
 FPCMADE=fpcmade.qnx
 ZIPSUFFIX=qnx
@@ -533,10 +547,14 @@ FPCMADE=fpcmade.nw
 ZIPSUFFIX=nw
 endif
 ifeq ($(OS_TARGET),macos)
+BATCHEXT=
 EXEEXT=
-FPCMADE=fpcmade.mcc
+FPCMADE=fpcmade.macos
+ZIPSUFFIX=macos
+DEBUGSYMEXT=.xcoff
 endif
 ifeq ($(OS_TARGET),darwin)
+BATCHEXT=.sh
 EXEEXT=
 HASSHAREDLIB=1
 FPCMADE=fpcmade.darwin
@@ -565,24 +583,28 @@ FPCMADE=fpcmade.dos
 ZIPSUFFIX=watcom
 endif
 ifeq ($(OS_TARGET),linux)
+BATCHEXT=.sh
 EXEEXT=
 HASSHAREDLIB=1
 FPCMADE=fpcmade.lnx
 ZIPSUFFIX=linux
 endif
 ifeq ($(OS_TARGET),freebsd)
+BATCHEXT=.sh
 EXEEXT=
 HASSHAREDLIB=1
 FPCMADE=fpcmade.freebsd
 ZIPSUFFIX=freebsd
 endif
 ifeq ($(OS_TARGET),netbsd)
+BATCHEXT=.sh
 EXEEXT=
 HASSHAREDLIB=1
 FPCMADE=fpcmade.netbsd
 ZIPSUFFIX=netbsd
 endif
 ifeq ($(OS_TARGET),openbsd)
+BATCHEXT=.sh
 EXEEXT=
 HASSHAREDLIB=1
 FPCMADE=fpcmade.openbsd
@@ -599,6 +621,7 @@ FPCMADE=fpcmade.w32
 ZIPSUFFIX=w32
 endif
 ifeq ($(OS_TARGET),os2)
+BATCHEXT=.cmd
 PPUEXT=.ppo
 ASMEXT=.so2
 OEXT=.oo2
@@ -631,6 +654,7 @@ EXEEXT=.ttp
 FPCMADE=fpcmade.ata
 endif
 ifeq ($(OS_TARGET),beos)
+BATCHEXT=.sh
 PPUEXT=.ppu
 ASMEXT=.s
 OEXT=.o
@@ -641,6 +665,7 @@ FPCMADE=fpcmade.be
 ZIPSUFFIX=be
 endif
 ifeq ($(OS_TARGET),sunos)
+BATCHEXT=.sh
 PPUEXT=.ppu
 ASMEXT=.s
 OEXT=.o
@@ -651,6 +676,7 @@ FPCMADE=fpcmade.sun
 ZIPSUFFIX=sun
 endif
 ifeq ($(OS_TARGET),qnx)
+BATCHEXT=.sh
 PPUEXT=.ppu
 ASMEXT=.s
 OEXT=.o
@@ -673,13 +699,15 @@ ZIPSUFFIX=nw
 EXEEXT=.nlm
 endif
 ifeq ($(OS_TARGET),macos)
+BATCHEXT=
 PPUEXT=.ppu
 ASMEXT=.s
 OEXT=.o
 SMARTEXT=.sl
 STATICLIBEXT=.a
 EXEEXT=
-FPCMADE=fpcmade.mcc
+DEBUGSYMEXT=.xcoff
+FPCMADE=fpcmade.macos
 endif
 endif
 ifndef ECHO
@@ -687,7 +715,7 @@ ECHO:=$(strip $(wildcard $(addsuffix /gecho$(SRCEXEEXT),$(SEARCHPATH))))
 ifeq ($(ECHO),)
 ECHO:=$(strip $(wildcard $(addsuffix /echo$(SRCEXEEXT),$(SEARCHPATH))))
 ifeq ($(ECHO),)
-ECHO=
+ECHO= __missing_command__
 else
 ECHO:=$(firstword $(ECHO))
 endif
@@ -701,7 +729,7 @@ DATE:=$(strip $(wildcard $(addsuffix /gdate$(SRCEXEEXT),$(SEARCHPATH))))
 ifeq ($(DATE),)
 DATE:=$(strip $(wildcard $(addsuffix /date$(SRCEXEEXT),$(SEARCHPATH))))
 ifeq ($(DATE),)
-DATE=
+DATE= __missing_command__
 else
 DATE:=$(firstword $(DATE))
 endif
@@ -715,7 +743,7 @@ GINSTALL:=$(strip $(wildcard $(addsuffix /ginstall$(SRCEXEEXT),$(SEARCHPATH))))
 ifeq ($(GINSTALL),)
 GINSTALL:=$(strip $(wildcard $(addsuffix /install$(SRCEXEEXT),$(SEARCHPATH))))
 ifeq ($(GINSTALL),)
-GINSTALL=
+GINSTALL= __missing_command__
 else
 GINSTALL:=$(firstword $(GINSTALL))
 endif
@@ -727,7 +755,7 @@ export GINSTALL
 ifndef CPPROG
 CPPROG:=$(strip $(wildcard $(addsuffix /cp$(SRCEXEEXT),$(SEARCHPATH))))
 ifeq ($(CPPROG),)
-CPPROG=
+CPPROG= __missing_command__
 else
 CPPROG:=$(firstword $(CPPROG))
 endif
@@ -736,7 +764,7 @@ export CPPROG
 ifndef RMPROG
 RMPROG:=$(strip $(wildcard $(addsuffix /rm$(SRCEXEEXT),$(SEARCHPATH))))
 ifeq ($(RMPROG),)
-RMPROG=
+RMPROG= __missing_command__
 else
 RMPROG:=$(firstword $(RMPROG))
 endif
@@ -745,7 +773,7 @@ export RMPROG
 ifndef MVPROG
 MVPROG:=$(strip $(wildcard $(addsuffix /mv$(SRCEXEEXT),$(SEARCHPATH))))
 ifeq ($(MVPROG),)
-MVPROG=
+MVPROG= __missing_command__
 else
 MVPROG:=$(firstword $(MVPROG))
 endif
@@ -794,7 +822,7 @@ export ECHOREDIR COPY COPYTREE MOVE DEL DELTREE INSTALL INSTALLEXE MKDIR
 ifndef PPUMOVE
 PPUMOVE:=$(strip $(wildcard $(addsuffix /ppumove$(SRCEXEEXT),$(SEARCHPATH))))
 ifeq ($(PPUMOVE),)
-PPUMOVE=
+PPUMOVE= __missing_command__
 else
 PPUMOVE:=$(firstword $(PPUMOVE))
 endif
@@ -803,7 +831,7 @@ export PPUMOVE
 ifndef FPCMAKE
 FPCMAKE:=$(strip $(wildcard $(addsuffix /fpcmake$(SRCEXEEXT),$(SEARCHPATH))))
 ifeq ($(FPCMAKE),)
-FPCMAKE=
+FPCMAKE= __missing_command__
 else
 FPCMAKE:=$(firstword $(FPCMAKE))
 endif
@@ -812,7 +840,7 @@ export FPCMAKE
 ifndef ZIPPROG
 ZIPPROG:=$(strip $(wildcard $(addsuffix /zip$(SRCEXEEXT),$(SEARCHPATH))))
 ifeq ($(ZIPPROG),)
-ZIPPROG=
+ZIPPROG= __missing_command__
 else
 ZIPPROG:=$(firstword $(ZIPPROG))
 endif
@@ -821,7 +849,7 @@ export ZIPPROG
 ifndef TARPROG
 TARPROG:=$(strip $(wildcard $(addsuffix /tar$(SRCEXEEXT),$(SEARCHPATH))))
 ifeq ($(TARPROG),)
-TARPROG=
+TARPROG= __missing_command__
 else
 TARPROG:=$(firstword $(TARPROG))
 endif
@@ -833,9 +861,11 @@ ARNAME=$(BINUTILSPREFIX)ar
 RCNAME=$(BINUTILSPREFIX)rc
 ifneq ($(findstring 1.0.,$(FPC_VERSION)),)
 ifeq ($(OS_TARGET),win32)
-ASNAME=as
-LDNAME=ld
-ARNAME=ar
+ifeq ($(CROSSBINDIR),)
+ASNAME=asw
+LDNAME=ldw
+ARNAME=arw
+endif
 endif
 endif
 ifndef ASPROG
@@ -870,7 +900,7 @@ AS=$(ASPROG)
 LD=$(LDPROG)
 RC=$(RCPROG)
 AR=$(ARPROG)
-PPAS=ppas$(BATCHEXT)
+PPAS=ppas$(SRCBATCHEXT)
 ifdef inUnix
 LDCONFIG=ldconfig
 else
@@ -1281,8 +1311,12 @@ ifdef RELEASE
 ifeq ($(CPU_TARGET),i386)
 FPCCPUOPT:=-OG2p3
 else
+ifeq ($(CPU_TARGET),powerpc)
+FPCCPUOPT:=-O1
+else
 FPCCPUOPT:=
 endif
+endif
 override FPCOPT+=-Xs $(FPCCPUOPT) -n
 override FPCOPTDEF+=RELEASE
 endif
@@ -1495,6 +1529,9 @@ override CLEANPPUFILES+=$(addsuffix $(PPUEXT),$(CLEAN_UNITS))
 endif
 ifdef 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 CLEANPPULINKFILES:=$(wildcard $(addprefix $(UNITTARGETDIRPREFIX),$(CLEANPPULINKFILES)))
 endif
@@ -1518,6 +1555,7 @@ ifdef LIB_NAME
 	-$(DEL) $(LIB_NAME) $(LIB_FULLNAME)
 endif
 	-$(DEL) $(FPCMADE) Package.fpc $(PPAS) script.res link.res $(FPCEXTFILE) $(REDIRFILE)
+	-$(DEL) *$(ASMEXT) *_ppas$(BATCHEXT)
 fpc_distclean: clean
 ifdef COMPILER_UNITTARGETDIR
 TARGETDIRCLEAN=fpc_clean
@@ -1529,9 +1567,13 @@ endif
 	-$(DEL) *$(OEXT) *$(PPUEXT) *$(RSTEXT) *$(ASMEXT) *$(STATICLIBEXT) *$(SHAREDLIBEXT) *$(PPLEXT)
 	-$(DELTREE) *$(SMARTEXT)
 	-$(DEL) $(FPCMADE) Package.fpc $(PPAS) script.res link.res $(FPCEXTFILE) $(REDIRFILE)
+	-$(DEL) *_ppas$(BATCHEXT)
 ifdef AOUTEXT
 	-$(DEL) *$(AOUTEXT)
 endif
+ifdef DEBUGSYMEXT
+	-$(DEL) *$(DEBUGSYMEXT)
+endif
 .PHONY: fpc_baseinfo
 override INFORULES+=fpc_baseinfo
 fpc_baseinfo:

+ 113 - 71
packages/extra/gtk/examples/tutorial/Makefile

@@ -1,15 +1,24 @@
 #
-# Don't edit, this file is generated by FPCMake Version 1.1 [2004/02/22]
+# Don't edit, this file is generated by FPCMake Version 1.1 [2004/04/21]
 #
 default: all
 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:=$(subst \,/,$(PATH))
+ifneq ($(findstring darwin,$(OSTYPE)),)
+inUnix=1 #darwin
+SEARCHPATH:=$(filter-out .,$(subst :, ,$(PATH)))
+else
 ifeq ($(findstring ;,$(PATH)),)
 inUnix=1
 SEARCHPATH:=$(filter-out .,$(subst :, ,$(PATH)))
 else
 SEARCHPATH:=$(subst ;, ,$(PATH))
 endif
+endif
 SEARCHPATH+=$(patsubst %/,%,$(subst \,/,$(dir $(MAKE))))
 PWD:=$(strip $(wildcard $(addsuffix /pwd.exe,$(SEARCHPATH))))
 ifeq ($(PWD),)
@@ -37,22 +46,13 @@ ifneq ($(findstring cygdrive,$(PATH)),)
 inCygWin=1
 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
-BATCHEXT=.sh
+SRCBATCHEXT=.sh
 else
 ifdef inOS2
-BATCHEXT=.cmd
+SRCBATCHEXT=.cmd
 else
-BATCHEXT=.bat
+SRCBATCHEXT=.bat
 endif
 endif
 ifdef inUnix
@@ -155,6 +155,12 @@ ifeq ($(findstring $(OS_TARGET),$(MAKEFILETARGETS)),)
 $(error The Makefile doesn't support target $(OS_TARGET), please run fpcmake first)
 endif
 endif
+ifneq ($(findstring $(OS_TARGET),$(BSDs)),)
+BSDhier=1
+endif
+ifeq ($(OS_TARGET),linux)
+linuxHier=1
+endif
 export OS_TARGET OS_SOURCE CPU_TARGET CPU_SOURCE FULL_TARGET FULL_SOURCE CROSSCOMPILE
 ifdef FPCDIR
 override FPCDIR:=$(subst \,/,$(FPCDIR))
@@ -215,42 +221,12 @@ 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
-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
 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
 ifndef INSTALL_PREFIX
@@ -259,7 +235,7 @@ INSTALL_PREFIX=$(PREFIX)
 endif
 endif
 ifndef INSTALL_PREFIX
-ifdef UNIXINSTALLDIR
+ifdef UNIXHier
 INSTALL_PREFIX=/usr/local
 else
 ifdef INSTALL_FPCPACKAGE
@@ -278,7 +254,7 @@ DIST_DESTDIR:=$(BASEDIR)
 endif
 export DIST_DESTDIR
 ifndef INSTALL_BASEDIR
-ifdef UNIXINSTALLDIR
+ifdef UNIXHier
 ifdef INSTALL_FPCPACKAGE
 INSTALL_BASEDIR:=$(INSTALL_PREFIX)/lib/fpc/$(FPC_VERSION)
 else
@@ -289,7 +265,7 @@ INSTALL_BASEDIR:=$(INSTALL_PREFIX)
 endif
 endif
 ifndef INSTALL_BINDIR
-ifdef UNIXINSTALLDIR
+ifdef UNIXHier
 ifdef CROSSCOMPILE
 INSTALL_BINDIR:=$(INSTALL_BASEDIR)/cross/$(FULL_TARGET)/bin
 else
@@ -319,19 +295,23 @@ endif
 endif
 endif
 ifndef INSTALL_LIBDIR
-ifdef UNIXINSTALLDIR
+ifdef UNIXHier
 INSTALL_LIBDIR:=$(INSTALL_PREFIX)/lib
 else
 INSTALL_LIBDIR:=$(INSTALL_UNITDIR)
 endif
 endif
 ifndef INSTALL_SOURCEDIR
-ifdef UNIXINSTALLDIR
+ifdef UNIXHier
 ifdef BSDhier
 SRCPREFIXDIR=share/src
 else
+ifdef linuxHier
+SRCPREFIXDIR=share/src
+else
 SRCPREFIXDIR=src
 endif
+endif
 ifdef INSTALL_FPCPACKAGE
 ifdef INSTALL_FPCSUBDIR
 INSTALL_SOURCEDIR:=$(INSTALL_PREFIX)/$(SRCPREFIXDIR)/fpc-$(FPC_VERSION)/$(INSTALL_FPCSUBDIR)/$(PACKAGE_NAME)
@@ -354,12 +334,16 @@ endif
 endif
 endif
 ifndef INSTALL_DOCDIR
-ifdef UNIXINSTALLDIR
+ifdef UNIXHier
 ifdef BSDhier
 DOCPREFIXDIR=share/doc
 else
+ifdef linuxHier
+DOCPREFIXDIR=share/doc
+else
 DOCPREFIXDIR=doc
 endif
+endif
 ifdef INSTALL_FPCPACKAGE
 INSTALL_DOCDIR:=$(INSTALL_PREFIX)/$(DOCPREFIXDIR)/fpc-$(FPC_VERSION)/$(PACKAGE_NAME)
 else
@@ -374,20 +358,28 @@ endif
 endif
 endif
 ifndef INSTALL_EXAMPLEDIR
-ifdef UNIXINSTALLDIR
+ifdef UNIXHier
 ifdef INSTALL_FPCPACKAGE
 ifdef BSDhier
 INSTALL_EXAMPLEDIR:=$(INSTALL_PREFIX)/share/examples/fpc-$(FPC_VERSION)/$(PACKAGE_NAME)
 else
+ifdef linuxHier
+INSTALL_EXAMPLEDIR:=$(INSTALL_DOCDIR)/examples/fpc-$(FPC_VERSION)/$(PACKAGE_NAME)
+else
 INSTALL_EXAMPLEDIR:=$(INSTALL_PREFIX)/doc/fpc-$(FPC_VERSION)/examples/$(PACKAGE_NAME)
 endif
+endif
 else
 ifdef BSDhier
 INSTALL_EXAMPLEDIR:=$(INSTALL_PREFIX)/share/examples/$(PACKAGE_NAME)-$(PACKAGE_VERSION)
 else
+ifdef linuxHier
+INSTALL_EXAMPLEDIR:=$(INSTALL_DOCDIR)/examples/$(PACKAGE_NAME)-$(PACKAGE_VERSION)
+else
 INSTALL_EXAMPLEDIR:=$(INSTALL_PREFIX)/doc/$(PACKAGE_NAME)-$(PACKAGE_VERSION)
 endif
 endif
+endif
 else
 ifdef INSTALL_FPCPACKAGE
 INSTALL_EXAMPLEDIR:=$(INSTALL_BASEDIR)/examples/$(PACKAGE_NAME)
@@ -411,7 +403,19 @@ CROSSBINDIR=
 endif
 ifeq ($(OS_SOURCE),linux)
 ifndef GCCLIBDIR
-GCCLIBDIR:=$(shell dirname `gcc -print-libgcc-file-name`)
+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
 ifndef OTHERLIBDIR
 OTHERLIBDIR:=$(shell grep -v "^\#" /etc/ld.so.conf | awk '{ ORS=" "; print $1 }')
@@ -423,6 +427,7 @@ OTHERLIBDIR+=/usr/pkg/lib
 endif
 export GCCLIBDIR OTHERLIB
 endif
+BATCHEXT=.bat
 LOADEREXT=.as
 EXEEXT=.exe
 PPLEXT=.ppl
@@ -455,24 +460,28 @@ ASMEXT=.asm
 SHAREDLIBEXT=.dll
 endif
 ifeq ($(OS_TARGET),linux)
+BATCHEXT=.sh
 EXEEXT=
 HASSHAREDLIB=1
 FPCMADE=fpcmade.lnx
 ZIPSUFFIX=linux
 endif
 ifeq ($(OS_TARGET),freebsd)
+BATCHEXT=.sh
 EXEEXT=
 HASSHAREDLIB=1
 FPCMADE=fpcmade.freebsd
 ZIPSUFFIX=freebsd
 endif
 ifeq ($(OS_TARGET),netbsd)
+BATCHEXT=.sh
 EXEEXT=
 HASSHAREDLIB=1
 FPCMADE=fpcmade.netbsd
 ZIPSUFFIX=netbsd
 endif
 ifeq ($(OS_TARGET),openbsd)
+BATCHEXT=.sh
 EXEEXT=
 HASSHAREDLIB=1
 FPCMADE=fpcmade.openbsd
@@ -484,6 +493,7 @@ FPCMADE=fpcmade.w32
 ZIPSUFFIX=w32
 endif
 ifeq ($(OS_TARGET),os2)
+BATCHEXT=.cmd
 AOUTEXT=.out
 STATICLIBPREFIX=
 SHAREDLIBEXT=.dll
@@ -492,6 +502,7 @@ ZIPSUFFIX=os2
 ECHO=echo
 endif
 ifeq ($(OS_TARGET),emx)
+BATCHEXT=.cmd
 AOUTEXT=.out
 STATICLIBPREFIX=
 SHAREDLIBEXT=.dll
@@ -509,16 +520,19 @@ EXEEXT=.ttp
 FPCMADE=fpcmade.ata
 endif
 ifeq ($(OS_TARGET),beos)
+BATCHEXT=.sh
 EXEEXT=
 FPCMADE=fpcmade.be
 ZIPSUFFIX=be
 endif
 ifeq ($(OS_TARGET),sunos)
+BATCHEXT=.sh
 EXEEXT=
 FPCMADE=fpcmade.sun
 ZIPSUFFIX=sun
 endif
 ifeq ($(OS_TARGET),qnx)
+BATCHEXT=.sh
 EXEEXT=
 FPCMADE=fpcmade.qnx
 ZIPSUFFIX=qnx
@@ -530,10 +544,14 @@ FPCMADE=fpcmade.nw
 ZIPSUFFIX=nw
 endif
 ifeq ($(OS_TARGET),macos)
+BATCHEXT=
 EXEEXT=
-FPCMADE=fpcmade.mcc
+FPCMADE=fpcmade.macos
+ZIPSUFFIX=macos
+DEBUGSYMEXT=.xcoff
 endif
 ifeq ($(OS_TARGET),darwin)
+BATCHEXT=.sh
 EXEEXT=
 HASSHAREDLIB=1
 FPCMADE=fpcmade.darwin
@@ -562,24 +580,28 @@ FPCMADE=fpcmade.dos
 ZIPSUFFIX=watcom
 endif
 ifeq ($(OS_TARGET),linux)
+BATCHEXT=.sh
 EXEEXT=
 HASSHAREDLIB=1
 FPCMADE=fpcmade.lnx
 ZIPSUFFIX=linux
 endif
 ifeq ($(OS_TARGET),freebsd)
+BATCHEXT=.sh
 EXEEXT=
 HASSHAREDLIB=1
 FPCMADE=fpcmade.freebsd
 ZIPSUFFIX=freebsd
 endif
 ifeq ($(OS_TARGET),netbsd)
+BATCHEXT=.sh
 EXEEXT=
 HASSHAREDLIB=1
 FPCMADE=fpcmade.netbsd
 ZIPSUFFIX=netbsd
 endif
 ifeq ($(OS_TARGET),openbsd)
+BATCHEXT=.sh
 EXEEXT=
 HASSHAREDLIB=1
 FPCMADE=fpcmade.openbsd
@@ -596,6 +618,7 @@ FPCMADE=fpcmade.w32
 ZIPSUFFIX=w32
 endif
 ifeq ($(OS_TARGET),os2)
+BATCHEXT=.cmd
 PPUEXT=.ppo
 ASMEXT=.so2
 OEXT=.oo2
@@ -628,6 +651,7 @@ EXEEXT=.ttp
 FPCMADE=fpcmade.ata
 endif
 ifeq ($(OS_TARGET),beos)
+BATCHEXT=.sh
 PPUEXT=.ppu
 ASMEXT=.s
 OEXT=.o
@@ -638,6 +662,7 @@ FPCMADE=fpcmade.be
 ZIPSUFFIX=be
 endif
 ifeq ($(OS_TARGET),sunos)
+BATCHEXT=.sh
 PPUEXT=.ppu
 ASMEXT=.s
 OEXT=.o
@@ -648,6 +673,7 @@ FPCMADE=fpcmade.sun
 ZIPSUFFIX=sun
 endif
 ifeq ($(OS_TARGET),qnx)
+BATCHEXT=.sh
 PPUEXT=.ppu
 ASMEXT=.s
 OEXT=.o
@@ -670,13 +696,15 @@ ZIPSUFFIX=nw
 EXEEXT=.nlm
 endif
 ifeq ($(OS_TARGET),macos)
+BATCHEXT=
 PPUEXT=.ppu
 ASMEXT=.s
 OEXT=.o
 SMARTEXT=.sl
 STATICLIBEXT=.a
 EXEEXT=
-FPCMADE=fpcmade.mcc
+DEBUGSYMEXT=.xcoff
+FPCMADE=fpcmade.macos
 endif
 endif
 ifndef ECHO
@@ -684,7 +712,7 @@ ECHO:=$(strip $(wildcard $(addsuffix /gecho$(SRCEXEEXT),$(SEARCHPATH))))
 ifeq ($(ECHO),)
 ECHO:=$(strip $(wildcard $(addsuffix /echo$(SRCEXEEXT),$(SEARCHPATH))))
 ifeq ($(ECHO),)
-ECHO=
+ECHO= __missing_command__
 else
 ECHO:=$(firstword $(ECHO))
 endif
@@ -698,7 +726,7 @@ DATE:=$(strip $(wildcard $(addsuffix /gdate$(SRCEXEEXT),$(SEARCHPATH))))
 ifeq ($(DATE),)
 DATE:=$(strip $(wildcard $(addsuffix /date$(SRCEXEEXT),$(SEARCHPATH))))
 ifeq ($(DATE),)
-DATE=
+DATE= __missing_command__
 else
 DATE:=$(firstword $(DATE))
 endif
@@ -712,7 +740,7 @@ GINSTALL:=$(strip $(wildcard $(addsuffix /ginstall$(SRCEXEEXT),$(SEARCHPATH))))
 ifeq ($(GINSTALL),)
 GINSTALL:=$(strip $(wildcard $(addsuffix /install$(SRCEXEEXT),$(SEARCHPATH))))
 ifeq ($(GINSTALL),)
-GINSTALL=
+GINSTALL= __missing_command__
 else
 GINSTALL:=$(firstword $(GINSTALL))
 endif
@@ -724,7 +752,7 @@ export GINSTALL
 ifndef CPPROG
 CPPROG:=$(strip $(wildcard $(addsuffix /cp$(SRCEXEEXT),$(SEARCHPATH))))
 ifeq ($(CPPROG),)
-CPPROG=
+CPPROG= __missing_command__
 else
 CPPROG:=$(firstword $(CPPROG))
 endif
@@ -733,7 +761,7 @@ export CPPROG
 ifndef RMPROG
 RMPROG:=$(strip $(wildcard $(addsuffix /rm$(SRCEXEEXT),$(SEARCHPATH))))
 ifeq ($(RMPROG),)
-RMPROG=
+RMPROG= __missing_command__
 else
 RMPROG:=$(firstword $(RMPROG))
 endif
@@ -742,7 +770,7 @@ export RMPROG
 ifndef MVPROG
 MVPROG:=$(strip $(wildcard $(addsuffix /mv$(SRCEXEEXT),$(SEARCHPATH))))
 ifeq ($(MVPROG),)
-MVPROG=
+MVPROG= __missing_command__
 else
 MVPROG:=$(firstword $(MVPROG))
 endif
@@ -791,7 +819,7 @@ export ECHOREDIR COPY COPYTREE MOVE DEL DELTREE INSTALL INSTALLEXE MKDIR
 ifndef PPUMOVE
 PPUMOVE:=$(strip $(wildcard $(addsuffix /ppumove$(SRCEXEEXT),$(SEARCHPATH))))
 ifeq ($(PPUMOVE),)
-PPUMOVE=
+PPUMOVE= __missing_command__
 else
 PPUMOVE:=$(firstword $(PPUMOVE))
 endif
@@ -800,7 +828,7 @@ export PPUMOVE
 ifndef FPCMAKE
 FPCMAKE:=$(strip $(wildcard $(addsuffix /fpcmake$(SRCEXEEXT),$(SEARCHPATH))))
 ifeq ($(FPCMAKE),)
-FPCMAKE=
+FPCMAKE= __missing_command__
 else
 FPCMAKE:=$(firstword $(FPCMAKE))
 endif
@@ -809,7 +837,7 @@ export FPCMAKE
 ifndef ZIPPROG
 ZIPPROG:=$(strip $(wildcard $(addsuffix /zip$(SRCEXEEXT),$(SEARCHPATH))))
 ifeq ($(ZIPPROG),)
-ZIPPROG=
+ZIPPROG= __missing_command__
 else
 ZIPPROG:=$(firstword $(ZIPPROG))
 endif
@@ -818,7 +846,7 @@ export ZIPPROG
 ifndef TARPROG
 TARPROG:=$(strip $(wildcard $(addsuffix /tar$(SRCEXEEXT),$(SEARCHPATH))))
 ifeq ($(TARPROG),)
-TARPROG=
+TARPROG= __missing_command__
 else
 TARPROG:=$(firstword $(TARPROG))
 endif
@@ -830,9 +858,11 @@ ARNAME=$(BINUTILSPREFIX)ar
 RCNAME=$(BINUTILSPREFIX)rc
 ifneq ($(findstring 1.0.,$(FPC_VERSION)),)
 ifeq ($(OS_TARGET),win32)
-ASNAME=as
-LDNAME=ld
-ARNAME=ar
+ifeq ($(CROSSBINDIR),)
+ASNAME=asw
+LDNAME=ldw
+ARNAME=arw
+endif
 endif
 endif
 ifndef ASPROG
@@ -867,7 +897,7 @@ AS=$(ASPROG)
 LD=$(LDPROG)
 RC=$(RCPROG)
 AR=$(ARPROG)
-PPAS=ppas$(BATCHEXT)
+PPAS=ppas$(SRCBATCHEXT)
 ifdef inUnix
 LDCONFIG=ldconfig
 else
@@ -1278,8 +1308,12 @@ ifdef RELEASE
 ifeq ($(CPU_TARGET),i386)
 FPCCPUOPT:=-OG2p3
 else
+ifeq ($(CPU_TARGET),powerpc)
+FPCCPUOPT:=-O1
+else
 FPCCPUOPT:=
 endif
+endif
 override FPCOPT+=-Xs $(FPCCPUOPT) -n
 override FPCOPTDEF+=RELEASE
 endif
@@ -1379,6 +1413,9 @@ override CLEANPPUFILES+=$(addsuffix $(PPUEXT),$(CLEAN_UNITS))
 endif
 ifdef 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 CLEANPPULINKFILES:=$(wildcard $(addprefix $(UNITTARGETDIRPREFIX),$(CLEANPPULINKFILES)))
 endif
@@ -1402,6 +1439,7 @@ ifdef LIB_NAME
 	-$(DEL) $(LIB_NAME) $(LIB_FULLNAME)
 endif
 	-$(DEL) $(FPCMADE) Package.fpc $(PPAS) script.res link.res $(FPCEXTFILE) $(REDIRFILE)
+	-$(DEL) *$(ASMEXT) *_ppas$(BATCHEXT)
 fpc_distclean: clean
 ifdef COMPILER_UNITTARGETDIR
 TARGETDIRCLEAN=fpc_clean
@@ -1413,9 +1451,13 @@ endif
 	-$(DEL) *$(OEXT) *$(PPUEXT) *$(RSTEXT) *$(ASMEXT) *$(STATICLIBEXT) *$(SHAREDLIBEXT) *$(PPLEXT)
 	-$(DELTREE) *$(SMARTEXT)
 	-$(DEL) $(FPCMADE) Package.fpc $(PPAS) script.res link.res $(FPCEXTFILE) $(REDIRFILE)
+	-$(DEL) *_ppas$(BATCHEXT)
 ifdef AOUTEXT
 	-$(DEL) *$(AOUTEXT)
 endif
+ifdef DEBUGSYMEXT
+	-$(DEL) *$(DEBUGSYMEXT)
+endif
 .PHONY: fpc_baseinfo
 override INFORULES+=fpc_baseinfo
 fpc_baseinfo:

+ 113 - 71
packages/extra/gtk/gtkgl/Makefile

@@ -1,15 +1,24 @@
 #
-# Don't edit, this file is generated by FPCMake Version 1.1 [2004/02/22]
+# Don't edit, this file is generated by FPCMake Version 1.1 [2004/04/21]
 #
 default: all
 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:=$(subst \,/,$(PATH))
+ifneq ($(findstring darwin,$(OSTYPE)),)
+inUnix=1 #darwin
+SEARCHPATH:=$(filter-out .,$(subst :, ,$(PATH)))
+else
 ifeq ($(findstring ;,$(PATH)),)
 inUnix=1
 SEARCHPATH:=$(filter-out .,$(subst :, ,$(PATH)))
 else
 SEARCHPATH:=$(subst ;, ,$(PATH))
 endif
+endif
 SEARCHPATH+=$(patsubst %/,%,$(subst \,/,$(dir $(MAKE))))
 PWD:=$(strip $(wildcard $(addsuffix /pwd.exe,$(SEARCHPATH))))
 ifeq ($(PWD),)
@@ -37,22 +46,13 @@ ifneq ($(findstring cygdrive,$(PATH)),)
 inCygWin=1
 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
-BATCHEXT=.sh
+SRCBATCHEXT=.sh
 else
 ifdef inOS2
-BATCHEXT=.cmd
+SRCBATCHEXT=.cmd
 else
-BATCHEXT=.bat
+SRCBATCHEXT=.bat
 endif
 endif
 ifdef inUnix
@@ -155,6 +155,12 @@ ifeq ($(findstring $(OS_TARGET),$(MAKEFILETARGETS)),)
 $(error The Makefile doesn't support target $(OS_TARGET), please run fpcmake first)
 endif
 endif
+ifneq ($(findstring $(OS_TARGET),$(BSDs)),)
+BSDhier=1
+endif
+ifeq ($(OS_TARGET),linux)
+linuxHier=1
+endif
 export OS_TARGET OS_SOURCE CPU_TARGET CPU_SOURCE FULL_TARGET FULL_SOURCE CROSSCOMPILE
 ifdef FPCDIR
 override FPCDIR:=$(subst \,/,$(FPCDIR))
@@ -219,42 +225,12 @@ 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
-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
 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
 ifndef INSTALL_PREFIX
@@ -263,7 +239,7 @@ INSTALL_PREFIX=$(PREFIX)
 endif
 endif
 ifndef INSTALL_PREFIX
-ifdef UNIXINSTALLDIR
+ifdef UNIXHier
 INSTALL_PREFIX=/usr/local
 else
 ifdef INSTALL_FPCPACKAGE
@@ -282,7 +258,7 @@ DIST_DESTDIR:=$(BASEDIR)
 endif
 export DIST_DESTDIR
 ifndef INSTALL_BASEDIR
-ifdef UNIXINSTALLDIR
+ifdef UNIXHier
 ifdef INSTALL_FPCPACKAGE
 INSTALL_BASEDIR:=$(INSTALL_PREFIX)/lib/fpc/$(FPC_VERSION)
 else
@@ -293,7 +269,7 @@ INSTALL_BASEDIR:=$(INSTALL_PREFIX)
 endif
 endif
 ifndef INSTALL_BINDIR
-ifdef UNIXINSTALLDIR
+ifdef UNIXHier
 ifdef CROSSCOMPILE
 INSTALL_BINDIR:=$(INSTALL_BASEDIR)/cross/$(FULL_TARGET)/bin
 else
@@ -323,19 +299,23 @@ endif
 endif
 endif
 ifndef INSTALL_LIBDIR
-ifdef UNIXINSTALLDIR
+ifdef UNIXHier
 INSTALL_LIBDIR:=$(INSTALL_PREFIX)/lib
 else
 INSTALL_LIBDIR:=$(INSTALL_UNITDIR)
 endif
 endif
 ifndef INSTALL_SOURCEDIR
-ifdef UNIXINSTALLDIR
+ifdef UNIXHier
 ifdef BSDhier
 SRCPREFIXDIR=share/src
 else
+ifdef linuxHier
+SRCPREFIXDIR=share/src
+else
 SRCPREFIXDIR=src
 endif
+endif
 ifdef INSTALL_FPCPACKAGE
 ifdef INSTALL_FPCSUBDIR
 INSTALL_SOURCEDIR:=$(INSTALL_PREFIX)/$(SRCPREFIXDIR)/fpc-$(FPC_VERSION)/$(INSTALL_FPCSUBDIR)/$(PACKAGE_NAME)
@@ -358,12 +338,16 @@ endif
 endif
 endif
 ifndef INSTALL_DOCDIR
-ifdef UNIXINSTALLDIR
+ifdef UNIXHier
 ifdef BSDhier
 DOCPREFIXDIR=share/doc
 else
+ifdef linuxHier
+DOCPREFIXDIR=share/doc
+else
 DOCPREFIXDIR=doc
 endif
+endif
 ifdef INSTALL_FPCPACKAGE
 INSTALL_DOCDIR:=$(INSTALL_PREFIX)/$(DOCPREFIXDIR)/fpc-$(FPC_VERSION)/$(PACKAGE_NAME)
 else
@@ -378,20 +362,28 @@ endif
 endif
 endif
 ifndef INSTALL_EXAMPLEDIR
-ifdef UNIXINSTALLDIR
+ifdef UNIXHier
 ifdef INSTALL_FPCPACKAGE
 ifdef BSDhier
 INSTALL_EXAMPLEDIR:=$(INSTALL_PREFIX)/share/examples/fpc-$(FPC_VERSION)/$(PACKAGE_NAME)
 else
+ifdef linuxHier
+INSTALL_EXAMPLEDIR:=$(INSTALL_DOCDIR)/examples/fpc-$(FPC_VERSION)/$(PACKAGE_NAME)
+else
 INSTALL_EXAMPLEDIR:=$(INSTALL_PREFIX)/doc/fpc-$(FPC_VERSION)/examples/$(PACKAGE_NAME)
 endif
+endif
 else
 ifdef BSDhier
 INSTALL_EXAMPLEDIR:=$(INSTALL_PREFIX)/share/examples/$(PACKAGE_NAME)-$(PACKAGE_VERSION)
 else
+ifdef linuxHier
+INSTALL_EXAMPLEDIR:=$(INSTALL_DOCDIR)/examples/$(PACKAGE_NAME)-$(PACKAGE_VERSION)
+else
 INSTALL_EXAMPLEDIR:=$(INSTALL_PREFIX)/doc/$(PACKAGE_NAME)-$(PACKAGE_VERSION)
 endif
 endif
+endif
 else
 ifdef INSTALL_FPCPACKAGE
 INSTALL_EXAMPLEDIR:=$(INSTALL_BASEDIR)/examples/$(PACKAGE_NAME)
@@ -415,7 +407,19 @@ CROSSBINDIR=
 endif
 ifeq ($(OS_SOURCE),linux)
 ifndef GCCLIBDIR
-GCCLIBDIR:=$(shell dirname `gcc -print-libgcc-file-name`)
+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
 ifndef OTHERLIBDIR
 OTHERLIBDIR:=$(shell grep -v "^\#" /etc/ld.so.conf | awk '{ ORS=" "; print $1 }')
@@ -427,6 +431,7 @@ OTHERLIBDIR+=/usr/pkg/lib
 endif
 export GCCLIBDIR OTHERLIB
 endif
+BATCHEXT=.bat
 LOADEREXT=.as
 EXEEXT=.exe
 PPLEXT=.ppl
@@ -459,24 +464,28 @@ ASMEXT=.asm
 SHAREDLIBEXT=.dll
 endif
 ifeq ($(OS_TARGET),linux)
+BATCHEXT=.sh
 EXEEXT=
 HASSHAREDLIB=1
 FPCMADE=fpcmade.lnx
 ZIPSUFFIX=linux
 endif
 ifeq ($(OS_TARGET),freebsd)
+BATCHEXT=.sh
 EXEEXT=
 HASSHAREDLIB=1
 FPCMADE=fpcmade.freebsd
 ZIPSUFFIX=freebsd
 endif
 ifeq ($(OS_TARGET),netbsd)
+BATCHEXT=.sh
 EXEEXT=
 HASSHAREDLIB=1
 FPCMADE=fpcmade.netbsd
 ZIPSUFFIX=netbsd
 endif
 ifeq ($(OS_TARGET),openbsd)
+BATCHEXT=.sh
 EXEEXT=
 HASSHAREDLIB=1
 FPCMADE=fpcmade.openbsd
@@ -488,6 +497,7 @@ FPCMADE=fpcmade.w32
 ZIPSUFFIX=w32
 endif
 ifeq ($(OS_TARGET),os2)
+BATCHEXT=.cmd
 AOUTEXT=.out
 STATICLIBPREFIX=
 SHAREDLIBEXT=.dll
@@ -496,6 +506,7 @@ ZIPSUFFIX=os2
 ECHO=echo
 endif
 ifeq ($(OS_TARGET),emx)
+BATCHEXT=.cmd
 AOUTEXT=.out
 STATICLIBPREFIX=
 SHAREDLIBEXT=.dll
@@ -513,16 +524,19 @@ EXEEXT=.ttp
 FPCMADE=fpcmade.ata
 endif
 ifeq ($(OS_TARGET),beos)
+BATCHEXT=.sh
 EXEEXT=
 FPCMADE=fpcmade.be
 ZIPSUFFIX=be
 endif
 ifeq ($(OS_TARGET),sunos)
+BATCHEXT=.sh
 EXEEXT=
 FPCMADE=fpcmade.sun
 ZIPSUFFIX=sun
 endif
 ifeq ($(OS_TARGET),qnx)
+BATCHEXT=.sh
 EXEEXT=
 FPCMADE=fpcmade.qnx
 ZIPSUFFIX=qnx
@@ -534,10 +548,14 @@ FPCMADE=fpcmade.nw
 ZIPSUFFIX=nw
 endif
 ifeq ($(OS_TARGET),macos)
+BATCHEXT=
 EXEEXT=
-FPCMADE=fpcmade.mcc
+FPCMADE=fpcmade.macos
+ZIPSUFFIX=macos
+DEBUGSYMEXT=.xcoff
 endif
 ifeq ($(OS_TARGET),darwin)
+BATCHEXT=.sh
 EXEEXT=
 HASSHAREDLIB=1
 FPCMADE=fpcmade.darwin
@@ -566,24 +584,28 @@ FPCMADE=fpcmade.dos
 ZIPSUFFIX=watcom
 endif
 ifeq ($(OS_TARGET),linux)
+BATCHEXT=.sh
 EXEEXT=
 HASSHAREDLIB=1
 FPCMADE=fpcmade.lnx
 ZIPSUFFIX=linux
 endif
 ifeq ($(OS_TARGET),freebsd)
+BATCHEXT=.sh
 EXEEXT=
 HASSHAREDLIB=1
 FPCMADE=fpcmade.freebsd
 ZIPSUFFIX=freebsd
 endif
 ifeq ($(OS_TARGET),netbsd)
+BATCHEXT=.sh
 EXEEXT=
 HASSHAREDLIB=1
 FPCMADE=fpcmade.netbsd
 ZIPSUFFIX=netbsd
 endif
 ifeq ($(OS_TARGET),openbsd)
+BATCHEXT=.sh
 EXEEXT=
 HASSHAREDLIB=1
 FPCMADE=fpcmade.openbsd
@@ -600,6 +622,7 @@ FPCMADE=fpcmade.w32
 ZIPSUFFIX=w32
 endif
 ifeq ($(OS_TARGET),os2)
+BATCHEXT=.cmd
 PPUEXT=.ppo
 ASMEXT=.so2
 OEXT=.oo2
@@ -632,6 +655,7 @@ EXEEXT=.ttp
 FPCMADE=fpcmade.ata
 endif
 ifeq ($(OS_TARGET),beos)
+BATCHEXT=.sh
 PPUEXT=.ppu
 ASMEXT=.s
 OEXT=.o
@@ -642,6 +666,7 @@ FPCMADE=fpcmade.be
 ZIPSUFFIX=be
 endif
 ifeq ($(OS_TARGET),sunos)
+BATCHEXT=.sh
 PPUEXT=.ppu
 ASMEXT=.s
 OEXT=.o
@@ -652,6 +677,7 @@ FPCMADE=fpcmade.sun
 ZIPSUFFIX=sun
 endif
 ifeq ($(OS_TARGET),qnx)
+BATCHEXT=.sh
 PPUEXT=.ppu
 ASMEXT=.s
 OEXT=.o
@@ -674,13 +700,15 @@ ZIPSUFFIX=nw
 EXEEXT=.nlm
 endif
 ifeq ($(OS_TARGET),macos)
+BATCHEXT=
 PPUEXT=.ppu
 ASMEXT=.s
 OEXT=.o
 SMARTEXT=.sl
 STATICLIBEXT=.a
 EXEEXT=
-FPCMADE=fpcmade.mcc
+DEBUGSYMEXT=.xcoff
+FPCMADE=fpcmade.macos
 endif
 endif
 ifndef ECHO
@@ -688,7 +716,7 @@ ECHO:=$(strip $(wildcard $(addsuffix /gecho$(SRCEXEEXT),$(SEARCHPATH))))
 ifeq ($(ECHO),)
 ECHO:=$(strip $(wildcard $(addsuffix /echo$(SRCEXEEXT),$(SEARCHPATH))))
 ifeq ($(ECHO),)
-ECHO=
+ECHO= __missing_command__
 else
 ECHO:=$(firstword $(ECHO))
 endif
@@ -702,7 +730,7 @@ DATE:=$(strip $(wildcard $(addsuffix /gdate$(SRCEXEEXT),$(SEARCHPATH))))
 ifeq ($(DATE),)
 DATE:=$(strip $(wildcard $(addsuffix /date$(SRCEXEEXT),$(SEARCHPATH))))
 ifeq ($(DATE),)
-DATE=
+DATE= __missing_command__
 else
 DATE:=$(firstword $(DATE))
 endif
@@ -716,7 +744,7 @@ GINSTALL:=$(strip $(wildcard $(addsuffix /ginstall$(SRCEXEEXT),$(SEARCHPATH))))
 ifeq ($(GINSTALL),)
 GINSTALL:=$(strip $(wildcard $(addsuffix /install$(SRCEXEEXT),$(SEARCHPATH))))
 ifeq ($(GINSTALL),)
-GINSTALL=
+GINSTALL= __missing_command__
 else
 GINSTALL:=$(firstword $(GINSTALL))
 endif
@@ -728,7 +756,7 @@ export GINSTALL
 ifndef CPPROG
 CPPROG:=$(strip $(wildcard $(addsuffix /cp$(SRCEXEEXT),$(SEARCHPATH))))
 ifeq ($(CPPROG),)
-CPPROG=
+CPPROG= __missing_command__
 else
 CPPROG:=$(firstword $(CPPROG))
 endif
@@ -737,7 +765,7 @@ export CPPROG
 ifndef RMPROG
 RMPROG:=$(strip $(wildcard $(addsuffix /rm$(SRCEXEEXT),$(SEARCHPATH))))
 ifeq ($(RMPROG),)
-RMPROG=
+RMPROG= __missing_command__
 else
 RMPROG:=$(firstword $(RMPROG))
 endif
@@ -746,7 +774,7 @@ export RMPROG
 ifndef MVPROG
 MVPROG:=$(strip $(wildcard $(addsuffix /mv$(SRCEXEEXT),$(SEARCHPATH))))
 ifeq ($(MVPROG),)
-MVPROG=
+MVPROG= __missing_command__
 else
 MVPROG:=$(firstword $(MVPROG))
 endif
@@ -795,7 +823,7 @@ export ECHOREDIR COPY COPYTREE MOVE DEL DELTREE INSTALL INSTALLEXE MKDIR
 ifndef PPUMOVE
 PPUMOVE:=$(strip $(wildcard $(addsuffix /ppumove$(SRCEXEEXT),$(SEARCHPATH))))
 ifeq ($(PPUMOVE),)
-PPUMOVE=
+PPUMOVE= __missing_command__
 else
 PPUMOVE:=$(firstword $(PPUMOVE))
 endif
@@ -804,7 +832,7 @@ export PPUMOVE
 ifndef FPCMAKE
 FPCMAKE:=$(strip $(wildcard $(addsuffix /fpcmake$(SRCEXEEXT),$(SEARCHPATH))))
 ifeq ($(FPCMAKE),)
-FPCMAKE=
+FPCMAKE= __missing_command__
 else
 FPCMAKE:=$(firstword $(FPCMAKE))
 endif
@@ -813,7 +841,7 @@ export FPCMAKE
 ifndef ZIPPROG
 ZIPPROG:=$(strip $(wildcard $(addsuffix /zip$(SRCEXEEXT),$(SEARCHPATH))))
 ifeq ($(ZIPPROG),)
-ZIPPROG=
+ZIPPROG= __missing_command__
 else
 ZIPPROG:=$(firstword $(ZIPPROG))
 endif
@@ -822,7 +850,7 @@ export ZIPPROG
 ifndef TARPROG
 TARPROG:=$(strip $(wildcard $(addsuffix /tar$(SRCEXEEXT),$(SEARCHPATH))))
 ifeq ($(TARPROG),)
-TARPROG=
+TARPROG= __missing_command__
 else
 TARPROG:=$(firstword $(TARPROG))
 endif
@@ -834,9 +862,11 @@ ARNAME=$(BINUTILSPREFIX)ar
 RCNAME=$(BINUTILSPREFIX)rc
 ifneq ($(findstring 1.0.,$(FPC_VERSION)),)
 ifeq ($(OS_TARGET),win32)
-ASNAME=as
-LDNAME=ld
-ARNAME=ar
+ifeq ($(CROSSBINDIR),)
+ASNAME=asw
+LDNAME=ldw
+ARNAME=arw
+endif
 endif
 endif
 ifndef ASPROG
@@ -871,7 +901,7 @@ AS=$(ASPROG)
 LD=$(LDPROG)
 RC=$(RCPROG)
 AR=$(ARPROG)
-PPAS=ppas$(BATCHEXT)
+PPAS=ppas$(SRCBATCHEXT)
 ifdef inUnix
 LDCONFIG=ldconfig
 else
@@ -1226,8 +1256,12 @@ ifdef RELEASE
 ifeq ($(CPU_TARGET),i386)
 FPCCPUOPT:=-OG2p3
 else
+ifeq ($(CPU_TARGET),powerpc)
+FPCCPUOPT:=-O1
+else
 FPCCPUOPT:=
 endif
+endif
 override FPCOPT+=-Xs $(FPCCPUOPT) -n
 override FPCOPTDEF+=RELEASE
 endif
@@ -1452,6 +1486,9 @@ override CLEANPPUFILES+=$(addsuffix $(PPUEXT),$(CLEAN_UNITS))
 endif
 ifdef 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 CLEANPPULINKFILES:=$(wildcard $(addprefix $(UNITTARGETDIRPREFIX),$(CLEANPPULINKFILES)))
 endif
@@ -1475,6 +1512,7 @@ ifdef LIB_NAME
 	-$(DEL) $(LIB_NAME) $(LIB_FULLNAME)
 endif
 	-$(DEL) $(FPCMADE) Package.fpc $(PPAS) script.res link.res $(FPCEXTFILE) $(REDIRFILE)
+	-$(DEL) *$(ASMEXT) *_ppas$(BATCHEXT)
 fpc_distclean: clean
 ifdef COMPILER_UNITTARGETDIR
 TARGETDIRCLEAN=fpc_clean
@@ -1486,9 +1524,13 @@ endif
 	-$(DEL) *$(OEXT) *$(PPUEXT) *$(RSTEXT) *$(ASMEXT) *$(STATICLIBEXT) *$(SHAREDLIBEXT) *$(PPLEXT)
 	-$(DELTREE) *$(SMARTEXT)
 	-$(DEL) $(FPCMADE) Package.fpc $(PPAS) script.res link.res $(FPCEXTFILE) $(REDIRFILE)
+	-$(DEL) *_ppas$(BATCHEXT)
 ifdef AOUTEXT
 	-$(DEL) *$(AOUTEXT)
 endif
+ifdef DEBUGSYMEXT
+	-$(DEL) *$(DEBUGSYMEXT)
+endif
 .PHONY: fpc_baseinfo
 override INFORULES+=fpc_baseinfo
 fpc_baseinfo:

+ 114 - 72
packages/extra/imlib/Makefile

@@ -1,15 +1,24 @@
 #
-# Don't edit, this file is generated by FPCMake Version 1.1 [2004/02/22]
+# Don't edit, this file is generated by FPCMake Version 1.1 [2004/04/21]
 #
 default: all
 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:=$(subst \,/,$(PATH))
+ifneq ($(findstring darwin,$(OSTYPE)),)
+inUnix=1 #darwin
+SEARCHPATH:=$(filter-out .,$(subst :, ,$(PATH)))
+else
 ifeq ($(findstring ;,$(PATH)),)
 inUnix=1
 SEARCHPATH:=$(filter-out .,$(subst :, ,$(PATH)))
 else
 SEARCHPATH:=$(subst ;, ,$(PATH))
 endif
+endif
 SEARCHPATH+=$(patsubst %/,%,$(subst \,/,$(dir $(MAKE))))
 PWD:=$(strip $(wildcard $(addsuffix /pwd.exe,$(SEARCHPATH))))
 ifeq ($(PWD),)
@@ -37,22 +46,13 @@ ifneq ($(findstring cygdrive,$(PATH)),)
 inCygWin=1
 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
-BATCHEXT=.sh
+SRCBATCHEXT=.sh
 else
 ifdef inOS2
-BATCHEXT=.cmd
+SRCBATCHEXT=.cmd
 else
-BATCHEXT=.bat
+SRCBATCHEXT=.bat
 endif
 endif
 ifdef inUnix
@@ -155,6 +155,12 @@ ifeq ($(findstring $(OS_TARGET),$(MAKEFILETARGETS)),)
 $(error The Makefile doesn't support target $(OS_TARGET), please run fpcmake first)
 endif
 endif
+ifneq ($(findstring $(OS_TARGET),$(BSDs)),)
+BSDhier=1
+endif
+ifeq ($(OS_TARGET),linux)
+linuxHier=1
+endif
 export OS_TARGET OS_SOURCE CPU_TARGET CPU_SOURCE FULL_TARGET FULL_SOURCE CROSSCOMPILE
 ifdef FPCDIR
 override FPCDIR:=$(subst \,/,$(FPCDIR))
@@ -221,42 +227,12 @@ 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
-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
 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
 ifndef INSTALL_PREFIX
@@ -265,7 +241,7 @@ INSTALL_PREFIX=$(PREFIX)
 endif
 endif
 ifndef INSTALL_PREFIX
-ifdef UNIXINSTALLDIR
+ifdef UNIXHier
 INSTALL_PREFIX=/usr/local
 else
 ifdef INSTALL_FPCPACKAGE
@@ -284,7 +260,7 @@ DIST_DESTDIR:=$(BASEDIR)
 endif
 export DIST_DESTDIR
 ifndef INSTALL_BASEDIR
-ifdef UNIXINSTALLDIR
+ifdef UNIXHier
 ifdef INSTALL_FPCPACKAGE
 INSTALL_BASEDIR:=$(INSTALL_PREFIX)/lib/fpc/$(FPC_VERSION)
 else
@@ -295,7 +271,7 @@ INSTALL_BASEDIR:=$(INSTALL_PREFIX)
 endif
 endif
 ifndef INSTALL_BINDIR
-ifdef UNIXINSTALLDIR
+ifdef UNIXHier
 ifdef CROSSCOMPILE
 INSTALL_BINDIR:=$(INSTALL_BASEDIR)/cross/$(FULL_TARGET)/bin
 else
@@ -325,19 +301,23 @@ endif
 endif
 endif
 ifndef INSTALL_LIBDIR
-ifdef UNIXINSTALLDIR
+ifdef UNIXHier
 INSTALL_LIBDIR:=$(INSTALL_PREFIX)/lib
 else
 INSTALL_LIBDIR:=$(INSTALL_UNITDIR)
 endif
 endif
 ifndef INSTALL_SOURCEDIR
-ifdef UNIXINSTALLDIR
+ifdef UNIXHier
 ifdef BSDhier
 SRCPREFIXDIR=share/src
 else
+ifdef linuxHier
+SRCPREFIXDIR=share/src
+else
 SRCPREFIXDIR=src
 endif
+endif
 ifdef INSTALL_FPCPACKAGE
 ifdef INSTALL_FPCSUBDIR
 INSTALL_SOURCEDIR:=$(INSTALL_PREFIX)/$(SRCPREFIXDIR)/fpc-$(FPC_VERSION)/$(INSTALL_FPCSUBDIR)/$(PACKAGE_NAME)
@@ -360,12 +340,16 @@ endif
 endif
 endif
 ifndef INSTALL_DOCDIR
-ifdef UNIXINSTALLDIR
+ifdef UNIXHier
 ifdef BSDhier
 DOCPREFIXDIR=share/doc
 else
+ifdef linuxHier
+DOCPREFIXDIR=share/doc
+else
 DOCPREFIXDIR=doc
 endif
+endif
 ifdef INSTALL_FPCPACKAGE
 INSTALL_DOCDIR:=$(INSTALL_PREFIX)/$(DOCPREFIXDIR)/fpc-$(FPC_VERSION)/$(PACKAGE_NAME)
 else
@@ -380,20 +364,28 @@ endif
 endif
 endif
 ifndef INSTALL_EXAMPLEDIR
-ifdef UNIXINSTALLDIR
+ifdef UNIXHier
 ifdef INSTALL_FPCPACKAGE
 ifdef BSDhier
 INSTALL_EXAMPLEDIR:=$(INSTALL_PREFIX)/share/examples/fpc-$(FPC_VERSION)/$(PACKAGE_NAME)
 else
+ifdef linuxHier
+INSTALL_EXAMPLEDIR:=$(INSTALL_DOCDIR)/examples/fpc-$(FPC_VERSION)/$(PACKAGE_NAME)
+else
 INSTALL_EXAMPLEDIR:=$(INSTALL_PREFIX)/doc/fpc-$(FPC_VERSION)/examples/$(PACKAGE_NAME)
 endif
+endif
 else
 ifdef BSDhier
 INSTALL_EXAMPLEDIR:=$(INSTALL_PREFIX)/share/examples/$(PACKAGE_NAME)-$(PACKAGE_VERSION)
 else
+ifdef linuxHier
+INSTALL_EXAMPLEDIR:=$(INSTALL_DOCDIR)/examples/$(PACKAGE_NAME)-$(PACKAGE_VERSION)
+else
 INSTALL_EXAMPLEDIR:=$(INSTALL_PREFIX)/doc/$(PACKAGE_NAME)-$(PACKAGE_VERSION)
 endif
 endif
+endif
 else
 ifdef INSTALL_FPCPACKAGE
 INSTALL_EXAMPLEDIR:=$(INSTALL_BASEDIR)/examples/$(PACKAGE_NAME)
@@ -417,7 +409,19 @@ CROSSBINDIR=
 endif
 ifeq ($(OS_SOURCE),linux)
 ifndef GCCLIBDIR
-GCCLIBDIR:=$(shell dirname `gcc -print-libgcc-file-name`)
+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
 ifndef OTHERLIBDIR
 OTHERLIBDIR:=$(shell grep -v "^\#" /etc/ld.so.conf | awk '{ ORS=" "; print $1 }')
@@ -429,6 +433,7 @@ OTHERLIBDIR+=/usr/pkg/lib
 endif
 export GCCLIBDIR OTHERLIB
 endif
+BATCHEXT=.bat
 LOADEREXT=.as
 EXEEXT=.exe
 PPLEXT=.ppl
@@ -461,24 +466,28 @@ ASMEXT=.asm
 SHAREDLIBEXT=.dll
 endif
 ifeq ($(OS_TARGET),linux)
+BATCHEXT=.sh
 EXEEXT=
 HASSHAREDLIB=1
 FPCMADE=fpcmade.lnx
 ZIPSUFFIX=linux
 endif
 ifeq ($(OS_TARGET),freebsd)
+BATCHEXT=.sh
 EXEEXT=
 HASSHAREDLIB=1
 FPCMADE=fpcmade.freebsd
 ZIPSUFFIX=freebsd
 endif
 ifeq ($(OS_TARGET),netbsd)
+BATCHEXT=.sh
 EXEEXT=
 HASSHAREDLIB=1
 FPCMADE=fpcmade.netbsd
 ZIPSUFFIX=netbsd
 endif
 ifeq ($(OS_TARGET),openbsd)
+BATCHEXT=.sh
 EXEEXT=
 HASSHAREDLIB=1
 FPCMADE=fpcmade.openbsd
@@ -490,6 +499,7 @@ FPCMADE=fpcmade.w32
 ZIPSUFFIX=w32
 endif
 ifeq ($(OS_TARGET),os2)
+BATCHEXT=.cmd
 AOUTEXT=.out
 STATICLIBPREFIX=
 SHAREDLIBEXT=.dll
@@ -498,6 +508,7 @@ ZIPSUFFIX=os2
 ECHO=echo
 endif
 ifeq ($(OS_TARGET),emx)
+BATCHEXT=.cmd
 AOUTEXT=.out
 STATICLIBPREFIX=
 SHAREDLIBEXT=.dll
@@ -515,16 +526,19 @@ EXEEXT=.ttp
 FPCMADE=fpcmade.ata
 endif
 ifeq ($(OS_TARGET),beos)
+BATCHEXT=.sh
 EXEEXT=
 FPCMADE=fpcmade.be
 ZIPSUFFIX=be
 endif
 ifeq ($(OS_TARGET),sunos)
+BATCHEXT=.sh
 EXEEXT=
 FPCMADE=fpcmade.sun
 ZIPSUFFIX=sun
 endif
 ifeq ($(OS_TARGET),qnx)
+BATCHEXT=.sh
 EXEEXT=
 FPCMADE=fpcmade.qnx
 ZIPSUFFIX=qnx
@@ -536,10 +550,14 @@ FPCMADE=fpcmade.nw
 ZIPSUFFIX=nw
 endif
 ifeq ($(OS_TARGET),macos)
+BATCHEXT=
 EXEEXT=
-FPCMADE=fpcmade.mcc
+FPCMADE=fpcmade.macos
+ZIPSUFFIX=macos
+DEBUGSYMEXT=.xcoff
 endif
 ifeq ($(OS_TARGET),darwin)
+BATCHEXT=.sh
 EXEEXT=
 HASSHAREDLIB=1
 FPCMADE=fpcmade.darwin
@@ -568,24 +586,28 @@ FPCMADE=fpcmade.dos
 ZIPSUFFIX=watcom
 endif
 ifeq ($(OS_TARGET),linux)
+BATCHEXT=.sh
 EXEEXT=
 HASSHAREDLIB=1
 FPCMADE=fpcmade.lnx
 ZIPSUFFIX=linux
 endif
 ifeq ($(OS_TARGET),freebsd)
+BATCHEXT=.sh
 EXEEXT=
 HASSHAREDLIB=1
 FPCMADE=fpcmade.freebsd
 ZIPSUFFIX=freebsd
 endif
 ifeq ($(OS_TARGET),netbsd)
+BATCHEXT=.sh
 EXEEXT=
 HASSHAREDLIB=1
 FPCMADE=fpcmade.netbsd
 ZIPSUFFIX=netbsd
 endif
 ifeq ($(OS_TARGET),openbsd)
+BATCHEXT=.sh
 EXEEXT=
 HASSHAREDLIB=1
 FPCMADE=fpcmade.openbsd
@@ -602,6 +624,7 @@ FPCMADE=fpcmade.w32
 ZIPSUFFIX=w32
 endif
 ifeq ($(OS_TARGET),os2)
+BATCHEXT=.cmd
 PPUEXT=.ppo
 ASMEXT=.so2
 OEXT=.oo2
@@ -634,6 +657,7 @@ EXEEXT=.ttp
 FPCMADE=fpcmade.ata
 endif
 ifeq ($(OS_TARGET),beos)
+BATCHEXT=.sh
 PPUEXT=.ppu
 ASMEXT=.s
 OEXT=.o
@@ -644,6 +668,7 @@ FPCMADE=fpcmade.be
 ZIPSUFFIX=be
 endif
 ifeq ($(OS_TARGET),sunos)
+BATCHEXT=.sh
 PPUEXT=.ppu
 ASMEXT=.s
 OEXT=.o
@@ -654,6 +679,7 @@ FPCMADE=fpcmade.sun
 ZIPSUFFIX=sun
 endif
 ifeq ($(OS_TARGET),qnx)
+BATCHEXT=.sh
 PPUEXT=.ppu
 ASMEXT=.s
 OEXT=.o
@@ -676,13 +702,15 @@ ZIPSUFFIX=nw
 EXEEXT=.nlm
 endif
 ifeq ($(OS_TARGET),macos)
+BATCHEXT=
 PPUEXT=.ppu
 ASMEXT=.s
 OEXT=.o
 SMARTEXT=.sl
 STATICLIBEXT=.a
 EXEEXT=
-FPCMADE=fpcmade.mcc
+DEBUGSYMEXT=.xcoff
+FPCMADE=fpcmade.macos
 endif
 endif
 ifndef ECHO
@@ -690,7 +718,7 @@ ECHO:=$(strip $(wildcard $(addsuffix /gecho$(SRCEXEEXT),$(SEARCHPATH))))
 ifeq ($(ECHO),)
 ECHO:=$(strip $(wildcard $(addsuffix /echo$(SRCEXEEXT),$(SEARCHPATH))))
 ifeq ($(ECHO),)
-ECHO=
+ECHO= __missing_command__
 else
 ECHO:=$(firstword $(ECHO))
 endif
@@ -704,7 +732,7 @@ DATE:=$(strip $(wildcard $(addsuffix /gdate$(SRCEXEEXT),$(SEARCHPATH))))
 ifeq ($(DATE),)
 DATE:=$(strip $(wildcard $(addsuffix /date$(SRCEXEEXT),$(SEARCHPATH))))
 ifeq ($(DATE),)
-DATE=
+DATE= __missing_command__
 else
 DATE:=$(firstword $(DATE))
 endif
@@ -718,7 +746,7 @@ GINSTALL:=$(strip $(wildcard $(addsuffix /ginstall$(SRCEXEEXT),$(SEARCHPATH))))
 ifeq ($(GINSTALL),)
 GINSTALL:=$(strip $(wildcard $(addsuffix /install$(SRCEXEEXT),$(SEARCHPATH))))
 ifeq ($(GINSTALL),)
-GINSTALL=
+GINSTALL= __missing_command__
 else
 GINSTALL:=$(firstword $(GINSTALL))
 endif
@@ -730,7 +758,7 @@ export GINSTALL
 ifndef CPPROG
 CPPROG:=$(strip $(wildcard $(addsuffix /cp$(SRCEXEEXT),$(SEARCHPATH))))
 ifeq ($(CPPROG),)
-CPPROG=
+CPPROG= __missing_command__
 else
 CPPROG:=$(firstword $(CPPROG))
 endif
@@ -739,7 +767,7 @@ export CPPROG
 ifndef RMPROG
 RMPROG:=$(strip $(wildcard $(addsuffix /rm$(SRCEXEEXT),$(SEARCHPATH))))
 ifeq ($(RMPROG),)
-RMPROG=
+RMPROG= __missing_command__
 else
 RMPROG:=$(firstword $(RMPROG))
 endif
@@ -748,7 +776,7 @@ export RMPROG
 ifndef MVPROG
 MVPROG:=$(strip $(wildcard $(addsuffix /mv$(SRCEXEEXT),$(SEARCHPATH))))
 ifeq ($(MVPROG),)
-MVPROG=
+MVPROG= __missing_command__
 else
 MVPROG:=$(firstword $(MVPROG))
 endif
@@ -797,7 +825,7 @@ export ECHOREDIR COPY COPYTREE MOVE DEL DELTREE INSTALL INSTALLEXE MKDIR
 ifndef PPUMOVE
 PPUMOVE:=$(strip $(wildcard $(addsuffix /ppumove$(SRCEXEEXT),$(SEARCHPATH))))
 ifeq ($(PPUMOVE),)
-PPUMOVE=
+PPUMOVE= __missing_command__
 else
 PPUMOVE:=$(firstword $(PPUMOVE))
 endif
@@ -806,7 +834,7 @@ export PPUMOVE
 ifndef FPCMAKE
 FPCMAKE:=$(strip $(wildcard $(addsuffix /fpcmake$(SRCEXEEXT),$(SEARCHPATH))))
 ifeq ($(FPCMAKE),)
-FPCMAKE=
+FPCMAKE= __missing_command__
 else
 FPCMAKE:=$(firstword $(FPCMAKE))
 endif
@@ -815,7 +843,7 @@ export FPCMAKE
 ifndef ZIPPROG
 ZIPPROG:=$(strip $(wildcard $(addsuffix /zip$(SRCEXEEXT),$(SEARCHPATH))))
 ifeq ($(ZIPPROG),)
-ZIPPROG=
+ZIPPROG= __missing_command__
 else
 ZIPPROG:=$(firstword $(ZIPPROG))
 endif
@@ -824,7 +852,7 @@ export ZIPPROG
 ifndef TARPROG
 TARPROG:=$(strip $(wildcard $(addsuffix /tar$(SRCEXEEXT),$(SEARCHPATH))))
 ifeq ($(TARPROG),)
-TARPROG=
+TARPROG= __missing_command__
 else
 TARPROG:=$(firstword $(TARPROG))
 endif
@@ -836,9 +864,11 @@ ARNAME=$(BINUTILSPREFIX)ar
 RCNAME=$(BINUTILSPREFIX)rc
 ifneq ($(findstring 1.0.,$(FPC_VERSION)),)
 ifeq ($(OS_TARGET),win32)
-ASNAME=as
-LDNAME=ld
-ARNAME=ar
+ifeq ($(CROSSBINDIR),)
+ASNAME=asw
+LDNAME=ldw
+ARNAME=arw
+endif
 endif
 endif
 ifndef ASPROG
@@ -873,7 +903,7 @@ AS=$(ASPROG)
 LD=$(LDPROG)
 RC=$(RCPROG)
 AR=$(ARPROG)
-PPAS=ppas$(BATCHEXT)
+PPAS=ppas$(SRCBATCHEXT)
 ifdef inUnix
 LDCONFIG=ldconfig
 else
@@ -1300,8 +1330,12 @@ ifdef RELEASE
 ifeq ($(CPU_TARGET),i386)
 FPCCPUOPT:=-OG2p3
 else
+ifeq ($(CPU_TARGET),powerpc)
+FPCCPUOPT:=-O1
+else
 FPCCPUOPT:=
 endif
+endif
 override FPCOPT+=-Xs $(FPCCPUOPT) -n
 override FPCOPTDEF+=RELEASE
 endif
@@ -1533,7 +1567,7 @@ USEZIPWRAPPER=1
 endif
 ifdef USEZIPWRAPPER
 ZIPPATHSEP=$(PATHSEP)
-ZIPWRAPPER=$(subst /,$(PATHSEP),$(DIST_DESTDIR)/fpczip$(BATCHEXT))
+ZIPWRAPPER=$(subst /,$(PATHSEP),$(DIST_DESTDIR)/fpczip$(SRCBATCHEXT))
 else
 ZIPPATHSEP=/
 endif
@@ -1587,6 +1621,9 @@ override CLEANPPUFILES+=$(addsuffix $(PPUEXT),$(CLEAN_UNITS))
 endif
 ifdef 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 CLEANPPULINKFILES:=$(wildcard $(addprefix $(UNITTARGETDIRPREFIX),$(CLEANPPULINKFILES)))
 endif
@@ -1610,6 +1647,7 @@ ifdef LIB_NAME
 	-$(DEL) $(LIB_NAME) $(LIB_FULLNAME)
 endif
 	-$(DEL) $(FPCMADE) Package.fpc $(PPAS) script.res link.res $(FPCEXTFILE) $(REDIRFILE)
+	-$(DEL) *$(ASMEXT) *_ppas$(BATCHEXT)
 fpc_distclean: clean
 ifdef COMPILER_UNITTARGETDIR
 TARGETDIRCLEAN=fpc_clean
@@ -1621,9 +1659,13 @@ endif
 	-$(DEL) *$(OEXT) *$(PPUEXT) *$(RSTEXT) *$(ASMEXT) *$(STATICLIBEXT) *$(SHAREDLIBEXT) *$(PPLEXT)
 	-$(DELTREE) *$(SMARTEXT)
 	-$(DEL) $(FPCMADE) Package.fpc $(PPAS) script.res link.res $(FPCEXTFILE) $(REDIRFILE)
+	-$(DEL) *_ppas$(BATCHEXT)
 ifdef AOUTEXT
 	-$(DEL) *$(AOUTEXT)
 endif
+ifdef DEBUGSYMEXT
+	-$(DEL) *$(DEBUGSYMEXT)
+endif
 .PHONY: fpc_baseinfo
 override INFORULES+=fpc_baseinfo
 fpc_baseinfo:

+ 114 - 72
packages/extra/libgd/Makefile

@@ -1,15 +1,24 @@
 #
-# Don't edit, this file is generated by FPCMake Version 1.1 [2004/02/22]
+# Don't edit, this file is generated by FPCMake Version 1.1 [2004/04/21]
 #
 default: all
 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:=$(subst \,/,$(PATH))
+ifneq ($(findstring darwin,$(OSTYPE)),)
+inUnix=1 #darwin
+SEARCHPATH:=$(filter-out .,$(subst :, ,$(PATH)))
+else
 ifeq ($(findstring ;,$(PATH)),)
 inUnix=1
 SEARCHPATH:=$(filter-out .,$(subst :, ,$(PATH)))
 else
 SEARCHPATH:=$(subst ;, ,$(PATH))
 endif
+endif
 SEARCHPATH+=$(patsubst %/,%,$(subst \,/,$(dir $(MAKE))))
 PWD:=$(strip $(wildcard $(addsuffix /pwd.exe,$(SEARCHPATH))))
 ifeq ($(PWD),)
@@ -37,22 +46,13 @@ ifneq ($(findstring cygdrive,$(PATH)),)
 inCygWin=1
 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
-BATCHEXT=.sh
+SRCBATCHEXT=.sh
 else
 ifdef inOS2
-BATCHEXT=.cmd
+SRCBATCHEXT=.cmd
 else
-BATCHEXT=.bat
+SRCBATCHEXT=.bat
 endif
 endif
 ifdef inUnix
@@ -155,6 +155,12 @@ ifeq ($(findstring $(OS_TARGET),$(MAKEFILETARGETS)),)
 $(error The Makefile doesn't support target $(OS_TARGET), please run fpcmake first)
 endif
 endif
+ifneq ($(findstring $(OS_TARGET),$(BSDs)),)
+BSDhier=1
+endif
+ifeq ($(OS_TARGET),linux)
+linuxHier=1
+endif
 export OS_TARGET OS_SOURCE CPU_TARGET CPU_SOURCE FULL_TARGET FULL_SOURCE CROSSCOMPILE
 ifdef FPCDIR
 override FPCDIR:=$(subst \,/,$(FPCDIR))
@@ -219,42 +225,12 @@ 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
-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
 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
 ifndef INSTALL_PREFIX
@@ -263,7 +239,7 @@ INSTALL_PREFIX=$(PREFIX)
 endif
 endif
 ifndef INSTALL_PREFIX
-ifdef UNIXINSTALLDIR
+ifdef UNIXHier
 INSTALL_PREFIX=/usr/local
 else
 ifdef INSTALL_FPCPACKAGE
@@ -282,7 +258,7 @@ DIST_DESTDIR:=$(BASEDIR)
 endif
 export DIST_DESTDIR
 ifndef INSTALL_BASEDIR
-ifdef UNIXINSTALLDIR
+ifdef UNIXHier
 ifdef INSTALL_FPCPACKAGE
 INSTALL_BASEDIR:=$(INSTALL_PREFIX)/lib/fpc/$(FPC_VERSION)
 else
@@ -293,7 +269,7 @@ INSTALL_BASEDIR:=$(INSTALL_PREFIX)
 endif
 endif
 ifndef INSTALL_BINDIR
-ifdef UNIXINSTALLDIR
+ifdef UNIXHier
 ifdef CROSSCOMPILE
 INSTALL_BINDIR:=$(INSTALL_BASEDIR)/cross/$(FULL_TARGET)/bin
 else
@@ -323,19 +299,23 @@ endif
 endif
 endif
 ifndef INSTALL_LIBDIR
-ifdef UNIXINSTALLDIR
+ifdef UNIXHier
 INSTALL_LIBDIR:=$(INSTALL_PREFIX)/lib
 else
 INSTALL_LIBDIR:=$(INSTALL_UNITDIR)
 endif
 endif
 ifndef INSTALL_SOURCEDIR
-ifdef UNIXINSTALLDIR
+ifdef UNIXHier
 ifdef BSDhier
 SRCPREFIXDIR=share/src
 else
+ifdef linuxHier
+SRCPREFIXDIR=share/src
+else
 SRCPREFIXDIR=src
 endif
+endif
 ifdef INSTALL_FPCPACKAGE
 ifdef INSTALL_FPCSUBDIR
 INSTALL_SOURCEDIR:=$(INSTALL_PREFIX)/$(SRCPREFIXDIR)/fpc-$(FPC_VERSION)/$(INSTALL_FPCSUBDIR)/$(PACKAGE_NAME)
@@ -358,12 +338,16 @@ endif
 endif
 endif
 ifndef INSTALL_DOCDIR
-ifdef UNIXINSTALLDIR
+ifdef UNIXHier
 ifdef BSDhier
 DOCPREFIXDIR=share/doc
 else
+ifdef linuxHier
+DOCPREFIXDIR=share/doc
+else
 DOCPREFIXDIR=doc
 endif
+endif
 ifdef INSTALL_FPCPACKAGE
 INSTALL_DOCDIR:=$(INSTALL_PREFIX)/$(DOCPREFIXDIR)/fpc-$(FPC_VERSION)/$(PACKAGE_NAME)
 else
@@ -378,20 +362,28 @@ endif
 endif
 endif
 ifndef INSTALL_EXAMPLEDIR
-ifdef UNIXINSTALLDIR
+ifdef UNIXHier
 ifdef INSTALL_FPCPACKAGE
 ifdef BSDhier
 INSTALL_EXAMPLEDIR:=$(INSTALL_PREFIX)/share/examples/fpc-$(FPC_VERSION)/$(PACKAGE_NAME)
 else
+ifdef linuxHier
+INSTALL_EXAMPLEDIR:=$(INSTALL_DOCDIR)/examples/fpc-$(FPC_VERSION)/$(PACKAGE_NAME)
+else
 INSTALL_EXAMPLEDIR:=$(INSTALL_PREFIX)/doc/fpc-$(FPC_VERSION)/examples/$(PACKAGE_NAME)
 endif
+endif
 else
 ifdef BSDhier
 INSTALL_EXAMPLEDIR:=$(INSTALL_PREFIX)/share/examples/$(PACKAGE_NAME)-$(PACKAGE_VERSION)
 else
+ifdef linuxHier
+INSTALL_EXAMPLEDIR:=$(INSTALL_DOCDIR)/examples/$(PACKAGE_NAME)-$(PACKAGE_VERSION)
+else
 INSTALL_EXAMPLEDIR:=$(INSTALL_PREFIX)/doc/$(PACKAGE_NAME)-$(PACKAGE_VERSION)
 endif
 endif
+endif
 else
 ifdef INSTALL_FPCPACKAGE
 INSTALL_EXAMPLEDIR:=$(INSTALL_BASEDIR)/examples/$(PACKAGE_NAME)
@@ -415,7 +407,19 @@ CROSSBINDIR=
 endif
 ifeq ($(OS_SOURCE),linux)
 ifndef GCCLIBDIR
-GCCLIBDIR:=$(shell dirname `gcc -print-libgcc-file-name`)
+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
 ifndef OTHERLIBDIR
 OTHERLIBDIR:=$(shell grep -v "^\#" /etc/ld.so.conf | awk '{ ORS=" "; print $1 }')
@@ -427,6 +431,7 @@ OTHERLIBDIR+=/usr/pkg/lib
 endif
 export GCCLIBDIR OTHERLIB
 endif
+BATCHEXT=.bat
 LOADEREXT=.as
 EXEEXT=.exe
 PPLEXT=.ppl
@@ -459,24 +464,28 @@ ASMEXT=.asm
 SHAREDLIBEXT=.dll
 endif
 ifeq ($(OS_TARGET),linux)
+BATCHEXT=.sh
 EXEEXT=
 HASSHAREDLIB=1
 FPCMADE=fpcmade.lnx
 ZIPSUFFIX=linux
 endif
 ifeq ($(OS_TARGET),freebsd)
+BATCHEXT=.sh
 EXEEXT=
 HASSHAREDLIB=1
 FPCMADE=fpcmade.freebsd
 ZIPSUFFIX=freebsd
 endif
 ifeq ($(OS_TARGET),netbsd)
+BATCHEXT=.sh
 EXEEXT=
 HASSHAREDLIB=1
 FPCMADE=fpcmade.netbsd
 ZIPSUFFIX=netbsd
 endif
 ifeq ($(OS_TARGET),openbsd)
+BATCHEXT=.sh
 EXEEXT=
 HASSHAREDLIB=1
 FPCMADE=fpcmade.openbsd
@@ -488,6 +497,7 @@ FPCMADE=fpcmade.w32
 ZIPSUFFIX=w32
 endif
 ifeq ($(OS_TARGET),os2)
+BATCHEXT=.cmd
 AOUTEXT=.out
 STATICLIBPREFIX=
 SHAREDLIBEXT=.dll
@@ -496,6 +506,7 @@ ZIPSUFFIX=os2
 ECHO=echo
 endif
 ifeq ($(OS_TARGET),emx)
+BATCHEXT=.cmd
 AOUTEXT=.out
 STATICLIBPREFIX=
 SHAREDLIBEXT=.dll
@@ -513,16 +524,19 @@ EXEEXT=.ttp
 FPCMADE=fpcmade.ata
 endif
 ifeq ($(OS_TARGET),beos)
+BATCHEXT=.sh
 EXEEXT=
 FPCMADE=fpcmade.be
 ZIPSUFFIX=be
 endif
 ifeq ($(OS_TARGET),sunos)
+BATCHEXT=.sh
 EXEEXT=
 FPCMADE=fpcmade.sun
 ZIPSUFFIX=sun
 endif
 ifeq ($(OS_TARGET),qnx)
+BATCHEXT=.sh
 EXEEXT=
 FPCMADE=fpcmade.qnx
 ZIPSUFFIX=qnx
@@ -534,10 +548,14 @@ FPCMADE=fpcmade.nw
 ZIPSUFFIX=nw
 endif
 ifeq ($(OS_TARGET),macos)
+BATCHEXT=
 EXEEXT=
-FPCMADE=fpcmade.mcc
+FPCMADE=fpcmade.macos
+ZIPSUFFIX=macos
+DEBUGSYMEXT=.xcoff
 endif
 ifeq ($(OS_TARGET),darwin)
+BATCHEXT=.sh
 EXEEXT=
 HASSHAREDLIB=1
 FPCMADE=fpcmade.darwin
@@ -566,24 +584,28 @@ FPCMADE=fpcmade.dos
 ZIPSUFFIX=watcom
 endif
 ifeq ($(OS_TARGET),linux)
+BATCHEXT=.sh
 EXEEXT=
 HASSHAREDLIB=1
 FPCMADE=fpcmade.lnx
 ZIPSUFFIX=linux
 endif
 ifeq ($(OS_TARGET),freebsd)
+BATCHEXT=.sh
 EXEEXT=
 HASSHAREDLIB=1
 FPCMADE=fpcmade.freebsd
 ZIPSUFFIX=freebsd
 endif
 ifeq ($(OS_TARGET),netbsd)
+BATCHEXT=.sh
 EXEEXT=
 HASSHAREDLIB=1
 FPCMADE=fpcmade.netbsd
 ZIPSUFFIX=netbsd
 endif
 ifeq ($(OS_TARGET),openbsd)
+BATCHEXT=.sh
 EXEEXT=
 HASSHAREDLIB=1
 FPCMADE=fpcmade.openbsd
@@ -600,6 +622,7 @@ FPCMADE=fpcmade.w32
 ZIPSUFFIX=w32
 endif
 ifeq ($(OS_TARGET),os2)
+BATCHEXT=.cmd
 PPUEXT=.ppo
 ASMEXT=.so2
 OEXT=.oo2
@@ -632,6 +655,7 @@ EXEEXT=.ttp
 FPCMADE=fpcmade.ata
 endif
 ifeq ($(OS_TARGET),beos)
+BATCHEXT=.sh
 PPUEXT=.ppu
 ASMEXT=.s
 OEXT=.o
@@ -642,6 +666,7 @@ FPCMADE=fpcmade.be
 ZIPSUFFIX=be
 endif
 ifeq ($(OS_TARGET),sunos)
+BATCHEXT=.sh
 PPUEXT=.ppu
 ASMEXT=.s
 OEXT=.o
@@ -652,6 +677,7 @@ FPCMADE=fpcmade.sun
 ZIPSUFFIX=sun
 endif
 ifeq ($(OS_TARGET),qnx)
+BATCHEXT=.sh
 PPUEXT=.ppu
 ASMEXT=.s
 OEXT=.o
@@ -674,13 +700,15 @@ ZIPSUFFIX=nw
 EXEEXT=.nlm
 endif
 ifeq ($(OS_TARGET),macos)
+BATCHEXT=
 PPUEXT=.ppu
 ASMEXT=.s
 OEXT=.o
 SMARTEXT=.sl
 STATICLIBEXT=.a
 EXEEXT=
-FPCMADE=fpcmade.mcc
+DEBUGSYMEXT=.xcoff
+FPCMADE=fpcmade.macos
 endif
 endif
 ifndef ECHO
@@ -688,7 +716,7 @@ ECHO:=$(strip $(wildcard $(addsuffix /gecho$(SRCEXEEXT),$(SEARCHPATH))))
 ifeq ($(ECHO),)
 ECHO:=$(strip $(wildcard $(addsuffix /echo$(SRCEXEEXT),$(SEARCHPATH))))
 ifeq ($(ECHO),)
-ECHO=
+ECHO= __missing_command__
 else
 ECHO:=$(firstword $(ECHO))
 endif
@@ -702,7 +730,7 @@ DATE:=$(strip $(wildcard $(addsuffix /gdate$(SRCEXEEXT),$(SEARCHPATH))))
 ifeq ($(DATE),)
 DATE:=$(strip $(wildcard $(addsuffix /date$(SRCEXEEXT),$(SEARCHPATH))))
 ifeq ($(DATE),)
-DATE=
+DATE= __missing_command__
 else
 DATE:=$(firstword $(DATE))
 endif
@@ -716,7 +744,7 @@ GINSTALL:=$(strip $(wildcard $(addsuffix /ginstall$(SRCEXEEXT),$(SEARCHPATH))))
 ifeq ($(GINSTALL),)
 GINSTALL:=$(strip $(wildcard $(addsuffix /install$(SRCEXEEXT),$(SEARCHPATH))))
 ifeq ($(GINSTALL),)
-GINSTALL=
+GINSTALL= __missing_command__
 else
 GINSTALL:=$(firstword $(GINSTALL))
 endif
@@ -728,7 +756,7 @@ export GINSTALL
 ifndef CPPROG
 CPPROG:=$(strip $(wildcard $(addsuffix /cp$(SRCEXEEXT),$(SEARCHPATH))))
 ifeq ($(CPPROG),)
-CPPROG=
+CPPROG= __missing_command__
 else
 CPPROG:=$(firstword $(CPPROG))
 endif
@@ -737,7 +765,7 @@ export CPPROG
 ifndef RMPROG
 RMPROG:=$(strip $(wildcard $(addsuffix /rm$(SRCEXEEXT),$(SEARCHPATH))))
 ifeq ($(RMPROG),)
-RMPROG=
+RMPROG= __missing_command__
 else
 RMPROG:=$(firstword $(RMPROG))
 endif
@@ -746,7 +774,7 @@ export RMPROG
 ifndef MVPROG
 MVPROG:=$(strip $(wildcard $(addsuffix /mv$(SRCEXEEXT),$(SEARCHPATH))))
 ifeq ($(MVPROG),)
-MVPROG=
+MVPROG= __missing_command__
 else
 MVPROG:=$(firstword $(MVPROG))
 endif
@@ -795,7 +823,7 @@ export ECHOREDIR COPY COPYTREE MOVE DEL DELTREE INSTALL INSTALLEXE MKDIR
 ifndef PPUMOVE
 PPUMOVE:=$(strip $(wildcard $(addsuffix /ppumove$(SRCEXEEXT),$(SEARCHPATH))))
 ifeq ($(PPUMOVE),)
-PPUMOVE=
+PPUMOVE= __missing_command__
 else
 PPUMOVE:=$(firstword $(PPUMOVE))
 endif
@@ -804,7 +832,7 @@ export PPUMOVE
 ifndef FPCMAKE
 FPCMAKE:=$(strip $(wildcard $(addsuffix /fpcmake$(SRCEXEEXT),$(SEARCHPATH))))
 ifeq ($(FPCMAKE),)
-FPCMAKE=
+FPCMAKE= __missing_command__
 else
 FPCMAKE:=$(firstword $(FPCMAKE))
 endif
@@ -813,7 +841,7 @@ export FPCMAKE
 ifndef ZIPPROG
 ZIPPROG:=$(strip $(wildcard $(addsuffix /zip$(SRCEXEEXT),$(SEARCHPATH))))
 ifeq ($(ZIPPROG),)
-ZIPPROG=
+ZIPPROG= __missing_command__
 else
 ZIPPROG:=$(firstword $(ZIPPROG))
 endif
@@ -822,7 +850,7 @@ export ZIPPROG
 ifndef TARPROG
 TARPROG:=$(strip $(wildcard $(addsuffix /tar$(SRCEXEEXT),$(SEARCHPATH))))
 ifeq ($(TARPROG),)
-TARPROG=
+TARPROG= __missing_command__
 else
 TARPROG:=$(firstword $(TARPROG))
 endif
@@ -834,9 +862,11 @@ ARNAME=$(BINUTILSPREFIX)ar
 RCNAME=$(BINUTILSPREFIX)rc
 ifneq ($(findstring 1.0.,$(FPC_VERSION)),)
 ifeq ($(OS_TARGET),win32)
-ASNAME=as
-LDNAME=ld
-ARNAME=ar
+ifeq ($(CROSSBINDIR),)
+ASNAME=asw
+LDNAME=ldw
+ARNAME=arw
+endif
 endif
 endif
 ifndef ASPROG
@@ -871,7 +901,7 @@ AS=$(ASPROG)
 LD=$(LDPROG)
 RC=$(RCPROG)
 AR=$(ARPROG)
-PPAS=ppas$(BATCHEXT)
+PPAS=ppas$(SRCBATCHEXT)
 ifdef inUnix
 LDCONFIG=ldconfig
 else
@@ -1130,8 +1160,12 @@ ifdef RELEASE
 ifeq ($(CPU_TARGET),i386)
 FPCCPUOPT:=-OG2p3
 else
+ifeq ($(CPU_TARGET),powerpc)
+FPCCPUOPT:=-O1
+else
 FPCCPUOPT:=
 endif
+endif
 override FPCOPT+=-Xs $(FPCCPUOPT) -n
 override FPCOPTDEF+=RELEASE
 endif
@@ -1381,7 +1415,7 @@ USEZIPWRAPPER=1
 endif
 ifdef USEZIPWRAPPER
 ZIPPATHSEP=$(PATHSEP)
-ZIPWRAPPER=$(subst /,$(PATHSEP),$(DIST_DESTDIR)/fpczip$(BATCHEXT))
+ZIPWRAPPER=$(subst /,$(PATHSEP),$(DIST_DESTDIR)/fpczip$(SRCBATCHEXT))
 else
 ZIPPATHSEP=/
 endif
@@ -1435,6 +1469,9 @@ override CLEANPPUFILES+=$(addsuffix $(PPUEXT),$(CLEAN_UNITS))
 endif
 ifdef 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 CLEANPPULINKFILES:=$(wildcard $(addprefix $(UNITTARGETDIRPREFIX),$(CLEANPPULINKFILES)))
 endif
@@ -1458,6 +1495,7 @@ ifdef LIB_NAME
 	-$(DEL) $(LIB_NAME) $(LIB_FULLNAME)
 endif
 	-$(DEL) $(FPCMADE) Package.fpc $(PPAS) script.res link.res $(FPCEXTFILE) $(REDIRFILE)
+	-$(DEL) *$(ASMEXT) *_ppas$(BATCHEXT)
 fpc_distclean: clean
 ifdef COMPILER_UNITTARGETDIR
 TARGETDIRCLEAN=fpc_clean
@@ -1469,9 +1507,13 @@ endif
 	-$(DEL) *$(OEXT) *$(PPUEXT) *$(RSTEXT) *$(ASMEXT) *$(STATICLIBEXT) *$(SHAREDLIBEXT) *$(PPLEXT)
 	-$(DELTREE) *$(SMARTEXT)
 	-$(DEL) $(FPCMADE) Package.fpc $(PPAS) script.res link.res $(FPCEXTFILE) $(REDIRFILE)
+	-$(DEL) *_ppas$(BATCHEXT)
 ifdef AOUTEXT
 	-$(DEL) *$(AOUTEXT)
 endif
+ifdef DEBUGSYMEXT
+	-$(DEL) *$(DEBUGSYMEXT)
+endif
 .PHONY: fpc_baseinfo
 override INFORULES+=fpc_baseinfo
 fpc_baseinfo:

+ 114 - 72
packages/extra/libpng/Makefile

@@ -1,15 +1,24 @@
 #
-# Don't edit, this file is generated by FPCMake Version 1.1 [2004/02/22]
+# Don't edit, this file is generated by FPCMake Version 1.1 [2004/04/21]
 #
 default: all
 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:=$(subst \,/,$(PATH))
+ifneq ($(findstring darwin,$(OSTYPE)),)
+inUnix=1 #darwin
+SEARCHPATH:=$(filter-out .,$(subst :, ,$(PATH)))
+else
 ifeq ($(findstring ;,$(PATH)),)
 inUnix=1
 SEARCHPATH:=$(filter-out .,$(subst :, ,$(PATH)))
 else
 SEARCHPATH:=$(subst ;, ,$(PATH))
 endif
+endif
 SEARCHPATH+=$(patsubst %/,%,$(subst \,/,$(dir $(MAKE))))
 PWD:=$(strip $(wildcard $(addsuffix /pwd.exe,$(SEARCHPATH))))
 ifeq ($(PWD),)
@@ -37,22 +46,13 @@ ifneq ($(findstring cygdrive,$(PATH)),)
 inCygWin=1
 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
-BATCHEXT=.sh
+SRCBATCHEXT=.sh
 else
 ifdef inOS2
-BATCHEXT=.cmd
+SRCBATCHEXT=.cmd
 else
-BATCHEXT=.bat
+SRCBATCHEXT=.bat
 endif
 endif
 ifdef inUnix
@@ -155,6 +155,12 @@ ifeq ($(findstring $(OS_TARGET),$(MAKEFILETARGETS)),)
 $(error The Makefile doesn't support target $(OS_TARGET), please run fpcmake first)
 endif
 endif
+ifneq ($(findstring $(OS_TARGET),$(BSDs)),)
+BSDhier=1
+endif
+ifeq ($(OS_TARGET),linux)
+linuxHier=1
+endif
 export OS_TARGET OS_SOURCE CPU_TARGET CPU_SOURCE FULL_TARGET FULL_SOURCE CROSSCOMPILE
 ifdef FPCDIR
 override FPCDIR:=$(subst \,/,$(FPCDIR))
@@ -218,42 +224,12 @@ 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
-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
 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
 ifndef INSTALL_PREFIX
@@ -262,7 +238,7 @@ INSTALL_PREFIX=$(PREFIX)
 endif
 endif
 ifndef INSTALL_PREFIX
-ifdef UNIXINSTALLDIR
+ifdef UNIXHier
 INSTALL_PREFIX=/usr/local
 else
 ifdef INSTALL_FPCPACKAGE
@@ -281,7 +257,7 @@ DIST_DESTDIR:=$(BASEDIR)
 endif
 export DIST_DESTDIR
 ifndef INSTALL_BASEDIR
-ifdef UNIXINSTALLDIR
+ifdef UNIXHier
 ifdef INSTALL_FPCPACKAGE
 INSTALL_BASEDIR:=$(INSTALL_PREFIX)/lib/fpc/$(FPC_VERSION)
 else
@@ -292,7 +268,7 @@ INSTALL_BASEDIR:=$(INSTALL_PREFIX)
 endif
 endif
 ifndef INSTALL_BINDIR
-ifdef UNIXINSTALLDIR
+ifdef UNIXHier
 ifdef CROSSCOMPILE
 INSTALL_BINDIR:=$(INSTALL_BASEDIR)/cross/$(FULL_TARGET)/bin
 else
@@ -322,19 +298,23 @@ endif
 endif
 endif
 ifndef INSTALL_LIBDIR
-ifdef UNIXINSTALLDIR
+ifdef UNIXHier
 INSTALL_LIBDIR:=$(INSTALL_PREFIX)/lib
 else
 INSTALL_LIBDIR:=$(INSTALL_UNITDIR)
 endif
 endif
 ifndef INSTALL_SOURCEDIR
-ifdef UNIXINSTALLDIR
+ifdef UNIXHier
 ifdef BSDhier
 SRCPREFIXDIR=share/src
 else
+ifdef linuxHier
+SRCPREFIXDIR=share/src
+else
 SRCPREFIXDIR=src
 endif
+endif
 ifdef INSTALL_FPCPACKAGE
 ifdef INSTALL_FPCSUBDIR
 INSTALL_SOURCEDIR:=$(INSTALL_PREFIX)/$(SRCPREFIXDIR)/fpc-$(FPC_VERSION)/$(INSTALL_FPCSUBDIR)/$(PACKAGE_NAME)
@@ -357,12 +337,16 @@ endif
 endif
 endif
 ifndef INSTALL_DOCDIR
-ifdef UNIXINSTALLDIR
+ifdef UNIXHier
 ifdef BSDhier
 DOCPREFIXDIR=share/doc
 else
+ifdef linuxHier
+DOCPREFIXDIR=share/doc
+else
 DOCPREFIXDIR=doc
 endif
+endif
 ifdef INSTALL_FPCPACKAGE
 INSTALL_DOCDIR:=$(INSTALL_PREFIX)/$(DOCPREFIXDIR)/fpc-$(FPC_VERSION)/$(PACKAGE_NAME)
 else
@@ -377,20 +361,28 @@ endif
 endif
 endif
 ifndef INSTALL_EXAMPLEDIR
-ifdef UNIXINSTALLDIR
+ifdef UNIXHier
 ifdef INSTALL_FPCPACKAGE
 ifdef BSDhier
 INSTALL_EXAMPLEDIR:=$(INSTALL_PREFIX)/share/examples/fpc-$(FPC_VERSION)/$(PACKAGE_NAME)
 else
+ifdef linuxHier
+INSTALL_EXAMPLEDIR:=$(INSTALL_DOCDIR)/examples/fpc-$(FPC_VERSION)/$(PACKAGE_NAME)
+else
 INSTALL_EXAMPLEDIR:=$(INSTALL_PREFIX)/doc/fpc-$(FPC_VERSION)/examples/$(PACKAGE_NAME)
 endif
+endif
 else
 ifdef BSDhier
 INSTALL_EXAMPLEDIR:=$(INSTALL_PREFIX)/share/examples/$(PACKAGE_NAME)-$(PACKAGE_VERSION)
 else
+ifdef linuxHier
+INSTALL_EXAMPLEDIR:=$(INSTALL_DOCDIR)/examples/$(PACKAGE_NAME)-$(PACKAGE_VERSION)
+else
 INSTALL_EXAMPLEDIR:=$(INSTALL_PREFIX)/doc/$(PACKAGE_NAME)-$(PACKAGE_VERSION)
 endif
 endif
+endif
 else
 ifdef INSTALL_FPCPACKAGE
 INSTALL_EXAMPLEDIR:=$(INSTALL_BASEDIR)/examples/$(PACKAGE_NAME)
@@ -414,7 +406,19 @@ CROSSBINDIR=
 endif
 ifeq ($(OS_SOURCE),linux)
 ifndef GCCLIBDIR
-GCCLIBDIR:=$(shell dirname `gcc -print-libgcc-file-name`)
+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
 ifndef OTHERLIBDIR
 OTHERLIBDIR:=$(shell grep -v "^\#" /etc/ld.so.conf | awk '{ ORS=" "; print $1 }')
@@ -426,6 +430,7 @@ OTHERLIBDIR+=/usr/pkg/lib
 endif
 export GCCLIBDIR OTHERLIB
 endif
+BATCHEXT=.bat
 LOADEREXT=.as
 EXEEXT=.exe
 PPLEXT=.ppl
@@ -458,24 +463,28 @@ ASMEXT=.asm
 SHAREDLIBEXT=.dll
 endif
 ifeq ($(OS_TARGET),linux)
+BATCHEXT=.sh
 EXEEXT=
 HASSHAREDLIB=1
 FPCMADE=fpcmade.lnx
 ZIPSUFFIX=linux
 endif
 ifeq ($(OS_TARGET),freebsd)
+BATCHEXT=.sh
 EXEEXT=
 HASSHAREDLIB=1
 FPCMADE=fpcmade.freebsd
 ZIPSUFFIX=freebsd
 endif
 ifeq ($(OS_TARGET),netbsd)
+BATCHEXT=.sh
 EXEEXT=
 HASSHAREDLIB=1
 FPCMADE=fpcmade.netbsd
 ZIPSUFFIX=netbsd
 endif
 ifeq ($(OS_TARGET),openbsd)
+BATCHEXT=.sh
 EXEEXT=
 HASSHAREDLIB=1
 FPCMADE=fpcmade.openbsd
@@ -487,6 +496,7 @@ FPCMADE=fpcmade.w32
 ZIPSUFFIX=w32
 endif
 ifeq ($(OS_TARGET),os2)
+BATCHEXT=.cmd
 AOUTEXT=.out
 STATICLIBPREFIX=
 SHAREDLIBEXT=.dll
@@ -495,6 +505,7 @@ ZIPSUFFIX=os2
 ECHO=echo
 endif
 ifeq ($(OS_TARGET),emx)
+BATCHEXT=.cmd
 AOUTEXT=.out
 STATICLIBPREFIX=
 SHAREDLIBEXT=.dll
@@ -512,16 +523,19 @@ EXEEXT=.ttp
 FPCMADE=fpcmade.ata
 endif
 ifeq ($(OS_TARGET),beos)
+BATCHEXT=.sh
 EXEEXT=
 FPCMADE=fpcmade.be
 ZIPSUFFIX=be
 endif
 ifeq ($(OS_TARGET),sunos)
+BATCHEXT=.sh
 EXEEXT=
 FPCMADE=fpcmade.sun
 ZIPSUFFIX=sun
 endif
 ifeq ($(OS_TARGET),qnx)
+BATCHEXT=.sh
 EXEEXT=
 FPCMADE=fpcmade.qnx
 ZIPSUFFIX=qnx
@@ -533,10 +547,14 @@ FPCMADE=fpcmade.nw
 ZIPSUFFIX=nw
 endif
 ifeq ($(OS_TARGET),macos)
+BATCHEXT=
 EXEEXT=
-FPCMADE=fpcmade.mcc
+FPCMADE=fpcmade.macos
+ZIPSUFFIX=macos
+DEBUGSYMEXT=.xcoff
 endif
 ifeq ($(OS_TARGET),darwin)
+BATCHEXT=.sh
 EXEEXT=
 HASSHAREDLIB=1
 FPCMADE=fpcmade.darwin
@@ -565,24 +583,28 @@ FPCMADE=fpcmade.dos
 ZIPSUFFIX=watcom
 endif
 ifeq ($(OS_TARGET),linux)
+BATCHEXT=.sh
 EXEEXT=
 HASSHAREDLIB=1
 FPCMADE=fpcmade.lnx
 ZIPSUFFIX=linux
 endif
 ifeq ($(OS_TARGET),freebsd)
+BATCHEXT=.sh
 EXEEXT=
 HASSHAREDLIB=1
 FPCMADE=fpcmade.freebsd
 ZIPSUFFIX=freebsd
 endif
 ifeq ($(OS_TARGET),netbsd)
+BATCHEXT=.sh
 EXEEXT=
 HASSHAREDLIB=1
 FPCMADE=fpcmade.netbsd
 ZIPSUFFIX=netbsd
 endif
 ifeq ($(OS_TARGET),openbsd)
+BATCHEXT=.sh
 EXEEXT=
 HASSHAREDLIB=1
 FPCMADE=fpcmade.openbsd
@@ -599,6 +621,7 @@ FPCMADE=fpcmade.w32
 ZIPSUFFIX=w32
 endif
 ifeq ($(OS_TARGET),os2)
+BATCHEXT=.cmd
 PPUEXT=.ppo
 ASMEXT=.so2
 OEXT=.oo2
@@ -631,6 +654,7 @@ EXEEXT=.ttp
 FPCMADE=fpcmade.ata
 endif
 ifeq ($(OS_TARGET),beos)
+BATCHEXT=.sh
 PPUEXT=.ppu
 ASMEXT=.s
 OEXT=.o
@@ -641,6 +665,7 @@ FPCMADE=fpcmade.be
 ZIPSUFFIX=be
 endif
 ifeq ($(OS_TARGET),sunos)
+BATCHEXT=.sh
 PPUEXT=.ppu
 ASMEXT=.s
 OEXT=.o
@@ -651,6 +676,7 @@ FPCMADE=fpcmade.sun
 ZIPSUFFIX=sun
 endif
 ifeq ($(OS_TARGET),qnx)
+BATCHEXT=.sh
 PPUEXT=.ppu
 ASMEXT=.s
 OEXT=.o
@@ -673,13 +699,15 @@ ZIPSUFFIX=nw
 EXEEXT=.nlm
 endif
 ifeq ($(OS_TARGET),macos)
+BATCHEXT=
 PPUEXT=.ppu
 ASMEXT=.s
 OEXT=.o
 SMARTEXT=.sl
 STATICLIBEXT=.a
 EXEEXT=
-FPCMADE=fpcmade.mcc
+DEBUGSYMEXT=.xcoff
+FPCMADE=fpcmade.macos
 endif
 endif
 ifndef ECHO
@@ -687,7 +715,7 @@ ECHO:=$(strip $(wildcard $(addsuffix /gecho$(SRCEXEEXT),$(SEARCHPATH))))
 ifeq ($(ECHO),)
 ECHO:=$(strip $(wildcard $(addsuffix /echo$(SRCEXEEXT),$(SEARCHPATH))))
 ifeq ($(ECHO),)
-ECHO=
+ECHO= __missing_command__
 else
 ECHO:=$(firstword $(ECHO))
 endif
@@ -701,7 +729,7 @@ DATE:=$(strip $(wildcard $(addsuffix /gdate$(SRCEXEEXT),$(SEARCHPATH))))
 ifeq ($(DATE),)
 DATE:=$(strip $(wildcard $(addsuffix /date$(SRCEXEEXT),$(SEARCHPATH))))
 ifeq ($(DATE),)
-DATE=
+DATE= __missing_command__
 else
 DATE:=$(firstword $(DATE))
 endif
@@ -715,7 +743,7 @@ GINSTALL:=$(strip $(wildcard $(addsuffix /ginstall$(SRCEXEEXT),$(SEARCHPATH))))
 ifeq ($(GINSTALL),)
 GINSTALL:=$(strip $(wildcard $(addsuffix /install$(SRCEXEEXT),$(SEARCHPATH))))
 ifeq ($(GINSTALL),)
-GINSTALL=
+GINSTALL= __missing_command__
 else
 GINSTALL:=$(firstword $(GINSTALL))
 endif
@@ -727,7 +755,7 @@ export GINSTALL
 ifndef CPPROG
 CPPROG:=$(strip $(wildcard $(addsuffix /cp$(SRCEXEEXT),$(SEARCHPATH))))
 ifeq ($(CPPROG),)
-CPPROG=
+CPPROG= __missing_command__
 else
 CPPROG:=$(firstword $(CPPROG))
 endif
@@ -736,7 +764,7 @@ export CPPROG
 ifndef RMPROG
 RMPROG:=$(strip $(wildcard $(addsuffix /rm$(SRCEXEEXT),$(SEARCHPATH))))
 ifeq ($(RMPROG),)
-RMPROG=
+RMPROG= __missing_command__
 else
 RMPROG:=$(firstword $(RMPROG))
 endif
@@ -745,7 +773,7 @@ export RMPROG
 ifndef MVPROG
 MVPROG:=$(strip $(wildcard $(addsuffix /mv$(SRCEXEEXT),$(SEARCHPATH))))
 ifeq ($(MVPROG),)
-MVPROG=
+MVPROG= __missing_command__
 else
 MVPROG:=$(firstword $(MVPROG))
 endif
@@ -794,7 +822,7 @@ export ECHOREDIR COPY COPYTREE MOVE DEL DELTREE INSTALL INSTALLEXE MKDIR
 ifndef PPUMOVE
 PPUMOVE:=$(strip $(wildcard $(addsuffix /ppumove$(SRCEXEEXT),$(SEARCHPATH))))
 ifeq ($(PPUMOVE),)
-PPUMOVE=
+PPUMOVE= __missing_command__
 else
 PPUMOVE:=$(firstword $(PPUMOVE))
 endif
@@ -803,7 +831,7 @@ export PPUMOVE
 ifndef FPCMAKE
 FPCMAKE:=$(strip $(wildcard $(addsuffix /fpcmake$(SRCEXEEXT),$(SEARCHPATH))))
 ifeq ($(FPCMAKE),)
-FPCMAKE=
+FPCMAKE= __missing_command__
 else
 FPCMAKE:=$(firstword $(FPCMAKE))
 endif
@@ -812,7 +840,7 @@ export FPCMAKE
 ifndef ZIPPROG
 ZIPPROG:=$(strip $(wildcard $(addsuffix /zip$(SRCEXEEXT),$(SEARCHPATH))))
 ifeq ($(ZIPPROG),)
-ZIPPROG=
+ZIPPROG= __missing_command__
 else
 ZIPPROG:=$(firstword $(ZIPPROG))
 endif
@@ -821,7 +849,7 @@ export ZIPPROG
 ifndef TARPROG
 TARPROG:=$(strip $(wildcard $(addsuffix /tar$(SRCEXEEXT),$(SEARCHPATH))))
 ifeq ($(TARPROG),)
-TARPROG=
+TARPROG= __missing_command__
 else
 TARPROG:=$(firstword $(TARPROG))
 endif
@@ -833,9 +861,11 @@ ARNAME=$(BINUTILSPREFIX)ar
 RCNAME=$(BINUTILSPREFIX)rc
 ifneq ($(findstring 1.0.,$(FPC_VERSION)),)
 ifeq ($(OS_TARGET),win32)
-ASNAME=as
-LDNAME=ld
-ARNAME=ar
+ifeq ($(CROSSBINDIR),)
+ASNAME=asw
+LDNAME=ldw
+ARNAME=arw
+endif
 endif
 endif
 ifndef ASPROG
@@ -870,7 +900,7 @@ AS=$(ASPROG)
 LD=$(LDPROG)
 RC=$(RCPROG)
 AR=$(ARPROG)
-PPAS=ppas$(BATCHEXT)
+PPAS=ppas$(SRCBATCHEXT)
 ifdef inUnix
 LDCONFIG=ldconfig
 else
@@ -1185,8 +1215,12 @@ ifdef RELEASE
 ifeq ($(CPU_TARGET),i386)
 FPCCPUOPT:=-OG2p3
 else
+ifeq ($(CPU_TARGET),powerpc)
+FPCCPUOPT:=-O1
+else
 FPCCPUOPT:=
 endif
+endif
 override FPCOPT+=-Xs $(FPCCPUOPT) -n
 override FPCOPTDEF+=RELEASE
 endif
@@ -1418,7 +1452,7 @@ USEZIPWRAPPER=1
 endif
 ifdef USEZIPWRAPPER
 ZIPPATHSEP=$(PATHSEP)
-ZIPWRAPPER=$(subst /,$(PATHSEP),$(DIST_DESTDIR)/fpczip$(BATCHEXT))
+ZIPWRAPPER=$(subst /,$(PATHSEP),$(DIST_DESTDIR)/fpczip$(SRCBATCHEXT))
 else
 ZIPPATHSEP=/
 endif
@@ -1472,6 +1506,9 @@ override CLEANPPUFILES+=$(addsuffix $(PPUEXT),$(CLEAN_UNITS))
 endif
 ifdef 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 CLEANPPULINKFILES:=$(wildcard $(addprefix $(UNITTARGETDIRPREFIX),$(CLEANPPULINKFILES)))
 endif
@@ -1495,6 +1532,7 @@ ifdef LIB_NAME
 	-$(DEL) $(LIB_NAME) $(LIB_FULLNAME)
 endif
 	-$(DEL) $(FPCMADE) Package.fpc $(PPAS) script.res link.res $(FPCEXTFILE) $(REDIRFILE)
+	-$(DEL) *$(ASMEXT) *_ppas$(BATCHEXT)
 fpc_distclean: clean
 ifdef COMPILER_UNITTARGETDIR
 TARGETDIRCLEAN=fpc_clean
@@ -1506,9 +1544,13 @@ endif
 	-$(DEL) *$(OEXT) *$(PPUEXT) *$(RSTEXT) *$(ASMEXT) *$(STATICLIBEXT) *$(SHAREDLIBEXT) *$(PPLEXT)
 	-$(DELTREE) *$(SMARTEXT)
 	-$(DEL) $(FPCMADE) Package.fpc $(PPAS) script.res link.res $(FPCEXTFILE) $(REDIRFILE)
+	-$(DEL) *_ppas$(BATCHEXT)
 ifdef AOUTEXT
 	-$(DEL) *$(AOUTEXT)
 endif
+ifdef DEBUGSYMEXT
+	-$(DEL) *$(DEBUGSYMEXT)
+endif
 .PHONY: fpc_baseinfo
 override INFORULES+=fpc_baseinfo
 fpc_baseinfo:

+ 101 - 71
packages/extra/mmsystem/Makefile

@@ -1,15 +1,24 @@
 #
-# Don't edit, this file is generated by FPCMake Version 1.1 [2004/02/22]
+# Don't edit, this file is generated by FPCMake Version 1.1 [2004/04/21]
 #
 default: all
 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:=$(subst \,/,$(PATH))
+ifneq ($(findstring darwin,$(OSTYPE)),)
+inUnix=1 #darwin
+SEARCHPATH:=$(filter-out .,$(subst :, ,$(PATH)))
+else
 ifeq ($(findstring ;,$(PATH)),)
 inUnix=1
 SEARCHPATH:=$(filter-out .,$(subst :, ,$(PATH)))
 else
 SEARCHPATH:=$(subst ;, ,$(PATH))
 endif
+endif
 SEARCHPATH+=$(patsubst %/,%,$(subst \,/,$(dir $(MAKE))))
 PWD:=$(strip $(wildcard $(addsuffix /pwd.exe,$(SEARCHPATH))))
 ifeq ($(PWD),)
@@ -37,22 +46,13 @@ ifneq ($(findstring cygdrive,$(PATH)),)
 inCygWin=1
 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
-BATCHEXT=.sh
+SRCBATCHEXT=.sh
 else
 ifdef inOS2
-BATCHEXT=.cmd
+SRCBATCHEXT=.cmd
 else
-BATCHEXT=.bat
+SRCBATCHEXT=.bat
 endif
 endif
 ifdef inUnix
@@ -155,6 +155,12 @@ ifeq ($(findstring $(OS_TARGET),$(MAKEFILETARGETS)),)
 $(error The Makefile doesn't support target $(OS_TARGET), please run fpcmake first)
 endif
 endif
+ifneq ($(findstring $(OS_TARGET),$(BSDs)),)
+BSDhier=1
+endif
+ifeq ($(OS_TARGET),linux)
+linuxHier=1
+endif
 export OS_TARGET OS_SOURCE CPU_TARGET CPU_SOURCE FULL_TARGET FULL_SOURCE CROSSCOMPILE
 ifdef FPCDIR
 override FPCDIR:=$(subst \,/,$(FPCDIR))
@@ -218,42 +224,12 @@ 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
-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
 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
 ifndef INSTALL_PREFIX
@@ -262,7 +238,7 @@ INSTALL_PREFIX=$(PREFIX)
 endif
 endif
 ifndef INSTALL_PREFIX
-ifdef UNIXINSTALLDIR
+ifdef UNIXHier
 INSTALL_PREFIX=/usr/local
 else
 ifdef INSTALL_FPCPACKAGE
@@ -281,7 +257,7 @@ DIST_DESTDIR:=$(BASEDIR)
 endif
 export DIST_DESTDIR
 ifndef INSTALL_BASEDIR
-ifdef UNIXINSTALLDIR
+ifdef UNIXHier
 ifdef INSTALL_FPCPACKAGE
 INSTALL_BASEDIR:=$(INSTALL_PREFIX)/lib/fpc/$(FPC_VERSION)
 else
@@ -292,7 +268,7 @@ INSTALL_BASEDIR:=$(INSTALL_PREFIX)
 endif
 endif
 ifndef INSTALL_BINDIR
-ifdef UNIXINSTALLDIR
+ifdef UNIXHier
 ifdef CROSSCOMPILE
 INSTALL_BINDIR:=$(INSTALL_BASEDIR)/cross/$(FULL_TARGET)/bin
 else
@@ -322,19 +298,23 @@ endif
 endif
 endif
 ifndef INSTALL_LIBDIR
-ifdef UNIXINSTALLDIR
+ifdef UNIXHier
 INSTALL_LIBDIR:=$(INSTALL_PREFIX)/lib
 else
 INSTALL_LIBDIR:=$(INSTALL_UNITDIR)
 endif
 endif
 ifndef INSTALL_SOURCEDIR
-ifdef UNIXINSTALLDIR
+ifdef UNIXHier
 ifdef BSDhier
 SRCPREFIXDIR=share/src
 else
+ifdef linuxHier
+SRCPREFIXDIR=share/src
+else
 SRCPREFIXDIR=src
 endif
+endif
 ifdef INSTALL_FPCPACKAGE
 ifdef INSTALL_FPCSUBDIR
 INSTALL_SOURCEDIR:=$(INSTALL_PREFIX)/$(SRCPREFIXDIR)/fpc-$(FPC_VERSION)/$(INSTALL_FPCSUBDIR)/$(PACKAGE_NAME)
@@ -357,12 +337,16 @@ endif
 endif
 endif
 ifndef INSTALL_DOCDIR
-ifdef UNIXINSTALLDIR
+ifdef UNIXHier
 ifdef BSDhier
 DOCPREFIXDIR=share/doc
 else
+ifdef linuxHier
+DOCPREFIXDIR=share/doc
+else
 DOCPREFIXDIR=doc
 endif
+endif
 ifdef INSTALL_FPCPACKAGE
 INSTALL_DOCDIR:=$(INSTALL_PREFIX)/$(DOCPREFIXDIR)/fpc-$(FPC_VERSION)/$(PACKAGE_NAME)
 else
@@ -377,20 +361,28 @@ endif
 endif
 endif
 ifndef INSTALL_EXAMPLEDIR
-ifdef UNIXINSTALLDIR
+ifdef UNIXHier
 ifdef INSTALL_FPCPACKAGE
 ifdef BSDhier
 INSTALL_EXAMPLEDIR:=$(INSTALL_PREFIX)/share/examples/fpc-$(FPC_VERSION)/$(PACKAGE_NAME)
 else
+ifdef linuxHier
+INSTALL_EXAMPLEDIR:=$(INSTALL_DOCDIR)/examples/fpc-$(FPC_VERSION)/$(PACKAGE_NAME)
+else
 INSTALL_EXAMPLEDIR:=$(INSTALL_PREFIX)/doc/fpc-$(FPC_VERSION)/examples/$(PACKAGE_NAME)
 endif
+endif
 else
 ifdef BSDhier
 INSTALL_EXAMPLEDIR:=$(INSTALL_PREFIX)/share/examples/$(PACKAGE_NAME)-$(PACKAGE_VERSION)
 else
+ifdef linuxHier
+INSTALL_EXAMPLEDIR:=$(INSTALL_DOCDIR)/examples/$(PACKAGE_NAME)-$(PACKAGE_VERSION)
+else
 INSTALL_EXAMPLEDIR:=$(INSTALL_PREFIX)/doc/$(PACKAGE_NAME)-$(PACKAGE_VERSION)
 endif
 endif
+endif
 else
 ifdef INSTALL_FPCPACKAGE
 INSTALL_EXAMPLEDIR:=$(INSTALL_BASEDIR)/examples/$(PACKAGE_NAME)
@@ -412,6 +404,7 @@ endif
 else
 CROSSBINDIR=
 endif
+BATCHEXT=.bat
 LOADEREXT=.as
 EXEEXT=.exe
 PPLEXT=.ppl
@@ -444,24 +437,28 @@ ASMEXT=.asm
 SHAREDLIBEXT=.dll
 endif
 ifeq ($(OS_TARGET),linux)
+BATCHEXT=.sh
 EXEEXT=
 HASSHAREDLIB=1
 FPCMADE=fpcmade.lnx
 ZIPSUFFIX=linux
 endif
 ifeq ($(OS_TARGET),freebsd)
+BATCHEXT=.sh
 EXEEXT=
 HASSHAREDLIB=1
 FPCMADE=fpcmade.freebsd
 ZIPSUFFIX=freebsd
 endif
 ifeq ($(OS_TARGET),netbsd)
+BATCHEXT=.sh
 EXEEXT=
 HASSHAREDLIB=1
 FPCMADE=fpcmade.netbsd
 ZIPSUFFIX=netbsd
 endif
 ifeq ($(OS_TARGET),openbsd)
+BATCHEXT=.sh
 EXEEXT=
 HASSHAREDLIB=1
 FPCMADE=fpcmade.openbsd
@@ -473,6 +470,7 @@ FPCMADE=fpcmade.w32
 ZIPSUFFIX=w32
 endif
 ifeq ($(OS_TARGET),os2)
+BATCHEXT=.cmd
 AOUTEXT=.out
 STATICLIBPREFIX=
 SHAREDLIBEXT=.dll
@@ -481,6 +479,7 @@ ZIPSUFFIX=os2
 ECHO=echo
 endif
 ifeq ($(OS_TARGET),emx)
+BATCHEXT=.cmd
 AOUTEXT=.out
 STATICLIBPREFIX=
 SHAREDLIBEXT=.dll
@@ -498,16 +497,19 @@ EXEEXT=.ttp
 FPCMADE=fpcmade.ata
 endif
 ifeq ($(OS_TARGET),beos)
+BATCHEXT=.sh
 EXEEXT=
 FPCMADE=fpcmade.be
 ZIPSUFFIX=be
 endif
 ifeq ($(OS_TARGET),sunos)
+BATCHEXT=.sh
 EXEEXT=
 FPCMADE=fpcmade.sun
 ZIPSUFFIX=sun
 endif
 ifeq ($(OS_TARGET),qnx)
+BATCHEXT=.sh
 EXEEXT=
 FPCMADE=fpcmade.qnx
 ZIPSUFFIX=qnx
@@ -519,10 +521,14 @@ FPCMADE=fpcmade.nw
 ZIPSUFFIX=nw
 endif
 ifeq ($(OS_TARGET),macos)
+BATCHEXT=
 EXEEXT=
-FPCMADE=fpcmade.mcc
+FPCMADE=fpcmade.macos
+ZIPSUFFIX=macos
+DEBUGSYMEXT=.xcoff
 endif
 ifeq ($(OS_TARGET),darwin)
+BATCHEXT=.sh
 EXEEXT=
 HASSHAREDLIB=1
 FPCMADE=fpcmade.darwin
@@ -551,24 +557,28 @@ FPCMADE=fpcmade.dos
 ZIPSUFFIX=watcom
 endif
 ifeq ($(OS_TARGET),linux)
+BATCHEXT=.sh
 EXEEXT=
 HASSHAREDLIB=1
 FPCMADE=fpcmade.lnx
 ZIPSUFFIX=linux
 endif
 ifeq ($(OS_TARGET),freebsd)
+BATCHEXT=.sh
 EXEEXT=
 HASSHAREDLIB=1
 FPCMADE=fpcmade.freebsd
 ZIPSUFFIX=freebsd
 endif
 ifeq ($(OS_TARGET),netbsd)
+BATCHEXT=.sh
 EXEEXT=
 HASSHAREDLIB=1
 FPCMADE=fpcmade.netbsd
 ZIPSUFFIX=netbsd
 endif
 ifeq ($(OS_TARGET),openbsd)
+BATCHEXT=.sh
 EXEEXT=
 HASSHAREDLIB=1
 FPCMADE=fpcmade.openbsd
@@ -585,6 +595,7 @@ FPCMADE=fpcmade.w32
 ZIPSUFFIX=w32
 endif
 ifeq ($(OS_TARGET),os2)
+BATCHEXT=.cmd
 PPUEXT=.ppo
 ASMEXT=.so2
 OEXT=.oo2
@@ -617,6 +628,7 @@ EXEEXT=.ttp
 FPCMADE=fpcmade.ata
 endif
 ifeq ($(OS_TARGET),beos)
+BATCHEXT=.sh
 PPUEXT=.ppu
 ASMEXT=.s
 OEXT=.o
@@ -627,6 +639,7 @@ FPCMADE=fpcmade.be
 ZIPSUFFIX=be
 endif
 ifeq ($(OS_TARGET),sunos)
+BATCHEXT=.sh
 PPUEXT=.ppu
 ASMEXT=.s
 OEXT=.o
@@ -637,6 +650,7 @@ FPCMADE=fpcmade.sun
 ZIPSUFFIX=sun
 endif
 ifeq ($(OS_TARGET),qnx)
+BATCHEXT=.sh
 PPUEXT=.ppu
 ASMEXT=.s
 OEXT=.o
@@ -659,13 +673,15 @@ ZIPSUFFIX=nw
 EXEEXT=.nlm
 endif
 ifeq ($(OS_TARGET),macos)
+BATCHEXT=
 PPUEXT=.ppu
 ASMEXT=.s
 OEXT=.o
 SMARTEXT=.sl
 STATICLIBEXT=.a
 EXEEXT=
-FPCMADE=fpcmade.mcc
+DEBUGSYMEXT=.xcoff
+FPCMADE=fpcmade.macos
 endif
 endif
 ifndef ECHO
@@ -673,7 +689,7 @@ ECHO:=$(strip $(wildcard $(addsuffix /gecho$(SRCEXEEXT),$(SEARCHPATH))))
 ifeq ($(ECHO),)
 ECHO:=$(strip $(wildcard $(addsuffix /echo$(SRCEXEEXT),$(SEARCHPATH))))
 ifeq ($(ECHO),)
-ECHO=
+ECHO= __missing_command__
 else
 ECHO:=$(firstword $(ECHO))
 endif
@@ -687,7 +703,7 @@ DATE:=$(strip $(wildcard $(addsuffix /gdate$(SRCEXEEXT),$(SEARCHPATH))))
 ifeq ($(DATE),)
 DATE:=$(strip $(wildcard $(addsuffix /date$(SRCEXEEXT),$(SEARCHPATH))))
 ifeq ($(DATE),)
-DATE=
+DATE= __missing_command__
 else
 DATE:=$(firstword $(DATE))
 endif
@@ -701,7 +717,7 @@ GINSTALL:=$(strip $(wildcard $(addsuffix /ginstall$(SRCEXEEXT),$(SEARCHPATH))))
 ifeq ($(GINSTALL),)
 GINSTALL:=$(strip $(wildcard $(addsuffix /install$(SRCEXEEXT),$(SEARCHPATH))))
 ifeq ($(GINSTALL),)
-GINSTALL=
+GINSTALL= __missing_command__
 else
 GINSTALL:=$(firstword $(GINSTALL))
 endif
@@ -713,7 +729,7 @@ export GINSTALL
 ifndef CPPROG
 CPPROG:=$(strip $(wildcard $(addsuffix /cp$(SRCEXEEXT),$(SEARCHPATH))))
 ifeq ($(CPPROG),)
-CPPROG=
+CPPROG= __missing_command__
 else
 CPPROG:=$(firstword $(CPPROG))
 endif
@@ -722,7 +738,7 @@ export CPPROG
 ifndef RMPROG
 RMPROG:=$(strip $(wildcard $(addsuffix /rm$(SRCEXEEXT),$(SEARCHPATH))))
 ifeq ($(RMPROG),)
-RMPROG=
+RMPROG= __missing_command__
 else
 RMPROG:=$(firstword $(RMPROG))
 endif
@@ -731,7 +747,7 @@ export RMPROG
 ifndef MVPROG
 MVPROG:=$(strip $(wildcard $(addsuffix /mv$(SRCEXEEXT),$(SEARCHPATH))))
 ifeq ($(MVPROG),)
-MVPROG=
+MVPROG= __missing_command__
 else
 MVPROG:=$(firstword $(MVPROG))
 endif
@@ -780,7 +796,7 @@ export ECHOREDIR COPY COPYTREE MOVE DEL DELTREE INSTALL INSTALLEXE MKDIR
 ifndef PPUMOVE
 PPUMOVE:=$(strip $(wildcard $(addsuffix /ppumove$(SRCEXEEXT),$(SEARCHPATH))))
 ifeq ($(PPUMOVE),)
-PPUMOVE=
+PPUMOVE= __missing_command__
 else
 PPUMOVE:=$(firstword $(PPUMOVE))
 endif
@@ -789,7 +805,7 @@ export PPUMOVE
 ifndef FPCMAKE
 FPCMAKE:=$(strip $(wildcard $(addsuffix /fpcmake$(SRCEXEEXT),$(SEARCHPATH))))
 ifeq ($(FPCMAKE),)
-FPCMAKE=
+FPCMAKE= __missing_command__
 else
 FPCMAKE:=$(firstword $(FPCMAKE))
 endif
@@ -798,7 +814,7 @@ export FPCMAKE
 ifndef ZIPPROG
 ZIPPROG:=$(strip $(wildcard $(addsuffix /zip$(SRCEXEEXT),$(SEARCHPATH))))
 ifeq ($(ZIPPROG),)
-ZIPPROG=
+ZIPPROG= __missing_command__
 else
 ZIPPROG:=$(firstword $(ZIPPROG))
 endif
@@ -807,7 +823,7 @@ export ZIPPROG
 ifndef TARPROG
 TARPROG:=$(strip $(wildcard $(addsuffix /tar$(SRCEXEEXT),$(SEARCHPATH))))
 ifeq ($(TARPROG),)
-TARPROG=
+TARPROG= __missing_command__
 else
 TARPROG:=$(firstword $(TARPROG))
 endif
@@ -819,9 +835,11 @@ ARNAME=$(BINUTILSPREFIX)ar
 RCNAME=$(BINUTILSPREFIX)rc
 ifneq ($(findstring 1.0.,$(FPC_VERSION)),)
 ifeq ($(OS_TARGET),win32)
-ASNAME=as
-LDNAME=ld
-ARNAME=ar
+ifeq ($(CROSSBINDIR),)
+ASNAME=asw
+LDNAME=ldw
+ARNAME=arw
+endif
 endif
 endif
 ifndef ASPROG
@@ -856,7 +874,7 @@ AS=$(ASPROG)
 LD=$(LDPROG)
 RC=$(RCPROG)
 AR=$(ARPROG)
-PPAS=ppas$(BATCHEXT)
+PPAS=ppas$(SRCBATCHEXT)
 ifdef inUnix
 LDCONFIG=ldconfig
 else
@@ -1115,8 +1133,12 @@ ifdef RELEASE
 ifeq ($(CPU_TARGET),i386)
 FPCCPUOPT:=-OG2p3
 else
+ifeq ($(CPU_TARGET),powerpc)
+FPCCPUOPT:=-O1
+else
 FPCCPUOPT:=
 endif
+endif
 override FPCOPT+=-Xs $(FPCCPUOPT) -n
 override FPCOPTDEF+=RELEASE
 endif
@@ -1342,7 +1364,7 @@ USEZIPWRAPPER=1
 endif
 ifdef USEZIPWRAPPER
 ZIPPATHSEP=$(PATHSEP)
-ZIPWRAPPER=$(subst /,$(PATHSEP),$(DIST_DESTDIR)/fpczip$(BATCHEXT))
+ZIPWRAPPER=$(subst /,$(PATHSEP),$(DIST_DESTDIR)/fpczip$(SRCBATCHEXT))
 else
 ZIPPATHSEP=/
 endif
@@ -1396,6 +1418,9 @@ override CLEANPPUFILES+=$(addsuffix $(PPUEXT),$(CLEAN_UNITS))
 endif
 ifdef 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 CLEANPPULINKFILES:=$(wildcard $(addprefix $(UNITTARGETDIRPREFIX),$(CLEANPPULINKFILES)))
 endif
@@ -1419,6 +1444,7 @@ ifdef LIB_NAME
 	-$(DEL) $(LIB_NAME) $(LIB_FULLNAME)
 endif
 	-$(DEL) $(FPCMADE) Package.fpc $(PPAS) script.res link.res $(FPCEXTFILE) $(REDIRFILE)
+	-$(DEL) *$(ASMEXT) *_ppas$(BATCHEXT)
 fpc_distclean: clean
 ifdef COMPILER_UNITTARGETDIR
 TARGETDIRCLEAN=fpc_clean
@@ -1430,9 +1456,13 @@ endif
 	-$(DEL) *$(OEXT) *$(PPUEXT) *$(RSTEXT) *$(ASMEXT) *$(STATICLIBEXT) *$(SHAREDLIBEXT) *$(PPLEXT)
 	-$(DELTREE) *$(SMARTEXT)
 	-$(DEL) $(FPCMADE) Package.fpc $(PPAS) script.res link.res $(FPCEXTFILE) $(REDIRFILE)
+	-$(DEL) *_ppas$(BATCHEXT)
 ifdef AOUTEXT
 	-$(DEL) *$(AOUTEXT)
 endif
+ifdef DEBUGSYMEXT
+	-$(DEL) *$(DEBUGSYMEXT)
+endif
 .PHONY: fpc_baseinfo
 override INFORULES+=fpc_baseinfo
 fpc_baseinfo:

+ 114 - 72
packages/extra/ncurses/Makefile

@@ -1,15 +1,24 @@
 #
-# Don't edit, this file is generated by FPCMake Version 1.1 [2004/02/22]
+# Don't edit, this file is generated by FPCMake Version 1.1 [2004/04/21]
 #
 default: all
 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:=$(subst \,/,$(PATH))
+ifneq ($(findstring darwin,$(OSTYPE)),)
+inUnix=1 #darwin
+SEARCHPATH:=$(filter-out .,$(subst :, ,$(PATH)))
+else
 ifeq ($(findstring ;,$(PATH)),)
 inUnix=1
 SEARCHPATH:=$(filter-out .,$(subst :, ,$(PATH)))
 else
 SEARCHPATH:=$(subst ;, ,$(PATH))
 endif
+endif
 SEARCHPATH+=$(patsubst %/,%,$(subst \,/,$(dir $(MAKE))))
 PWD:=$(strip $(wildcard $(addsuffix /pwd.exe,$(SEARCHPATH))))
 ifeq ($(PWD),)
@@ -37,22 +46,13 @@ ifneq ($(findstring cygdrive,$(PATH)),)
 inCygWin=1
 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
-BATCHEXT=.sh
+SRCBATCHEXT=.sh
 else
 ifdef inOS2
-BATCHEXT=.cmd
+SRCBATCHEXT=.cmd
 else
-BATCHEXT=.bat
+SRCBATCHEXT=.bat
 endif
 endif
 ifdef inUnix
@@ -155,6 +155,12 @@ ifeq ($(findstring $(OS_TARGET),$(MAKEFILETARGETS)),)
 $(error The Makefile doesn't support target $(OS_TARGET), please run fpcmake first)
 endif
 endif
+ifneq ($(findstring $(OS_TARGET),$(BSDs)),)
+BSDhier=1
+endif
+ifeq ($(OS_TARGET),linux)
+linuxHier=1
+endif
 export OS_TARGET OS_SOURCE CPU_TARGET CPU_SOURCE FULL_TARGET FULL_SOURCE CROSSCOMPILE
 ifdef FPCDIR
 override FPCDIR:=$(subst \,/,$(FPCDIR))
@@ -219,42 +225,12 @@ 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
-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
 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
 ifndef INSTALL_PREFIX
@@ -263,7 +239,7 @@ INSTALL_PREFIX=$(PREFIX)
 endif
 endif
 ifndef INSTALL_PREFIX
-ifdef UNIXINSTALLDIR
+ifdef UNIXHier
 INSTALL_PREFIX=/usr/local
 else
 ifdef INSTALL_FPCPACKAGE
@@ -282,7 +258,7 @@ DIST_DESTDIR:=$(BASEDIR)
 endif
 export DIST_DESTDIR
 ifndef INSTALL_BASEDIR
-ifdef UNIXINSTALLDIR
+ifdef UNIXHier
 ifdef INSTALL_FPCPACKAGE
 INSTALL_BASEDIR:=$(INSTALL_PREFIX)/lib/fpc/$(FPC_VERSION)
 else
@@ -293,7 +269,7 @@ INSTALL_BASEDIR:=$(INSTALL_PREFIX)
 endif
 endif
 ifndef INSTALL_BINDIR
-ifdef UNIXINSTALLDIR
+ifdef UNIXHier
 ifdef CROSSCOMPILE
 INSTALL_BINDIR:=$(INSTALL_BASEDIR)/cross/$(FULL_TARGET)/bin
 else
@@ -323,19 +299,23 @@ endif
 endif
 endif
 ifndef INSTALL_LIBDIR
-ifdef UNIXINSTALLDIR
+ifdef UNIXHier
 INSTALL_LIBDIR:=$(INSTALL_PREFIX)/lib
 else
 INSTALL_LIBDIR:=$(INSTALL_UNITDIR)
 endif
 endif
 ifndef INSTALL_SOURCEDIR
-ifdef UNIXINSTALLDIR
+ifdef UNIXHier
 ifdef BSDhier
 SRCPREFIXDIR=share/src
 else
+ifdef linuxHier
+SRCPREFIXDIR=share/src
+else
 SRCPREFIXDIR=src
 endif
+endif
 ifdef INSTALL_FPCPACKAGE
 ifdef INSTALL_FPCSUBDIR
 INSTALL_SOURCEDIR:=$(INSTALL_PREFIX)/$(SRCPREFIXDIR)/fpc-$(FPC_VERSION)/$(INSTALL_FPCSUBDIR)/$(PACKAGE_NAME)
@@ -358,12 +338,16 @@ endif
 endif
 endif
 ifndef INSTALL_DOCDIR
-ifdef UNIXINSTALLDIR
+ifdef UNIXHier
 ifdef BSDhier
 DOCPREFIXDIR=share/doc
 else
+ifdef linuxHier
+DOCPREFIXDIR=share/doc
+else
 DOCPREFIXDIR=doc
 endif
+endif
 ifdef INSTALL_FPCPACKAGE
 INSTALL_DOCDIR:=$(INSTALL_PREFIX)/$(DOCPREFIXDIR)/fpc-$(FPC_VERSION)/$(PACKAGE_NAME)
 else
@@ -378,20 +362,28 @@ endif
 endif
 endif
 ifndef INSTALL_EXAMPLEDIR
-ifdef UNIXINSTALLDIR
+ifdef UNIXHier
 ifdef INSTALL_FPCPACKAGE
 ifdef BSDhier
 INSTALL_EXAMPLEDIR:=$(INSTALL_PREFIX)/share/examples/fpc-$(FPC_VERSION)/$(PACKAGE_NAME)
 else
+ifdef linuxHier
+INSTALL_EXAMPLEDIR:=$(INSTALL_DOCDIR)/examples/fpc-$(FPC_VERSION)/$(PACKAGE_NAME)
+else
 INSTALL_EXAMPLEDIR:=$(INSTALL_PREFIX)/doc/fpc-$(FPC_VERSION)/examples/$(PACKAGE_NAME)
 endif
+endif
 else
 ifdef BSDhier
 INSTALL_EXAMPLEDIR:=$(INSTALL_PREFIX)/share/examples/$(PACKAGE_NAME)-$(PACKAGE_VERSION)
 else
+ifdef linuxHier
+INSTALL_EXAMPLEDIR:=$(INSTALL_DOCDIR)/examples/$(PACKAGE_NAME)-$(PACKAGE_VERSION)
+else
 INSTALL_EXAMPLEDIR:=$(INSTALL_PREFIX)/doc/$(PACKAGE_NAME)-$(PACKAGE_VERSION)
 endif
 endif
+endif
 else
 ifdef INSTALL_FPCPACKAGE
 INSTALL_EXAMPLEDIR:=$(INSTALL_BASEDIR)/examples/$(PACKAGE_NAME)
@@ -415,7 +407,19 @@ CROSSBINDIR=
 endif
 ifeq ($(OS_SOURCE),linux)
 ifndef GCCLIBDIR
-GCCLIBDIR:=$(shell dirname `gcc -print-libgcc-file-name`)
+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
 ifndef OTHERLIBDIR
 OTHERLIBDIR:=$(shell grep -v "^\#" /etc/ld.so.conf | awk '{ ORS=" "; print $1 }')
@@ -427,6 +431,7 @@ OTHERLIBDIR+=/usr/pkg/lib
 endif
 export GCCLIBDIR OTHERLIB
 endif
+BATCHEXT=.bat
 LOADEREXT=.as
 EXEEXT=.exe
 PPLEXT=.ppl
@@ -459,24 +464,28 @@ ASMEXT=.asm
 SHAREDLIBEXT=.dll
 endif
 ifeq ($(OS_TARGET),linux)
+BATCHEXT=.sh
 EXEEXT=
 HASSHAREDLIB=1
 FPCMADE=fpcmade.lnx
 ZIPSUFFIX=linux
 endif
 ifeq ($(OS_TARGET),freebsd)
+BATCHEXT=.sh
 EXEEXT=
 HASSHAREDLIB=1
 FPCMADE=fpcmade.freebsd
 ZIPSUFFIX=freebsd
 endif
 ifeq ($(OS_TARGET),netbsd)
+BATCHEXT=.sh
 EXEEXT=
 HASSHAREDLIB=1
 FPCMADE=fpcmade.netbsd
 ZIPSUFFIX=netbsd
 endif
 ifeq ($(OS_TARGET),openbsd)
+BATCHEXT=.sh
 EXEEXT=
 HASSHAREDLIB=1
 FPCMADE=fpcmade.openbsd
@@ -488,6 +497,7 @@ FPCMADE=fpcmade.w32
 ZIPSUFFIX=w32
 endif
 ifeq ($(OS_TARGET),os2)
+BATCHEXT=.cmd
 AOUTEXT=.out
 STATICLIBPREFIX=
 SHAREDLIBEXT=.dll
@@ -496,6 +506,7 @@ ZIPSUFFIX=os2
 ECHO=echo
 endif
 ifeq ($(OS_TARGET),emx)
+BATCHEXT=.cmd
 AOUTEXT=.out
 STATICLIBPREFIX=
 SHAREDLIBEXT=.dll
@@ -513,16 +524,19 @@ EXEEXT=.ttp
 FPCMADE=fpcmade.ata
 endif
 ifeq ($(OS_TARGET),beos)
+BATCHEXT=.sh
 EXEEXT=
 FPCMADE=fpcmade.be
 ZIPSUFFIX=be
 endif
 ifeq ($(OS_TARGET),sunos)
+BATCHEXT=.sh
 EXEEXT=
 FPCMADE=fpcmade.sun
 ZIPSUFFIX=sun
 endif
 ifeq ($(OS_TARGET),qnx)
+BATCHEXT=.sh
 EXEEXT=
 FPCMADE=fpcmade.qnx
 ZIPSUFFIX=qnx
@@ -534,10 +548,14 @@ FPCMADE=fpcmade.nw
 ZIPSUFFIX=nw
 endif
 ifeq ($(OS_TARGET),macos)
+BATCHEXT=
 EXEEXT=
-FPCMADE=fpcmade.mcc
+FPCMADE=fpcmade.macos
+ZIPSUFFIX=macos
+DEBUGSYMEXT=.xcoff
 endif
 ifeq ($(OS_TARGET),darwin)
+BATCHEXT=.sh
 EXEEXT=
 HASSHAREDLIB=1
 FPCMADE=fpcmade.darwin
@@ -566,24 +584,28 @@ FPCMADE=fpcmade.dos
 ZIPSUFFIX=watcom
 endif
 ifeq ($(OS_TARGET),linux)
+BATCHEXT=.sh
 EXEEXT=
 HASSHAREDLIB=1
 FPCMADE=fpcmade.lnx
 ZIPSUFFIX=linux
 endif
 ifeq ($(OS_TARGET),freebsd)
+BATCHEXT=.sh
 EXEEXT=
 HASSHAREDLIB=1
 FPCMADE=fpcmade.freebsd
 ZIPSUFFIX=freebsd
 endif
 ifeq ($(OS_TARGET),netbsd)
+BATCHEXT=.sh
 EXEEXT=
 HASSHAREDLIB=1
 FPCMADE=fpcmade.netbsd
 ZIPSUFFIX=netbsd
 endif
 ifeq ($(OS_TARGET),openbsd)
+BATCHEXT=.sh
 EXEEXT=
 HASSHAREDLIB=1
 FPCMADE=fpcmade.openbsd
@@ -600,6 +622,7 @@ FPCMADE=fpcmade.w32
 ZIPSUFFIX=w32
 endif
 ifeq ($(OS_TARGET),os2)
+BATCHEXT=.cmd
 PPUEXT=.ppo
 ASMEXT=.so2
 OEXT=.oo2
@@ -632,6 +655,7 @@ EXEEXT=.ttp
 FPCMADE=fpcmade.ata
 endif
 ifeq ($(OS_TARGET),beos)
+BATCHEXT=.sh
 PPUEXT=.ppu
 ASMEXT=.s
 OEXT=.o
@@ -642,6 +666,7 @@ FPCMADE=fpcmade.be
 ZIPSUFFIX=be
 endif
 ifeq ($(OS_TARGET),sunos)
+BATCHEXT=.sh
 PPUEXT=.ppu
 ASMEXT=.s
 OEXT=.o
@@ -652,6 +677,7 @@ FPCMADE=fpcmade.sun
 ZIPSUFFIX=sun
 endif
 ifeq ($(OS_TARGET),qnx)
+BATCHEXT=.sh
 PPUEXT=.ppu
 ASMEXT=.s
 OEXT=.o
@@ -674,13 +700,15 @@ ZIPSUFFIX=nw
 EXEEXT=.nlm
 endif
 ifeq ($(OS_TARGET),macos)
+BATCHEXT=
 PPUEXT=.ppu
 ASMEXT=.s
 OEXT=.o
 SMARTEXT=.sl
 STATICLIBEXT=.a
 EXEEXT=
-FPCMADE=fpcmade.mcc
+DEBUGSYMEXT=.xcoff
+FPCMADE=fpcmade.macos
 endif
 endif
 ifndef ECHO
@@ -688,7 +716,7 @@ ECHO:=$(strip $(wildcard $(addsuffix /gecho$(SRCEXEEXT),$(SEARCHPATH))))
 ifeq ($(ECHO),)
 ECHO:=$(strip $(wildcard $(addsuffix /echo$(SRCEXEEXT),$(SEARCHPATH))))
 ifeq ($(ECHO),)
-ECHO=
+ECHO= __missing_command__
 else
 ECHO:=$(firstword $(ECHO))
 endif
@@ -702,7 +730,7 @@ DATE:=$(strip $(wildcard $(addsuffix /gdate$(SRCEXEEXT),$(SEARCHPATH))))
 ifeq ($(DATE),)
 DATE:=$(strip $(wildcard $(addsuffix /date$(SRCEXEEXT),$(SEARCHPATH))))
 ifeq ($(DATE),)
-DATE=
+DATE= __missing_command__
 else
 DATE:=$(firstword $(DATE))
 endif
@@ -716,7 +744,7 @@ GINSTALL:=$(strip $(wildcard $(addsuffix /ginstall$(SRCEXEEXT),$(SEARCHPATH))))
 ifeq ($(GINSTALL),)
 GINSTALL:=$(strip $(wildcard $(addsuffix /install$(SRCEXEEXT),$(SEARCHPATH))))
 ifeq ($(GINSTALL),)
-GINSTALL=
+GINSTALL= __missing_command__
 else
 GINSTALL:=$(firstword $(GINSTALL))
 endif
@@ -728,7 +756,7 @@ export GINSTALL
 ifndef CPPROG
 CPPROG:=$(strip $(wildcard $(addsuffix /cp$(SRCEXEEXT),$(SEARCHPATH))))
 ifeq ($(CPPROG),)
-CPPROG=
+CPPROG= __missing_command__
 else
 CPPROG:=$(firstword $(CPPROG))
 endif
@@ -737,7 +765,7 @@ export CPPROG
 ifndef RMPROG
 RMPROG:=$(strip $(wildcard $(addsuffix /rm$(SRCEXEEXT),$(SEARCHPATH))))
 ifeq ($(RMPROG),)
-RMPROG=
+RMPROG= __missing_command__
 else
 RMPROG:=$(firstword $(RMPROG))
 endif
@@ -746,7 +774,7 @@ export RMPROG
 ifndef MVPROG
 MVPROG:=$(strip $(wildcard $(addsuffix /mv$(SRCEXEEXT),$(SEARCHPATH))))
 ifeq ($(MVPROG),)
-MVPROG=
+MVPROG= __missing_command__
 else
 MVPROG:=$(firstword $(MVPROG))
 endif
@@ -795,7 +823,7 @@ export ECHOREDIR COPY COPYTREE MOVE DEL DELTREE INSTALL INSTALLEXE MKDIR
 ifndef PPUMOVE
 PPUMOVE:=$(strip $(wildcard $(addsuffix /ppumove$(SRCEXEEXT),$(SEARCHPATH))))
 ifeq ($(PPUMOVE),)
-PPUMOVE=
+PPUMOVE= __missing_command__
 else
 PPUMOVE:=$(firstword $(PPUMOVE))
 endif
@@ -804,7 +832,7 @@ export PPUMOVE
 ifndef FPCMAKE
 FPCMAKE:=$(strip $(wildcard $(addsuffix /fpcmake$(SRCEXEEXT),$(SEARCHPATH))))
 ifeq ($(FPCMAKE),)
-FPCMAKE=
+FPCMAKE= __missing_command__
 else
 FPCMAKE:=$(firstword $(FPCMAKE))
 endif
@@ -813,7 +841,7 @@ export FPCMAKE
 ifndef ZIPPROG
 ZIPPROG:=$(strip $(wildcard $(addsuffix /zip$(SRCEXEEXT),$(SEARCHPATH))))
 ifeq ($(ZIPPROG),)
-ZIPPROG=
+ZIPPROG= __missing_command__
 else
 ZIPPROG:=$(firstword $(ZIPPROG))
 endif
@@ -822,7 +850,7 @@ export ZIPPROG
 ifndef TARPROG
 TARPROG:=$(strip $(wildcard $(addsuffix /tar$(SRCEXEEXT),$(SEARCHPATH))))
 ifeq ($(TARPROG),)
-TARPROG=
+TARPROG= __missing_command__
 else
 TARPROG:=$(firstword $(TARPROG))
 endif
@@ -834,9 +862,11 @@ ARNAME=$(BINUTILSPREFIX)ar
 RCNAME=$(BINUTILSPREFIX)rc
 ifneq ($(findstring 1.0.,$(FPC_VERSION)),)
 ifeq ($(OS_TARGET),win32)
-ASNAME=as
-LDNAME=ld
-ARNAME=ar
+ifeq ($(CROSSBINDIR),)
+ASNAME=asw
+LDNAME=ldw
+ARNAME=arw
+endif
 endif
 endif
 ifndef ASPROG
@@ -871,7 +901,7 @@ AS=$(ASPROG)
 LD=$(LDPROG)
 RC=$(RCPROG)
 AR=$(ARPROG)
-PPAS=ppas$(BATCHEXT)
+PPAS=ppas$(SRCBATCHEXT)
 ifdef inUnix
 LDCONFIG=ldconfig
 else
@@ -1130,8 +1160,12 @@ ifdef RELEASE
 ifeq ($(CPU_TARGET),i386)
 FPCCPUOPT:=-OG2p3
 else
+ifeq ($(CPU_TARGET),powerpc)
+FPCCPUOPT:=-O1
+else
 FPCCPUOPT:=
 endif
+endif
 override FPCOPT+=-Xs $(FPCCPUOPT) -n
 override FPCOPTDEF+=RELEASE
 endif
@@ -1381,7 +1415,7 @@ USEZIPWRAPPER=1
 endif
 ifdef USEZIPWRAPPER
 ZIPPATHSEP=$(PATHSEP)
-ZIPWRAPPER=$(subst /,$(PATHSEP),$(DIST_DESTDIR)/fpczip$(BATCHEXT))
+ZIPWRAPPER=$(subst /,$(PATHSEP),$(DIST_DESTDIR)/fpczip$(SRCBATCHEXT))
 else
 ZIPPATHSEP=/
 endif
@@ -1435,6 +1469,9 @@ override CLEANPPUFILES+=$(addsuffix $(PPUEXT),$(CLEAN_UNITS))
 endif
 ifdef 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 CLEANPPULINKFILES:=$(wildcard $(addprefix $(UNITTARGETDIRPREFIX),$(CLEANPPULINKFILES)))
 endif
@@ -1458,6 +1495,7 @@ ifdef LIB_NAME
 	-$(DEL) $(LIB_NAME) $(LIB_FULLNAME)
 endif
 	-$(DEL) $(FPCMADE) Package.fpc $(PPAS) script.res link.res $(FPCEXTFILE) $(REDIRFILE)
+	-$(DEL) *$(ASMEXT) *_ppas$(BATCHEXT)
 fpc_distclean: clean
 ifdef COMPILER_UNITTARGETDIR
 TARGETDIRCLEAN=fpc_clean
@@ -1469,9 +1507,13 @@ endif
 	-$(DEL) *$(OEXT) *$(PPUEXT) *$(RSTEXT) *$(ASMEXT) *$(STATICLIBEXT) *$(SHAREDLIBEXT) *$(PPLEXT)
 	-$(DELTREE) *$(SMARTEXT)
 	-$(DEL) $(FPCMADE) Package.fpc $(PPAS) script.res link.res $(FPCEXTFILE) $(REDIRFILE)
+	-$(DEL) *_ppas$(BATCHEXT)
 ifdef AOUTEXT
 	-$(DEL) *$(AOUTEXT)
 endif
+ifdef DEBUGSYMEXT
+	-$(DEL) *$(DEBUGSYMEXT)
+endif
 .PHONY: fpc_baseinfo
 override INFORULES+=fpc_baseinfo
 fpc_baseinfo:

+ 109 - 71
packages/extra/numlib/Makefile

@@ -1,15 +1,24 @@
 #
-# Don't edit, this file is generated by FPCMake Version 1.1 [2004/01/05]
+# Don't edit, this file is generated by FPCMake Version 1.1 [2004/04/21]
 #
 default: all
 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:=$(subst \,/,$(PATH))
+ifneq ($(findstring darwin,$(OSTYPE)),)
+inUnix=1 #darwin
+SEARCHPATH:=$(filter-out .,$(subst :, ,$(PATH)))
+else
 ifeq ($(findstring ;,$(PATH)),)
 inUnix=1
 SEARCHPATH:=$(filter-out .,$(subst :, ,$(PATH)))
 else
 SEARCHPATH:=$(subst ;, ,$(PATH))
 endif
+endif
 SEARCHPATH+=$(patsubst %/,%,$(subst \,/,$(dir $(MAKE))))
 PWD:=$(strip $(wildcard $(addsuffix /pwd.exe,$(SEARCHPATH))))
 ifeq ($(PWD),)
@@ -37,22 +46,13 @@ ifneq ($(findstring cygdrive,$(PATH)),)
 inCygWin=1
 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
-BATCHEXT=.sh
+SRCBATCHEXT=.sh
 else
 ifdef inOS2
-BATCHEXT=.cmd
+SRCBATCHEXT=.cmd
 else
-BATCHEXT=.bat
+SRCBATCHEXT=.bat
 endif
 endif
 ifdef inUnix
@@ -155,6 +155,12 @@ ifeq ($(findstring $(OS_TARGET),$(MAKEFILETARGETS)),)
 $(error The Makefile doesn't support target $(OS_TARGET), please run fpcmake first)
 endif
 endif
+ifneq ($(findstring $(OS_TARGET),$(BSDs)),)
+BSDhier=1
+endif
+ifeq ($(OS_TARGET),linux)
+linuxHier=1
+endif
 export OS_TARGET OS_SOURCE CPU_TARGET CPU_SOURCE FULL_TARGET FULL_SOURCE CROSSCOMPILE
 ifdef FPCDIR
 override FPCDIR:=$(subst \,/,$(FPCDIR))
@@ -184,11 +190,14 @@ override FPCDIR:=$(FPCDIR)/..
 ifeq ($(wildcard $(addprefix $(FPCDIR)/,rtl units)),)
 override FPCDIR:=$(FPCDIR)/..
 ifeq ($(wildcard $(addprefix $(FPCDIR)/,rtl units)),)
+override FPCDIR:=$(BASEDIR)
+ifeq ($(wildcard $(addprefix $(FPCDIR)/,rtl units)),)
 override FPCDIR=c:/pp
 endif
 endif
 endif
 endif
+endif
 ifndef CROSSDIR
 CROSSDIR:=$(FPCDIR)/cross/$(FULL_TARGET)
 endif
@@ -215,42 +224,12 @@ 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
-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
 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
 ifndef INSTALL_PREFIX
@@ -259,7 +238,7 @@ INSTALL_PREFIX=$(PREFIX)
 endif
 endif
 ifndef INSTALL_PREFIX
-ifdef UNIXINSTALLDIR
+ifdef UNIXHier
 INSTALL_PREFIX=/usr/local
 else
 ifdef INSTALL_FPCPACKAGE
@@ -278,7 +257,7 @@ DIST_DESTDIR:=$(BASEDIR)
 endif
 export DIST_DESTDIR
 ifndef INSTALL_BASEDIR
-ifdef UNIXINSTALLDIR
+ifdef UNIXHier
 ifdef INSTALL_FPCPACKAGE
 INSTALL_BASEDIR:=$(INSTALL_PREFIX)/lib/fpc/$(FPC_VERSION)
 else
@@ -289,7 +268,7 @@ INSTALL_BASEDIR:=$(INSTALL_PREFIX)
 endif
 endif
 ifndef INSTALL_BINDIR
-ifdef UNIXINSTALLDIR
+ifdef UNIXHier
 ifdef CROSSCOMPILE
 INSTALL_BINDIR:=$(INSTALL_BASEDIR)/cross/$(FULL_TARGET)/bin
 else
@@ -319,19 +298,23 @@ endif
 endif
 endif
 ifndef INSTALL_LIBDIR
-ifdef UNIXINSTALLDIR
+ifdef UNIXHier
 INSTALL_LIBDIR:=$(INSTALL_PREFIX)/lib
 else
 INSTALL_LIBDIR:=$(INSTALL_UNITDIR)
 endif
 endif
 ifndef INSTALL_SOURCEDIR
-ifdef UNIXINSTALLDIR
+ifdef UNIXHier
 ifdef BSDhier
 SRCPREFIXDIR=share/src
 else
+ifdef linuxHier
+SRCPREFIXDIR=share/src
+else
 SRCPREFIXDIR=src
 endif
+endif
 ifdef INSTALL_FPCPACKAGE
 ifdef INSTALL_FPCSUBDIR
 INSTALL_SOURCEDIR:=$(INSTALL_PREFIX)/$(SRCPREFIXDIR)/fpc-$(FPC_VERSION)/$(INSTALL_FPCSUBDIR)/$(PACKAGE_NAME)
@@ -354,12 +337,16 @@ endif
 endif
 endif
 ifndef INSTALL_DOCDIR
-ifdef UNIXINSTALLDIR
+ifdef UNIXHier
 ifdef BSDhier
 DOCPREFIXDIR=share/doc
 else
+ifdef linuxHier
+DOCPREFIXDIR=share/doc
+else
 DOCPREFIXDIR=doc
 endif
+endif
 ifdef INSTALL_FPCPACKAGE
 INSTALL_DOCDIR:=$(INSTALL_PREFIX)/$(DOCPREFIXDIR)/fpc-$(FPC_VERSION)/$(PACKAGE_NAME)
 else
@@ -374,20 +361,28 @@ endif
 endif
 endif
 ifndef INSTALL_EXAMPLEDIR
-ifdef UNIXINSTALLDIR
+ifdef UNIXHier
 ifdef INSTALL_FPCPACKAGE
 ifdef BSDhier
 INSTALL_EXAMPLEDIR:=$(INSTALL_PREFIX)/share/examples/fpc-$(FPC_VERSION)/$(PACKAGE_NAME)
 else
+ifdef linuxHier
+INSTALL_EXAMPLEDIR:=$(INSTALL_DOCDIR)/examples/fpc-$(FPC_VERSION)/$(PACKAGE_NAME)
+else
 INSTALL_EXAMPLEDIR:=$(INSTALL_PREFIX)/doc/fpc-$(FPC_VERSION)/examples/$(PACKAGE_NAME)
 endif
+endif
 else
 ifdef BSDhier
 INSTALL_EXAMPLEDIR:=$(INSTALL_PREFIX)/share/examples/$(PACKAGE_NAME)-$(PACKAGE_VERSION)
 else
+ifdef linuxHier
+INSTALL_EXAMPLEDIR:=$(INSTALL_DOCDIR)/examples/$(PACKAGE_NAME)-$(PACKAGE_VERSION)
+else
 INSTALL_EXAMPLEDIR:=$(INSTALL_PREFIX)/doc/$(PACKAGE_NAME)-$(PACKAGE_VERSION)
 endif
 endif
+endif
 else
 ifdef INSTALL_FPCPACKAGE
 INSTALL_EXAMPLEDIR:=$(INSTALL_BASEDIR)/examples/$(PACKAGE_NAME)
@@ -409,6 +404,7 @@ endif
 else
 CROSSBINDIR=
 endif
+BATCHEXT=.bat
 LOADEREXT=.as
 EXEEXT=.exe
 PPLEXT=.ppl
@@ -441,24 +437,28 @@ ASMEXT=.asm
 SHAREDLIBEXT=.dll
 endif
 ifeq ($(OS_TARGET),linux)
+BATCHEXT=.sh
 EXEEXT=
 HASSHAREDLIB=1
 FPCMADE=fpcmade.lnx
 ZIPSUFFIX=linux
 endif
 ifeq ($(OS_TARGET),freebsd)
+BATCHEXT=.sh
 EXEEXT=
 HASSHAREDLIB=1
 FPCMADE=fpcmade.freebsd
 ZIPSUFFIX=freebsd
 endif
 ifeq ($(OS_TARGET),netbsd)
+BATCHEXT=.sh
 EXEEXT=
 HASSHAREDLIB=1
 FPCMADE=fpcmade.netbsd
 ZIPSUFFIX=netbsd
 endif
 ifeq ($(OS_TARGET),openbsd)
+BATCHEXT=.sh
 EXEEXT=
 HASSHAREDLIB=1
 FPCMADE=fpcmade.openbsd
@@ -470,6 +470,7 @@ FPCMADE=fpcmade.w32
 ZIPSUFFIX=w32
 endif
 ifeq ($(OS_TARGET),os2)
+BATCHEXT=.cmd
 AOUTEXT=.out
 STATICLIBPREFIX=
 SHAREDLIBEXT=.dll
@@ -478,6 +479,7 @@ ZIPSUFFIX=os2
 ECHO=echo
 endif
 ifeq ($(OS_TARGET),emx)
+BATCHEXT=.cmd
 AOUTEXT=.out
 STATICLIBPREFIX=
 SHAREDLIBEXT=.dll
@@ -495,16 +497,19 @@ EXEEXT=.ttp
 FPCMADE=fpcmade.ata
 endif
 ifeq ($(OS_TARGET),beos)
+BATCHEXT=.sh
 EXEEXT=
 FPCMADE=fpcmade.be
 ZIPSUFFIX=be
 endif
 ifeq ($(OS_TARGET),sunos)
+BATCHEXT=.sh
 EXEEXT=
 FPCMADE=fpcmade.sun
 ZIPSUFFIX=sun
 endif
 ifeq ($(OS_TARGET),qnx)
+BATCHEXT=.sh
 EXEEXT=
 FPCMADE=fpcmade.qnx
 ZIPSUFFIX=qnx
@@ -516,10 +521,14 @@ FPCMADE=fpcmade.nw
 ZIPSUFFIX=nw
 endif
 ifeq ($(OS_TARGET),macos)
+BATCHEXT=
 EXEEXT=
-FPCMADE=fpcmade.mcc
+FPCMADE=fpcmade.macos
+ZIPSUFFIX=macos
+DEBUGSYMEXT=.xcoff
 endif
 ifeq ($(OS_TARGET),darwin)
+BATCHEXT=.sh
 EXEEXT=
 HASSHAREDLIB=1
 FPCMADE=fpcmade.darwin
@@ -548,24 +557,28 @@ FPCMADE=fpcmade.dos
 ZIPSUFFIX=watcom
 endif
 ifeq ($(OS_TARGET),linux)
+BATCHEXT=.sh
 EXEEXT=
 HASSHAREDLIB=1
 FPCMADE=fpcmade.lnx
 ZIPSUFFIX=linux
 endif
 ifeq ($(OS_TARGET),freebsd)
+BATCHEXT=.sh
 EXEEXT=
 HASSHAREDLIB=1
 FPCMADE=fpcmade.freebsd
 ZIPSUFFIX=freebsd
 endif
 ifeq ($(OS_TARGET),netbsd)
+BATCHEXT=.sh
 EXEEXT=
 HASSHAREDLIB=1
 FPCMADE=fpcmade.netbsd
 ZIPSUFFIX=netbsd
 endif
 ifeq ($(OS_TARGET),openbsd)
+BATCHEXT=.sh
 EXEEXT=
 HASSHAREDLIB=1
 FPCMADE=fpcmade.openbsd
@@ -582,6 +595,7 @@ FPCMADE=fpcmade.w32
 ZIPSUFFIX=w32
 endif
 ifeq ($(OS_TARGET),os2)
+BATCHEXT=.cmd
 PPUEXT=.ppo
 ASMEXT=.so2
 OEXT=.oo2
@@ -614,6 +628,7 @@ EXEEXT=.ttp
 FPCMADE=fpcmade.ata
 endif
 ifeq ($(OS_TARGET),beos)
+BATCHEXT=.sh
 PPUEXT=.ppu
 ASMEXT=.s
 OEXT=.o
@@ -624,6 +639,7 @@ FPCMADE=fpcmade.be
 ZIPSUFFIX=be
 endif
 ifeq ($(OS_TARGET),sunos)
+BATCHEXT=.sh
 PPUEXT=.ppu
 ASMEXT=.s
 OEXT=.o
@@ -634,6 +650,7 @@ FPCMADE=fpcmade.sun
 ZIPSUFFIX=sun
 endif
 ifeq ($(OS_TARGET),qnx)
+BATCHEXT=.sh
 PPUEXT=.ppu
 ASMEXT=.s
 OEXT=.o
@@ -656,13 +673,15 @@ ZIPSUFFIX=nw
 EXEEXT=.nlm
 endif
 ifeq ($(OS_TARGET),macos)
+BATCHEXT=
 PPUEXT=.ppu
 ASMEXT=.s
 OEXT=.o
 SMARTEXT=.sl
 STATICLIBEXT=.a
 EXEEXT=
-FPCMADE=fpcmade.mcc
+DEBUGSYMEXT=.xcoff
+FPCMADE=fpcmade.macos
 endif
 endif
 ifndef ECHO
@@ -670,7 +689,7 @@ ECHO:=$(strip $(wildcard $(addsuffix /gecho$(SRCEXEEXT),$(SEARCHPATH))))
 ifeq ($(ECHO),)
 ECHO:=$(strip $(wildcard $(addsuffix /echo$(SRCEXEEXT),$(SEARCHPATH))))
 ifeq ($(ECHO),)
-ECHO=
+ECHO= __missing_command__
 else
 ECHO:=$(firstword $(ECHO))
 endif
@@ -684,7 +703,7 @@ DATE:=$(strip $(wildcard $(addsuffix /gdate$(SRCEXEEXT),$(SEARCHPATH))))
 ifeq ($(DATE),)
 DATE:=$(strip $(wildcard $(addsuffix /date$(SRCEXEEXT),$(SEARCHPATH))))
 ifeq ($(DATE),)
-DATE=
+DATE= __missing_command__
 else
 DATE:=$(firstword $(DATE))
 endif
@@ -698,7 +717,7 @@ GINSTALL:=$(strip $(wildcard $(addsuffix /ginstall$(SRCEXEEXT),$(SEARCHPATH))))
 ifeq ($(GINSTALL),)
 GINSTALL:=$(strip $(wildcard $(addsuffix /install$(SRCEXEEXT),$(SEARCHPATH))))
 ifeq ($(GINSTALL),)
-GINSTALL=
+GINSTALL= __missing_command__
 else
 GINSTALL:=$(firstword $(GINSTALL))
 endif
@@ -710,7 +729,7 @@ export GINSTALL
 ifndef CPPROG
 CPPROG:=$(strip $(wildcard $(addsuffix /cp$(SRCEXEEXT),$(SEARCHPATH))))
 ifeq ($(CPPROG),)
-CPPROG=
+CPPROG= __missing_command__
 else
 CPPROG:=$(firstword $(CPPROG))
 endif
@@ -719,7 +738,7 @@ export CPPROG
 ifndef RMPROG
 RMPROG:=$(strip $(wildcard $(addsuffix /rm$(SRCEXEEXT),$(SEARCHPATH))))
 ifeq ($(RMPROG),)
-RMPROG=
+RMPROG= __missing_command__
 else
 RMPROG:=$(firstword $(RMPROG))
 endif
@@ -728,7 +747,7 @@ export RMPROG
 ifndef MVPROG
 MVPROG:=$(strip $(wildcard $(addsuffix /mv$(SRCEXEEXT),$(SEARCHPATH))))
 ifeq ($(MVPROG),)
-MVPROG=
+MVPROG= __missing_command__
 else
 MVPROG:=$(firstword $(MVPROG))
 endif
@@ -777,7 +796,7 @@ export ECHOREDIR COPY COPYTREE MOVE DEL DELTREE INSTALL INSTALLEXE MKDIR
 ifndef PPUMOVE
 PPUMOVE:=$(strip $(wildcard $(addsuffix /ppumove$(SRCEXEEXT),$(SEARCHPATH))))
 ifeq ($(PPUMOVE),)
-PPUMOVE=
+PPUMOVE= __missing_command__
 else
 PPUMOVE:=$(firstword $(PPUMOVE))
 endif
@@ -786,7 +805,7 @@ export PPUMOVE
 ifndef FPCMAKE
 FPCMAKE:=$(strip $(wildcard $(addsuffix /fpcmake$(SRCEXEEXT),$(SEARCHPATH))))
 ifeq ($(FPCMAKE),)
-FPCMAKE=
+FPCMAKE= __missing_command__
 else
 FPCMAKE:=$(firstword $(FPCMAKE))
 endif
@@ -795,7 +814,7 @@ export FPCMAKE
 ifndef ZIPPROG
 ZIPPROG:=$(strip $(wildcard $(addsuffix /zip$(SRCEXEEXT),$(SEARCHPATH))))
 ifeq ($(ZIPPROG),)
-ZIPPROG=
+ZIPPROG= __missing_command__
 else
 ZIPPROG:=$(firstword $(ZIPPROG))
 endif
@@ -804,7 +823,7 @@ export ZIPPROG
 ifndef TARPROG
 TARPROG:=$(strip $(wildcard $(addsuffix /tar$(SRCEXEEXT),$(SEARCHPATH))))
 ifeq ($(TARPROG),)
-TARPROG=
+TARPROG= __missing_command__
 else
 TARPROG:=$(firstword $(TARPROG))
 endif
@@ -816,9 +835,11 @@ ARNAME=$(BINUTILSPREFIX)ar
 RCNAME=$(BINUTILSPREFIX)rc
 ifneq ($(findstring 1.0.,$(FPC_VERSION)),)
 ifeq ($(OS_TARGET),win32)
-ASNAME=as
-LDNAME=ld
-ARNAME=ar
+ifeq ($(CROSSBINDIR),)
+ASNAME=asw
+LDNAME=ldw
+ARNAME=arw
+endif
 endif
 endif
 ifndef ASPROG
@@ -853,7 +874,7 @@ AS=$(ASPROG)
 LD=$(LDPROG)
 RC=$(RCPROG)
 AR=$(ARPROG)
-PPAS=ppas$(BATCHEXT)
+PPAS=ppas$(SRCBATCHEXT)
 ifdef inUnix
 LDCONFIG=ldconfig
 else
@@ -918,6 +939,11 @@ ifeq ($(CPU_TARGET),x86_64)
 REQUIRE_PACKAGES_RTL=1
 endif
 endif
+ifeq ($(OS_TARGET),linux)
+ifeq ($(CPU_TARGET),arm)
+REQUIRE_PACKAGES_RTL=1
+endif
+endif
 ifeq ($(OS_TARGET),go32v2)
 ifeq ($(CPU_TARGET),i386)
 REQUIRE_PACKAGES_RTL=1
@@ -1107,8 +1133,12 @@ ifdef RELEASE
 ifeq ($(CPU_TARGET),i386)
 FPCCPUOPT:=-OG2p3
 else
+ifeq ($(CPU_TARGET),powerpc)
+FPCCPUOPT:=-O1
+else
 FPCCPUOPT:=
 endif
+endif
 override FPCOPT+=-Xs $(FPCCPUOPT) -n
 override FPCOPTDEF+=RELEASE
 endif
@@ -1334,7 +1364,7 @@ USEZIPWRAPPER=1
 endif
 ifdef USEZIPWRAPPER
 ZIPPATHSEP=$(PATHSEP)
-ZIPWRAPPER=$(subst /,$(PATHSEP),$(DIST_DESTDIR)/fpczip$(BATCHEXT))
+ZIPWRAPPER=$(subst /,$(PATHSEP),$(DIST_DESTDIR)/fpczip$(SRCBATCHEXT))
 else
 ZIPPATHSEP=/
 endif
@@ -1388,6 +1418,9 @@ override CLEANPPUFILES+=$(addsuffix $(PPUEXT),$(CLEAN_UNITS))
 endif
 ifdef 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 CLEANPPULINKFILES:=$(wildcard $(addprefix $(UNITTARGETDIRPREFIX),$(CLEANPPULINKFILES)))
 endif
@@ -1411,6 +1444,7 @@ ifdef LIB_NAME
 	-$(DEL) $(LIB_NAME) $(LIB_FULLNAME)
 endif
 	-$(DEL) $(FPCMADE) Package.fpc $(PPAS) script.res link.res $(FPCEXTFILE) $(REDIRFILE)
+	-$(DEL) *$(ASMEXT) *_ppas$(BATCHEXT)
 fpc_distclean: clean
 ifdef COMPILER_UNITTARGETDIR
 TARGETDIRCLEAN=fpc_clean
@@ -1422,9 +1456,13 @@ endif
 	-$(DEL) *$(OEXT) *$(PPUEXT) *$(RSTEXT) *$(ASMEXT) *$(STATICLIBEXT) *$(SHAREDLIBEXT) *$(PPLEXT)
 	-$(DELTREE) *$(SMARTEXT)
 	-$(DEL) $(FPCMADE) Package.fpc $(PPAS) script.res link.res $(FPCEXTFILE) $(REDIRFILE)
+	-$(DEL) *_ppas$(BATCHEXT)
 ifdef AOUTEXT
 	-$(DEL) *$(AOUTEXT)
 endif
+ifdef DEBUGSYMEXT
+	-$(DEL) *$(DEBUGSYMEXT)
+endif
 .PHONY: fpc_baseinfo
 override INFORULES+=fpc_baseinfo
 fpc_baseinfo:

+ 114 - 72
packages/extra/opengl/Makefile

@@ -1,15 +1,24 @@
 #
-# Don't edit, this file is generated by FPCMake Version 1.1 [2004/02/22]
+# Don't edit, this file is generated by FPCMake Version 1.1 [2004/04/21]
 #
 default: all
 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:=$(subst \,/,$(PATH))
+ifneq ($(findstring darwin,$(OSTYPE)),)
+inUnix=1 #darwin
+SEARCHPATH:=$(filter-out .,$(subst :, ,$(PATH)))
+else
 ifeq ($(findstring ;,$(PATH)),)
 inUnix=1
 SEARCHPATH:=$(filter-out .,$(subst :, ,$(PATH)))
 else
 SEARCHPATH:=$(subst ;, ,$(PATH))
 endif
+endif
 SEARCHPATH+=$(patsubst %/,%,$(subst \,/,$(dir $(MAKE))))
 PWD:=$(strip $(wildcard $(addsuffix /pwd.exe,$(SEARCHPATH))))
 ifeq ($(PWD),)
@@ -37,22 +46,13 @@ ifneq ($(findstring cygdrive,$(PATH)),)
 inCygWin=1
 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
-BATCHEXT=.sh
+SRCBATCHEXT=.sh
 else
 ifdef inOS2
-BATCHEXT=.cmd
+SRCBATCHEXT=.cmd
 else
-BATCHEXT=.bat
+SRCBATCHEXT=.bat
 endif
 endif
 ifdef inUnix
@@ -155,6 +155,12 @@ ifeq ($(findstring $(OS_TARGET),$(MAKEFILETARGETS)),)
 $(error The Makefile doesn't support target $(OS_TARGET), please run fpcmake first)
 endif
 endif
+ifneq ($(findstring $(OS_TARGET),$(BSDs)),)
+BSDhier=1
+endif
+ifeq ($(OS_TARGET),linux)
+linuxHier=1
+endif
 export OS_TARGET OS_SOURCE CPU_TARGET CPU_SOURCE FULL_TARGET FULL_SOURCE CROSSCOMPILE
 ifdef FPCDIR
 override FPCDIR:=$(subst \,/,$(FPCDIR))
@@ -231,42 +237,12 @@ 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
-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
 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
 ifndef INSTALL_PREFIX
@@ -275,7 +251,7 @@ INSTALL_PREFIX=$(PREFIX)
 endif
 endif
 ifndef INSTALL_PREFIX
-ifdef UNIXINSTALLDIR
+ifdef UNIXHier
 INSTALL_PREFIX=/usr/local
 else
 ifdef INSTALL_FPCPACKAGE
@@ -294,7 +270,7 @@ DIST_DESTDIR:=$(BASEDIR)
 endif
 export DIST_DESTDIR
 ifndef INSTALL_BASEDIR
-ifdef UNIXINSTALLDIR
+ifdef UNIXHier
 ifdef INSTALL_FPCPACKAGE
 INSTALL_BASEDIR:=$(INSTALL_PREFIX)/lib/fpc/$(FPC_VERSION)
 else
@@ -305,7 +281,7 @@ INSTALL_BASEDIR:=$(INSTALL_PREFIX)
 endif
 endif
 ifndef INSTALL_BINDIR
-ifdef UNIXINSTALLDIR
+ifdef UNIXHier
 ifdef CROSSCOMPILE
 INSTALL_BINDIR:=$(INSTALL_BASEDIR)/cross/$(FULL_TARGET)/bin
 else
@@ -335,19 +311,23 @@ endif
 endif
 endif
 ifndef INSTALL_LIBDIR
-ifdef UNIXINSTALLDIR
+ifdef UNIXHier
 INSTALL_LIBDIR:=$(INSTALL_PREFIX)/lib
 else
 INSTALL_LIBDIR:=$(INSTALL_UNITDIR)
 endif
 endif
 ifndef INSTALL_SOURCEDIR
-ifdef UNIXINSTALLDIR
+ifdef UNIXHier
 ifdef BSDhier
 SRCPREFIXDIR=share/src
 else
+ifdef linuxHier
+SRCPREFIXDIR=share/src
+else
 SRCPREFIXDIR=src
 endif
+endif
 ifdef INSTALL_FPCPACKAGE
 ifdef INSTALL_FPCSUBDIR
 INSTALL_SOURCEDIR:=$(INSTALL_PREFIX)/$(SRCPREFIXDIR)/fpc-$(FPC_VERSION)/$(INSTALL_FPCSUBDIR)/$(PACKAGE_NAME)
@@ -370,12 +350,16 @@ endif
 endif
 endif
 ifndef INSTALL_DOCDIR
-ifdef UNIXINSTALLDIR
+ifdef UNIXHier
 ifdef BSDhier
 DOCPREFIXDIR=share/doc
 else
+ifdef linuxHier
+DOCPREFIXDIR=share/doc
+else
 DOCPREFIXDIR=doc
 endif
+endif
 ifdef INSTALL_FPCPACKAGE
 INSTALL_DOCDIR:=$(INSTALL_PREFIX)/$(DOCPREFIXDIR)/fpc-$(FPC_VERSION)/$(PACKAGE_NAME)
 else
@@ -390,20 +374,28 @@ endif
 endif
 endif
 ifndef INSTALL_EXAMPLEDIR
-ifdef UNIXINSTALLDIR
+ifdef UNIXHier
 ifdef INSTALL_FPCPACKAGE
 ifdef BSDhier
 INSTALL_EXAMPLEDIR:=$(INSTALL_PREFIX)/share/examples/fpc-$(FPC_VERSION)/$(PACKAGE_NAME)
 else
+ifdef linuxHier
+INSTALL_EXAMPLEDIR:=$(INSTALL_DOCDIR)/examples/fpc-$(FPC_VERSION)/$(PACKAGE_NAME)
+else
 INSTALL_EXAMPLEDIR:=$(INSTALL_PREFIX)/doc/fpc-$(FPC_VERSION)/examples/$(PACKAGE_NAME)
 endif
+endif
 else
 ifdef BSDhier
 INSTALL_EXAMPLEDIR:=$(INSTALL_PREFIX)/share/examples/$(PACKAGE_NAME)-$(PACKAGE_VERSION)
 else
+ifdef linuxHier
+INSTALL_EXAMPLEDIR:=$(INSTALL_DOCDIR)/examples/$(PACKAGE_NAME)-$(PACKAGE_VERSION)
+else
 INSTALL_EXAMPLEDIR:=$(INSTALL_PREFIX)/doc/$(PACKAGE_NAME)-$(PACKAGE_VERSION)
 endif
 endif
+endif
 else
 ifdef INSTALL_FPCPACKAGE
 INSTALL_EXAMPLEDIR:=$(INSTALL_BASEDIR)/examples/$(PACKAGE_NAME)
@@ -427,7 +419,19 @@ CROSSBINDIR=
 endif
 ifeq ($(OS_SOURCE),linux)
 ifndef GCCLIBDIR
-GCCLIBDIR:=$(shell dirname `gcc -print-libgcc-file-name`)
+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
 ifndef OTHERLIBDIR
 OTHERLIBDIR:=$(shell grep -v "^\#" /etc/ld.so.conf | awk '{ ORS=" "; print $1 }')
@@ -439,6 +443,7 @@ OTHERLIBDIR+=/usr/pkg/lib
 endif
 export GCCLIBDIR OTHERLIB
 endif
+BATCHEXT=.bat
 LOADEREXT=.as
 EXEEXT=.exe
 PPLEXT=.ppl
@@ -471,24 +476,28 @@ ASMEXT=.asm
 SHAREDLIBEXT=.dll
 endif
 ifeq ($(OS_TARGET),linux)
+BATCHEXT=.sh
 EXEEXT=
 HASSHAREDLIB=1
 FPCMADE=fpcmade.lnx
 ZIPSUFFIX=linux
 endif
 ifeq ($(OS_TARGET),freebsd)
+BATCHEXT=.sh
 EXEEXT=
 HASSHAREDLIB=1
 FPCMADE=fpcmade.freebsd
 ZIPSUFFIX=freebsd
 endif
 ifeq ($(OS_TARGET),netbsd)
+BATCHEXT=.sh
 EXEEXT=
 HASSHAREDLIB=1
 FPCMADE=fpcmade.netbsd
 ZIPSUFFIX=netbsd
 endif
 ifeq ($(OS_TARGET),openbsd)
+BATCHEXT=.sh
 EXEEXT=
 HASSHAREDLIB=1
 FPCMADE=fpcmade.openbsd
@@ -500,6 +509,7 @@ FPCMADE=fpcmade.w32
 ZIPSUFFIX=w32
 endif
 ifeq ($(OS_TARGET),os2)
+BATCHEXT=.cmd
 AOUTEXT=.out
 STATICLIBPREFIX=
 SHAREDLIBEXT=.dll
@@ -508,6 +518,7 @@ ZIPSUFFIX=os2
 ECHO=echo
 endif
 ifeq ($(OS_TARGET),emx)
+BATCHEXT=.cmd
 AOUTEXT=.out
 STATICLIBPREFIX=
 SHAREDLIBEXT=.dll
@@ -525,16 +536,19 @@ EXEEXT=.ttp
 FPCMADE=fpcmade.ata
 endif
 ifeq ($(OS_TARGET),beos)
+BATCHEXT=.sh
 EXEEXT=
 FPCMADE=fpcmade.be
 ZIPSUFFIX=be
 endif
 ifeq ($(OS_TARGET),sunos)
+BATCHEXT=.sh
 EXEEXT=
 FPCMADE=fpcmade.sun
 ZIPSUFFIX=sun
 endif
 ifeq ($(OS_TARGET),qnx)
+BATCHEXT=.sh
 EXEEXT=
 FPCMADE=fpcmade.qnx
 ZIPSUFFIX=qnx
@@ -546,10 +560,14 @@ FPCMADE=fpcmade.nw
 ZIPSUFFIX=nw
 endif
 ifeq ($(OS_TARGET),macos)
+BATCHEXT=
 EXEEXT=
-FPCMADE=fpcmade.mcc
+FPCMADE=fpcmade.macos
+ZIPSUFFIX=macos
+DEBUGSYMEXT=.xcoff
 endif
 ifeq ($(OS_TARGET),darwin)
+BATCHEXT=.sh
 EXEEXT=
 HASSHAREDLIB=1
 FPCMADE=fpcmade.darwin
@@ -578,24 +596,28 @@ FPCMADE=fpcmade.dos
 ZIPSUFFIX=watcom
 endif
 ifeq ($(OS_TARGET),linux)
+BATCHEXT=.sh
 EXEEXT=
 HASSHAREDLIB=1
 FPCMADE=fpcmade.lnx
 ZIPSUFFIX=linux
 endif
 ifeq ($(OS_TARGET),freebsd)
+BATCHEXT=.sh
 EXEEXT=
 HASSHAREDLIB=1
 FPCMADE=fpcmade.freebsd
 ZIPSUFFIX=freebsd
 endif
 ifeq ($(OS_TARGET),netbsd)
+BATCHEXT=.sh
 EXEEXT=
 HASSHAREDLIB=1
 FPCMADE=fpcmade.netbsd
 ZIPSUFFIX=netbsd
 endif
 ifeq ($(OS_TARGET),openbsd)
+BATCHEXT=.sh
 EXEEXT=
 HASSHAREDLIB=1
 FPCMADE=fpcmade.openbsd
@@ -612,6 +634,7 @@ FPCMADE=fpcmade.w32
 ZIPSUFFIX=w32
 endif
 ifeq ($(OS_TARGET),os2)
+BATCHEXT=.cmd
 PPUEXT=.ppo
 ASMEXT=.so2
 OEXT=.oo2
@@ -644,6 +667,7 @@ EXEEXT=.ttp
 FPCMADE=fpcmade.ata
 endif
 ifeq ($(OS_TARGET),beos)
+BATCHEXT=.sh
 PPUEXT=.ppu
 ASMEXT=.s
 OEXT=.o
@@ -654,6 +678,7 @@ FPCMADE=fpcmade.be
 ZIPSUFFIX=be
 endif
 ifeq ($(OS_TARGET),sunos)
+BATCHEXT=.sh
 PPUEXT=.ppu
 ASMEXT=.s
 OEXT=.o
@@ -664,6 +689,7 @@ FPCMADE=fpcmade.sun
 ZIPSUFFIX=sun
 endif
 ifeq ($(OS_TARGET),qnx)
+BATCHEXT=.sh
 PPUEXT=.ppu
 ASMEXT=.s
 OEXT=.o
@@ -686,13 +712,15 @@ ZIPSUFFIX=nw
 EXEEXT=.nlm
 endif
 ifeq ($(OS_TARGET),macos)
+BATCHEXT=
 PPUEXT=.ppu
 ASMEXT=.s
 OEXT=.o
 SMARTEXT=.sl
 STATICLIBEXT=.a
 EXEEXT=
-FPCMADE=fpcmade.mcc
+DEBUGSYMEXT=.xcoff
+FPCMADE=fpcmade.macos
 endif
 endif
 ifndef ECHO
@@ -700,7 +728,7 @@ ECHO:=$(strip $(wildcard $(addsuffix /gecho$(SRCEXEEXT),$(SEARCHPATH))))
 ifeq ($(ECHO),)
 ECHO:=$(strip $(wildcard $(addsuffix /echo$(SRCEXEEXT),$(SEARCHPATH))))
 ifeq ($(ECHO),)
-ECHO=
+ECHO= __missing_command__
 else
 ECHO:=$(firstword $(ECHO))
 endif
@@ -714,7 +742,7 @@ DATE:=$(strip $(wildcard $(addsuffix /gdate$(SRCEXEEXT),$(SEARCHPATH))))
 ifeq ($(DATE),)
 DATE:=$(strip $(wildcard $(addsuffix /date$(SRCEXEEXT),$(SEARCHPATH))))
 ifeq ($(DATE),)
-DATE=
+DATE= __missing_command__
 else
 DATE:=$(firstword $(DATE))
 endif
@@ -728,7 +756,7 @@ GINSTALL:=$(strip $(wildcard $(addsuffix /ginstall$(SRCEXEEXT),$(SEARCHPATH))))
 ifeq ($(GINSTALL),)
 GINSTALL:=$(strip $(wildcard $(addsuffix /install$(SRCEXEEXT),$(SEARCHPATH))))
 ifeq ($(GINSTALL),)
-GINSTALL=
+GINSTALL= __missing_command__
 else
 GINSTALL:=$(firstword $(GINSTALL))
 endif
@@ -740,7 +768,7 @@ export GINSTALL
 ifndef CPPROG
 CPPROG:=$(strip $(wildcard $(addsuffix /cp$(SRCEXEEXT),$(SEARCHPATH))))
 ifeq ($(CPPROG),)
-CPPROG=
+CPPROG= __missing_command__
 else
 CPPROG:=$(firstword $(CPPROG))
 endif
@@ -749,7 +777,7 @@ export CPPROG
 ifndef RMPROG
 RMPROG:=$(strip $(wildcard $(addsuffix /rm$(SRCEXEEXT),$(SEARCHPATH))))
 ifeq ($(RMPROG),)
-RMPROG=
+RMPROG= __missing_command__
 else
 RMPROG:=$(firstword $(RMPROG))
 endif
@@ -758,7 +786,7 @@ export RMPROG
 ifndef MVPROG
 MVPROG:=$(strip $(wildcard $(addsuffix /mv$(SRCEXEEXT),$(SEARCHPATH))))
 ifeq ($(MVPROG),)
-MVPROG=
+MVPROG= __missing_command__
 else
 MVPROG:=$(firstword $(MVPROG))
 endif
@@ -807,7 +835,7 @@ export ECHOREDIR COPY COPYTREE MOVE DEL DELTREE INSTALL INSTALLEXE MKDIR
 ifndef PPUMOVE
 PPUMOVE:=$(strip $(wildcard $(addsuffix /ppumove$(SRCEXEEXT),$(SEARCHPATH))))
 ifeq ($(PPUMOVE),)
-PPUMOVE=
+PPUMOVE= __missing_command__
 else
 PPUMOVE:=$(firstword $(PPUMOVE))
 endif
@@ -816,7 +844,7 @@ export PPUMOVE
 ifndef FPCMAKE
 FPCMAKE:=$(strip $(wildcard $(addsuffix /fpcmake$(SRCEXEEXT),$(SEARCHPATH))))
 ifeq ($(FPCMAKE),)
-FPCMAKE=
+FPCMAKE= __missing_command__
 else
 FPCMAKE:=$(firstword $(FPCMAKE))
 endif
@@ -825,7 +853,7 @@ export FPCMAKE
 ifndef ZIPPROG
 ZIPPROG:=$(strip $(wildcard $(addsuffix /zip$(SRCEXEEXT),$(SEARCHPATH))))
 ifeq ($(ZIPPROG),)
-ZIPPROG=
+ZIPPROG= __missing_command__
 else
 ZIPPROG:=$(firstword $(ZIPPROG))
 endif
@@ -834,7 +862,7 @@ export ZIPPROG
 ifndef TARPROG
 TARPROG:=$(strip $(wildcard $(addsuffix /tar$(SRCEXEEXT),$(SEARCHPATH))))
 ifeq ($(TARPROG),)
-TARPROG=
+TARPROG= __missing_command__
 else
 TARPROG:=$(firstword $(TARPROG))
 endif
@@ -846,9 +874,11 @@ ARNAME=$(BINUTILSPREFIX)ar
 RCNAME=$(BINUTILSPREFIX)rc
 ifneq ($(findstring 1.0.,$(FPC_VERSION)),)
 ifeq ($(OS_TARGET),win32)
-ASNAME=as
-LDNAME=ld
-ARNAME=ar
+ifeq ($(CROSSBINDIR),)
+ASNAME=asw
+LDNAME=ldw
+ARNAME=arw
+endif
 endif
 endif
 ifndef ASPROG
@@ -883,7 +913,7 @@ AS=$(ASPROG)
 LD=$(LDPROG)
 RC=$(RCPROG)
 AR=$(ARPROG)
-PPAS=ppas$(BATCHEXT)
+PPAS=ppas$(SRCBATCHEXT)
 ifdef inUnix
 LDCONFIG=ldconfig
 else
@@ -1182,8 +1212,12 @@ ifdef RELEASE
 ifeq ($(CPU_TARGET),i386)
 FPCCPUOPT:=-OG2p3
 else
+ifeq ($(CPU_TARGET),powerpc)
+FPCCPUOPT:=-O1
+else
 FPCCPUOPT:=
 endif
+endif
 override FPCOPT+=-Xs $(FPCCPUOPT) -n
 override FPCOPTDEF+=RELEASE
 endif
@@ -1433,7 +1467,7 @@ USEZIPWRAPPER=1
 endif
 ifdef USEZIPWRAPPER
 ZIPPATHSEP=$(PATHSEP)
-ZIPWRAPPER=$(subst /,$(PATHSEP),$(DIST_DESTDIR)/fpczip$(BATCHEXT))
+ZIPWRAPPER=$(subst /,$(PATHSEP),$(DIST_DESTDIR)/fpczip$(SRCBATCHEXT))
 else
 ZIPPATHSEP=/
 endif
@@ -1487,6 +1521,9 @@ override CLEANPPUFILES+=$(addsuffix $(PPUEXT),$(CLEAN_UNITS))
 endif
 ifdef 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 CLEANPPULINKFILES:=$(wildcard $(addprefix $(UNITTARGETDIRPREFIX),$(CLEANPPULINKFILES)))
 endif
@@ -1510,6 +1547,7 @@ ifdef LIB_NAME
 	-$(DEL) $(LIB_NAME) $(LIB_FULLNAME)
 endif
 	-$(DEL) $(FPCMADE) Package.fpc $(PPAS) script.res link.res $(FPCEXTFILE) $(REDIRFILE)
+	-$(DEL) *$(ASMEXT) *_ppas$(BATCHEXT)
 fpc_distclean: clean
 ifdef COMPILER_UNITTARGETDIR
 TARGETDIRCLEAN=fpc_clean
@@ -1521,9 +1559,13 @@ endif
 	-$(DEL) *$(OEXT) *$(PPUEXT) *$(RSTEXT) *$(ASMEXT) *$(STATICLIBEXT) *$(SHAREDLIBEXT) *$(PPLEXT)
 	-$(DELTREE) *$(SMARTEXT)
 	-$(DEL) $(FPCMADE) Package.fpc $(PPAS) script.res link.res $(FPCEXTFILE) $(REDIRFILE)
+	-$(DEL) *_ppas$(BATCHEXT)
 ifdef AOUTEXT
 	-$(DEL) *$(AOUTEXT)
 endif
+ifdef DEBUGSYMEXT
+	-$(DEL) *$(DEBUGSYMEXT)
+endif
 .PHONY: fpc_baseinfo
 override INFORULES+=fpc_baseinfo
 fpc_baseinfo:

+ 113 - 71
packages/extra/opengl/examples/Makefile

@@ -1,15 +1,24 @@
 #
-# Don't edit, this file is generated by FPCMake Version 1.1 [2004/02/22]
+# Don't edit, this file is generated by FPCMake Version 1.1 [2004/04/21]
 #
 default: all
 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:=$(subst \,/,$(PATH))
+ifneq ($(findstring darwin,$(OSTYPE)),)
+inUnix=1 #darwin
+SEARCHPATH:=$(filter-out .,$(subst :, ,$(PATH)))
+else
 ifeq ($(findstring ;,$(PATH)),)
 inUnix=1
 SEARCHPATH:=$(filter-out .,$(subst :, ,$(PATH)))
 else
 SEARCHPATH:=$(subst ;, ,$(PATH))
 endif
+endif
 SEARCHPATH+=$(patsubst %/,%,$(subst \,/,$(dir $(MAKE))))
 PWD:=$(strip $(wildcard $(addsuffix /pwd.exe,$(SEARCHPATH))))
 ifeq ($(PWD),)
@@ -37,22 +46,13 @@ ifneq ($(findstring cygdrive,$(PATH)),)
 inCygWin=1
 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
-BATCHEXT=.sh
+SRCBATCHEXT=.sh
 else
 ifdef inOS2
-BATCHEXT=.cmd
+SRCBATCHEXT=.cmd
 else
-BATCHEXT=.bat
+SRCBATCHEXT=.bat
 endif
 endif
 ifdef inUnix
@@ -155,6 +155,12 @@ ifeq ($(findstring $(OS_TARGET),$(MAKEFILETARGETS)),)
 $(error The Makefile doesn't support target $(OS_TARGET), please run fpcmake first)
 endif
 endif
+ifneq ($(findstring $(OS_TARGET),$(BSDs)),)
+BSDhier=1
+endif
+ifeq ($(OS_TARGET),linux)
+linuxHier=1
+endif
 export OS_TARGET OS_SOURCE CPU_TARGET CPU_SOURCE FULL_TARGET FULL_SOURCE CROSSCOMPILE
 ifdef FPCDIR
 override FPCDIR:=$(subst \,/,$(FPCDIR))
@@ -217,42 +223,12 @@ 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
-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
 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
 ifndef INSTALL_PREFIX
@@ -261,7 +237,7 @@ INSTALL_PREFIX=$(PREFIX)
 endif
 endif
 ifndef INSTALL_PREFIX
-ifdef UNIXINSTALLDIR
+ifdef UNIXHier
 INSTALL_PREFIX=/usr/local
 else
 ifdef INSTALL_FPCPACKAGE
@@ -280,7 +256,7 @@ DIST_DESTDIR:=$(BASEDIR)
 endif
 export DIST_DESTDIR
 ifndef INSTALL_BASEDIR
-ifdef UNIXINSTALLDIR
+ifdef UNIXHier
 ifdef INSTALL_FPCPACKAGE
 INSTALL_BASEDIR:=$(INSTALL_PREFIX)/lib/fpc/$(FPC_VERSION)
 else
@@ -291,7 +267,7 @@ INSTALL_BASEDIR:=$(INSTALL_PREFIX)
 endif
 endif
 ifndef INSTALL_BINDIR
-ifdef UNIXINSTALLDIR
+ifdef UNIXHier
 ifdef CROSSCOMPILE
 INSTALL_BINDIR:=$(INSTALL_BASEDIR)/cross/$(FULL_TARGET)/bin
 else
@@ -321,19 +297,23 @@ endif
 endif
 endif
 ifndef INSTALL_LIBDIR
-ifdef UNIXINSTALLDIR
+ifdef UNIXHier
 INSTALL_LIBDIR:=$(INSTALL_PREFIX)/lib
 else
 INSTALL_LIBDIR:=$(INSTALL_UNITDIR)
 endif
 endif
 ifndef INSTALL_SOURCEDIR
-ifdef UNIXINSTALLDIR
+ifdef UNIXHier
 ifdef BSDhier
 SRCPREFIXDIR=share/src
 else
+ifdef linuxHier
+SRCPREFIXDIR=share/src
+else
 SRCPREFIXDIR=src
 endif
+endif
 ifdef INSTALL_FPCPACKAGE
 ifdef INSTALL_FPCSUBDIR
 INSTALL_SOURCEDIR:=$(INSTALL_PREFIX)/$(SRCPREFIXDIR)/fpc-$(FPC_VERSION)/$(INSTALL_FPCSUBDIR)/$(PACKAGE_NAME)
@@ -356,12 +336,16 @@ endif
 endif
 endif
 ifndef INSTALL_DOCDIR
-ifdef UNIXINSTALLDIR
+ifdef UNIXHier
 ifdef BSDhier
 DOCPREFIXDIR=share/doc
 else
+ifdef linuxHier
+DOCPREFIXDIR=share/doc
+else
 DOCPREFIXDIR=doc
 endif
+endif
 ifdef INSTALL_FPCPACKAGE
 INSTALL_DOCDIR:=$(INSTALL_PREFIX)/$(DOCPREFIXDIR)/fpc-$(FPC_VERSION)/$(PACKAGE_NAME)
 else
@@ -376,20 +360,28 @@ endif
 endif
 endif
 ifndef INSTALL_EXAMPLEDIR
-ifdef UNIXINSTALLDIR
+ifdef UNIXHier
 ifdef INSTALL_FPCPACKAGE
 ifdef BSDhier
 INSTALL_EXAMPLEDIR:=$(INSTALL_PREFIX)/share/examples/fpc-$(FPC_VERSION)/$(PACKAGE_NAME)
 else
+ifdef linuxHier
+INSTALL_EXAMPLEDIR:=$(INSTALL_DOCDIR)/examples/fpc-$(FPC_VERSION)/$(PACKAGE_NAME)
+else
 INSTALL_EXAMPLEDIR:=$(INSTALL_PREFIX)/doc/fpc-$(FPC_VERSION)/examples/$(PACKAGE_NAME)
 endif
+endif
 else
 ifdef BSDhier
 INSTALL_EXAMPLEDIR:=$(INSTALL_PREFIX)/share/examples/$(PACKAGE_NAME)-$(PACKAGE_VERSION)
 else
+ifdef linuxHier
+INSTALL_EXAMPLEDIR:=$(INSTALL_DOCDIR)/examples/$(PACKAGE_NAME)-$(PACKAGE_VERSION)
+else
 INSTALL_EXAMPLEDIR:=$(INSTALL_PREFIX)/doc/$(PACKAGE_NAME)-$(PACKAGE_VERSION)
 endif
 endif
+endif
 else
 ifdef INSTALL_FPCPACKAGE
 INSTALL_EXAMPLEDIR:=$(INSTALL_BASEDIR)/examples/$(PACKAGE_NAME)
@@ -413,7 +405,19 @@ CROSSBINDIR=
 endif
 ifeq ($(OS_SOURCE),linux)
 ifndef GCCLIBDIR
-GCCLIBDIR:=$(shell dirname `gcc -print-libgcc-file-name`)
+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
 ifndef OTHERLIBDIR
 OTHERLIBDIR:=$(shell grep -v "^\#" /etc/ld.so.conf | awk '{ ORS=" "; print $1 }')
@@ -425,6 +429,7 @@ OTHERLIBDIR+=/usr/pkg/lib
 endif
 export GCCLIBDIR OTHERLIB
 endif
+BATCHEXT=.bat
 LOADEREXT=.as
 EXEEXT=.exe
 PPLEXT=.ppl
@@ -457,24 +462,28 @@ ASMEXT=.asm
 SHAREDLIBEXT=.dll
 endif
 ifeq ($(OS_TARGET),linux)
+BATCHEXT=.sh
 EXEEXT=
 HASSHAREDLIB=1
 FPCMADE=fpcmade.lnx
 ZIPSUFFIX=linux
 endif
 ifeq ($(OS_TARGET),freebsd)
+BATCHEXT=.sh
 EXEEXT=
 HASSHAREDLIB=1
 FPCMADE=fpcmade.freebsd
 ZIPSUFFIX=freebsd
 endif
 ifeq ($(OS_TARGET),netbsd)
+BATCHEXT=.sh
 EXEEXT=
 HASSHAREDLIB=1
 FPCMADE=fpcmade.netbsd
 ZIPSUFFIX=netbsd
 endif
 ifeq ($(OS_TARGET),openbsd)
+BATCHEXT=.sh
 EXEEXT=
 HASSHAREDLIB=1
 FPCMADE=fpcmade.openbsd
@@ -486,6 +495,7 @@ FPCMADE=fpcmade.w32
 ZIPSUFFIX=w32
 endif
 ifeq ($(OS_TARGET),os2)
+BATCHEXT=.cmd
 AOUTEXT=.out
 STATICLIBPREFIX=
 SHAREDLIBEXT=.dll
@@ -494,6 +504,7 @@ ZIPSUFFIX=os2
 ECHO=echo
 endif
 ifeq ($(OS_TARGET),emx)
+BATCHEXT=.cmd
 AOUTEXT=.out
 STATICLIBPREFIX=
 SHAREDLIBEXT=.dll
@@ -511,16 +522,19 @@ EXEEXT=.ttp
 FPCMADE=fpcmade.ata
 endif
 ifeq ($(OS_TARGET),beos)
+BATCHEXT=.sh
 EXEEXT=
 FPCMADE=fpcmade.be
 ZIPSUFFIX=be
 endif
 ifeq ($(OS_TARGET),sunos)
+BATCHEXT=.sh
 EXEEXT=
 FPCMADE=fpcmade.sun
 ZIPSUFFIX=sun
 endif
 ifeq ($(OS_TARGET),qnx)
+BATCHEXT=.sh
 EXEEXT=
 FPCMADE=fpcmade.qnx
 ZIPSUFFIX=qnx
@@ -532,10 +546,14 @@ FPCMADE=fpcmade.nw
 ZIPSUFFIX=nw
 endif
 ifeq ($(OS_TARGET),macos)
+BATCHEXT=
 EXEEXT=
-FPCMADE=fpcmade.mcc
+FPCMADE=fpcmade.macos
+ZIPSUFFIX=macos
+DEBUGSYMEXT=.xcoff
 endif
 ifeq ($(OS_TARGET),darwin)
+BATCHEXT=.sh
 EXEEXT=
 HASSHAREDLIB=1
 FPCMADE=fpcmade.darwin
@@ -564,24 +582,28 @@ FPCMADE=fpcmade.dos
 ZIPSUFFIX=watcom
 endif
 ifeq ($(OS_TARGET),linux)
+BATCHEXT=.sh
 EXEEXT=
 HASSHAREDLIB=1
 FPCMADE=fpcmade.lnx
 ZIPSUFFIX=linux
 endif
 ifeq ($(OS_TARGET),freebsd)
+BATCHEXT=.sh
 EXEEXT=
 HASSHAREDLIB=1
 FPCMADE=fpcmade.freebsd
 ZIPSUFFIX=freebsd
 endif
 ifeq ($(OS_TARGET),netbsd)
+BATCHEXT=.sh
 EXEEXT=
 HASSHAREDLIB=1
 FPCMADE=fpcmade.netbsd
 ZIPSUFFIX=netbsd
 endif
 ifeq ($(OS_TARGET),openbsd)
+BATCHEXT=.sh
 EXEEXT=
 HASSHAREDLIB=1
 FPCMADE=fpcmade.openbsd
@@ -598,6 +620,7 @@ FPCMADE=fpcmade.w32
 ZIPSUFFIX=w32
 endif
 ifeq ($(OS_TARGET),os2)
+BATCHEXT=.cmd
 PPUEXT=.ppo
 ASMEXT=.so2
 OEXT=.oo2
@@ -630,6 +653,7 @@ EXEEXT=.ttp
 FPCMADE=fpcmade.ata
 endif
 ifeq ($(OS_TARGET),beos)
+BATCHEXT=.sh
 PPUEXT=.ppu
 ASMEXT=.s
 OEXT=.o
@@ -640,6 +664,7 @@ FPCMADE=fpcmade.be
 ZIPSUFFIX=be
 endif
 ifeq ($(OS_TARGET),sunos)
+BATCHEXT=.sh
 PPUEXT=.ppu
 ASMEXT=.s
 OEXT=.o
@@ -650,6 +675,7 @@ FPCMADE=fpcmade.sun
 ZIPSUFFIX=sun
 endif
 ifeq ($(OS_TARGET),qnx)
+BATCHEXT=.sh
 PPUEXT=.ppu
 ASMEXT=.s
 OEXT=.o
@@ -672,13 +698,15 @@ ZIPSUFFIX=nw
 EXEEXT=.nlm
 endif
 ifeq ($(OS_TARGET),macos)
+BATCHEXT=
 PPUEXT=.ppu
 ASMEXT=.s
 OEXT=.o
 SMARTEXT=.sl
 STATICLIBEXT=.a
 EXEEXT=
-FPCMADE=fpcmade.mcc
+DEBUGSYMEXT=.xcoff
+FPCMADE=fpcmade.macos
 endif
 endif
 ifndef ECHO
@@ -686,7 +714,7 @@ ECHO:=$(strip $(wildcard $(addsuffix /gecho$(SRCEXEEXT),$(SEARCHPATH))))
 ifeq ($(ECHO),)
 ECHO:=$(strip $(wildcard $(addsuffix /echo$(SRCEXEEXT),$(SEARCHPATH))))
 ifeq ($(ECHO),)
-ECHO=
+ECHO= __missing_command__
 else
 ECHO:=$(firstword $(ECHO))
 endif
@@ -700,7 +728,7 @@ DATE:=$(strip $(wildcard $(addsuffix /gdate$(SRCEXEEXT),$(SEARCHPATH))))
 ifeq ($(DATE),)
 DATE:=$(strip $(wildcard $(addsuffix /date$(SRCEXEEXT),$(SEARCHPATH))))
 ifeq ($(DATE),)
-DATE=
+DATE= __missing_command__
 else
 DATE:=$(firstword $(DATE))
 endif
@@ -714,7 +742,7 @@ GINSTALL:=$(strip $(wildcard $(addsuffix /ginstall$(SRCEXEEXT),$(SEARCHPATH))))
 ifeq ($(GINSTALL),)
 GINSTALL:=$(strip $(wildcard $(addsuffix /install$(SRCEXEEXT),$(SEARCHPATH))))
 ifeq ($(GINSTALL),)
-GINSTALL=
+GINSTALL= __missing_command__
 else
 GINSTALL:=$(firstword $(GINSTALL))
 endif
@@ -726,7 +754,7 @@ export GINSTALL
 ifndef CPPROG
 CPPROG:=$(strip $(wildcard $(addsuffix /cp$(SRCEXEEXT),$(SEARCHPATH))))
 ifeq ($(CPPROG),)
-CPPROG=
+CPPROG= __missing_command__
 else
 CPPROG:=$(firstword $(CPPROG))
 endif
@@ -735,7 +763,7 @@ export CPPROG
 ifndef RMPROG
 RMPROG:=$(strip $(wildcard $(addsuffix /rm$(SRCEXEEXT),$(SEARCHPATH))))
 ifeq ($(RMPROG),)
-RMPROG=
+RMPROG= __missing_command__
 else
 RMPROG:=$(firstword $(RMPROG))
 endif
@@ -744,7 +772,7 @@ export RMPROG
 ifndef MVPROG
 MVPROG:=$(strip $(wildcard $(addsuffix /mv$(SRCEXEEXT),$(SEARCHPATH))))
 ifeq ($(MVPROG),)
-MVPROG=
+MVPROG= __missing_command__
 else
 MVPROG:=$(firstword $(MVPROG))
 endif
@@ -793,7 +821,7 @@ export ECHOREDIR COPY COPYTREE MOVE DEL DELTREE INSTALL INSTALLEXE MKDIR
 ifndef PPUMOVE
 PPUMOVE:=$(strip $(wildcard $(addsuffix /ppumove$(SRCEXEEXT),$(SEARCHPATH))))
 ifeq ($(PPUMOVE),)
-PPUMOVE=
+PPUMOVE= __missing_command__
 else
 PPUMOVE:=$(firstword $(PPUMOVE))
 endif
@@ -802,7 +830,7 @@ export PPUMOVE
 ifndef FPCMAKE
 FPCMAKE:=$(strip $(wildcard $(addsuffix /fpcmake$(SRCEXEEXT),$(SEARCHPATH))))
 ifeq ($(FPCMAKE),)
-FPCMAKE=
+FPCMAKE= __missing_command__
 else
 FPCMAKE:=$(firstword $(FPCMAKE))
 endif
@@ -811,7 +839,7 @@ export FPCMAKE
 ifndef ZIPPROG
 ZIPPROG:=$(strip $(wildcard $(addsuffix /zip$(SRCEXEEXT),$(SEARCHPATH))))
 ifeq ($(ZIPPROG),)
-ZIPPROG=
+ZIPPROG= __missing_command__
 else
 ZIPPROG:=$(firstword $(ZIPPROG))
 endif
@@ -820,7 +848,7 @@ export ZIPPROG
 ifndef TARPROG
 TARPROG:=$(strip $(wildcard $(addsuffix /tar$(SRCEXEEXT),$(SEARCHPATH))))
 ifeq ($(TARPROG),)
-TARPROG=
+TARPROG= __missing_command__
 else
 TARPROG:=$(firstword $(TARPROG))
 endif
@@ -832,9 +860,11 @@ ARNAME=$(BINUTILSPREFIX)ar
 RCNAME=$(BINUTILSPREFIX)rc
 ifneq ($(findstring 1.0.,$(FPC_VERSION)),)
 ifeq ($(OS_TARGET),win32)
-ASNAME=as
-LDNAME=ld
-ARNAME=ar
+ifeq ($(CROSSBINDIR),)
+ASNAME=asw
+LDNAME=ldw
+ARNAME=arw
+endif
 endif
 endif
 ifndef ASPROG
@@ -869,7 +899,7 @@ AS=$(ASPROG)
 LD=$(LDPROG)
 RC=$(RCPROG)
 AR=$(ARPROG)
-PPAS=ppas$(BATCHEXT)
+PPAS=ppas$(SRCBATCHEXT)
 ifdef inUnix
 LDCONFIG=ldconfig
 else
@@ -1224,8 +1254,12 @@ ifdef RELEASE
 ifeq ($(CPU_TARGET),i386)
 FPCCPUOPT:=-OG2p3
 else
+ifeq ($(CPU_TARGET),powerpc)
+FPCCPUOPT:=-O1
+else
 FPCCPUOPT:=
 endif
+endif
 override FPCOPT+=-Xs $(FPCCPUOPT) -n
 override FPCOPTDEF+=RELEASE
 endif
@@ -1438,6 +1472,9 @@ override CLEANPPUFILES+=$(addsuffix $(PPUEXT),$(CLEAN_UNITS))
 endif
 ifdef 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 CLEANPPULINKFILES:=$(wildcard $(addprefix $(UNITTARGETDIRPREFIX),$(CLEANPPULINKFILES)))
 endif
@@ -1461,6 +1498,7 @@ ifdef LIB_NAME
 	-$(DEL) $(LIB_NAME) $(LIB_FULLNAME)
 endif
 	-$(DEL) $(FPCMADE) Package.fpc $(PPAS) script.res link.res $(FPCEXTFILE) $(REDIRFILE)
+	-$(DEL) *$(ASMEXT) *_ppas$(BATCHEXT)
 fpc_distclean: clean
 ifdef COMPILER_UNITTARGETDIR
 TARGETDIRCLEAN=fpc_clean
@@ -1472,9 +1510,13 @@ endif
 	-$(DEL) *$(OEXT) *$(PPUEXT) *$(RSTEXT) *$(ASMEXT) *$(STATICLIBEXT) *$(SHAREDLIBEXT) *$(PPLEXT)
 	-$(DELTREE) *$(SMARTEXT)
 	-$(DEL) $(FPCMADE) Package.fpc $(PPAS) script.res link.res $(FPCEXTFILE) $(REDIRFILE)
+	-$(DEL) *_ppas$(BATCHEXT)
 ifdef AOUTEXT
 	-$(DEL) *$(AOUTEXT)
 endif
+ifdef DEBUGSYMEXT
+	-$(DEL) *$(DEBUGSYMEXT)
+endif
 .PHONY: fpc_baseinfo
 override INFORULES+=fpc_baseinfo
 fpc_baseinfo:

+ 100 - 70
packages/extra/os2units/Makefile

@@ -1,15 +1,24 @@
 #
-# Don't edit, this file is generated by FPCMake Version 1.1 [2004/02/22]
+# Don't edit, this file is generated by FPCMake Version 1.1 [2004/04/21]
 #
 default: all
 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:=$(subst \,/,$(PATH))
+ifneq ($(findstring darwin,$(OSTYPE)),)
+inUnix=1 #darwin
+SEARCHPATH:=$(filter-out .,$(subst :, ,$(PATH)))
+else
 ifeq ($(findstring ;,$(PATH)),)
 inUnix=1
 SEARCHPATH:=$(filter-out .,$(subst :, ,$(PATH)))
 else
 SEARCHPATH:=$(subst ;, ,$(PATH))
 endif
+endif
 SEARCHPATH+=$(patsubst %/,%,$(subst \,/,$(dir $(MAKE))))
 PWD:=$(strip $(wildcard $(addsuffix /pwd.exe,$(SEARCHPATH))))
 ifeq ($(PWD),)
@@ -37,22 +46,13 @@ ifneq ($(findstring cygdrive,$(PATH)),)
 inCygWin=1
 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
-BATCHEXT=.sh
+SRCBATCHEXT=.sh
 else
 ifdef inOS2
-BATCHEXT=.cmd
+SRCBATCHEXT=.cmd
 else
-BATCHEXT=.bat
+SRCBATCHEXT=.bat
 endif
 endif
 ifdef inUnix
@@ -155,6 +155,12 @@ ifeq ($(findstring $(OS_TARGET),$(MAKEFILETARGETS)),)
 $(error The Makefile doesn't support target $(OS_TARGET), please run fpcmake first)
 endif
 endif
+ifneq ($(findstring $(OS_TARGET),$(BSDs)),)
+BSDhier=1
+endif
+ifeq ($(OS_TARGET),linux)
+linuxHier=1
+endif
 export OS_TARGET OS_SOURCE CPU_TARGET CPU_SOURCE FULL_TARGET FULL_SOURCE CROSSCOMPILE
 ifdef FPCDIR
 override FPCDIR:=$(subst \,/,$(FPCDIR))
@@ -217,42 +223,12 @@ 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
-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
 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
 ifndef INSTALL_PREFIX
@@ -261,7 +237,7 @@ INSTALL_PREFIX=$(PREFIX)
 endif
 endif
 ifndef INSTALL_PREFIX
-ifdef UNIXINSTALLDIR
+ifdef UNIXHier
 INSTALL_PREFIX=/usr/local
 else
 ifdef INSTALL_FPCPACKAGE
@@ -280,7 +256,7 @@ DIST_DESTDIR:=$(BASEDIR)
 endif
 export DIST_DESTDIR
 ifndef INSTALL_BASEDIR
-ifdef UNIXINSTALLDIR
+ifdef UNIXHier
 ifdef INSTALL_FPCPACKAGE
 INSTALL_BASEDIR:=$(INSTALL_PREFIX)/lib/fpc/$(FPC_VERSION)
 else
@@ -291,7 +267,7 @@ INSTALL_BASEDIR:=$(INSTALL_PREFIX)
 endif
 endif
 ifndef INSTALL_BINDIR
-ifdef UNIXINSTALLDIR
+ifdef UNIXHier
 ifdef CROSSCOMPILE
 INSTALL_BINDIR:=$(INSTALL_BASEDIR)/cross/$(FULL_TARGET)/bin
 else
@@ -321,19 +297,23 @@ endif
 endif
 endif
 ifndef INSTALL_LIBDIR
-ifdef UNIXINSTALLDIR
+ifdef UNIXHier
 INSTALL_LIBDIR:=$(INSTALL_PREFIX)/lib
 else
 INSTALL_LIBDIR:=$(INSTALL_UNITDIR)
 endif
 endif
 ifndef INSTALL_SOURCEDIR
-ifdef UNIXINSTALLDIR
+ifdef UNIXHier
 ifdef BSDhier
 SRCPREFIXDIR=share/src
 else
+ifdef linuxHier
+SRCPREFIXDIR=share/src
+else
 SRCPREFIXDIR=src
 endif
+endif
 ifdef INSTALL_FPCPACKAGE
 ifdef INSTALL_FPCSUBDIR
 INSTALL_SOURCEDIR:=$(INSTALL_PREFIX)/$(SRCPREFIXDIR)/fpc-$(FPC_VERSION)/$(INSTALL_FPCSUBDIR)/$(PACKAGE_NAME)
@@ -356,12 +336,16 @@ endif
 endif
 endif
 ifndef INSTALL_DOCDIR
-ifdef UNIXINSTALLDIR
+ifdef UNIXHier
 ifdef BSDhier
 DOCPREFIXDIR=share/doc
 else
+ifdef linuxHier
+DOCPREFIXDIR=share/doc
+else
 DOCPREFIXDIR=doc
 endif
+endif
 ifdef INSTALL_FPCPACKAGE
 INSTALL_DOCDIR:=$(INSTALL_PREFIX)/$(DOCPREFIXDIR)/fpc-$(FPC_VERSION)/$(PACKAGE_NAME)
 else
@@ -376,20 +360,28 @@ endif
 endif
 endif
 ifndef INSTALL_EXAMPLEDIR
-ifdef UNIXINSTALLDIR
+ifdef UNIXHier
 ifdef INSTALL_FPCPACKAGE
 ifdef BSDhier
 INSTALL_EXAMPLEDIR:=$(INSTALL_PREFIX)/share/examples/fpc-$(FPC_VERSION)/$(PACKAGE_NAME)
 else
+ifdef linuxHier
+INSTALL_EXAMPLEDIR:=$(INSTALL_DOCDIR)/examples/fpc-$(FPC_VERSION)/$(PACKAGE_NAME)
+else
 INSTALL_EXAMPLEDIR:=$(INSTALL_PREFIX)/doc/fpc-$(FPC_VERSION)/examples/$(PACKAGE_NAME)
 endif
+endif
 else
 ifdef BSDhier
 INSTALL_EXAMPLEDIR:=$(INSTALL_PREFIX)/share/examples/$(PACKAGE_NAME)-$(PACKAGE_VERSION)
 else
+ifdef linuxHier
+INSTALL_EXAMPLEDIR:=$(INSTALL_DOCDIR)/examples/$(PACKAGE_NAME)-$(PACKAGE_VERSION)
+else
 INSTALL_EXAMPLEDIR:=$(INSTALL_PREFIX)/doc/$(PACKAGE_NAME)-$(PACKAGE_VERSION)
 endif
 endif
+endif
 else
 ifdef INSTALL_FPCPACKAGE
 INSTALL_EXAMPLEDIR:=$(INSTALL_BASEDIR)/examples/$(PACKAGE_NAME)
@@ -411,6 +403,7 @@ endif
 else
 CROSSBINDIR=
 endif
+BATCHEXT=.bat
 LOADEREXT=.as
 EXEEXT=.exe
 PPLEXT=.ppl
@@ -443,24 +436,28 @@ ASMEXT=.asm
 SHAREDLIBEXT=.dll
 endif
 ifeq ($(OS_TARGET),linux)
+BATCHEXT=.sh
 EXEEXT=
 HASSHAREDLIB=1
 FPCMADE=fpcmade.lnx
 ZIPSUFFIX=linux
 endif
 ifeq ($(OS_TARGET),freebsd)
+BATCHEXT=.sh
 EXEEXT=
 HASSHAREDLIB=1
 FPCMADE=fpcmade.freebsd
 ZIPSUFFIX=freebsd
 endif
 ifeq ($(OS_TARGET),netbsd)
+BATCHEXT=.sh
 EXEEXT=
 HASSHAREDLIB=1
 FPCMADE=fpcmade.netbsd
 ZIPSUFFIX=netbsd
 endif
 ifeq ($(OS_TARGET),openbsd)
+BATCHEXT=.sh
 EXEEXT=
 HASSHAREDLIB=1
 FPCMADE=fpcmade.openbsd
@@ -472,6 +469,7 @@ FPCMADE=fpcmade.w32
 ZIPSUFFIX=w32
 endif
 ifeq ($(OS_TARGET),os2)
+BATCHEXT=.cmd
 AOUTEXT=.out
 STATICLIBPREFIX=
 SHAREDLIBEXT=.dll
@@ -480,6 +478,7 @@ ZIPSUFFIX=os2
 ECHO=echo
 endif
 ifeq ($(OS_TARGET),emx)
+BATCHEXT=.cmd
 AOUTEXT=.out
 STATICLIBPREFIX=
 SHAREDLIBEXT=.dll
@@ -497,16 +496,19 @@ EXEEXT=.ttp
 FPCMADE=fpcmade.ata
 endif
 ifeq ($(OS_TARGET),beos)
+BATCHEXT=.sh
 EXEEXT=
 FPCMADE=fpcmade.be
 ZIPSUFFIX=be
 endif
 ifeq ($(OS_TARGET),sunos)
+BATCHEXT=.sh
 EXEEXT=
 FPCMADE=fpcmade.sun
 ZIPSUFFIX=sun
 endif
 ifeq ($(OS_TARGET),qnx)
+BATCHEXT=.sh
 EXEEXT=
 FPCMADE=fpcmade.qnx
 ZIPSUFFIX=qnx
@@ -518,10 +520,14 @@ FPCMADE=fpcmade.nw
 ZIPSUFFIX=nw
 endif
 ifeq ($(OS_TARGET),macos)
+BATCHEXT=
 EXEEXT=
-FPCMADE=fpcmade.mcc
+FPCMADE=fpcmade.macos
+ZIPSUFFIX=macos
+DEBUGSYMEXT=.xcoff
 endif
 ifeq ($(OS_TARGET),darwin)
+BATCHEXT=.sh
 EXEEXT=
 HASSHAREDLIB=1
 FPCMADE=fpcmade.darwin
@@ -550,24 +556,28 @@ FPCMADE=fpcmade.dos
 ZIPSUFFIX=watcom
 endif
 ifeq ($(OS_TARGET),linux)
+BATCHEXT=.sh
 EXEEXT=
 HASSHAREDLIB=1
 FPCMADE=fpcmade.lnx
 ZIPSUFFIX=linux
 endif
 ifeq ($(OS_TARGET),freebsd)
+BATCHEXT=.sh
 EXEEXT=
 HASSHAREDLIB=1
 FPCMADE=fpcmade.freebsd
 ZIPSUFFIX=freebsd
 endif
 ifeq ($(OS_TARGET),netbsd)
+BATCHEXT=.sh
 EXEEXT=
 HASSHAREDLIB=1
 FPCMADE=fpcmade.netbsd
 ZIPSUFFIX=netbsd
 endif
 ifeq ($(OS_TARGET),openbsd)
+BATCHEXT=.sh
 EXEEXT=
 HASSHAREDLIB=1
 FPCMADE=fpcmade.openbsd
@@ -584,6 +594,7 @@ FPCMADE=fpcmade.w32
 ZIPSUFFIX=w32
 endif
 ifeq ($(OS_TARGET),os2)
+BATCHEXT=.cmd
 PPUEXT=.ppo
 ASMEXT=.so2
 OEXT=.oo2
@@ -616,6 +627,7 @@ EXEEXT=.ttp
 FPCMADE=fpcmade.ata
 endif
 ifeq ($(OS_TARGET),beos)
+BATCHEXT=.sh
 PPUEXT=.ppu
 ASMEXT=.s
 OEXT=.o
@@ -626,6 +638,7 @@ FPCMADE=fpcmade.be
 ZIPSUFFIX=be
 endif
 ifeq ($(OS_TARGET),sunos)
+BATCHEXT=.sh
 PPUEXT=.ppu
 ASMEXT=.s
 OEXT=.o
@@ -636,6 +649,7 @@ FPCMADE=fpcmade.sun
 ZIPSUFFIX=sun
 endif
 ifeq ($(OS_TARGET),qnx)
+BATCHEXT=.sh
 PPUEXT=.ppu
 ASMEXT=.s
 OEXT=.o
@@ -658,13 +672,15 @@ ZIPSUFFIX=nw
 EXEEXT=.nlm
 endif
 ifeq ($(OS_TARGET),macos)
+BATCHEXT=
 PPUEXT=.ppu
 ASMEXT=.s
 OEXT=.o
 SMARTEXT=.sl
 STATICLIBEXT=.a
 EXEEXT=
-FPCMADE=fpcmade.mcc
+DEBUGSYMEXT=.xcoff
+FPCMADE=fpcmade.macos
 endif
 endif
 ifndef ECHO
@@ -672,7 +688,7 @@ ECHO:=$(strip $(wildcard $(addsuffix /gecho$(SRCEXEEXT),$(SEARCHPATH))))
 ifeq ($(ECHO),)
 ECHO:=$(strip $(wildcard $(addsuffix /echo$(SRCEXEEXT),$(SEARCHPATH))))
 ifeq ($(ECHO),)
-ECHO=
+ECHO= __missing_command__
 else
 ECHO:=$(firstword $(ECHO))
 endif
@@ -686,7 +702,7 @@ DATE:=$(strip $(wildcard $(addsuffix /gdate$(SRCEXEEXT),$(SEARCHPATH))))
 ifeq ($(DATE),)
 DATE:=$(strip $(wildcard $(addsuffix /date$(SRCEXEEXT),$(SEARCHPATH))))
 ifeq ($(DATE),)
-DATE=
+DATE= __missing_command__
 else
 DATE:=$(firstword $(DATE))
 endif
@@ -700,7 +716,7 @@ GINSTALL:=$(strip $(wildcard $(addsuffix /ginstall$(SRCEXEEXT),$(SEARCHPATH))))
 ifeq ($(GINSTALL),)
 GINSTALL:=$(strip $(wildcard $(addsuffix /install$(SRCEXEEXT),$(SEARCHPATH))))
 ifeq ($(GINSTALL),)
-GINSTALL=
+GINSTALL= __missing_command__
 else
 GINSTALL:=$(firstword $(GINSTALL))
 endif
@@ -712,7 +728,7 @@ export GINSTALL
 ifndef CPPROG
 CPPROG:=$(strip $(wildcard $(addsuffix /cp$(SRCEXEEXT),$(SEARCHPATH))))
 ifeq ($(CPPROG),)
-CPPROG=
+CPPROG= __missing_command__
 else
 CPPROG:=$(firstword $(CPPROG))
 endif
@@ -721,7 +737,7 @@ export CPPROG
 ifndef RMPROG
 RMPROG:=$(strip $(wildcard $(addsuffix /rm$(SRCEXEEXT),$(SEARCHPATH))))
 ifeq ($(RMPROG),)
-RMPROG=
+RMPROG= __missing_command__
 else
 RMPROG:=$(firstword $(RMPROG))
 endif
@@ -730,7 +746,7 @@ export RMPROG
 ifndef MVPROG
 MVPROG:=$(strip $(wildcard $(addsuffix /mv$(SRCEXEEXT),$(SEARCHPATH))))
 ifeq ($(MVPROG),)
-MVPROG=
+MVPROG= __missing_command__
 else
 MVPROG:=$(firstword $(MVPROG))
 endif
@@ -779,7 +795,7 @@ export ECHOREDIR COPY COPYTREE MOVE DEL DELTREE INSTALL INSTALLEXE MKDIR
 ifndef PPUMOVE
 PPUMOVE:=$(strip $(wildcard $(addsuffix /ppumove$(SRCEXEEXT),$(SEARCHPATH))))
 ifeq ($(PPUMOVE),)
-PPUMOVE=
+PPUMOVE= __missing_command__
 else
 PPUMOVE:=$(firstword $(PPUMOVE))
 endif
@@ -788,7 +804,7 @@ export PPUMOVE
 ifndef FPCMAKE
 FPCMAKE:=$(strip $(wildcard $(addsuffix /fpcmake$(SRCEXEEXT),$(SEARCHPATH))))
 ifeq ($(FPCMAKE),)
-FPCMAKE=
+FPCMAKE= __missing_command__
 else
 FPCMAKE:=$(firstword $(FPCMAKE))
 endif
@@ -797,7 +813,7 @@ export FPCMAKE
 ifndef ZIPPROG
 ZIPPROG:=$(strip $(wildcard $(addsuffix /zip$(SRCEXEEXT),$(SEARCHPATH))))
 ifeq ($(ZIPPROG),)
-ZIPPROG=
+ZIPPROG= __missing_command__
 else
 ZIPPROG:=$(firstword $(ZIPPROG))
 endif
@@ -806,7 +822,7 @@ export ZIPPROG
 ifndef TARPROG
 TARPROG:=$(strip $(wildcard $(addsuffix /tar$(SRCEXEEXT),$(SEARCHPATH))))
 ifeq ($(TARPROG),)
-TARPROG=
+TARPROG= __missing_command__
 else
 TARPROG:=$(firstword $(TARPROG))
 endif
@@ -818,9 +834,11 @@ ARNAME=$(BINUTILSPREFIX)ar
 RCNAME=$(BINUTILSPREFIX)rc
 ifneq ($(findstring 1.0.,$(FPC_VERSION)),)
 ifeq ($(OS_TARGET),win32)
-ASNAME=as
-LDNAME=ld
-ARNAME=ar
+ifeq ($(CROSSBINDIR),)
+ASNAME=asw
+LDNAME=ldw
+ARNAME=arw
+endif
 endif
 endif
 ifndef ASPROG
@@ -855,7 +873,7 @@ AS=$(ASPROG)
 LD=$(LDPROG)
 RC=$(RCPROG)
 AR=$(ARPROG)
-PPAS=ppas$(BATCHEXT)
+PPAS=ppas$(SRCBATCHEXT)
 ifdef inUnix
 LDCONFIG=ldconfig
 else
@@ -1114,8 +1132,12 @@ ifdef RELEASE
 ifeq ($(CPU_TARGET),i386)
 FPCCPUOPT:=-OG2p3
 else
+ifeq ($(CPU_TARGET),powerpc)
+FPCCPUOPT:=-O1
+else
 FPCCPUOPT:=
 endif
+endif
 override FPCOPT+=-Xs $(FPCCPUOPT) -n
 override FPCOPTDEF+=RELEASE
 endif
@@ -1209,6 +1231,9 @@ override CLEANPPUFILES+=$(addsuffix $(PPUEXT),$(CLEAN_UNITS))
 endif
 ifdef 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 CLEANPPULINKFILES:=$(wildcard $(addprefix $(UNITTARGETDIRPREFIX),$(CLEANPPULINKFILES)))
 endif
@@ -1232,6 +1257,7 @@ ifdef LIB_NAME
 	-$(DEL) $(LIB_NAME) $(LIB_FULLNAME)
 endif
 	-$(DEL) $(FPCMADE) Package.fpc $(PPAS) script.res link.res $(FPCEXTFILE) $(REDIRFILE)
+	-$(DEL) *$(ASMEXT) *_ppas$(BATCHEXT)
 fpc_distclean: clean
 ifdef COMPILER_UNITTARGETDIR
 TARGETDIRCLEAN=fpc_clean
@@ -1243,9 +1269,13 @@ endif
 	-$(DEL) *$(OEXT) *$(PPUEXT) *$(RSTEXT) *$(ASMEXT) *$(STATICLIBEXT) *$(SHAREDLIBEXT) *$(PPLEXT)
 	-$(DELTREE) *$(SMARTEXT)
 	-$(DEL) $(FPCMADE) Package.fpc $(PPAS) script.res link.res $(FPCEXTFILE) $(REDIRFILE)
+	-$(DEL) *_ppas$(BATCHEXT)
 ifdef AOUTEXT
 	-$(DEL) *$(AOUTEXT)
 endif
+ifdef DEBUGSYMEXT
+	-$(DEL) *$(DEBUGSYMEXT)
+endif
 .PHONY: fpc_baseinfo
 override INFORULES+=fpc_baseinfo
 fpc_baseinfo:

+ 101 - 71
packages/extra/os2units/clkdll/Makefile

@@ -1,15 +1,24 @@
 #
-# Don't edit, this file is generated by FPCMake Version 1.1 [2004/02/22]
+# Don't edit, this file is generated by FPCMake Version 1.1 [2004/04/21]
 #
 default: all
 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:=$(subst \,/,$(PATH))
+ifneq ($(findstring darwin,$(OSTYPE)),)
+inUnix=1 #darwin
+SEARCHPATH:=$(filter-out .,$(subst :, ,$(PATH)))
+else
 ifeq ($(findstring ;,$(PATH)),)
 inUnix=1
 SEARCHPATH:=$(filter-out .,$(subst :, ,$(PATH)))
 else
 SEARCHPATH:=$(subst ;, ,$(PATH))
 endif
+endif
 SEARCHPATH+=$(patsubst %/,%,$(subst \,/,$(dir $(MAKE))))
 PWD:=$(strip $(wildcard $(addsuffix /pwd.exe,$(SEARCHPATH))))
 ifeq ($(PWD),)
@@ -37,22 +46,13 @@ ifneq ($(findstring cygdrive,$(PATH)),)
 inCygWin=1
 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
-BATCHEXT=.sh
+SRCBATCHEXT=.sh
 else
 ifdef inOS2
-BATCHEXT=.cmd
+SRCBATCHEXT=.cmd
 else
-BATCHEXT=.bat
+SRCBATCHEXT=.bat
 endif
 endif
 ifdef inUnix
@@ -155,6 +155,12 @@ ifeq ($(findstring $(OS_TARGET),$(MAKEFILETARGETS)),)
 $(error The Makefile doesn't support target $(OS_TARGET), please run fpcmake first)
 endif
 endif
+ifneq ($(findstring $(OS_TARGET),$(BSDs)),)
+BSDhier=1
+endif
+ifeq ($(OS_TARGET),linux)
+linuxHier=1
+endif
 export OS_TARGET OS_SOURCE CPU_TARGET CPU_SOURCE FULL_TARGET FULL_SOURCE CROSSCOMPILE
 ifdef FPCDIR
 override FPCDIR:=$(subst \,/,$(FPCDIR))
@@ -219,42 +225,12 @@ 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
-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
 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
 ifndef INSTALL_PREFIX
@@ -263,7 +239,7 @@ INSTALL_PREFIX=$(PREFIX)
 endif
 endif
 ifndef INSTALL_PREFIX
-ifdef UNIXINSTALLDIR
+ifdef UNIXHier
 INSTALL_PREFIX=/usr/local
 else
 ifdef INSTALL_FPCPACKAGE
@@ -282,7 +258,7 @@ DIST_DESTDIR:=$(BASEDIR)
 endif
 export DIST_DESTDIR
 ifndef INSTALL_BASEDIR
-ifdef UNIXINSTALLDIR
+ifdef UNIXHier
 ifdef INSTALL_FPCPACKAGE
 INSTALL_BASEDIR:=$(INSTALL_PREFIX)/lib/fpc/$(FPC_VERSION)
 else
@@ -293,7 +269,7 @@ INSTALL_BASEDIR:=$(INSTALL_PREFIX)
 endif
 endif
 ifndef INSTALL_BINDIR
-ifdef UNIXINSTALLDIR
+ifdef UNIXHier
 ifdef CROSSCOMPILE
 INSTALL_BINDIR:=$(INSTALL_BASEDIR)/cross/$(FULL_TARGET)/bin
 else
@@ -323,19 +299,23 @@ endif
 endif
 endif
 ifndef INSTALL_LIBDIR
-ifdef UNIXINSTALLDIR
+ifdef UNIXHier
 INSTALL_LIBDIR:=$(INSTALL_PREFIX)/lib
 else
 INSTALL_LIBDIR:=$(INSTALL_UNITDIR)
 endif
 endif
 ifndef INSTALL_SOURCEDIR
-ifdef UNIXINSTALLDIR
+ifdef UNIXHier
 ifdef BSDhier
 SRCPREFIXDIR=share/src
 else
+ifdef linuxHier
+SRCPREFIXDIR=share/src
+else
 SRCPREFIXDIR=src
 endif
+endif
 ifdef INSTALL_FPCPACKAGE
 ifdef INSTALL_FPCSUBDIR
 INSTALL_SOURCEDIR:=$(INSTALL_PREFIX)/$(SRCPREFIXDIR)/fpc-$(FPC_VERSION)/$(INSTALL_FPCSUBDIR)/$(PACKAGE_NAME)
@@ -358,12 +338,16 @@ endif
 endif
 endif
 ifndef INSTALL_DOCDIR
-ifdef UNIXINSTALLDIR
+ifdef UNIXHier
 ifdef BSDhier
 DOCPREFIXDIR=share/doc
 else
+ifdef linuxHier
+DOCPREFIXDIR=share/doc
+else
 DOCPREFIXDIR=doc
 endif
+endif
 ifdef INSTALL_FPCPACKAGE
 INSTALL_DOCDIR:=$(INSTALL_PREFIX)/$(DOCPREFIXDIR)/fpc-$(FPC_VERSION)/$(PACKAGE_NAME)
 else
@@ -378,20 +362,28 @@ endif
 endif
 endif
 ifndef INSTALL_EXAMPLEDIR
-ifdef UNIXINSTALLDIR
+ifdef UNIXHier
 ifdef INSTALL_FPCPACKAGE
 ifdef BSDhier
 INSTALL_EXAMPLEDIR:=$(INSTALL_PREFIX)/share/examples/fpc-$(FPC_VERSION)/$(PACKAGE_NAME)
 else
+ifdef linuxHier
+INSTALL_EXAMPLEDIR:=$(INSTALL_DOCDIR)/examples/fpc-$(FPC_VERSION)/$(PACKAGE_NAME)
+else
 INSTALL_EXAMPLEDIR:=$(INSTALL_PREFIX)/doc/fpc-$(FPC_VERSION)/examples/$(PACKAGE_NAME)
 endif
+endif
 else
 ifdef BSDhier
 INSTALL_EXAMPLEDIR:=$(INSTALL_PREFIX)/share/examples/$(PACKAGE_NAME)-$(PACKAGE_VERSION)
 else
+ifdef linuxHier
+INSTALL_EXAMPLEDIR:=$(INSTALL_DOCDIR)/examples/$(PACKAGE_NAME)-$(PACKAGE_VERSION)
+else
 INSTALL_EXAMPLEDIR:=$(INSTALL_PREFIX)/doc/$(PACKAGE_NAME)-$(PACKAGE_VERSION)
 endif
 endif
+endif
 else
 ifdef INSTALL_FPCPACKAGE
 INSTALL_EXAMPLEDIR:=$(INSTALL_BASEDIR)/examples/$(PACKAGE_NAME)
@@ -413,6 +405,7 @@ endif
 else
 CROSSBINDIR=
 endif
+BATCHEXT=.bat
 LOADEREXT=.as
 EXEEXT=.exe
 PPLEXT=.ppl
@@ -445,24 +438,28 @@ ASMEXT=.asm
 SHAREDLIBEXT=.dll
 endif
 ifeq ($(OS_TARGET),linux)
+BATCHEXT=.sh
 EXEEXT=
 HASSHAREDLIB=1
 FPCMADE=fpcmade.lnx
 ZIPSUFFIX=linux
 endif
 ifeq ($(OS_TARGET),freebsd)
+BATCHEXT=.sh
 EXEEXT=
 HASSHAREDLIB=1
 FPCMADE=fpcmade.freebsd
 ZIPSUFFIX=freebsd
 endif
 ifeq ($(OS_TARGET),netbsd)
+BATCHEXT=.sh
 EXEEXT=
 HASSHAREDLIB=1
 FPCMADE=fpcmade.netbsd
 ZIPSUFFIX=netbsd
 endif
 ifeq ($(OS_TARGET),openbsd)
+BATCHEXT=.sh
 EXEEXT=
 HASSHAREDLIB=1
 FPCMADE=fpcmade.openbsd
@@ -474,6 +471,7 @@ FPCMADE=fpcmade.w32
 ZIPSUFFIX=w32
 endif
 ifeq ($(OS_TARGET),os2)
+BATCHEXT=.cmd
 AOUTEXT=.out
 STATICLIBPREFIX=
 SHAREDLIBEXT=.dll
@@ -482,6 +480,7 @@ ZIPSUFFIX=os2
 ECHO=echo
 endif
 ifeq ($(OS_TARGET),emx)
+BATCHEXT=.cmd
 AOUTEXT=.out
 STATICLIBPREFIX=
 SHAREDLIBEXT=.dll
@@ -499,16 +498,19 @@ EXEEXT=.ttp
 FPCMADE=fpcmade.ata
 endif
 ifeq ($(OS_TARGET),beos)
+BATCHEXT=.sh
 EXEEXT=
 FPCMADE=fpcmade.be
 ZIPSUFFIX=be
 endif
 ifeq ($(OS_TARGET),sunos)
+BATCHEXT=.sh
 EXEEXT=
 FPCMADE=fpcmade.sun
 ZIPSUFFIX=sun
 endif
 ifeq ($(OS_TARGET),qnx)
+BATCHEXT=.sh
 EXEEXT=
 FPCMADE=fpcmade.qnx
 ZIPSUFFIX=qnx
@@ -520,10 +522,14 @@ FPCMADE=fpcmade.nw
 ZIPSUFFIX=nw
 endif
 ifeq ($(OS_TARGET),macos)
+BATCHEXT=
 EXEEXT=
-FPCMADE=fpcmade.mcc
+FPCMADE=fpcmade.macos
+ZIPSUFFIX=macos
+DEBUGSYMEXT=.xcoff
 endif
 ifeq ($(OS_TARGET),darwin)
+BATCHEXT=.sh
 EXEEXT=
 HASSHAREDLIB=1
 FPCMADE=fpcmade.darwin
@@ -552,24 +558,28 @@ FPCMADE=fpcmade.dos
 ZIPSUFFIX=watcom
 endif
 ifeq ($(OS_TARGET),linux)
+BATCHEXT=.sh
 EXEEXT=
 HASSHAREDLIB=1
 FPCMADE=fpcmade.lnx
 ZIPSUFFIX=linux
 endif
 ifeq ($(OS_TARGET),freebsd)
+BATCHEXT=.sh
 EXEEXT=
 HASSHAREDLIB=1
 FPCMADE=fpcmade.freebsd
 ZIPSUFFIX=freebsd
 endif
 ifeq ($(OS_TARGET),netbsd)
+BATCHEXT=.sh
 EXEEXT=
 HASSHAREDLIB=1
 FPCMADE=fpcmade.netbsd
 ZIPSUFFIX=netbsd
 endif
 ifeq ($(OS_TARGET),openbsd)
+BATCHEXT=.sh
 EXEEXT=
 HASSHAREDLIB=1
 FPCMADE=fpcmade.openbsd
@@ -586,6 +596,7 @@ FPCMADE=fpcmade.w32
 ZIPSUFFIX=w32
 endif
 ifeq ($(OS_TARGET),os2)
+BATCHEXT=.cmd
 PPUEXT=.ppo
 ASMEXT=.so2
 OEXT=.oo2
@@ -618,6 +629,7 @@ EXEEXT=.ttp
 FPCMADE=fpcmade.ata
 endif
 ifeq ($(OS_TARGET),beos)
+BATCHEXT=.sh
 PPUEXT=.ppu
 ASMEXT=.s
 OEXT=.o
@@ -628,6 +640,7 @@ FPCMADE=fpcmade.be
 ZIPSUFFIX=be
 endif
 ifeq ($(OS_TARGET),sunos)
+BATCHEXT=.sh
 PPUEXT=.ppu
 ASMEXT=.s
 OEXT=.o
@@ -638,6 +651,7 @@ FPCMADE=fpcmade.sun
 ZIPSUFFIX=sun
 endif
 ifeq ($(OS_TARGET),qnx)
+BATCHEXT=.sh
 PPUEXT=.ppu
 ASMEXT=.s
 OEXT=.o
@@ -660,13 +674,15 @@ ZIPSUFFIX=nw
 EXEEXT=.nlm
 endif
 ifeq ($(OS_TARGET),macos)
+BATCHEXT=
 PPUEXT=.ppu
 ASMEXT=.s
 OEXT=.o
 SMARTEXT=.sl
 STATICLIBEXT=.a
 EXEEXT=
-FPCMADE=fpcmade.mcc
+DEBUGSYMEXT=.xcoff
+FPCMADE=fpcmade.macos
 endif
 endif
 ifndef ECHO
@@ -674,7 +690,7 @@ ECHO:=$(strip $(wildcard $(addsuffix /gecho$(SRCEXEEXT),$(SEARCHPATH))))
 ifeq ($(ECHO),)
 ECHO:=$(strip $(wildcard $(addsuffix /echo$(SRCEXEEXT),$(SEARCHPATH))))
 ifeq ($(ECHO),)
-ECHO=
+ECHO= __missing_command__
 else
 ECHO:=$(firstword $(ECHO))
 endif
@@ -688,7 +704,7 @@ DATE:=$(strip $(wildcard $(addsuffix /gdate$(SRCEXEEXT),$(SEARCHPATH))))
 ifeq ($(DATE),)
 DATE:=$(strip $(wildcard $(addsuffix /date$(SRCEXEEXT),$(SEARCHPATH))))
 ifeq ($(DATE),)
-DATE=
+DATE= __missing_command__
 else
 DATE:=$(firstword $(DATE))
 endif
@@ -702,7 +718,7 @@ GINSTALL:=$(strip $(wildcard $(addsuffix /ginstall$(SRCEXEEXT),$(SEARCHPATH))))
 ifeq ($(GINSTALL),)
 GINSTALL:=$(strip $(wildcard $(addsuffix /install$(SRCEXEEXT),$(SEARCHPATH))))
 ifeq ($(GINSTALL),)
-GINSTALL=
+GINSTALL= __missing_command__
 else
 GINSTALL:=$(firstword $(GINSTALL))
 endif
@@ -714,7 +730,7 @@ export GINSTALL
 ifndef CPPROG
 CPPROG:=$(strip $(wildcard $(addsuffix /cp$(SRCEXEEXT),$(SEARCHPATH))))
 ifeq ($(CPPROG),)
-CPPROG=
+CPPROG= __missing_command__
 else
 CPPROG:=$(firstword $(CPPROG))
 endif
@@ -723,7 +739,7 @@ export CPPROG
 ifndef RMPROG
 RMPROG:=$(strip $(wildcard $(addsuffix /rm$(SRCEXEEXT),$(SEARCHPATH))))
 ifeq ($(RMPROG),)
-RMPROG=
+RMPROG= __missing_command__
 else
 RMPROG:=$(firstword $(RMPROG))
 endif
@@ -732,7 +748,7 @@ export RMPROG
 ifndef MVPROG
 MVPROG:=$(strip $(wildcard $(addsuffix /mv$(SRCEXEEXT),$(SEARCHPATH))))
 ifeq ($(MVPROG),)
-MVPROG=
+MVPROG= __missing_command__
 else
 MVPROG:=$(firstword $(MVPROG))
 endif
@@ -781,7 +797,7 @@ export ECHOREDIR COPY COPYTREE MOVE DEL DELTREE INSTALL INSTALLEXE MKDIR
 ifndef PPUMOVE
 PPUMOVE:=$(strip $(wildcard $(addsuffix /ppumove$(SRCEXEEXT),$(SEARCHPATH))))
 ifeq ($(PPUMOVE),)
-PPUMOVE=
+PPUMOVE= __missing_command__
 else
 PPUMOVE:=$(firstword $(PPUMOVE))
 endif
@@ -790,7 +806,7 @@ export PPUMOVE
 ifndef FPCMAKE
 FPCMAKE:=$(strip $(wildcard $(addsuffix /fpcmake$(SRCEXEEXT),$(SEARCHPATH))))
 ifeq ($(FPCMAKE),)
-FPCMAKE=
+FPCMAKE= __missing_command__
 else
 FPCMAKE:=$(firstword $(FPCMAKE))
 endif
@@ -799,7 +815,7 @@ export FPCMAKE
 ifndef ZIPPROG
 ZIPPROG:=$(strip $(wildcard $(addsuffix /zip$(SRCEXEEXT),$(SEARCHPATH))))
 ifeq ($(ZIPPROG),)
-ZIPPROG=
+ZIPPROG= __missing_command__
 else
 ZIPPROG:=$(firstword $(ZIPPROG))
 endif
@@ -808,7 +824,7 @@ export ZIPPROG
 ifndef TARPROG
 TARPROG:=$(strip $(wildcard $(addsuffix /tar$(SRCEXEEXT),$(SEARCHPATH))))
 ifeq ($(TARPROG),)
-TARPROG=
+TARPROG= __missing_command__
 else
 TARPROG:=$(firstword $(TARPROG))
 endif
@@ -820,9 +836,11 @@ ARNAME=$(BINUTILSPREFIX)ar
 RCNAME=$(BINUTILSPREFIX)rc
 ifneq ($(findstring 1.0.,$(FPC_VERSION)),)
 ifeq ($(OS_TARGET),win32)
-ASNAME=as
-LDNAME=ld
-ARNAME=ar
+ifeq ($(CROSSBINDIR),)
+ASNAME=asw
+LDNAME=ldw
+ARNAME=arw
+endif
 endif
 endif
 ifndef ASPROG
@@ -857,7 +875,7 @@ AS=$(ASPROG)
 LD=$(LDPROG)
 RC=$(RCPROG)
 AR=$(ARPROG)
-PPAS=ppas$(BATCHEXT)
+PPAS=ppas$(SRCBATCHEXT)
 ifdef inUnix
 LDCONFIG=ldconfig
 else
@@ -1116,8 +1134,12 @@ ifdef RELEASE
 ifeq ($(CPU_TARGET),i386)
 FPCCPUOPT:=-OG2p3
 else
+ifeq ($(CPU_TARGET),powerpc)
+FPCCPUOPT:=-O1
+else
 FPCCPUOPT:=
 endif
+endif
 override FPCOPT+=-Xs $(FPCCPUOPT) -n
 override FPCOPTDEF+=RELEASE
 endif
@@ -1361,7 +1383,7 @@ USEZIPWRAPPER=1
 endif
 ifdef USEZIPWRAPPER
 ZIPPATHSEP=$(PATHSEP)
-ZIPWRAPPER=$(subst /,$(PATHSEP),$(DIST_DESTDIR)/fpczip$(BATCHEXT))
+ZIPWRAPPER=$(subst /,$(PATHSEP),$(DIST_DESTDIR)/fpczip$(SRCBATCHEXT))
 else
 ZIPPATHSEP=/
 endif
@@ -1415,6 +1437,9 @@ override CLEANPPUFILES+=$(addsuffix $(PPUEXT),$(CLEAN_UNITS))
 endif
 ifdef 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 CLEANPPULINKFILES:=$(wildcard $(addprefix $(UNITTARGETDIRPREFIX),$(CLEANPPULINKFILES)))
 endif
@@ -1438,6 +1463,7 @@ ifdef LIB_NAME
 	-$(DEL) $(LIB_NAME) $(LIB_FULLNAME)
 endif
 	-$(DEL) $(FPCMADE) Package.fpc $(PPAS) script.res link.res $(FPCEXTFILE) $(REDIRFILE)
+	-$(DEL) *$(ASMEXT) *_ppas$(BATCHEXT)
 fpc_distclean: clean
 ifdef COMPILER_UNITTARGETDIR
 TARGETDIRCLEAN=fpc_clean
@@ -1449,9 +1475,13 @@ endif
 	-$(DEL) *$(OEXT) *$(PPUEXT) *$(RSTEXT) *$(ASMEXT) *$(STATICLIBEXT) *$(SHAREDLIBEXT) *$(PPLEXT)
 	-$(DELTREE) *$(SMARTEXT)
 	-$(DEL) $(FPCMADE) Package.fpc $(PPAS) script.res link.res $(FPCEXTFILE) $(REDIRFILE)
+	-$(DEL) *_ppas$(BATCHEXT)
 ifdef AOUTEXT
 	-$(DEL) *$(AOUTEXT)
 endif
+ifdef DEBUGSYMEXT
+	-$(DEL) *$(DEBUGSYMEXT)
+endif
 .PHONY: fpc_baseinfo
 override INFORULES+=fpc_baseinfo
 fpc_baseinfo:

+ 101 - 71
packages/extra/os2units/ftpapi/Makefile

@@ -1,15 +1,24 @@
 #
-# Don't edit, this file is generated by FPCMake Version 1.1 [2004/02/22]
+# Don't edit, this file is generated by FPCMake Version 1.1 [2004/04/21]
 #
 default: all
 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:=$(subst \,/,$(PATH))
+ifneq ($(findstring darwin,$(OSTYPE)),)
+inUnix=1 #darwin
+SEARCHPATH:=$(filter-out .,$(subst :, ,$(PATH)))
+else
 ifeq ($(findstring ;,$(PATH)),)
 inUnix=1
 SEARCHPATH:=$(filter-out .,$(subst :, ,$(PATH)))
 else
 SEARCHPATH:=$(subst ;, ,$(PATH))
 endif
+endif
 SEARCHPATH+=$(patsubst %/,%,$(subst \,/,$(dir $(MAKE))))
 PWD:=$(strip $(wildcard $(addsuffix /pwd.exe,$(SEARCHPATH))))
 ifeq ($(PWD),)
@@ -37,22 +46,13 @@ ifneq ($(findstring cygdrive,$(PATH)),)
 inCygWin=1
 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
-BATCHEXT=.sh
+SRCBATCHEXT=.sh
 else
 ifdef inOS2
-BATCHEXT=.cmd
+SRCBATCHEXT=.cmd
 else
-BATCHEXT=.bat
+SRCBATCHEXT=.bat
 endif
 endif
 ifdef inUnix
@@ -155,6 +155,12 @@ ifeq ($(findstring $(OS_TARGET),$(MAKEFILETARGETS)),)
 $(error The Makefile doesn't support target $(OS_TARGET), please run fpcmake first)
 endif
 endif
+ifneq ($(findstring $(OS_TARGET),$(BSDs)),)
+BSDhier=1
+endif
+ifeq ($(OS_TARGET),linux)
+linuxHier=1
+endif
 export OS_TARGET OS_SOURCE CPU_TARGET CPU_SOURCE FULL_TARGET FULL_SOURCE CROSSCOMPILE
 ifdef FPCDIR
 override FPCDIR:=$(subst \,/,$(FPCDIR))
@@ -219,42 +225,12 @@ 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
-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
 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
 ifndef INSTALL_PREFIX
@@ -263,7 +239,7 @@ INSTALL_PREFIX=$(PREFIX)
 endif
 endif
 ifndef INSTALL_PREFIX
-ifdef UNIXINSTALLDIR
+ifdef UNIXHier
 INSTALL_PREFIX=/usr/local
 else
 ifdef INSTALL_FPCPACKAGE
@@ -282,7 +258,7 @@ DIST_DESTDIR:=$(BASEDIR)
 endif
 export DIST_DESTDIR
 ifndef INSTALL_BASEDIR
-ifdef UNIXINSTALLDIR
+ifdef UNIXHier
 ifdef INSTALL_FPCPACKAGE
 INSTALL_BASEDIR:=$(INSTALL_PREFIX)/lib/fpc/$(FPC_VERSION)
 else
@@ -293,7 +269,7 @@ INSTALL_BASEDIR:=$(INSTALL_PREFIX)
 endif
 endif
 ifndef INSTALL_BINDIR
-ifdef UNIXINSTALLDIR
+ifdef UNIXHier
 ifdef CROSSCOMPILE
 INSTALL_BINDIR:=$(INSTALL_BASEDIR)/cross/$(FULL_TARGET)/bin
 else
@@ -323,19 +299,23 @@ endif
 endif
 endif
 ifndef INSTALL_LIBDIR
-ifdef UNIXINSTALLDIR
+ifdef UNIXHier
 INSTALL_LIBDIR:=$(INSTALL_PREFIX)/lib
 else
 INSTALL_LIBDIR:=$(INSTALL_UNITDIR)
 endif
 endif
 ifndef INSTALL_SOURCEDIR
-ifdef UNIXINSTALLDIR
+ifdef UNIXHier
 ifdef BSDhier
 SRCPREFIXDIR=share/src
 else
+ifdef linuxHier
+SRCPREFIXDIR=share/src
+else
 SRCPREFIXDIR=src
 endif
+endif
 ifdef INSTALL_FPCPACKAGE
 ifdef INSTALL_FPCSUBDIR
 INSTALL_SOURCEDIR:=$(INSTALL_PREFIX)/$(SRCPREFIXDIR)/fpc-$(FPC_VERSION)/$(INSTALL_FPCSUBDIR)/$(PACKAGE_NAME)
@@ -358,12 +338,16 @@ endif
 endif
 endif
 ifndef INSTALL_DOCDIR
-ifdef UNIXINSTALLDIR
+ifdef UNIXHier
 ifdef BSDhier
 DOCPREFIXDIR=share/doc
 else
+ifdef linuxHier
+DOCPREFIXDIR=share/doc
+else
 DOCPREFIXDIR=doc
 endif
+endif
 ifdef INSTALL_FPCPACKAGE
 INSTALL_DOCDIR:=$(INSTALL_PREFIX)/$(DOCPREFIXDIR)/fpc-$(FPC_VERSION)/$(PACKAGE_NAME)
 else
@@ -378,20 +362,28 @@ endif
 endif
 endif
 ifndef INSTALL_EXAMPLEDIR
-ifdef UNIXINSTALLDIR
+ifdef UNIXHier
 ifdef INSTALL_FPCPACKAGE
 ifdef BSDhier
 INSTALL_EXAMPLEDIR:=$(INSTALL_PREFIX)/share/examples/fpc-$(FPC_VERSION)/$(PACKAGE_NAME)
 else
+ifdef linuxHier
+INSTALL_EXAMPLEDIR:=$(INSTALL_DOCDIR)/examples/fpc-$(FPC_VERSION)/$(PACKAGE_NAME)
+else
 INSTALL_EXAMPLEDIR:=$(INSTALL_PREFIX)/doc/fpc-$(FPC_VERSION)/examples/$(PACKAGE_NAME)
 endif
+endif
 else
 ifdef BSDhier
 INSTALL_EXAMPLEDIR:=$(INSTALL_PREFIX)/share/examples/$(PACKAGE_NAME)-$(PACKAGE_VERSION)
 else
+ifdef linuxHier
+INSTALL_EXAMPLEDIR:=$(INSTALL_DOCDIR)/examples/$(PACKAGE_NAME)-$(PACKAGE_VERSION)
+else
 INSTALL_EXAMPLEDIR:=$(INSTALL_PREFIX)/doc/$(PACKAGE_NAME)-$(PACKAGE_VERSION)
 endif
 endif
+endif
 else
 ifdef INSTALL_FPCPACKAGE
 INSTALL_EXAMPLEDIR:=$(INSTALL_BASEDIR)/examples/$(PACKAGE_NAME)
@@ -413,6 +405,7 @@ endif
 else
 CROSSBINDIR=
 endif
+BATCHEXT=.bat
 LOADEREXT=.as
 EXEEXT=.exe
 PPLEXT=.ppl
@@ -445,24 +438,28 @@ ASMEXT=.asm
 SHAREDLIBEXT=.dll
 endif
 ifeq ($(OS_TARGET),linux)
+BATCHEXT=.sh
 EXEEXT=
 HASSHAREDLIB=1
 FPCMADE=fpcmade.lnx
 ZIPSUFFIX=linux
 endif
 ifeq ($(OS_TARGET),freebsd)
+BATCHEXT=.sh
 EXEEXT=
 HASSHAREDLIB=1
 FPCMADE=fpcmade.freebsd
 ZIPSUFFIX=freebsd
 endif
 ifeq ($(OS_TARGET),netbsd)
+BATCHEXT=.sh
 EXEEXT=
 HASSHAREDLIB=1
 FPCMADE=fpcmade.netbsd
 ZIPSUFFIX=netbsd
 endif
 ifeq ($(OS_TARGET),openbsd)
+BATCHEXT=.sh
 EXEEXT=
 HASSHAREDLIB=1
 FPCMADE=fpcmade.openbsd
@@ -474,6 +471,7 @@ FPCMADE=fpcmade.w32
 ZIPSUFFIX=w32
 endif
 ifeq ($(OS_TARGET),os2)
+BATCHEXT=.cmd
 AOUTEXT=.out
 STATICLIBPREFIX=
 SHAREDLIBEXT=.dll
@@ -482,6 +480,7 @@ ZIPSUFFIX=os2
 ECHO=echo
 endif
 ifeq ($(OS_TARGET),emx)
+BATCHEXT=.cmd
 AOUTEXT=.out
 STATICLIBPREFIX=
 SHAREDLIBEXT=.dll
@@ -499,16 +498,19 @@ EXEEXT=.ttp
 FPCMADE=fpcmade.ata
 endif
 ifeq ($(OS_TARGET),beos)
+BATCHEXT=.sh
 EXEEXT=
 FPCMADE=fpcmade.be
 ZIPSUFFIX=be
 endif
 ifeq ($(OS_TARGET),sunos)
+BATCHEXT=.sh
 EXEEXT=
 FPCMADE=fpcmade.sun
 ZIPSUFFIX=sun
 endif
 ifeq ($(OS_TARGET),qnx)
+BATCHEXT=.sh
 EXEEXT=
 FPCMADE=fpcmade.qnx
 ZIPSUFFIX=qnx
@@ -520,10 +522,14 @@ FPCMADE=fpcmade.nw
 ZIPSUFFIX=nw
 endif
 ifeq ($(OS_TARGET),macos)
+BATCHEXT=
 EXEEXT=
-FPCMADE=fpcmade.mcc
+FPCMADE=fpcmade.macos
+ZIPSUFFIX=macos
+DEBUGSYMEXT=.xcoff
 endif
 ifeq ($(OS_TARGET),darwin)
+BATCHEXT=.sh
 EXEEXT=
 HASSHAREDLIB=1
 FPCMADE=fpcmade.darwin
@@ -552,24 +558,28 @@ FPCMADE=fpcmade.dos
 ZIPSUFFIX=watcom
 endif
 ifeq ($(OS_TARGET),linux)
+BATCHEXT=.sh
 EXEEXT=
 HASSHAREDLIB=1
 FPCMADE=fpcmade.lnx
 ZIPSUFFIX=linux
 endif
 ifeq ($(OS_TARGET),freebsd)
+BATCHEXT=.sh
 EXEEXT=
 HASSHAREDLIB=1
 FPCMADE=fpcmade.freebsd
 ZIPSUFFIX=freebsd
 endif
 ifeq ($(OS_TARGET),netbsd)
+BATCHEXT=.sh
 EXEEXT=
 HASSHAREDLIB=1
 FPCMADE=fpcmade.netbsd
 ZIPSUFFIX=netbsd
 endif
 ifeq ($(OS_TARGET),openbsd)
+BATCHEXT=.sh
 EXEEXT=
 HASSHAREDLIB=1
 FPCMADE=fpcmade.openbsd
@@ -586,6 +596,7 @@ FPCMADE=fpcmade.w32
 ZIPSUFFIX=w32
 endif
 ifeq ($(OS_TARGET),os2)
+BATCHEXT=.cmd
 PPUEXT=.ppo
 ASMEXT=.so2
 OEXT=.oo2
@@ -618,6 +629,7 @@ EXEEXT=.ttp
 FPCMADE=fpcmade.ata
 endif
 ifeq ($(OS_TARGET),beos)
+BATCHEXT=.sh
 PPUEXT=.ppu
 ASMEXT=.s
 OEXT=.o
@@ -628,6 +640,7 @@ FPCMADE=fpcmade.be
 ZIPSUFFIX=be
 endif
 ifeq ($(OS_TARGET),sunos)
+BATCHEXT=.sh
 PPUEXT=.ppu
 ASMEXT=.s
 OEXT=.o
@@ -638,6 +651,7 @@ FPCMADE=fpcmade.sun
 ZIPSUFFIX=sun
 endif
 ifeq ($(OS_TARGET),qnx)
+BATCHEXT=.sh
 PPUEXT=.ppu
 ASMEXT=.s
 OEXT=.o
@@ -660,13 +674,15 @@ ZIPSUFFIX=nw
 EXEEXT=.nlm
 endif
 ifeq ($(OS_TARGET),macos)
+BATCHEXT=
 PPUEXT=.ppu
 ASMEXT=.s
 OEXT=.o
 SMARTEXT=.sl
 STATICLIBEXT=.a
 EXEEXT=
-FPCMADE=fpcmade.mcc
+DEBUGSYMEXT=.xcoff
+FPCMADE=fpcmade.macos
 endif
 endif
 ifndef ECHO
@@ -674,7 +690,7 @@ ECHO:=$(strip $(wildcard $(addsuffix /gecho$(SRCEXEEXT),$(SEARCHPATH))))
 ifeq ($(ECHO),)
 ECHO:=$(strip $(wildcard $(addsuffix /echo$(SRCEXEEXT),$(SEARCHPATH))))
 ifeq ($(ECHO),)
-ECHO=
+ECHO= __missing_command__
 else
 ECHO:=$(firstword $(ECHO))
 endif
@@ -688,7 +704,7 @@ DATE:=$(strip $(wildcard $(addsuffix /gdate$(SRCEXEEXT),$(SEARCHPATH))))
 ifeq ($(DATE),)
 DATE:=$(strip $(wildcard $(addsuffix /date$(SRCEXEEXT),$(SEARCHPATH))))
 ifeq ($(DATE),)
-DATE=
+DATE= __missing_command__
 else
 DATE:=$(firstword $(DATE))
 endif
@@ -702,7 +718,7 @@ GINSTALL:=$(strip $(wildcard $(addsuffix /ginstall$(SRCEXEEXT),$(SEARCHPATH))))
 ifeq ($(GINSTALL),)
 GINSTALL:=$(strip $(wildcard $(addsuffix /install$(SRCEXEEXT),$(SEARCHPATH))))
 ifeq ($(GINSTALL),)
-GINSTALL=
+GINSTALL= __missing_command__
 else
 GINSTALL:=$(firstword $(GINSTALL))
 endif
@@ -714,7 +730,7 @@ export GINSTALL
 ifndef CPPROG
 CPPROG:=$(strip $(wildcard $(addsuffix /cp$(SRCEXEEXT),$(SEARCHPATH))))
 ifeq ($(CPPROG),)
-CPPROG=
+CPPROG= __missing_command__
 else
 CPPROG:=$(firstword $(CPPROG))
 endif
@@ -723,7 +739,7 @@ export CPPROG
 ifndef RMPROG
 RMPROG:=$(strip $(wildcard $(addsuffix /rm$(SRCEXEEXT),$(SEARCHPATH))))
 ifeq ($(RMPROG),)
-RMPROG=
+RMPROG= __missing_command__
 else
 RMPROG:=$(firstword $(RMPROG))
 endif
@@ -732,7 +748,7 @@ export RMPROG
 ifndef MVPROG
 MVPROG:=$(strip $(wildcard $(addsuffix /mv$(SRCEXEEXT),$(SEARCHPATH))))
 ifeq ($(MVPROG),)
-MVPROG=
+MVPROG= __missing_command__
 else
 MVPROG:=$(firstword $(MVPROG))
 endif
@@ -781,7 +797,7 @@ export ECHOREDIR COPY COPYTREE MOVE DEL DELTREE INSTALL INSTALLEXE MKDIR
 ifndef PPUMOVE
 PPUMOVE:=$(strip $(wildcard $(addsuffix /ppumove$(SRCEXEEXT),$(SEARCHPATH))))
 ifeq ($(PPUMOVE),)
-PPUMOVE=
+PPUMOVE= __missing_command__
 else
 PPUMOVE:=$(firstword $(PPUMOVE))
 endif
@@ -790,7 +806,7 @@ export PPUMOVE
 ifndef FPCMAKE
 FPCMAKE:=$(strip $(wildcard $(addsuffix /fpcmake$(SRCEXEEXT),$(SEARCHPATH))))
 ifeq ($(FPCMAKE),)
-FPCMAKE=
+FPCMAKE= __missing_command__
 else
 FPCMAKE:=$(firstword $(FPCMAKE))
 endif
@@ -799,7 +815,7 @@ export FPCMAKE
 ifndef ZIPPROG
 ZIPPROG:=$(strip $(wildcard $(addsuffix /zip$(SRCEXEEXT),$(SEARCHPATH))))
 ifeq ($(ZIPPROG),)
-ZIPPROG=
+ZIPPROG= __missing_command__
 else
 ZIPPROG:=$(firstword $(ZIPPROG))
 endif
@@ -808,7 +824,7 @@ export ZIPPROG
 ifndef TARPROG
 TARPROG:=$(strip $(wildcard $(addsuffix /tar$(SRCEXEEXT),$(SEARCHPATH))))
 ifeq ($(TARPROG),)
-TARPROG=
+TARPROG= __missing_command__
 else
 TARPROG:=$(firstword $(TARPROG))
 endif
@@ -820,9 +836,11 @@ ARNAME=$(BINUTILSPREFIX)ar
 RCNAME=$(BINUTILSPREFIX)rc
 ifneq ($(findstring 1.0.,$(FPC_VERSION)),)
 ifeq ($(OS_TARGET),win32)
-ASNAME=as
-LDNAME=ld
-ARNAME=ar
+ifeq ($(CROSSBINDIR),)
+ASNAME=asw
+LDNAME=ldw
+ARNAME=arw
+endif
 endif
 endif
 ifndef ASPROG
@@ -857,7 +875,7 @@ AS=$(ASPROG)
 LD=$(LDPROG)
 RC=$(RCPROG)
 AR=$(ARPROG)
-PPAS=ppas$(BATCHEXT)
+PPAS=ppas$(SRCBATCHEXT)
 ifdef inUnix
 LDCONFIG=ldconfig
 else
@@ -1116,8 +1134,12 @@ ifdef RELEASE
 ifeq ($(CPU_TARGET),i386)
 FPCCPUOPT:=-OG2p3
 else
+ifeq ($(CPU_TARGET),powerpc)
+FPCCPUOPT:=-O1
+else
 FPCCPUOPT:=
 endif
+endif
 override FPCOPT+=-Xs $(FPCCPUOPT) -n
 override FPCOPTDEF+=RELEASE
 endif
@@ -1361,7 +1383,7 @@ USEZIPWRAPPER=1
 endif
 ifdef USEZIPWRAPPER
 ZIPPATHSEP=$(PATHSEP)
-ZIPWRAPPER=$(subst /,$(PATHSEP),$(DIST_DESTDIR)/fpczip$(BATCHEXT))
+ZIPWRAPPER=$(subst /,$(PATHSEP),$(DIST_DESTDIR)/fpczip$(SRCBATCHEXT))
 else
 ZIPPATHSEP=/
 endif
@@ -1415,6 +1437,9 @@ override CLEANPPUFILES+=$(addsuffix $(PPUEXT),$(CLEAN_UNITS))
 endif
 ifdef 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 CLEANPPULINKFILES:=$(wildcard $(addprefix $(UNITTARGETDIRPREFIX),$(CLEANPPULINKFILES)))
 endif
@@ -1438,6 +1463,7 @@ ifdef LIB_NAME
 	-$(DEL) $(LIB_NAME) $(LIB_FULLNAME)
 endif
 	-$(DEL) $(FPCMADE) Package.fpc $(PPAS) script.res link.res $(FPCEXTFILE) $(REDIRFILE)
+	-$(DEL) *$(ASMEXT) *_ppas$(BATCHEXT)
 fpc_distclean: clean
 ifdef COMPILER_UNITTARGETDIR
 TARGETDIRCLEAN=fpc_clean
@@ -1449,9 +1475,13 @@ endif
 	-$(DEL) *$(OEXT) *$(PPUEXT) *$(RSTEXT) *$(ASMEXT) *$(STATICLIBEXT) *$(SHAREDLIBEXT) *$(PPLEXT)
 	-$(DELTREE) *$(SMARTEXT)
 	-$(DEL) $(FPCMADE) Package.fpc $(PPAS) script.res link.res $(FPCEXTFILE) $(REDIRFILE)
+	-$(DEL) *_ppas$(BATCHEXT)
 ifdef AOUTEXT
 	-$(DEL) *$(AOUTEXT)
 endif
+ifdef DEBUGSYMEXT
+	-$(DEL) *$(DEBUGSYMEXT)
+endif
 .PHONY: fpc_baseinfo
 override INFORULES+=fpc_baseinfo
 fpc_baseinfo:

+ 101 - 71
packages/extra/os2units/hwvideo/Makefile

@@ -1,15 +1,24 @@
 #
-# Don't edit, this file is generated by FPCMake Version 1.1 [2004/02/22]
+# Don't edit, this file is generated by FPCMake Version 1.1 [2004/04/21]
 #
 default: all
 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:=$(subst \,/,$(PATH))
+ifneq ($(findstring darwin,$(OSTYPE)),)
+inUnix=1 #darwin
+SEARCHPATH:=$(filter-out .,$(subst :, ,$(PATH)))
+else
 ifeq ($(findstring ;,$(PATH)),)
 inUnix=1
 SEARCHPATH:=$(filter-out .,$(subst :, ,$(PATH)))
 else
 SEARCHPATH:=$(subst ;, ,$(PATH))
 endif
+endif
 SEARCHPATH+=$(patsubst %/,%,$(subst \,/,$(dir $(MAKE))))
 PWD:=$(strip $(wildcard $(addsuffix /pwd.exe,$(SEARCHPATH))))
 ifeq ($(PWD),)
@@ -37,22 +46,13 @@ ifneq ($(findstring cygdrive,$(PATH)),)
 inCygWin=1
 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
-BATCHEXT=.sh
+SRCBATCHEXT=.sh
 else
 ifdef inOS2
-BATCHEXT=.cmd
+SRCBATCHEXT=.cmd
 else
-BATCHEXT=.bat
+SRCBATCHEXT=.bat
 endif
 endif
 ifdef inUnix
@@ -155,6 +155,12 @@ ifeq ($(findstring $(OS_TARGET),$(MAKEFILETARGETS)),)
 $(error The Makefile doesn't support target $(OS_TARGET), please run fpcmake first)
 endif
 endif
+ifneq ($(findstring $(OS_TARGET),$(BSDs)),)
+BSDhier=1
+endif
+ifeq ($(OS_TARGET),linux)
+linuxHier=1
+endif
 export OS_TARGET OS_SOURCE CPU_TARGET CPU_SOURCE FULL_TARGET FULL_SOURCE CROSSCOMPILE
 ifdef FPCDIR
 override FPCDIR:=$(subst \,/,$(FPCDIR))
@@ -218,42 +224,12 @@ 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
-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
 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
 ifndef INSTALL_PREFIX
@@ -262,7 +238,7 @@ INSTALL_PREFIX=$(PREFIX)
 endif
 endif
 ifndef INSTALL_PREFIX
-ifdef UNIXINSTALLDIR
+ifdef UNIXHier
 INSTALL_PREFIX=/usr/local
 else
 ifdef INSTALL_FPCPACKAGE
@@ -281,7 +257,7 @@ DIST_DESTDIR:=$(BASEDIR)
 endif
 export DIST_DESTDIR
 ifndef INSTALL_BASEDIR
-ifdef UNIXINSTALLDIR
+ifdef UNIXHier
 ifdef INSTALL_FPCPACKAGE
 INSTALL_BASEDIR:=$(INSTALL_PREFIX)/lib/fpc/$(FPC_VERSION)
 else
@@ -292,7 +268,7 @@ INSTALL_BASEDIR:=$(INSTALL_PREFIX)
 endif
 endif
 ifndef INSTALL_BINDIR
-ifdef UNIXINSTALLDIR
+ifdef UNIXHier
 ifdef CROSSCOMPILE
 INSTALL_BINDIR:=$(INSTALL_BASEDIR)/cross/$(FULL_TARGET)/bin
 else
@@ -322,19 +298,23 @@ endif
 endif
 endif
 ifndef INSTALL_LIBDIR
-ifdef UNIXINSTALLDIR
+ifdef UNIXHier
 INSTALL_LIBDIR:=$(INSTALL_PREFIX)/lib
 else
 INSTALL_LIBDIR:=$(INSTALL_UNITDIR)
 endif
 endif
 ifndef INSTALL_SOURCEDIR
-ifdef UNIXINSTALLDIR
+ifdef UNIXHier
 ifdef BSDhier
 SRCPREFIXDIR=share/src
 else
+ifdef linuxHier
+SRCPREFIXDIR=share/src
+else
 SRCPREFIXDIR=src
 endif
+endif
 ifdef INSTALL_FPCPACKAGE
 ifdef INSTALL_FPCSUBDIR
 INSTALL_SOURCEDIR:=$(INSTALL_PREFIX)/$(SRCPREFIXDIR)/fpc-$(FPC_VERSION)/$(INSTALL_FPCSUBDIR)/$(PACKAGE_NAME)
@@ -357,12 +337,16 @@ endif
 endif
 endif
 ifndef INSTALL_DOCDIR
-ifdef UNIXINSTALLDIR
+ifdef UNIXHier
 ifdef BSDhier
 DOCPREFIXDIR=share/doc
 else
+ifdef linuxHier
+DOCPREFIXDIR=share/doc
+else
 DOCPREFIXDIR=doc
 endif
+endif
 ifdef INSTALL_FPCPACKAGE
 INSTALL_DOCDIR:=$(INSTALL_PREFIX)/$(DOCPREFIXDIR)/fpc-$(FPC_VERSION)/$(PACKAGE_NAME)
 else
@@ -377,20 +361,28 @@ endif
 endif
 endif
 ifndef INSTALL_EXAMPLEDIR
-ifdef UNIXINSTALLDIR
+ifdef UNIXHier
 ifdef INSTALL_FPCPACKAGE
 ifdef BSDhier
 INSTALL_EXAMPLEDIR:=$(INSTALL_PREFIX)/share/examples/fpc-$(FPC_VERSION)/$(PACKAGE_NAME)
 else
+ifdef linuxHier
+INSTALL_EXAMPLEDIR:=$(INSTALL_DOCDIR)/examples/fpc-$(FPC_VERSION)/$(PACKAGE_NAME)
+else
 INSTALL_EXAMPLEDIR:=$(INSTALL_PREFIX)/doc/fpc-$(FPC_VERSION)/examples/$(PACKAGE_NAME)
 endif
+endif
 else
 ifdef BSDhier
 INSTALL_EXAMPLEDIR:=$(INSTALL_PREFIX)/share/examples/$(PACKAGE_NAME)-$(PACKAGE_VERSION)
 else
+ifdef linuxHier
+INSTALL_EXAMPLEDIR:=$(INSTALL_DOCDIR)/examples/$(PACKAGE_NAME)-$(PACKAGE_VERSION)
+else
 INSTALL_EXAMPLEDIR:=$(INSTALL_PREFIX)/doc/$(PACKAGE_NAME)-$(PACKAGE_VERSION)
 endif
 endif
+endif
 else
 ifdef INSTALL_FPCPACKAGE
 INSTALL_EXAMPLEDIR:=$(INSTALL_BASEDIR)/examples/$(PACKAGE_NAME)
@@ -412,6 +404,7 @@ endif
 else
 CROSSBINDIR=
 endif
+BATCHEXT=.bat
 LOADEREXT=.as
 EXEEXT=.exe
 PPLEXT=.ppl
@@ -444,24 +437,28 @@ ASMEXT=.asm
 SHAREDLIBEXT=.dll
 endif
 ifeq ($(OS_TARGET),linux)
+BATCHEXT=.sh
 EXEEXT=
 HASSHAREDLIB=1
 FPCMADE=fpcmade.lnx
 ZIPSUFFIX=linux
 endif
 ifeq ($(OS_TARGET),freebsd)
+BATCHEXT=.sh
 EXEEXT=
 HASSHAREDLIB=1
 FPCMADE=fpcmade.freebsd
 ZIPSUFFIX=freebsd
 endif
 ifeq ($(OS_TARGET),netbsd)
+BATCHEXT=.sh
 EXEEXT=
 HASSHAREDLIB=1
 FPCMADE=fpcmade.netbsd
 ZIPSUFFIX=netbsd
 endif
 ifeq ($(OS_TARGET),openbsd)
+BATCHEXT=.sh
 EXEEXT=
 HASSHAREDLIB=1
 FPCMADE=fpcmade.openbsd
@@ -473,6 +470,7 @@ FPCMADE=fpcmade.w32
 ZIPSUFFIX=w32
 endif
 ifeq ($(OS_TARGET),os2)
+BATCHEXT=.cmd
 AOUTEXT=.out
 STATICLIBPREFIX=
 SHAREDLIBEXT=.dll
@@ -481,6 +479,7 @@ ZIPSUFFIX=os2
 ECHO=echo
 endif
 ifeq ($(OS_TARGET),emx)
+BATCHEXT=.cmd
 AOUTEXT=.out
 STATICLIBPREFIX=
 SHAREDLIBEXT=.dll
@@ -498,16 +497,19 @@ EXEEXT=.ttp
 FPCMADE=fpcmade.ata
 endif
 ifeq ($(OS_TARGET),beos)
+BATCHEXT=.sh
 EXEEXT=
 FPCMADE=fpcmade.be
 ZIPSUFFIX=be
 endif
 ifeq ($(OS_TARGET),sunos)
+BATCHEXT=.sh
 EXEEXT=
 FPCMADE=fpcmade.sun
 ZIPSUFFIX=sun
 endif
 ifeq ($(OS_TARGET),qnx)
+BATCHEXT=.sh
 EXEEXT=
 FPCMADE=fpcmade.qnx
 ZIPSUFFIX=qnx
@@ -519,10 +521,14 @@ FPCMADE=fpcmade.nw
 ZIPSUFFIX=nw
 endif
 ifeq ($(OS_TARGET),macos)
+BATCHEXT=
 EXEEXT=
-FPCMADE=fpcmade.mcc
+FPCMADE=fpcmade.macos
+ZIPSUFFIX=macos
+DEBUGSYMEXT=.xcoff
 endif
 ifeq ($(OS_TARGET),darwin)
+BATCHEXT=.sh
 EXEEXT=
 HASSHAREDLIB=1
 FPCMADE=fpcmade.darwin
@@ -551,24 +557,28 @@ FPCMADE=fpcmade.dos
 ZIPSUFFIX=watcom
 endif
 ifeq ($(OS_TARGET),linux)
+BATCHEXT=.sh
 EXEEXT=
 HASSHAREDLIB=1
 FPCMADE=fpcmade.lnx
 ZIPSUFFIX=linux
 endif
 ifeq ($(OS_TARGET),freebsd)
+BATCHEXT=.sh
 EXEEXT=
 HASSHAREDLIB=1
 FPCMADE=fpcmade.freebsd
 ZIPSUFFIX=freebsd
 endif
 ifeq ($(OS_TARGET),netbsd)
+BATCHEXT=.sh
 EXEEXT=
 HASSHAREDLIB=1
 FPCMADE=fpcmade.netbsd
 ZIPSUFFIX=netbsd
 endif
 ifeq ($(OS_TARGET),openbsd)
+BATCHEXT=.sh
 EXEEXT=
 HASSHAREDLIB=1
 FPCMADE=fpcmade.openbsd
@@ -585,6 +595,7 @@ FPCMADE=fpcmade.w32
 ZIPSUFFIX=w32
 endif
 ifeq ($(OS_TARGET),os2)
+BATCHEXT=.cmd
 PPUEXT=.ppo
 ASMEXT=.so2
 OEXT=.oo2
@@ -617,6 +628,7 @@ EXEEXT=.ttp
 FPCMADE=fpcmade.ata
 endif
 ifeq ($(OS_TARGET),beos)
+BATCHEXT=.sh
 PPUEXT=.ppu
 ASMEXT=.s
 OEXT=.o
@@ -627,6 +639,7 @@ FPCMADE=fpcmade.be
 ZIPSUFFIX=be
 endif
 ifeq ($(OS_TARGET),sunos)
+BATCHEXT=.sh
 PPUEXT=.ppu
 ASMEXT=.s
 OEXT=.o
@@ -637,6 +650,7 @@ FPCMADE=fpcmade.sun
 ZIPSUFFIX=sun
 endif
 ifeq ($(OS_TARGET),qnx)
+BATCHEXT=.sh
 PPUEXT=.ppu
 ASMEXT=.s
 OEXT=.o
@@ -659,13 +673,15 @@ ZIPSUFFIX=nw
 EXEEXT=.nlm
 endif
 ifeq ($(OS_TARGET),macos)
+BATCHEXT=
 PPUEXT=.ppu
 ASMEXT=.s
 OEXT=.o
 SMARTEXT=.sl
 STATICLIBEXT=.a
 EXEEXT=
-FPCMADE=fpcmade.mcc
+DEBUGSYMEXT=.xcoff
+FPCMADE=fpcmade.macos
 endif
 endif
 ifndef ECHO
@@ -673,7 +689,7 @@ ECHO:=$(strip $(wildcard $(addsuffix /gecho$(SRCEXEEXT),$(SEARCHPATH))))
 ifeq ($(ECHO),)
 ECHO:=$(strip $(wildcard $(addsuffix /echo$(SRCEXEEXT),$(SEARCHPATH))))
 ifeq ($(ECHO),)
-ECHO=
+ECHO= __missing_command__
 else
 ECHO:=$(firstword $(ECHO))
 endif
@@ -687,7 +703,7 @@ DATE:=$(strip $(wildcard $(addsuffix /gdate$(SRCEXEEXT),$(SEARCHPATH))))
 ifeq ($(DATE),)
 DATE:=$(strip $(wildcard $(addsuffix /date$(SRCEXEEXT),$(SEARCHPATH))))
 ifeq ($(DATE),)
-DATE=
+DATE= __missing_command__
 else
 DATE:=$(firstword $(DATE))
 endif
@@ -701,7 +717,7 @@ GINSTALL:=$(strip $(wildcard $(addsuffix /ginstall$(SRCEXEEXT),$(SEARCHPATH))))
 ifeq ($(GINSTALL),)
 GINSTALL:=$(strip $(wildcard $(addsuffix /install$(SRCEXEEXT),$(SEARCHPATH))))
 ifeq ($(GINSTALL),)
-GINSTALL=
+GINSTALL= __missing_command__
 else
 GINSTALL:=$(firstword $(GINSTALL))
 endif
@@ -713,7 +729,7 @@ export GINSTALL
 ifndef CPPROG
 CPPROG:=$(strip $(wildcard $(addsuffix /cp$(SRCEXEEXT),$(SEARCHPATH))))
 ifeq ($(CPPROG),)
-CPPROG=
+CPPROG= __missing_command__
 else
 CPPROG:=$(firstword $(CPPROG))
 endif
@@ -722,7 +738,7 @@ export CPPROG
 ifndef RMPROG
 RMPROG:=$(strip $(wildcard $(addsuffix /rm$(SRCEXEEXT),$(SEARCHPATH))))
 ifeq ($(RMPROG),)
-RMPROG=
+RMPROG= __missing_command__
 else
 RMPROG:=$(firstword $(RMPROG))
 endif
@@ -731,7 +747,7 @@ export RMPROG
 ifndef MVPROG
 MVPROG:=$(strip $(wildcard $(addsuffix /mv$(SRCEXEEXT),$(SEARCHPATH))))
 ifeq ($(MVPROG),)
-MVPROG=
+MVPROG= __missing_command__
 else
 MVPROG:=$(firstword $(MVPROG))
 endif
@@ -780,7 +796,7 @@ export ECHOREDIR COPY COPYTREE MOVE DEL DELTREE INSTALL INSTALLEXE MKDIR
 ifndef PPUMOVE
 PPUMOVE:=$(strip $(wildcard $(addsuffix /ppumove$(SRCEXEEXT),$(SEARCHPATH))))
 ifeq ($(PPUMOVE),)
-PPUMOVE=
+PPUMOVE= __missing_command__
 else
 PPUMOVE:=$(firstword $(PPUMOVE))
 endif
@@ -789,7 +805,7 @@ export PPUMOVE
 ifndef FPCMAKE
 FPCMAKE:=$(strip $(wildcard $(addsuffix /fpcmake$(SRCEXEEXT),$(SEARCHPATH))))
 ifeq ($(FPCMAKE),)
-FPCMAKE=
+FPCMAKE= __missing_command__
 else
 FPCMAKE:=$(firstword $(FPCMAKE))
 endif
@@ -798,7 +814,7 @@ export FPCMAKE
 ifndef ZIPPROG
 ZIPPROG:=$(strip $(wildcard $(addsuffix /zip$(SRCEXEEXT),$(SEARCHPATH))))
 ifeq ($(ZIPPROG),)
-ZIPPROG=
+ZIPPROG= __missing_command__
 else
 ZIPPROG:=$(firstword $(ZIPPROG))
 endif
@@ -807,7 +823,7 @@ export ZIPPROG
 ifndef TARPROG
 TARPROG:=$(strip $(wildcard $(addsuffix /tar$(SRCEXEEXT),$(SEARCHPATH))))
 ifeq ($(TARPROG),)
-TARPROG=
+TARPROG= __missing_command__
 else
 TARPROG:=$(firstword $(TARPROG))
 endif
@@ -819,9 +835,11 @@ ARNAME=$(BINUTILSPREFIX)ar
 RCNAME=$(BINUTILSPREFIX)rc
 ifneq ($(findstring 1.0.,$(FPC_VERSION)),)
 ifeq ($(OS_TARGET),win32)
-ASNAME=as
-LDNAME=ld
-ARNAME=ar
+ifeq ($(CROSSBINDIR),)
+ASNAME=asw
+LDNAME=ldw
+ARNAME=arw
+endif
 endif
 endif
 ifndef ASPROG
@@ -856,7 +874,7 @@ AS=$(ASPROG)
 LD=$(LDPROG)
 RC=$(RCPROG)
 AR=$(ARPROG)
-PPAS=ppas$(BATCHEXT)
+PPAS=ppas$(SRCBATCHEXT)
 ifdef inUnix
 LDCONFIG=ldconfig
 else
@@ -1115,8 +1133,12 @@ ifdef RELEASE
 ifeq ($(CPU_TARGET),i386)
 FPCCPUOPT:=-OG2p3
 else
+ifeq ($(CPU_TARGET),powerpc)
+FPCCPUOPT:=-O1
+else
 FPCCPUOPT:=
 endif
+endif
 override FPCOPT+=-Xs $(FPCCPUOPT) -n
 override FPCOPTDEF+=RELEASE
 endif
@@ -1342,7 +1364,7 @@ USEZIPWRAPPER=1
 endif
 ifdef USEZIPWRAPPER
 ZIPPATHSEP=$(PATHSEP)
-ZIPWRAPPER=$(subst /,$(PATHSEP),$(DIST_DESTDIR)/fpczip$(BATCHEXT))
+ZIPWRAPPER=$(subst /,$(PATHSEP),$(DIST_DESTDIR)/fpczip$(SRCBATCHEXT))
 else
 ZIPPATHSEP=/
 endif
@@ -1396,6 +1418,9 @@ override CLEANPPUFILES+=$(addsuffix $(PPUEXT),$(CLEAN_UNITS))
 endif
 ifdef 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 CLEANPPULINKFILES:=$(wildcard $(addprefix $(UNITTARGETDIRPREFIX),$(CLEANPPULINKFILES)))
 endif
@@ -1419,6 +1444,7 @@ ifdef LIB_NAME
 	-$(DEL) $(LIB_NAME) $(LIB_FULLNAME)
 endif
 	-$(DEL) $(FPCMADE) Package.fpc $(PPAS) script.res link.res $(FPCEXTFILE) $(REDIRFILE)
+	-$(DEL) *$(ASMEXT) *_ppas$(BATCHEXT)
 fpc_distclean: clean
 ifdef COMPILER_UNITTARGETDIR
 TARGETDIRCLEAN=fpc_clean
@@ -1430,9 +1456,13 @@ endif
 	-$(DEL) *$(OEXT) *$(PPUEXT) *$(RSTEXT) *$(ASMEXT) *$(STATICLIBEXT) *$(SHAREDLIBEXT) *$(PPLEXT)
 	-$(DELTREE) *$(SMARTEXT)
 	-$(DEL) $(FPCMADE) Package.fpc $(PPAS) script.res link.res $(FPCEXTFILE) $(REDIRFILE)
+	-$(DEL) *_ppas$(BATCHEXT)
 ifdef AOUTEXT
 	-$(DEL) *$(AOUTEXT)
 endif
+ifdef DEBUGSYMEXT
+	-$(DEL) *$(DEBUGSYMEXT)
+endif
 .PHONY: fpc_baseinfo
 override INFORULES+=fpc_baseinfo
 fpc_baseinfo:

+ 101 - 71
packages/extra/os2units/lvm/Makefile

@@ -1,15 +1,24 @@
 #
-# Don't edit, this file is generated by FPCMake Version 1.1 [2004/02/22]
+# Don't edit, this file is generated by FPCMake Version 1.1 [2004/04/21]
 #
 default: all
 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:=$(subst \,/,$(PATH))
+ifneq ($(findstring darwin,$(OSTYPE)),)
+inUnix=1 #darwin
+SEARCHPATH:=$(filter-out .,$(subst :, ,$(PATH)))
+else
 ifeq ($(findstring ;,$(PATH)),)
 inUnix=1
 SEARCHPATH:=$(filter-out .,$(subst :, ,$(PATH)))
 else
 SEARCHPATH:=$(subst ;, ,$(PATH))
 endif
+endif
 SEARCHPATH+=$(patsubst %/,%,$(subst \,/,$(dir $(MAKE))))
 PWD:=$(strip $(wildcard $(addsuffix /pwd.exe,$(SEARCHPATH))))
 ifeq ($(PWD),)
@@ -37,22 +46,13 @@ ifneq ($(findstring cygdrive,$(PATH)),)
 inCygWin=1
 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
-BATCHEXT=.sh
+SRCBATCHEXT=.sh
 else
 ifdef inOS2
-BATCHEXT=.cmd
+SRCBATCHEXT=.cmd
 else
-BATCHEXT=.bat
+SRCBATCHEXT=.bat
 endif
 endif
 ifdef inUnix
@@ -155,6 +155,12 @@ ifeq ($(findstring $(OS_TARGET),$(MAKEFILETARGETS)),)
 $(error The Makefile doesn't support target $(OS_TARGET), please run fpcmake first)
 endif
 endif
+ifneq ($(findstring $(OS_TARGET),$(BSDs)),)
+BSDhier=1
+endif
+ifeq ($(OS_TARGET),linux)
+linuxHier=1
+endif
 export OS_TARGET OS_SOURCE CPU_TARGET CPU_SOURCE FULL_TARGET FULL_SOURCE CROSSCOMPILE
 ifdef FPCDIR
 override FPCDIR:=$(subst \,/,$(FPCDIR))
@@ -219,42 +225,12 @@ 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
-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
 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
 ifndef INSTALL_PREFIX
@@ -263,7 +239,7 @@ INSTALL_PREFIX=$(PREFIX)
 endif
 endif
 ifndef INSTALL_PREFIX
-ifdef UNIXINSTALLDIR
+ifdef UNIXHier
 INSTALL_PREFIX=/usr/local
 else
 ifdef INSTALL_FPCPACKAGE
@@ -282,7 +258,7 @@ DIST_DESTDIR:=$(BASEDIR)
 endif
 export DIST_DESTDIR
 ifndef INSTALL_BASEDIR
-ifdef UNIXINSTALLDIR
+ifdef UNIXHier
 ifdef INSTALL_FPCPACKAGE
 INSTALL_BASEDIR:=$(INSTALL_PREFIX)/lib/fpc/$(FPC_VERSION)
 else
@@ -293,7 +269,7 @@ INSTALL_BASEDIR:=$(INSTALL_PREFIX)
 endif
 endif
 ifndef INSTALL_BINDIR
-ifdef UNIXINSTALLDIR
+ifdef UNIXHier
 ifdef CROSSCOMPILE
 INSTALL_BINDIR:=$(INSTALL_BASEDIR)/cross/$(FULL_TARGET)/bin
 else
@@ -323,19 +299,23 @@ endif
 endif
 endif
 ifndef INSTALL_LIBDIR
-ifdef UNIXINSTALLDIR
+ifdef UNIXHier
 INSTALL_LIBDIR:=$(INSTALL_PREFIX)/lib
 else
 INSTALL_LIBDIR:=$(INSTALL_UNITDIR)
 endif
 endif
 ifndef INSTALL_SOURCEDIR
-ifdef UNIXINSTALLDIR
+ifdef UNIXHier
 ifdef BSDhier
 SRCPREFIXDIR=share/src
 else
+ifdef linuxHier
+SRCPREFIXDIR=share/src
+else
 SRCPREFIXDIR=src
 endif
+endif
 ifdef INSTALL_FPCPACKAGE
 ifdef INSTALL_FPCSUBDIR
 INSTALL_SOURCEDIR:=$(INSTALL_PREFIX)/$(SRCPREFIXDIR)/fpc-$(FPC_VERSION)/$(INSTALL_FPCSUBDIR)/$(PACKAGE_NAME)
@@ -358,12 +338,16 @@ endif
 endif
 endif
 ifndef INSTALL_DOCDIR
-ifdef UNIXINSTALLDIR
+ifdef UNIXHier
 ifdef BSDhier
 DOCPREFIXDIR=share/doc
 else
+ifdef linuxHier
+DOCPREFIXDIR=share/doc
+else
 DOCPREFIXDIR=doc
 endif
+endif
 ifdef INSTALL_FPCPACKAGE
 INSTALL_DOCDIR:=$(INSTALL_PREFIX)/$(DOCPREFIXDIR)/fpc-$(FPC_VERSION)/$(PACKAGE_NAME)
 else
@@ -378,20 +362,28 @@ endif
 endif
 endif
 ifndef INSTALL_EXAMPLEDIR
-ifdef UNIXINSTALLDIR
+ifdef UNIXHier
 ifdef INSTALL_FPCPACKAGE
 ifdef BSDhier
 INSTALL_EXAMPLEDIR:=$(INSTALL_PREFIX)/share/examples/fpc-$(FPC_VERSION)/$(PACKAGE_NAME)
 else
+ifdef linuxHier
+INSTALL_EXAMPLEDIR:=$(INSTALL_DOCDIR)/examples/fpc-$(FPC_VERSION)/$(PACKAGE_NAME)
+else
 INSTALL_EXAMPLEDIR:=$(INSTALL_PREFIX)/doc/fpc-$(FPC_VERSION)/examples/$(PACKAGE_NAME)
 endif
+endif
 else
 ifdef BSDhier
 INSTALL_EXAMPLEDIR:=$(INSTALL_PREFIX)/share/examples/$(PACKAGE_NAME)-$(PACKAGE_VERSION)
 else
+ifdef linuxHier
+INSTALL_EXAMPLEDIR:=$(INSTALL_DOCDIR)/examples/$(PACKAGE_NAME)-$(PACKAGE_VERSION)
+else
 INSTALL_EXAMPLEDIR:=$(INSTALL_PREFIX)/doc/$(PACKAGE_NAME)-$(PACKAGE_VERSION)
 endif
 endif
+endif
 else
 ifdef INSTALL_FPCPACKAGE
 INSTALL_EXAMPLEDIR:=$(INSTALL_BASEDIR)/examples/$(PACKAGE_NAME)
@@ -413,6 +405,7 @@ endif
 else
 CROSSBINDIR=
 endif
+BATCHEXT=.bat
 LOADEREXT=.as
 EXEEXT=.exe
 PPLEXT=.ppl
@@ -445,24 +438,28 @@ ASMEXT=.asm
 SHAREDLIBEXT=.dll
 endif
 ifeq ($(OS_TARGET),linux)
+BATCHEXT=.sh
 EXEEXT=
 HASSHAREDLIB=1
 FPCMADE=fpcmade.lnx
 ZIPSUFFIX=linux
 endif
 ifeq ($(OS_TARGET),freebsd)
+BATCHEXT=.sh
 EXEEXT=
 HASSHAREDLIB=1
 FPCMADE=fpcmade.freebsd
 ZIPSUFFIX=freebsd
 endif
 ifeq ($(OS_TARGET),netbsd)
+BATCHEXT=.sh
 EXEEXT=
 HASSHAREDLIB=1
 FPCMADE=fpcmade.netbsd
 ZIPSUFFIX=netbsd
 endif
 ifeq ($(OS_TARGET),openbsd)
+BATCHEXT=.sh
 EXEEXT=
 HASSHAREDLIB=1
 FPCMADE=fpcmade.openbsd
@@ -474,6 +471,7 @@ FPCMADE=fpcmade.w32
 ZIPSUFFIX=w32
 endif
 ifeq ($(OS_TARGET),os2)
+BATCHEXT=.cmd
 AOUTEXT=.out
 STATICLIBPREFIX=
 SHAREDLIBEXT=.dll
@@ -482,6 +480,7 @@ ZIPSUFFIX=os2
 ECHO=echo
 endif
 ifeq ($(OS_TARGET),emx)
+BATCHEXT=.cmd
 AOUTEXT=.out
 STATICLIBPREFIX=
 SHAREDLIBEXT=.dll
@@ -499,16 +498,19 @@ EXEEXT=.ttp
 FPCMADE=fpcmade.ata
 endif
 ifeq ($(OS_TARGET),beos)
+BATCHEXT=.sh
 EXEEXT=
 FPCMADE=fpcmade.be
 ZIPSUFFIX=be
 endif
 ifeq ($(OS_TARGET),sunos)
+BATCHEXT=.sh
 EXEEXT=
 FPCMADE=fpcmade.sun
 ZIPSUFFIX=sun
 endif
 ifeq ($(OS_TARGET),qnx)
+BATCHEXT=.sh
 EXEEXT=
 FPCMADE=fpcmade.qnx
 ZIPSUFFIX=qnx
@@ -520,10 +522,14 @@ FPCMADE=fpcmade.nw
 ZIPSUFFIX=nw
 endif
 ifeq ($(OS_TARGET),macos)
+BATCHEXT=
 EXEEXT=
-FPCMADE=fpcmade.mcc
+FPCMADE=fpcmade.macos
+ZIPSUFFIX=macos
+DEBUGSYMEXT=.xcoff
 endif
 ifeq ($(OS_TARGET),darwin)
+BATCHEXT=.sh
 EXEEXT=
 HASSHAREDLIB=1
 FPCMADE=fpcmade.darwin
@@ -552,24 +558,28 @@ FPCMADE=fpcmade.dos
 ZIPSUFFIX=watcom
 endif
 ifeq ($(OS_TARGET),linux)
+BATCHEXT=.sh
 EXEEXT=
 HASSHAREDLIB=1
 FPCMADE=fpcmade.lnx
 ZIPSUFFIX=linux
 endif
 ifeq ($(OS_TARGET),freebsd)
+BATCHEXT=.sh
 EXEEXT=
 HASSHAREDLIB=1
 FPCMADE=fpcmade.freebsd
 ZIPSUFFIX=freebsd
 endif
 ifeq ($(OS_TARGET),netbsd)
+BATCHEXT=.sh
 EXEEXT=
 HASSHAREDLIB=1
 FPCMADE=fpcmade.netbsd
 ZIPSUFFIX=netbsd
 endif
 ifeq ($(OS_TARGET),openbsd)
+BATCHEXT=.sh
 EXEEXT=
 HASSHAREDLIB=1
 FPCMADE=fpcmade.openbsd
@@ -586,6 +596,7 @@ FPCMADE=fpcmade.w32
 ZIPSUFFIX=w32
 endif
 ifeq ($(OS_TARGET),os2)
+BATCHEXT=.cmd
 PPUEXT=.ppo
 ASMEXT=.so2
 OEXT=.oo2
@@ -618,6 +629,7 @@ EXEEXT=.ttp
 FPCMADE=fpcmade.ata
 endif
 ifeq ($(OS_TARGET),beos)
+BATCHEXT=.sh
 PPUEXT=.ppu
 ASMEXT=.s
 OEXT=.o
@@ -628,6 +640,7 @@ FPCMADE=fpcmade.be
 ZIPSUFFIX=be
 endif
 ifeq ($(OS_TARGET),sunos)
+BATCHEXT=.sh
 PPUEXT=.ppu
 ASMEXT=.s
 OEXT=.o
@@ -638,6 +651,7 @@ FPCMADE=fpcmade.sun
 ZIPSUFFIX=sun
 endif
 ifeq ($(OS_TARGET),qnx)
+BATCHEXT=.sh
 PPUEXT=.ppu
 ASMEXT=.s
 OEXT=.o
@@ -660,13 +674,15 @@ ZIPSUFFIX=nw
 EXEEXT=.nlm
 endif
 ifeq ($(OS_TARGET),macos)
+BATCHEXT=
 PPUEXT=.ppu
 ASMEXT=.s
 OEXT=.o
 SMARTEXT=.sl
 STATICLIBEXT=.a
 EXEEXT=
-FPCMADE=fpcmade.mcc
+DEBUGSYMEXT=.xcoff
+FPCMADE=fpcmade.macos
 endif
 endif
 ifndef ECHO
@@ -674,7 +690,7 @@ ECHO:=$(strip $(wildcard $(addsuffix /gecho$(SRCEXEEXT),$(SEARCHPATH))))
 ifeq ($(ECHO),)
 ECHO:=$(strip $(wildcard $(addsuffix /echo$(SRCEXEEXT),$(SEARCHPATH))))
 ifeq ($(ECHO),)
-ECHO=
+ECHO= __missing_command__
 else
 ECHO:=$(firstword $(ECHO))
 endif
@@ -688,7 +704,7 @@ DATE:=$(strip $(wildcard $(addsuffix /gdate$(SRCEXEEXT),$(SEARCHPATH))))
 ifeq ($(DATE),)
 DATE:=$(strip $(wildcard $(addsuffix /date$(SRCEXEEXT),$(SEARCHPATH))))
 ifeq ($(DATE),)
-DATE=
+DATE= __missing_command__
 else
 DATE:=$(firstword $(DATE))
 endif
@@ -702,7 +718,7 @@ GINSTALL:=$(strip $(wildcard $(addsuffix /ginstall$(SRCEXEEXT),$(SEARCHPATH))))
 ifeq ($(GINSTALL),)
 GINSTALL:=$(strip $(wildcard $(addsuffix /install$(SRCEXEEXT),$(SEARCHPATH))))
 ifeq ($(GINSTALL),)
-GINSTALL=
+GINSTALL= __missing_command__
 else
 GINSTALL:=$(firstword $(GINSTALL))
 endif
@@ -714,7 +730,7 @@ export GINSTALL
 ifndef CPPROG
 CPPROG:=$(strip $(wildcard $(addsuffix /cp$(SRCEXEEXT),$(SEARCHPATH))))
 ifeq ($(CPPROG),)
-CPPROG=
+CPPROG= __missing_command__
 else
 CPPROG:=$(firstword $(CPPROG))
 endif
@@ -723,7 +739,7 @@ export CPPROG
 ifndef RMPROG
 RMPROG:=$(strip $(wildcard $(addsuffix /rm$(SRCEXEEXT),$(SEARCHPATH))))
 ifeq ($(RMPROG),)
-RMPROG=
+RMPROG= __missing_command__
 else
 RMPROG:=$(firstword $(RMPROG))
 endif
@@ -732,7 +748,7 @@ export RMPROG
 ifndef MVPROG
 MVPROG:=$(strip $(wildcard $(addsuffix /mv$(SRCEXEEXT),$(SEARCHPATH))))
 ifeq ($(MVPROG),)
-MVPROG=
+MVPROG= __missing_command__
 else
 MVPROG:=$(firstword $(MVPROG))
 endif
@@ -781,7 +797,7 @@ export ECHOREDIR COPY COPYTREE MOVE DEL DELTREE INSTALL INSTALLEXE MKDIR
 ifndef PPUMOVE
 PPUMOVE:=$(strip $(wildcard $(addsuffix /ppumove$(SRCEXEEXT),$(SEARCHPATH))))
 ifeq ($(PPUMOVE),)
-PPUMOVE=
+PPUMOVE= __missing_command__
 else
 PPUMOVE:=$(firstword $(PPUMOVE))
 endif
@@ -790,7 +806,7 @@ export PPUMOVE
 ifndef FPCMAKE
 FPCMAKE:=$(strip $(wildcard $(addsuffix /fpcmake$(SRCEXEEXT),$(SEARCHPATH))))
 ifeq ($(FPCMAKE),)
-FPCMAKE=
+FPCMAKE= __missing_command__
 else
 FPCMAKE:=$(firstword $(FPCMAKE))
 endif
@@ -799,7 +815,7 @@ export FPCMAKE
 ifndef ZIPPROG
 ZIPPROG:=$(strip $(wildcard $(addsuffix /zip$(SRCEXEEXT),$(SEARCHPATH))))
 ifeq ($(ZIPPROG),)
-ZIPPROG=
+ZIPPROG= __missing_command__
 else
 ZIPPROG:=$(firstword $(ZIPPROG))
 endif
@@ -808,7 +824,7 @@ export ZIPPROG
 ifndef TARPROG
 TARPROG:=$(strip $(wildcard $(addsuffix /tar$(SRCEXEEXT),$(SEARCHPATH))))
 ifeq ($(TARPROG),)
-TARPROG=
+TARPROG= __missing_command__
 else
 TARPROG:=$(firstword $(TARPROG))
 endif
@@ -820,9 +836,11 @@ ARNAME=$(BINUTILSPREFIX)ar
 RCNAME=$(BINUTILSPREFIX)rc
 ifneq ($(findstring 1.0.,$(FPC_VERSION)),)
 ifeq ($(OS_TARGET),win32)
-ASNAME=as
-LDNAME=ld
-ARNAME=ar
+ifeq ($(CROSSBINDIR),)
+ASNAME=asw
+LDNAME=ldw
+ARNAME=arw
+endif
 endif
 endif
 ifndef ASPROG
@@ -857,7 +875,7 @@ AS=$(ASPROG)
 LD=$(LDPROG)
 RC=$(RCPROG)
 AR=$(ARPROG)
-PPAS=ppas$(BATCHEXT)
+PPAS=ppas$(SRCBATCHEXT)
 ifdef inUnix
 LDCONFIG=ldconfig
 else
@@ -1116,8 +1134,12 @@ ifdef RELEASE
 ifeq ($(CPU_TARGET),i386)
 FPCCPUOPT:=-OG2p3
 else
+ifeq ($(CPU_TARGET),powerpc)
+FPCCPUOPT:=-O1
+else
 FPCCPUOPT:=
 endif
+endif
 override FPCOPT+=-Xs $(FPCCPUOPT) -n
 override FPCOPTDEF+=RELEASE
 endif
@@ -1361,7 +1383,7 @@ USEZIPWRAPPER=1
 endif
 ifdef USEZIPWRAPPER
 ZIPPATHSEP=$(PATHSEP)
-ZIPWRAPPER=$(subst /,$(PATHSEP),$(DIST_DESTDIR)/fpczip$(BATCHEXT))
+ZIPWRAPPER=$(subst /,$(PATHSEP),$(DIST_DESTDIR)/fpczip$(SRCBATCHEXT))
 else
 ZIPPATHSEP=/
 endif
@@ -1415,6 +1437,9 @@ override CLEANPPUFILES+=$(addsuffix $(PPUEXT),$(CLEAN_UNITS))
 endif
 ifdef 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 CLEANPPULINKFILES:=$(wildcard $(addprefix $(UNITTARGETDIRPREFIX),$(CLEANPPULINKFILES)))
 endif
@@ -1438,6 +1463,7 @@ ifdef LIB_NAME
 	-$(DEL) $(LIB_NAME) $(LIB_FULLNAME)
 endif
 	-$(DEL) $(FPCMADE) Package.fpc $(PPAS) script.res link.res $(FPCEXTFILE) $(REDIRFILE)
+	-$(DEL) *$(ASMEXT) *_ppas$(BATCHEXT)
 fpc_distclean: clean
 ifdef COMPILER_UNITTARGETDIR
 TARGETDIRCLEAN=fpc_clean
@@ -1449,9 +1475,13 @@ endif
 	-$(DEL) *$(OEXT) *$(PPUEXT) *$(RSTEXT) *$(ASMEXT) *$(STATICLIBEXT) *$(SHAREDLIBEXT) *$(PPLEXT)
 	-$(DELTREE) *$(SMARTEXT)
 	-$(DEL) $(FPCMADE) Package.fpc $(PPAS) script.res link.res $(FPCEXTFILE) $(REDIRFILE)
+	-$(DEL) *_ppas$(BATCHEXT)
 ifdef AOUTEXT
 	-$(DEL) *$(AOUTEXT)
 endif
+ifdef DEBUGSYMEXT
+	-$(DEL) *$(DEBUGSYMEXT)
+endif
 .PHONY: fpc_baseinfo
 override INFORULES+=fpc_baseinfo
 fpc_baseinfo:

+ 100 - 70
packages/extra/os2units/lvm/tests/Makefile

@@ -1,15 +1,24 @@
 #
-# Don't edit, this file is generated by FPCMake Version 1.1 [2004/02/22]
+# Don't edit, this file is generated by FPCMake Version 1.1 [2004/04/21]
 #
 default: all
 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:=$(subst \,/,$(PATH))
+ifneq ($(findstring darwin,$(OSTYPE)),)
+inUnix=1 #darwin
+SEARCHPATH:=$(filter-out .,$(subst :, ,$(PATH)))
+else
 ifeq ($(findstring ;,$(PATH)),)
 inUnix=1
 SEARCHPATH:=$(filter-out .,$(subst :, ,$(PATH)))
 else
 SEARCHPATH:=$(subst ;, ,$(PATH))
 endif
+endif
 SEARCHPATH+=$(patsubst %/,%,$(subst \,/,$(dir $(MAKE))))
 PWD:=$(strip $(wildcard $(addsuffix /pwd.exe,$(SEARCHPATH))))
 ifeq ($(PWD),)
@@ -37,22 +46,13 @@ ifneq ($(findstring cygdrive,$(PATH)),)
 inCygWin=1
 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
-BATCHEXT=.sh
+SRCBATCHEXT=.sh
 else
 ifdef inOS2
-BATCHEXT=.cmd
+SRCBATCHEXT=.cmd
 else
-BATCHEXT=.bat
+SRCBATCHEXT=.bat
 endif
 endif
 ifdef inUnix
@@ -155,6 +155,12 @@ ifeq ($(findstring $(OS_TARGET),$(MAKEFILETARGETS)),)
 $(error The Makefile doesn't support target $(OS_TARGET), please run fpcmake first)
 endif
 endif
+ifneq ($(findstring $(OS_TARGET),$(BSDs)),)
+BSDhier=1
+endif
+ifeq ($(OS_TARGET),linux)
+linuxHier=1
+endif
 export OS_TARGET OS_SOURCE CPU_TARGET CPU_SOURCE FULL_TARGET FULL_SOURCE CROSSCOMPILE
 ifdef FPCDIR
 override FPCDIR:=$(subst \,/,$(FPCDIR))
@@ -216,42 +222,12 @@ 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
-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
 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
 ifndef INSTALL_PREFIX
@@ -260,7 +236,7 @@ INSTALL_PREFIX=$(PREFIX)
 endif
 endif
 ifndef INSTALL_PREFIX
-ifdef UNIXINSTALLDIR
+ifdef UNIXHier
 INSTALL_PREFIX=/usr/local
 else
 ifdef INSTALL_FPCPACKAGE
@@ -279,7 +255,7 @@ DIST_DESTDIR:=$(BASEDIR)
 endif
 export DIST_DESTDIR
 ifndef INSTALL_BASEDIR
-ifdef UNIXINSTALLDIR
+ifdef UNIXHier
 ifdef INSTALL_FPCPACKAGE
 INSTALL_BASEDIR:=$(INSTALL_PREFIX)/lib/fpc/$(FPC_VERSION)
 else
@@ -290,7 +266,7 @@ INSTALL_BASEDIR:=$(INSTALL_PREFIX)
 endif
 endif
 ifndef INSTALL_BINDIR
-ifdef UNIXINSTALLDIR
+ifdef UNIXHier
 ifdef CROSSCOMPILE
 INSTALL_BINDIR:=$(INSTALL_BASEDIR)/cross/$(FULL_TARGET)/bin
 else
@@ -320,19 +296,23 @@ endif
 endif
 endif
 ifndef INSTALL_LIBDIR
-ifdef UNIXINSTALLDIR
+ifdef UNIXHier
 INSTALL_LIBDIR:=$(INSTALL_PREFIX)/lib
 else
 INSTALL_LIBDIR:=$(INSTALL_UNITDIR)
 endif
 endif
 ifndef INSTALL_SOURCEDIR
-ifdef UNIXINSTALLDIR
+ifdef UNIXHier
 ifdef BSDhier
 SRCPREFIXDIR=share/src
 else
+ifdef linuxHier
+SRCPREFIXDIR=share/src
+else
 SRCPREFIXDIR=src
 endif
+endif
 ifdef INSTALL_FPCPACKAGE
 ifdef INSTALL_FPCSUBDIR
 INSTALL_SOURCEDIR:=$(INSTALL_PREFIX)/$(SRCPREFIXDIR)/fpc-$(FPC_VERSION)/$(INSTALL_FPCSUBDIR)/$(PACKAGE_NAME)
@@ -355,12 +335,16 @@ endif
 endif
 endif
 ifndef INSTALL_DOCDIR
-ifdef UNIXINSTALLDIR
+ifdef UNIXHier
 ifdef BSDhier
 DOCPREFIXDIR=share/doc
 else
+ifdef linuxHier
+DOCPREFIXDIR=share/doc
+else
 DOCPREFIXDIR=doc
 endif
+endif
 ifdef INSTALL_FPCPACKAGE
 INSTALL_DOCDIR:=$(INSTALL_PREFIX)/$(DOCPREFIXDIR)/fpc-$(FPC_VERSION)/$(PACKAGE_NAME)
 else
@@ -375,20 +359,28 @@ endif
 endif
 endif
 ifndef INSTALL_EXAMPLEDIR
-ifdef UNIXINSTALLDIR
+ifdef UNIXHier
 ifdef INSTALL_FPCPACKAGE
 ifdef BSDhier
 INSTALL_EXAMPLEDIR:=$(INSTALL_PREFIX)/share/examples/fpc-$(FPC_VERSION)/$(PACKAGE_NAME)
 else
+ifdef linuxHier
+INSTALL_EXAMPLEDIR:=$(INSTALL_DOCDIR)/examples/fpc-$(FPC_VERSION)/$(PACKAGE_NAME)
+else
 INSTALL_EXAMPLEDIR:=$(INSTALL_PREFIX)/doc/fpc-$(FPC_VERSION)/examples/$(PACKAGE_NAME)
 endif
+endif
 else
 ifdef BSDhier
 INSTALL_EXAMPLEDIR:=$(INSTALL_PREFIX)/share/examples/$(PACKAGE_NAME)-$(PACKAGE_VERSION)
 else
+ifdef linuxHier
+INSTALL_EXAMPLEDIR:=$(INSTALL_DOCDIR)/examples/$(PACKAGE_NAME)-$(PACKAGE_VERSION)
+else
 INSTALL_EXAMPLEDIR:=$(INSTALL_PREFIX)/doc/$(PACKAGE_NAME)-$(PACKAGE_VERSION)
 endif
 endif
+endif
 else
 ifdef INSTALL_FPCPACKAGE
 INSTALL_EXAMPLEDIR:=$(INSTALL_BASEDIR)/examples/$(PACKAGE_NAME)
@@ -410,6 +402,7 @@ endif
 else
 CROSSBINDIR=
 endif
+BATCHEXT=.bat
 LOADEREXT=.as
 EXEEXT=.exe
 PPLEXT=.ppl
@@ -442,24 +435,28 @@ ASMEXT=.asm
 SHAREDLIBEXT=.dll
 endif
 ifeq ($(OS_TARGET),linux)
+BATCHEXT=.sh
 EXEEXT=
 HASSHAREDLIB=1
 FPCMADE=fpcmade.lnx
 ZIPSUFFIX=linux
 endif
 ifeq ($(OS_TARGET),freebsd)
+BATCHEXT=.sh
 EXEEXT=
 HASSHAREDLIB=1
 FPCMADE=fpcmade.freebsd
 ZIPSUFFIX=freebsd
 endif
 ifeq ($(OS_TARGET),netbsd)
+BATCHEXT=.sh
 EXEEXT=
 HASSHAREDLIB=1
 FPCMADE=fpcmade.netbsd
 ZIPSUFFIX=netbsd
 endif
 ifeq ($(OS_TARGET),openbsd)
+BATCHEXT=.sh
 EXEEXT=
 HASSHAREDLIB=1
 FPCMADE=fpcmade.openbsd
@@ -471,6 +468,7 @@ FPCMADE=fpcmade.w32
 ZIPSUFFIX=w32
 endif
 ifeq ($(OS_TARGET),os2)
+BATCHEXT=.cmd
 AOUTEXT=.out
 STATICLIBPREFIX=
 SHAREDLIBEXT=.dll
@@ -479,6 +477,7 @@ ZIPSUFFIX=os2
 ECHO=echo
 endif
 ifeq ($(OS_TARGET),emx)
+BATCHEXT=.cmd
 AOUTEXT=.out
 STATICLIBPREFIX=
 SHAREDLIBEXT=.dll
@@ -496,16 +495,19 @@ EXEEXT=.ttp
 FPCMADE=fpcmade.ata
 endif
 ifeq ($(OS_TARGET),beos)
+BATCHEXT=.sh
 EXEEXT=
 FPCMADE=fpcmade.be
 ZIPSUFFIX=be
 endif
 ifeq ($(OS_TARGET),sunos)
+BATCHEXT=.sh
 EXEEXT=
 FPCMADE=fpcmade.sun
 ZIPSUFFIX=sun
 endif
 ifeq ($(OS_TARGET),qnx)
+BATCHEXT=.sh
 EXEEXT=
 FPCMADE=fpcmade.qnx
 ZIPSUFFIX=qnx
@@ -517,10 +519,14 @@ FPCMADE=fpcmade.nw
 ZIPSUFFIX=nw
 endif
 ifeq ($(OS_TARGET),macos)
+BATCHEXT=
 EXEEXT=
-FPCMADE=fpcmade.mcc
+FPCMADE=fpcmade.macos
+ZIPSUFFIX=macos
+DEBUGSYMEXT=.xcoff
 endif
 ifeq ($(OS_TARGET),darwin)
+BATCHEXT=.sh
 EXEEXT=
 HASSHAREDLIB=1
 FPCMADE=fpcmade.darwin
@@ -549,24 +555,28 @@ FPCMADE=fpcmade.dos
 ZIPSUFFIX=watcom
 endif
 ifeq ($(OS_TARGET),linux)
+BATCHEXT=.sh
 EXEEXT=
 HASSHAREDLIB=1
 FPCMADE=fpcmade.lnx
 ZIPSUFFIX=linux
 endif
 ifeq ($(OS_TARGET),freebsd)
+BATCHEXT=.sh
 EXEEXT=
 HASSHAREDLIB=1
 FPCMADE=fpcmade.freebsd
 ZIPSUFFIX=freebsd
 endif
 ifeq ($(OS_TARGET),netbsd)
+BATCHEXT=.sh
 EXEEXT=
 HASSHAREDLIB=1
 FPCMADE=fpcmade.netbsd
 ZIPSUFFIX=netbsd
 endif
 ifeq ($(OS_TARGET),openbsd)
+BATCHEXT=.sh
 EXEEXT=
 HASSHAREDLIB=1
 FPCMADE=fpcmade.openbsd
@@ -583,6 +593,7 @@ FPCMADE=fpcmade.w32
 ZIPSUFFIX=w32
 endif
 ifeq ($(OS_TARGET),os2)
+BATCHEXT=.cmd
 PPUEXT=.ppo
 ASMEXT=.so2
 OEXT=.oo2
@@ -615,6 +626,7 @@ EXEEXT=.ttp
 FPCMADE=fpcmade.ata
 endif
 ifeq ($(OS_TARGET),beos)
+BATCHEXT=.sh
 PPUEXT=.ppu
 ASMEXT=.s
 OEXT=.o
@@ -625,6 +637,7 @@ FPCMADE=fpcmade.be
 ZIPSUFFIX=be
 endif
 ifeq ($(OS_TARGET),sunos)
+BATCHEXT=.sh
 PPUEXT=.ppu
 ASMEXT=.s
 OEXT=.o
@@ -635,6 +648,7 @@ FPCMADE=fpcmade.sun
 ZIPSUFFIX=sun
 endif
 ifeq ($(OS_TARGET),qnx)
+BATCHEXT=.sh
 PPUEXT=.ppu
 ASMEXT=.s
 OEXT=.o
@@ -657,13 +671,15 @@ ZIPSUFFIX=nw
 EXEEXT=.nlm
 endif
 ifeq ($(OS_TARGET),macos)
+BATCHEXT=
 PPUEXT=.ppu
 ASMEXT=.s
 OEXT=.o
 SMARTEXT=.sl
 STATICLIBEXT=.a
 EXEEXT=
-FPCMADE=fpcmade.mcc
+DEBUGSYMEXT=.xcoff
+FPCMADE=fpcmade.macos
 endif
 endif
 ifndef ECHO
@@ -671,7 +687,7 @@ ECHO:=$(strip $(wildcard $(addsuffix /gecho$(SRCEXEEXT),$(SEARCHPATH))))
 ifeq ($(ECHO),)
 ECHO:=$(strip $(wildcard $(addsuffix /echo$(SRCEXEEXT),$(SEARCHPATH))))
 ifeq ($(ECHO),)
-ECHO=
+ECHO= __missing_command__
 else
 ECHO:=$(firstword $(ECHO))
 endif
@@ -685,7 +701,7 @@ DATE:=$(strip $(wildcard $(addsuffix /gdate$(SRCEXEEXT),$(SEARCHPATH))))
 ifeq ($(DATE),)
 DATE:=$(strip $(wildcard $(addsuffix /date$(SRCEXEEXT),$(SEARCHPATH))))
 ifeq ($(DATE),)
-DATE=
+DATE= __missing_command__
 else
 DATE:=$(firstword $(DATE))
 endif
@@ -699,7 +715,7 @@ GINSTALL:=$(strip $(wildcard $(addsuffix /ginstall$(SRCEXEEXT),$(SEARCHPATH))))
 ifeq ($(GINSTALL),)
 GINSTALL:=$(strip $(wildcard $(addsuffix /install$(SRCEXEEXT),$(SEARCHPATH))))
 ifeq ($(GINSTALL),)
-GINSTALL=
+GINSTALL= __missing_command__
 else
 GINSTALL:=$(firstword $(GINSTALL))
 endif
@@ -711,7 +727,7 @@ export GINSTALL
 ifndef CPPROG
 CPPROG:=$(strip $(wildcard $(addsuffix /cp$(SRCEXEEXT),$(SEARCHPATH))))
 ifeq ($(CPPROG),)
-CPPROG=
+CPPROG= __missing_command__
 else
 CPPROG:=$(firstword $(CPPROG))
 endif
@@ -720,7 +736,7 @@ export CPPROG
 ifndef RMPROG
 RMPROG:=$(strip $(wildcard $(addsuffix /rm$(SRCEXEEXT),$(SEARCHPATH))))
 ifeq ($(RMPROG),)
-RMPROG=
+RMPROG= __missing_command__
 else
 RMPROG:=$(firstword $(RMPROG))
 endif
@@ -729,7 +745,7 @@ export RMPROG
 ifndef MVPROG
 MVPROG:=$(strip $(wildcard $(addsuffix /mv$(SRCEXEEXT),$(SEARCHPATH))))
 ifeq ($(MVPROG),)
-MVPROG=
+MVPROG= __missing_command__
 else
 MVPROG:=$(firstword $(MVPROG))
 endif
@@ -778,7 +794,7 @@ export ECHOREDIR COPY COPYTREE MOVE DEL DELTREE INSTALL INSTALLEXE MKDIR
 ifndef PPUMOVE
 PPUMOVE:=$(strip $(wildcard $(addsuffix /ppumove$(SRCEXEEXT),$(SEARCHPATH))))
 ifeq ($(PPUMOVE),)
-PPUMOVE=
+PPUMOVE= __missing_command__
 else
 PPUMOVE:=$(firstword $(PPUMOVE))
 endif
@@ -787,7 +803,7 @@ export PPUMOVE
 ifndef FPCMAKE
 FPCMAKE:=$(strip $(wildcard $(addsuffix /fpcmake$(SRCEXEEXT),$(SEARCHPATH))))
 ifeq ($(FPCMAKE),)
-FPCMAKE=
+FPCMAKE= __missing_command__
 else
 FPCMAKE:=$(firstword $(FPCMAKE))
 endif
@@ -796,7 +812,7 @@ export FPCMAKE
 ifndef ZIPPROG
 ZIPPROG:=$(strip $(wildcard $(addsuffix /zip$(SRCEXEEXT),$(SEARCHPATH))))
 ifeq ($(ZIPPROG),)
-ZIPPROG=
+ZIPPROG= __missing_command__
 else
 ZIPPROG:=$(firstword $(ZIPPROG))
 endif
@@ -805,7 +821,7 @@ export ZIPPROG
 ifndef TARPROG
 TARPROG:=$(strip $(wildcard $(addsuffix /tar$(SRCEXEEXT),$(SEARCHPATH))))
 ifeq ($(TARPROG),)
-TARPROG=
+TARPROG= __missing_command__
 else
 TARPROG:=$(firstword $(TARPROG))
 endif
@@ -817,9 +833,11 @@ ARNAME=$(BINUTILSPREFIX)ar
 RCNAME=$(BINUTILSPREFIX)rc
 ifneq ($(findstring 1.0.,$(FPC_VERSION)),)
 ifeq ($(OS_TARGET),win32)
-ASNAME=as
-LDNAME=ld
-ARNAME=ar
+ifeq ($(CROSSBINDIR),)
+ASNAME=asw
+LDNAME=ldw
+ARNAME=arw
+endif
 endif
 endif
 ifndef ASPROG
@@ -854,7 +872,7 @@ AS=$(ASPROG)
 LD=$(LDPROG)
 RC=$(RCPROG)
 AR=$(ARPROG)
-PPAS=ppas$(BATCHEXT)
+PPAS=ppas$(SRCBATCHEXT)
 ifdef inUnix
 LDCONFIG=ldconfig
 else
@@ -1113,8 +1131,12 @@ ifdef RELEASE
 ifeq ($(CPU_TARGET),i386)
 FPCCPUOPT:=-OG2p3
 else
+ifeq ($(CPU_TARGET),powerpc)
+FPCCPUOPT:=-O1
+else
 FPCCPUOPT:=
 endif
+endif
 override FPCOPT+=-Xs $(FPCCPUOPT) -n
 override FPCOPTDEF+=RELEASE
 endif
@@ -1321,6 +1343,9 @@ override CLEANPPUFILES+=$(addsuffix $(PPUEXT),$(CLEAN_UNITS))
 endif
 ifdef 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 CLEANPPULINKFILES:=$(wildcard $(addprefix $(UNITTARGETDIRPREFIX),$(CLEANPPULINKFILES)))
 endif
@@ -1344,6 +1369,7 @@ ifdef LIB_NAME
 	-$(DEL) $(LIB_NAME) $(LIB_FULLNAME)
 endif
 	-$(DEL) $(FPCMADE) Package.fpc $(PPAS) script.res link.res $(FPCEXTFILE) $(REDIRFILE)
+	-$(DEL) *$(ASMEXT) *_ppas$(BATCHEXT)
 fpc_distclean: clean
 ifdef COMPILER_UNITTARGETDIR
 TARGETDIRCLEAN=fpc_clean
@@ -1355,9 +1381,13 @@ endif
 	-$(DEL) *$(OEXT) *$(PPUEXT) *$(RSTEXT) *$(ASMEXT) *$(STATICLIBEXT) *$(SHAREDLIBEXT) *$(PPLEXT)
 	-$(DELTREE) *$(SMARTEXT)
 	-$(DEL) $(FPCMADE) Package.fpc $(PPAS) script.res link.res $(FPCEXTFILE) $(REDIRFILE)
+	-$(DEL) *_ppas$(BATCHEXT)
 ifdef AOUTEXT
 	-$(DEL) *$(AOUTEXT)
 endif
+ifdef DEBUGSYMEXT
+	-$(DEL) *$(DEBUGSYMEXT)
+endif
 .PHONY: fpc_baseinfo
 override INFORULES+=fpc_baseinfo
 fpc_baseinfo:

+ 101 - 71
packages/extra/os2units/mmtk/Makefile

@@ -1,15 +1,24 @@
 #
-# Don't edit, this file is generated by FPCMake Version 1.1 [2004/02/22]
+# Don't edit, this file is generated by FPCMake Version 1.1 [2004/04/21]
 #
 default: all
 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:=$(subst \,/,$(PATH))
+ifneq ($(findstring darwin,$(OSTYPE)),)
+inUnix=1 #darwin
+SEARCHPATH:=$(filter-out .,$(subst :, ,$(PATH)))
+else
 ifeq ($(findstring ;,$(PATH)),)
 inUnix=1
 SEARCHPATH:=$(filter-out .,$(subst :, ,$(PATH)))
 else
 SEARCHPATH:=$(subst ;, ,$(PATH))
 endif
+endif
 SEARCHPATH+=$(patsubst %/,%,$(subst \,/,$(dir $(MAKE))))
 PWD:=$(strip $(wildcard $(addsuffix /pwd.exe,$(SEARCHPATH))))
 ifeq ($(PWD),)
@@ -37,22 +46,13 @@ ifneq ($(findstring cygdrive,$(PATH)),)
 inCygWin=1
 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
-BATCHEXT=.sh
+SRCBATCHEXT=.sh
 else
 ifdef inOS2
-BATCHEXT=.cmd
+SRCBATCHEXT=.cmd
 else
-BATCHEXT=.bat
+SRCBATCHEXT=.bat
 endif
 endif
 ifdef inUnix
@@ -155,6 +155,12 @@ ifeq ($(findstring $(OS_TARGET),$(MAKEFILETARGETS)),)
 $(error The Makefile doesn't support target $(OS_TARGET), please run fpcmake first)
 endif
 endif
+ifneq ($(findstring $(OS_TARGET),$(BSDs)),)
+BSDhier=1
+endif
+ifeq ($(OS_TARGET),linux)
+linuxHier=1
+endif
 export OS_TARGET OS_SOURCE CPU_TARGET CPU_SOURCE FULL_TARGET FULL_SOURCE CROSSCOMPILE
 ifdef FPCDIR
 override FPCDIR:=$(subst \,/,$(FPCDIR))
@@ -219,42 +225,12 @@ 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
-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
 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
 ifndef INSTALL_PREFIX
@@ -263,7 +239,7 @@ INSTALL_PREFIX=$(PREFIX)
 endif
 endif
 ifndef INSTALL_PREFIX
-ifdef UNIXINSTALLDIR
+ifdef UNIXHier
 INSTALL_PREFIX=/usr/local
 else
 ifdef INSTALL_FPCPACKAGE
@@ -282,7 +258,7 @@ DIST_DESTDIR:=$(BASEDIR)
 endif
 export DIST_DESTDIR
 ifndef INSTALL_BASEDIR
-ifdef UNIXINSTALLDIR
+ifdef UNIXHier
 ifdef INSTALL_FPCPACKAGE
 INSTALL_BASEDIR:=$(INSTALL_PREFIX)/lib/fpc/$(FPC_VERSION)
 else
@@ -293,7 +269,7 @@ INSTALL_BASEDIR:=$(INSTALL_PREFIX)
 endif
 endif
 ifndef INSTALL_BINDIR
-ifdef UNIXINSTALLDIR
+ifdef UNIXHier
 ifdef CROSSCOMPILE
 INSTALL_BINDIR:=$(INSTALL_BASEDIR)/cross/$(FULL_TARGET)/bin
 else
@@ -323,19 +299,23 @@ endif
 endif
 endif
 ifndef INSTALL_LIBDIR
-ifdef UNIXINSTALLDIR
+ifdef UNIXHier
 INSTALL_LIBDIR:=$(INSTALL_PREFIX)/lib
 else
 INSTALL_LIBDIR:=$(INSTALL_UNITDIR)
 endif
 endif
 ifndef INSTALL_SOURCEDIR
-ifdef UNIXINSTALLDIR
+ifdef UNIXHier
 ifdef BSDhier
 SRCPREFIXDIR=share/src
 else
+ifdef linuxHier
+SRCPREFIXDIR=share/src
+else
 SRCPREFIXDIR=src
 endif
+endif
 ifdef INSTALL_FPCPACKAGE
 ifdef INSTALL_FPCSUBDIR
 INSTALL_SOURCEDIR:=$(INSTALL_PREFIX)/$(SRCPREFIXDIR)/fpc-$(FPC_VERSION)/$(INSTALL_FPCSUBDIR)/$(PACKAGE_NAME)
@@ -358,12 +338,16 @@ endif
 endif
 endif
 ifndef INSTALL_DOCDIR
-ifdef UNIXINSTALLDIR
+ifdef UNIXHier
 ifdef BSDhier
 DOCPREFIXDIR=share/doc
 else
+ifdef linuxHier
+DOCPREFIXDIR=share/doc
+else
 DOCPREFIXDIR=doc
 endif
+endif
 ifdef INSTALL_FPCPACKAGE
 INSTALL_DOCDIR:=$(INSTALL_PREFIX)/$(DOCPREFIXDIR)/fpc-$(FPC_VERSION)/$(PACKAGE_NAME)
 else
@@ -378,20 +362,28 @@ endif
 endif
 endif
 ifndef INSTALL_EXAMPLEDIR
-ifdef UNIXINSTALLDIR
+ifdef UNIXHier
 ifdef INSTALL_FPCPACKAGE
 ifdef BSDhier
 INSTALL_EXAMPLEDIR:=$(INSTALL_PREFIX)/share/examples/fpc-$(FPC_VERSION)/$(PACKAGE_NAME)
 else
+ifdef linuxHier
+INSTALL_EXAMPLEDIR:=$(INSTALL_DOCDIR)/examples/fpc-$(FPC_VERSION)/$(PACKAGE_NAME)
+else
 INSTALL_EXAMPLEDIR:=$(INSTALL_PREFIX)/doc/fpc-$(FPC_VERSION)/examples/$(PACKAGE_NAME)
 endif
+endif
 else
 ifdef BSDhier
 INSTALL_EXAMPLEDIR:=$(INSTALL_PREFIX)/share/examples/$(PACKAGE_NAME)-$(PACKAGE_VERSION)
 else
+ifdef linuxHier
+INSTALL_EXAMPLEDIR:=$(INSTALL_DOCDIR)/examples/$(PACKAGE_NAME)-$(PACKAGE_VERSION)
+else
 INSTALL_EXAMPLEDIR:=$(INSTALL_PREFIX)/doc/$(PACKAGE_NAME)-$(PACKAGE_VERSION)
 endif
 endif
+endif
 else
 ifdef INSTALL_FPCPACKAGE
 INSTALL_EXAMPLEDIR:=$(INSTALL_BASEDIR)/examples/$(PACKAGE_NAME)
@@ -413,6 +405,7 @@ endif
 else
 CROSSBINDIR=
 endif
+BATCHEXT=.bat
 LOADEREXT=.as
 EXEEXT=.exe
 PPLEXT=.ppl
@@ -445,24 +438,28 @@ ASMEXT=.asm
 SHAREDLIBEXT=.dll
 endif
 ifeq ($(OS_TARGET),linux)
+BATCHEXT=.sh
 EXEEXT=
 HASSHAREDLIB=1
 FPCMADE=fpcmade.lnx
 ZIPSUFFIX=linux
 endif
 ifeq ($(OS_TARGET),freebsd)
+BATCHEXT=.sh
 EXEEXT=
 HASSHAREDLIB=1
 FPCMADE=fpcmade.freebsd
 ZIPSUFFIX=freebsd
 endif
 ifeq ($(OS_TARGET),netbsd)
+BATCHEXT=.sh
 EXEEXT=
 HASSHAREDLIB=1
 FPCMADE=fpcmade.netbsd
 ZIPSUFFIX=netbsd
 endif
 ifeq ($(OS_TARGET),openbsd)
+BATCHEXT=.sh
 EXEEXT=
 HASSHAREDLIB=1
 FPCMADE=fpcmade.openbsd
@@ -474,6 +471,7 @@ FPCMADE=fpcmade.w32
 ZIPSUFFIX=w32
 endif
 ifeq ($(OS_TARGET),os2)
+BATCHEXT=.cmd
 AOUTEXT=.out
 STATICLIBPREFIX=
 SHAREDLIBEXT=.dll
@@ -482,6 +480,7 @@ ZIPSUFFIX=os2
 ECHO=echo
 endif
 ifeq ($(OS_TARGET),emx)
+BATCHEXT=.cmd
 AOUTEXT=.out
 STATICLIBPREFIX=
 SHAREDLIBEXT=.dll
@@ -499,16 +498,19 @@ EXEEXT=.ttp
 FPCMADE=fpcmade.ata
 endif
 ifeq ($(OS_TARGET),beos)
+BATCHEXT=.sh
 EXEEXT=
 FPCMADE=fpcmade.be
 ZIPSUFFIX=be
 endif
 ifeq ($(OS_TARGET),sunos)
+BATCHEXT=.sh
 EXEEXT=
 FPCMADE=fpcmade.sun
 ZIPSUFFIX=sun
 endif
 ifeq ($(OS_TARGET),qnx)
+BATCHEXT=.sh
 EXEEXT=
 FPCMADE=fpcmade.qnx
 ZIPSUFFIX=qnx
@@ -520,10 +522,14 @@ FPCMADE=fpcmade.nw
 ZIPSUFFIX=nw
 endif
 ifeq ($(OS_TARGET),macos)
+BATCHEXT=
 EXEEXT=
-FPCMADE=fpcmade.mcc
+FPCMADE=fpcmade.macos
+ZIPSUFFIX=macos
+DEBUGSYMEXT=.xcoff
 endif
 ifeq ($(OS_TARGET),darwin)
+BATCHEXT=.sh
 EXEEXT=
 HASSHAREDLIB=1
 FPCMADE=fpcmade.darwin
@@ -552,24 +558,28 @@ FPCMADE=fpcmade.dos
 ZIPSUFFIX=watcom
 endif
 ifeq ($(OS_TARGET),linux)
+BATCHEXT=.sh
 EXEEXT=
 HASSHAREDLIB=1
 FPCMADE=fpcmade.lnx
 ZIPSUFFIX=linux
 endif
 ifeq ($(OS_TARGET),freebsd)
+BATCHEXT=.sh
 EXEEXT=
 HASSHAREDLIB=1
 FPCMADE=fpcmade.freebsd
 ZIPSUFFIX=freebsd
 endif
 ifeq ($(OS_TARGET),netbsd)
+BATCHEXT=.sh
 EXEEXT=
 HASSHAREDLIB=1
 FPCMADE=fpcmade.netbsd
 ZIPSUFFIX=netbsd
 endif
 ifeq ($(OS_TARGET),openbsd)
+BATCHEXT=.sh
 EXEEXT=
 HASSHAREDLIB=1
 FPCMADE=fpcmade.openbsd
@@ -586,6 +596,7 @@ FPCMADE=fpcmade.w32
 ZIPSUFFIX=w32
 endif
 ifeq ($(OS_TARGET),os2)
+BATCHEXT=.cmd
 PPUEXT=.ppo
 ASMEXT=.so2
 OEXT=.oo2
@@ -618,6 +629,7 @@ EXEEXT=.ttp
 FPCMADE=fpcmade.ata
 endif
 ifeq ($(OS_TARGET),beos)
+BATCHEXT=.sh
 PPUEXT=.ppu
 ASMEXT=.s
 OEXT=.o
@@ -628,6 +640,7 @@ FPCMADE=fpcmade.be
 ZIPSUFFIX=be
 endif
 ifeq ($(OS_TARGET),sunos)
+BATCHEXT=.sh
 PPUEXT=.ppu
 ASMEXT=.s
 OEXT=.o
@@ -638,6 +651,7 @@ FPCMADE=fpcmade.sun
 ZIPSUFFIX=sun
 endif
 ifeq ($(OS_TARGET),qnx)
+BATCHEXT=.sh
 PPUEXT=.ppu
 ASMEXT=.s
 OEXT=.o
@@ -660,13 +674,15 @@ ZIPSUFFIX=nw
 EXEEXT=.nlm
 endif
 ifeq ($(OS_TARGET),macos)
+BATCHEXT=
 PPUEXT=.ppu
 ASMEXT=.s
 OEXT=.o
 SMARTEXT=.sl
 STATICLIBEXT=.a
 EXEEXT=
-FPCMADE=fpcmade.mcc
+DEBUGSYMEXT=.xcoff
+FPCMADE=fpcmade.macos
 endif
 endif
 ifndef ECHO
@@ -674,7 +690,7 @@ ECHO:=$(strip $(wildcard $(addsuffix /gecho$(SRCEXEEXT),$(SEARCHPATH))))
 ifeq ($(ECHO),)
 ECHO:=$(strip $(wildcard $(addsuffix /echo$(SRCEXEEXT),$(SEARCHPATH))))
 ifeq ($(ECHO),)
-ECHO=
+ECHO= __missing_command__
 else
 ECHO:=$(firstword $(ECHO))
 endif
@@ -688,7 +704,7 @@ DATE:=$(strip $(wildcard $(addsuffix /gdate$(SRCEXEEXT),$(SEARCHPATH))))
 ifeq ($(DATE),)
 DATE:=$(strip $(wildcard $(addsuffix /date$(SRCEXEEXT),$(SEARCHPATH))))
 ifeq ($(DATE),)
-DATE=
+DATE= __missing_command__
 else
 DATE:=$(firstword $(DATE))
 endif
@@ -702,7 +718,7 @@ GINSTALL:=$(strip $(wildcard $(addsuffix /ginstall$(SRCEXEEXT),$(SEARCHPATH))))
 ifeq ($(GINSTALL),)
 GINSTALL:=$(strip $(wildcard $(addsuffix /install$(SRCEXEEXT),$(SEARCHPATH))))
 ifeq ($(GINSTALL),)
-GINSTALL=
+GINSTALL= __missing_command__
 else
 GINSTALL:=$(firstword $(GINSTALL))
 endif
@@ -714,7 +730,7 @@ export GINSTALL
 ifndef CPPROG
 CPPROG:=$(strip $(wildcard $(addsuffix /cp$(SRCEXEEXT),$(SEARCHPATH))))
 ifeq ($(CPPROG),)
-CPPROG=
+CPPROG= __missing_command__
 else
 CPPROG:=$(firstword $(CPPROG))
 endif
@@ -723,7 +739,7 @@ export CPPROG
 ifndef RMPROG
 RMPROG:=$(strip $(wildcard $(addsuffix /rm$(SRCEXEEXT),$(SEARCHPATH))))
 ifeq ($(RMPROG),)
-RMPROG=
+RMPROG= __missing_command__
 else
 RMPROG:=$(firstword $(RMPROG))
 endif
@@ -732,7 +748,7 @@ export RMPROG
 ifndef MVPROG
 MVPROG:=$(strip $(wildcard $(addsuffix /mv$(SRCEXEEXT),$(SEARCHPATH))))
 ifeq ($(MVPROG),)
-MVPROG=
+MVPROG= __missing_command__
 else
 MVPROG:=$(firstword $(MVPROG))
 endif
@@ -781,7 +797,7 @@ export ECHOREDIR COPY COPYTREE MOVE DEL DELTREE INSTALL INSTALLEXE MKDIR
 ifndef PPUMOVE
 PPUMOVE:=$(strip $(wildcard $(addsuffix /ppumove$(SRCEXEEXT),$(SEARCHPATH))))
 ifeq ($(PPUMOVE),)
-PPUMOVE=
+PPUMOVE= __missing_command__
 else
 PPUMOVE:=$(firstword $(PPUMOVE))
 endif
@@ -790,7 +806,7 @@ export PPUMOVE
 ifndef FPCMAKE
 FPCMAKE:=$(strip $(wildcard $(addsuffix /fpcmake$(SRCEXEEXT),$(SEARCHPATH))))
 ifeq ($(FPCMAKE),)
-FPCMAKE=
+FPCMAKE= __missing_command__
 else
 FPCMAKE:=$(firstword $(FPCMAKE))
 endif
@@ -799,7 +815,7 @@ export FPCMAKE
 ifndef ZIPPROG
 ZIPPROG:=$(strip $(wildcard $(addsuffix /zip$(SRCEXEEXT),$(SEARCHPATH))))
 ifeq ($(ZIPPROG),)
-ZIPPROG=
+ZIPPROG= __missing_command__
 else
 ZIPPROG:=$(firstword $(ZIPPROG))
 endif
@@ -808,7 +824,7 @@ export ZIPPROG
 ifndef TARPROG
 TARPROG:=$(strip $(wildcard $(addsuffix /tar$(SRCEXEEXT),$(SEARCHPATH))))
 ifeq ($(TARPROG),)
-TARPROG=
+TARPROG= __missing_command__
 else
 TARPROG:=$(firstword $(TARPROG))
 endif
@@ -820,9 +836,11 @@ ARNAME=$(BINUTILSPREFIX)ar
 RCNAME=$(BINUTILSPREFIX)rc
 ifneq ($(findstring 1.0.,$(FPC_VERSION)),)
 ifeq ($(OS_TARGET),win32)
-ASNAME=as
-LDNAME=ld
-ARNAME=ar
+ifeq ($(CROSSBINDIR),)
+ASNAME=asw
+LDNAME=ldw
+ARNAME=arw
+endif
 endif
 endif
 ifndef ASPROG
@@ -857,7 +875,7 @@ AS=$(ASPROG)
 LD=$(LDPROG)
 RC=$(RCPROG)
 AR=$(ARPROG)
-PPAS=ppas$(BATCHEXT)
+PPAS=ppas$(SRCBATCHEXT)
 ifdef inUnix
 LDCONFIG=ldconfig
 else
@@ -1116,8 +1134,12 @@ ifdef RELEASE
 ifeq ($(CPU_TARGET),i386)
 FPCCPUOPT:=-OG2p3
 else
+ifeq ($(CPU_TARGET),powerpc)
+FPCCPUOPT:=-O1
+else
 FPCCPUOPT:=
 endif
+endif
 override FPCOPT+=-Xs $(FPCCPUOPT) -n
 override FPCOPTDEF+=RELEASE
 endif
@@ -1361,7 +1383,7 @@ USEZIPWRAPPER=1
 endif
 ifdef USEZIPWRAPPER
 ZIPPATHSEP=$(PATHSEP)
-ZIPWRAPPER=$(subst /,$(PATHSEP),$(DIST_DESTDIR)/fpczip$(BATCHEXT))
+ZIPWRAPPER=$(subst /,$(PATHSEP),$(DIST_DESTDIR)/fpczip$(SRCBATCHEXT))
 else
 ZIPPATHSEP=/
 endif
@@ -1415,6 +1437,9 @@ override CLEANPPUFILES+=$(addsuffix $(PPUEXT),$(CLEAN_UNITS))
 endif
 ifdef 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 CLEANPPULINKFILES:=$(wildcard $(addprefix $(UNITTARGETDIRPREFIX),$(CLEANPPULINKFILES)))
 endif
@@ -1438,6 +1463,7 @@ ifdef LIB_NAME
 	-$(DEL) $(LIB_NAME) $(LIB_FULLNAME)
 endif
 	-$(DEL) $(FPCMADE) Package.fpc $(PPAS) script.res link.res $(FPCEXTFILE) $(REDIRFILE)
+	-$(DEL) *$(ASMEXT) *_ppas$(BATCHEXT)
 fpc_distclean: clean
 ifdef COMPILER_UNITTARGETDIR
 TARGETDIRCLEAN=fpc_clean
@@ -1449,9 +1475,13 @@ endif
 	-$(DEL) *$(OEXT) *$(PPUEXT) *$(RSTEXT) *$(ASMEXT) *$(STATICLIBEXT) *$(SHAREDLIBEXT) *$(PPLEXT)
 	-$(DELTREE) *$(SMARTEXT)
 	-$(DEL) $(FPCMADE) Package.fpc $(PPAS) script.res link.res $(FPCEXTFILE) $(REDIRFILE)
+	-$(DEL) *_ppas$(BATCHEXT)
 ifdef AOUTEXT
 	-$(DEL) *$(AOUTEXT)
 endif
+ifdef DEBUGSYMEXT
+	-$(DEL) *$(DEBUGSYMEXT)
+endif
 .PHONY: fpc_baseinfo
 override INFORULES+=fpc_baseinfo
 fpc_baseinfo:

+ 100 - 70
packages/extra/os2units/mmtk/tests/Makefile

@@ -1,15 +1,24 @@
 #
-# Don't edit, this file is generated by FPCMake Version 1.1 [2004/02/22]
+# Don't edit, this file is generated by FPCMake Version 1.1 [2004/04/21]
 #
 default: all
 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:=$(subst \,/,$(PATH))
+ifneq ($(findstring darwin,$(OSTYPE)),)
+inUnix=1 #darwin
+SEARCHPATH:=$(filter-out .,$(subst :, ,$(PATH)))
+else
 ifeq ($(findstring ;,$(PATH)),)
 inUnix=1
 SEARCHPATH:=$(filter-out .,$(subst :, ,$(PATH)))
 else
 SEARCHPATH:=$(subst ;, ,$(PATH))
 endif
+endif
 SEARCHPATH+=$(patsubst %/,%,$(subst \,/,$(dir $(MAKE))))
 PWD:=$(strip $(wildcard $(addsuffix /pwd.exe,$(SEARCHPATH))))
 ifeq ($(PWD),)
@@ -37,22 +46,13 @@ ifneq ($(findstring cygdrive,$(PATH)),)
 inCygWin=1
 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
-BATCHEXT=.sh
+SRCBATCHEXT=.sh
 else
 ifdef inOS2
-BATCHEXT=.cmd
+SRCBATCHEXT=.cmd
 else
-BATCHEXT=.bat
+SRCBATCHEXT=.bat
 endif
 endif
 ifdef inUnix
@@ -155,6 +155,12 @@ ifeq ($(findstring $(OS_TARGET),$(MAKEFILETARGETS)),)
 $(error The Makefile doesn't support target $(OS_TARGET), please run fpcmake first)
 endif
 endif
+ifneq ($(findstring $(OS_TARGET),$(BSDs)),)
+BSDhier=1
+endif
+ifeq ($(OS_TARGET),linux)
+linuxHier=1
+endif
 export OS_TARGET OS_SOURCE CPU_TARGET CPU_SOURCE FULL_TARGET FULL_SOURCE CROSSCOMPILE
 ifdef FPCDIR
 override FPCDIR:=$(subst \,/,$(FPCDIR))
@@ -216,42 +222,12 @@ 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
-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
 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
 ifndef INSTALL_PREFIX
@@ -260,7 +236,7 @@ INSTALL_PREFIX=$(PREFIX)
 endif
 endif
 ifndef INSTALL_PREFIX
-ifdef UNIXINSTALLDIR
+ifdef UNIXHier
 INSTALL_PREFIX=/usr/local
 else
 ifdef INSTALL_FPCPACKAGE
@@ -279,7 +255,7 @@ DIST_DESTDIR:=$(BASEDIR)
 endif
 export DIST_DESTDIR
 ifndef INSTALL_BASEDIR
-ifdef UNIXINSTALLDIR
+ifdef UNIXHier
 ifdef INSTALL_FPCPACKAGE
 INSTALL_BASEDIR:=$(INSTALL_PREFIX)/lib/fpc/$(FPC_VERSION)
 else
@@ -290,7 +266,7 @@ INSTALL_BASEDIR:=$(INSTALL_PREFIX)
 endif
 endif
 ifndef INSTALL_BINDIR
-ifdef UNIXINSTALLDIR
+ifdef UNIXHier
 ifdef CROSSCOMPILE
 INSTALL_BINDIR:=$(INSTALL_BASEDIR)/cross/$(FULL_TARGET)/bin
 else
@@ -320,19 +296,23 @@ endif
 endif
 endif
 ifndef INSTALL_LIBDIR
-ifdef UNIXINSTALLDIR
+ifdef UNIXHier
 INSTALL_LIBDIR:=$(INSTALL_PREFIX)/lib
 else
 INSTALL_LIBDIR:=$(INSTALL_UNITDIR)
 endif
 endif
 ifndef INSTALL_SOURCEDIR
-ifdef UNIXINSTALLDIR
+ifdef UNIXHier
 ifdef BSDhier
 SRCPREFIXDIR=share/src
 else
+ifdef linuxHier
+SRCPREFIXDIR=share/src
+else
 SRCPREFIXDIR=src
 endif
+endif
 ifdef INSTALL_FPCPACKAGE
 ifdef INSTALL_FPCSUBDIR
 INSTALL_SOURCEDIR:=$(INSTALL_PREFIX)/$(SRCPREFIXDIR)/fpc-$(FPC_VERSION)/$(INSTALL_FPCSUBDIR)/$(PACKAGE_NAME)
@@ -355,12 +335,16 @@ endif
 endif
 endif
 ifndef INSTALL_DOCDIR
-ifdef UNIXINSTALLDIR
+ifdef UNIXHier
 ifdef BSDhier
 DOCPREFIXDIR=share/doc
 else
+ifdef linuxHier
+DOCPREFIXDIR=share/doc
+else
 DOCPREFIXDIR=doc
 endif
+endif
 ifdef INSTALL_FPCPACKAGE
 INSTALL_DOCDIR:=$(INSTALL_PREFIX)/$(DOCPREFIXDIR)/fpc-$(FPC_VERSION)/$(PACKAGE_NAME)
 else
@@ -375,20 +359,28 @@ endif
 endif
 endif
 ifndef INSTALL_EXAMPLEDIR
-ifdef UNIXINSTALLDIR
+ifdef UNIXHier
 ifdef INSTALL_FPCPACKAGE
 ifdef BSDhier
 INSTALL_EXAMPLEDIR:=$(INSTALL_PREFIX)/share/examples/fpc-$(FPC_VERSION)/$(PACKAGE_NAME)
 else
+ifdef linuxHier
+INSTALL_EXAMPLEDIR:=$(INSTALL_DOCDIR)/examples/fpc-$(FPC_VERSION)/$(PACKAGE_NAME)
+else
 INSTALL_EXAMPLEDIR:=$(INSTALL_PREFIX)/doc/fpc-$(FPC_VERSION)/examples/$(PACKAGE_NAME)
 endif
+endif
 else
 ifdef BSDhier
 INSTALL_EXAMPLEDIR:=$(INSTALL_PREFIX)/share/examples/$(PACKAGE_NAME)-$(PACKAGE_VERSION)
 else
+ifdef linuxHier
+INSTALL_EXAMPLEDIR:=$(INSTALL_DOCDIR)/examples/$(PACKAGE_NAME)-$(PACKAGE_VERSION)
+else
 INSTALL_EXAMPLEDIR:=$(INSTALL_PREFIX)/doc/$(PACKAGE_NAME)-$(PACKAGE_VERSION)
 endif
 endif
+endif
 else
 ifdef INSTALL_FPCPACKAGE
 INSTALL_EXAMPLEDIR:=$(INSTALL_BASEDIR)/examples/$(PACKAGE_NAME)
@@ -410,6 +402,7 @@ endif
 else
 CROSSBINDIR=
 endif
+BATCHEXT=.bat
 LOADEREXT=.as
 EXEEXT=.exe
 PPLEXT=.ppl
@@ -442,24 +435,28 @@ ASMEXT=.asm
 SHAREDLIBEXT=.dll
 endif
 ifeq ($(OS_TARGET),linux)
+BATCHEXT=.sh
 EXEEXT=
 HASSHAREDLIB=1
 FPCMADE=fpcmade.lnx
 ZIPSUFFIX=linux
 endif
 ifeq ($(OS_TARGET),freebsd)
+BATCHEXT=.sh
 EXEEXT=
 HASSHAREDLIB=1
 FPCMADE=fpcmade.freebsd
 ZIPSUFFIX=freebsd
 endif
 ifeq ($(OS_TARGET),netbsd)
+BATCHEXT=.sh
 EXEEXT=
 HASSHAREDLIB=1
 FPCMADE=fpcmade.netbsd
 ZIPSUFFIX=netbsd
 endif
 ifeq ($(OS_TARGET),openbsd)
+BATCHEXT=.sh
 EXEEXT=
 HASSHAREDLIB=1
 FPCMADE=fpcmade.openbsd
@@ -471,6 +468,7 @@ FPCMADE=fpcmade.w32
 ZIPSUFFIX=w32
 endif
 ifeq ($(OS_TARGET),os2)
+BATCHEXT=.cmd
 AOUTEXT=.out
 STATICLIBPREFIX=
 SHAREDLIBEXT=.dll
@@ -479,6 +477,7 @@ ZIPSUFFIX=os2
 ECHO=echo
 endif
 ifeq ($(OS_TARGET),emx)
+BATCHEXT=.cmd
 AOUTEXT=.out
 STATICLIBPREFIX=
 SHAREDLIBEXT=.dll
@@ -496,16 +495,19 @@ EXEEXT=.ttp
 FPCMADE=fpcmade.ata
 endif
 ifeq ($(OS_TARGET),beos)
+BATCHEXT=.sh
 EXEEXT=
 FPCMADE=fpcmade.be
 ZIPSUFFIX=be
 endif
 ifeq ($(OS_TARGET),sunos)
+BATCHEXT=.sh
 EXEEXT=
 FPCMADE=fpcmade.sun
 ZIPSUFFIX=sun
 endif
 ifeq ($(OS_TARGET),qnx)
+BATCHEXT=.sh
 EXEEXT=
 FPCMADE=fpcmade.qnx
 ZIPSUFFIX=qnx
@@ -517,10 +519,14 @@ FPCMADE=fpcmade.nw
 ZIPSUFFIX=nw
 endif
 ifeq ($(OS_TARGET),macos)
+BATCHEXT=
 EXEEXT=
-FPCMADE=fpcmade.mcc
+FPCMADE=fpcmade.macos
+ZIPSUFFIX=macos
+DEBUGSYMEXT=.xcoff
 endif
 ifeq ($(OS_TARGET),darwin)
+BATCHEXT=.sh
 EXEEXT=
 HASSHAREDLIB=1
 FPCMADE=fpcmade.darwin
@@ -549,24 +555,28 @@ FPCMADE=fpcmade.dos
 ZIPSUFFIX=watcom
 endif
 ifeq ($(OS_TARGET),linux)
+BATCHEXT=.sh
 EXEEXT=
 HASSHAREDLIB=1
 FPCMADE=fpcmade.lnx
 ZIPSUFFIX=linux
 endif
 ifeq ($(OS_TARGET),freebsd)
+BATCHEXT=.sh
 EXEEXT=
 HASSHAREDLIB=1
 FPCMADE=fpcmade.freebsd
 ZIPSUFFIX=freebsd
 endif
 ifeq ($(OS_TARGET),netbsd)
+BATCHEXT=.sh
 EXEEXT=
 HASSHAREDLIB=1
 FPCMADE=fpcmade.netbsd
 ZIPSUFFIX=netbsd
 endif
 ifeq ($(OS_TARGET),openbsd)
+BATCHEXT=.sh
 EXEEXT=
 HASSHAREDLIB=1
 FPCMADE=fpcmade.openbsd
@@ -583,6 +593,7 @@ FPCMADE=fpcmade.w32
 ZIPSUFFIX=w32
 endif
 ifeq ($(OS_TARGET),os2)
+BATCHEXT=.cmd
 PPUEXT=.ppo
 ASMEXT=.so2
 OEXT=.oo2
@@ -615,6 +626,7 @@ EXEEXT=.ttp
 FPCMADE=fpcmade.ata
 endif
 ifeq ($(OS_TARGET),beos)
+BATCHEXT=.sh
 PPUEXT=.ppu
 ASMEXT=.s
 OEXT=.o
@@ -625,6 +637,7 @@ FPCMADE=fpcmade.be
 ZIPSUFFIX=be
 endif
 ifeq ($(OS_TARGET),sunos)
+BATCHEXT=.sh
 PPUEXT=.ppu
 ASMEXT=.s
 OEXT=.o
@@ -635,6 +648,7 @@ FPCMADE=fpcmade.sun
 ZIPSUFFIX=sun
 endif
 ifeq ($(OS_TARGET),qnx)
+BATCHEXT=.sh
 PPUEXT=.ppu
 ASMEXT=.s
 OEXT=.o
@@ -657,13 +671,15 @@ ZIPSUFFIX=nw
 EXEEXT=.nlm
 endif
 ifeq ($(OS_TARGET),macos)
+BATCHEXT=
 PPUEXT=.ppu
 ASMEXT=.s
 OEXT=.o
 SMARTEXT=.sl
 STATICLIBEXT=.a
 EXEEXT=
-FPCMADE=fpcmade.mcc
+DEBUGSYMEXT=.xcoff
+FPCMADE=fpcmade.macos
 endif
 endif
 ifndef ECHO
@@ -671,7 +687,7 @@ ECHO:=$(strip $(wildcard $(addsuffix /gecho$(SRCEXEEXT),$(SEARCHPATH))))
 ifeq ($(ECHO),)
 ECHO:=$(strip $(wildcard $(addsuffix /echo$(SRCEXEEXT),$(SEARCHPATH))))
 ifeq ($(ECHO),)
-ECHO=
+ECHO= __missing_command__
 else
 ECHO:=$(firstword $(ECHO))
 endif
@@ -685,7 +701,7 @@ DATE:=$(strip $(wildcard $(addsuffix /gdate$(SRCEXEEXT),$(SEARCHPATH))))
 ifeq ($(DATE),)
 DATE:=$(strip $(wildcard $(addsuffix /date$(SRCEXEEXT),$(SEARCHPATH))))
 ifeq ($(DATE),)
-DATE=
+DATE= __missing_command__
 else
 DATE:=$(firstword $(DATE))
 endif
@@ -699,7 +715,7 @@ GINSTALL:=$(strip $(wildcard $(addsuffix /ginstall$(SRCEXEEXT),$(SEARCHPATH))))
 ifeq ($(GINSTALL),)
 GINSTALL:=$(strip $(wildcard $(addsuffix /install$(SRCEXEEXT),$(SEARCHPATH))))
 ifeq ($(GINSTALL),)
-GINSTALL=
+GINSTALL= __missing_command__
 else
 GINSTALL:=$(firstword $(GINSTALL))
 endif
@@ -711,7 +727,7 @@ export GINSTALL
 ifndef CPPROG
 CPPROG:=$(strip $(wildcard $(addsuffix /cp$(SRCEXEEXT),$(SEARCHPATH))))
 ifeq ($(CPPROG),)
-CPPROG=
+CPPROG= __missing_command__
 else
 CPPROG:=$(firstword $(CPPROG))
 endif
@@ -720,7 +736,7 @@ export CPPROG
 ifndef RMPROG
 RMPROG:=$(strip $(wildcard $(addsuffix /rm$(SRCEXEEXT),$(SEARCHPATH))))
 ifeq ($(RMPROG),)
-RMPROG=
+RMPROG= __missing_command__
 else
 RMPROG:=$(firstword $(RMPROG))
 endif
@@ -729,7 +745,7 @@ export RMPROG
 ifndef MVPROG
 MVPROG:=$(strip $(wildcard $(addsuffix /mv$(SRCEXEEXT),$(SEARCHPATH))))
 ifeq ($(MVPROG),)
-MVPROG=
+MVPROG= __missing_command__
 else
 MVPROG:=$(firstword $(MVPROG))
 endif
@@ -778,7 +794,7 @@ export ECHOREDIR COPY COPYTREE MOVE DEL DELTREE INSTALL INSTALLEXE MKDIR
 ifndef PPUMOVE
 PPUMOVE:=$(strip $(wildcard $(addsuffix /ppumove$(SRCEXEEXT),$(SEARCHPATH))))
 ifeq ($(PPUMOVE),)
-PPUMOVE=
+PPUMOVE= __missing_command__
 else
 PPUMOVE:=$(firstword $(PPUMOVE))
 endif
@@ -787,7 +803,7 @@ export PPUMOVE
 ifndef FPCMAKE
 FPCMAKE:=$(strip $(wildcard $(addsuffix /fpcmake$(SRCEXEEXT),$(SEARCHPATH))))
 ifeq ($(FPCMAKE),)
-FPCMAKE=
+FPCMAKE= __missing_command__
 else
 FPCMAKE:=$(firstword $(FPCMAKE))
 endif
@@ -796,7 +812,7 @@ export FPCMAKE
 ifndef ZIPPROG
 ZIPPROG:=$(strip $(wildcard $(addsuffix /zip$(SRCEXEEXT),$(SEARCHPATH))))
 ifeq ($(ZIPPROG),)
-ZIPPROG=
+ZIPPROG= __missing_command__
 else
 ZIPPROG:=$(firstword $(ZIPPROG))
 endif
@@ -805,7 +821,7 @@ export ZIPPROG
 ifndef TARPROG
 TARPROG:=$(strip $(wildcard $(addsuffix /tar$(SRCEXEEXT),$(SEARCHPATH))))
 ifeq ($(TARPROG),)
-TARPROG=
+TARPROG= __missing_command__
 else
 TARPROG:=$(firstword $(TARPROG))
 endif
@@ -817,9 +833,11 @@ ARNAME=$(BINUTILSPREFIX)ar
 RCNAME=$(BINUTILSPREFIX)rc
 ifneq ($(findstring 1.0.,$(FPC_VERSION)),)
 ifeq ($(OS_TARGET),win32)
-ASNAME=as
-LDNAME=ld
-ARNAME=ar
+ifeq ($(CROSSBINDIR),)
+ASNAME=asw
+LDNAME=ldw
+ARNAME=arw
+endif
 endif
 endif
 ifndef ASPROG
@@ -854,7 +872,7 @@ AS=$(ASPROG)
 LD=$(LDPROG)
 RC=$(RCPROG)
 AR=$(ARPROG)
-PPAS=ppas$(BATCHEXT)
+PPAS=ppas$(SRCBATCHEXT)
 ifdef inUnix
 LDCONFIG=ldconfig
 else
@@ -1113,8 +1131,12 @@ ifdef RELEASE
 ifeq ($(CPU_TARGET),i386)
 FPCCPUOPT:=-OG2p3
 else
+ifeq ($(CPU_TARGET),powerpc)
+FPCCPUOPT:=-O1
+else
 FPCCPUOPT:=
 endif
+endif
 override FPCOPT+=-Xs $(FPCCPUOPT) -n
 override FPCOPTDEF+=RELEASE
 endif
@@ -1321,6 +1343,9 @@ override CLEANPPUFILES+=$(addsuffix $(PPUEXT),$(CLEAN_UNITS))
 endif
 ifdef 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 CLEANPPULINKFILES:=$(wildcard $(addprefix $(UNITTARGETDIRPREFIX),$(CLEANPPULINKFILES)))
 endif
@@ -1344,6 +1369,7 @@ ifdef LIB_NAME
 	-$(DEL) $(LIB_NAME) $(LIB_FULLNAME)
 endif
 	-$(DEL) $(FPCMADE) Package.fpc $(PPAS) script.res link.res $(FPCEXTFILE) $(REDIRFILE)
+	-$(DEL) *$(ASMEXT) *_ppas$(BATCHEXT)
 fpc_distclean: clean
 ifdef COMPILER_UNITTARGETDIR
 TARGETDIRCLEAN=fpc_clean
@@ -1355,9 +1381,13 @@ endif
 	-$(DEL) *$(OEXT) *$(PPUEXT) *$(RSTEXT) *$(ASMEXT) *$(STATICLIBEXT) *$(SHAREDLIBEXT) *$(PPLEXT)
 	-$(DELTREE) *$(SMARTEXT)
 	-$(DEL) $(FPCMADE) Package.fpc $(PPAS) script.res link.res $(FPCEXTFILE) $(REDIRFILE)
+	-$(DEL) *_ppas$(BATCHEXT)
 ifdef AOUTEXT
 	-$(DEL) *$(AOUTEXT)
 endif
+ifdef DEBUGSYMEXT
+	-$(DEL) *$(DEBUGSYMEXT)
+endif
 .PHONY: fpc_baseinfo
 override INFORULES+=fpc_baseinfo
 fpc_baseinfo:

+ 101 - 71
packages/extra/rexx/Makefile

@@ -1,15 +1,24 @@
 #
-# Don't edit, this file is generated by FPCMake Version 1.1 [2004/02/22]
+# Don't edit, this file is generated by FPCMake Version 1.1 [2004/04/21]
 #
 default: all
 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:=$(subst \,/,$(PATH))
+ifneq ($(findstring darwin,$(OSTYPE)),)
+inUnix=1 #darwin
+SEARCHPATH:=$(filter-out .,$(subst :, ,$(PATH)))
+else
 ifeq ($(findstring ;,$(PATH)),)
 inUnix=1
 SEARCHPATH:=$(filter-out .,$(subst :, ,$(PATH)))
 else
 SEARCHPATH:=$(subst ;, ,$(PATH))
 endif
+endif
 SEARCHPATH+=$(patsubst %/,%,$(subst \,/,$(dir $(MAKE))))
 PWD:=$(strip $(wildcard $(addsuffix /pwd.exe,$(SEARCHPATH))))
 ifeq ($(PWD),)
@@ -37,22 +46,13 @@ ifneq ($(findstring cygdrive,$(PATH)),)
 inCygWin=1
 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
-BATCHEXT=.sh
+SRCBATCHEXT=.sh
 else
 ifdef inOS2
-BATCHEXT=.cmd
+SRCBATCHEXT=.cmd
 else
-BATCHEXT=.bat
+SRCBATCHEXT=.bat
 endif
 endif
 ifdef inUnix
@@ -155,6 +155,12 @@ ifeq ($(findstring $(OS_TARGET),$(MAKEFILETARGETS)),)
 $(error The Makefile doesn't support target $(OS_TARGET), please run fpcmake first)
 endif
 endif
+ifneq ($(findstring $(OS_TARGET),$(BSDs)),)
+BSDhier=1
+endif
+ifeq ($(OS_TARGET),linux)
+linuxHier=1
+endif
 export OS_TARGET OS_SOURCE CPU_TARGET CPU_SOURCE FULL_TARGET FULL_SOURCE CROSSCOMPILE
 ifdef FPCDIR
 override FPCDIR:=$(subst \,/,$(FPCDIR))
@@ -219,42 +225,12 @@ 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
-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
 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
 ifndef INSTALL_PREFIX
@@ -263,7 +239,7 @@ INSTALL_PREFIX=$(PREFIX)
 endif
 endif
 ifndef INSTALL_PREFIX
-ifdef UNIXINSTALLDIR
+ifdef UNIXHier
 INSTALL_PREFIX=/usr/local
 else
 ifdef INSTALL_FPCPACKAGE
@@ -282,7 +258,7 @@ DIST_DESTDIR:=$(BASEDIR)
 endif
 export DIST_DESTDIR
 ifndef INSTALL_BASEDIR
-ifdef UNIXINSTALLDIR
+ifdef UNIXHier
 ifdef INSTALL_FPCPACKAGE
 INSTALL_BASEDIR:=$(INSTALL_PREFIX)/lib/fpc/$(FPC_VERSION)
 else
@@ -293,7 +269,7 @@ INSTALL_BASEDIR:=$(INSTALL_PREFIX)
 endif
 endif
 ifndef INSTALL_BINDIR
-ifdef UNIXINSTALLDIR
+ifdef UNIXHier
 ifdef CROSSCOMPILE
 INSTALL_BINDIR:=$(INSTALL_BASEDIR)/cross/$(FULL_TARGET)/bin
 else
@@ -323,19 +299,23 @@ endif
 endif
 endif
 ifndef INSTALL_LIBDIR
-ifdef UNIXINSTALLDIR
+ifdef UNIXHier
 INSTALL_LIBDIR:=$(INSTALL_PREFIX)/lib
 else
 INSTALL_LIBDIR:=$(INSTALL_UNITDIR)
 endif
 endif
 ifndef INSTALL_SOURCEDIR
-ifdef UNIXINSTALLDIR
+ifdef UNIXHier
 ifdef BSDhier
 SRCPREFIXDIR=share/src
 else
+ifdef linuxHier
+SRCPREFIXDIR=share/src
+else
 SRCPREFIXDIR=src
 endif
+endif
 ifdef INSTALL_FPCPACKAGE
 ifdef INSTALL_FPCSUBDIR
 INSTALL_SOURCEDIR:=$(INSTALL_PREFIX)/$(SRCPREFIXDIR)/fpc-$(FPC_VERSION)/$(INSTALL_FPCSUBDIR)/$(PACKAGE_NAME)
@@ -358,12 +338,16 @@ endif
 endif
 endif
 ifndef INSTALL_DOCDIR
-ifdef UNIXINSTALLDIR
+ifdef UNIXHier
 ifdef BSDhier
 DOCPREFIXDIR=share/doc
 else
+ifdef linuxHier
+DOCPREFIXDIR=share/doc
+else
 DOCPREFIXDIR=doc
 endif
+endif
 ifdef INSTALL_FPCPACKAGE
 INSTALL_DOCDIR:=$(INSTALL_PREFIX)/$(DOCPREFIXDIR)/fpc-$(FPC_VERSION)/$(PACKAGE_NAME)
 else
@@ -378,20 +362,28 @@ endif
 endif
 endif
 ifndef INSTALL_EXAMPLEDIR
-ifdef UNIXINSTALLDIR
+ifdef UNIXHier
 ifdef INSTALL_FPCPACKAGE
 ifdef BSDhier
 INSTALL_EXAMPLEDIR:=$(INSTALL_PREFIX)/share/examples/fpc-$(FPC_VERSION)/$(PACKAGE_NAME)
 else
+ifdef linuxHier
+INSTALL_EXAMPLEDIR:=$(INSTALL_DOCDIR)/examples/fpc-$(FPC_VERSION)/$(PACKAGE_NAME)
+else
 INSTALL_EXAMPLEDIR:=$(INSTALL_PREFIX)/doc/fpc-$(FPC_VERSION)/examples/$(PACKAGE_NAME)
 endif
+endif
 else
 ifdef BSDhier
 INSTALL_EXAMPLEDIR:=$(INSTALL_PREFIX)/share/examples/$(PACKAGE_NAME)-$(PACKAGE_VERSION)
 else
+ifdef linuxHier
+INSTALL_EXAMPLEDIR:=$(INSTALL_DOCDIR)/examples/$(PACKAGE_NAME)-$(PACKAGE_VERSION)
+else
 INSTALL_EXAMPLEDIR:=$(INSTALL_PREFIX)/doc/$(PACKAGE_NAME)-$(PACKAGE_VERSION)
 endif
 endif
+endif
 else
 ifdef INSTALL_FPCPACKAGE
 INSTALL_EXAMPLEDIR:=$(INSTALL_BASEDIR)/examples/$(PACKAGE_NAME)
@@ -413,6 +405,7 @@ endif
 else
 CROSSBINDIR=
 endif
+BATCHEXT=.bat
 LOADEREXT=.as
 EXEEXT=.exe
 PPLEXT=.ppl
@@ -445,24 +438,28 @@ ASMEXT=.asm
 SHAREDLIBEXT=.dll
 endif
 ifeq ($(OS_TARGET),linux)
+BATCHEXT=.sh
 EXEEXT=
 HASSHAREDLIB=1
 FPCMADE=fpcmade.lnx
 ZIPSUFFIX=linux
 endif
 ifeq ($(OS_TARGET),freebsd)
+BATCHEXT=.sh
 EXEEXT=
 HASSHAREDLIB=1
 FPCMADE=fpcmade.freebsd
 ZIPSUFFIX=freebsd
 endif
 ifeq ($(OS_TARGET),netbsd)
+BATCHEXT=.sh
 EXEEXT=
 HASSHAREDLIB=1
 FPCMADE=fpcmade.netbsd
 ZIPSUFFIX=netbsd
 endif
 ifeq ($(OS_TARGET),openbsd)
+BATCHEXT=.sh
 EXEEXT=
 HASSHAREDLIB=1
 FPCMADE=fpcmade.openbsd
@@ -474,6 +471,7 @@ FPCMADE=fpcmade.w32
 ZIPSUFFIX=w32
 endif
 ifeq ($(OS_TARGET),os2)
+BATCHEXT=.cmd
 AOUTEXT=.out
 STATICLIBPREFIX=
 SHAREDLIBEXT=.dll
@@ -482,6 +480,7 @@ ZIPSUFFIX=os2
 ECHO=echo
 endif
 ifeq ($(OS_TARGET),emx)
+BATCHEXT=.cmd
 AOUTEXT=.out
 STATICLIBPREFIX=
 SHAREDLIBEXT=.dll
@@ -499,16 +498,19 @@ EXEEXT=.ttp
 FPCMADE=fpcmade.ata
 endif
 ifeq ($(OS_TARGET),beos)
+BATCHEXT=.sh
 EXEEXT=
 FPCMADE=fpcmade.be
 ZIPSUFFIX=be
 endif
 ifeq ($(OS_TARGET),sunos)
+BATCHEXT=.sh
 EXEEXT=
 FPCMADE=fpcmade.sun
 ZIPSUFFIX=sun
 endif
 ifeq ($(OS_TARGET),qnx)
+BATCHEXT=.sh
 EXEEXT=
 FPCMADE=fpcmade.qnx
 ZIPSUFFIX=qnx
@@ -520,10 +522,14 @@ FPCMADE=fpcmade.nw
 ZIPSUFFIX=nw
 endif
 ifeq ($(OS_TARGET),macos)
+BATCHEXT=
 EXEEXT=
-FPCMADE=fpcmade.mcc
+FPCMADE=fpcmade.macos
+ZIPSUFFIX=macos
+DEBUGSYMEXT=.xcoff
 endif
 ifeq ($(OS_TARGET),darwin)
+BATCHEXT=.sh
 EXEEXT=
 HASSHAREDLIB=1
 FPCMADE=fpcmade.darwin
@@ -552,24 +558,28 @@ FPCMADE=fpcmade.dos
 ZIPSUFFIX=watcom
 endif
 ifeq ($(OS_TARGET),linux)
+BATCHEXT=.sh
 EXEEXT=
 HASSHAREDLIB=1
 FPCMADE=fpcmade.lnx
 ZIPSUFFIX=linux
 endif
 ifeq ($(OS_TARGET),freebsd)
+BATCHEXT=.sh
 EXEEXT=
 HASSHAREDLIB=1
 FPCMADE=fpcmade.freebsd
 ZIPSUFFIX=freebsd
 endif
 ifeq ($(OS_TARGET),netbsd)
+BATCHEXT=.sh
 EXEEXT=
 HASSHAREDLIB=1
 FPCMADE=fpcmade.netbsd
 ZIPSUFFIX=netbsd
 endif
 ifeq ($(OS_TARGET),openbsd)
+BATCHEXT=.sh
 EXEEXT=
 HASSHAREDLIB=1
 FPCMADE=fpcmade.openbsd
@@ -586,6 +596,7 @@ FPCMADE=fpcmade.w32
 ZIPSUFFIX=w32
 endif
 ifeq ($(OS_TARGET),os2)
+BATCHEXT=.cmd
 PPUEXT=.ppo
 ASMEXT=.so2
 OEXT=.oo2
@@ -618,6 +629,7 @@ EXEEXT=.ttp
 FPCMADE=fpcmade.ata
 endif
 ifeq ($(OS_TARGET),beos)
+BATCHEXT=.sh
 PPUEXT=.ppu
 ASMEXT=.s
 OEXT=.o
@@ -628,6 +640,7 @@ FPCMADE=fpcmade.be
 ZIPSUFFIX=be
 endif
 ifeq ($(OS_TARGET),sunos)
+BATCHEXT=.sh
 PPUEXT=.ppu
 ASMEXT=.s
 OEXT=.o
@@ -638,6 +651,7 @@ FPCMADE=fpcmade.sun
 ZIPSUFFIX=sun
 endif
 ifeq ($(OS_TARGET),qnx)
+BATCHEXT=.sh
 PPUEXT=.ppu
 ASMEXT=.s
 OEXT=.o
@@ -660,13 +674,15 @@ ZIPSUFFIX=nw
 EXEEXT=.nlm
 endif
 ifeq ($(OS_TARGET),macos)
+BATCHEXT=
 PPUEXT=.ppu
 ASMEXT=.s
 OEXT=.o
 SMARTEXT=.sl
 STATICLIBEXT=.a
 EXEEXT=
-FPCMADE=fpcmade.mcc
+DEBUGSYMEXT=.xcoff
+FPCMADE=fpcmade.macos
 endif
 endif
 ifndef ECHO
@@ -674,7 +690,7 @@ ECHO:=$(strip $(wildcard $(addsuffix /gecho$(SRCEXEEXT),$(SEARCHPATH))))
 ifeq ($(ECHO),)
 ECHO:=$(strip $(wildcard $(addsuffix /echo$(SRCEXEEXT),$(SEARCHPATH))))
 ifeq ($(ECHO),)
-ECHO=
+ECHO= __missing_command__
 else
 ECHO:=$(firstword $(ECHO))
 endif
@@ -688,7 +704,7 @@ DATE:=$(strip $(wildcard $(addsuffix /gdate$(SRCEXEEXT),$(SEARCHPATH))))
 ifeq ($(DATE),)
 DATE:=$(strip $(wildcard $(addsuffix /date$(SRCEXEEXT),$(SEARCHPATH))))
 ifeq ($(DATE),)
-DATE=
+DATE= __missing_command__
 else
 DATE:=$(firstword $(DATE))
 endif
@@ -702,7 +718,7 @@ GINSTALL:=$(strip $(wildcard $(addsuffix /ginstall$(SRCEXEEXT),$(SEARCHPATH))))
 ifeq ($(GINSTALL),)
 GINSTALL:=$(strip $(wildcard $(addsuffix /install$(SRCEXEEXT),$(SEARCHPATH))))
 ifeq ($(GINSTALL),)
-GINSTALL=
+GINSTALL= __missing_command__
 else
 GINSTALL:=$(firstword $(GINSTALL))
 endif
@@ -714,7 +730,7 @@ export GINSTALL
 ifndef CPPROG
 CPPROG:=$(strip $(wildcard $(addsuffix /cp$(SRCEXEEXT),$(SEARCHPATH))))
 ifeq ($(CPPROG),)
-CPPROG=
+CPPROG= __missing_command__
 else
 CPPROG:=$(firstword $(CPPROG))
 endif
@@ -723,7 +739,7 @@ export CPPROG
 ifndef RMPROG
 RMPROG:=$(strip $(wildcard $(addsuffix /rm$(SRCEXEEXT),$(SEARCHPATH))))
 ifeq ($(RMPROG),)
-RMPROG=
+RMPROG= __missing_command__
 else
 RMPROG:=$(firstword $(RMPROG))
 endif
@@ -732,7 +748,7 @@ export RMPROG
 ifndef MVPROG
 MVPROG:=$(strip $(wildcard $(addsuffix /mv$(SRCEXEEXT),$(SEARCHPATH))))
 ifeq ($(MVPROG),)
-MVPROG=
+MVPROG= __missing_command__
 else
 MVPROG:=$(firstword $(MVPROG))
 endif
@@ -781,7 +797,7 @@ export ECHOREDIR COPY COPYTREE MOVE DEL DELTREE INSTALL INSTALLEXE MKDIR
 ifndef PPUMOVE
 PPUMOVE:=$(strip $(wildcard $(addsuffix /ppumove$(SRCEXEEXT),$(SEARCHPATH))))
 ifeq ($(PPUMOVE),)
-PPUMOVE=
+PPUMOVE= __missing_command__
 else
 PPUMOVE:=$(firstword $(PPUMOVE))
 endif
@@ -790,7 +806,7 @@ export PPUMOVE
 ifndef FPCMAKE
 FPCMAKE:=$(strip $(wildcard $(addsuffix /fpcmake$(SRCEXEEXT),$(SEARCHPATH))))
 ifeq ($(FPCMAKE),)
-FPCMAKE=
+FPCMAKE= __missing_command__
 else
 FPCMAKE:=$(firstword $(FPCMAKE))
 endif
@@ -799,7 +815,7 @@ export FPCMAKE
 ifndef ZIPPROG
 ZIPPROG:=$(strip $(wildcard $(addsuffix /zip$(SRCEXEEXT),$(SEARCHPATH))))
 ifeq ($(ZIPPROG),)
-ZIPPROG=
+ZIPPROG= __missing_command__
 else
 ZIPPROG:=$(firstword $(ZIPPROG))
 endif
@@ -808,7 +824,7 @@ export ZIPPROG
 ifndef TARPROG
 TARPROG:=$(strip $(wildcard $(addsuffix /tar$(SRCEXEEXT),$(SEARCHPATH))))
 ifeq ($(TARPROG),)
-TARPROG=
+TARPROG= __missing_command__
 else
 TARPROG:=$(firstword $(TARPROG))
 endif
@@ -820,9 +836,11 @@ ARNAME=$(BINUTILSPREFIX)ar
 RCNAME=$(BINUTILSPREFIX)rc
 ifneq ($(findstring 1.0.,$(FPC_VERSION)),)
 ifeq ($(OS_TARGET),win32)
-ASNAME=as
-LDNAME=ld
-ARNAME=ar
+ifeq ($(CROSSBINDIR),)
+ASNAME=asw
+LDNAME=ldw
+ARNAME=arw
+endif
 endif
 endif
 ifndef ASPROG
@@ -857,7 +875,7 @@ AS=$(ASPROG)
 LD=$(LDPROG)
 RC=$(RCPROG)
 AR=$(ARPROG)
-PPAS=ppas$(BATCHEXT)
+PPAS=ppas$(SRCBATCHEXT)
 ifdef inUnix
 LDCONFIG=ldconfig
 else
@@ -1116,8 +1134,12 @@ ifdef RELEASE
 ifeq ($(CPU_TARGET),i386)
 FPCCPUOPT:=-OG2p3
 else
+ifeq ($(CPU_TARGET),powerpc)
+FPCCPUOPT:=-O1
+else
 FPCCPUOPT:=
 endif
+endif
 override FPCOPT+=-Xs $(FPCCPUOPT) -n
 override FPCOPTDEF+=RELEASE
 endif
@@ -1361,7 +1383,7 @@ USEZIPWRAPPER=1
 endif
 ifdef USEZIPWRAPPER
 ZIPPATHSEP=$(PATHSEP)
-ZIPWRAPPER=$(subst /,$(PATHSEP),$(DIST_DESTDIR)/fpczip$(BATCHEXT))
+ZIPWRAPPER=$(subst /,$(PATHSEP),$(DIST_DESTDIR)/fpczip$(SRCBATCHEXT))
 else
 ZIPPATHSEP=/
 endif
@@ -1415,6 +1437,9 @@ override CLEANPPUFILES+=$(addsuffix $(PPUEXT),$(CLEAN_UNITS))
 endif
 ifdef 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 CLEANPPULINKFILES:=$(wildcard $(addprefix $(UNITTARGETDIRPREFIX),$(CLEANPPULINKFILES)))
 endif
@@ -1438,6 +1463,7 @@ ifdef LIB_NAME
 	-$(DEL) $(LIB_NAME) $(LIB_FULLNAME)
 endif
 	-$(DEL) $(FPCMADE) Package.fpc $(PPAS) script.res link.res $(FPCEXTFILE) $(REDIRFILE)
+	-$(DEL) *$(ASMEXT) *_ppas$(BATCHEXT)
 fpc_distclean: clean
 ifdef COMPILER_UNITTARGETDIR
 TARGETDIRCLEAN=fpc_clean
@@ -1449,9 +1475,13 @@ endif
 	-$(DEL) *$(OEXT) *$(PPUEXT) *$(RSTEXT) *$(ASMEXT) *$(STATICLIBEXT) *$(SHAREDLIBEXT) *$(PPLEXT)
 	-$(DELTREE) *$(SMARTEXT)
 	-$(DEL) $(FPCMADE) Package.fpc $(PPAS) script.res link.res $(FPCEXTFILE) $(REDIRFILE)
+	-$(DEL) *_ppas$(BATCHEXT)
 ifdef AOUTEXT
 	-$(DEL) *$(AOUTEXT)
 endif
+ifdef DEBUGSYMEXT
+	-$(DEL) *$(DEBUGSYMEXT)
+endif
 .PHONY: fpc_baseinfo
 override INFORULES+=fpc_baseinfo
 fpc_baseinfo:

+ 100 - 70
packages/extra/rexx/test/Makefile

@@ -1,15 +1,24 @@
 #
-# Don't edit, this file is generated by FPCMake Version 1.1 [2004/02/22]
+# Don't edit, this file is generated by FPCMake Version 1.1 [2004/04/21]
 #
 default: all
 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:=$(subst \,/,$(PATH))
+ifneq ($(findstring darwin,$(OSTYPE)),)
+inUnix=1 #darwin
+SEARCHPATH:=$(filter-out .,$(subst :, ,$(PATH)))
+else
 ifeq ($(findstring ;,$(PATH)),)
 inUnix=1
 SEARCHPATH:=$(filter-out .,$(subst :, ,$(PATH)))
 else
 SEARCHPATH:=$(subst ;, ,$(PATH))
 endif
+endif
 SEARCHPATH+=$(patsubst %/,%,$(subst \,/,$(dir $(MAKE))))
 PWD:=$(strip $(wildcard $(addsuffix /pwd.exe,$(SEARCHPATH))))
 ifeq ($(PWD),)
@@ -37,22 +46,13 @@ ifneq ($(findstring cygdrive,$(PATH)),)
 inCygWin=1
 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
-BATCHEXT=.sh
+SRCBATCHEXT=.sh
 else
 ifdef inOS2
-BATCHEXT=.cmd
+SRCBATCHEXT=.cmd
 else
-BATCHEXT=.bat
+SRCBATCHEXT=.bat
 endif
 endif
 ifdef inUnix
@@ -155,6 +155,12 @@ ifeq ($(findstring $(OS_TARGET),$(MAKEFILETARGETS)),)
 $(error The Makefile doesn't support target $(OS_TARGET), please run fpcmake first)
 endif
 endif
+ifneq ($(findstring $(OS_TARGET),$(BSDs)),)
+BSDhier=1
+endif
+ifeq ($(OS_TARGET),linux)
+linuxHier=1
+endif
 export OS_TARGET OS_SOURCE CPU_TARGET CPU_SOURCE FULL_TARGET FULL_SOURCE CROSSCOMPILE
 ifdef FPCDIR
 override FPCDIR:=$(subst \,/,$(FPCDIR))
@@ -216,42 +222,12 @@ 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
-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
 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
 ifndef INSTALL_PREFIX
@@ -260,7 +236,7 @@ INSTALL_PREFIX=$(PREFIX)
 endif
 endif
 ifndef INSTALL_PREFIX
-ifdef UNIXINSTALLDIR
+ifdef UNIXHier
 INSTALL_PREFIX=/usr/local
 else
 ifdef INSTALL_FPCPACKAGE
@@ -279,7 +255,7 @@ DIST_DESTDIR:=$(BASEDIR)
 endif
 export DIST_DESTDIR
 ifndef INSTALL_BASEDIR
-ifdef UNIXINSTALLDIR
+ifdef UNIXHier
 ifdef INSTALL_FPCPACKAGE
 INSTALL_BASEDIR:=$(INSTALL_PREFIX)/lib/fpc/$(FPC_VERSION)
 else
@@ -290,7 +266,7 @@ INSTALL_BASEDIR:=$(INSTALL_PREFIX)
 endif
 endif
 ifndef INSTALL_BINDIR
-ifdef UNIXINSTALLDIR
+ifdef UNIXHier
 ifdef CROSSCOMPILE
 INSTALL_BINDIR:=$(INSTALL_BASEDIR)/cross/$(FULL_TARGET)/bin
 else
@@ -320,19 +296,23 @@ endif
 endif
 endif
 ifndef INSTALL_LIBDIR
-ifdef UNIXINSTALLDIR
+ifdef UNIXHier
 INSTALL_LIBDIR:=$(INSTALL_PREFIX)/lib
 else
 INSTALL_LIBDIR:=$(INSTALL_UNITDIR)
 endif
 endif
 ifndef INSTALL_SOURCEDIR
-ifdef UNIXINSTALLDIR
+ifdef UNIXHier
 ifdef BSDhier
 SRCPREFIXDIR=share/src
 else
+ifdef linuxHier
+SRCPREFIXDIR=share/src
+else
 SRCPREFIXDIR=src
 endif
+endif
 ifdef INSTALL_FPCPACKAGE
 ifdef INSTALL_FPCSUBDIR
 INSTALL_SOURCEDIR:=$(INSTALL_PREFIX)/$(SRCPREFIXDIR)/fpc-$(FPC_VERSION)/$(INSTALL_FPCSUBDIR)/$(PACKAGE_NAME)
@@ -355,12 +335,16 @@ endif
 endif
 endif
 ifndef INSTALL_DOCDIR
-ifdef UNIXINSTALLDIR
+ifdef UNIXHier
 ifdef BSDhier
 DOCPREFIXDIR=share/doc
 else
+ifdef linuxHier
+DOCPREFIXDIR=share/doc
+else
 DOCPREFIXDIR=doc
 endif
+endif
 ifdef INSTALL_FPCPACKAGE
 INSTALL_DOCDIR:=$(INSTALL_PREFIX)/$(DOCPREFIXDIR)/fpc-$(FPC_VERSION)/$(PACKAGE_NAME)
 else
@@ -375,20 +359,28 @@ endif
 endif
 endif
 ifndef INSTALL_EXAMPLEDIR
-ifdef UNIXINSTALLDIR
+ifdef UNIXHier
 ifdef INSTALL_FPCPACKAGE
 ifdef BSDhier
 INSTALL_EXAMPLEDIR:=$(INSTALL_PREFIX)/share/examples/fpc-$(FPC_VERSION)/$(PACKAGE_NAME)
 else
+ifdef linuxHier
+INSTALL_EXAMPLEDIR:=$(INSTALL_DOCDIR)/examples/fpc-$(FPC_VERSION)/$(PACKAGE_NAME)
+else
 INSTALL_EXAMPLEDIR:=$(INSTALL_PREFIX)/doc/fpc-$(FPC_VERSION)/examples/$(PACKAGE_NAME)
 endif
+endif
 else
 ifdef BSDhier
 INSTALL_EXAMPLEDIR:=$(INSTALL_PREFIX)/share/examples/$(PACKAGE_NAME)-$(PACKAGE_VERSION)
 else
+ifdef linuxHier
+INSTALL_EXAMPLEDIR:=$(INSTALL_DOCDIR)/examples/$(PACKAGE_NAME)-$(PACKAGE_VERSION)
+else
 INSTALL_EXAMPLEDIR:=$(INSTALL_PREFIX)/doc/$(PACKAGE_NAME)-$(PACKAGE_VERSION)
 endif
 endif
+endif
 else
 ifdef INSTALL_FPCPACKAGE
 INSTALL_EXAMPLEDIR:=$(INSTALL_BASEDIR)/examples/$(PACKAGE_NAME)
@@ -410,6 +402,7 @@ endif
 else
 CROSSBINDIR=
 endif
+BATCHEXT=.bat
 LOADEREXT=.as
 EXEEXT=.exe
 PPLEXT=.ppl
@@ -442,24 +435,28 @@ ASMEXT=.asm
 SHAREDLIBEXT=.dll
 endif
 ifeq ($(OS_TARGET),linux)
+BATCHEXT=.sh
 EXEEXT=
 HASSHAREDLIB=1
 FPCMADE=fpcmade.lnx
 ZIPSUFFIX=linux
 endif
 ifeq ($(OS_TARGET),freebsd)
+BATCHEXT=.sh
 EXEEXT=
 HASSHAREDLIB=1
 FPCMADE=fpcmade.freebsd
 ZIPSUFFIX=freebsd
 endif
 ifeq ($(OS_TARGET),netbsd)
+BATCHEXT=.sh
 EXEEXT=
 HASSHAREDLIB=1
 FPCMADE=fpcmade.netbsd
 ZIPSUFFIX=netbsd
 endif
 ifeq ($(OS_TARGET),openbsd)
+BATCHEXT=.sh
 EXEEXT=
 HASSHAREDLIB=1
 FPCMADE=fpcmade.openbsd
@@ -471,6 +468,7 @@ FPCMADE=fpcmade.w32
 ZIPSUFFIX=w32
 endif
 ifeq ($(OS_TARGET),os2)
+BATCHEXT=.cmd
 AOUTEXT=.out
 STATICLIBPREFIX=
 SHAREDLIBEXT=.dll
@@ -479,6 +477,7 @@ ZIPSUFFIX=os2
 ECHO=echo
 endif
 ifeq ($(OS_TARGET),emx)
+BATCHEXT=.cmd
 AOUTEXT=.out
 STATICLIBPREFIX=
 SHAREDLIBEXT=.dll
@@ -496,16 +495,19 @@ EXEEXT=.ttp
 FPCMADE=fpcmade.ata
 endif
 ifeq ($(OS_TARGET),beos)
+BATCHEXT=.sh
 EXEEXT=
 FPCMADE=fpcmade.be
 ZIPSUFFIX=be
 endif
 ifeq ($(OS_TARGET),sunos)
+BATCHEXT=.sh
 EXEEXT=
 FPCMADE=fpcmade.sun
 ZIPSUFFIX=sun
 endif
 ifeq ($(OS_TARGET),qnx)
+BATCHEXT=.sh
 EXEEXT=
 FPCMADE=fpcmade.qnx
 ZIPSUFFIX=qnx
@@ -517,10 +519,14 @@ FPCMADE=fpcmade.nw
 ZIPSUFFIX=nw
 endif
 ifeq ($(OS_TARGET),macos)
+BATCHEXT=
 EXEEXT=
-FPCMADE=fpcmade.mcc
+FPCMADE=fpcmade.macos
+ZIPSUFFIX=macos
+DEBUGSYMEXT=.xcoff
 endif
 ifeq ($(OS_TARGET),darwin)
+BATCHEXT=.sh
 EXEEXT=
 HASSHAREDLIB=1
 FPCMADE=fpcmade.darwin
@@ -549,24 +555,28 @@ FPCMADE=fpcmade.dos
 ZIPSUFFIX=watcom
 endif
 ifeq ($(OS_TARGET),linux)
+BATCHEXT=.sh
 EXEEXT=
 HASSHAREDLIB=1
 FPCMADE=fpcmade.lnx
 ZIPSUFFIX=linux
 endif
 ifeq ($(OS_TARGET),freebsd)
+BATCHEXT=.sh
 EXEEXT=
 HASSHAREDLIB=1
 FPCMADE=fpcmade.freebsd
 ZIPSUFFIX=freebsd
 endif
 ifeq ($(OS_TARGET),netbsd)
+BATCHEXT=.sh
 EXEEXT=
 HASSHAREDLIB=1
 FPCMADE=fpcmade.netbsd
 ZIPSUFFIX=netbsd
 endif
 ifeq ($(OS_TARGET),openbsd)
+BATCHEXT=.sh
 EXEEXT=
 HASSHAREDLIB=1
 FPCMADE=fpcmade.openbsd
@@ -583,6 +593,7 @@ FPCMADE=fpcmade.w32
 ZIPSUFFIX=w32
 endif
 ifeq ($(OS_TARGET),os2)
+BATCHEXT=.cmd
 PPUEXT=.ppo
 ASMEXT=.so2
 OEXT=.oo2
@@ -615,6 +626,7 @@ EXEEXT=.ttp
 FPCMADE=fpcmade.ata
 endif
 ifeq ($(OS_TARGET),beos)
+BATCHEXT=.sh
 PPUEXT=.ppu
 ASMEXT=.s
 OEXT=.o
@@ -625,6 +637,7 @@ FPCMADE=fpcmade.be
 ZIPSUFFIX=be
 endif
 ifeq ($(OS_TARGET),sunos)
+BATCHEXT=.sh
 PPUEXT=.ppu
 ASMEXT=.s
 OEXT=.o
@@ -635,6 +648,7 @@ FPCMADE=fpcmade.sun
 ZIPSUFFIX=sun
 endif
 ifeq ($(OS_TARGET),qnx)
+BATCHEXT=.sh
 PPUEXT=.ppu
 ASMEXT=.s
 OEXT=.o
@@ -657,13 +671,15 @@ ZIPSUFFIX=nw
 EXEEXT=.nlm
 endif
 ifeq ($(OS_TARGET),macos)
+BATCHEXT=
 PPUEXT=.ppu
 ASMEXT=.s
 OEXT=.o
 SMARTEXT=.sl
 STATICLIBEXT=.a
 EXEEXT=
-FPCMADE=fpcmade.mcc
+DEBUGSYMEXT=.xcoff
+FPCMADE=fpcmade.macos
 endif
 endif
 ifndef ECHO
@@ -671,7 +687,7 @@ ECHO:=$(strip $(wildcard $(addsuffix /gecho$(SRCEXEEXT),$(SEARCHPATH))))
 ifeq ($(ECHO),)
 ECHO:=$(strip $(wildcard $(addsuffix /echo$(SRCEXEEXT),$(SEARCHPATH))))
 ifeq ($(ECHO),)
-ECHO=
+ECHO= __missing_command__
 else
 ECHO:=$(firstword $(ECHO))
 endif
@@ -685,7 +701,7 @@ DATE:=$(strip $(wildcard $(addsuffix /gdate$(SRCEXEEXT),$(SEARCHPATH))))
 ifeq ($(DATE),)
 DATE:=$(strip $(wildcard $(addsuffix /date$(SRCEXEEXT),$(SEARCHPATH))))
 ifeq ($(DATE),)
-DATE=
+DATE= __missing_command__
 else
 DATE:=$(firstword $(DATE))
 endif
@@ -699,7 +715,7 @@ GINSTALL:=$(strip $(wildcard $(addsuffix /ginstall$(SRCEXEEXT),$(SEARCHPATH))))
 ifeq ($(GINSTALL),)
 GINSTALL:=$(strip $(wildcard $(addsuffix /install$(SRCEXEEXT),$(SEARCHPATH))))
 ifeq ($(GINSTALL),)
-GINSTALL=
+GINSTALL= __missing_command__
 else
 GINSTALL:=$(firstword $(GINSTALL))
 endif
@@ -711,7 +727,7 @@ export GINSTALL
 ifndef CPPROG
 CPPROG:=$(strip $(wildcard $(addsuffix /cp$(SRCEXEEXT),$(SEARCHPATH))))
 ifeq ($(CPPROG),)
-CPPROG=
+CPPROG= __missing_command__
 else
 CPPROG:=$(firstword $(CPPROG))
 endif
@@ -720,7 +736,7 @@ export CPPROG
 ifndef RMPROG
 RMPROG:=$(strip $(wildcard $(addsuffix /rm$(SRCEXEEXT),$(SEARCHPATH))))
 ifeq ($(RMPROG),)
-RMPROG=
+RMPROG= __missing_command__
 else
 RMPROG:=$(firstword $(RMPROG))
 endif
@@ -729,7 +745,7 @@ export RMPROG
 ifndef MVPROG
 MVPROG:=$(strip $(wildcard $(addsuffix /mv$(SRCEXEEXT),$(SEARCHPATH))))
 ifeq ($(MVPROG),)
-MVPROG=
+MVPROG= __missing_command__
 else
 MVPROG:=$(firstword $(MVPROG))
 endif
@@ -778,7 +794,7 @@ export ECHOREDIR COPY COPYTREE MOVE DEL DELTREE INSTALL INSTALLEXE MKDIR
 ifndef PPUMOVE
 PPUMOVE:=$(strip $(wildcard $(addsuffix /ppumove$(SRCEXEEXT),$(SEARCHPATH))))
 ifeq ($(PPUMOVE),)
-PPUMOVE=
+PPUMOVE= __missing_command__
 else
 PPUMOVE:=$(firstword $(PPUMOVE))
 endif
@@ -787,7 +803,7 @@ export PPUMOVE
 ifndef FPCMAKE
 FPCMAKE:=$(strip $(wildcard $(addsuffix /fpcmake$(SRCEXEEXT),$(SEARCHPATH))))
 ifeq ($(FPCMAKE),)
-FPCMAKE=
+FPCMAKE= __missing_command__
 else
 FPCMAKE:=$(firstword $(FPCMAKE))
 endif
@@ -796,7 +812,7 @@ export FPCMAKE
 ifndef ZIPPROG
 ZIPPROG:=$(strip $(wildcard $(addsuffix /zip$(SRCEXEEXT),$(SEARCHPATH))))
 ifeq ($(ZIPPROG),)
-ZIPPROG=
+ZIPPROG= __missing_command__
 else
 ZIPPROG:=$(firstword $(ZIPPROG))
 endif
@@ -805,7 +821,7 @@ export ZIPPROG
 ifndef TARPROG
 TARPROG:=$(strip $(wildcard $(addsuffix /tar$(SRCEXEEXT),$(SEARCHPATH))))
 ifeq ($(TARPROG),)
-TARPROG=
+TARPROG= __missing_command__
 else
 TARPROG:=$(firstword $(TARPROG))
 endif
@@ -817,9 +833,11 @@ ARNAME=$(BINUTILSPREFIX)ar
 RCNAME=$(BINUTILSPREFIX)rc
 ifneq ($(findstring 1.0.,$(FPC_VERSION)),)
 ifeq ($(OS_TARGET),win32)
-ASNAME=as
-LDNAME=ld
-ARNAME=ar
+ifeq ($(CROSSBINDIR),)
+ASNAME=asw
+LDNAME=ldw
+ARNAME=arw
+endif
 endif
 endif
 ifndef ASPROG
@@ -854,7 +872,7 @@ AS=$(ASPROG)
 LD=$(LDPROG)
 RC=$(RCPROG)
 AR=$(ARPROG)
-PPAS=ppas$(BATCHEXT)
+PPAS=ppas$(SRCBATCHEXT)
 ifdef inUnix
 LDCONFIG=ldconfig
 else
@@ -1169,8 +1187,12 @@ ifdef RELEASE
 ifeq ($(CPU_TARGET),i386)
 FPCCPUOPT:=-OG2p3
 else
+ifeq ($(CPU_TARGET),powerpc)
+FPCCPUOPT:=-O1
+else
 FPCCPUOPT:=
 endif
+endif
 override FPCOPT+=-Xs $(FPCCPUOPT) -n
 override FPCOPTDEF+=RELEASE
 endif
@@ -1377,6 +1399,9 @@ override CLEANPPUFILES+=$(addsuffix $(PPUEXT),$(CLEAN_UNITS))
 endif
 ifdef 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 CLEANPPULINKFILES:=$(wildcard $(addprefix $(UNITTARGETDIRPREFIX),$(CLEANPPULINKFILES)))
 endif
@@ -1400,6 +1425,7 @@ ifdef LIB_NAME
 	-$(DEL) $(LIB_NAME) $(LIB_FULLNAME)
 endif
 	-$(DEL) $(FPCMADE) Package.fpc $(PPAS) script.res link.res $(FPCEXTFILE) $(REDIRFILE)
+	-$(DEL) *$(ASMEXT) *_ppas$(BATCHEXT)
 fpc_distclean: clean
 ifdef COMPILER_UNITTARGETDIR
 TARGETDIRCLEAN=fpc_clean
@@ -1411,9 +1437,13 @@ endif
 	-$(DEL) *$(OEXT) *$(PPUEXT) *$(RSTEXT) *$(ASMEXT) *$(STATICLIBEXT) *$(SHAREDLIBEXT) *$(PPLEXT)
 	-$(DELTREE) *$(SMARTEXT)
 	-$(DEL) $(FPCMADE) Package.fpc $(PPAS) script.res link.res $(FPCEXTFILE) $(REDIRFILE)
+	-$(DEL) *_ppas$(BATCHEXT)
 ifdef AOUTEXT
 	-$(DEL) *$(AOUTEXT)
 endif
+ifdef DEBUGSYMEXT
+	-$(DEL) *$(DEBUGSYMEXT)
+endif
 .PHONY: fpc_baseinfo
 override INFORULES+=fpc_baseinfo
 fpc_baseinfo:

+ 122 - 72
packages/extra/sndfile/Makefile

@@ -1,15 +1,24 @@
 #
-# Don't edit, this file is generated by FPCMake Version 1.1 [2004/01/05]
+# Don't edit, this file is generated by FPCMake Version 1.1 [2004/04/21]
 #
 default: all
 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:=$(subst \,/,$(PATH))
+ifneq ($(findstring darwin,$(OSTYPE)),)
+inUnix=1 #darwin
+SEARCHPATH:=$(filter-out .,$(subst :, ,$(PATH)))
+else
 ifeq ($(findstring ;,$(PATH)),)
 inUnix=1
 SEARCHPATH:=$(filter-out .,$(subst :, ,$(PATH)))
 else
 SEARCHPATH:=$(subst ;, ,$(PATH))
 endif
+endif
 SEARCHPATH+=$(patsubst %/,%,$(subst \,/,$(dir $(MAKE))))
 PWD:=$(strip $(wildcard $(addsuffix /pwd.exe,$(SEARCHPATH))))
 ifeq ($(PWD),)
@@ -37,22 +46,13 @@ ifneq ($(findstring cygdrive,$(PATH)),)
 inCygWin=1
 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
-BATCHEXT=.sh
+SRCBATCHEXT=.sh
 else
 ifdef inOS2
-BATCHEXT=.cmd
+SRCBATCHEXT=.cmd
 else
-BATCHEXT=.bat
+SRCBATCHEXT=.bat
 endif
 endif
 ifdef inUnix
@@ -155,6 +155,12 @@ ifeq ($(findstring $(OS_TARGET),$(MAKEFILETARGETS)),)
 $(error The Makefile doesn't support target $(OS_TARGET), please run fpcmake first)
 endif
 endif
+ifneq ($(findstring $(OS_TARGET),$(BSDs)),)
+BSDhier=1
+endif
+ifeq ($(OS_TARGET),linux)
+linuxHier=1
+endif
 export OS_TARGET OS_SOURCE CPU_TARGET CPU_SOURCE FULL_TARGET FULL_SOURCE CROSSCOMPILE
 ifdef FPCDIR
 override FPCDIR:=$(subst \,/,$(FPCDIR))
@@ -184,11 +190,14 @@ override FPCDIR:=$(FPCDIR)/..
 ifeq ($(wildcard $(addprefix $(FPCDIR)/,rtl units)),)
 override FPCDIR:=$(FPCDIR)/..
 ifeq ($(wildcard $(addprefix $(FPCDIR)/,rtl units)),)
+override FPCDIR:=$(BASEDIR)
+ifeq ($(wildcard $(addprefix $(FPCDIR)/,rtl units)),)
 override FPCDIR=c:/pp
 endif
 endif
 endif
 endif
+endif
 ifndef CROSSDIR
 CROSSDIR:=$(FPCDIR)/cross/$(FULL_TARGET)
 endif
@@ -217,42 +226,12 @@ 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
-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
 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
 ifndef INSTALL_PREFIX
@@ -261,7 +240,7 @@ INSTALL_PREFIX=$(PREFIX)
 endif
 endif
 ifndef INSTALL_PREFIX
-ifdef UNIXINSTALLDIR
+ifdef UNIXHier
 INSTALL_PREFIX=/usr/local
 else
 ifdef INSTALL_FPCPACKAGE
@@ -280,7 +259,7 @@ DIST_DESTDIR:=$(BASEDIR)
 endif
 export DIST_DESTDIR
 ifndef INSTALL_BASEDIR
-ifdef UNIXINSTALLDIR
+ifdef UNIXHier
 ifdef INSTALL_FPCPACKAGE
 INSTALL_BASEDIR:=$(INSTALL_PREFIX)/lib/fpc/$(FPC_VERSION)
 else
@@ -291,7 +270,7 @@ INSTALL_BASEDIR:=$(INSTALL_PREFIX)
 endif
 endif
 ifndef INSTALL_BINDIR
-ifdef UNIXINSTALLDIR
+ifdef UNIXHier
 ifdef CROSSCOMPILE
 INSTALL_BINDIR:=$(INSTALL_BASEDIR)/cross/$(FULL_TARGET)/bin
 else
@@ -321,19 +300,23 @@ endif
 endif
 endif
 ifndef INSTALL_LIBDIR
-ifdef UNIXINSTALLDIR
+ifdef UNIXHier
 INSTALL_LIBDIR:=$(INSTALL_PREFIX)/lib
 else
 INSTALL_LIBDIR:=$(INSTALL_UNITDIR)
 endif
 endif
 ifndef INSTALL_SOURCEDIR
-ifdef UNIXINSTALLDIR
+ifdef UNIXHier
 ifdef BSDhier
 SRCPREFIXDIR=share/src
 else
+ifdef linuxHier
+SRCPREFIXDIR=share/src
+else
 SRCPREFIXDIR=src
 endif
+endif
 ifdef INSTALL_FPCPACKAGE
 ifdef INSTALL_FPCSUBDIR
 INSTALL_SOURCEDIR:=$(INSTALL_PREFIX)/$(SRCPREFIXDIR)/fpc-$(FPC_VERSION)/$(INSTALL_FPCSUBDIR)/$(PACKAGE_NAME)
@@ -356,12 +339,16 @@ endif
 endif
 endif
 ifndef INSTALL_DOCDIR
-ifdef UNIXINSTALLDIR
+ifdef UNIXHier
 ifdef BSDhier
 DOCPREFIXDIR=share/doc
 else
+ifdef linuxHier
+DOCPREFIXDIR=share/doc
+else
 DOCPREFIXDIR=doc
 endif
+endif
 ifdef INSTALL_FPCPACKAGE
 INSTALL_DOCDIR:=$(INSTALL_PREFIX)/$(DOCPREFIXDIR)/fpc-$(FPC_VERSION)/$(PACKAGE_NAME)
 else
@@ -376,20 +363,28 @@ endif
 endif
 endif
 ifndef INSTALL_EXAMPLEDIR
-ifdef UNIXINSTALLDIR
+ifdef UNIXHier
 ifdef INSTALL_FPCPACKAGE
 ifdef BSDhier
 INSTALL_EXAMPLEDIR:=$(INSTALL_PREFIX)/share/examples/fpc-$(FPC_VERSION)/$(PACKAGE_NAME)
 else
+ifdef linuxHier
+INSTALL_EXAMPLEDIR:=$(INSTALL_DOCDIR)/examples/fpc-$(FPC_VERSION)/$(PACKAGE_NAME)
+else
 INSTALL_EXAMPLEDIR:=$(INSTALL_PREFIX)/doc/fpc-$(FPC_VERSION)/examples/$(PACKAGE_NAME)
 endif
+endif
 else
 ifdef BSDhier
 INSTALL_EXAMPLEDIR:=$(INSTALL_PREFIX)/share/examples/$(PACKAGE_NAME)-$(PACKAGE_VERSION)
 else
+ifdef linuxHier
+INSTALL_EXAMPLEDIR:=$(INSTALL_DOCDIR)/examples/$(PACKAGE_NAME)-$(PACKAGE_VERSION)
+else
 INSTALL_EXAMPLEDIR:=$(INSTALL_PREFIX)/doc/$(PACKAGE_NAME)-$(PACKAGE_VERSION)
 endif
 endif
+endif
 else
 ifdef INSTALL_FPCPACKAGE
 INSTALL_EXAMPLEDIR:=$(INSTALL_BASEDIR)/examples/$(PACKAGE_NAME)
@@ -413,7 +408,19 @@ CROSSBINDIR=
 endif
 ifeq ($(OS_SOURCE),linux)
 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
 ifndef OTHERLIBDIR
 OTHERLIBDIR:=$(shell grep -v "^\#" /etc/ld.so.conf | awk '{ ORS=" "; print $1 }')
@@ -425,6 +432,7 @@ OTHERLIBDIR+=/usr/pkg/lib
 endif
 export GCCLIBDIR OTHERLIB
 endif
+BATCHEXT=.bat
 LOADEREXT=.as
 EXEEXT=.exe
 PPLEXT=.ppl
@@ -457,24 +465,28 @@ ASMEXT=.asm
 SHAREDLIBEXT=.dll
 endif
 ifeq ($(OS_TARGET),linux)
+BATCHEXT=.sh
 EXEEXT=
 HASSHAREDLIB=1
 FPCMADE=fpcmade.lnx
 ZIPSUFFIX=linux
 endif
 ifeq ($(OS_TARGET),freebsd)
+BATCHEXT=.sh
 EXEEXT=
 HASSHAREDLIB=1
 FPCMADE=fpcmade.freebsd
 ZIPSUFFIX=freebsd
 endif
 ifeq ($(OS_TARGET),netbsd)
+BATCHEXT=.sh
 EXEEXT=
 HASSHAREDLIB=1
 FPCMADE=fpcmade.netbsd
 ZIPSUFFIX=netbsd
 endif
 ifeq ($(OS_TARGET),openbsd)
+BATCHEXT=.sh
 EXEEXT=
 HASSHAREDLIB=1
 FPCMADE=fpcmade.openbsd
@@ -486,6 +498,7 @@ FPCMADE=fpcmade.w32
 ZIPSUFFIX=w32
 endif
 ifeq ($(OS_TARGET),os2)
+BATCHEXT=.cmd
 AOUTEXT=.out
 STATICLIBPREFIX=
 SHAREDLIBEXT=.dll
@@ -494,6 +507,7 @@ ZIPSUFFIX=os2
 ECHO=echo
 endif
 ifeq ($(OS_TARGET),emx)
+BATCHEXT=.cmd
 AOUTEXT=.out
 STATICLIBPREFIX=
 SHAREDLIBEXT=.dll
@@ -511,16 +525,19 @@ EXEEXT=.ttp
 FPCMADE=fpcmade.ata
 endif
 ifeq ($(OS_TARGET),beos)
+BATCHEXT=.sh
 EXEEXT=
 FPCMADE=fpcmade.be
 ZIPSUFFIX=be
 endif
 ifeq ($(OS_TARGET),sunos)
+BATCHEXT=.sh
 EXEEXT=
 FPCMADE=fpcmade.sun
 ZIPSUFFIX=sun
 endif
 ifeq ($(OS_TARGET),qnx)
+BATCHEXT=.sh
 EXEEXT=
 FPCMADE=fpcmade.qnx
 ZIPSUFFIX=qnx
@@ -532,10 +549,14 @@ FPCMADE=fpcmade.nw
 ZIPSUFFIX=nw
 endif
 ifeq ($(OS_TARGET),macos)
+BATCHEXT=
 EXEEXT=
-FPCMADE=fpcmade.mcc
+FPCMADE=fpcmade.macos
+ZIPSUFFIX=macos
+DEBUGSYMEXT=.xcoff
 endif
 ifeq ($(OS_TARGET),darwin)
+BATCHEXT=.sh
 EXEEXT=
 HASSHAREDLIB=1
 FPCMADE=fpcmade.darwin
@@ -564,24 +585,28 @@ FPCMADE=fpcmade.dos
 ZIPSUFFIX=watcom
 endif
 ifeq ($(OS_TARGET),linux)
+BATCHEXT=.sh
 EXEEXT=
 HASSHAREDLIB=1
 FPCMADE=fpcmade.lnx
 ZIPSUFFIX=linux
 endif
 ifeq ($(OS_TARGET),freebsd)
+BATCHEXT=.sh
 EXEEXT=
 HASSHAREDLIB=1
 FPCMADE=fpcmade.freebsd
 ZIPSUFFIX=freebsd
 endif
 ifeq ($(OS_TARGET),netbsd)
+BATCHEXT=.sh
 EXEEXT=
 HASSHAREDLIB=1
 FPCMADE=fpcmade.netbsd
 ZIPSUFFIX=netbsd
 endif
 ifeq ($(OS_TARGET),openbsd)
+BATCHEXT=.sh
 EXEEXT=
 HASSHAREDLIB=1
 FPCMADE=fpcmade.openbsd
@@ -598,6 +623,7 @@ FPCMADE=fpcmade.w32
 ZIPSUFFIX=w32
 endif
 ifeq ($(OS_TARGET),os2)
+BATCHEXT=.cmd
 PPUEXT=.ppo
 ASMEXT=.so2
 OEXT=.oo2
@@ -630,6 +656,7 @@ EXEEXT=.ttp
 FPCMADE=fpcmade.ata
 endif
 ifeq ($(OS_TARGET),beos)
+BATCHEXT=.sh
 PPUEXT=.ppu
 ASMEXT=.s
 OEXT=.o
@@ -640,6 +667,7 @@ FPCMADE=fpcmade.be
 ZIPSUFFIX=be
 endif
 ifeq ($(OS_TARGET),sunos)
+BATCHEXT=.sh
 PPUEXT=.ppu
 ASMEXT=.s
 OEXT=.o
@@ -650,6 +678,7 @@ FPCMADE=fpcmade.sun
 ZIPSUFFIX=sun
 endif
 ifeq ($(OS_TARGET),qnx)
+BATCHEXT=.sh
 PPUEXT=.ppu
 ASMEXT=.s
 OEXT=.o
@@ -672,13 +701,15 @@ ZIPSUFFIX=nw
 EXEEXT=.nlm
 endif
 ifeq ($(OS_TARGET),macos)
+BATCHEXT=
 PPUEXT=.ppu
 ASMEXT=.s
 OEXT=.o
 SMARTEXT=.sl
 STATICLIBEXT=.a
 EXEEXT=
-FPCMADE=fpcmade.mcc
+DEBUGSYMEXT=.xcoff
+FPCMADE=fpcmade.macos
 endif
 endif
 ifndef ECHO
@@ -686,7 +717,7 @@ ECHO:=$(strip $(wildcard $(addsuffix /gecho$(SRCEXEEXT),$(SEARCHPATH))))
 ifeq ($(ECHO),)
 ECHO:=$(strip $(wildcard $(addsuffix /echo$(SRCEXEEXT),$(SEARCHPATH))))
 ifeq ($(ECHO),)
-ECHO=
+ECHO= __missing_command__
 else
 ECHO:=$(firstword $(ECHO))
 endif
@@ -700,7 +731,7 @@ DATE:=$(strip $(wildcard $(addsuffix /gdate$(SRCEXEEXT),$(SEARCHPATH))))
 ifeq ($(DATE),)
 DATE:=$(strip $(wildcard $(addsuffix /date$(SRCEXEEXT),$(SEARCHPATH))))
 ifeq ($(DATE),)
-DATE=
+DATE= __missing_command__
 else
 DATE:=$(firstword $(DATE))
 endif
@@ -714,7 +745,7 @@ GINSTALL:=$(strip $(wildcard $(addsuffix /ginstall$(SRCEXEEXT),$(SEARCHPATH))))
 ifeq ($(GINSTALL),)
 GINSTALL:=$(strip $(wildcard $(addsuffix /install$(SRCEXEEXT),$(SEARCHPATH))))
 ifeq ($(GINSTALL),)
-GINSTALL=
+GINSTALL= __missing_command__
 else
 GINSTALL:=$(firstword $(GINSTALL))
 endif
@@ -726,7 +757,7 @@ export GINSTALL
 ifndef CPPROG
 CPPROG:=$(strip $(wildcard $(addsuffix /cp$(SRCEXEEXT),$(SEARCHPATH))))
 ifeq ($(CPPROG),)
-CPPROG=
+CPPROG= __missing_command__
 else
 CPPROG:=$(firstword $(CPPROG))
 endif
@@ -735,7 +766,7 @@ export CPPROG
 ifndef RMPROG
 RMPROG:=$(strip $(wildcard $(addsuffix /rm$(SRCEXEEXT),$(SEARCHPATH))))
 ifeq ($(RMPROG),)
-RMPROG=
+RMPROG= __missing_command__
 else
 RMPROG:=$(firstword $(RMPROG))
 endif
@@ -744,7 +775,7 @@ export RMPROG
 ifndef MVPROG
 MVPROG:=$(strip $(wildcard $(addsuffix /mv$(SRCEXEEXT),$(SEARCHPATH))))
 ifeq ($(MVPROG),)
-MVPROG=
+MVPROG= __missing_command__
 else
 MVPROG:=$(firstword $(MVPROG))
 endif
@@ -793,7 +824,7 @@ export ECHOREDIR COPY COPYTREE MOVE DEL DELTREE INSTALL INSTALLEXE MKDIR
 ifndef PPUMOVE
 PPUMOVE:=$(strip $(wildcard $(addsuffix /ppumove$(SRCEXEEXT),$(SEARCHPATH))))
 ifeq ($(PPUMOVE),)
-PPUMOVE=
+PPUMOVE= __missing_command__
 else
 PPUMOVE:=$(firstword $(PPUMOVE))
 endif
@@ -802,7 +833,7 @@ export PPUMOVE
 ifndef FPCMAKE
 FPCMAKE:=$(strip $(wildcard $(addsuffix /fpcmake$(SRCEXEEXT),$(SEARCHPATH))))
 ifeq ($(FPCMAKE),)
-FPCMAKE=
+FPCMAKE= __missing_command__
 else
 FPCMAKE:=$(firstword $(FPCMAKE))
 endif
@@ -811,7 +842,7 @@ export FPCMAKE
 ifndef ZIPPROG
 ZIPPROG:=$(strip $(wildcard $(addsuffix /zip$(SRCEXEEXT),$(SEARCHPATH))))
 ifeq ($(ZIPPROG),)
-ZIPPROG=
+ZIPPROG= __missing_command__
 else
 ZIPPROG:=$(firstword $(ZIPPROG))
 endif
@@ -820,7 +851,7 @@ export ZIPPROG
 ifndef TARPROG
 TARPROG:=$(strip $(wildcard $(addsuffix /tar$(SRCEXEEXT),$(SEARCHPATH))))
 ifeq ($(TARPROG),)
-TARPROG=
+TARPROG= __missing_command__
 else
 TARPROG:=$(firstword $(TARPROG))
 endif
@@ -832,9 +863,11 @@ ARNAME=$(BINUTILSPREFIX)ar
 RCNAME=$(BINUTILSPREFIX)rc
 ifneq ($(findstring 1.0.,$(FPC_VERSION)),)
 ifeq ($(OS_TARGET),win32)
-ASNAME=as
-LDNAME=ld
-ARNAME=ar
+ifeq ($(CROSSBINDIR),)
+ASNAME=asw
+LDNAME=ldw
+ARNAME=arw
+endif
 endif
 endif
 ifndef ASPROG
@@ -869,7 +902,7 @@ AS=$(ASPROG)
 LD=$(LDPROG)
 RC=$(RCPROG)
 AR=$(ARPROG)
-PPAS=ppas$(BATCHEXT)
+PPAS=ppas$(SRCBATCHEXT)
 ifdef inUnix
 LDCONFIG=ldconfig
 else
@@ -934,6 +967,11 @@ ifeq ($(CPU_TARGET),x86_64)
 REQUIRE_PACKAGES_RTL=1
 endif
 endif
+ifeq ($(OS_TARGET),linux)
+ifeq ($(CPU_TARGET),arm)
+REQUIRE_PACKAGES_RTL=1
+endif
+endif
 ifeq ($(OS_TARGET),go32v2)
 ifeq ($(CPU_TARGET),i386)
 REQUIRE_PACKAGES_RTL=1
@@ -1123,8 +1161,12 @@ ifdef RELEASE
 ifeq ($(CPU_TARGET),i386)
 FPCCPUOPT:=-OG2p3
 else
+ifeq ($(CPU_TARGET),powerpc)
+FPCCPUOPT:=-O1
+else
 FPCCPUOPT:=
 endif
+endif
 override FPCOPT+=-Xs $(FPCCPUOPT) -n
 override FPCOPTDEF+=RELEASE
 endif
@@ -1374,7 +1416,7 @@ USEZIPWRAPPER=1
 endif
 ifdef USEZIPWRAPPER
 ZIPPATHSEP=$(PATHSEP)
-ZIPWRAPPER=$(subst /,$(PATHSEP),$(DIST_DESTDIR)/fpczip$(BATCHEXT))
+ZIPWRAPPER=$(subst /,$(PATHSEP),$(DIST_DESTDIR)/fpczip$(SRCBATCHEXT))
 else
 ZIPPATHSEP=/
 endif
@@ -1428,6 +1470,9 @@ override CLEANPPUFILES+=$(addsuffix $(PPUEXT),$(CLEAN_UNITS))
 endif
 ifdef 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 CLEANPPULINKFILES:=$(wildcard $(addprefix $(UNITTARGETDIRPREFIX),$(CLEANPPULINKFILES)))
 endif
@@ -1451,6 +1496,7 @@ ifdef LIB_NAME
 	-$(DEL) $(LIB_NAME) $(LIB_FULLNAME)
 endif
 	-$(DEL) $(FPCMADE) Package.fpc $(PPAS) script.res link.res $(FPCEXTFILE) $(REDIRFILE)
+	-$(DEL) *$(ASMEXT) *_ppas$(BATCHEXT)
 fpc_distclean: clean
 ifdef COMPILER_UNITTARGETDIR
 TARGETDIRCLEAN=fpc_clean
@@ -1462,9 +1508,13 @@ endif
 	-$(DEL) *$(OEXT) *$(PPUEXT) *$(RSTEXT) *$(ASMEXT) *$(STATICLIBEXT) *$(SHAREDLIBEXT) *$(PPLEXT)
 	-$(DELTREE) *$(SMARTEXT)
 	-$(DEL) $(FPCMADE) Package.fpc $(PPAS) script.res link.res $(FPCEXTFILE) $(REDIRFILE)
+	-$(DEL) *_ppas$(BATCHEXT)
 ifdef AOUTEXT
 	-$(DEL) *$(AOUTEXT)
 endif
+ifdef DEBUGSYMEXT
+	-$(DEL) *$(DEBUGSYMEXT)
+endif
 .PHONY: fpc_baseinfo
 override INFORULES+=fpc_baseinfo
 fpc_baseinfo:

+ 114 - 72
packages/extra/svgalib/Makefile

@@ -1,15 +1,24 @@
 #
-# Don't edit, this file is generated by FPCMake Version 1.1 [2004/02/22]
+# Don't edit, this file is generated by FPCMake Version 1.1 [2004/04/21]
 #
 default: all
 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:=$(subst \,/,$(PATH))
+ifneq ($(findstring darwin,$(OSTYPE)),)
+inUnix=1 #darwin
+SEARCHPATH:=$(filter-out .,$(subst :, ,$(PATH)))
+else
 ifeq ($(findstring ;,$(PATH)),)
 inUnix=1
 SEARCHPATH:=$(filter-out .,$(subst :, ,$(PATH)))
 else
 SEARCHPATH:=$(subst ;, ,$(PATH))
 endif
+endif
 SEARCHPATH+=$(patsubst %/,%,$(subst \,/,$(dir $(MAKE))))
 PWD:=$(strip $(wildcard $(addsuffix /pwd.exe,$(SEARCHPATH))))
 ifeq ($(PWD),)
@@ -37,22 +46,13 @@ ifneq ($(findstring cygdrive,$(PATH)),)
 inCygWin=1
 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
-BATCHEXT=.sh
+SRCBATCHEXT=.sh
 else
 ifdef inOS2
-BATCHEXT=.cmd
+SRCBATCHEXT=.cmd
 else
-BATCHEXT=.bat
+SRCBATCHEXT=.bat
 endif
 endif
 ifdef inUnix
@@ -155,6 +155,12 @@ ifeq ($(findstring $(OS_TARGET),$(MAKEFILETARGETS)),)
 $(error The Makefile doesn't support target $(OS_TARGET), please run fpcmake first)
 endif
 endif
+ifneq ($(findstring $(OS_TARGET),$(BSDs)),)
+BSDhier=1
+endif
+ifeq ($(OS_TARGET),linux)
+linuxHier=1
+endif
 export OS_TARGET OS_SOURCE CPU_TARGET CPU_SOURCE FULL_TARGET FULL_SOURCE CROSSCOMPILE
 ifdef FPCDIR
 override FPCDIR:=$(subst \,/,$(FPCDIR))
@@ -219,42 +225,12 @@ 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
-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
 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
 ifndef INSTALL_PREFIX
@@ -263,7 +239,7 @@ INSTALL_PREFIX=$(PREFIX)
 endif
 endif
 ifndef INSTALL_PREFIX
-ifdef UNIXINSTALLDIR
+ifdef UNIXHier
 INSTALL_PREFIX=/usr/local
 else
 ifdef INSTALL_FPCPACKAGE
@@ -282,7 +258,7 @@ DIST_DESTDIR:=$(BASEDIR)
 endif
 export DIST_DESTDIR
 ifndef INSTALL_BASEDIR
-ifdef UNIXINSTALLDIR
+ifdef UNIXHier
 ifdef INSTALL_FPCPACKAGE
 INSTALL_BASEDIR:=$(INSTALL_PREFIX)/lib/fpc/$(FPC_VERSION)
 else
@@ -293,7 +269,7 @@ INSTALL_BASEDIR:=$(INSTALL_PREFIX)
 endif
 endif
 ifndef INSTALL_BINDIR
-ifdef UNIXINSTALLDIR
+ifdef UNIXHier
 ifdef CROSSCOMPILE
 INSTALL_BINDIR:=$(INSTALL_BASEDIR)/cross/$(FULL_TARGET)/bin
 else
@@ -323,19 +299,23 @@ endif
 endif
 endif
 ifndef INSTALL_LIBDIR
-ifdef UNIXINSTALLDIR
+ifdef UNIXHier
 INSTALL_LIBDIR:=$(INSTALL_PREFIX)/lib
 else
 INSTALL_LIBDIR:=$(INSTALL_UNITDIR)
 endif
 endif
 ifndef INSTALL_SOURCEDIR
-ifdef UNIXINSTALLDIR
+ifdef UNIXHier
 ifdef BSDhier
 SRCPREFIXDIR=share/src
 else
+ifdef linuxHier
+SRCPREFIXDIR=share/src
+else
 SRCPREFIXDIR=src
 endif
+endif
 ifdef INSTALL_FPCPACKAGE
 ifdef INSTALL_FPCSUBDIR
 INSTALL_SOURCEDIR:=$(INSTALL_PREFIX)/$(SRCPREFIXDIR)/fpc-$(FPC_VERSION)/$(INSTALL_FPCSUBDIR)/$(PACKAGE_NAME)
@@ -358,12 +338,16 @@ endif
 endif
 endif
 ifndef INSTALL_DOCDIR
-ifdef UNIXINSTALLDIR
+ifdef UNIXHier
 ifdef BSDhier
 DOCPREFIXDIR=share/doc
 else
+ifdef linuxHier
+DOCPREFIXDIR=share/doc
+else
 DOCPREFIXDIR=doc
 endif
+endif
 ifdef INSTALL_FPCPACKAGE
 INSTALL_DOCDIR:=$(INSTALL_PREFIX)/$(DOCPREFIXDIR)/fpc-$(FPC_VERSION)/$(PACKAGE_NAME)
 else
@@ -378,20 +362,28 @@ endif
 endif
 endif
 ifndef INSTALL_EXAMPLEDIR
-ifdef UNIXINSTALLDIR
+ifdef UNIXHier
 ifdef INSTALL_FPCPACKAGE
 ifdef BSDhier
 INSTALL_EXAMPLEDIR:=$(INSTALL_PREFIX)/share/examples/fpc-$(FPC_VERSION)/$(PACKAGE_NAME)
 else
+ifdef linuxHier
+INSTALL_EXAMPLEDIR:=$(INSTALL_DOCDIR)/examples/fpc-$(FPC_VERSION)/$(PACKAGE_NAME)
+else
 INSTALL_EXAMPLEDIR:=$(INSTALL_PREFIX)/doc/fpc-$(FPC_VERSION)/examples/$(PACKAGE_NAME)
 endif
+endif
 else
 ifdef BSDhier
 INSTALL_EXAMPLEDIR:=$(INSTALL_PREFIX)/share/examples/$(PACKAGE_NAME)-$(PACKAGE_VERSION)
 else
+ifdef linuxHier
+INSTALL_EXAMPLEDIR:=$(INSTALL_DOCDIR)/examples/$(PACKAGE_NAME)-$(PACKAGE_VERSION)
+else
 INSTALL_EXAMPLEDIR:=$(INSTALL_PREFIX)/doc/$(PACKAGE_NAME)-$(PACKAGE_VERSION)
 endif
 endif
+endif
 else
 ifdef INSTALL_FPCPACKAGE
 INSTALL_EXAMPLEDIR:=$(INSTALL_BASEDIR)/examples/$(PACKAGE_NAME)
@@ -415,7 +407,19 @@ CROSSBINDIR=
 endif
 ifeq ($(OS_SOURCE),linux)
 ifndef GCCLIBDIR
-GCCLIBDIR:=$(shell dirname `gcc -print-libgcc-file-name`)
+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
 ifndef OTHERLIBDIR
 OTHERLIBDIR:=$(shell grep -v "^\#" /etc/ld.so.conf | awk '{ ORS=" "; print $1 }')
@@ -427,6 +431,7 @@ OTHERLIBDIR+=/usr/pkg/lib
 endif
 export GCCLIBDIR OTHERLIB
 endif
+BATCHEXT=.bat
 LOADEREXT=.as
 EXEEXT=.exe
 PPLEXT=.ppl
@@ -459,24 +464,28 @@ ASMEXT=.asm
 SHAREDLIBEXT=.dll
 endif
 ifeq ($(OS_TARGET),linux)
+BATCHEXT=.sh
 EXEEXT=
 HASSHAREDLIB=1
 FPCMADE=fpcmade.lnx
 ZIPSUFFIX=linux
 endif
 ifeq ($(OS_TARGET),freebsd)
+BATCHEXT=.sh
 EXEEXT=
 HASSHAREDLIB=1
 FPCMADE=fpcmade.freebsd
 ZIPSUFFIX=freebsd
 endif
 ifeq ($(OS_TARGET),netbsd)
+BATCHEXT=.sh
 EXEEXT=
 HASSHAREDLIB=1
 FPCMADE=fpcmade.netbsd
 ZIPSUFFIX=netbsd
 endif
 ifeq ($(OS_TARGET),openbsd)
+BATCHEXT=.sh
 EXEEXT=
 HASSHAREDLIB=1
 FPCMADE=fpcmade.openbsd
@@ -488,6 +497,7 @@ FPCMADE=fpcmade.w32
 ZIPSUFFIX=w32
 endif
 ifeq ($(OS_TARGET),os2)
+BATCHEXT=.cmd
 AOUTEXT=.out
 STATICLIBPREFIX=
 SHAREDLIBEXT=.dll
@@ -496,6 +506,7 @@ ZIPSUFFIX=os2
 ECHO=echo
 endif
 ifeq ($(OS_TARGET),emx)
+BATCHEXT=.cmd
 AOUTEXT=.out
 STATICLIBPREFIX=
 SHAREDLIBEXT=.dll
@@ -513,16 +524,19 @@ EXEEXT=.ttp
 FPCMADE=fpcmade.ata
 endif
 ifeq ($(OS_TARGET),beos)
+BATCHEXT=.sh
 EXEEXT=
 FPCMADE=fpcmade.be
 ZIPSUFFIX=be
 endif
 ifeq ($(OS_TARGET),sunos)
+BATCHEXT=.sh
 EXEEXT=
 FPCMADE=fpcmade.sun
 ZIPSUFFIX=sun
 endif
 ifeq ($(OS_TARGET),qnx)
+BATCHEXT=.sh
 EXEEXT=
 FPCMADE=fpcmade.qnx
 ZIPSUFFIX=qnx
@@ -534,10 +548,14 @@ FPCMADE=fpcmade.nw
 ZIPSUFFIX=nw
 endif
 ifeq ($(OS_TARGET),macos)
+BATCHEXT=
 EXEEXT=
-FPCMADE=fpcmade.mcc
+FPCMADE=fpcmade.macos
+ZIPSUFFIX=macos
+DEBUGSYMEXT=.xcoff
 endif
 ifeq ($(OS_TARGET),darwin)
+BATCHEXT=.sh
 EXEEXT=
 HASSHAREDLIB=1
 FPCMADE=fpcmade.darwin
@@ -566,24 +584,28 @@ FPCMADE=fpcmade.dos
 ZIPSUFFIX=watcom
 endif
 ifeq ($(OS_TARGET),linux)
+BATCHEXT=.sh
 EXEEXT=
 HASSHAREDLIB=1
 FPCMADE=fpcmade.lnx
 ZIPSUFFIX=linux
 endif
 ifeq ($(OS_TARGET),freebsd)
+BATCHEXT=.sh
 EXEEXT=
 HASSHAREDLIB=1
 FPCMADE=fpcmade.freebsd
 ZIPSUFFIX=freebsd
 endif
 ifeq ($(OS_TARGET),netbsd)
+BATCHEXT=.sh
 EXEEXT=
 HASSHAREDLIB=1
 FPCMADE=fpcmade.netbsd
 ZIPSUFFIX=netbsd
 endif
 ifeq ($(OS_TARGET),openbsd)
+BATCHEXT=.sh
 EXEEXT=
 HASSHAREDLIB=1
 FPCMADE=fpcmade.openbsd
@@ -600,6 +622,7 @@ FPCMADE=fpcmade.w32
 ZIPSUFFIX=w32
 endif
 ifeq ($(OS_TARGET),os2)
+BATCHEXT=.cmd
 PPUEXT=.ppo
 ASMEXT=.so2
 OEXT=.oo2
@@ -632,6 +655,7 @@ EXEEXT=.ttp
 FPCMADE=fpcmade.ata
 endif
 ifeq ($(OS_TARGET),beos)
+BATCHEXT=.sh
 PPUEXT=.ppu
 ASMEXT=.s
 OEXT=.o
@@ -642,6 +666,7 @@ FPCMADE=fpcmade.be
 ZIPSUFFIX=be
 endif
 ifeq ($(OS_TARGET),sunos)
+BATCHEXT=.sh
 PPUEXT=.ppu
 ASMEXT=.s
 OEXT=.o
@@ -652,6 +677,7 @@ FPCMADE=fpcmade.sun
 ZIPSUFFIX=sun
 endif
 ifeq ($(OS_TARGET),qnx)
+BATCHEXT=.sh
 PPUEXT=.ppu
 ASMEXT=.s
 OEXT=.o
@@ -674,13 +700,15 @@ ZIPSUFFIX=nw
 EXEEXT=.nlm
 endif
 ifeq ($(OS_TARGET),macos)
+BATCHEXT=
 PPUEXT=.ppu
 ASMEXT=.s
 OEXT=.o
 SMARTEXT=.sl
 STATICLIBEXT=.a
 EXEEXT=
-FPCMADE=fpcmade.mcc
+DEBUGSYMEXT=.xcoff
+FPCMADE=fpcmade.macos
 endif
 endif
 ifndef ECHO
@@ -688,7 +716,7 @@ ECHO:=$(strip $(wildcard $(addsuffix /gecho$(SRCEXEEXT),$(SEARCHPATH))))
 ifeq ($(ECHO),)
 ECHO:=$(strip $(wildcard $(addsuffix /echo$(SRCEXEEXT),$(SEARCHPATH))))
 ifeq ($(ECHO),)
-ECHO=
+ECHO= __missing_command__
 else
 ECHO:=$(firstword $(ECHO))
 endif
@@ -702,7 +730,7 @@ DATE:=$(strip $(wildcard $(addsuffix /gdate$(SRCEXEEXT),$(SEARCHPATH))))
 ifeq ($(DATE),)
 DATE:=$(strip $(wildcard $(addsuffix /date$(SRCEXEEXT),$(SEARCHPATH))))
 ifeq ($(DATE),)
-DATE=
+DATE= __missing_command__
 else
 DATE:=$(firstword $(DATE))
 endif
@@ -716,7 +744,7 @@ GINSTALL:=$(strip $(wildcard $(addsuffix /ginstall$(SRCEXEEXT),$(SEARCHPATH))))
 ifeq ($(GINSTALL),)
 GINSTALL:=$(strip $(wildcard $(addsuffix /install$(SRCEXEEXT),$(SEARCHPATH))))
 ifeq ($(GINSTALL),)
-GINSTALL=
+GINSTALL= __missing_command__
 else
 GINSTALL:=$(firstword $(GINSTALL))
 endif
@@ -728,7 +756,7 @@ export GINSTALL
 ifndef CPPROG
 CPPROG:=$(strip $(wildcard $(addsuffix /cp$(SRCEXEEXT),$(SEARCHPATH))))
 ifeq ($(CPPROG),)
-CPPROG=
+CPPROG= __missing_command__
 else
 CPPROG:=$(firstword $(CPPROG))
 endif
@@ -737,7 +765,7 @@ export CPPROG
 ifndef RMPROG
 RMPROG:=$(strip $(wildcard $(addsuffix /rm$(SRCEXEEXT),$(SEARCHPATH))))
 ifeq ($(RMPROG),)
-RMPROG=
+RMPROG= __missing_command__
 else
 RMPROG:=$(firstword $(RMPROG))
 endif
@@ -746,7 +774,7 @@ export RMPROG
 ifndef MVPROG
 MVPROG:=$(strip $(wildcard $(addsuffix /mv$(SRCEXEEXT),$(SEARCHPATH))))
 ifeq ($(MVPROG),)
-MVPROG=
+MVPROG= __missing_command__
 else
 MVPROG:=$(firstword $(MVPROG))
 endif
@@ -795,7 +823,7 @@ export ECHOREDIR COPY COPYTREE MOVE DEL DELTREE INSTALL INSTALLEXE MKDIR
 ifndef PPUMOVE
 PPUMOVE:=$(strip $(wildcard $(addsuffix /ppumove$(SRCEXEEXT),$(SEARCHPATH))))
 ifeq ($(PPUMOVE),)
-PPUMOVE=
+PPUMOVE= __missing_command__
 else
 PPUMOVE:=$(firstword $(PPUMOVE))
 endif
@@ -804,7 +832,7 @@ export PPUMOVE
 ifndef FPCMAKE
 FPCMAKE:=$(strip $(wildcard $(addsuffix /fpcmake$(SRCEXEEXT),$(SEARCHPATH))))
 ifeq ($(FPCMAKE),)
-FPCMAKE=
+FPCMAKE= __missing_command__
 else
 FPCMAKE:=$(firstword $(FPCMAKE))
 endif
@@ -813,7 +841,7 @@ export FPCMAKE
 ifndef ZIPPROG
 ZIPPROG:=$(strip $(wildcard $(addsuffix /zip$(SRCEXEEXT),$(SEARCHPATH))))
 ifeq ($(ZIPPROG),)
-ZIPPROG=
+ZIPPROG= __missing_command__
 else
 ZIPPROG:=$(firstword $(ZIPPROG))
 endif
@@ -822,7 +850,7 @@ export ZIPPROG
 ifndef TARPROG
 TARPROG:=$(strip $(wildcard $(addsuffix /tar$(SRCEXEEXT),$(SEARCHPATH))))
 ifeq ($(TARPROG),)
-TARPROG=
+TARPROG= __missing_command__
 else
 TARPROG:=$(firstword $(TARPROG))
 endif
@@ -834,9 +862,11 @@ ARNAME=$(BINUTILSPREFIX)ar
 RCNAME=$(BINUTILSPREFIX)rc
 ifneq ($(findstring 1.0.,$(FPC_VERSION)),)
 ifeq ($(OS_TARGET),win32)
-ASNAME=as
-LDNAME=ld
-ARNAME=ar
+ifeq ($(CROSSBINDIR),)
+ASNAME=asw
+LDNAME=ldw
+ARNAME=arw
+endif
 endif
 endif
 ifndef ASPROG
@@ -871,7 +901,7 @@ AS=$(ASPROG)
 LD=$(LDPROG)
 RC=$(RCPROG)
 AR=$(ARPROG)
-PPAS=ppas$(BATCHEXT)
+PPAS=ppas$(SRCBATCHEXT)
 ifdef inUnix
 LDCONFIG=ldconfig
 else
@@ -1130,8 +1160,12 @@ ifdef RELEASE
 ifeq ($(CPU_TARGET),i386)
 FPCCPUOPT:=-OG2p3
 else
+ifeq ($(CPU_TARGET),powerpc)
+FPCCPUOPT:=-O1
+else
 FPCCPUOPT:=
 endif
+endif
 override FPCOPT+=-Xs $(FPCCPUOPT) -n
 override FPCOPTDEF+=RELEASE
 endif
@@ -1381,7 +1415,7 @@ USEZIPWRAPPER=1
 endif
 ifdef USEZIPWRAPPER
 ZIPPATHSEP=$(PATHSEP)
-ZIPWRAPPER=$(subst /,$(PATHSEP),$(DIST_DESTDIR)/fpczip$(BATCHEXT))
+ZIPWRAPPER=$(subst /,$(PATHSEP),$(DIST_DESTDIR)/fpczip$(SRCBATCHEXT))
 else
 ZIPPATHSEP=/
 endif
@@ -1435,6 +1469,9 @@ override CLEANPPUFILES+=$(addsuffix $(PPUEXT),$(CLEAN_UNITS))
 endif
 ifdef 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 CLEANPPULINKFILES:=$(wildcard $(addprefix $(UNITTARGETDIRPREFIX),$(CLEANPPULINKFILES)))
 endif
@@ -1458,6 +1495,7 @@ ifdef LIB_NAME
 	-$(DEL) $(LIB_NAME) $(LIB_FULLNAME)
 endif
 	-$(DEL) $(FPCMADE) Package.fpc $(PPAS) script.res link.res $(FPCEXTFILE) $(REDIRFILE)
+	-$(DEL) *$(ASMEXT) *_ppas$(BATCHEXT)
 fpc_distclean: clean
 ifdef COMPILER_UNITTARGETDIR
 TARGETDIRCLEAN=fpc_clean
@@ -1469,9 +1507,13 @@ endif
 	-$(DEL) *$(OEXT) *$(PPUEXT) *$(RSTEXT) *$(ASMEXT) *$(STATICLIBEXT) *$(SHAREDLIBEXT) *$(PPLEXT)
 	-$(DELTREE) *$(SMARTEXT)
 	-$(DEL) $(FPCMADE) Package.fpc $(PPAS) script.res link.res $(FPCEXTFILE) $(REDIRFILE)
+	-$(DEL) *_ppas$(BATCHEXT)
 ifdef AOUTEXT
 	-$(DEL) *$(AOUTEXT)
 endif
+ifdef DEBUGSYMEXT
+	-$(DEL) *$(DEBUGSYMEXT)
+endif
 .PHONY: fpc_baseinfo
 override INFORULES+=fpc_baseinfo
 fpc_baseinfo:

+ 114 - 72
packages/extra/syslog/Makefile

@@ -1,15 +1,24 @@
 #
-# Don't edit, this file is generated by FPCMake Version 1.1 [2004/02/22]
+# Don't edit, this file is generated by FPCMake Version 1.1 [2004/04/21]
 #
 default: all
 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:=$(subst \,/,$(PATH))
+ifneq ($(findstring darwin,$(OSTYPE)),)
+inUnix=1 #darwin
+SEARCHPATH:=$(filter-out .,$(subst :, ,$(PATH)))
+else
 ifeq ($(findstring ;,$(PATH)),)
 inUnix=1
 SEARCHPATH:=$(filter-out .,$(subst :, ,$(PATH)))
 else
 SEARCHPATH:=$(subst ;, ,$(PATH))
 endif
+endif
 SEARCHPATH+=$(patsubst %/,%,$(subst \,/,$(dir $(MAKE))))
 PWD:=$(strip $(wildcard $(addsuffix /pwd.exe,$(SEARCHPATH))))
 ifeq ($(PWD),)
@@ -37,22 +46,13 @@ ifneq ($(findstring cygdrive,$(PATH)),)
 inCygWin=1
 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
-BATCHEXT=.sh
+SRCBATCHEXT=.sh
 else
 ifdef inOS2
-BATCHEXT=.cmd
+SRCBATCHEXT=.cmd
 else
-BATCHEXT=.bat
+SRCBATCHEXT=.bat
 endif
 endif
 ifdef inUnix
@@ -155,6 +155,12 @@ ifeq ($(findstring $(OS_TARGET),$(MAKEFILETARGETS)),)
 $(error The Makefile doesn't support target $(OS_TARGET), please run fpcmake first)
 endif
 endif
+ifneq ($(findstring $(OS_TARGET),$(BSDs)),)
+BSDhier=1
+endif
+ifeq ($(OS_TARGET),linux)
+linuxHier=1
+endif
 export OS_TARGET OS_SOURCE CPU_TARGET CPU_SOURCE FULL_TARGET FULL_SOURCE CROSSCOMPILE
 ifdef FPCDIR
 override FPCDIR:=$(subst \,/,$(FPCDIR))
@@ -219,42 +225,12 @@ 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
-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
 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
 ifndef INSTALL_PREFIX
@@ -263,7 +239,7 @@ INSTALL_PREFIX=$(PREFIX)
 endif
 endif
 ifndef INSTALL_PREFIX
-ifdef UNIXINSTALLDIR
+ifdef UNIXHier
 INSTALL_PREFIX=/usr/local
 else
 ifdef INSTALL_FPCPACKAGE
@@ -282,7 +258,7 @@ DIST_DESTDIR:=$(BASEDIR)
 endif
 export DIST_DESTDIR
 ifndef INSTALL_BASEDIR
-ifdef UNIXINSTALLDIR
+ifdef UNIXHier
 ifdef INSTALL_FPCPACKAGE
 INSTALL_BASEDIR:=$(INSTALL_PREFIX)/lib/fpc/$(FPC_VERSION)
 else
@@ -293,7 +269,7 @@ INSTALL_BASEDIR:=$(INSTALL_PREFIX)
 endif
 endif
 ifndef INSTALL_BINDIR
-ifdef UNIXINSTALLDIR
+ifdef UNIXHier
 ifdef CROSSCOMPILE
 INSTALL_BINDIR:=$(INSTALL_BASEDIR)/cross/$(FULL_TARGET)/bin
 else
@@ -323,19 +299,23 @@ endif
 endif
 endif
 ifndef INSTALL_LIBDIR
-ifdef UNIXINSTALLDIR
+ifdef UNIXHier
 INSTALL_LIBDIR:=$(INSTALL_PREFIX)/lib
 else
 INSTALL_LIBDIR:=$(INSTALL_UNITDIR)
 endif
 endif
 ifndef INSTALL_SOURCEDIR
-ifdef UNIXINSTALLDIR
+ifdef UNIXHier
 ifdef BSDhier
 SRCPREFIXDIR=share/src
 else
+ifdef linuxHier
+SRCPREFIXDIR=share/src
+else
 SRCPREFIXDIR=src
 endif
+endif
 ifdef INSTALL_FPCPACKAGE
 ifdef INSTALL_FPCSUBDIR
 INSTALL_SOURCEDIR:=$(INSTALL_PREFIX)/$(SRCPREFIXDIR)/fpc-$(FPC_VERSION)/$(INSTALL_FPCSUBDIR)/$(PACKAGE_NAME)
@@ -358,12 +338,16 @@ endif
 endif
 endif
 ifndef INSTALL_DOCDIR
-ifdef UNIXINSTALLDIR
+ifdef UNIXHier
 ifdef BSDhier
 DOCPREFIXDIR=share/doc
 else
+ifdef linuxHier
+DOCPREFIXDIR=share/doc
+else
 DOCPREFIXDIR=doc
 endif
+endif
 ifdef INSTALL_FPCPACKAGE
 INSTALL_DOCDIR:=$(INSTALL_PREFIX)/$(DOCPREFIXDIR)/fpc-$(FPC_VERSION)/$(PACKAGE_NAME)
 else
@@ -378,20 +362,28 @@ endif
 endif
 endif
 ifndef INSTALL_EXAMPLEDIR
-ifdef UNIXINSTALLDIR
+ifdef UNIXHier
 ifdef INSTALL_FPCPACKAGE
 ifdef BSDhier
 INSTALL_EXAMPLEDIR:=$(INSTALL_PREFIX)/share/examples/fpc-$(FPC_VERSION)/$(PACKAGE_NAME)
 else
+ifdef linuxHier
+INSTALL_EXAMPLEDIR:=$(INSTALL_DOCDIR)/examples/fpc-$(FPC_VERSION)/$(PACKAGE_NAME)
+else
 INSTALL_EXAMPLEDIR:=$(INSTALL_PREFIX)/doc/fpc-$(FPC_VERSION)/examples/$(PACKAGE_NAME)
 endif
+endif
 else
 ifdef BSDhier
 INSTALL_EXAMPLEDIR:=$(INSTALL_PREFIX)/share/examples/$(PACKAGE_NAME)-$(PACKAGE_VERSION)
 else
+ifdef linuxHier
+INSTALL_EXAMPLEDIR:=$(INSTALL_DOCDIR)/examples/$(PACKAGE_NAME)-$(PACKAGE_VERSION)
+else
 INSTALL_EXAMPLEDIR:=$(INSTALL_PREFIX)/doc/$(PACKAGE_NAME)-$(PACKAGE_VERSION)
 endif
 endif
+endif
 else
 ifdef INSTALL_FPCPACKAGE
 INSTALL_EXAMPLEDIR:=$(INSTALL_BASEDIR)/examples/$(PACKAGE_NAME)
@@ -415,7 +407,19 @@ CROSSBINDIR=
 endif
 ifeq ($(OS_SOURCE),linux)
 ifndef GCCLIBDIR
-GCCLIBDIR:=$(shell dirname `gcc -print-libgcc-file-name`)
+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
 ifndef OTHERLIBDIR
 OTHERLIBDIR:=$(shell grep -v "^\#" /etc/ld.so.conf | awk '{ ORS=" "; print $1 }')
@@ -427,6 +431,7 @@ OTHERLIBDIR+=/usr/pkg/lib
 endif
 export GCCLIBDIR OTHERLIB
 endif
+BATCHEXT=.bat
 LOADEREXT=.as
 EXEEXT=.exe
 PPLEXT=.ppl
@@ -459,24 +464,28 @@ ASMEXT=.asm
 SHAREDLIBEXT=.dll
 endif
 ifeq ($(OS_TARGET),linux)
+BATCHEXT=.sh
 EXEEXT=
 HASSHAREDLIB=1
 FPCMADE=fpcmade.lnx
 ZIPSUFFIX=linux
 endif
 ifeq ($(OS_TARGET),freebsd)
+BATCHEXT=.sh
 EXEEXT=
 HASSHAREDLIB=1
 FPCMADE=fpcmade.freebsd
 ZIPSUFFIX=freebsd
 endif
 ifeq ($(OS_TARGET),netbsd)
+BATCHEXT=.sh
 EXEEXT=
 HASSHAREDLIB=1
 FPCMADE=fpcmade.netbsd
 ZIPSUFFIX=netbsd
 endif
 ifeq ($(OS_TARGET),openbsd)
+BATCHEXT=.sh
 EXEEXT=
 HASSHAREDLIB=1
 FPCMADE=fpcmade.openbsd
@@ -488,6 +497,7 @@ FPCMADE=fpcmade.w32
 ZIPSUFFIX=w32
 endif
 ifeq ($(OS_TARGET),os2)
+BATCHEXT=.cmd
 AOUTEXT=.out
 STATICLIBPREFIX=
 SHAREDLIBEXT=.dll
@@ -496,6 +506,7 @@ ZIPSUFFIX=os2
 ECHO=echo
 endif
 ifeq ($(OS_TARGET),emx)
+BATCHEXT=.cmd
 AOUTEXT=.out
 STATICLIBPREFIX=
 SHAREDLIBEXT=.dll
@@ -513,16 +524,19 @@ EXEEXT=.ttp
 FPCMADE=fpcmade.ata
 endif
 ifeq ($(OS_TARGET),beos)
+BATCHEXT=.sh
 EXEEXT=
 FPCMADE=fpcmade.be
 ZIPSUFFIX=be
 endif
 ifeq ($(OS_TARGET),sunos)
+BATCHEXT=.sh
 EXEEXT=
 FPCMADE=fpcmade.sun
 ZIPSUFFIX=sun
 endif
 ifeq ($(OS_TARGET),qnx)
+BATCHEXT=.sh
 EXEEXT=
 FPCMADE=fpcmade.qnx
 ZIPSUFFIX=qnx
@@ -534,10 +548,14 @@ FPCMADE=fpcmade.nw
 ZIPSUFFIX=nw
 endif
 ifeq ($(OS_TARGET),macos)
+BATCHEXT=
 EXEEXT=
-FPCMADE=fpcmade.mcc
+FPCMADE=fpcmade.macos
+ZIPSUFFIX=macos
+DEBUGSYMEXT=.xcoff
 endif
 ifeq ($(OS_TARGET),darwin)
+BATCHEXT=.sh
 EXEEXT=
 HASSHAREDLIB=1
 FPCMADE=fpcmade.darwin
@@ -566,24 +584,28 @@ FPCMADE=fpcmade.dos
 ZIPSUFFIX=watcom
 endif
 ifeq ($(OS_TARGET),linux)
+BATCHEXT=.sh
 EXEEXT=
 HASSHAREDLIB=1
 FPCMADE=fpcmade.lnx
 ZIPSUFFIX=linux
 endif
 ifeq ($(OS_TARGET),freebsd)
+BATCHEXT=.sh
 EXEEXT=
 HASSHAREDLIB=1
 FPCMADE=fpcmade.freebsd
 ZIPSUFFIX=freebsd
 endif
 ifeq ($(OS_TARGET),netbsd)
+BATCHEXT=.sh
 EXEEXT=
 HASSHAREDLIB=1
 FPCMADE=fpcmade.netbsd
 ZIPSUFFIX=netbsd
 endif
 ifeq ($(OS_TARGET),openbsd)
+BATCHEXT=.sh
 EXEEXT=
 HASSHAREDLIB=1
 FPCMADE=fpcmade.openbsd
@@ -600,6 +622,7 @@ FPCMADE=fpcmade.w32
 ZIPSUFFIX=w32
 endif
 ifeq ($(OS_TARGET),os2)
+BATCHEXT=.cmd
 PPUEXT=.ppo
 ASMEXT=.so2
 OEXT=.oo2
@@ -632,6 +655,7 @@ EXEEXT=.ttp
 FPCMADE=fpcmade.ata
 endif
 ifeq ($(OS_TARGET),beos)
+BATCHEXT=.sh
 PPUEXT=.ppu
 ASMEXT=.s
 OEXT=.o
@@ -642,6 +666,7 @@ FPCMADE=fpcmade.be
 ZIPSUFFIX=be
 endif
 ifeq ($(OS_TARGET),sunos)
+BATCHEXT=.sh
 PPUEXT=.ppu
 ASMEXT=.s
 OEXT=.o
@@ -652,6 +677,7 @@ FPCMADE=fpcmade.sun
 ZIPSUFFIX=sun
 endif
 ifeq ($(OS_TARGET),qnx)
+BATCHEXT=.sh
 PPUEXT=.ppu
 ASMEXT=.s
 OEXT=.o
@@ -674,13 +700,15 @@ ZIPSUFFIX=nw
 EXEEXT=.nlm
 endif
 ifeq ($(OS_TARGET),macos)
+BATCHEXT=
 PPUEXT=.ppu
 ASMEXT=.s
 OEXT=.o
 SMARTEXT=.sl
 STATICLIBEXT=.a
 EXEEXT=
-FPCMADE=fpcmade.mcc
+DEBUGSYMEXT=.xcoff
+FPCMADE=fpcmade.macos
 endif
 endif
 ifndef ECHO
@@ -688,7 +716,7 @@ ECHO:=$(strip $(wildcard $(addsuffix /gecho$(SRCEXEEXT),$(SEARCHPATH))))
 ifeq ($(ECHO),)
 ECHO:=$(strip $(wildcard $(addsuffix /echo$(SRCEXEEXT),$(SEARCHPATH))))
 ifeq ($(ECHO),)
-ECHO=
+ECHO= __missing_command__
 else
 ECHO:=$(firstword $(ECHO))
 endif
@@ -702,7 +730,7 @@ DATE:=$(strip $(wildcard $(addsuffix /gdate$(SRCEXEEXT),$(SEARCHPATH))))
 ifeq ($(DATE),)
 DATE:=$(strip $(wildcard $(addsuffix /date$(SRCEXEEXT),$(SEARCHPATH))))
 ifeq ($(DATE),)
-DATE=
+DATE= __missing_command__
 else
 DATE:=$(firstword $(DATE))
 endif
@@ -716,7 +744,7 @@ GINSTALL:=$(strip $(wildcard $(addsuffix /ginstall$(SRCEXEEXT),$(SEARCHPATH))))
 ifeq ($(GINSTALL),)
 GINSTALL:=$(strip $(wildcard $(addsuffix /install$(SRCEXEEXT),$(SEARCHPATH))))
 ifeq ($(GINSTALL),)
-GINSTALL=
+GINSTALL= __missing_command__
 else
 GINSTALL:=$(firstword $(GINSTALL))
 endif
@@ -728,7 +756,7 @@ export GINSTALL
 ifndef CPPROG
 CPPROG:=$(strip $(wildcard $(addsuffix /cp$(SRCEXEEXT),$(SEARCHPATH))))
 ifeq ($(CPPROG),)
-CPPROG=
+CPPROG= __missing_command__
 else
 CPPROG:=$(firstword $(CPPROG))
 endif
@@ -737,7 +765,7 @@ export CPPROG
 ifndef RMPROG
 RMPROG:=$(strip $(wildcard $(addsuffix /rm$(SRCEXEEXT),$(SEARCHPATH))))
 ifeq ($(RMPROG),)
-RMPROG=
+RMPROG= __missing_command__
 else
 RMPROG:=$(firstword $(RMPROG))
 endif
@@ -746,7 +774,7 @@ export RMPROG
 ifndef MVPROG
 MVPROG:=$(strip $(wildcard $(addsuffix /mv$(SRCEXEEXT),$(SEARCHPATH))))
 ifeq ($(MVPROG),)
-MVPROG=
+MVPROG= __missing_command__
 else
 MVPROG:=$(firstword $(MVPROG))
 endif
@@ -795,7 +823,7 @@ export ECHOREDIR COPY COPYTREE MOVE DEL DELTREE INSTALL INSTALLEXE MKDIR
 ifndef PPUMOVE
 PPUMOVE:=$(strip $(wildcard $(addsuffix /ppumove$(SRCEXEEXT),$(SEARCHPATH))))
 ifeq ($(PPUMOVE),)
-PPUMOVE=
+PPUMOVE= __missing_command__
 else
 PPUMOVE:=$(firstword $(PPUMOVE))
 endif
@@ -804,7 +832,7 @@ export PPUMOVE
 ifndef FPCMAKE
 FPCMAKE:=$(strip $(wildcard $(addsuffix /fpcmake$(SRCEXEEXT),$(SEARCHPATH))))
 ifeq ($(FPCMAKE),)
-FPCMAKE=
+FPCMAKE= __missing_command__
 else
 FPCMAKE:=$(firstword $(FPCMAKE))
 endif
@@ -813,7 +841,7 @@ export FPCMAKE
 ifndef ZIPPROG
 ZIPPROG:=$(strip $(wildcard $(addsuffix /zip$(SRCEXEEXT),$(SEARCHPATH))))
 ifeq ($(ZIPPROG),)
-ZIPPROG=
+ZIPPROG= __missing_command__
 else
 ZIPPROG:=$(firstword $(ZIPPROG))
 endif
@@ -822,7 +850,7 @@ export ZIPPROG
 ifndef TARPROG
 TARPROG:=$(strip $(wildcard $(addsuffix /tar$(SRCEXEEXT),$(SEARCHPATH))))
 ifeq ($(TARPROG),)
-TARPROG=
+TARPROG= __missing_command__
 else
 TARPROG:=$(firstword $(TARPROG))
 endif
@@ -834,9 +862,11 @@ ARNAME=$(BINUTILSPREFIX)ar
 RCNAME=$(BINUTILSPREFIX)rc
 ifneq ($(findstring 1.0.,$(FPC_VERSION)),)
 ifeq ($(OS_TARGET),win32)
-ASNAME=as
-LDNAME=ld
-ARNAME=ar
+ifeq ($(CROSSBINDIR),)
+ASNAME=asw
+LDNAME=ldw
+ARNAME=arw
+endif
 endif
 endif
 ifndef ASPROG
@@ -871,7 +901,7 @@ AS=$(ASPROG)
 LD=$(LDPROG)
 RC=$(RCPROG)
 AR=$(ARPROG)
-PPAS=ppas$(BATCHEXT)
+PPAS=ppas$(SRCBATCHEXT)
 ifdef inUnix
 LDCONFIG=ldconfig
 else
@@ -1130,8 +1160,12 @@ ifdef RELEASE
 ifeq ($(CPU_TARGET),i386)
 FPCCPUOPT:=-OG2p3
 else
+ifeq ($(CPU_TARGET),powerpc)
+FPCCPUOPT:=-O1
+else
 FPCCPUOPT:=
 endif
+endif
 override FPCOPT+=-Xs $(FPCCPUOPT) -n
 override FPCOPTDEF+=RELEASE
 endif
@@ -1381,7 +1415,7 @@ USEZIPWRAPPER=1
 endif
 ifdef USEZIPWRAPPER
 ZIPPATHSEP=$(PATHSEP)
-ZIPWRAPPER=$(subst /,$(PATHSEP),$(DIST_DESTDIR)/fpczip$(BATCHEXT))
+ZIPWRAPPER=$(subst /,$(PATHSEP),$(DIST_DESTDIR)/fpczip$(SRCBATCHEXT))
 else
 ZIPPATHSEP=/
 endif
@@ -1435,6 +1469,9 @@ override CLEANPPUFILES+=$(addsuffix $(PPUEXT),$(CLEAN_UNITS))
 endif
 ifdef 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 CLEANPPULINKFILES:=$(wildcard $(addprefix $(UNITTARGETDIRPREFIX),$(CLEANPPULINKFILES)))
 endif
@@ -1458,6 +1495,7 @@ ifdef LIB_NAME
 	-$(DEL) $(LIB_NAME) $(LIB_FULLNAME)
 endif
 	-$(DEL) $(FPCMADE) Package.fpc $(PPAS) script.res link.res $(FPCEXTFILE) $(REDIRFILE)
+	-$(DEL) *$(ASMEXT) *_ppas$(BATCHEXT)
 fpc_distclean: clean
 ifdef COMPILER_UNITTARGETDIR
 TARGETDIRCLEAN=fpc_clean
@@ -1469,9 +1507,13 @@ endif
 	-$(DEL) *$(OEXT) *$(PPUEXT) *$(RSTEXT) *$(ASMEXT) *$(STATICLIBEXT) *$(SHAREDLIBEXT) *$(PPLEXT)
 	-$(DELTREE) *$(SMARTEXT)
 	-$(DEL) $(FPCMADE) Package.fpc $(PPAS) script.res link.res $(FPCEXTFILE) $(REDIRFILE)
+	-$(DEL) *_ppas$(BATCHEXT)
 ifdef AOUTEXT
 	-$(DEL) *$(AOUTEXT)
 endif
+ifdef DEBUGSYMEXT
+	-$(DEL) *$(DEBUGSYMEXT)
+endif
 .PHONY: fpc_baseinfo
 override INFORULES+=fpc_baseinfo
 fpc_baseinfo:

+ 114 - 72
packages/extra/tcl/Makefile

@@ -1,15 +1,24 @@
 #
-# Don't edit, this file is generated by FPCMake Version 1.1 [2004/02/22]
+# Don't edit, this file is generated by FPCMake Version 1.1 [2004/04/21]
 #
 default: all
 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:=$(subst \,/,$(PATH))
+ifneq ($(findstring darwin,$(OSTYPE)),)
+inUnix=1 #darwin
+SEARCHPATH:=$(filter-out .,$(subst :, ,$(PATH)))
+else
 ifeq ($(findstring ;,$(PATH)),)
 inUnix=1
 SEARCHPATH:=$(filter-out .,$(subst :, ,$(PATH)))
 else
 SEARCHPATH:=$(subst ;, ,$(PATH))
 endif
+endif
 SEARCHPATH+=$(patsubst %/,%,$(subst \,/,$(dir $(MAKE))))
 PWD:=$(strip $(wildcard $(addsuffix /pwd.exe,$(SEARCHPATH))))
 ifeq ($(PWD),)
@@ -37,22 +46,13 @@ ifneq ($(findstring cygdrive,$(PATH)),)
 inCygWin=1
 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
-BATCHEXT=.sh
+SRCBATCHEXT=.sh
 else
 ifdef inOS2
-BATCHEXT=.cmd
+SRCBATCHEXT=.cmd
 else
-BATCHEXT=.bat
+SRCBATCHEXT=.bat
 endif
 endif
 ifdef inUnix
@@ -155,6 +155,12 @@ ifeq ($(findstring $(OS_TARGET),$(MAKEFILETARGETS)),)
 $(error The Makefile doesn't support target $(OS_TARGET), please run fpcmake first)
 endif
 endif
+ifneq ($(findstring $(OS_TARGET),$(BSDs)),)
+BSDhier=1
+endif
+ifeq ($(OS_TARGET),linux)
+linuxHier=1
+endif
 export OS_TARGET OS_SOURCE CPU_TARGET CPU_SOURCE FULL_TARGET FULL_SOURCE CROSSCOMPILE
 ifdef FPCDIR
 override FPCDIR:=$(subst \,/,$(FPCDIR))
@@ -219,42 +225,12 @@ 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
-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
 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
 ifndef INSTALL_PREFIX
@@ -263,7 +239,7 @@ INSTALL_PREFIX=$(PREFIX)
 endif
 endif
 ifndef INSTALL_PREFIX
-ifdef UNIXINSTALLDIR
+ifdef UNIXHier
 INSTALL_PREFIX=/usr/local
 else
 ifdef INSTALL_FPCPACKAGE
@@ -282,7 +258,7 @@ DIST_DESTDIR:=$(BASEDIR)
 endif
 export DIST_DESTDIR
 ifndef INSTALL_BASEDIR
-ifdef UNIXINSTALLDIR
+ifdef UNIXHier
 ifdef INSTALL_FPCPACKAGE
 INSTALL_BASEDIR:=$(INSTALL_PREFIX)/lib/fpc/$(FPC_VERSION)
 else
@@ -293,7 +269,7 @@ INSTALL_BASEDIR:=$(INSTALL_PREFIX)
 endif
 endif
 ifndef INSTALL_BINDIR
-ifdef UNIXINSTALLDIR
+ifdef UNIXHier
 ifdef CROSSCOMPILE
 INSTALL_BINDIR:=$(INSTALL_BASEDIR)/cross/$(FULL_TARGET)/bin
 else
@@ -323,19 +299,23 @@ endif
 endif
 endif
 ifndef INSTALL_LIBDIR
-ifdef UNIXINSTALLDIR
+ifdef UNIXHier
 INSTALL_LIBDIR:=$(INSTALL_PREFIX)/lib
 else
 INSTALL_LIBDIR:=$(INSTALL_UNITDIR)
 endif
 endif
 ifndef INSTALL_SOURCEDIR
-ifdef UNIXINSTALLDIR
+ifdef UNIXHier
 ifdef BSDhier
 SRCPREFIXDIR=share/src
 else
+ifdef linuxHier
+SRCPREFIXDIR=share/src
+else
 SRCPREFIXDIR=src
 endif
+endif
 ifdef INSTALL_FPCPACKAGE
 ifdef INSTALL_FPCSUBDIR
 INSTALL_SOURCEDIR:=$(INSTALL_PREFIX)/$(SRCPREFIXDIR)/fpc-$(FPC_VERSION)/$(INSTALL_FPCSUBDIR)/$(PACKAGE_NAME)
@@ -358,12 +338,16 @@ endif
 endif
 endif
 ifndef INSTALL_DOCDIR
-ifdef UNIXINSTALLDIR
+ifdef UNIXHier
 ifdef BSDhier
 DOCPREFIXDIR=share/doc
 else
+ifdef linuxHier
+DOCPREFIXDIR=share/doc
+else
 DOCPREFIXDIR=doc
 endif
+endif
 ifdef INSTALL_FPCPACKAGE
 INSTALL_DOCDIR:=$(INSTALL_PREFIX)/$(DOCPREFIXDIR)/fpc-$(FPC_VERSION)/$(PACKAGE_NAME)
 else
@@ -378,20 +362,28 @@ endif
 endif
 endif
 ifndef INSTALL_EXAMPLEDIR
-ifdef UNIXINSTALLDIR
+ifdef UNIXHier
 ifdef INSTALL_FPCPACKAGE
 ifdef BSDhier
 INSTALL_EXAMPLEDIR:=$(INSTALL_PREFIX)/share/examples/fpc-$(FPC_VERSION)/$(PACKAGE_NAME)
 else
+ifdef linuxHier
+INSTALL_EXAMPLEDIR:=$(INSTALL_DOCDIR)/examples/fpc-$(FPC_VERSION)/$(PACKAGE_NAME)
+else
 INSTALL_EXAMPLEDIR:=$(INSTALL_PREFIX)/doc/fpc-$(FPC_VERSION)/examples/$(PACKAGE_NAME)
 endif
+endif
 else
 ifdef BSDhier
 INSTALL_EXAMPLEDIR:=$(INSTALL_PREFIX)/share/examples/$(PACKAGE_NAME)-$(PACKAGE_VERSION)
 else
+ifdef linuxHier
+INSTALL_EXAMPLEDIR:=$(INSTALL_DOCDIR)/examples/$(PACKAGE_NAME)-$(PACKAGE_VERSION)
+else
 INSTALL_EXAMPLEDIR:=$(INSTALL_PREFIX)/doc/$(PACKAGE_NAME)-$(PACKAGE_VERSION)
 endif
 endif
+endif
 else
 ifdef INSTALL_FPCPACKAGE
 INSTALL_EXAMPLEDIR:=$(INSTALL_BASEDIR)/examples/$(PACKAGE_NAME)
@@ -415,7 +407,19 @@ CROSSBINDIR=
 endif
 ifeq ($(OS_SOURCE),linux)
 ifndef GCCLIBDIR
-GCCLIBDIR:=$(shell dirname `gcc -print-libgcc-file-name`)
+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
 ifndef OTHERLIBDIR
 OTHERLIBDIR:=$(shell grep -v "^\#" /etc/ld.so.conf | awk '{ ORS=" "; print $1 }')
@@ -427,6 +431,7 @@ OTHERLIBDIR+=/usr/pkg/lib
 endif
 export GCCLIBDIR OTHERLIB
 endif
+BATCHEXT=.bat
 LOADEREXT=.as
 EXEEXT=.exe
 PPLEXT=.ppl
@@ -459,24 +464,28 @@ ASMEXT=.asm
 SHAREDLIBEXT=.dll
 endif
 ifeq ($(OS_TARGET),linux)
+BATCHEXT=.sh
 EXEEXT=
 HASSHAREDLIB=1
 FPCMADE=fpcmade.lnx
 ZIPSUFFIX=linux
 endif
 ifeq ($(OS_TARGET),freebsd)
+BATCHEXT=.sh
 EXEEXT=
 HASSHAREDLIB=1
 FPCMADE=fpcmade.freebsd
 ZIPSUFFIX=freebsd
 endif
 ifeq ($(OS_TARGET),netbsd)
+BATCHEXT=.sh
 EXEEXT=
 HASSHAREDLIB=1
 FPCMADE=fpcmade.netbsd
 ZIPSUFFIX=netbsd
 endif
 ifeq ($(OS_TARGET),openbsd)
+BATCHEXT=.sh
 EXEEXT=
 HASSHAREDLIB=1
 FPCMADE=fpcmade.openbsd
@@ -488,6 +497,7 @@ FPCMADE=fpcmade.w32
 ZIPSUFFIX=w32
 endif
 ifeq ($(OS_TARGET),os2)
+BATCHEXT=.cmd
 AOUTEXT=.out
 STATICLIBPREFIX=
 SHAREDLIBEXT=.dll
@@ -496,6 +506,7 @@ ZIPSUFFIX=os2
 ECHO=echo
 endif
 ifeq ($(OS_TARGET),emx)
+BATCHEXT=.cmd
 AOUTEXT=.out
 STATICLIBPREFIX=
 SHAREDLIBEXT=.dll
@@ -513,16 +524,19 @@ EXEEXT=.ttp
 FPCMADE=fpcmade.ata
 endif
 ifeq ($(OS_TARGET),beos)
+BATCHEXT=.sh
 EXEEXT=
 FPCMADE=fpcmade.be
 ZIPSUFFIX=be
 endif
 ifeq ($(OS_TARGET),sunos)
+BATCHEXT=.sh
 EXEEXT=
 FPCMADE=fpcmade.sun
 ZIPSUFFIX=sun
 endif
 ifeq ($(OS_TARGET),qnx)
+BATCHEXT=.sh
 EXEEXT=
 FPCMADE=fpcmade.qnx
 ZIPSUFFIX=qnx
@@ -534,10 +548,14 @@ FPCMADE=fpcmade.nw
 ZIPSUFFIX=nw
 endif
 ifeq ($(OS_TARGET),macos)
+BATCHEXT=
 EXEEXT=
-FPCMADE=fpcmade.mcc
+FPCMADE=fpcmade.macos
+ZIPSUFFIX=macos
+DEBUGSYMEXT=.xcoff
 endif
 ifeq ($(OS_TARGET),darwin)
+BATCHEXT=.sh
 EXEEXT=
 HASSHAREDLIB=1
 FPCMADE=fpcmade.darwin
@@ -566,24 +584,28 @@ FPCMADE=fpcmade.dos
 ZIPSUFFIX=watcom
 endif
 ifeq ($(OS_TARGET),linux)
+BATCHEXT=.sh
 EXEEXT=
 HASSHAREDLIB=1
 FPCMADE=fpcmade.lnx
 ZIPSUFFIX=linux
 endif
 ifeq ($(OS_TARGET),freebsd)
+BATCHEXT=.sh
 EXEEXT=
 HASSHAREDLIB=1
 FPCMADE=fpcmade.freebsd
 ZIPSUFFIX=freebsd
 endif
 ifeq ($(OS_TARGET),netbsd)
+BATCHEXT=.sh
 EXEEXT=
 HASSHAREDLIB=1
 FPCMADE=fpcmade.netbsd
 ZIPSUFFIX=netbsd
 endif
 ifeq ($(OS_TARGET),openbsd)
+BATCHEXT=.sh
 EXEEXT=
 HASSHAREDLIB=1
 FPCMADE=fpcmade.openbsd
@@ -600,6 +622,7 @@ FPCMADE=fpcmade.w32
 ZIPSUFFIX=w32
 endif
 ifeq ($(OS_TARGET),os2)
+BATCHEXT=.cmd
 PPUEXT=.ppo
 ASMEXT=.so2
 OEXT=.oo2
@@ -632,6 +655,7 @@ EXEEXT=.ttp
 FPCMADE=fpcmade.ata
 endif
 ifeq ($(OS_TARGET),beos)
+BATCHEXT=.sh
 PPUEXT=.ppu
 ASMEXT=.s
 OEXT=.o
@@ -642,6 +666,7 @@ FPCMADE=fpcmade.be
 ZIPSUFFIX=be
 endif
 ifeq ($(OS_TARGET),sunos)
+BATCHEXT=.sh
 PPUEXT=.ppu
 ASMEXT=.s
 OEXT=.o
@@ -652,6 +677,7 @@ FPCMADE=fpcmade.sun
 ZIPSUFFIX=sun
 endif
 ifeq ($(OS_TARGET),qnx)
+BATCHEXT=.sh
 PPUEXT=.ppu
 ASMEXT=.s
 OEXT=.o
@@ -674,13 +700,15 @@ ZIPSUFFIX=nw
 EXEEXT=.nlm
 endif
 ifeq ($(OS_TARGET),macos)
+BATCHEXT=
 PPUEXT=.ppu
 ASMEXT=.s
 OEXT=.o
 SMARTEXT=.sl
 STATICLIBEXT=.a
 EXEEXT=
-FPCMADE=fpcmade.mcc
+DEBUGSYMEXT=.xcoff
+FPCMADE=fpcmade.macos
 endif
 endif
 ifndef ECHO
@@ -688,7 +716,7 @@ ECHO:=$(strip $(wildcard $(addsuffix /gecho$(SRCEXEEXT),$(SEARCHPATH))))
 ifeq ($(ECHO),)
 ECHO:=$(strip $(wildcard $(addsuffix /echo$(SRCEXEEXT),$(SEARCHPATH))))
 ifeq ($(ECHO),)
-ECHO=
+ECHO= __missing_command__
 else
 ECHO:=$(firstword $(ECHO))
 endif
@@ -702,7 +730,7 @@ DATE:=$(strip $(wildcard $(addsuffix /gdate$(SRCEXEEXT),$(SEARCHPATH))))
 ifeq ($(DATE),)
 DATE:=$(strip $(wildcard $(addsuffix /date$(SRCEXEEXT),$(SEARCHPATH))))
 ifeq ($(DATE),)
-DATE=
+DATE= __missing_command__
 else
 DATE:=$(firstword $(DATE))
 endif
@@ -716,7 +744,7 @@ GINSTALL:=$(strip $(wildcard $(addsuffix /ginstall$(SRCEXEEXT),$(SEARCHPATH))))
 ifeq ($(GINSTALL),)
 GINSTALL:=$(strip $(wildcard $(addsuffix /install$(SRCEXEEXT),$(SEARCHPATH))))
 ifeq ($(GINSTALL),)
-GINSTALL=
+GINSTALL= __missing_command__
 else
 GINSTALL:=$(firstword $(GINSTALL))
 endif
@@ -728,7 +756,7 @@ export GINSTALL
 ifndef CPPROG
 CPPROG:=$(strip $(wildcard $(addsuffix /cp$(SRCEXEEXT),$(SEARCHPATH))))
 ifeq ($(CPPROG),)
-CPPROG=
+CPPROG= __missing_command__
 else
 CPPROG:=$(firstword $(CPPROG))
 endif
@@ -737,7 +765,7 @@ export CPPROG
 ifndef RMPROG
 RMPROG:=$(strip $(wildcard $(addsuffix /rm$(SRCEXEEXT),$(SEARCHPATH))))
 ifeq ($(RMPROG),)
-RMPROG=
+RMPROG= __missing_command__
 else
 RMPROG:=$(firstword $(RMPROG))
 endif
@@ -746,7 +774,7 @@ export RMPROG
 ifndef MVPROG
 MVPROG:=$(strip $(wildcard $(addsuffix /mv$(SRCEXEEXT),$(SEARCHPATH))))
 ifeq ($(MVPROG),)
-MVPROG=
+MVPROG= __missing_command__
 else
 MVPROG:=$(firstword $(MVPROG))
 endif
@@ -795,7 +823,7 @@ export ECHOREDIR COPY COPYTREE MOVE DEL DELTREE INSTALL INSTALLEXE MKDIR
 ifndef PPUMOVE
 PPUMOVE:=$(strip $(wildcard $(addsuffix /ppumove$(SRCEXEEXT),$(SEARCHPATH))))
 ifeq ($(PPUMOVE),)
-PPUMOVE=
+PPUMOVE= __missing_command__
 else
 PPUMOVE:=$(firstword $(PPUMOVE))
 endif
@@ -804,7 +832,7 @@ export PPUMOVE
 ifndef FPCMAKE
 FPCMAKE:=$(strip $(wildcard $(addsuffix /fpcmake$(SRCEXEEXT),$(SEARCHPATH))))
 ifeq ($(FPCMAKE),)
-FPCMAKE=
+FPCMAKE= __missing_command__
 else
 FPCMAKE:=$(firstword $(FPCMAKE))
 endif
@@ -813,7 +841,7 @@ export FPCMAKE
 ifndef ZIPPROG
 ZIPPROG:=$(strip $(wildcard $(addsuffix /zip$(SRCEXEEXT),$(SEARCHPATH))))
 ifeq ($(ZIPPROG),)
-ZIPPROG=
+ZIPPROG= __missing_command__
 else
 ZIPPROG:=$(firstword $(ZIPPROG))
 endif
@@ -822,7 +850,7 @@ export ZIPPROG
 ifndef TARPROG
 TARPROG:=$(strip $(wildcard $(addsuffix /tar$(SRCEXEEXT),$(SEARCHPATH))))
 ifeq ($(TARPROG),)
-TARPROG=
+TARPROG= __missing_command__
 else
 TARPROG:=$(firstword $(TARPROG))
 endif
@@ -834,9 +862,11 @@ ARNAME=$(BINUTILSPREFIX)ar
 RCNAME=$(BINUTILSPREFIX)rc
 ifneq ($(findstring 1.0.,$(FPC_VERSION)),)
 ifeq ($(OS_TARGET),win32)
-ASNAME=as
-LDNAME=ld
-ARNAME=ar
+ifeq ($(CROSSBINDIR),)
+ASNAME=asw
+LDNAME=ldw
+ARNAME=arw
+endif
 endif
 endif
 ifndef ASPROG
@@ -871,7 +901,7 @@ AS=$(ASPROG)
 LD=$(LDPROG)
 RC=$(RCPROG)
 AR=$(ARPROG)
-PPAS=ppas$(BATCHEXT)
+PPAS=ppas$(SRCBATCHEXT)
 ifdef inUnix
 LDCONFIG=ldconfig
 else
@@ -1571,8 +1601,12 @@ ifdef RELEASE
 ifeq ($(CPU_TARGET),i386)
 FPCCPUOPT:=-OG2p3
 else
+ifeq ($(CPU_TARGET),powerpc)
+FPCCPUOPT:=-O1
+else
 FPCCPUOPT:=
 endif
+endif
 override FPCOPT+=-Xs $(FPCCPUOPT) -n
 override FPCOPTDEF+=RELEASE
 endif
@@ -1822,7 +1856,7 @@ USEZIPWRAPPER=1
 endif
 ifdef USEZIPWRAPPER
 ZIPPATHSEP=$(PATHSEP)
-ZIPWRAPPER=$(subst /,$(PATHSEP),$(DIST_DESTDIR)/fpczip$(BATCHEXT))
+ZIPWRAPPER=$(subst /,$(PATHSEP),$(DIST_DESTDIR)/fpczip$(SRCBATCHEXT))
 else
 ZIPPATHSEP=/
 endif
@@ -1876,6 +1910,9 @@ override CLEANPPUFILES+=$(addsuffix $(PPUEXT),$(CLEAN_UNITS))
 endif
 ifdef 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 CLEANPPULINKFILES:=$(wildcard $(addprefix $(UNITTARGETDIRPREFIX),$(CLEANPPULINKFILES)))
 endif
@@ -1899,6 +1936,7 @@ ifdef LIB_NAME
 	-$(DEL) $(LIB_NAME) $(LIB_FULLNAME)
 endif
 	-$(DEL) $(FPCMADE) Package.fpc $(PPAS) script.res link.res $(FPCEXTFILE) $(REDIRFILE)
+	-$(DEL) *$(ASMEXT) *_ppas$(BATCHEXT)
 fpc_distclean: clean
 ifdef COMPILER_UNITTARGETDIR
 TARGETDIRCLEAN=fpc_clean
@@ -1910,9 +1948,13 @@ endif
 	-$(DEL) *$(OEXT) *$(PPUEXT) *$(RSTEXT) *$(ASMEXT) *$(STATICLIBEXT) *$(SHAREDLIBEXT) *$(PPLEXT)
 	-$(DELTREE) *$(SMARTEXT)
 	-$(DEL) $(FPCMADE) Package.fpc $(PPAS) script.res link.res $(FPCEXTFILE) $(REDIRFILE)
+	-$(DEL) *_ppas$(BATCHEXT)
 ifdef AOUTEXT
 	-$(DEL) *$(AOUTEXT)
 endif
+ifdef DEBUGSYMEXT
+	-$(DEL) *$(DEBUGSYMEXT)
+endif
 .PHONY: fpc_baseinfo
 override INFORULES+=fpc_baseinfo
 fpc_baseinfo:

+ 114 - 72
packages/extra/unixutil/Makefile

@@ -1,15 +1,24 @@
 #
-# Don't edit, this file is generated by FPCMake Version 1.1 [2004/02/22]
+# Don't edit, this file is generated by FPCMake Version 1.1 [2004/04/21]
 #
 default: all
 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:=$(subst \,/,$(PATH))
+ifneq ($(findstring darwin,$(OSTYPE)),)
+inUnix=1 #darwin
+SEARCHPATH:=$(filter-out .,$(subst :, ,$(PATH)))
+else
 ifeq ($(findstring ;,$(PATH)),)
 inUnix=1
 SEARCHPATH:=$(filter-out .,$(subst :, ,$(PATH)))
 else
 SEARCHPATH:=$(subst ;, ,$(PATH))
 endif
+endif
 SEARCHPATH+=$(patsubst %/,%,$(subst \,/,$(dir $(MAKE))))
 PWD:=$(strip $(wildcard $(addsuffix /pwd.exe,$(SEARCHPATH))))
 ifeq ($(PWD),)
@@ -37,22 +46,13 @@ ifneq ($(findstring cygdrive,$(PATH)),)
 inCygWin=1
 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
-BATCHEXT=.sh
+SRCBATCHEXT=.sh
 else
 ifdef inOS2
-BATCHEXT=.cmd
+SRCBATCHEXT=.cmd
 else
-BATCHEXT=.bat
+SRCBATCHEXT=.bat
 endif
 endif
 ifdef inUnix
@@ -155,6 +155,12 @@ ifeq ($(findstring $(OS_TARGET),$(MAKEFILETARGETS)),)
 $(error The Makefile doesn't support target $(OS_TARGET), please run fpcmake first)
 endif
 endif
+ifneq ($(findstring $(OS_TARGET),$(BSDs)),)
+BSDhier=1
+endif
+ifeq ($(OS_TARGET),linux)
+linuxHier=1
+endif
 export OS_TARGET OS_SOURCE CPU_TARGET CPU_SOURCE FULL_TARGET FULL_SOURCE CROSSCOMPILE
 ifdef FPCDIR
 override FPCDIR:=$(subst \,/,$(FPCDIR))
@@ -219,42 +225,12 @@ 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
-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
 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
 ifndef INSTALL_PREFIX
@@ -263,7 +239,7 @@ INSTALL_PREFIX=$(PREFIX)
 endif
 endif
 ifndef INSTALL_PREFIX
-ifdef UNIXINSTALLDIR
+ifdef UNIXHier
 INSTALL_PREFIX=/usr/local
 else
 ifdef INSTALL_FPCPACKAGE
@@ -282,7 +258,7 @@ DIST_DESTDIR:=$(BASEDIR)
 endif
 export DIST_DESTDIR
 ifndef INSTALL_BASEDIR
-ifdef UNIXINSTALLDIR
+ifdef UNIXHier
 ifdef INSTALL_FPCPACKAGE
 INSTALL_BASEDIR:=$(INSTALL_PREFIX)/lib/fpc/$(FPC_VERSION)
 else
@@ -293,7 +269,7 @@ INSTALL_BASEDIR:=$(INSTALL_PREFIX)
 endif
 endif
 ifndef INSTALL_BINDIR
-ifdef UNIXINSTALLDIR
+ifdef UNIXHier
 ifdef CROSSCOMPILE
 INSTALL_BINDIR:=$(INSTALL_BASEDIR)/cross/$(FULL_TARGET)/bin
 else
@@ -323,19 +299,23 @@ endif
 endif
 endif
 ifndef INSTALL_LIBDIR
-ifdef UNIXINSTALLDIR
+ifdef UNIXHier
 INSTALL_LIBDIR:=$(INSTALL_PREFIX)/lib
 else
 INSTALL_LIBDIR:=$(INSTALL_UNITDIR)
 endif
 endif
 ifndef INSTALL_SOURCEDIR
-ifdef UNIXINSTALLDIR
+ifdef UNIXHier
 ifdef BSDhier
 SRCPREFIXDIR=share/src
 else
+ifdef linuxHier
+SRCPREFIXDIR=share/src
+else
 SRCPREFIXDIR=src
 endif
+endif
 ifdef INSTALL_FPCPACKAGE
 ifdef INSTALL_FPCSUBDIR
 INSTALL_SOURCEDIR:=$(INSTALL_PREFIX)/$(SRCPREFIXDIR)/fpc-$(FPC_VERSION)/$(INSTALL_FPCSUBDIR)/$(PACKAGE_NAME)
@@ -358,12 +338,16 @@ endif
 endif
 endif
 ifndef INSTALL_DOCDIR
-ifdef UNIXINSTALLDIR
+ifdef UNIXHier
 ifdef BSDhier
 DOCPREFIXDIR=share/doc
 else
+ifdef linuxHier
+DOCPREFIXDIR=share/doc
+else
 DOCPREFIXDIR=doc
 endif
+endif
 ifdef INSTALL_FPCPACKAGE
 INSTALL_DOCDIR:=$(INSTALL_PREFIX)/$(DOCPREFIXDIR)/fpc-$(FPC_VERSION)/$(PACKAGE_NAME)
 else
@@ -378,20 +362,28 @@ endif
 endif
 endif
 ifndef INSTALL_EXAMPLEDIR
-ifdef UNIXINSTALLDIR
+ifdef UNIXHier
 ifdef INSTALL_FPCPACKAGE
 ifdef BSDhier
 INSTALL_EXAMPLEDIR:=$(INSTALL_PREFIX)/share/examples/fpc-$(FPC_VERSION)/$(PACKAGE_NAME)
 else
+ifdef linuxHier
+INSTALL_EXAMPLEDIR:=$(INSTALL_DOCDIR)/examples/fpc-$(FPC_VERSION)/$(PACKAGE_NAME)
+else
 INSTALL_EXAMPLEDIR:=$(INSTALL_PREFIX)/doc/fpc-$(FPC_VERSION)/examples/$(PACKAGE_NAME)
 endif
+endif
 else
 ifdef BSDhier
 INSTALL_EXAMPLEDIR:=$(INSTALL_PREFIX)/share/examples/$(PACKAGE_NAME)-$(PACKAGE_VERSION)
 else
+ifdef linuxHier
+INSTALL_EXAMPLEDIR:=$(INSTALL_DOCDIR)/examples/$(PACKAGE_NAME)-$(PACKAGE_VERSION)
+else
 INSTALL_EXAMPLEDIR:=$(INSTALL_PREFIX)/doc/$(PACKAGE_NAME)-$(PACKAGE_VERSION)
 endif
 endif
+endif
 else
 ifdef INSTALL_FPCPACKAGE
 INSTALL_EXAMPLEDIR:=$(INSTALL_BASEDIR)/examples/$(PACKAGE_NAME)
@@ -415,7 +407,19 @@ CROSSBINDIR=
 endif
 ifeq ($(OS_SOURCE),linux)
 ifndef GCCLIBDIR
-GCCLIBDIR:=$(shell dirname `gcc -print-libgcc-file-name`)
+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
 ifndef OTHERLIBDIR
 OTHERLIBDIR:=$(shell grep -v "^\#" /etc/ld.so.conf | awk '{ ORS=" "; print $1 }')
@@ -427,6 +431,7 @@ OTHERLIBDIR+=/usr/pkg/lib
 endif
 export GCCLIBDIR OTHERLIB
 endif
+BATCHEXT=.bat
 LOADEREXT=.as
 EXEEXT=.exe
 PPLEXT=.ppl
@@ -459,24 +464,28 @@ ASMEXT=.asm
 SHAREDLIBEXT=.dll
 endif
 ifeq ($(OS_TARGET),linux)
+BATCHEXT=.sh
 EXEEXT=
 HASSHAREDLIB=1
 FPCMADE=fpcmade.lnx
 ZIPSUFFIX=linux
 endif
 ifeq ($(OS_TARGET),freebsd)
+BATCHEXT=.sh
 EXEEXT=
 HASSHAREDLIB=1
 FPCMADE=fpcmade.freebsd
 ZIPSUFFIX=freebsd
 endif
 ifeq ($(OS_TARGET),netbsd)
+BATCHEXT=.sh
 EXEEXT=
 HASSHAREDLIB=1
 FPCMADE=fpcmade.netbsd
 ZIPSUFFIX=netbsd
 endif
 ifeq ($(OS_TARGET),openbsd)
+BATCHEXT=.sh
 EXEEXT=
 HASSHAREDLIB=1
 FPCMADE=fpcmade.openbsd
@@ -488,6 +497,7 @@ FPCMADE=fpcmade.w32
 ZIPSUFFIX=w32
 endif
 ifeq ($(OS_TARGET),os2)
+BATCHEXT=.cmd
 AOUTEXT=.out
 STATICLIBPREFIX=
 SHAREDLIBEXT=.dll
@@ -496,6 +506,7 @@ ZIPSUFFIX=os2
 ECHO=echo
 endif
 ifeq ($(OS_TARGET),emx)
+BATCHEXT=.cmd
 AOUTEXT=.out
 STATICLIBPREFIX=
 SHAREDLIBEXT=.dll
@@ -513,16 +524,19 @@ EXEEXT=.ttp
 FPCMADE=fpcmade.ata
 endif
 ifeq ($(OS_TARGET),beos)
+BATCHEXT=.sh
 EXEEXT=
 FPCMADE=fpcmade.be
 ZIPSUFFIX=be
 endif
 ifeq ($(OS_TARGET),sunos)
+BATCHEXT=.sh
 EXEEXT=
 FPCMADE=fpcmade.sun
 ZIPSUFFIX=sun
 endif
 ifeq ($(OS_TARGET),qnx)
+BATCHEXT=.sh
 EXEEXT=
 FPCMADE=fpcmade.qnx
 ZIPSUFFIX=qnx
@@ -534,10 +548,14 @@ FPCMADE=fpcmade.nw
 ZIPSUFFIX=nw
 endif
 ifeq ($(OS_TARGET),macos)
+BATCHEXT=
 EXEEXT=
-FPCMADE=fpcmade.mcc
+FPCMADE=fpcmade.macos
+ZIPSUFFIX=macos
+DEBUGSYMEXT=.xcoff
 endif
 ifeq ($(OS_TARGET),darwin)
+BATCHEXT=.sh
 EXEEXT=
 HASSHAREDLIB=1
 FPCMADE=fpcmade.darwin
@@ -566,24 +584,28 @@ FPCMADE=fpcmade.dos
 ZIPSUFFIX=watcom
 endif
 ifeq ($(OS_TARGET),linux)
+BATCHEXT=.sh
 EXEEXT=
 HASSHAREDLIB=1
 FPCMADE=fpcmade.lnx
 ZIPSUFFIX=linux
 endif
 ifeq ($(OS_TARGET),freebsd)
+BATCHEXT=.sh
 EXEEXT=
 HASSHAREDLIB=1
 FPCMADE=fpcmade.freebsd
 ZIPSUFFIX=freebsd
 endif
 ifeq ($(OS_TARGET),netbsd)
+BATCHEXT=.sh
 EXEEXT=
 HASSHAREDLIB=1
 FPCMADE=fpcmade.netbsd
 ZIPSUFFIX=netbsd
 endif
 ifeq ($(OS_TARGET),openbsd)
+BATCHEXT=.sh
 EXEEXT=
 HASSHAREDLIB=1
 FPCMADE=fpcmade.openbsd
@@ -600,6 +622,7 @@ FPCMADE=fpcmade.w32
 ZIPSUFFIX=w32
 endif
 ifeq ($(OS_TARGET),os2)
+BATCHEXT=.cmd
 PPUEXT=.ppo
 ASMEXT=.so2
 OEXT=.oo2
@@ -632,6 +655,7 @@ EXEEXT=.ttp
 FPCMADE=fpcmade.ata
 endif
 ifeq ($(OS_TARGET),beos)
+BATCHEXT=.sh
 PPUEXT=.ppu
 ASMEXT=.s
 OEXT=.o
@@ -642,6 +666,7 @@ FPCMADE=fpcmade.be
 ZIPSUFFIX=be
 endif
 ifeq ($(OS_TARGET),sunos)
+BATCHEXT=.sh
 PPUEXT=.ppu
 ASMEXT=.s
 OEXT=.o
@@ -652,6 +677,7 @@ FPCMADE=fpcmade.sun
 ZIPSUFFIX=sun
 endif
 ifeq ($(OS_TARGET),qnx)
+BATCHEXT=.sh
 PPUEXT=.ppu
 ASMEXT=.s
 OEXT=.o
@@ -674,13 +700,15 @@ ZIPSUFFIX=nw
 EXEEXT=.nlm
 endif
 ifeq ($(OS_TARGET),macos)
+BATCHEXT=
 PPUEXT=.ppu
 ASMEXT=.s
 OEXT=.o
 SMARTEXT=.sl
 STATICLIBEXT=.a
 EXEEXT=
-FPCMADE=fpcmade.mcc
+DEBUGSYMEXT=.xcoff
+FPCMADE=fpcmade.macos
 endif
 endif
 ifndef ECHO
@@ -688,7 +716,7 @@ ECHO:=$(strip $(wildcard $(addsuffix /gecho$(SRCEXEEXT),$(SEARCHPATH))))
 ifeq ($(ECHO),)
 ECHO:=$(strip $(wildcard $(addsuffix /echo$(SRCEXEEXT),$(SEARCHPATH))))
 ifeq ($(ECHO),)
-ECHO=
+ECHO= __missing_command__
 else
 ECHO:=$(firstword $(ECHO))
 endif
@@ -702,7 +730,7 @@ DATE:=$(strip $(wildcard $(addsuffix /gdate$(SRCEXEEXT),$(SEARCHPATH))))
 ifeq ($(DATE),)
 DATE:=$(strip $(wildcard $(addsuffix /date$(SRCEXEEXT),$(SEARCHPATH))))
 ifeq ($(DATE),)
-DATE=
+DATE= __missing_command__
 else
 DATE:=$(firstword $(DATE))
 endif
@@ -716,7 +744,7 @@ GINSTALL:=$(strip $(wildcard $(addsuffix /ginstall$(SRCEXEEXT),$(SEARCHPATH))))
 ifeq ($(GINSTALL),)
 GINSTALL:=$(strip $(wildcard $(addsuffix /install$(SRCEXEEXT),$(SEARCHPATH))))
 ifeq ($(GINSTALL),)
-GINSTALL=
+GINSTALL= __missing_command__
 else
 GINSTALL:=$(firstword $(GINSTALL))
 endif
@@ -728,7 +756,7 @@ export GINSTALL
 ifndef CPPROG
 CPPROG:=$(strip $(wildcard $(addsuffix /cp$(SRCEXEEXT),$(SEARCHPATH))))
 ifeq ($(CPPROG),)
-CPPROG=
+CPPROG= __missing_command__
 else
 CPPROG:=$(firstword $(CPPROG))
 endif
@@ -737,7 +765,7 @@ export CPPROG
 ifndef RMPROG
 RMPROG:=$(strip $(wildcard $(addsuffix /rm$(SRCEXEEXT),$(SEARCHPATH))))
 ifeq ($(RMPROG),)
-RMPROG=
+RMPROG= __missing_command__
 else
 RMPROG:=$(firstword $(RMPROG))
 endif
@@ -746,7 +774,7 @@ export RMPROG
 ifndef MVPROG
 MVPROG:=$(strip $(wildcard $(addsuffix /mv$(SRCEXEEXT),$(SEARCHPATH))))
 ifeq ($(MVPROG),)
-MVPROG=
+MVPROG= __missing_command__
 else
 MVPROG:=$(firstword $(MVPROG))
 endif
@@ -795,7 +823,7 @@ export ECHOREDIR COPY COPYTREE MOVE DEL DELTREE INSTALL INSTALLEXE MKDIR
 ifndef PPUMOVE
 PPUMOVE:=$(strip $(wildcard $(addsuffix /ppumove$(SRCEXEEXT),$(SEARCHPATH))))
 ifeq ($(PPUMOVE),)
-PPUMOVE=
+PPUMOVE= __missing_command__
 else
 PPUMOVE:=$(firstword $(PPUMOVE))
 endif
@@ -804,7 +832,7 @@ export PPUMOVE
 ifndef FPCMAKE
 FPCMAKE:=$(strip $(wildcard $(addsuffix /fpcmake$(SRCEXEEXT),$(SEARCHPATH))))
 ifeq ($(FPCMAKE),)
-FPCMAKE=
+FPCMAKE= __missing_command__
 else
 FPCMAKE:=$(firstword $(FPCMAKE))
 endif
@@ -813,7 +841,7 @@ export FPCMAKE
 ifndef ZIPPROG
 ZIPPROG:=$(strip $(wildcard $(addsuffix /zip$(SRCEXEEXT),$(SEARCHPATH))))
 ifeq ($(ZIPPROG),)
-ZIPPROG=
+ZIPPROG= __missing_command__
 else
 ZIPPROG:=$(firstword $(ZIPPROG))
 endif
@@ -822,7 +850,7 @@ export ZIPPROG
 ifndef TARPROG
 TARPROG:=$(strip $(wildcard $(addsuffix /tar$(SRCEXEEXT),$(SEARCHPATH))))
 ifeq ($(TARPROG),)
-TARPROG=
+TARPROG= __missing_command__
 else
 TARPROG:=$(firstword $(TARPROG))
 endif
@@ -834,9 +862,11 @@ ARNAME=$(BINUTILSPREFIX)ar
 RCNAME=$(BINUTILSPREFIX)rc
 ifneq ($(findstring 1.0.,$(FPC_VERSION)),)
 ifeq ($(OS_TARGET),win32)
-ASNAME=as
-LDNAME=ld
-ARNAME=ar
+ifeq ($(CROSSBINDIR),)
+ASNAME=asw
+LDNAME=ldw
+ARNAME=arw
+endif
 endif
 endif
 ifndef ASPROG
@@ -871,7 +901,7 @@ AS=$(ASPROG)
 LD=$(LDPROG)
 RC=$(RCPROG)
 AR=$(ARPROG)
-PPAS=ppas$(BATCHEXT)
+PPAS=ppas$(SRCBATCHEXT)
 ifdef inUnix
 LDCONFIG=ldconfig
 else
@@ -1627,8 +1657,12 @@ ifdef RELEASE
 ifeq ($(CPU_TARGET),i386)
 FPCCPUOPT:=-OG2p3
 else
+ifeq ($(CPU_TARGET),powerpc)
+FPCCPUOPT:=-O1
+else
 FPCCPUOPT:=
 endif
+endif
 override FPCOPT+=-Xs $(FPCCPUOPT) -n
 override FPCOPTDEF+=RELEASE
 endif
@@ -1860,7 +1894,7 @@ USEZIPWRAPPER=1
 endif
 ifdef USEZIPWRAPPER
 ZIPPATHSEP=$(PATHSEP)
-ZIPWRAPPER=$(subst /,$(PATHSEP),$(DIST_DESTDIR)/fpczip$(BATCHEXT))
+ZIPWRAPPER=$(subst /,$(PATHSEP),$(DIST_DESTDIR)/fpczip$(SRCBATCHEXT))
 else
 ZIPPATHSEP=/
 endif
@@ -1914,6 +1948,9 @@ override CLEANPPUFILES+=$(addsuffix $(PPUEXT),$(CLEAN_UNITS))
 endif
 ifdef 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 CLEANPPULINKFILES:=$(wildcard $(addprefix $(UNITTARGETDIRPREFIX),$(CLEANPPULINKFILES)))
 endif
@@ -1937,6 +1974,7 @@ ifdef LIB_NAME
 	-$(DEL) $(LIB_NAME) $(LIB_FULLNAME)
 endif
 	-$(DEL) $(FPCMADE) Package.fpc $(PPAS) script.res link.res $(FPCEXTFILE) $(REDIRFILE)
+	-$(DEL) *$(ASMEXT) *_ppas$(BATCHEXT)
 fpc_distclean: clean
 ifdef COMPILER_UNITTARGETDIR
 TARGETDIRCLEAN=fpc_clean
@@ -1948,9 +1986,13 @@ endif
 	-$(DEL) *$(OEXT) *$(PPUEXT) *$(RSTEXT) *$(ASMEXT) *$(STATICLIBEXT) *$(SHAREDLIBEXT) *$(PPLEXT)
 	-$(DELTREE) *$(SMARTEXT)
 	-$(DEL) $(FPCMADE) Package.fpc $(PPAS) script.res link.res $(FPCEXTFILE) $(REDIRFILE)
+	-$(DEL) *_ppas$(BATCHEXT)
 ifdef AOUTEXT
 	-$(DEL) *$(AOUTEXT)
 endif
+ifdef DEBUGSYMEXT
+	-$(DEL) *$(DEBUGSYMEXT)
+endif
 .PHONY: fpc_baseinfo
 override INFORULES+=fpc_baseinfo
 fpc_baseinfo:

+ 101 - 71
packages/extra/unzip/Makefile

@@ -1,15 +1,24 @@
 #
-# Don't edit, this file is generated by FPCMake Version 1.1 [2004/02/22]
+# Don't edit, this file is generated by FPCMake Version 1.1 [2004/04/21]
 #
 default: all
 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:=$(subst \,/,$(PATH))
+ifneq ($(findstring darwin,$(OSTYPE)),)
+inUnix=1 #darwin
+SEARCHPATH:=$(filter-out .,$(subst :, ,$(PATH)))
+else
 ifeq ($(findstring ;,$(PATH)),)
 inUnix=1
 SEARCHPATH:=$(filter-out .,$(subst :, ,$(PATH)))
 else
 SEARCHPATH:=$(subst ;, ,$(PATH))
 endif
+endif
 SEARCHPATH+=$(patsubst %/,%,$(subst \,/,$(dir $(MAKE))))
 PWD:=$(strip $(wildcard $(addsuffix /pwd.exe,$(SEARCHPATH))))
 ifeq ($(PWD),)
@@ -37,22 +46,13 @@ ifneq ($(findstring cygdrive,$(PATH)),)
 inCygWin=1
 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
-BATCHEXT=.sh
+SRCBATCHEXT=.sh
 else
 ifdef inOS2
-BATCHEXT=.cmd
+SRCBATCHEXT=.cmd
 else
-BATCHEXT=.bat
+SRCBATCHEXT=.bat
 endif
 endif
 ifdef inUnix
@@ -155,6 +155,12 @@ ifeq ($(findstring $(OS_TARGET),$(MAKEFILETARGETS)),)
 $(error The Makefile doesn't support target $(OS_TARGET), please run fpcmake first)
 endif
 endif
+ifneq ($(findstring $(OS_TARGET),$(BSDs)),)
+BSDhier=1
+endif
+ifeq ($(OS_TARGET),linux)
+linuxHier=1
+endif
 export OS_TARGET OS_SOURCE CPU_TARGET CPU_SOURCE FULL_TARGET FULL_SOURCE CROSSCOMPILE
 ifdef FPCDIR
 override FPCDIR:=$(subst \,/,$(FPCDIR))
@@ -224,42 +230,12 @@ 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
-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
 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
 ifndef INSTALL_PREFIX
@@ -268,7 +244,7 @@ INSTALL_PREFIX=$(PREFIX)
 endif
 endif
 ifndef INSTALL_PREFIX
-ifdef UNIXINSTALLDIR
+ifdef UNIXHier
 INSTALL_PREFIX=/usr/local
 else
 ifdef INSTALL_FPCPACKAGE
@@ -287,7 +263,7 @@ DIST_DESTDIR:=$(BASEDIR)
 endif
 export DIST_DESTDIR
 ifndef INSTALL_BASEDIR
-ifdef UNIXINSTALLDIR
+ifdef UNIXHier
 ifdef INSTALL_FPCPACKAGE
 INSTALL_BASEDIR:=$(INSTALL_PREFIX)/lib/fpc/$(FPC_VERSION)
 else
@@ -298,7 +274,7 @@ INSTALL_BASEDIR:=$(INSTALL_PREFIX)
 endif
 endif
 ifndef INSTALL_BINDIR
-ifdef UNIXINSTALLDIR
+ifdef UNIXHier
 ifdef CROSSCOMPILE
 INSTALL_BINDIR:=$(INSTALL_BASEDIR)/cross/$(FULL_TARGET)/bin
 else
@@ -328,19 +304,23 @@ endif
 endif
 endif
 ifndef INSTALL_LIBDIR
-ifdef UNIXINSTALLDIR
+ifdef UNIXHier
 INSTALL_LIBDIR:=$(INSTALL_PREFIX)/lib
 else
 INSTALL_LIBDIR:=$(INSTALL_UNITDIR)
 endif
 endif
 ifndef INSTALL_SOURCEDIR
-ifdef UNIXINSTALLDIR
+ifdef UNIXHier
 ifdef BSDhier
 SRCPREFIXDIR=share/src
 else
+ifdef linuxHier
+SRCPREFIXDIR=share/src
+else
 SRCPREFIXDIR=src
 endif
+endif
 ifdef INSTALL_FPCPACKAGE
 ifdef INSTALL_FPCSUBDIR
 INSTALL_SOURCEDIR:=$(INSTALL_PREFIX)/$(SRCPREFIXDIR)/fpc-$(FPC_VERSION)/$(INSTALL_FPCSUBDIR)/$(PACKAGE_NAME)
@@ -363,12 +343,16 @@ endif
 endif
 endif
 ifndef INSTALL_DOCDIR
-ifdef UNIXINSTALLDIR
+ifdef UNIXHier
 ifdef BSDhier
 DOCPREFIXDIR=share/doc
 else
+ifdef linuxHier
+DOCPREFIXDIR=share/doc
+else
 DOCPREFIXDIR=doc
 endif
+endif
 ifdef INSTALL_FPCPACKAGE
 INSTALL_DOCDIR:=$(INSTALL_PREFIX)/$(DOCPREFIXDIR)/fpc-$(FPC_VERSION)/$(PACKAGE_NAME)
 else
@@ -383,20 +367,28 @@ endif
 endif
 endif
 ifndef INSTALL_EXAMPLEDIR
-ifdef UNIXINSTALLDIR
+ifdef UNIXHier
 ifdef INSTALL_FPCPACKAGE
 ifdef BSDhier
 INSTALL_EXAMPLEDIR:=$(INSTALL_PREFIX)/share/examples/fpc-$(FPC_VERSION)/$(PACKAGE_NAME)
 else
+ifdef linuxHier
+INSTALL_EXAMPLEDIR:=$(INSTALL_DOCDIR)/examples/fpc-$(FPC_VERSION)/$(PACKAGE_NAME)
+else
 INSTALL_EXAMPLEDIR:=$(INSTALL_PREFIX)/doc/fpc-$(FPC_VERSION)/examples/$(PACKAGE_NAME)
 endif
+endif
 else
 ifdef BSDhier
 INSTALL_EXAMPLEDIR:=$(INSTALL_PREFIX)/share/examples/$(PACKAGE_NAME)-$(PACKAGE_VERSION)
 else
+ifdef linuxHier
+INSTALL_EXAMPLEDIR:=$(INSTALL_DOCDIR)/examples/$(PACKAGE_NAME)-$(PACKAGE_VERSION)
+else
 INSTALL_EXAMPLEDIR:=$(INSTALL_PREFIX)/doc/$(PACKAGE_NAME)-$(PACKAGE_VERSION)
 endif
 endif
+endif
 else
 ifdef INSTALL_FPCPACKAGE
 INSTALL_EXAMPLEDIR:=$(INSTALL_BASEDIR)/examples/$(PACKAGE_NAME)
@@ -418,6 +410,7 @@ endif
 else
 CROSSBINDIR=
 endif
+BATCHEXT=.bat
 LOADEREXT=.as
 EXEEXT=.exe
 PPLEXT=.ppl
@@ -450,24 +443,28 @@ ASMEXT=.asm
 SHAREDLIBEXT=.dll
 endif
 ifeq ($(OS_TARGET),linux)
+BATCHEXT=.sh
 EXEEXT=
 HASSHAREDLIB=1
 FPCMADE=fpcmade.lnx
 ZIPSUFFIX=linux
 endif
 ifeq ($(OS_TARGET),freebsd)
+BATCHEXT=.sh
 EXEEXT=
 HASSHAREDLIB=1
 FPCMADE=fpcmade.freebsd
 ZIPSUFFIX=freebsd
 endif
 ifeq ($(OS_TARGET),netbsd)
+BATCHEXT=.sh
 EXEEXT=
 HASSHAREDLIB=1
 FPCMADE=fpcmade.netbsd
 ZIPSUFFIX=netbsd
 endif
 ifeq ($(OS_TARGET),openbsd)
+BATCHEXT=.sh
 EXEEXT=
 HASSHAREDLIB=1
 FPCMADE=fpcmade.openbsd
@@ -479,6 +476,7 @@ FPCMADE=fpcmade.w32
 ZIPSUFFIX=w32
 endif
 ifeq ($(OS_TARGET),os2)
+BATCHEXT=.cmd
 AOUTEXT=.out
 STATICLIBPREFIX=
 SHAREDLIBEXT=.dll
@@ -487,6 +485,7 @@ ZIPSUFFIX=os2
 ECHO=echo
 endif
 ifeq ($(OS_TARGET),emx)
+BATCHEXT=.cmd
 AOUTEXT=.out
 STATICLIBPREFIX=
 SHAREDLIBEXT=.dll
@@ -504,16 +503,19 @@ EXEEXT=.ttp
 FPCMADE=fpcmade.ata
 endif
 ifeq ($(OS_TARGET),beos)
+BATCHEXT=.sh
 EXEEXT=
 FPCMADE=fpcmade.be
 ZIPSUFFIX=be
 endif
 ifeq ($(OS_TARGET),sunos)
+BATCHEXT=.sh
 EXEEXT=
 FPCMADE=fpcmade.sun
 ZIPSUFFIX=sun
 endif
 ifeq ($(OS_TARGET),qnx)
+BATCHEXT=.sh
 EXEEXT=
 FPCMADE=fpcmade.qnx
 ZIPSUFFIX=qnx
@@ -525,10 +527,14 @@ FPCMADE=fpcmade.nw
 ZIPSUFFIX=nw
 endif
 ifeq ($(OS_TARGET),macos)
+BATCHEXT=
 EXEEXT=
-FPCMADE=fpcmade.mcc
+FPCMADE=fpcmade.macos
+ZIPSUFFIX=macos
+DEBUGSYMEXT=.xcoff
 endif
 ifeq ($(OS_TARGET),darwin)
+BATCHEXT=.sh
 EXEEXT=
 HASSHAREDLIB=1
 FPCMADE=fpcmade.darwin
@@ -557,24 +563,28 @@ FPCMADE=fpcmade.dos
 ZIPSUFFIX=watcom
 endif
 ifeq ($(OS_TARGET),linux)
+BATCHEXT=.sh
 EXEEXT=
 HASSHAREDLIB=1
 FPCMADE=fpcmade.lnx
 ZIPSUFFIX=linux
 endif
 ifeq ($(OS_TARGET),freebsd)
+BATCHEXT=.sh
 EXEEXT=
 HASSHAREDLIB=1
 FPCMADE=fpcmade.freebsd
 ZIPSUFFIX=freebsd
 endif
 ifeq ($(OS_TARGET),netbsd)
+BATCHEXT=.sh
 EXEEXT=
 HASSHAREDLIB=1
 FPCMADE=fpcmade.netbsd
 ZIPSUFFIX=netbsd
 endif
 ifeq ($(OS_TARGET),openbsd)
+BATCHEXT=.sh
 EXEEXT=
 HASSHAREDLIB=1
 FPCMADE=fpcmade.openbsd
@@ -591,6 +601,7 @@ FPCMADE=fpcmade.w32
 ZIPSUFFIX=w32
 endif
 ifeq ($(OS_TARGET),os2)
+BATCHEXT=.cmd
 PPUEXT=.ppo
 ASMEXT=.so2
 OEXT=.oo2
@@ -623,6 +634,7 @@ EXEEXT=.ttp
 FPCMADE=fpcmade.ata
 endif
 ifeq ($(OS_TARGET),beos)
+BATCHEXT=.sh
 PPUEXT=.ppu
 ASMEXT=.s
 OEXT=.o
@@ -633,6 +645,7 @@ FPCMADE=fpcmade.be
 ZIPSUFFIX=be
 endif
 ifeq ($(OS_TARGET),sunos)
+BATCHEXT=.sh
 PPUEXT=.ppu
 ASMEXT=.s
 OEXT=.o
@@ -643,6 +656,7 @@ FPCMADE=fpcmade.sun
 ZIPSUFFIX=sun
 endif
 ifeq ($(OS_TARGET),qnx)
+BATCHEXT=.sh
 PPUEXT=.ppu
 ASMEXT=.s
 OEXT=.o
@@ -665,13 +679,15 @@ ZIPSUFFIX=nw
 EXEEXT=.nlm
 endif
 ifeq ($(OS_TARGET),macos)
+BATCHEXT=
 PPUEXT=.ppu
 ASMEXT=.s
 OEXT=.o
 SMARTEXT=.sl
 STATICLIBEXT=.a
 EXEEXT=
-FPCMADE=fpcmade.mcc
+DEBUGSYMEXT=.xcoff
+FPCMADE=fpcmade.macos
 endif
 endif
 ifndef ECHO
@@ -679,7 +695,7 @@ ECHO:=$(strip $(wildcard $(addsuffix /gecho$(SRCEXEEXT),$(SEARCHPATH))))
 ifeq ($(ECHO),)
 ECHO:=$(strip $(wildcard $(addsuffix /echo$(SRCEXEEXT),$(SEARCHPATH))))
 ifeq ($(ECHO),)
-ECHO=
+ECHO= __missing_command__
 else
 ECHO:=$(firstword $(ECHO))
 endif
@@ -693,7 +709,7 @@ DATE:=$(strip $(wildcard $(addsuffix /gdate$(SRCEXEEXT),$(SEARCHPATH))))
 ifeq ($(DATE),)
 DATE:=$(strip $(wildcard $(addsuffix /date$(SRCEXEEXT),$(SEARCHPATH))))
 ifeq ($(DATE),)
-DATE=
+DATE= __missing_command__
 else
 DATE:=$(firstword $(DATE))
 endif
@@ -707,7 +723,7 @@ GINSTALL:=$(strip $(wildcard $(addsuffix /ginstall$(SRCEXEEXT),$(SEARCHPATH))))
 ifeq ($(GINSTALL),)
 GINSTALL:=$(strip $(wildcard $(addsuffix /install$(SRCEXEEXT),$(SEARCHPATH))))
 ifeq ($(GINSTALL),)
-GINSTALL=
+GINSTALL= __missing_command__
 else
 GINSTALL:=$(firstword $(GINSTALL))
 endif
@@ -719,7 +735,7 @@ export GINSTALL
 ifndef CPPROG
 CPPROG:=$(strip $(wildcard $(addsuffix /cp$(SRCEXEEXT),$(SEARCHPATH))))
 ifeq ($(CPPROG),)
-CPPROG=
+CPPROG= __missing_command__
 else
 CPPROG:=$(firstword $(CPPROG))
 endif
@@ -728,7 +744,7 @@ export CPPROG
 ifndef RMPROG
 RMPROG:=$(strip $(wildcard $(addsuffix /rm$(SRCEXEEXT),$(SEARCHPATH))))
 ifeq ($(RMPROG),)
-RMPROG=
+RMPROG= __missing_command__
 else
 RMPROG:=$(firstword $(RMPROG))
 endif
@@ -737,7 +753,7 @@ export RMPROG
 ifndef MVPROG
 MVPROG:=$(strip $(wildcard $(addsuffix /mv$(SRCEXEEXT),$(SEARCHPATH))))
 ifeq ($(MVPROG),)
-MVPROG=
+MVPROG= __missing_command__
 else
 MVPROG:=$(firstword $(MVPROG))
 endif
@@ -786,7 +802,7 @@ export ECHOREDIR COPY COPYTREE MOVE DEL DELTREE INSTALL INSTALLEXE MKDIR
 ifndef PPUMOVE
 PPUMOVE:=$(strip $(wildcard $(addsuffix /ppumove$(SRCEXEEXT),$(SEARCHPATH))))
 ifeq ($(PPUMOVE),)
-PPUMOVE=
+PPUMOVE= __missing_command__
 else
 PPUMOVE:=$(firstword $(PPUMOVE))
 endif
@@ -795,7 +811,7 @@ export PPUMOVE
 ifndef FPCMAKE
 FPCMAKE:=$(strip $(wildcard $(addsuffix /fpcmake$(SRCEXEEXT),$(SEARCHPATH))))
 ifeq ($(FPCMAKE),)
-FPCMAKE=
+FPCMAKE= __missing_command__
 else
 FPCMAKE:=$(firstword $(FPCMAKE))
 endif
@@ -804,7 +820,7 @@ export FPCMAKE
 ifndef ZIPPROG
 ZIPPROG:=$(strip $(wildcard $(addsuffix /zip$(SRCEXEEXT),$(SEARCHPATH))))
 ifeq ($(ZIPPROG),)
-ZIPPROG=
+ZIPPROG= __missing_command__
 else
 ZIPPROG:=$(firstword $(ZIPPROG))
 endif
@@ -813,7 +829,7 @@ export ZIPPROG
 ifndef TARPROG
 TARPROG:=$(strip $(wildcard $(addsuffix /tar$(SRCEXEEXT),$(SEARCHPATH))))
 ifeq ($(TARPROG),)
-TARPROG=
+TARPROG= __missing_command__
 else
 TARPROG:=$(firstword $(TARPROG))
 endif
@@ -825,9 +841,11 @@ ARNAME=$(BINUTILSPREFIX)ar
 RCNAME=$(BINUTILSPREFIX)rc
 ifneq ($(findstring 1.0.,$(FPC_VERSION)),)
 ifeq ($(OS_TARGET),win32)
-ASNAME=as
-LDNAME=ld
-ARNAME=ar
+ifeq ($(CROSSBINDIR),)
+ASNAME=asw
+LDNAME=ldw
+ARNAME=arw
+endif
 endif
 endif
 ifndef ASPROG
@@ -862,7 +880,7 @@ AS=$(ASPROG)
 LD=$(LDPROG)
 RC=$(RCPROG)
 AR=$(ARPROG)
-PPAS=ppas$(BATCHEXT)
+PPAS=ppas$(SRCBATCHEXT)
 ifdef inUnix
 LDCONFIG=ldconfig
 else
@@ -1121,8 +1139,12 @@ ifdef RELEASE
 ifeq ($(CPU_TARGET),i386)
 FPCCPUOPT:=-OG2p3
 else
+ifeq ($(CPU_TARGET),powerpc)
+FPCCPUOPT:=-O1
+else
 FPCCPUOPT:=
 endif
+endif
 override FPCOPT+=-Xs $(FPCCPUOPT) -n
 override FPCOPTDEF+=RELEASE
 endif
@@ -1348,7 +1370,7 @@ USEZIPWRAPPER=1
 endif
 ifdef USEZIPWRAPPER
 ZIPPATHSEP=$(PATHSEP)
-ZIPWRAPPER=$(subst /,$(PATHSEP),$(DIST_DESTDIR)/fpczip$(BATCHEXT))
+ZIPWRAPPER=$(subst /,$(PATHSEP),$(DIST_DESTDIR)/fpczip$(SRCBATCHEXT))
 else
 ZIPPATHSEP=/
 endif
@@ -1402,6 +1424,9 @@ override CLEANPPUFILES+=$(addsuffix $(PPUEXT),$(CLEAN_UNITS))
 endif
 ifdef 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 CLEANPPULINKFILES:=$(wildcard $(addprefix $(UNITTARGETDIRPREFIX),$(CLEANPPULINKFILES)))
 endif
@@ -1425,6 +1450,7 @@ ifdef LIB_NAME
 	-$(DEL) $(LIB_NAME) $(LIB_FULLNAME)
 endif
 	-$(DEL) $(FPCMADE) Package.fpc $(PPAS) script.res link.res $(FPCEXTFILE) $(REDIRFILE)
+	-$(DEL) *$(ASMEXT) *_ppas$(BATCHEXT)
 fpc_distclean: clean
 ifdef COMPILER_UNITTARGETDIR
 TARGETDIRCLEAN=fpc_clean
@@ -1436,9 +1462,13 @@ endif
 	-$(DEL) *$(OEXT) *$(PPUEXT) *$(RSTEXT) *$(ASMEXT) *$(STATICLIBEXT) *$(SHAREDLIBEXT) *$(PPLEXT)
 	-$(DELTREE) *$(SMARTEXT)
 	-$(DEL) $(FPCMADE) Package.fpc $(PPAS) script.res link.res $(FPCEXTFILE) $(REDIRFILE)
+	-$(DEL) *_ppas$(BATCHEXT)
 ifdef AOUTEXT
 	-$(DEL) *$(AOUTEXT)
 endif
+ifdef DEBUGSYMEXT
+	-$(DEL) *$(DEBUGSYMEXT)
+endif
 .PHONY: fpc_baseinfo
 override INFORULES+=fpc_baseinfo
 fpc_baseinfo:

+ 101 - 71
packages/extra/utmp/Makefile

@@ -1,15 +1,24 @@
 #
-# Don't edit, this file is generated by FPCMake Version 1.1 [2004/02/22]
+# Don't edit, this file is generated by FPCMake Version 1.1 [2004/04/21]
 #
 default: all
 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:=$(subst \,/,$(PATH))
+ifneq ($(findstring darwin,$(OSTYPE)),)
+inUnix=1 #darwin
+SEARCHPATH:=$(filter-out .,$(subst :, ,$(PATH)))
+else
 ifeq ($(findstring ;,$(PATH)),)
 inUnix=1
 SEARCHPATH:=$(filter-out .,$(subst :, ,$(PATH)))
 else
 SEARCHPATH:=$(subst ;, ,$(PATH))
 endif
+endif
 SEARCHPATH+=$(patsubst %/,%,$(subst \,/,$(dir $(MAKE))))
 PWD:=$(strip $(wildcard $(addsuffix /pwd.exe,$(SEARCHPATH))))
 ifeq ($(PWD),)
@@ -37,22 +46,13 @@ ifneq ($(findstring cygdrive,$(PATH)),)
 inCygWin=1
 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
-BATCHEXT=.sh
+SRCBATCHEXT=.sh
 else
 ifdef inOS2
-BATCHEXT=.cmd
+SRCBATCHEXT=.cmd
 else
-BATCHEXT=.bat
+SRCBATCHEXT=.bat
 endif
 endif
 ifdef inUnix
@@ -155,6 +155,12 @@ ifeq ($(findstring $(OS_TARGET),$(MAKEFILETARGETS)),)
 $(error The Makefile doesn't support target $(OS_TARGET), please run fpcmake first)
 endif
 endif
+ifneq ($(findstring $(OS_TARGET),$(BSDs)),)
+BSDhier=1
+endif
+ifeq ($(OS_TARGET),linux)
+linuxHier=1
+endif
 export OS_TARGET OS_SOURCE CPU_TARGET CPU_SOURCE FULL_TARGET FULL_SOURCE CROSSCOMPILE
 ifdef FPCDIR
 override FPCDIR:=$(subst \,/,$(FPCDIR))
@@ -219,42 +225,12 @@ 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
-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
 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
 ifndef INSTALL_PREFIX
@@ -263,7 +239,7 @@ INSTALL_PREFIX=$(PREFIX)
 endif
 endif
 ifndef INSTALL_PREFIX
-ifdef UNIXINSTALLDIR
+ifdef UNIXHier
 INSTALL_PREFIX=/usr/local
 else
 ifdef INSTALL_FPCPACKAGE
@@ -282,7 +258,7 @@ DIST_DESTDIR:=$(BASEDIR)
 endif
 export DIST_DESTDIR
 ifndef INSTALL_BASEDIR
-ifdef UNIXINSTALLDIR
+ifdef UNIXHier
 ifdef INSTALL_FPCPACKAGE
 INSTALL_BASEDIR:=$(INSTALL_PREFIX)/lib/fpc/$(FPC_VERSION)
 else
@@ -293,7 +269,7 @@ INSTALL_BASEDIR:=$(INSTALL_PREFIX)
 endif
 endif
 ifndef INSTALL_BINDIR
-ifdef UNIXINSTALLDIR
+ifdef UNIXHier
 ifdef CROSSCOMPILE
 INSTALL_BINDIR:=$(INSTALL_BASEDIR)/cross/$(FULL_TARGET)/bin
 else
@@ -323,19 +299,23 @@ endif
 endif
 endif
 ifndef INSTALL_LIBDIR
-ifdef UNIXINSTALLDIR
+ifdef UNIXHier
 INSTALL_LIBDIR:=$(INSTALL_PREFIX)/lib
 else
 INSTALL_LIBDIR:=$(INSTALL_UNITDIR)
 endif
 endif
 ifndef INSTALL_SOURCEDIR
-ifdef UNIXINSTALLDIR
+ifdef UNIXHier
 ifdef BSDhier
 SRCPREFIXDIR=share/src
 else
+ifdef linuxHier
+SRCPREFIXDIR=share/src
+else
 SRCPREFIXDIR=src
 endif
+endif
 ifdef INSTALL_FPCPACKAGE
 ifdef INSTALL_FPCSUBDIR
 INSTALL_SOURCEDIR:=$(INSTALL_PREFIX)/$(SRCPREFIXDIR)/fpc-$(FPC_VERSION)/$(INSTALL_FPCSUBDIR)/$(PACKAGE_NAME)
@@ -358,12 +338,16 @@ endif
 endif
 endif
 ifndef INSTALL_DOCDIR
-ifdef UNIXINSTALLDIR
+ifdef UNIXHier
 ifdef BSDhier
 DOCPREFIXDIR=share/doc
 else
+ifdef linuxHier
+DOCPREFIXDIR=share/doc
+else
 DOCPREFIXDIR=doc
 endif
+endif
 ifdef INSTALL_FPCPACKAGE
 INSTALL_DOCDIR:=$(INSTALL_PREFIX)/$(DOCPREFIXDIR)/fpc-$(FPC_VERSION)/$(PACKAGE_NAME)
 else
@@ -378,20 +362,28 @@ endif
 endif
 endif
 ifndef INSTALL_EXAMPLEDIR
-ifdef UNIXINSTALLDIR
+ifdef UNIXHier
 ifdef INSTALL_FPCPACKAGE
 ifdef BSDhier
 INSTALL_EXAMPLEDIR:=$(INSTALL_PREFIX)/share/examples/fpc-$(FPC_VERSION)/$(PACKAGE_NAME)
 else
+ifdef linuxHier
+INSTALL_EXAMPLEDIR:=$(INSTALL_DOCDIR)/examples/fpc-$(FPC_VERSION)/$(PACKAGE_NAME)
+else
 INSTALL_EXAMPLEDIR:=$(INSTALL_PREFIX)/doc/fpc-$(FPC_VERSION)/examples/$(PACKAGE_NAME)
 endif
+endif
 else
 ifdef BSDhier
 INSTALL_EXAMPLEDIR:=$(INSTALL_PREFIX)/share/examples/$(PACKAGE_NAME)-$(PACKAGE_VERSION)
 else
+ifdef linuxHier
+INSTALL_EXAMPLEDIR:=$(INSTALL_DOCDIR)/examples/$(PACKAGE_NAME)-$(PACKAGE_VERSION)
+else
 INSTALL_EXAMPLEDIR:=$(INSTALL_PREFIX)/doc/$(PACKAGE_NAME)-$(PACKAGE_VERSION)
 endif
 endif
+endif
 else
 ifdef INSTALL_FPCPACKAGE
 INSTALL_EXAMPLEDIR:=$(INSTALL_BASEDIR)/examples/$(PACKAGE_NAME)
@@ -413,6 +405,7 @@ endif
 else
 CROSSBINDIR=
 endif
+BATCHEXT=.bat
 LOADEREXT=.as
 EXEEXT=.exe
 PPLEXT=.ppl
@@ -445,24 +438,28 @@ ASMEXT=.asm
 SHAREDLIBEXT=.dll
 endif
 ifeq ($(OS_TARGET),linux)
+BATCHEXT=.sh
 EXEEXT=
 HASSHAREDLIB=1
 FPCMADE=fpcmade.lnx
 ZIPSUFFIX=linux
 endif
 ifeq ($(OS_TARGET),freebsd)
+BATCHEXT=.sh
 EXEEXT=
 HASSHAREDLIB=1
 FPCMADE=fpcmade.freebsd
 ZIPSUFFIX=freebsd
 endif
 ifeq ($(OS_TARGET),netbsd)
+BATCHEXT=.sh
 EXEEXT=
 HASSHAREDLIB=1
 FPCMADE=fpcmade.netbsd
 ZIPSUFFIX=netbsd
 endif
 ifeq ($(OS_TARGET),openbsd)
+BATCHEXT=.sh
 EXEEXT=
 HASSHAREDLIB=1
 FPCMADE=fpcmade.openbsd
@@ -474,6 +471,7 @@ FPCMADE=fpcmade.w32
 ZIPSUFFIX=w32
 endif
 ifeq ($(OS_TARGET),os2)
+BATCHEXT=.cmd
 AOUTEXT=.out
 STATICLIBPREFIX=
 SHAREDLIBEXT=.dll
@@ -482,6 +480,7 @@ ZIPSUFFIX=os2
 ECHO=echo
 endif
 ifeq ($(OS_TARGET),emx)
+BATCHEXT=.cmd
 AOUTEXT=.out
 STATICLIBPREFIX=
 SHAREDLIBEXT=.dll
@@ -499,16 +498,19 @@ EXEEXT=.ttp
 FPCMADE=fpcmade.ata
 endif
 ifeq ($(OS_TARGET),beos)
+BATCHEXT=.sh
 EXEEXT=
 FPCMADE=fpcmade.be
 ZIPSUFFIX=be
 endif
 ifeq ($(OS_TARGET),sunos)
+BATCHEXT=.sh
 EXEEXT=
 FPCMADE=fpcmade.sun
 ZIPSUFFIX=sun
 endif
 ifeq ($(OS_TARGET),qnx)
+BATCHEXT=.sh
 EXEEXT=
 FPCMADE=fpcmade.qnx
 ZIPSUFFIX=qnx
@@ -520,10 +522,14 @@ FPCMADE=fpcmade.nw
 ZIPSUFFIX=nw
 endif
 ifeq ($(OS_TARGET),macos)
+BATCHEXT=
 EXEEXT=
-FPCMADE=fpcmade.mcc
+FPCMADE=fpcmade.macos
+ZIPSUFFIX=macos
+DEBUGSYMEXT=.xcoff
 endif
 ifeq ($(OS_TARGET),darwin)
+BATCHEXT=.sh
 EXEEXT=
 HASSHAREDLIB=1
 FPCMADE=fpcmade.darwin
@@ -552,24 +558,28 @@ FPCMADE=fpcmade.dos
 ZIPSUFFIX=watcom
 endif
 ifeq ($(OS_TARGET),linux)
+BATCHEXT=.sh
 EXEEXT=
 HASSHAREDLIB=1
 FPCMADE=fpcmade.lnx
 ZIPSUFFIX=linux
 endif
 ifeq ($(OS_TARGET),freebsd)
+BATCHEXT=.sh
 EXEEXT=
 HASSHAREDLIB=1
 FPCMADE=fpcmade.freebsd
 ZIPSUFFIX=freebsd
 endif
 ifeq ($(OS_TARGET),netbsd)
+BATCHEXT=.sh
 EXEEXT=
 HASSHAREDLIB=1
 FPCMADE=fpcmade.netbsd
 ZIPSUFFIX=netbsd
 endif
 ifeq ($(OS_TARGET),openbsd)
+BATCHEXT=.sh
 EXEEXT=
 HASSHAREDLIB=1
 FPCMADE=fpcmade.openbsd
@@ -586,6 +596,7 @@ FPCMADE=fpcmade.w32
 ZIPSUFFIX=w32
 endif
 ifeq ($(OS_TARGET),os2)
+BATCHEXT=.cmd
 PPUEXT=.ppo
 ASMEXT=.so2
 OEXT=.oo2
@@ -618,6 +629,7 @@ EXEEXT=.ttp
 FPCMADE=fpcmade.ata
 endif
 ifeq ($(OS_TARGET),beos)
+BATCHEXT=.sh
 PPUEXT=.ppu
 ASMEXT=.s
 OEXT=.o
@@ -628,6 +640,7 @@ FPCMADE=fpcmade.be
 ZIPSUFFIX=be
 endif
 ifeq ($(OS_TARGET),sunos)
+BATCHEXT=.sh
 PPUEXT=.ppu
 ASMEXT=.s
 OEXT=.o
@@ -638,6 +651,7 @@ FPCMADE=fpcmade.sun
 ZIPSUFFIX=sun
 endif
 ifeq ($(OS_TARGET),qnx)
+BATCHEXT=.sh
 PPUEXT=.ppu
 ASMEXT=.s
 OEXT=.o
@@ -660,13 +674,15 @@ ZIPSUFFIX=nw
 EXEEXT=.nlm
 endif
 ifeq ($(OS_TARGET),macos)
+BATCHEXT=
 PPUEXT=.ppu
 ASMEXT=.s
 OEXT=.o
 SMARTEXT=.sl
 STATICLIBEXT=.a
 EXEEXT=
-FPCMADE=fpcmade.mcc
+DEBUGSYMEXT=.xcoff
+FPCMADE=fpcmade.macos
 endif
 endif
 ifndef ECHO
@@ -674,7 +690,7 @@ ECHO:=$(strip $(wildcard $(addsuffix /gecho$(SRCEXEEXT),$(SEARCHPATH))))
 ifeq ($(ECHO),)
 ECHO:=$(strip $(wildcard $(addsuffix /echo$(SRCEXEEXT),$(SEARCHPATH))))
 ifeq ($(ECHO),)
-ECHO=
+ECHO= __missing_command__
 else
 ECHO:=$(firstword $(ECHO))
 endif
@@ -688,7 +704,7 @@ DATE:=$(strip $(wildcard $(addsuffix /gdate$(SRCEXEEXT),$(SEARCHPATH))))
 ifeq ($(DATE),)
 DATE:=$(strip $(wildcard $(addsuffix /date$(SRCEXEEXT),$(SEARCHPATH))))
 ifeq ($(DATE),)
-DATE=
+DATE= __missing_command__
 else
 DATE:=$(firstword $(DATE))
 endif
@@ -702,7 +718,7 @@ GINSTALL:=$(strip $(wildcard $(addsuffix /ginstall$(SRCEXEEXT),$(SEARCHPATH))))
 ifeq ($(GINSTALL),)
 GINSTALL:=$(strip $(wildcard $(addsuffix /install$(SRCEXEEXT),$(SEARCHPATH))))
 ifeq ($(GINSTALL),)
-GINSTALL=
+GINSTALL= __missing_command__
 else
 GINSTALL:=$(firstword $(GINSTALL))
 endif
@@ -714,7 +730,7 @@ export GINSTALL
 ifndef CPPROG
 CPPROG:=$(strip $(wildcard $(addsuffix /cp$(SRCEXEEXT),$(SEARCHPATH))))
 ifeq ($(CPPROG),)
-CPPROG=
+CPPROG= __missing_command__
 else
 CPPROG:=$(firstword $(CPPROG))
 endif
@@ -723,7 +739,7 @@ export CPPROG
 ifndef RMPROG
 RMPROG:=$(strip $(wildcard $(addsuffix /rm$(SRCEXEEXT),$(SEARCHPATH))))
 ifeq ($(RMPROG),)
-RMPROG=
+RMPROG= __missing_command__
 else
 RMPROG:=$(firstword $(RMPROG))
 endif
@@ -732,7 +748,7 @@ export RMPROG
 ifndef MVPROG
 MVPROG:=$(strip $(wildcard $(addsuffix /mv$(SRCEXEEXT),$(SEARCHPATH))))
 ifeq ($(MVPROG),)
-MVPROG=
+MVPROG= __missing_command__
 else
 MVPROG:=$(firstword $(MVPROG))
 endif
@@ -781,7 +797,7 @@ export ECHOREDIR COPY COPYTREE MOVE DEL DELTREE INSTALL INSTALLEXE MKDIR
 ifndef PPUMOVE
 PPUMOVE:=$(strip $(wildcard $(addsuffix /ppumove$(SRCEXEEXT),$(SEARCHPATH))))
 ifeq ($(PPUMOVE),)
-PPUMOVE=
+PPUMOVE= __missing_command__
 else
 PPUMOVE:=$(firstword $(PPUMOVE))
 endif
@@ -790,7 +806,7 @@ export PPUMOVE
 ifndef FPCMAKE
 FPCMAKE:=$(strip $(wildcard $(addsuffix /fpcmake$(SRCEXEEXT),$(SEARCHPATH))))
 ifeq ($(FPCMAKE),)
-FPCMAKE=
+FPCMAKE= __missing_command__
 else
 FPCMAKE:=$(firstword $(FPCMAKE))
 endif
@@ -799,7 +815,7 @@ export FPCMAKE
 ifndef ZIPPROG
 ZIPPROG:=$(strip $(wildcard $(addsuffix /zip$(SRCEXEEXT),$(SEARCHPATH))))
 ifeq ($(ZIPPROG),)
-ZIPPROG=
+ZIPPROG= __missing_command__
 else
 ZIPPROG:=$(firstword $(ZIPPROG))
 endif
@@ -808,7 +824,7 @@ export ZIPPROG
 ifndef TARPROG
 TARPROG:=$(strip $(wildcard $(addsuffix /tar$(SRCEXEEXT),$(SEARCHPATH))))
 ifeq ($(TARPROG),)
-TARPROG=
+TARPROG= __missing_command__
 else
 TARPROG:=$(firstword $(TARPROG))
 endif
@@ -820,9 +836,11 @@ ARNAME=$(BINUTILSPREFIX)ar
 RCNAME=$(BINUTILSPREFIX)rc
 ifneq ($(findstring 1.0.,$(FPC_VERSION)),)
 ifeq ($(OS_TARGET),win32)
-ASNAME=as
-LDNAME=ld
-ARNAME=ar
+ifeq ($(CROSSBINDIR),)
+ASNAME=asw
+LDNAME=ldw
+ARNAME=arw
+endif
 endif
 endif
 ifndef ASPROG
@@ -857,7 +875,7 @@ AS=$(ASPROG)
 LD=$(LDPROG)
 RC=$(RCPROG)
 AR=$(ARPROG)
-PPAS=ppas$(BATCHEXT)
+PPAS=ppas$(SRCBATCHEXT)
 ifdef inUnix
 LDCONFIG=ldconfig
 else
@@ -1116,8 +1134,12 @@ ifdef RELEASE
 ifeq ($(CPU_TARGET),i386)
 FPCCPUOPT:=-OG2p3
 else
+ifeq ($(CPU_TARGET),powerpc)
+FPCCPUOPT:=-O1
+else
 FPCCPUOPT:=
 endif
+endif
 override FPCOPT+=-Xs $(FPCCPUOPT) -n
 override FPCOPTDEF+=RELEASE
 endif
@@ -1361,7 +1383,7 @@ USEZIPWRAPPER=1
 endif
 ifdef USEZIPWRAPPER
 ZIPPATHSEP=$(PATHSEP)
-ZIPWRAPPER=$(subst /,$(PATHSEP),$(DIST_DESTDIR)/fpczip$(BATCHEXT))
+ZIPWRAPPER=$(subst /,$(PATHSEP),$(DIST_DESTDIR)/fpczip$(SRCBATCHEXT))
 else
 ZIPPATHSEP=/
 endif
@@ -1415,6 +1437,9 @@ override CLEANPPUFILES+=$(addsuffix $(PPUEXT),$(CLEAN_UNITS))
 endif
 ifdef 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 CLEANPPULINKFILES:=$(wildcard $(addprefix $(UNITTARGETDIRPREFIX),$(CLEANPPULINKFILES)))
 endif
@@ -1438,6 +1463,7 @@ ifdef LIB_NAME
 	-$(DEL) $(LIB_NAME) $(LIB_FULLNAME)
 endif
 	-$(DEL) $(FPCMADE) Package.fpc $(PPAS) script.res link.res $(FPCEXTFILE) $(REDIRFILE)
+	-$(DEL) *$(ASMEXT) *_ppas$(BATCHEXT)
 fpc_distclean: clean
 ifdef COMPILER_UNITTARGETDIR
 TARGETDIRCLEAN=fpc_clean
@@ -1449,9 +1475,13 @@ endif
 	-$(DEL) *$(OEXT) *$(PPUEXT) *$(RSTEXT) *$(ASMEXT) *$(STATICLIBEXT) *$(SHAREDLIBEXT) *$(PPLEXT)
 	-$(DELTREE) *$(SMARTEXT)
 	-$(DEL) $(FPCMADE) Package.fpc $(PPAS) script.res link.res $(FPCEXTFILE) $(REDIRFILE)
+	-$(DEL) *_ppas$(BATCHEXT)
 ifdef AOUTEXT
 	-$(DEL) *$(AOUTEXT)
 endif
+ifdef DEBUGSYMEXT
+	-$(DEL) *$(DEBUGSYMEXT)
+endif
 .PHONY: fpc_baseinfo
 override INFORULES+=fpc_baseinfo
 fpc_baseinfo:

+ 101 - 71
packages/extra/winver/Makefile

@@ -1,15 +1,24 @@
 #
-# Don't edit, this file is generated by FPCMake Version 1.1 [2004/02/22]
+# Don't edit, this file is generated by FPCMake Version 1.1 [2004/04/21]
 #
 default: all
 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:=$(subst \,/,$(PATH))
+ifneq ($(findstring darwin,$(OSTYPE)),)
+inUnix=1 #darwin
+SEARCHPATH:=$(filter-out .,$(subst :, ,$(PATH)))
+else
 ifeq ($(findstring ;,$(PATH)),)
 inUnix=1
 SEARCHPATH:=$(filter-out .,$(subst :, ,$(PATH)))
 else
 SEARCHPATH:=$(subst ;, ,$(PATH))
 endif
+endif
 SEARCHPATH+=$(patsubst %/,%,$(subst \,/,$(dir $(MAKE))))
 PWD:=$(strip $(wildcard $(addsuffix /pwd.exe,$(SEARCHPATH))))
 ifeq ($(PWD),)
@@ -37,22 +46,13 @@ ifneq ($(findstring cygdrive,$(PATH)),)
 inCygWin=1
 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
-BATCHEXT=.sh
+SRCBATCHEXT=.sh
 else
 ifdef inOS2
-BATCHEXT=.cmd
+SRCBATCHEXT=.cmd
 else
-BATCHEXT=.bat
+SRCBATCHEXT=.bat
 endif
 endif
 ifdef inUnix
@@ -155,6 +155,12 @@ ifeq ($(findstring $(OS_TARGET),$(MAKEFILETARGETS)),)
 $(error The Makefile doesn't support target $(OS_TARGET), please run fpcmake first)
 endif
 endif
+ifneq ($(findstring $(OS_TARGET),$(BSDs)),)
+BSDhier=1
+endif
+ifeq ($(OS_TARGET),linux)
+linuxHier=1
+endif
 export OS_TARGET OS_SOURCE CPU_TARGET CPU_SOURCE FULL_TARGET FULL_SOURCE CROSSCOMPILE
 ifdef FPCDIR
 override FPCDIR:=$(subst \,/,$(FPCDIR))
@@ -219,42 +225,12 @@ 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
-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
 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
 ifndef INSTALL_PREFIX
@@ -263,7 +239,7 @@ INSTALL_PREFIX=$(PREFIX)
 endif
 endif
 ifndef INSTALL_PREFIX
-ifdef UNIXINSTALLDIR
+ifdef UNIXHier
 INSTALL_PREFIX=/usr/local
 else
 ifdef INSTALL_FPCPACKAGE
@@ -282,7 +258,7 @@ DIST_DESTDIR:=$(BASEDIR)
 endif
 export DIST_DESTDIR
 ifndef INSTALL_BASEDIR
-ifdef UNIXINSTALLDIR
+ifdef UNIXHier
 ifdef INSTALL_FPCPACKAGE
 INSTALL_BASEDIR:=$(INSTALL_PREFIX)/lib/fpc/$(FPC_VERSION)
 else
@@ -293,7 +269,7 @@ INSTALL_BASEDIR:=$(INSTALL_PREFIX)
 endif
 endif
 ifndef INSTALL_BINDIR
-ifdef UNIXINSTALLDIR
+ifdef UNIXHier
 ifdef CROSSCOMPILE
 INSTALL_BINDIR:=$(INSTALL_BASEDIR)/cross/$(FULL_TARGET)/bin
 else
@@ -323,19 +299,23 @@ endif
 endif
 endif
 ifndef INSTALL_LIBDIR
-ifdef UNIXINSTALLDIR
+ifdef UNIXHier
 INSTALL_LIBDIR:=$(INSTALL_PREFIX)/lib
 else
 INSTALL_LIBDIR:=$(INSTALL_UNITDIR)
 endif
 endif
 ifndef INSTALL_SOURCEDIR
-ifdef UNIXINSTALLDIR
+ifdef UNIXHier
 ifdef BSDhier
 SRCPREFIXDIR=share/src
 else
+ifdef linuxHier
+SRCPREFIXDIR=share/src
+else
 SRCPREFIXDIR=src
 endif
+endif
 ifdef INSTALL_FPCPACKAGE
 ifdef INSTALL_FPCSUBDIR
 INSTALL_SOURCEDIR:=$(INSTALL_PREFIX)/$(SRCPREFIXDIR)/fpc-$(FPC_VERSION)/$(INSTALL_FPCSUBDIR)/$(PACKAGE_NAME)
@@ -358,12 +338,16 @@ endif
 endif
 endif
 ifndef INSTALL_DOCDIR
-ifdef UNIXINSTALLDIR
+ifdef UNIXHier
 ifdef BSDhier
 DOCPREFIXDIR=share/doc
 else
+ifdef linuxHier
+DOCPREFIXDIR=share/doc
+else
 DOCPREFIXDIR=doc
 endif
+endif
 ifdef INSTALL_FPCPACKAGE
 INSTALL_DOCDIR:=$(INSTALL_PREFIX)/$(DOCPREFIXDIR)/fpc-$(FPC_VERSION)/$(PACKAGE_NAME)
 else
@@ -378,20 +362,28 @@ endif
 endif
 endif
 ifndef INSTALL_EXAMPLEDIR
-ifdef UNIXINSTALLDIR
+ifdef UNIXHier
 ifdef INSTALL_FPCPACKAGE
 ifdef BSDhier
 INSTALL_EXAMPLEDIR:=$(INSTALL_PREFIX)/share/examples/fpc-$(FPC_VERSION)/$(PACKAGE_NAME)
 else
+ifdef linuxHier
+INSTALL_EXAMPLEDIR:=$(INSTALL_DOCDIR)/examples/fpc-$(FPC_VERSION)/$(PACKAGE_NAME)
+else
 INSTALL_EXAMPLEDIR:=$(INSTALL_PREFIX)/doc/fpc-$(FPC_VERSION)/examples/$(PACKAGE_NAME)
 endif
+endif
 else
 ifdef BSDhier
 INSTALL_EXAMPLEDIR:=$(INSTALL_PREFIX)/share/examples/$(PACKAGE_NAME)-$(PACKAGE_VERSION)
 else
+ifdef linuxHier
+INSTALL_EXAMPLEDIR:=$(INSTALL_DOCDIR)/examples/$(PACKAGE_NAME)-$(PACKAGE_VERSION)
+else
 INSTALL_EXAMPLEDIR:=$(INSTALL_PREFIX)/doc/$(PACKAGE_NAME)-$(PACKAGE_VERSION)
 endif
 endif
+endif
 else
 ifdef INSTALL_FPCPACKAGE
 INSTALL_EXAMPLEDIR:=$(INSTALL_BASEDIR)/examples/$(PACKAGE_NAME)
@@ -413,6 +405,7 @@ endif
 else
 CROSSBINDIR=
 endif
+BATCHEXT=.bat
 LOADEREXT=.as
 EXEEXT=.exe
 PPLEXT=.ppl
@@ -445,24 +438,28 @@ ASMEXT=.asm
 SHAREDLIBEXT=.dll
 endif
 ifeq ($(OS_TARGET),linux)
+BATCHEXT=.sh
 EXEEXT=
 HASSHAREDLIB=1
 FPCMADE=fpcmade.lnx
 ZIPSUFFIX=linux
 endif
 ifeq ($(OS_TARGET),freebsd)
+BATCHEXT=.sh
 EXEEXT=
 HASSHAREDLIB=1
 FPCMADE=fpcmade.freebsd
 ZIPSUFFIX=freebsd
 endif
 ifeq ($(OS_TARGET),netbsd)
+BATCHEXT=.sh
 EXEEXT=
 HASSHAREDLIB=1
 FPCMADE=fpcmade.netbsd
 ZIPSUFFIX=netbsd
 endif
 ifeq ($(OS_TARGET),openbsd)
+BATCHEXT=.sh
 EXEEXT=
 HASSHAREDLIB=1
 FPCMADE=fpcmade.openbsd
@@ -474,6 +471,7 @@ FPCMADE=fpcmade.w32
 ZIPSUFFIX=w32
 endif
 ifeq ($(OS_TARGET),os2)
+BATCHEXT=.cmd
 AOUTEXT=.out
 STATICLIBPREFIX=
 SHAREDLIBEXT=.dll
@@ -482,6 +480,7 @@ ZIPSUFFIX=os2
 ECHO=echo
 endif
 ifeq ($(OS_TARGET),emx)
+BATCHEXT=.cmd
 AOUTEXT=.out
 STATICLIBPREFIX=
 SHAREDLIBEXT=.dll
@@ -499,16 +498,19 @@ EXEEXT=.ttp
 FPCMADE=fpcmade.ata
 endif
 ifeq ($(OS_TARGET),beos)
+BATCHEXT=.sh
 EXEEXT=
 FPCMADE=fpcmade.be
 ZIPSUFFIX=be
 endif
 ifeq ($(OS_TARGET),sunos)
+BATCHEXT=.sh
 EXEEXT=
 FPCMADE=fpcmade.sun
 ZIPSUFFIX=sun
 endif
 ifeq ($(OS_TARGET),qnx)
+BATCHEXT=.sh
 EXEEXT=
 FPCMADE=fpcmade.qnx
 ZIPSUFFIX=qnx
@@ -520,10 +522,14 @@ FPCMADE=fpcmade.nw
 ZIPSUFFIX=nw
 endif
 ifeq ($(OS_TARGET),macos)
+BATCHEXT=
 EXEEXT=
-FPCMADE=fpcmade.mcc
+FPCMADE=fpcmade.macos
+ZIPSUFFIX=macos
+DEBUGSYMEXT=.xcoff
 endif
 ifeq ($(OS_TARGET),darwin)
+BATCHEXT=.sh
 EXEEXT=
 HASSHAREDLIB=1
 FPCMADE=fpcmade.darwin
@@ -552,24 +558,28 @@ FPCMADE=fpcmade.dos
 ZIPSUFFIX=watcom
 endif
 ifeq ($(OS_TARGET),linux)
+BATCHEXT=.sh
 EXEEXT=
 HASSHAREDLIB=1
 FPCMADE=fpcmade.lnx
 ZIPSUFFIX=linux
 endif
 ifeq ($(OS_TARGET),freebsd)
+BATCHEXT=.sh
 EXEEXT=
 HASSHAREDLIB=1
 FPCMADE=fpcmade.freebsd
 ZIPSUFFIX=freebsd
 endif
 ifeq ($(OS_TARGET),netbsd)
+BATCHEXT=.sh
 EXEEXT=
 HASSHAREDLIB=1
 FPCMADE=fpcmade.netbsd
 ZIPSUFFIX=netbsd
 endif
 ifeq ($(OS_TARGET),openbsd)
+BATCHEXT=.sh
 EXEEXT=
 HASSHAREDLIB=1
 FPCMADE=fpcmade.openbsd
@@ -586,6 +596,7 @@ FPCMADE=fpcmade.w32
 ZIPSUFFIX=w32
 endif
 ifeq ($(OS_TARGET),os2)
+BATCHEXT=.cmd
 PPUEXT=.ppo
 ASMEXT=.so2
 OEXT=.oo2
@@ -618,6 +629,7 @@ EXEEXT=.ttp
 FPCMADE=fpcmade.ata
 endif
 ifeq ($(OS_TARGET),beos)
+BATCHEXT=.sh
 PPUEXT=.ppu
 ASMEXT=.s
 OEXT=.o
@@ -628,6 +640,7 @@ FPCMADE=fpcmade.be
 ZIPSUFFIX=be
 endif
 ifeq ($(OS_TARGET),sunos)
+BATCHEXT=.sh
 PPUEXT=.ppu
 ASMEXT=.s
 OEXT=.o
@@ -638,6 +651,7 @@ FPCMADE=fpcmade.sun
 ZIPSUFFIX=sun
 endif
 ifeq ($(OS_TARGET),qnx)
+BATCHEXT=.sh
 PPUEXT=.ppu
 ASMEXT=.s
 OEXT=.o
@@ -660,13 +674,15 @@ ZIPSUFFIX=nw
 EXEEXT=.nlm
 endif
 ifeq ($(OS_TARGET),macos)
+BATCHEXT=
 PPUEXT=.ppu
 ASMEXT=.s
 OEXT=.o
 SMARTEXT=.sl
 STATICLIBEXT=.a
 EXEEXT=
-FPCMADE=fpcmade.mcc
+DEBUGSYMEXT=.xcoff
+FPCMADE=fpcmade.macos
 endif
 endif
 ifndef ECHO
@@ -674,7 +690,7 @@ ECHO:=$(strip $(wildcard $(addsuffix /gecho$(SRCEXEEXT),$(SEARCHPATH))))
 ifeq ($(ECHO),)
 ECHO:=$(strip $(wildcard $(addsuffix /echo$(SRCEXEEXT),$(SEARCHPATH))))
 ifeq ($(ECHO),)
-ECHO=
+ECHO= __missing_command__
 else
 ECHO:=$(firstword $(ECHO))
 endif
@@ -688,7 +704,7 @@ DATE:=$(strip $(wildcard $(addsuffix /gdate$(SRCEXEEXT),$(SEARCHPATH))))
 ifeq ($(DATE),)
 DATE:=$(strip $(wildcard $(addsuffix /date$(SRCEXEEXT),$(SEARCHPATH))))
 ifeq ($(DATE),)
-DATE=
+DATE= __missing_command__
 else
 DATE:=$(firstword $(DATE))
 endif
@@ -702,7 +718,7 @@ GINSTALL:=$(strip $(wildcard $(addsuffix /ginstall$(SRCEXEEXT),$(SEARCHPATH))))
 ifeq ($(GINSTALL),)
 GINSTALL:=$(strip $(wildcard $(addsuffix /install$(SRCEXEEXT),$(SEARCHPATH))))
 ifeq ($(GINSTALL),)
-GINSTALL=
+GINSTALL= __missing_command__
 else
 GINSTALL:=$(firstword $(GINSTALL))
 endif
@@ -714,7 +730,7 @@ export GINSTALL
 ifndef CPPROG
 CPPROG:=$(strip $(wildcard $(addsuffix /cp$(SRCEXEEXT),$(SEARCHPATH))))
 ifeq ($(CPPROG),)
-CPPROG=
+CPPROG= __missing_command__
 else
 CPPROG:=$(firstword $(CPPROG))
 endif
@@ -723,7 +739,7 @@ export CPPROG
 ifndef RMPROG
 RMPROG:=$(strip $(wildcard $(addsuffix /rm$(SRCEXEEXT),$(SEARCHPATH))))
 ifeq ($(RMPROG),)
-RMPROG=
+RMPROG= __missing_command__
 else
 RMPROG:=$(firstword $(RMPROG))
 endif
@@ -732,7 +748,7 @@ export RMPROG
 ifndef MVPROG
 MVPROG:=$(strip $(wildcard $(addsuffix /mv$(SRCEXEEXT),$(SEARCHPATH))))
 ifeq ($(MVPROG),)
-MVPROG=
+MVPROG= __missing_command__
 else
 MVPROG:=$(firstword $(MVPROG))
 endif
@@ -781,7 +797,7 @@ export ECHOREDIR COPY COPYTREE MOVE DEL DELTREE INSTALL INSTALLEXE MKDIR
 ifndef PPUMOVE
 PPUMOVE:=$(strip $(wildcard $(addsuffix /ppumove$(SRCEXEEXT),$(SEARCHPATH))))
 ifeq ($(PPUMOVE),)
-PPUMOVE=
+PPUMOVE= __missing_command__
 else
 PPUMOVE:=$(firstword $(PPUMOVE))
 endif
@@ -790,7 +806,7 @@ export PPUMOVE
 ifndef FPCMAKE
 FPCMAKE:=$(strip $(wildcard $(addsuffix /fpcmake$(SRCEXEEXT),$(SEARCHPATH))))
 ifeq ($(FPCMAKE),)
-FPCMAKE=
+FPCMAKE= __missing_command__
 else
 FPCMAKE:=$(firstword $(FPCMAKE))
 endif
@@ -799,7 +815,7 @@ export FPCMAKE
 ifndef ZIPPROG
 ZIPPROG:=$(strip $(wildcard $(addsuffix /zip$(SRCEXEEXT),$(SEARCHPATH))))
 ifeq ($(ZIPPROG),)
-ZIPPROG=
+ZIPPROG= __missing_command__
 else
 ZIPPROG:=$(firstword $(ZIPPROG))
 endif
@@ -808,7 +824,7 @@ export ZIPPROG
 ifndef TARPROG
 TARPROG:=$(strip $(wildcard $(addsuffix /tar$(SRCEXEEXT),$(SEARCHPATH))))
 ifeq ($(TARPROG),)
-TARPROG=
+TARPROG= __missing_command__
 else
 TARPROG:=$(firstword $(TARPROG))
 endif
@@ -820,9 +836,11 @@ ARNAME=$(BINUTILSPREFIX)ar
 RCNAME=$(BINUTILSPREFIX)rc
 ifneq ($(findstring 1.0.,$(FPC_VERSION)),)
 ifeq ($(OS_TARGET),win32)
-ASNAME=as
-LDNAME=ld
-ARNAME=ar
+ifeq ($(CROSSBINDIR),)
+ASNAME=asw
+LDNAME=ldw
+ARNAME=arw
+endif
 endif
 endif
 ifndef ASPROG
@@ -857,7 +875,7 @@ AS=$(ASPROG)
 LD=$(LDPROG)
 RC=$(RCPROG)
 AR=$(ARPROG)
-PPAS=ppas$(BATCHEXT)
+PPAS=ppas$(SRCBATCHEXT)
 ifdef inUnix
 LDCONFIG=ldconfig
 else
@@ -1116,8 +1134,12 @@ ifdef RELEASE
 ifeq ($(CPU_TARGET),i386)
 FPCCPUOPT:=-OG2p3
 else
+ifeq ($(CPU_TARGET),powerpc)
+FPCCPUOPT:=-O1
+else
 FPCCPUOPT:=
 endif
+endif
 override FPCOPT+=-Xs $(FPCCPUOPT) -n
 override FPCOPTDEF+=RELEASE
 endif
@@ -1361,7 +1383,7 @@ USEZIPWRAPPER=1
 endif
 ifdef USEZIPWRAPPER
 ZIPPATHSEP=$(PATHSEP)
-ZIPWRAPPER=$(subst /,$(PATHSEP),$(DIST_DESTDIR)/fpczip$(BATCHEXT))
+ZIPWRAPPER=$(subst /,$(PATHSEP),$(DIST_DESTDIR)/fpczip$(SRCBATCHEXT))
 else
 ZIPPATHSEP=/
 endif
@@ -1415,6 +1437,9 @@ override CLEANPPUFILES+=$(addsuffix $(PPUEXT),$(CLEAN_UNITS))
 endif
 ifdef 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 CLEANPPULINKFILES:=$(wildcard $(addprefix $(UNITTARGETDIRPREFIX),$(CLEANPPULINKFILES)))
 endif
@@ -1438,6 +1463,7 @@ ifdef LIB_NAME
 	-$(DEL) $(LIB_NAME) $(LIB_FULLNAME)
 endif
 	-$(DEL) $(FPCMADE) Package.fpc $(PPAS) script.res link.res $(FPCEXTFILE) $(REDIRFILE)
+	-$(DEL) *$(ASMEXT) *_ppas$(BATCHEXT)
 fpc_distclean: clean
 ifdef COMPILER_UNITTARGETDIR
 TARGETDIRCLEAN=fpc_clean
@@ -1449,9 +1475,13 @@ endif
 	-$(DEL) *$(OEXT) *$(PPUEXT) *$(RSTEXT) *$(ASMEXT) *$(STATICLIBEXT) *$(SHAREDLIBEXT) *$(PPLEXT)
 	-$(DELTREE) *$(SMARTEXT)
 	-$(DEL) $(FPCMADE) Package.fpc $(PPAS) script.res link.res $(FPCEXTFILE) $(REDIRFILE)
+	-$(DEL) *_ppas$(BATCHEXT)
 ifdef AOUTEXT
 	-$(DEL) *$(AOUTEXT)
 endif
+ifdef DEBUGSYMEXT
+	-$(DEL) *$(DEBUGSYMEXT)
+endif
 .PHONY: fpc_baseinfo
 override INFORULES+=fpc_baseinfo
 fpc_baseinfo:

+ 114 - 72
packages/extra/x11/Makefile

@@ -1,15 +1,24 @@
 #
-# Don't edit, this file is generated by FPCMake Version 1.1 [2004/02/22]
+# Don't edit, this file is generated by FPCMake Version 1.1 [2004/04/21]
 #
 default: all
 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:=$(subst \,/,$(PATH))
+ifneq ($(findstring darwin,$(OSTYPE)),)
+inUnix=1 #darwin
+SEARCHPATH:=$(filter-out .,$(subst :, ,$(PATH)))
+else
 ifeq ($(findstring ;,$(PATH)),)
 inUnix=1
 SEARCHPATH:=$(filter-out .,$(subst :, ,$(PATH)))
 else
 SEARCHPATH:=$(subst ;, ,$(PATH))
 endif
+endif
 SEARCHPATH+=$(patsubst %/,%,$(subst \,/,$(dir $(MAKE))))
 PWD:=$(strip $(wildcard $(addsuffix /pwd.exe,$(SEARCHPATH))))
 ifeq ($(PWD),)
@@ -37,22 +46,13 @@ ifneq ($(findstring cygdrive,$(PATH)),)
 inCygWin=1
 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
-BATCHEXT=.sh
+SRCBATCHEXT=.sh
 else
 ifdef inOS2
-BATCHEXT=.cmd
+SRCBATCHEXT=.cmd
 else
-BATCHEXT=.bat
+SRCBATCHEXT=.bat
 endif
 endif
 ifdef inUnix
@@ -155,6 +155,12 @@ ifeq ($(findstring $(OS_TARGET),$(MAKEFILETARGETS)),)
 $(error The Makefile doesn't support target $(OS_TARGET), please run fpcmake first)
 endif
 endif
+ifneq ($(findstring $(OS_TARGET),$(BSDs)),)
+BSDhier=1
+endif
+ifeq ($(OS_TARGET),linux)
+linuxHier=1
+endif
 export OS_TARGET OS_SOURCE CPU_TARGET CPU_SOURCE FULL_TARGET FULL_SOURCE CROSSCOMPILE
 ifdef FPCDIR
 override FPCDIR:=$(subst \,/,$(FPCDIR))
@@ -218,42 +224,12 @@ 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
-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
 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
 ifndef INSTALL_PREFIX
@@ -262,7 +238,7 @@ INSTALL_PREFIX=$(PREFIX)
 endif
 endif
 ifndef INSTALL_PREFIX
-ifdef UNIXINSTALLDIR
+ifdef UNIXHier
 INSTALL_PREFIX=/usr/local
 else
 ifdef INSTALL_FPCPACKAGE
@@ -281,7 +257,7 @@ DIST_DESTDIR:=$(BASEDIR)
 endif
 export DIST_DESTDIR
 ifndef INSTALL_BASEDIR
-ifdef UNIXINSTALLDIR
+ifdef UNIXHier
 ifdef INSTALL_FPCPACKAGE
 INSTALL_BASEDIR:=$(INSTALL_PREFIX)/lib/fpc/$(FPC_VERSION)
 else
@@ -292,7 +268,7 @@ INSTALL_BASEDIR:=$(INSTALL_PREFIX)
 endif
 endif
 ifndef INSTALL_BINDIR
-ifdef UNIXINSTALLDIR
+ifdef UNIXHier
 ifdef CROSSCOMPILE
 INSTALL_BINDIR:=$(INSTALL_BASEDIR)/cross/$(FULL_TARGET)/bin
 else
@@ -322,19 +298,23 @@ endif
 endif
 endif
 ifndef INSTALL_LIBDIR
-ifdef UNIXINSTALLDIR
+ifdef UNIXHier
 INSTALL_LIBDIR:=$(INSTALL_PREFIX)/lib
 else
 INSTALL_LIBDIR:=$(INSTALL_UNITDIR)
 endif
 endif
 ifndef INSTALL_SOURCEDIR
-ifdef UNIXINSTALLDIR
+ifdef UNIXHier
 ifdef BSDhier
 SRCPREFIXDIR=share/src
 else
+ifdef linuxHier
+SRCPREFIXDIR=share/src
+else
 SRCPREFIXDIR=src
 endif
+endif
 ifdef INSTALL_FPCPACKAGE
 ifdef INSTALL_FPCSUBDIR
 INSTALL_SOURCEDIR:=$(INSTALL_PREFIX)/$(SRCPREFIXDIR)/fpc-$(FPC_VERSION)/$(INSTALL_FPCSUBDIR)/$(PACKAGE_NAME)
@@ -357,12 +337,16 @@ endif
 endif
 endif
 ifndef INSTALL_DOCDIR
-ifdef UNIXINSTALLDIR
+ifdef UNIXHier
 ifdef BSDhier
 DOCPREFIXDIR=share/doc
 else
+ifdef linuxHier
+DOCPREFIXDIR=share/doc
+else
 DOCPREFIXDIR=doc
 endif
+endif
 ifdef INSTALL_FPCPACKAGE
 INSTALL_DOCDIR:=$(INSTALL_PREFIX)/$(DOCPREFIXDIR)/fpc-$(FPC_VERSION)/$(PACKAGE_NAME)
 else
@@ -377,20 +361,28 @@ endif
 endif
 endif
 ifndef INSTALL_EXAMPLEDIR
-ifdef UNIXINSTALLDIR
+ifdef UNIXHier
 ifdef INSTALL_FPCPACKAGE
 ifdef BSDhier
 INSTALL_EXAMPLEDIR:=$(INSTALL_PREFIX)/share/examples/fpc-$(FPC_VERSION)/$(PACKAGE_NAME)
 else
+ifdef linuxHier
+INSTALL_EXAMPLEDIR:=$(INSTALL_DOCDIR)/examples/fpc-$(FPC_VERSION)/$(PACKAGE_NAME)
+else
 INSTALL_EXAMPLEDIR:=$(INSTALL_PREFIX)/doc/fpc-$(FPC_VERSION)/examples/$(PACKAGE_NAME)
 endif
+endif
 else
 ifdef BSDhier
 INSTALL_EXAMPLEDIR:=$(INSTALL_PREFIX)/share/examples/$(PACKAGE_NAME)-$(PACKAGE_VERSION)
 else
+ifdef linuxHier
+INSTALL_EXAMPLEDIR:=$(INSTALL_DOCDIR)/examples/$(PACKAGE_NAME)-$(PACKAGE_VERSION)
+else
 INSTALL_EXAMPLEDIR:=$(INSTALL_PREFIX)/doc/$(PACKAGE_NAME)-$(PACKAGE_VERSION)
 endif
 endif
+endif
 else
 ifdef INSTALL_FPCPACKAGE
 INSTALL_EXAMPLEDIR:=$(INSTALL_BASEDIR)/examples/$(PACKAGE_NAME)
@@ -414,7 +406,19 @@ CROSSBINDIR=
 endif
 ifeq ($(OS_SOURCE),linux)
 ifndef GCCLIBDIR
-GCCLIBDIR:=$(shell dirname `gcc -print-libgcc-file-name`)
+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
 ifndef OTHERLIBDIR
 OTHERLIBDIR:=$(shell grep -v "^\#" /etc/ld.so.conf | awk '{ ORS=" "; print $1 }')
@@ -426,6 +430,7 @@ OTHERLIBDIR+=/usr/pkg/lib
 endif
 export GCCLIBDIR OTHERLIB
 endif
+BATCHEXT=.bat
 LOADEREXT=.as
 EXEEXT=.exe
 PPLEXT=.ppl
@@ -458,24 +463,28 @@ ASMEXT=.asm
 SHAREDLIBEXT=.dll
 endif
 ifeq ($(OS_TARGET),linux)
+BATCHEXT=.sh
 EXEEXT=
 HASSHAREDLIB=1
 FPCMADE=fpcmade.lnx
 ZIPSUFFIX=linux
 endif
 ifeq ($(OS_TARGET),freebsd)
+BATCHEXT=.sh
 EXEEXT=
 HASSHAREDLIB=1
 FPCMADE=fpcmade.freebsd
 ZIPSUFFIX=freebsd
 endif
 ifeq ($(OS_TARGET),netbsd)
+BATCHEXT=.sh
 EXEEXT=
 HASSHAREDLIB=1
 FPCMADE=fpcmade.netbsd
 ZIPSUFFIX=netbsd
 endif
 ifeq ($(OS_TARGET),openbsd)
+BATCHEXT=.sh
 EXEEXT=
 HASSHAREDLIB=1
 FPCMADE=fpcmade.openbsd
@@ -487,6 +496,7 @@ FPCMADE=fpcmade.w32
 ZIPSUFFIX=w32
 endif
 ifeq ($(OS_TARGET),os2)
+BATCHEXT=.cmd
 AOUTEXT=.out
 STATICLIBPREFIX=
 SHAREDLIBEXT=.dll
@@ -495,6 +505,7 @@ ZIPSUFFIX=os2
 ECHO=echo
 endif
 ifeq ($(OS_TARGET),emx)
+BATCHEXT=.cmd
 AOUTEXT=.out
 STATICLIBPREFIX=
 SHAREDLIBEXT=.dll
@@ -512,16 +523,19 @@ EXEEXT=.ttp
 FPCMADE=fpcmade.ata
 endif
 ifeq ($(OS_TARGET),beos)
+BATCHEXT=.sh
 EXEEXT=
 FPCMADE=fpcmade.be
 ZIPSUFFIX=be
 endif
 ifeq ($(OS_TARGET),sunos)
+BATCHEXT=.sh
 EXEEXT=
 FPCMADE=fpcmade.sun
 ZIPSUFFIX=sun
 endif
 ifeq ($(OS_TARGET),qnx)
+BATCHEXT=.sh
 EXEEXT=
 FPCMADE=fpcmade.qnx
 ZIPSUFFIX=qnx
@@ -533,10 +547,14 @@ FPCMADE=fpcmade.nw
 ZIPSUFFIX=nw
 endif
 ifeq ($(OS_TARGET),macos)
+BATCHEXT=
 EXEEXT=
-FPCMADE=fpcmade.mcc
+FPCMADE=fpcmade.macos
+ZIPSUFFIX=macos
+DEBUGSYMEXT=.xcoff
 endif
 ifeq ($(OS_TARGET),darwin)
+BATCHEXT=.sh
 EXEEXT=
 HASSHAREDLIB=1
 FPCMADE=fpcmade.darwin
@@ -565,24 +583,28 @@ FPCMADE=fpcmade.dos
 ZIPSUFFIX=watcom
 endif
 ifeq ($(OS_TARGET),linux)
+BATCHEXT=.sh
 EXEEXT=
 HASSHAREDLIB=1
 FPCMADE=fpcmade.lnx
 ZIPSUFFIX=linux
 endif
 ifeq ($(OS_TARGET),freebsd)
+BATCHEXT=.sh
 EXEEXT=
 HASSHAREDLIB=1
 FPCMADE=fpcmade.freebsd
 ZIPSUFFIX=freebsd
 endif
 ifeq ($(OS_TARGET),netbsd)
+BATCHEXT=.sh
 EXEEXT=
 HASSHAREDLIB=1
 FPCMADE=fpcmade.netbsd
 ZIPSUFFIX=netbsd
 endif
 ifeq ($(OS_TARGET),openbsd)
+BATCHEXT=.sh
 EXEEXT=
 HASSHAREDLIB=1
 FPCMADE=fpcmade.openbsd
@@ -599,6 +621,7 @@ FPCMADE=fpcmade.w32
 ZIPSUFFIX=w32
 endif
 ifeq ($(OS_TARGET),os2)
+BATCHEXT=.cmd
 PPUEXT=.ppo
 ASMEXT=.so2
 OEXT=.oo2
@@ -631,6 +654,7 @@ EXEEXT=.ttp
 FPCMADE=fpcmade.ata
 endif
 ifeq ($(OS_TARGET),beos)
+BATCHEXT=.sh
 PPUEXT=.ppu
 ASMEXT=.s
 OEXT=.o
@@ -641,6 +665,7 @@ FPCMADE=fpcmade.be
 ZIPSUFFIX=be
 endif
 ifeq ($(OS_TARGET),sunos)
+BATCHEXT=.sh
 PPUEXT=.ppu
 ASMEXT=.s
 OEXT=.o
@@ -651,6 +676,7 @@ FPCMADE=fpcmade.sun
 ZIPSUFFIX=sun
 endif
 ifeq ($(OS_TARGET),qnx)
+BATCHEXT=.sh
 PPUEXT=.ppu
 ASMEXT=.s
 OEXT=.o
@@ -673,13 +699,15 @@ ZIPSUFFIX=nw
 EXEEXT=.nlm
 endif
 ifeq ($(OS_TARGET),macos)
+BATCHEXT=
 PPUEXT=.ppu
 ASMEXT=.s
 OEXT=.o
 SMARTEXT=.sl
 STATICLIBEXT=.a
 EXEEXT=
-FPCMADE=fpcmade.mcc
+DEBUGSYMEXT=.xcoff
+FPCMADE=fpcmade.macos
 endif
 endif
 ifndef ECHO
@@ -687,7 +715,7 @@ ECHO:=$(strip $(wildcard $(addsuffix /gecho$(SRCEXEEXT),$(SEARCHPATH))))
 ifeq ($(ECHO),)
 ECHO:=$(strip $(wildcard $(addsuffix /echo$(SRCEXEEXT),$(SEARCHPATH))))
 ifeq ($(ECHO),)
-ECHO=
+ECHO= __missing_command__
 else
 ECHO:=$(firstword $(ECHO))
 endif
@@ -701,7 +729,7 @@ DATE:=$(strip $(wildcard $(addsuffix /gdate$(SRCEXEEXT),$(SEARCHPATH))))
 ifeq ($(DATE),)
 DATE:=$(strip $(wildcard $(addsuffix /date$(SRCEXEEXT),$(SEARCHPATH))))
 ifeq ($(DATE),)
-DATE=
+DATE= __missing_command__
 else
 DATE:=$(firstword $(DATE))
 endif
@@ -715,7 +743,7 @@ GINSTALL:=$(strip $(wildcard $(addsuffix /ginstall$(SRCEXEEXT),$(SEARCHPATH))))
 ifeq ($(GINSTALL),)
 GINSTALL:=$(strip $(wildcard $(addsuffix /install$(SRCEXEEXT),$(SEARCHPATH))))
 ifeq ($(GINSTALL),)
-GINSTALL=
+GINSTALL= __missing_command__
 else
 GINSTALL:=$(firstword $(GINSTALL))
 endif
@@ -727,7 +755,7 @@ export GINSTALL
 ifndef CPPROG
 CPPROG:=$(strip $(wildcard $(addsuffix /cp$(SRCEXEEXT),$(SEARCHPATH))))
 ifeq ($(CPPROG),)
-CPPROG=
+CPPROG= __missing_command__
 else
 CPPROG:=$(firstword $(CPPROG))
 endif
@@ -736,7 +764,7 @@ export CPPROG
 ifndef RMPROG
 RMPROG:=$(strip $(wildcard $(addsuffix /rm$(SRCEXEEXT),$(SEARCHPATH))))
 ifeq ($(RMPROG),)
-RMPROG=
+RMPROG= __missing_command__
 else
 RMPROG:=$(firstword $(RMPROG))
 endif
@@ -745,7 +773,7 @@ export RMPROG
 ifndef MVPROG
 MVPROG:=$(strip $(wildcard $(addsuffix /mv$(SRCEXEEXT),$(SEARCHPATH))))
 ifeq ($(MVPROG),)
-MVPROG=
+MVPROG= __missing_command__
 else
 MVPROG:=$(firstword $(MVPROG))
 endif
@@ -794,7 +822,7 @@ export ECHOREDIR COPY COPYTREE MOVE DEL DELTREE INSTALL INSTALLEXE MKDIR
 ifndef PPUMOVE
 PPUMOVE:=$(strip $(wildcard $(addsuffix /ppumove$(SRCEXEEXT),$(SEARCHPATH))))
 ifeq ($(PPUMOVE),)
-PPUMOVE=
+PPUMOVE= __missing_command__
 else
 PPUMOVE:=$(firstword $(PPUMOVE))
 endif
@@ -803,7 +831,7 @@ export PPUMOVE
 ifndef FPCMAKE
 FPCMAKE:=$(strip $(wildcard $(addsuffix /fpcmake$(SRCEXEEXT),$(SEARCHPATH))))
 ifeq ($(FPCMAKE),)
-FPCMAKE=
+FPCMAKE= __missing_command__
 else
 FPCMAKE:=$(firstword $(FPCMAKE))
 endif
@@ -812,7 +840,7 @@ export FPCMAKE
 ifndef ZIPPROG
 ZIPPROG:=$(strip $(wildcard $(addsuffix /zip$(SRCEXEEXT),$(SEARCHPATH))))
 ifeq ($(ZIPPROG),)
-ZIPPROG=
+ZIPPROG= __missing_command__
 else
 ZIPPROG:=$(firstword $(ZIPPROG))
 endif
@@ -821,7 +849,7 @@ export ZIPPROG
 ifndef TARPROG
 TARPROG:=$(strip $(wildcard $(addsuffix /tar$(SRCEXEEXT),$(SEARCHPATH))))
 ifeq ($(TARPROG),)
-TARPROG=
+TARPROG= __missing_command__
 else
 TARPROG:=$(firstword $(TARPROG))
 endif
@@ -833,9 +861,11 @@ ARNAME=$(BINUTILSPREFIX)ar
 RCNAME=$(BINUTILSPREFIX)rc
 ifneq ($(findstring 1.0.,$(FPC_VERSION)),)
 ifeq ($(OS_TARGET),win32)
-ASNAME=as
-LDNAME=ld
-ARNAME=ar
+ifeq ($(CROSSBINDIR),)
+ASNAME=asw
+LDNAME=ldw
+ARNAME=arw
+endif
 endif
 endif
 ifndef ASPROG
@@ -870,7 +900,7 @@ AS=$(ASPROG)
 LD=$(LDPROG)
 RC=$(RCPROG)
 AR=$(ARPROG)
-PPAS=ppas$(BATCHEXT)
+PPAS=ppas$(SRCBATCHEXT)
 ifdef inUnix
 LDCONFIG=ldconfig
 else
@@ -1129,8 +1159,12 @@ ifdef RELEASE
 ifeq ($(CPU_TARGET),i386)
 FPCCPUOPT:=-OG2p3
 else
+ifeq ($(CPU_TARGET),powerpc)
+FPCCPUOPT:=-O1
+else
 FPCCPUOPT:=
 endif
+endif
 override FPCOPT+=-Xs $(FPCCPUOPT) -n
 override FPCOPTDEF+=RELEASE
 endif
@@ -1362,7 +1396,7 @@ USEZIPWRAPPER=1
 endif
 ifdef USEZIPWRAPPER
 ZIPPATHSEP=$(PATHSEP)
-ZIPWRAPPER=$(subst /,$(PATHSEP),$(DIST_DESTDIR)/fpczip$(BATCHEXT))
+ZIPWRAPPER=$(subst /,$(PATHSEP),$(DIST_DESTDIR)/fpczip$(SRCBATCHEXT))
 else
 ZIPPATHSEP=/
 endif
@@ -1416,6 +1450,9 @@ override CLEANPPUFILES+=$(addsuffix $(PPUEXT),$(CLEAN_UNITS))
 endif
 ifdef 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 CLEANPPULINKFILES:=$(wildcard $(addprefix $(UNITTARGETDIRPREFIX),$(CLEANPPULINKFILES)))
 endif
@@ -1439,6 +1476,7 @@ ifdef LIB_NAME
 	-$(DEL) $(LIB_NAME) $(LIB_FULLNAME)
 endif
 	-$(DEL) $(FPCMADE) Package.fpc $(PPAS) script.res link.res $(FPCEXTFILE) $(REDIRFILE)
+	-$(DEL) *$(ASMEXT) *_ppas$(BATCHEXT)
 fpc_distclean: clean
 ifdef COMPILER_UNITTARGETDIR
 TARGETDIRCLEAN=fpc_clean
@@ -1450,9 +1488,13 @@ endif
 	-$(DEL) *$(OEXT) *$(PPUEXT) *$(RSTEXT) *$(ASMEXT) *$(STATICLIBEXT) *$(SHAREDLIBEXT) *$(PPLEXT)
 	-$(DELTREE) *$(SMARTEXT)
 	-$(DEL) $(FPCMADE) Package.fpc $(PPAS) script.res link.res $(FPCEXTFILE) $(REDIRFILE)
+	-$(DEL) *_ppas$(BATCHEXT)
 ifdef AOUTEXT
 	-$(DEL) *$(AOUTEXT)
 endif
+ifdef DEBUGSYMEXT
+	-$(DEL) *$(DEBUGSYMEXT)
+endif
 .PHONY: fpc_baseinfo
 override INFORULES+=fpc_baseinfo
 fpc_baseinfo:

+ 114 - 72
packages/extra/zlib/Makefile

@@ -1,15 +1,24 @@
 #
-# Don't edit, this file is generated by FPCMake Version 1.1 [2004/02/22]
+# Don't edit, this file is generated by FPCMake Version 1.1 [2004/04/21]
 #
 default: all
 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:=$(subst \,/,$(PATH))
+ifneq ($(findstring darwin,$(OSTYPE)),)
+inUnix=1 #darwin
+SEARCHPATH:=$(filter-out .,$(subst :, ,$(PATH)))
+else
 ifeq ($(findstring ;,$(PATH)),)
 inUnix=1
 SEARCHPATH:=$(filter-out .,$(subst :, ,$(PATH)))
 else
 SEARCHPATH:=$(subst ;, ,$(PATH))
 endif
+endif
 SEARCHPATH+=$(patsubst %/,%,$(subst \,/,$(dir $(MAKE))))
 PWD:=$(strip $(wildcard $(addsuffix /pwd.exe,$(SEARCHPATH))))
 ifeq ($(PWD),)
@@ -37,22 +46,13 @@ ifneq ($(findstring cygdrive,$(PATH)),)
 inCygWin=1
 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
-BATCHEXT=.sh
+SRCBATCHEXT=.sh
 else
 ifdef inOS2
-BATCHEXT=.cmd
+SRCBATCHEXT=.cmd
 else
-BATCHEXT=.bat
+SRCBATCHEXT=.bat
 endif
 endif
 ifdef inUnix
@@ -155,6 +155,12 @@ ifeq ($(findstring $(OS_TARGET),$(MAKEFILETARGETS)),)
 $(error The Makefile doesn't support target $(OS_TARGET), please run fpcmake first)
 endif
 endif
+ifneq ($(findstring $(OS_TARGET),$(BSDs)),)
+BSDhier=1
+endif
+ifeq ($(OS_TARGET),linux)
+linuxHier=1
+endif
 export OS_TARGET OS_SOURCE CPU_TARGET CPU_SOURCE FULL_TARGET FULL_SOURCE CROSSCOMPILE
 ifdef FPCDIR
 override FPCDIR:=$(subst \,/,$(FPCDIR))
@@ -218,42 +224,12 @@ 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
-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
 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
 ifndef INSTALL_PREFIX
@@ -262,7 +238,7 @@ INSTALL_PREFIX=$(PREFIX)
 endif
 endif
 ifndef INSTALL_PREFIX
-ifdef UNIXINSTALLDIR
+ifdef UNIXHier
 INSTALL_PREFIX=/usr/local
 else
 ifdef INSTALL_FPCPACKAGE
@@ -281,7 +257,7 @@ DIST_DESTDIR:=$(BASEDIR)
 endif
 export DIST_DESTDIR
 ifndef INSTALL_BASEDIR
-ifdef UNIXINSTALLDIR
+ifdef UNIXHier
 ifdef INSTALL_FPCPACKAGE
 INSTALL_BASEDIR:=$(INSTALL_PREFIX)/lib/fpc/$(FPC_VERSION)
 else
@@ -292,7 +268,7 @@ INSTALL_BASEDIR:=$(INSTALL_PREFIX)
 endif
 endif
 ifndef INSTALL_BINDIR
-ifdef UNIXINSTALLDIR
+ifdef UNIXHier
 ifdef CROSSCOMPILE
 INSTALL_BINDIR:=$(INSTALL_BASEDIR)/cross/$(FULL_TARGET)/bin
 else
@@ -322,19 +298,23 @@ endif
 endif
 endif
 ifndef INSTALL_LIBDIR
-ifdef UNIXINSTALLDIR
+ifdef UNIXHier
 INSTALL_LIBDIR:=$(INSTALL_PREFIX)/lib
 else
 INSTALL_LIBDIR:=$(INSTALL_UNITDIR)
 endif
 endif
 ifndef INSTALL_SOURCEDIR
-ifdef UNIXINSTALLDIR
+ifdef UNIXHier
 ifdef BSDhier
 SRCPREFIXDIR=share/src
 else
+ifdef linuxHier
+SRCPREFIXDIR=share/src
+else
 SRCPREFIXDIR=src
 endif
+endif
 ifdef INSTALL_FPCPACKAGE
 ifdef INSTALL_FPCSUBDIR
 INSTALL_SOURCEDIR:=$(INSTALL_PREFIX)/$(SRCPREFIXDIR)/fpc-$(FPC_VERSION)/$(INSTALL_FPCSUBDIR)/$(PACKAGE_NAME)
@@ -357,12 +337,16 @@ endif
 endif
 endif
 ifndef INSTALL_DOCDIR
-ifdef UNIXINSTALLDIR
+ifdef UNIXHier
 ifdef BSDhier
 DOCPREFIXDIR=share/doc
 else
+ifdef linuxHier
+DOCPREFIXDIR=share/doc
+else
 DOCPREFIXDIR=doc
 endif
+endif
 ifdef INSTALL_FPCPACKAGE
 INSTALL_DOCDIR:=$(INSTALL_PREFIX)/$(DOCPREFIXDIR)/fpc-$(FPC_VERSION)/$(PACKAGE_NAME)
 else
@@ -377,20 +361,28 @@ endif
 endif
 endif
 ifndef INSTALL_EXAMPLEDIR
-ifdef UNIXINSTALLDIR
+ifdef UNIXHier
 ifdef INSTALL_FPCPACKAGE
 ifdef BSDhier
 INSTALL_EXAMPLEDIR:=$(INSTALL_PREFIX)/share/examples/fpc-$(FPC_VERSION)/$(PACKAGE_NAME)
 else
+ifdef linuxHier
+INSTALL_EXAMPLEDIR:=$(INSTALL_DOCDIR)/examples/fpc-$(FPC_VERSION)/$(PACKAGE_NAME)
+else
 INSTALL_EXAMPLEDIR:=$(INSTALL_PREFIX)/doc/fpc-$(FPC_VERSION)/examples/$(PACKAGE_NAME)
 endif
+endif
 else
 ifdef BSDhier
 INSTALL_EXAMPLEDIR:=$(INSTALL_PREFIX)/share/examples/$(PACKAGE_NAME)-$(PACKAGE_VERSION)
 else
+ifdef linuxHier
+INSTALL_EXAMPLEDIR:=$(INSTALL_DOCDIR)/examples/$(PACKAGE_NAME)-$(PACKAGE_VERSION)
+else
 INSTALL_EXAMPLEDIR:=$(INSTALL_PREFIX)/doc/$(PACKAGE_NAME)-$(PACKAGE_VERSION)
 endif
 endif
+endif
 else
 ifdef INSTALL_FPCPACKAGE
 INSTALL_EXAMPLEDIR:=$(INSTALL_BASEDIR)/examples/$(PACKAGE_NAME)
@@ -414,7 +406,19 @@ CROSSBINDIR=
 endif
 ifeq ($(OS_SOURCE),linux)
 ifndef GCCLIBDIR
-GCCLIBDIR:=$(shell dirname `gcc -print-libgcc-file-name`)
+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
 ifndef OTHERLIBDIR
 OTHERLIBDIR:=$(shell grep -v "^\#" /etc/ld.so.conf | awk '{ ORS=" "; print $1 }')
@@ -426,6 +430,7 @@ OTHERLIBDIR+=/usr/pkg/lib
 endif
 export GCCLIBDIR OTHERLIB
 endif
+BATCHEXT=.bat
 LOADEREXT=.as
 EXEEXT=.exe
 PPLEXT=.ppl
@@ -458,24 +463,28 @@ ASMEXT=.asm
 SHAREDLIBEXT=.dll
 endif
 ifeq ($(OS_TARGET),linux)
+BATCHEXT=.sh
 EXEEXT=
 HASSHAREDLIB=1
 FPCMADE=fpcmade.lnx
 ZIPSUFFIX=linux
 endif
 ifeq ($(OS_TARGET),freebsd)
+BATCHEXT=.sh
 EXEEXT=
 HASSHAREDLIB=1
 FPCMADE=fpcmade.freebsd
 ZIPSUFFIX=freebsd
 endif
 ifeq ($(OS_TARGET),netbsd)
+BATCHEXT=.sh
 EXEEXT=
 HASSHAREDLIB=1
 FPCMADE=fpcmade.netbsd
 ZIPSUFFIX=netbsd
 endif
 ifeq ($(OS_TARGET),openbsd)
+BATCHEXT=.sh
 EXEEXT=
 HASSHAREDLIB=1
 FPCMADE=fpcmade.openbsd
@@ -487,6 +496,7 @@ FPCMADE=fpcmade.w32
 ZIPSUFFIX=w32
 endif
 ifeq ($(OS_TARGET),os2)
+BATCHEXT=.cmd
 AOUTEXT=.out
 STATICLIBPREFIX=
 SHAREDLIBEXT=.dll
@@ -495,6 +505,7 @@ ZIPSUFFIX=os2
 ECHO=echo
 endif
 ifeq ($(OS_TARGET),emx)
+BATCHEXT=.cmd
 AOUTEXT=.out
 STATICLIBPREFIX=
 SHAREDLIBEXT=.dll
@@ -512,16 +523,19 @@ EXEEXT=.ttp
 FPCMADE=fpcmade.ata
 endif
 ifeq ($(OS_TARGET),beos)
+BATCHEXT=.sh
 EXEEXT=
 FPCMADE=fpcmade.be
 ZIPSUFFIX=be
 endif
 ifeq ($(OS_TARGET),sunos)
+BATCHEXT=.sh
 EXEEXT=
 FPCMADE=fpcmade.sun
 ZIPSUFFIX=sun
 endif
 ifeq ($(OS_TARGET),qnx)
+BATCHEXT=.sh
 EXEEXT=
 FPCMADE=fpcmade.qnx
 ZIPSUFFIX=qnx
@@ -533,10 +547,14 @@ FPCMADE=fpcmade.nw
 ZIPSUFFIX=nw
 endif
 ifeq ($(OS_TARGET),macos)
+BATCHEXT=
 EXEEXT=
-FPCMADE=fpcmade.mcc
+FPCMADE=fpcmade.macos
+ZIPSUFFIX=macos
+DEBUGSYMEXT=.xcoff
 endif
 ifeq ($(OS_TARGET),darwin)
+BATCHEXT=.sh
 EXEEXT=
 HASSHAREDLIB=1
 FPCMADE=fpcmade.darwin
@@ -565,24 +583,28 @@ FPCMADE=fpcmade.dos
 ZIPSUFFIX=watcom
 endif
 ifeq ($(OS_TARGET),linux)
+BATCHEXT=.sh
 EXEEXT=
 HASSHAREDLIB=1
 FPCMADE=fpcmade.lnx
 ZIPSUFFIX=linux
 endif
 ifeq ($(OS_TARGET),freebsd)
+BATCHEXT=.sh
 EXEEXT=
 HASSHAREDLIB=1
 FPCMADE=fpcmade.freebsd
 ZIPSUFFIX=freebsd
 endif
 ifeq ($(OS_TARGET),netbsd)
+BATCHEXT=.sh
 EXEEXT=
 HASSHAREDLIB=1
 FPCMADE=fpcmade.netbsd
 ZIPSUFFIX=netbsd
 endif
 ifeq ($(OS_TARGET),openbsd)
+BATCHEXT=.sh
 EXEEXT=
 HASSHAREDLIB=1
 FPCMADE=fpcmade.openbsd
@@ -599,6 +621,7 @@ FPCMADE=fpcmade.w32
 ZIPSUFFIX=w32
 endif
 ifeq ($(OS_TARGET),os2)
+BATCHEXT=.cmd
 PPUEXT=.ppo
 ASMEXT=.so2
 OEXT=.oo2
@@ -631,6 +654,7 @@ EXEEXT=.ttp
 FPCMADE=fpcmade.ata
 endif
 ifeq ($(OS_TARGET),beos)
+BATCHEXT=.sh
 PPUEXT=.ppu
 ASMEXT=.s
 OEXT=.o
@@ -641,6 +665,7 @@ FPCMADE=fpcmade.be
 ZIPSUFFIX=be
 endif
 ifeq ($(OS_TARGET),sunos)
+BATCHEXT=.sh
 PPUEXT=.ppu
 ASMEXT=.s
 OEXT=.o
@@ -651,6 +676,7 @@ FPCMADE=fpcmade.sun
 ZIPSUFFIX=sun
 endif
 ifeq ($(OS_TARGET),qnx)
+BATCHEXT=.sh
 PPUEXT=.ppu
 ASMEXT=.s
 OEXT=.o
@@ -673,13 +699,15 @@ ZIPSUFFIX=nw
 EXEEXT=.nlm
 endif
 ifeq ($(OS_TARGET),macos)
+BATCHEXT=
 PPUEXT=.ppu
 ASMEXT=.s
 OEXT=.o
 SMARTEXT=.sl
 STATICLIBEXT=.a
 EXEEXT=
-FPCMADE=fpcmade.mcc
+DEBUGSYMEXT=.xcoff
+FPCMADE=fpcmade.macos
 endif
 endif
 ifndef ECHO
@@ -687,7 +715,7 @@ ECHO:=$(strip $(wildcard $(addsuffix /gecho$(SRCEXEEXT),$(SEARCHPATH))))
 ifeq ($(ECHO),)
 ECHO:=$(strip $(wildcard $(addsuffix /echo$(SRCEXEEXT),$(SEARCHPATH))))
 ifeq ($(ECHO),)
-ECHO=
+ECHO= __missing_command__
 else
 ECHO:=$(firstword $(ECHO))
 endif
@@ -701,7 +729,7 @@ DATE:=$(strip $(wildcard $(addsuffix /gdate$(SRCEXEEXT),$(SEARCHPATH))))
 ifeq ($(DATE),)
 DATE:=$(strip $(wildcard $(addsuffix /date$(SRCEXEEXT),$(SEARCHPATH))))
 ifeq ($(DATE),)
-DATE=
+DATE= __missing_command__
 else
 DATE:=$(firstword $(DATE))
 endif
@@ -715,7 +743,7 @@ GINSTALL:=$(strip $(wildcard $(addsuffix /ginstall$(SRCEXEEXT),$(SEARCHPATH))))
 ifeq ($(GINSTALL),)
 GINSTALL:=$(strip $(wildcard $(addsuffix /install$(SRCEXEEXT),$(SEARCHPATH))))
 ifeq ($(GINSTALL),)
-GINSTALL=
+GINSTALL= __missing_command__
 else
 GINSTALL:=$(firstword $(GINSTALL))
 endif
@@ -727,7 +755,7 @@ export GINSTALL
 ifndef CPPROG
 CPPROG:=$(strip $(wildcard $(addsuffix /cp$(SRCEXEEXT),$(SEARCHPATH))))
 ifeq ($(CPPROG),)
-CPPROG=
+CPPROG= __missing_command__
 else
 CPPROG:=$(firstword $(CPPROG))
 endif
@@ -736,7 +764,7 @@ export CPPROG
 ifndef RMPROG
 RMPROG:=$(strip $(wildcard $(addsuffix /rm$(SRCEXEEXT),$(SEARCHPATH))))
 ifeq ($(RMPROG),)
-RMPROG=
+RMPROG= __missing_command__
 else
 RMPROG:=$(firstword $(RMPROG))
 endif
@@ -745,7 +773,7 @@ export RMPROG
 ifndef MVPROG
 MVPROG:=$(strip $(wildcard $(addsuffix /mv$(SRCEXEEXT),$(SEARCHPATH))))
 ifeq ($(MVPROG),)
-MVPROG=
+MVPROG= __missing_command__
 else
 MVPROG:=$(firstword $(MVPROG))
 endif
@@ -794,7 +822,7 @@ export ECHOREDIR COPY COPYTREE MOVE DEL DELTREE INSTALL INSTALLEXE MKDIR
 ifndef PPUMOVE
 PPUMOVE:=$(strip $(wildcard $(addsuffix /ppumove$(SRCEXEEXT),$(SEARCHPATH))))
 ifeq ($(PPUMOVE),)
-PPUMOVE=
+PPUMOVE= __missing_command__
 else
 PPUMOVE:=$(firstword $(PPUMOVE))
 endif
@@ -803,7 +831,7 @@ export PPUMOVE
 ifndef FPCMAKE
 FPCMAKE:=$(strip $(wildcard $(addsuffix /fpcmake$(SRCEXEEXT),$(SEARCHPATH))))
 ifeq ($(FPCMAKE),)
-FPCMAKE=
+FPCMAKE= __missing_command__
 else
 FPCMAKE:=$(firstword $(FPCMAKE))
 endif
@@ -812,7 +840,7 @@ export FPCMAKE
 ifndef ZIPPROG
 ZIPPROG:=$(strip $(wildcard $(addsuffix /zip$(SRCEXEEXT),$(SEARCHPATH))))
 ifeq ($(ZIPPROG),)
-ZIPPROG=
+ZIPPROG= __missing_command__
 else
 ZIPPROG:=$(firstword $(ZIPPROG))
 endif
@@ -821,7 +849,7 @@ export ZIPPROG
 ifndef TARPROG
 TARPROG:=$(strip $(wildcard $(addsuffix /tar$(SRCEXEEXT),$(SEARCHPATH))))
 ifeq ($(TARPROG),)
-TARPROG=
+TARPROG= __missing_command__
 else
 TARPROG:=$(firstword $(TARPROG))
 endif
@@ -833,9 +861,11 @@ ARNAME=$(BINUTILSPREFIX)ar
 RCNAME=$(BINUTILSPREFIX)rc
 ifneq ($(findstring 1.0.,$(FPC_VERSION)),)
 ifeq ($(OS_TARGET),win32)
-ASNAME=as
-LDNAME=ld
-ARNAME=ar
+ifeq ($(CROSSBINDIR),)
+ASNAME=asw
+LDNAME=ldw
+ARNAME=arw
+endif
 endif
 endif
 ifndef ASPROG
@@ -870,7 +900,7 @@ AS=$(ASPROG)
 LD=$(LDPROG)
 RC=$(RCPROG)
 AR=$(ARPROG)
-PPAS=ppas$(BATCHEXT)
+PPAS=ppas$(SRCBATCHEXT)
 ifdef inUnix
 LDCONFIG=ldconfig
 else
@@ -1129,8 +1159,12 @@ ifdef RELEASE
 ifeq ($(CPU_TARGET),i386)
 FPCCPUOPT:=-OG2p3
 else
+ifeq ($(CPU_TARGET),powerpc)
+FPCCPUOPT:=-O1
+else
 FPCCPUOPT:=
 endif
+endif
 override FPCOPT+=-Xs $(FPCCPUOPT) -n
 override FPCOPTDEF+=RELEASE
 endif
@@ -1362,7 +1396,7 @@ USEZIPWRAPPER=1
 endif
 ifdef USEZIPWRAPPER
 ZIPPATHSEP=$(PATHSEP)
-ZIPWRAPPER=$(subst /,$(PATHSEP),$(DIST_DESTDIR)/fpczip$(BATCHEXT))
+ZIPWRAPPER=$(subst /,$(PATHSEP),$(DIST_DESTDIR)/fpczip$(SRCBATCHEXT))
 else
 ZIPPATHSEP=/
 endif
@@ -1416,6 +1450,9 @@ override CLEANPPUFILES+=$(addsuffix $(PPUEXT),$(CLEAN_UNITS))
 endif
 ifdef 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 CLEANPPULINKFILES:=$(wildcard $(addprefix $(UNITTARGETDIRPREFIX),$(CLEANPPULINKFILES)))
 endif
@@ -1439,6 +1476,7 @@ ifdef LIB_NAME
 	-$(DEL) $(LIB_NAME) $(LIB_FULLNAME)
 endif
 	-$(DEL) $(FPCMADE) Package.fpc $(PPAS) script.res link.res $(FPCEXTFILE) $(REDIRFILE)
+	-$(DEL) *$(ASMEXT) *_ppas$(BATCHEXT)
 fpc_distclean: clean
 ifdef COMPILER_UNITTARGETDIR
 TARGETDIRCLEAN=fpc_clean
@@ -1450,9 +1488,13 @@ endif
 	-$(DEL) *$(OEXT) *$(PPUEXT) *$(RSTEXT) *$(ASMEXT) *$(STATICLIBEXT) *$(SHAREDLIBEXT) *$(PPLEXT)
 	-$(DELTREE) *$(SMARTEXT)
 	-$(DEL) $(FPCMADE) Package.fpc $(PPAS) script.res link.res $(FPCEXTFILE) $(REDIRFILE)
+	-$(DEL) *_ppas$(BATCHEXT)
 ifdef AOUTEXT
 	-$(DEL) *$(AOUTEXT)
 endif
+ifdef DEBUGSYMEXT
+	-$(DEL) *$(DEBUGSYMEXT)
+endif
 .PHONY: fpc_baseinfo
 override INFORULES+=fpc_baseinfo
 fpc_baseinfo:

+ 150 - 71
rtl/Makefile

@@ -1,15 +1,24 @@
 #
-# Don't edit, this file is generated by FPCMake Version 1.1 [2004/02/22]
+# Don't edit, this file is generated by FPCMake Version 1.1 [2004/04/21]
 #
 default: all
 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:=$(subst \,/,$(PATH))
+ifneq ($(findstring darwin,$(OSTYPE)),)
+inUnix=1 #darwin
+SEARCHPATH:=$(filter-out .,$(subst :, ,$(PATH)))
+else
 ifeq ($(findstring ;,$(PATH)),)
 inUnix=1
 SEARCHPATH:=$(filter-out .,$(subst :, ,$(PATH)))
 else
 SEARCHPATH:=$(subst ;, ,$(PATH))
 endif
+endif
 SEARCHPATH+=$(patsubst %/,%,$(subst \,/,$(dir $(MAKE))))
 PWD:=$(strip $(wildcard $(addsuffix /pwd.exe,$(SEARCHPATH))))
 ifeq ($(PWD),)
@@ -37,22 +46,13 @@ ifneq ($(findstring cygdrive,$(PATH)),)
 inCygWin=1
 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
-BATCHEXT=.sh
+SRCBATCHEXT=.sh
 else
 ifdef inOS2
-BATCHEXT=.cmd
+SRCBATCHEXT=.cmd
 else
-BATCHEXT=.bat
+SRCBATCHEXT=.bat
 endif
 endif
 ifdef inUnix
@@ -155,6 +155,12 @@ ifeq ($(findstring $(OS_TARGET),$(MAKEFILETARGETS)),)
 $(error The Makefile doesn't support target $(OS_TARGET), please run fpcmake first)
 endif
 endif
+ifneq ($(findstring $(OS_TARGET),$(BSDs)),)
+BSDhier=1
+endif
+ifeq ($(OS_TARGET),linux)
+linuxHier=1
+endif
 export OS_TARGET OS_SOURCE CPU_TARGET CPU_SOURCE FULL_TARGET FULL_SOURCE CROSSCOMPILE
 ifdef FPCDIR
 override FPCDIR:=$(subst \,/,$(FPCDIR))
@@ -233,6 +239,9 @@ endif
 ifeq ($(OS_TARGET),amiga)
 override TARGET_DIRS+=amiga
 endif
+ifeq ($(OS_TARGET),macos)
+override TARGET_DIRS+=macos
+endif
 ifeq ($(OS_TARGET),darwin)
 override TARGET_DIRS+=darwin
 endif
@@ -248,42 +257,12 @@ 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
-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
 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
 ifndef INSTALL_PREFIX
@@ -292,7 +271,7 @@ INSTALL_PREFIX=$(PREFIX)
 endif
 endif
 ifndef INSTALL_PREFIX
-ifdef UNIXINSTALLDIR
+ifdef UNIXHier
 INSTALL_PREFIX=/usr/local
 else
 ifdef INSTALL_FPCPACKAGE
@@ -311,7 +290,7 @@ DIST_DESTDIR:=$(BASEDIR)
 endif
 export DIST_DESTDIR
 ifndef INSTALL_BASEDIR
-ifdef UNIXINSTALLDIR
+ifdef UNIXHier
 ifdef INSTALL_FPCPACKAGE
 INSTALL_BASEDIR:=$(INSTALL_PREFIX)/lib/fpc/$(FPC_VERSION)
 else
@@ -322,7 +301,7 @@ INSTALL_BASEDIR:=$(INSTALL_PREFIX)
 endif
 endif
 ifndef INSTALL_BINDIR
-ifdef UNIXINSTALLDIR
+ifdef UNIXHier
 ifdef CROSSCOMPILE
 INSTALL_BINDIR:=$(INSTALL_BASEDIR)/cross/$(FULL_TARGET)/bin
 else
@@ -352,19 +331,23 @@ endif
 endif
 endif
 ifndef INSTALL_LIBDIR
-ifdef UNIXINSTALLDIR
+ifdef UNIXHier
 INSTALL_LIBDIR:=$(INSTALL_PREFIX)/lib
 else
 INSTALL_LIBDIR:=$(INSTALL_UNITDIR)
 endif
 endif
 ifndef INSTALL_SOURCEDIR
-ifdef UNIXINSTALLDIR
+ifdef UNIXHier
 ifdef BSDhier
 SRCPREFIXDIR=share/src
 else
+ifdef linuxHier
+SRCPREFIXDIR=share/src
+else
 SRCPREFIXDIR=src
 endif
+endif
 ifdef INSTALL_FPCPACKAGE
 ifdef INSTALL_FPCSUBDIR
 INSTALL_SOURCEDIR:=$(INSTALL_PREFIX)/$(SRCPREFIXDIR)/fpc-$(FPC_VERSION)/$(INSTALL_FPCSUBDIR)/$(PACKAGE_NAME)
@@ -387,12 +370,16 @@ endif
 endif
 endif
 ifndef INSTALL_DOCDIR
-ifdef UNIXINSTALLDIR
+ifdef UNIXHier
 ifdef BSDhier
 DOCPREFIXDIR=share/doc
 else
+ifdef linuxHier
+DOCPREFIXDIR=share/doc
+else
 DOCPREFIXDIR=doc
 endif
+endif
 ifdef INSTALL_FPCPACKAGE
 INSTALL_DOCDIR:=$(INSTALL_PREFIX)/$(DOCPREFIXDIR)/fpc-$(FPC_VERSION)/$(PACKAGE_NAME)
 else
@@ -407,20 +394,28 @@ endif
 endif
 endif
 ifndef INSTALL_EXAMPLEDIR
-ifdef UNIXINSTALLDIR
+ifdef UNIXHier
 ifdef INSTALL_FPCPACKAGE
 ifdef BSDhier
 INSTALL_EXAMPLEDIR:=$(INSTALL_PREFIX)/share/examples/fpc-$(FPC_VERSION)/$(PACKAGE_NAME)
 else
+ifdef linuxHier
+INSTALL_EXAMPLEDIR:=$(INSTALL_DOCDIR)/examples/fpc-$(FPC_VERSION)/$(PACKAGE_NAME)
+else
 INSTALL_EXAMPLEDIR:=$(INSTALL_PREFIX)/doc/fpc-$(FPC_VERSION)/examples/$(PACKAGE_NAME)
 endif
+endif
 else
 ifdef BSDhier
 INSTALL_EXAMPLEDIR:=$(INSTALL_PREFIX)/share/examples/$(PACKAGE_NAME)-$(PACKAGE_VERSION)
 else
+ifdef linuxHier
+INSTALL_EXAMPLEDIR:=$(INSTALL_DOCDIR)/examples/$(PACKAGE_NAME)-$(PACKAGE_VERSION)
+else
 INSTALL_EXAMPLEDIR:=$(INSTALL_PREFIX)/doc/$(PACKAGE_NAME)-$(PACKAGE_VERSION)
 endif
 endif
+endif
 else
 ifdef INSTALL_FPCPACKAGE
 INSTALL_EXAMPLEDIR:=$(INSTALL_BASEDIR)/examples/$(PACKAGE_NAME)
@@ -442,6 +437,7 @@ endif
 else
 CROSSBINDIR=
 endif
+BATCHEXT=.bat
 LOADEREXT=.as
 EXEEXT=.exe
 PPLEXT=.ppl
@@ -474,24 +470,28 @@ ASMEXT=.asm
 SHAREDLIBEXT=.dll
 endif
 ifeq ($(OS_TARGET),linux)
+BATCHEXT=.sh
 EXEEXT=
 HASSHAREDLIB=1
 FPCMADE=fpcmade.lnx
 ZIPSUFFIX=linux
 endif
 ifeq ($(OS_TARGET),freebsd)
+BATCHEXT=.sh
 EXEEXT=
 HASSHAREDLIB=1
 FPCMADE=fpcmade.freebsd
 ZIPSUFFIX=freebsd
 endif
 ifeq ($(OS_TARGET),netbsd)
+BATCHEXT=.sh
 EXEEXT=
 HASSHAREDLIB=1
 FPCMADE=fpcmade.netbsd
 ZIPSUFFIX=netbsd
 endif
 ifeq ($(OS_TARGET),openbsd)
+BATCHEXT=.sh
 EXEEXT=
 HASSHAREDLIB=1
 FPCMADE=fpcmade.openbsd
@@ -503,6 +503,7 @@ FPCMADE=fpcmade.w32
 ZIPSUFFIX=w32
 endif
 ifeq ($(OS_TARGET),os2)
+BATCHEXT=.cmd
 AOUTEXT=.out
 STATICLIBPREFIX=
 SHAREDLIBEXT=.dll
@@ -511,6 +512,7 @@ ZIPSUFFIX=os2
 ECHO=echo
 endif
 ifeq ($(OS_TARGET),emx)
+BATCHEXT=.cmd
 AOUTEXT=.out
 STATICLIBPREFIX=
 SHAREDLIBEXT=.dll
@@ -528,16 +530,19 @@ EXEEXT=.ttp
 FPCMADE=fpcmade.ata
 endif
 ifeq ($(OS_TARGET),beos)
+BATCHEXT=.sh
 EXEEXT=
 FPCMADE=fpcmade.be
 ZIPSUFFIX=be
 endif
 ifeq ($(OS_TARGET),sunos)
+BATCHEXT=.sh
 EXEEXT=
 FPCMADE=fpcmade.sun
 ZIPSUFFIX=sun
 endif
 ifeq ($(OS_TARGET),qnx)
+BATCHEXT=.sh
 EXEEXT=
 FPCMADE=fpcmade.qnx
 ZIPSUFFIX=qnx
@@ -549,10 +554,14 @@ FPCMADE=fpcmade.nw
 ZIPSUFFIX=nw
 endif
 ifeq ($(OS_TARGET),macos)
+BATCHEXT=
 EXEEXT=
-FPCMADE=fpcmade.mcc
+FPCMADE=fpcmade.macos
+ZIPSUFFIX=macos
+DEBUGSYMEXT=.xcoff
 endif
 ifeq ($(OS_TARGET),darwin)
+BATCHEXT=.sh
 EXEEXT=
 HASSHAREDLIB=1
 FPCMADE=fpcmade.darwin
@@ -581,24 +590,28 @@ FPCMADE=fpcmade.dos
 ZIPSUFFIX=watcom
 endif
 ifeq ($(OS_TARGET),linux)
+BATCHEXT=.sh
 EXEEXT=
 HASSHAREDLIB=1
 FPCMADE=fpcmade.lnx
 ZIPSUFFIX=linux
 endif
 ifeq ($(OS_TARGET),freebsd)
+BATCHEXT=.sh
 EXEEXT=
 HASSHAREDLIB=1
 FPCMADE=fpcmade.freebsd
 ZIPSUFFIX=freebsd
 endif
 ifeq ($(OS_TARGET),netbsd)
+BATCHEXT=.sh
 EXEEXT=
 HASSHAREDLIB=1
 FPCMADE=fpcmade.netbsd
 ZIPSUFFIX=netbsd
 endif
 ifeq ($(OS_TARGET),openbsd)
+BATCHEXT=.sh
 EXEEXT=
 HASSHAREDLIB=1
 FPCMADE=fpcmade.openbsd
@@ -615,6 +628,7 @@ FPCMADE=fpcmade.w32
 ZIPSUFFIX=w32
 endif
 ifeq ($(OS_TARGET),os2)
+BATCHEXT=.cmd
 PPUEXT=.ppo
 ASMEXT=.so2
 OEXT=.oo2
@@ -647,6 +661,7 @@ EXEEXT=.ttp
 FPCMADE=fpcmade.ata
 endif
 ifeq ($(OS_TARGET),beos)
+BATCHEXT=.sh
 PPUEXT=.ppu
 ASMEXT=.s
 OEXT=.o
@@ -657,6 +672,7 @@ FPCMADE=fpcmade.be
 ZIPSUFFIX=be
 endif
 ifeq ($(OS_TARGET),sunos)
+BATCHEXT=.sh
 PPUEXT=.ppu
 ASMEXT=.s
 OEXT=.o
@@ -667,6 +683,7 @@ FPCMADE=fpcmade.sun
 ZIPSUFFIX=sun
 endif
 ifeq ($(OS_TARGET),qnx)
+BATCHEXT=.sh
 PPUEXT=.ppu
 ASMEXT=.s
 OEXT=.o
@@ -689,13 +706,15 @@ ZIPSUFFIX=nw
 EXEEXT=.nlm
 endif
 ifeq ($(OS_TARGET),macos)
+BATCHEXT=
 PPUEXT=.ppu
 ASMEXT=.s
 OEXT=.o
 SMARTEXT=.sl
 STATICLIBEXT=.a
 EXEEXT=
-FPCMADE=fpcmade.mcc
+DEBUGSYMEXT=.xcoff
+FPCMADE=fpcmade.macos
 endif
 endif
 ifndef ECHO
@@ -703,7 +722,7 @@ ECHO:=$(strip $(wildcard $(addsuffix /gecho$(SRCEXEEXT),$(SEARCHPATH))))
 ifeq ($(ECHO),)
 ECHO:=$(strip $(wildcard $(addsuffix /echo$(SRCEXEEXT),$(SEARCHPATH))))
 ifeq ($(ECHO),)
-ECHO=
+ECHO= __missing_command__
 else
 ECHO:=$(firstword $(ECHO))
 endif
@@ -717,7 +736,7 @@ DATE:=$(strip $(wildcard $(addsuffix /gdate$(SRCEXEEXT),$(SEARCHPATH))))
 ifeq ($(DATE),)
 DATE:=$(strip $(wildcard $(addsuffix /date$(SRCEXEEXT),$(SEARCHPATH))))
 ifeq ($(DATE),)
-DATE=
+DATE= __missing_command__
 else
 DATE:=$(firstword $(DATE))
 endif
@@ -731,7 +750,7 @@ GINSTALL:=$(strip $(wildcard $(addsuffix /ginstall$(SRCEXEEXT),$(SEARCHPATH))))
 ifeq ($(GINSTALL),)
 GINSTALL:=$(strip $(wildcard $(addsuffix /install$(SRCEXEEXT),$(SEARCHPATH))))
 ifeq ($(GINSTALL),)
-GINSTALL=
+GINSTALL= __missing_command__
 else
 GINSTALL:=$(firstword $(GINSTALL))
 endif
@@ -743,7 +762,7 @@ export GINSTALL
 ifndef CPPROG
 CPPROG:=$(strip $(wildcard $(addsuffix /cp$(SRCEXEEXT),$(SEARCHPATH))))
 ifeq ($(CPPROG),)
-CPPROG=
+CPPROG= __missing_command__
 else
 CPPROG:=$(firstword $(CPPROG))
 endif
@@ -752,7 +771,7 @@ export CPPROG
 ifndef RMPROG
 RMPROG:=$(strip $(wildcard $(addsuffix /rm$(SRCEXEEXT),$(SEARCHPATH))))
 ifeq ($(RMPROG),)
-RMPROG=
+RMPROG= __missing_command__
 else
 RMPROG:=$(firstword $(RMPROG))
 endif
@@ -761,7 +780,7 @@ export RMPROG
 ifndef MVPROG
 MVPROG:=$(strip $(wildcard $(addsuffix /mv$(SRCEXEEXT),$(SEARCHPATH))))
 ifeq ($(MVPROG),)
-MVPROG=
+MVPROG= __missing_command__
 else
 MVPROG:=$(firstword $(MVPROG))
 endif
@@ -810,7 +829,7 @@ export ECHOREDIR COPY COPYTREE MOVE DEL DELTREE INSTALL INSTALLEXE MKDIR
 ifndef PPUMOVE
 PPUMOVE:=$(strip $(wildcard $(addsuffix /ppumove$(SRCEXEEXT),$(SEARCHPATH))))
 ifeq ($(PPUMOVE),)
-PPUMOVE=
+PPUMOVE= __missing_command__
 else
 PPUMOVE:=$(firstword $(PPUMOVE))
 endif
@@ -819,7 +838,7 @@ export PPUMOVE
 ifndef FPCMAKE
 FPCMAKE:=$(strip $(wildcard $(addsuffix /fpcmake$(SRCEXEEXT),$(SEARCHPATH))))
 ifeq ($(FPCMAKE),)
-FPCMAKE=
+FPCMAKE= __missing_command__
 else
 FPCMAKE:=$(firstword $(FPCMAKE))
 endif
@@ -828,7 +847,7 @@ export FPCMAKE
 ifndef ZIPPROG
 ZIPPROG:=$(strip $(wildcard $(addsuffix /zip$(SRCEXEEXT),$(SEARCHPATH))))
 ifeq ($(ZIPPROG),)
-ZIPPROG=
+ZIPPROG= __missing_command__
 else
 ZIPPROG:=$(firstword $(ZIPPROG))
 endif
@@ -837,7 +856,7 @@ export ZIPPROG
 ifndef TARPROG
 TARPROG:=$(strip $(wildcard $(addsuffix /tar$(SRCEXEEXT),$(SEARCHPATH))))
 ifeq ($(TARPROG),)
-TARPROG=
+TARPROG= __missing_command__
 else
 TARPROG:=$(firstword $(TARPROG))
 endif
@@ -849,9 +868,11 @@ ARNAME=$(BINUTILSPREFIX)ar
 RCNAME=$(BINUTILSPREFIX)rc
 ifneq ($(findstring 1.0.,$(FPC_VERSION)),)
 ifeq ($(OS_TARGET),win32)
-ASNAME=as
-LDNAME=ld
-ARNAME=ar
+ifeq ($(CROSSBINDIR),)
+ASNAME=asw
+LDNAME=ldw
+ARNAME=arw
+endif
 endif
 endif
 ifndef ASPROG
@@ -886,7 +907,7 @@ AS=$(ASPROG)
 LD=$(LDPROG)
 RC=$(RCPROG)
 AR=$(ARPROG)
-PPAS=ppas$(BATCHEXT)
+PPAS=ppas$(SRCBATCHEXT)
 ifdef inUnix
 LDCONFIG=ldconfig
 else
@@ -1145,8 +1166,12 @@ ifdef RELEASE
 ifeq ($(CPU_TARGET),i386)
 FPCCPUOPT:=-OG2p3
 else
+ifeq ($(CPU_TARGET),powerpc)
+FPCCPUOPT:=-O1
+else
 FPCCPUOPT:=
 endif
+endif
 override FPCOPT+=-Xs $(FPCCPUOPT) -n
 override FPCOPTDEF+=RELEASE
 endif
@@ -1331,7 +1356,7 @@ USEZIPWRAPPER=1
 endif
 ifdef USEZIPWRAPPER
 ZIPPATHSEP=$(PATHSEP)
-ZIPWRAPPER=$(subst /,$(PATHSEP),$(DIST_DESTDIR)/fpczip$(BATCHEXT))
+ZIPWRAPPER=$(subst /,$(PATHSEP),$(DIST_DESTDIR)/fpczip$(SRCBATCHEXT))
 else
 ZIPPATHSEP=/
 endif
@@ -1385,6 +1410,9 @@ override CLEANPPUFILES+=$(addsuffix $(PPUEXT),$(CLEAN_UNITS))
 endif
 ifdef 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 CLEANPPULINKFILES:=$(wildcard $(addprefix $(UNITTARGETDIRPREFIX),$(CLEANPPULINKFILES)))
 endif
@@ -1408,6 +1436,7 @@ ifdef LIB_NAME
 	-$(DEL) $(LIB_NAME) $(LIB_FULLNAME)
 endif
 	-$(DEL) $(FPCMADE) Package.fpc $(PPAS) script.res link.res $(FPCEXTFILE) $(REDIRFILE)
+	-$(DEL) *$(ASMEXT) *_ppas$(BATCHEXT)
 fpc_distclean: clean
 ifdef COMPILER_UNITTARGETDIR
 TARGETDIRCLEAN=fpc_clean
@@ -1419,9 +1448,13 @@ endif
 	-$(DEL) *$(OEXT) *$(PPUEXT) *$(RSTEXT) *$(ASMEXT) *$(STATICLIBEXT) *$(SHAREDLIBEXT) *$(PPLEXT)
 	-$(DELTREE) *$(SMARTEXT)
 	-$(DEL) $(FPCMADE) Package.fpc $(PPAS) script.res link.res $(FPCEXTFILE) $(REDIRFILE)
+	-$(DEL) *_ppas$(BATCHEXT)
 ifdef AOUTEXT
 	-$(DEL) *$(AOUTEXT)
 endif
+ifdef DEBUGSYMEXT
+	-$(DEL) *$(DEBUGSYMEXT)
+endif
 .PHONY: fpc_baseinfo
 override INFORULES+=fpc_baseinfo
 fpc_baseinfo:
@@ -1548,6 +1581,9 @@ endif
 ifeq ($(OS_TARGET),amiga)
 TARGET_DIRS_AMIGA=1
 endif
+ifeq ($(OS_TARGET),macos)
+TARGET_DIRS_MACOS=1
+endif
 ifeq ($(OS_TARGET),darwin)
 TARGET_DIRS_DARWIN=1
 endif
@@ -1898,6 +1934,49 @@ amiga:
 	$(MAKE) -C amiga all
 .PHONY: amiga_all amiga_debug amiga_smart amiga_release amiga_examples amiga_shared amiga_install amiga_sourceinstall amiga_exampleinstall amiga_distinstall amiga_zipinstall amiga_zipsourceinstall amiga_zipexampleinstall amiga_zipdistinstall amiga_clean amiga_distclean amiga_cleanall amiga_info amiga_makefiles amiga
 endif
+ifdef TARGET_DIRS_MACOS
+macos_all:
+	$(MAKE) -C macos all
+macos_debug:
+	$(MAKE) -C macos debug
+macos_smart:
+	$(MAKE) -C macos smart
+macos_release:
+	$(MAKE) -C macos release
+macos_examples:
+	$(MAKE) -C macos examples
+macos_shared:
+	$(MAKE) -C macos shared
+macos_install:
+	$(MAKE) -C macos install
+macos_sourceinstall:
+	$(MAKE) -C macos sourceinstall
+macos_exampleinstall:
+	$(MAKE) -C macos exampleinstall
+macos_distinstall:
+	$(MAKE) -C macos distinstall
+macos_zipinstall:
+	$(MAKE) -C macos zipinstall
+macos_zipsourceinstall:
+	$(MAKE) -C macos zipsourceinstall
+macos_zipexampleinstall:
+	$(MAKE) -C macos zipexampleinstall
+macos_zipdistinstall:
+	$(MAKE) -C macos zipdistinstall
+macos_clean:
+	$(MAKE) -C macos clean
+macos_distclean:
+	$(MAKE) -C macos distclean
+macos_cleanall:
+	$(MAKE) -C macos cleanall
+macos_info:
+	$(MAKE) -C macos info
+macos_makefiles:
+	$(MAKE) -C macos makefiles
+macos:
+	$(MAKE) -C macos all
+.PHONY: macos_all macos_debug macos_smart macos_release macos_examples macos_shared macos_install macos_sourceinstall macos_exampleinstall macos_distinstall macos_zipinstall macos_zipsourceinstall macos_zipexampleinstall macos_zipdistinstall macos_clean macos_distclean macos_cleanall macos_info macos_makefiles macos
+endif
 ifdef TARGET_DIRS_DARWIN
 darwin_all:
 	$(MAKE) -C darwin all

+ 100 - 70
rtl/amiga/Makefile

@@ -1,15 +1,24 @@
 #
-# Don't edit, this file is generated by FPCMake Version 1.1 [2004/02/22]
+# Don't edit, this file is generated by FPCMake Version 1.1 [2004/04/21]
 #
 default: all
 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:=$(subst \,/,$(PATH))
+ifneq ($(findstring darwin,$(OSTYPE)),)
+inUnix=1 #darwin
+SEARCHPATH:=$(filter-out .,$(subst :, ,$(PATH)))
+else
 ifeq ($(findstring ;,$(PATH)),)
 inUnix=1
 SEARCHPATH:=$(filter-out .,$(subst :, ,$(PATH)))
 else
 SEARCHPATH:=$(subst ;, ,$(PATH))
 endif
+endif
 SEARCHPATH+=$(patsubst %/,%,$(subst \,/,$(dir $(MAKE))))
 PWD:=$(strip $(wildcard $(addsuffix /pwd.exe,$(SEARCHPATH))))
 ifeq ($(PWD),)
@@ -37,22 +46,13 @@ ifneq ($(findstring cygdrive,$(PATH)),)
 inCygWin=1
 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
-BATCHEXT=.sh
+SRCBATCHEXT=.sh
 else
 ifdef inOS2
-BATCHEXT=.cmd
+SRCBATCHEXT=.cmd
 else
-BATCHEXT=.bat
+SRCBATCHEXT=.bat
 endif
 endif
 ifdef inUnix
@@ -157,6 +157,12 @@ ifeq ($(findstring $(OS_TARGET),$(MAKEFILETARGETS)),)
 $(error The Makefile doesn't support target $(OS_TARGET), please run fpcmake first)
 endif
 endif
+ifneq ($(findstring $(OS_TARGET),$(BSDs)),)
+BSDhier=1
+endif
+ifeq ($(OS_TARGET),linux)
+linuxHier=1
+endif
 export OS_TARGET OS_SOURCE CPU_TARGET CPU_SOURCE FULL_TARGET FULL_SOURCE CROSSCOMPILE
 ifdef FPCDIR
 override FPCDIR:=$(subst \,/,$(FPCDIR))
@@ -239,42 +245,12 @@ 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
-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
 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
 ifndef INSTALL_PREFIX
@@ -283,7 +259,7 @@ INSTALL_PREFIX=$(PREFIX)
 endif
 endif
 ifndef INSTALL_PREFIX
-ifdef UNIXINSTALLDIR
+ifdef UNIXHier
 INSTALL_PREFIX=/usr/local
 else
 ifdef INSTALL_FPCPACKAGE
@@ -302,7 +278,7 @@ DIST_DESTDIR:=$(BASEDIR)
 endif
 export DIST_DESTDIR
 ifndef INSTALL_BASEDIR
-ifdef UNIXINSTALLDIR
+ifdef UNIXHier
 ifdef INSTALL_FPCPACKAGE
 INSTALL_BASEDIR:=$(INSTALL_PREFIX)/lib/fpc/$(FPC_VERSION)
 else
@@ -313,7 +289,7 @@ INSTALL_BASEDIR:=$(INSTALL_PREFIX)
 endif
 endif
 ifndef INSTALL_BINDIR
-ifdef UNIXINSTALLDIR
+ifdef UNIXHier
 ifdef CROSSCOMPILE
 INSTALL_BINDIR:=$(INSTALL_BASEDIR)/cross/$(FULL_TARGET)/bin
 else
@@ -343,19 +319,23 @@ endif
 endif
 endif
 ifndef INSTALL_LIBDIR
-ifdef UNIXINSTALLDIR
+ifdef UNIXHier
 INSTALL_LIBDIR:=$(INSTALL_PREFIX)/lib
 else
 INSTALL_LIBDIR:=$(INSTALL_UNITDIR)
 endif
 endif
 ifndef INSTALL_SOURCEDIR
-ifdef UNIXINSTALLDIR
+ifdef UNIXHier
 ifdef BSDhier
 SRCPREFIXDIR=share/src
 else
+ifdef linuxHier
+SRCPREFIXDIR=share/src
+else
 SRCPREFIXDIR=src
 endif
+endif
 ifdef INSTALL_FPCPACKAGE
 ifdef INSTALL_FPCSUBDIR
 INSTALL_SOURCEDIR:=$(INSTALL_PREFIX)/$(SRCPREFIXDIR)/fpc-$(FPC_VERSION)/$(INSTALL_FPCSUBDIR)/$(PACKAGE_NAME)
@@ -378,12 +358,16 @@ endif
 endif
 endif
 ifndef INSTALL_DOCDIR
-ifdef UNIXINSTALLDIR
+ifdef UNIXHier
 ifdef BSDhier
 DOCPREFIXDIR=share/doc
 else
+ifdef linuxHier
+DOCPREFIXDIR=share/doc
+else
 DOCPREFIXDIR=doc
 endif
+endif
 ifdef INSTALL_FPCPACKAGE
 INSTALL_DOCDIR:=$(INSTALL_PREFIX)/$(DOCPREFIXDIR)/fpc-$(FPC_VERSION)/$(PACKAGE_NAME)
 else
@@ -398,20 +382,28 @@ endif
 endif
 endif
 ifndef INSTALL_EXAMPLEDIR
-ifdef UNIXINSTALLDIR
+ifdef UNIXHier
 ifdef INSTALL_FPCPACKAGE
 ifdef BSDhier
 INSTALL_EXAMPLEDIR:=$(INSTALL_PREFIX)/share/examples/fpc-$(FPC_VERSION)/$(PACKAGE_NAME)
 else
+ifdef linuxHier
+INSTALL_EXAMPLEDIR:=$(INSTALL_DOCDIR)/examples/fpc-$(FPC_VERSION)/$(PACKAGE_NAME)
+else
 INSTALL_EXAMPLEDIR:=$(INSTALL_PREFIX)/doc/fpc-$(FPC_VERSION)/examples/$(PACKAGE_NAME)
 endif
+endif
 else
 ifdef BSDhier
 INSTALL_EXAMPLEDIR:=$(INSTALL_PREFIX)/share/examples/$(PACKAGE_NAME)-$(PACKAGE_VERSION)
 else
+ifdef linuxHier
+INSTALL_EXAMPLEDIR:=$(INSTALL_DOCDIR)/examples/$(PACKAGE_NAME)-$(PACKAGE_VERSION)
+else
 INSTALL_EXAMPLEDIR:=$(INSTALL_PREFIX)/doc/$(PACKAGE_NAME)-$(PACKAGE_VERSION)
 endif
 endif
+endif
 else
 ifdef INSTALL_FPCPACKAGE
 INSTALL_EXAMPLEDIR:=$(INSTALL_BASEDIR)/examples/$(PACKAGE_NAME)
@@ -433,6 +425,7 @@ endif
 else
 CROSSBINDIR=
 endif
+BATCHEXT=.bat
 LOADEREXT=.as
 EXEEXT=.exe
 PPLEXT=.ppl
@@ -465,24 +458,28 @@ ASMEXT=.asm
 SHAREDLIBEXT=.dll
 endif
 ifeq ($(OS_TARGET),linux)
+BATCHEXT=.sh
 EXEEXT=
 HASSHAREDLIB=1
 FPCMADE=fpcmade.lnx
 ZIPSUFFIX=linux
 endif
 ifeq ($(OS_TARGET),freebsd)
+BATCHEXT=.sh
 EXEEXT=
 HASSHAREDLIB=1
 FPCMADE=fpcmade.freebsd
 ZIPSUFFIX=freebsd
 endif
 ifeq ($(OS_TARGET),netbsd)
+BATCHEXT=.sh
 EXEEXT=
 HASSHAREDLIB=1
 FPCMADE=fpcmade.netbsd
 ZIPSUFFIX=netbsd
 endif
 ifeq ($(OS_TARGET),openbsd)
+BATCHEXT=.sh
 EXEEXT=
 HASSHAREDLIB=1
 FPCMADE=fpcmade.openbsd
@@ -494,6 +491,7 @@ FPCMADE=fpcmade.w32
 ZIPSUFFIX=w32
 endif
 ifeq ($(OS_TARGET),os2)
+BATCHEXT=.cmd
 AOUTEXT=.out
 STATICLIBPREFIX=
 SHAREDLIBEXT=.dll
@@ -502,6 +500,7 @@ ZIPSUFFIX=os2
 ECHO=echo
 endif
 ifeq ($(OS_TARGET),emx)
+BATCHEXT=.cmd
 AOUTEXT=.out
 STATICLIBPREFIX=
 SHAREDLIBEXT=.dll
@@ -519,16 +518,19 @@ EXEEXT=.ttp
 FPCMADE=fpcmade.ata
 endif
 ifeq ($(OS_TARGET),beos)
+BATCHEXT=.sh
 EXEEXT=
 FPCMADE=fpcmade.be
 ZIPSUFFIX=be
 endif
 ifeq ($(OS_TARGET),sunos)
+BATCHEXT=.sh
 EXEEXT=
 FPCMADE=fpcmade.sun
 ZIPSUFFIX=sun
 endif
 ifeq ($(OS_TARGET),qnx)
+BATCHEXT=.sh
 EXEEXT=
 FPCMADE=fpcmade.qnx
 ZIPSUFFIX=qnx
@@ -540,10 +542,14 @@ FPCMADE=fpcmade.nw
 ZIPSUFFIX=nw
 endif
 ifeq ($(OS_TARGET),macos)
+BATCHEXT=
 EXEEXT=
-FPCMADE=fpcmade.mcc
+FPCMADE=fpcmade.macos
+ZIPSUFFIX=macos
+DEBUGSYMEXT=.xcoff
 endif
 ifeq ($(OS_TARGET),darwin)
+BATCHEXT=.sh
 EXEEXT=
 HASSHAREDLIB=1
 FPCMADE=fpcmade.darwin
@@ -572,24 +578,28 @@ FPCMADE=fpcmade.dos
 ZIPSUFFIX=watcom
 endif
 ifeq ($(OS_TARGET),linux)
+BATCHEXT=.sh
 EXEEXT=
 HASSHAREDLIB=1
 FPCMADE=fpcmade.lnx
 ZIPSUFFIX=linux
 endif
 ifeq ($(OS_TARGET),freebsd)
+BATCHEXT=.sh
 EXEEXT=
 HASSHAREDLIB=1
 FPCMADE=fpcmade.freebsd
 ZIPSUFFIX=freebsd
 endif
 ifeq ($(OS_TARGET),netbsd)
+BATCHEXT=.sh
 EXEEXT=
 HASSHAREDLIB=1
 FPCMADE=fpcmade.netbsd
 ZIPSUFFIX=netbsd
 endif
 ifeq ($(OS_TARGET),openbsd)
+BATCHEXT=.sh
 EXEEXT=
 HASSHAREDLIB=1
 FPCMADE=fpcmade.openbsd
@@ -606,6 +616,7 @@ FPCMADE=fpcmade.w32
 ZIPSUFFIX=w32
 endif
 ifeq ($(OS_TARGET),os2)
+BATCHEXT=.cmd
 PPUEXT=.ppo
 ASMEXT=.so2
 OEXT=.oo2
@@ -638,6 +649,7 @@ EXEEXT=.ttp
 FPCMADE=fpcmade.ata
 endif
 ifeq ($(OS_TARGET),beos)
+BATCHEXT=.sh
 PPUEXT=.ppu
 ASMEXT=.s
 OEXT=.o
@@ -648,6 +660,7 @@ FPCMADE=fpcmade.be
 ZIPSUFFIX=be
 endif
 ifeq ($(OS_TARGET),sunos)
+BATCHEXT=.sh
 PPUEXT=.ppu
 ASMEXT=.s
 OEXT=.o
@@ -658,6 +671,7 @@ FPCMADE=fpcmade.sun
 ZIPSUFFIX=sun
 endif
 ifeq ($(OS_TARGET),qnx)
+BATCHEXT=.sh
 PPUEXT=.ppu
 ASMEXT=.s
 OEXT=.o
@@ -680,13 +694,15 @@ ZIPSUFFIX=nw
 EXEEXT=.nlm
 endif
 ifeq ($(OS_TARGET),macos)
+BATCHEXT=
 PPUEXT=.ppu
 ASMEXT=.s
 OEXT=.o
 SMARTEXT=.sl
 STATICLIBEXT=.a
 EXEEXT=
-FPCMADE=fpcmade.mcc
+DEBUGSYMEXT=.xcoff
+FPCMADE=fpcmade.macos
 endif
 endif
 ifndef ECHO
@@ -694,7 +710,7 @@ ECHO:=$(strip $(wildcard $(addsuffix /gecho$(SRCEXEEXT),$(SEARCHPATH))))
 ifeq ($(ECHO),)
 ECHO:=$(strip $(wildcard $(addsuffix /echo$(SRCEXEEXT),$(SEARCHPATH))))
 ifeq ($(ECHO),)
-ECHO=
+ECHO= __missing_command__
 else
 ECHO:=$(firstword $(ECHO))
 endif
@@ -708,7 +724,7 @@ DATE:=$(strip $(wildcard $(addsuffix /gdate$(SRCEXEEXT),$(SEARCHPATH))))
 ifeq ($(DATE),)
 DATE:=$(strip $(wildcard $(addsuffix /date$(SRCEXEEXT),$(SEARCHPATH))))
 ifeq ($(DATE),)
-DATE=
+DATE= __missing_command__
 else
 DATE:=$(firstword $(DATE))
 endif
@@ -722,7 +738,7 @@ GINSTALL:=$(strip $(wildcard $(addsuffix /ginstall$(SRCEXEEXT),$(SEARCHPATH))))
 ifeq ($(GINSTALL),)
 GINSTALL:=$(strip $(wildcard $(addsuffix /install$(SRCEXEEXT),$(SEARCHPATH))))
 ifeq ($(GINSTALL),)
-GINSTALL=
+GINSTALL= __missing_command__
 else
 GINSTALL:=$(firstword $(GINSTALL))
 endif
@@ -734,7 +750,7 @@ export GINSTALL
 ifndef CPPROG
 CPPROG:=$(strip $(wildcard $(addsuffix /cp$(SRCEXEEXT),$(SEARCHPATH))))
 ifeq ($(CPPROG),)
-CPPROG=
+CPPROG= __missing_command__
 else
 CPPROG:=$(firstword $(CPPROG))
 endif
@@ -743,7 +759,7 @@ export CPPROG
 ifndef RMPROG
 RMPROG:=$(strip $(wildcard $(addsuffix /rm$(SRCEXEEXT),$(SEARCHPATH))))
 ifeq ($(RMPROG),)
-RMPROG=
+RMPROG= __missing_command__
 else
 RMPROG:=$(firstword $(RMPROG))
 endif
@@ -752,7 +768,7 @@ export RMPROG
 ifndef MVPROG
 MVPROG:=$(strip $(wildcard $(addsuffix /mv$(SRCEXEEXT),$(SEARCHPATH))))
 ifeq ($(MVPROG),)
-MVPROG=
+MVPROG= __missing_command__
 else
 MVPROG:=$(firstword $(MVPROG))
 endif
@@ -801,7 +817,7 @@ export ECHOREDIR COPY COPYTREE MOVE DEL DELTREE INSTALL INSTALLEXE MKDIR
 ifndef PPUMOVE
 PPUMOVE:=$(strip $(wildcard $(addsuffix /ppumove$(SRCEXEEXT),$(SEARCHPATH))))
 ifeq ($(PPUMOVE),)
-PPUMOVE=
+PPUMOVE= __missing_command__
 else
 PPUMOVE:=$(firstword $(PPUMOVE))
 endif
@@ -810,7 +826,7 @@ export PPUMOVE
 ifndef FPCMAKE
 FPCMAKE:=$(strip $(wildcard $(addsuffix /fpcmake$(SRCEXEEXT),$(SEARCHPATH))))
 ifeq ($(FPCMAKE),)
-FPCMAKE=
+FPCMAKE= __missing_command__
 else
 FPCMAKE:=$(firstword $(FPCMAKE))
 endif
@@ -819,7 +835,7 @@ export FPCMAKE
 ifndef ZIPPROG
 ZIPPROG:=$(strip $(wildcard $(addsuffix /zip$(SRCEXEEXT),$(SEARCHPATH))))
 ifeq ($(ZIPPROG),)
-ZIPPROG=
+ZIPPROG= __missing_command__
 else
 ZIPPROG:=$(firstword $(ZIPPROG))
 endif
@@ -828,7 +844,7 @@ export ZIPPROG
 ifndef TARPROG
 TARPROG:=$(strip $(wildcard $(addsuffix /tar$(SRCEXEEXT),$(SEARCHPATH))))
 ifeq ($(TARPROG),)
-TARPROG=
+TARPROG= __missing_command__
 else
 TARPROG:=$(firstword $(TARPROG))
 endif
@@ -840,9 +856,11 @@ ARNAME=$(BINUTILSPREFIX)ar
 RCNAME=$(BINUTILSPREFIX)rc
 ifneq ($(findstring 1.0.,$(FPC_VERSION)),)
 ifeq ($(OS_TARGET),win32)
-ASNAME=as
-LDNAME=ld
-ARNAME=ar
+ifeq ($(CROSSBINDIR),)
+ASNAME=asw
+LDNAME=ldw
+ARNAME=arw
+endif
 endif
 endif
 ifndef ASPROG
@@ -877,7 +895,7 @@ AS=$(ASPROG)
 LD=$(LDPROG)
 RC=$(RCPROG)
 AR=$(ARPROG)
-PPAS=ppas$(BATCHEXT)
+PPAS=ppas$(SRCBATCHEXT)
 ifdef inUnix
 LDCONFIG=ldconfig
 else
@@ -959,8 +977,12 @@ ifdef RELEASE
 ifeq ($(CPU_TARGET),i386)
 FPCCPUOPT:=-OG2p3
 else
+ifeq ($(CPU_TARGET),powerpc)
+FPCCPUOPT:=-O1
+else
 FPCCPUOPT:=
 endif
+endif
 override FPCOPT+=-Xs $(FPCCPUOPT) -n
 override FPCOPTDEF+=RELEASE
 endif
@@ -1176,6 +1198,9 @@ override CLEANPPUFILES+=$(addsuffix $(PPUEXT),$(CLEAN_UNITS))
 endif
 ifdef 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 CLEANPPULINKFILES:=$(wildcard $(addprefix $(UNITTARGETDIRPREFIX),$(CLEANPPULINKFILES)))
 endif
@@ -1199,6 +1224,7 @@ ifdef LIB_NAME
 	-$(DEL) $(LIB_NAME) $(LIB_FULLNAME)
 endif
 	-$(DEL) $(FPCMADE) Package.fpc $(PPAS) script.res link.res $(FPCEXTFILE) $(REDIRFILE)
+	-$(DEL) *$(ASMEXT) *_ppas$(BATCHEXT)
 fpc_distclean: clean
 ifdef COMPILER_UNITTARGETDIR
 TARGETDIRCLEAN=fpc_clean
@@ -1210,9 +1236,13 @@ endif
 	-$(DEL) *$(OEXT) *$(PPUEXT) *$(RSTEXT) *$(ASMEXT) *$(STATICLIBEXT) *$(SHAREDLIBEXT) *$(PPLEXT)
 	-$(DELTREE) *$(SMARTEXT)
 	-$(DEL) $(FPCMADE) Package.fpc $(PPAS) script.res link.res $(FPCEXTFILE) $(REDIRFILE)
+	-$(DEL) *_ppas$(BATCHEXT)
 ifdef AOUTEXT
 	-$(DEL) *$(AOUTEXT)
 endif
+ifdef DEBUGSYMEXT
+	-$(DEL) *$(DEBUGSYMEXT)
+endif
 .PHONY: fpc_baseinfo
 override INFORULES+=fpc_baseinfo
 fpc_baseinfo:

Some files were not shown because too many files changed in this diff