Browse Source

* no root requirements anymore for deb and rpm

peter 20 years ago
parent
commit
7cde997a93
2 changed files with 111 additions and 511 deletions
  1. 64 483
      Makefile
  2. 47 28
      Makefile.fpc

+ 64 - 483
Makefile

@@ -1,8 +1,8 @@
 #
-# Don't edit, this file is generated by FPCMake Version 1.9.8 [2005/01/10]
+# Don't edit, this file is generated by FPCMake Version 1.1 [2005/01/01]
 #
 default: help
-MAKEFILETARGETS=i386-linux i386-go32v2 i386-win32 i386-os2 i386-freebsd i386-beos i386-netbsd i386-sunos i386-qnx i386-netware i386-openbsd i386-wdosx i386-emx i386-watcom i386-netwlibc m68k-linux m68k-freebsd m68k-netbsd m68k-amiga m68k-atari m68k-openbsd m68k-palmos powerpc-linux powerpc-netbsd powerpc-macos powerpc-darwin powerpc-morphos sparc-linux sparc-netbsd sparc-sunos x86_64-linux x86_64-freebsd arm-linux
+MAKEFILETARGETS=linux go32v2 win32 os2 freebsd beos netbsd amiga atari sunos qnx netware openbsd wdosx palmos macos darwin emx watcom morphos netwlibc
 BSDs = freebsd netbsd openbsd darwin
 UNIXs = linux $(BSDs) sunos qnx
 LIMIT83fs = go32v2 os2 emx watcom
@@ -104,22 +104,16 @@ ifneq ($(FPCPROG),)
 FPCPROG:=$(firstword $(FPCPROG))
 FPC:=$(shell $(FPCPROG) -PB)
 ifneq ($(findstring Error,$(FPC)),)
-override FPC=$(firstword $(strip $(wildcard $(addsuffix /ppc386$(SRCEXEEXT),$(SEARCHPATH)))))
+override FPC=ppc386
 endif
 else
-override FPC=$(firstword $(strip $(wildcard $(addsuffix /ppc386$(SRCEXEEXT),$(SEARCHPATH)))))
+override FPC=ppc386
 endif
 endif
 override FPC:=$(subst $(SRCEXEEXT),,$(FPC))
 override FPC:=$(subst \,/,$(FPC))$(SRCEXEEXT)
-FOUNDFPC:=$(strip $(wildcard $(FPC)))
-ifeq ($(FOUNDFPC),)
-$(error Compiler $(FPC) not found)
-endif
-ifndef FPC_COMPILERINFO
-FPC_COMPILERINFO:=$(shell $(FPC) -iVSPTPSOTO)
-endif
 ifndef FPC_VERSION
+FPC_COMPILERINFO:=$(shell $(FPC) -iVSPTPSOTO)
 FPC_VERSION:=$(word 1,$(FPC_COMPILERINFO))
 endif
 export FPC FPC_VERSION FPC_COMPILERINFO
@@ -152,21 +146,19 @@ endif
 ifndef OS_TARGET
 OS_TARGET:=$(word 5,$(FPC_COMPILERINFO))
 endif
-FULL_TARGET=$(CPU_TARGET)-$(OS_TARGET)
-FULL_SOURCE=$(CPU_SOURCE)-$(OS_SOURCE)
 ifneq ($(findstring $(OS_SOURCE),$(LIMIT83fs)),)
-TARGETSUFFIX=$(OS_TARGET)
-SOURCESUFFIX=$(OS_SOURCE)
+FULL_TARGET=$(OS_TARGET)
+FULL_SOURCE=$(OS_SOURCE)
 else
-TARGETSUFFIX=$(FULL_TARGET)
-SOURCESUFFIX=$(FULL_SOURCE)
+FULL_TARGET=$(CPU_TARGET)-$(OS_TARGET)
+FULL_SOURCE=$(CPU_SOURCE)-$(OS_SOURCE)
 endif
 ifneq ($(FULL_TARGET),$(FULL_SOURCE))
 CROSSCOMPILE=1
 endif
 ifeq ($(findstring makefile,$(MAKECMDGOALS)),)
-ifeq ($(findstring $(FULL_TARGET),$(MAKEFILETARGETS)),)
-$(error The Makefile doesn't support target $(FULL_TARGET), please run fpcmake first)
+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)),)
@@ -175,7 +167,7 @@ endif
 ifeq ($(OS_TARGET),linux)
 linuxHier=1
 endif
-export OS_TARGET OS_SOURCE CPU_TARGET CPU_SOURCE FULL_TARGET FULL_SOURCE TARGETSUFFIX SOURCESUFFIX CROSSCOMPILE
+export OS_TARGET OS_SOURCE CPU_TARGET CPU_SOURCE FULL_TARGET FULL_SOURCE CROSSCOMPILE
 ifdef FPCDIR
 override FPCDIR:=$(subst \,/,$(FPCDIR))
 ifeq ($(wildcard $(addprefix $(FPCDIR)/,rtl units)),)
@@ -213,7 +205,7 @@ endif
 endif
 endif
 ifndef CROSSBINDIR
-CROSSBINDIR:=$(wildcard $(FPCDIR)/bin/$(TARGETSUFFIX))
+CROSSBINDIR:=$(wildcard $(FPCDIR)/bin/$(FULL_TARGET))
 endif
 ifndef BINUTILSPREFIX
 ifndef CROSSBINDIR
@@ -222,17 +214,20 @@ BINUTILSPREFIX=$(CPU_TARGET)-$(OS_TARGET)-
 endif
 endif
 endif
-UNITSDIR:=$(wildcard $(FPCDIR)/units/$(TARGETSUFFIX))
+UNITSDIR:=$(wildcard $(FPCDIR)/units/$(FULL_TARGET))
 ifeq ($(UNITSDIR),)
 UNITSDIR:=$(wildcard $(FPCDIR)/units/$(OS_TARGET))
 endif
 PACKAGESDIR:=$(wildcard $(FPCDIR) $(FPCDIR)/packages/base $(FPCDIR)/packages/extra)
 override PACKAGE_NAME=fpc
-override PACKAGE_VERSION=1.9.7
+override PACKAGE_VERSION=1.9.6
 ifndef inOS2
 override FPCDIR:=$(BASEDIR)
 export FPCDIR
 endif
+ifndef BUILDDIR
+BUILDDIR=$(BASEDIR)/build
+endif
 ifndef PPNEW
 ifeq ($(CPU_TARGET),m68k)
 PPSUF=68k
@@ -322,105 +317,7 @@ endif
 endif
 endif
 endif
-ifeq ($(FULL_TARGET),i386-linux)
-override TARGET_DIRS+=compiler rtl utils fcl fv packages ide installer
-endif
-ifeq ($(FULL_TARGET),i386-go32v2)
-override TARGET_DIRS+=compiler rtl utils fcl fv packages ide installer
-endif
-ifeq ($(FULL_TARGET),i386-win32)
-override TARGET_DIRS+=compiler rtl utils fcl fv packages ide installer
-endif
-ifeq ($(FULL_TARGET),i386-os2)
-override TARGET_DIRS+=compiler rtl utils fcl fv packages ide installer
-endif
-ifeq ($(FULL_TARGET),i386-freebsd)
-override TARGET_DIRS+=compiler rtl utils fcl fv packages ide installer
-endif
-ifeq ($(FULL_TARGET),i386-beos)
-override TARGET_DIRS+=compiler rtl utils fcl fv packages ide installer
-endif
-ifeq ($(FULL_TARGET),i386-netbsd)
-override TARGET_DIRS+=compiler rtl utils fcl fv packages ide installer
-endif
-ifeq ($(FULL_TARGET),i386-sunos)
-override TARGET_DIRS+=compiler rtl utils fcl fv packages ide installer
-endif
-ifeq ($(FULL_TARGET),i386-qnx)
-override TARGET_DIRS+=compiler rtl utils fcl fv packages ide installer
-endif
-ifeq ($(FULL_TARGET),i386-netware)
-override TARGET_DIRS+=compiler rtl utils fcl fv packages ide installer
-endif
-ifeq ($(FULL_TARGET),i386-openbsd)
-override TARGET_DIRS+=compiler rtl utils fcl fv packages ide installer
-endif
-ifeq ($(FULL_TARGET),i386-wdosx)
-override TARGET_DIRS+=compiler rtl utils fcl fv packages ide installer
-endif
-ifeq ($(FULL_TARGET),i386-emx)
-override TARGET_DIRS+=compiler rtl utils fcl fv packages ide installer
-endif
-ifeq ($(FULL_TARGET),i386-watcom)
-override TARGET_DIRS+=compiler rtl utils fcl fv packages ide installer
-endif
-ifeq ($(FULL_TARGET),i386-netwlibc)
-override TARGET_DIRS+=compiler rtl utils fcl fv packages ide installer
-endif
-ifeq ($(FULL_TARGET),m68k-linux)
-override TARGET_DIRS+=compiler rtl utils fcl fv packages ide installer
-endif
-ifeq ($(FULL_TARGET),m68k-freebsd)
-override TARGET_DIRS+=compiler rtl utils fcl fv packages ide installer
-endif
-ifeq ($(FULL_TARGET),m68k-netbsd)
-override TARGET_DIRS+=compiler rtl utils fcl fv packages ide installer
-endif
-ifeq ($(FULL_TARGET),m68k-amiga)
-override TARGET_DIRS+=compiler rtl utils fcl fv packages ide installer
-endif
-ifeq ($(FULL_TARGET),m68k-atari)
-override TARGET_DIRS+=compiler rtl utils fcl fv packages ide installer
-endif
-ifeq ($(FULL_TARGET),m68k-openbsd)
-override TARGET_DIRS+=compiler rtl utils fcl fv packages ide installer
-endif
-ifeq ($(FULL_TARGET),m68k-palmos)
-override TARGET_DIRS+=compiler rtl utils fcl fv packages ide installer
-endif
-ifeq ($(FULL_TARGET),powerpc-linux)
-override TARGET_DIRS+=compiler rtl utils fcl fv packages ide installer
-endif
-ifeq ($(FULL_TARGET),powerpc-netbsd)
-override TARGET_DIRS+=compiler rtl utils fcl fv packages ide installer
-endif
-ifeq ($(FULL_TARGET),powerpc-macos)
-override TARGET_DIRS+=compiler rtl utils fcl fv packages ide installer
-endif
-ifeq ($(FULL_TARGET),powerpc-darwin)
-override TARGET_DIRS+=compiler rtl utils fcl fv packages ide installer
-endif
-ifeq ($(FULL_TARGET),powerpc-morphos)
-override TARGET_DIRS+=compiler rtl utils fcl fv packages ide installer
-endif
-ifeq ($(FULL_TARGET),sparc-linux)
-override TARGET_DIRS+=compiler rtl utils fcl fv packages ide installer
-endif
-ifeq ($(FULL_TARGET),sparc-netbsd)
-override TARGET_DIRS+=compiler rtl utils fcl fv packages ide installer
-endif
-ifeq ($(FULL_TARGET),sparc-sunos)
-override TARGET_DIRS+=compiler rtl utils fcl fv packages ide installer
-endif
-ifeq ($(FULL_TARGET),x86_64-linux)
-override TARGET_DIRS+=compiler rtl utils fcl fv packages ide installer
-endif
-ifeq ($(FULL_TARGET),x86_64-freebsd)
-override TARGET_DIRS+=compiler rtl utils fcl fv packages ide installer
-endif
-ifeq ($(FULL_TARGET),arm-linux)
 override TARGET_DIRS+=compiler rtl utils fcl fv packages ide installer
-endif
 override INSTALL_FPCPACKAGE=y
 ifdef REQUIRE_UNITSDIR
 override UNITSDIR+=$(REQUIRE_UNITSDIR)
@@ -463,9 +360,9 @@ endif
 export DIST_DESTDIR
 ifndef COMPILER_UNITTARGETDIR
 ifdef PACKAGEDIR_MAIN
-COMPILER_UNITTARGETDIR=$(PACKAGEDIR_MAIN)/units/$(TARGETSUFFIX)
+COMPILER_UNITTARGETDIR=$(PACKAGEDIR_MAIN)/units/$(FULL_TARGET)
 else
-COMPILER_UNITTARGETDIR=units/$(TARGETSUFFIX)
+COMPILER_UNITTARGETDIR=units/$(FULL_TARGET)
 endif
 endif
 ifndef COMPILER_TARGETDIR
@@ -490,18 +387,18 @@ INSTALL_BINDIR:=$(INSTALL_BASEDIR)/bin
 ifdef INSTALL_FPCPACKAGE
 ifdef CROSSCOMPILE
 ifdef CROSSINSTALL
-INSTALL_BINDIR:=$(INSTALL_BINDIR)/$(SOURCESUFFIX)
+INSTALL_BINDIR:=$(INSTALL_BINDIR)/$(FULL_SOURCE)
 else
-INSTALL_BINDIR:=$(INSTALL_BINDIR)/$(TARGETSUFFIX)
+INSTALL_BINDIR:=$(INSTALL_BINDIR)/$(FULL_TARGET)
 endif
 else
-INSTALL_BINDIR:=$(INSTALL_BINDIR)/$(TARGETSUFFIX)
+INSTALL_BINDIR:=$(INSTALL_BINDIR)/$(FULL_TARGET)
 endif
 endif
 endif
 endif
 ifndef INSTALL_UNITDIR
-INSTALL_UNITDIR:=$(INSTALL_BASEDIR)/units/$(TARGETSUFFIX)
+INSTALL_UNITDIR:=$(INSTALL_BASEDIR)/units/$(FULL_TARGET)
 ifdef INSTALL_FPCPACKAGE
 ifdef PACKAGE_NAME
 INSTALL_UNITDIR:=$(INSTALL_UNITDIR)/$(PACKAGE_NAME)
@@ -607,9 +504,9 @@ INSTALL_DATADIR=$(INSTALL_BASEDIR)
 endif
 ifdef CROSSCOMPILE
 ifndef CROSSBINDIR
-CROSSBINDIR:=$(wildcard $(CROSSTARGETDIR)/bin/$(SOURCESUFFIX))
+CROSSBINDIR:=$(wildcard $(CROSSTARGETDIR)/bin/$(FULL_SOURCE))
 ifeq ($(CROSSBINDIR),)
-CROSSBINDIR:=$(wildcard $(INSTALL_BASEDIR)/cross/$(TARGETSUFFIX)/bin/$(FULL_SOURCE))
+CROSSBINDIR:=$(wildcard $(INSTALL_BASEDIR)/cross/$(FULL_TARGET)/bin/$(FULL_SOURCE))
 endif
 endif
 else
@@ -893,14 +790,14 @@ ZIPCROSSPREFIX=
 ZIPSOURCESUFFIX=src
 ZIPEXAMPLESUFFIX=exm
 else
-FPCMADE=fpcmade.$(TARGETSUFFIX)
+FPCMADE=fpcmade.$(FULL_TARGET)
 ZIPSOURCESUFFIX=.source
 ZIPEXAMPLESUFFIX=.examples
 ifdef CROSSCOMPILE
-ZIPSUFFIX=.$(SOURCESUFFIX)
-ZIPCROSSPREFIX=$(TARGETSUFFIX)-
+ZIPSUFFIX=.$(FULL_SOURCE)
+ZIPCROSSPREFIX=$(FULL_TARGET)-
 else
-ZIPSUFFIX=.$(TARGETSUFFIX)
+ZIPSUFFIX=.$(FULL_TARGET)
 ZIPCROSSPREFIX=
 endif
 endif
@@ -1515,8 +1412,6 @@ fpc_baseinfo:
 	@$(ECHO)  Target OS.... $(OS_TARGET)
 	@$(ECHO)  Full Source.. $(FULL_SOURCE)
 	@$(ECHO)  Full Target.. $(FULL_TARGET)
-	@$(ECHO)  SourceSuffix. $(SOURCESUFFIX)
-	@$(ECHO)  TargetSuffix. $(TARGETSUFFIX)
 	@$(ECHO)
 	@$(ECHO)  == Directory info ==
 	@$(ECHO)
@@ -1604,27 +1499,6 @@ endif
 fpc_makefile_sub2: $(addsuffix _makefile_dirs,$(TARGET_DIRS) $(TARGET_EXAMPLEDIRS))
 fpc_makefile_dirs: fpc_makefile_sub1 fpc_makefile_sub2
 fpc_makefiles: fpc_makefile fpc_makefile_dirs
-ifeq ($(FULL_TARGET),i386-linux)
-TARGET_DIRS_COMPILER=1
-TARGET_DIRS_RTL=1
-TARGET_DIRS_UTILS=1
-TARGET_DIRS_FCL=1
-TARGET_DIRS_FV=1
-TARGET_DIRS_PACKAGES=1
-TARGET_DIRS_IDE=1
-TARGET_DIRS_INSTALLER=1
-endif
-ifeq ($(FULL_TARGET),i386-go32v2)
-TARGET_DIRS_COMPILER=1
-TARGET_DIRS_RTL=1
-TARGET_DIRS_UTILS=1
-TARGET_DIRS_FCL=1
-TARGET_DIRS_FV=1
-TARGET_DIRS_PACKAGES=1
-TARGET_DIRS_IDE=1
-TARGET_DIRS_INSTALLER=1
-endif
-ifeq ($(FULL_TARGET),i386-win32)
 TARGET_DIRS_COMPILER=1
 TARGET_DIRS_RTL=1
 TARGET_DIRS_UTILS=1
@@ -1633,307 +1507,6 @@ TARGET_DIRS_FV=1
 TARGET_DIRS_PACKAGES=1
 TARGET_DIRS_IDE=1
 TARGET_DIRS_INSTALLER=1
-endif
-ifeq ($(FULL_TARGET),i386-os2)
-TARGET_DIRS_COMPILER=1
-TARGET_DIRS_RTL=1
-TARGET_DIRS_UTILS=1
-TARGET_DIRS_FCL=1
-TARGET_DIRS_FV=1
-TARGET_DIRS_PACKAGES=1
-TARGET_DIRS_IDE=1
-TARGET_DIRS_INSTALLER=1
-endif
-ifeq ($(FULL_TARGET),i386-freebsd)
-TARGET_DIRS_COMPILER=1
-TARGET_DIRS_RTL=1
-TARGET_DIRS_UTILS=1
-TARGET_DIRS_FCL=1
-TARGET_DIRS_FV=1
-TARGET_DIRS_PACKAGES=1
-TARGET_DIRS_IDE=1
-TARGET_DIRS_INSTALLER=1
-endif
-ifeq ($(FULL_TARGET),i386-beos)
-TARGET_DIRS_COMPILER=1
-TARGET_DIRS_RTL=1
-TARGET_DIRS_UTILS=1
-TARGET_DIRS_FCL=1
-TARGET_DIRS_FV=1
-TARGET_DIRS_PACKAGES=1
-TARGET_DIRS_IDE=1
-TARGET_DIRS_INSTALLER=1
-endif
-ifeq ($(FULL_TARGET),i386-netbsd)
-TARGET_DIRS_COMPILER=1
-TARGET_DIRS_RTL=1
-TARGET_DIRS_UTILS=1
-TARGET_DIRS_FCL=1
-TARGET_DIRS_FV=1
-TARGET_DIRS_PACKAGES=1
-TARGET_DIRS_IDE=1
-TARGET_DIRS_INSTALLER=1
-endif
-ifeq ($(FULL_TARGET),i386-sunos)
-TARGET_DIRS_COMPILER=1
-TARGET_DIRS_RTL=1
-TARGET_DIRS_UTILS=1
-TARGET_DIRS_FCL=1
-TARGET_DIRS_FV=1
-TARGET_DIRS_PACKAGES=1
-TARGET_DIRS_IDE=1
-TARGET_DIRS_INSTALLER=1
-endif
-ifeq ($(FULL_TARGET),i386-qnx)
-TARGET_DIRS_COMPILER=1
-TARGET_DIRS_RTL=1
-TARGET_DIRS_UTILS=1
-TARGET_DIRS_FCL=1
-TARGET_DIRS_FV=1
-TARGET_DIRS_PACKAGES=1
-TARGET_DIRS_IDE=1
-TARGET_DIRS_INSTALLER=1
-endif
-ifeq ($(FULL_TARGET),i386-netware)
-TARGET_DIRS_COMPILER=1
-TARGET_DIRS_RTL=1
-TARGET_DIRS_UTILS=1
-TARGET_DIRS_FCL=1
-TARGET_DIRS_FV=1
-TARGET_DIRS_PACKAGES=1
-TARGET_DIRS_IDE=1
-TARGET_DIRS_INSTALLER=1
-endif
-ifeq ($(FULL_TARGET),i386-openbsd)
-TARGET_DIRS_COMPILER=1
-TARGET_DIRS_RTL=1
-TARGET_DIRS_UTILS=1
-TARGET_DIRS_FCL=1
-TARGET_DIRS_FV=1
-TARGET_DIRS_PACKAGES=1
-TARGET_DIRS_IDE=1
-TARGET_DIRS_INSTALLER=1
-endif
-ifeq ($(FULL_TARGET),i386-wdosx)
-TARGET_DIRS_COMPILER=1
-TARGET_DIRS_RTL=1
-TARGET_DIRS_UTILS=1
-TARGET_DIRS_FCL=1
-TARGET_DIRS_FV=1
-TARGET_DIRS_PACKAGES=1
-TARGET_DIRS_IDE=1
-TARGET_DIRS_INSTALLER=1
-endif
-ifeq ($(FULL_TARGET),i386-emx)
-TARGET_DIRS_COMPILER=1
-TARGET_DIRS_RTL=1
-TARGET_DIRS_UTILS=1
-TARGET_DIRS_FCL=1
-TARGET_DIRS_FV=1
-TARGET_DIRS_PACKAGES=1
-TARGET_DIRS_IDE=1
-TARGET_DIRS_INSTALLER=1
-endif
-ifeq ($(FULL_TARGET),i386-watcom)
-TARGET_DIRS_COMPILER=1
-TARGET_DIRS_RTL=1
-TARGET_DIRS_UTILS=1
-TARGET_DIRS_FCL=1
-TARGET_DIRS_FV=1
-TARGET_DIRS_PACKAGES=1
-TARGET_DIRS_IDE=1
-TARGET_DIRS_INSTALLER=1
-endif
-ifeq ($(FULL_TARGET),i386-netwlibc)
-TARGET_DIRS_COMPILER=1
-TARGET_DIRS_RTL=1
-TARGET_DIRS_UTILS=1
-TARGET_DIRS_FCL=1
-TARGET_DIRS_FV=1
-TARGET_DIRS_PACKAGES=1
-TARGET_DIRS_IDE=1
-TARGET_DIRS_INSTALLER=1
-endif
-ifeq ($(FULL_TARGET),m68k-linux)
-TARGET_DIRS_COMPILER=1
-TARGET_DIRS_RTL=1
-TARGET_DIRS_UTILS=1
-TARGET_DIRS_FCL=1
-TARGET_DIRS_FV=1
-TARGET_DIRS_PACKAGES=1
-TARGET_DIRS_IDE=1
-TARGET_DIRS_INSTALLER=1
-endif
-ifeq ($(FULL_TARGET),m68k-freebsd)
-TARGET_DIRS_COMPILER=1
-TARGET_DIRS_RTL=1
-TARGET_DIRS_UTILS=1
-TARGET_DIRS_FCL=1
-TARGET_DIRS_FV=1
-TARGET_DIRS_PACKAGES=1
-TARGET_DIRS_IDE=1
-TARGET_DIRS_INSTALLER=1
-endif
-ifeq ($(FULL_TARGET),m68k-netbsd)
-TARGET_DIRS_COMPILER=1
-TARGET_DIRS_RTL=1
-TARGET_DIRS_UTILS=1
-TARGET_DIRS_FCL=1
-TARGET_DIRS_FV=1
-TARGET_DIRS_PACKAGES=1
-TARGET_DIRS_IDE=1
-TARGET_DIRS_INSTALLER=1
-endif
-ifeq ($(FULL_TARGET),m68k-amiga)
-TARGET_DIRS_COMPILER=1
-TARGET_DIRS_RTL=1
-TARGET_DIRS_UTILS=1
-TARGET_DIRS_FCL=1
-TARGET_DIRS_FV=1
-TARGET_DIRS_PACKAGES=1
-TARGET_DIRS_IDE=1
-TARGET_DIRS_INSTALLER=1
-endif
-ifeq ($(FULL_TARGET),m68k-atari)
-TARGET_DIRS_COMPILER=1
-TARGET_DIRS_RTL=1
-TARGET_DIRS_UTILS=1
-TARGET_DIRS_FCL=1
-TARGET_DIRS_FV=1
-TARGET_DIRS_PACKAGES=1
-TARGET_DIRS_IDE=1
-TARGET_DIRS_INSTALLER=1
-endif
-ifeq ($(FULL_TARGET),m68k-openbsd)
-TARGET_DIRS_COMPILER=1
-TARGET_DIRS_RTL=1
-TARGET_DIRS_UTILS=1
-TARGET_DIRS_FCL=1
-TARGET_DIRS_FV=1
-TARGET_DIRS_PACKAGES=1
-TARGET_DIRS_IDE=1
-TARGET_DIRS_INSTALLER=1
-endif
-ifeq ($(FULL_TARGET),m68k-palmos)
-TARGET_DIRS_COMPILER=1
-TARGET_DIRS_RTL=1
-TARGET_DIRS_UTILS=1
-TARGET_DIRS_FCL=1
-TARGET_DIRS_FV=1
-TARGET_DIRS_PACKAGES=1
-TARGET_DIRS_IDE=1
-TARGET_DIRS_INSTALLER=1
-endif
-ifeq ($(FULL_TARGET),powerpc-linux)
-TARGET_DIRS_COMPILER=1
-TARGET_DIRS_RTL=1
-TARGET_DIRS_UTILS=1
-TARGET_DIRS_FCL=1
-TARGET_DIRS_FV=1
-TARGET_DIRS_PACKAGES=1
-TARGET_DIRS_IDE=1
-TARGET_DIRS_INSTALLER=1
-endif
-ifeq ($(FULL_TARGET),powerpc-netbsd)
-TARGET_DIRS_COMPILER=1
-TARGET_DIRS_RTL=1
-TARGET_DIRS_UTILS=1
-TARGET_DIRS_FCL=1
-TARGET_DIRS_FV=1
-TARGET_DIRS_PACKAGES=1
-TARGET_DIRS_IDE=1
-TARGET_DIRS_INSTALLER=1
-endif
-ifeq ($(FULL_TARGET),powerpc-macos)
-TARGET_DIRS_COMPILER=1
-TARGET_DIRS_RTL=1
-TARGET_DIRS_UTILS=1
-TARGET_DIRS_FCL=1
-TARGET_DIRS_FV=1
-TARGET_DIRS_PACKAGES=1
-TARGET_DIRS_IDE=1
-TARGET_DIRS_INSTALLER=1
-endif
-ifeq ($(FULL_TARGET),powerpc-darwin)
-TARGET_DIRS_COMPILER=1
-TARGET_DIRS_RTL=1
-TARGET_DIRS_UTILS=1
-TARGET_DIRS_FCL=1
-TARGET_DIRS_FV=1
-TARGET_DIRS_PACKAGES=1
-TARGET_DIRS_IDE=1
-TARGET_DIRS_INSTALLER=1
-endif
-ifeq ($(FULL_TARGET),powerpc-morphos)
-TARGET_DIRS_COMPILER=1
-TARGET_DIRS_RTL=1
-TARGET_DIRS_UTILS=1
-TARGET_DIRS_FCL=1
-TARGET_DIRS_FV=1
-TARGET_DIRS_PACKAGES=1
-TARGET_DIRS_IDE=1
-TARGET_DIRS_INSTALLER=1
-endif
-ifeq ($(FULL_TARGET),sparc-linux)
-TARGET_DIRS_COMPILER=1
-TARGET_DIRS_RTL=1
-TARGET_DIRS_UTILS=1
-TARGET_DIRS_FCL=1
-TARGET_DIRS_FV=1
-TARGET_DIRS_PACKAGES=1
-TARGET_DIRS_IDE=1
-TARGET_DIRS_INSTALLER=1
-endif
-ifeq ($(FULL_TARGET),sparc-netbsd)
-TARGET_DIRS_COMPILER=1
-TARGET_DIRS_RTL=1
-TARGET_DIRS_UTILS=1
-TARGET_DIRS_FCL=1
-TARGET_DIRS_FV=1
-TARGET_DIRS_PACKAGES=1
-TARGET_DIRS_IDE=1
-TARGET_DIRS_INSTALLER=1
-endif
-ifeq ($(FULL_TARGET),sparc-sunos)
-TARGET_DIRS_COMPILER=1
-TARGET_DIRS_RTL=1
-TARGET_DIRS_UTILS=1
-TARGET_DIRS_FCL=1
-TARGET_DIRS_FV=1
-TARGET_DIRS_PACKAGES=1
-TARGET_DIRS_IDE=1
-TARGET_DIRS_INSTALLER=1
-endif
-ifeq ($(FULL_TARGET),x86_64-linux)
-TARGET_DIRS_COMPILER=1
-TARGET_DIRS_RTL=1
-TARGET_DIRS_UTILS=1
-TARGET_DIRS_FCL=1
-TARGET_DIRS_FV=1
-TARGET_DIRS_PACKAGES=1
-TARGET_DIRS_IDE=1
-TARGET_DIRS_INSTALLER=1
-endif
-ifeq ($(FULL_TARGET),x86_64-freebsd)
-TARGET_DIRS_COMPILER=1
-TARGET_DIRS_RTL=1
-TARGET_DIRS_UTILS=1
-TARGET_DIRS_FCL=1
-TARGET_DIRS_FV=1
-TARGET_DIRS_PACKAGES=1
-TARGET_DIRS_IDE=1
-TARGET_DIRS_INSTALLER=1
-endif
-ifeq ($(FULL_TARGET),arm-linux)
-TARGET_DIRS_COMPILER=1
-TARGET_DIRS_RTL=1
-TARGET_DIRS_UTILS=1
-TARGET_DIRS_FCL=1
-TARGET_DIRS_FV=1
-TARGET_DIRS_PACKAGES=1
-TARGET_DIRS_IDE=1
-TARGET_DIRS_INSTALLER=1
-endif
 ifdef TARGET_DIRS_COMPILER
 compiler_all:
 	$(MAKE) -C compiler all
@@ -2313,7 +1886,7 @@ makefiles: fpc_makefiles
 ifneq ($(wildcard fpcmake.loc),)
 include fpcmake.loc
 endif
-unexport FPC_VERSION OS_SOURCE
+unexport FPC_VERSION FPC_COMPILERINFO OS_SOURCE
 override TARGET_DIRS:=$(wildcard $(TARGET_DIRS))
 .PHONY: help checkfpcdir
 help:
@@ -2548,7 +2121,7 @@ ifneq ($(wildcard $(CVSINSTALL)/debian/changelog),)
 .PHONY: debcopy deb
 DEBPACKAGEVERSION:=$(shell head -n 1 $(CVSINSTALL)/debian/changelog | awk '{ print $$2 }' | tr -d '[()]')
 DEBFPCVERSION:=$(shell echo $(DEBPACKAGEVERSION) | awk -F '-' '{ print $$1 }')
-DEBSRCDIR:=/usr/src/fpc-$(DEBFPCVERSION)
+DEBSRCDIR:=$(BUILDDIR)/fpc-$(DEBFPCVERSION)
 debcopy: distclean
 	rm -rf $(DEBSRCDIR)
 	install -d $(DEBSRCDIR)
@@ -2570,12 +2143,19 @@ endif
 	$(COPYTREE) $(CVSINSTALL)/doc $(DEBSRCDIR)
 	find $(DEBSRCDIR) -name 'CVS*' | xargs -n1 rm -rf
 	chmod 755 $(DEBSRCDIR)/debian/rules
-deb: checkfpcdir debcopy
+debbuild:
 ifdef NODOCS
-	cd $(DEBSRCDIR) ; debian/rules binary-arch
+	cd $(DEBSRCDIR) ; fakeroot debian/rules binary-arch
 else
-	cd $(DEBSRCDIR) ; debian/rules binary
+	cd $(DEBSRCDIR) ; fakeroot debian/rules binary
 endif
+	mv $(DEBSRCDIR)/../*.deb .
+debclean:
+	rm -rf $(DEBSRCDIR)
+	-rmdir $(BUILDDIR)
+debtargz: checkfpcdir
+	$(MAKE) fpc_zipinstall USETAR=y ZIPTARGET=debcopy PACKDIR=$(DEBSRCDIR) FULLZIPNAME=fpc-$(DEBFPCVERSION).orig
+deb: checkfpcdir debcopy debbuild debclean
 endif   # changelog found
 endif
 ifdef inUnix
@@ -2588,27 +2168,22 @@ RPMBUILD=$(strip $(wildcard $(addsuffix /rpmbuild,$(SEARCHPATH))))
 ifeq ($(RPMBUILD),)
 RPMBUILD=$(strip $(wildcard $(addsuffix /rpm,$(SEARCHPATH))))
 endif
-REDHATDIR=$(shell rpm --eval=%_topdir)
-ifeq ($(REDHATDIR),%_topdir)
-REDHATDIR=
-endif
-ifeq ($(REDHATDIR),)
-REDHATDIR=/usr/src/redhat
-ifeq ($(wildcard $(REDHATDIR)),)
-REDHATDIR=/usr/src/rpm
-endif
-endif
-RPMSOURCESDIR:=$(REDHATDIR)/SOURCES
-RPMSPECDIR:=$(REDHATDIR)/SPECS
-RPMSRCDIR:=$(RPMSOURCESDIR)/fpc
+RPMDIR=$(BUILDDIR)/rpm
+RPMSPECFILE:=$(RPMDIR)/SPECS/fpc-$(RPMFPCVERSION).spec
+RPMSOURCEFILE:=$(RPMDIR)/SOURCES/fpc-$(RPMFPCVERSION)-src.tar.gz
+RPMSRCDIR:=$(RPMDIR)/SOURCES/fpc
 rpmcopy: distclean
-	false || [ -d $(REDHATDIR) ] || install -d $(REDHATDIR)
-	false || [ -d $(RRPMSPECDIR) ] || install -d $(RPMSPECDIR)
-	false || [ -d $(RPMSOURCESDIR) ] || install -d $(RPMSOURCESDIR)
+	false || [ -d $(RPMDIR) ] || install -d $(RPMDIR)
+	false || [ -d $(RPMDIR)/BUILD ] || install -d $(RPMDIR)/BUILD
+	false || [ -d $(RPMDIR)/SOURCES ] || install -d $(RPMDIR)/SOURCES
+	false || [ -d $(RPMDIR)/SPECS ] || install -d $(RPMDIR)/SPECS
+	false || [ -d $(RPMDIR)/RPMS ] || install -d $(RPMDIR)/RPMS
+	false || [ -d $(RPMDIR)/SRPMS ] || install -d $(RPMDIR)/SRPMS
 	rm -rf $(RPMSRCDIR)
-	cp $(CVSINSTALL)/fpc.spec $(RPMSPECDIR)/fpc-$(RPMFPCVERSION).spec
+	echo "%define _topdir $(RPMDIR)" > $(RPMSPECFILE)
+	cat $(CVSINSTALL)/fpc.spec >> $(RPMSPECFILE)
 ifndef NODOCS
-	cat $(CVSINSTALL)/fpcdoc.spec >> $(RPMSPECDIR)/fpc-$(RPMFPCVERSION).spec
+	cat $(CVSINSTALL)/fpcdoc.spec >> $(RPMSPECFILE)
 endif
 	install -d $(RPMSRCDIR)
 	$(COPYTREE) compiler $(RPMSRCDIR)
@@ -2629,10 +2204,16 @@ ifndef NODOCS
 	$(COPYTREE) docs $(RPMSRCDIR)
 endif
 	find $(RPMSRCDIR) -name 'CVS*' | xargs -n1 rm -rf
-	cd $(RPMSRCDIR) ; tar cvz * > $(RPMSOURCESDIR)/fpc-$(RPMFPCVERSION)-src.tar.gz
+	cd $(RPMSRCDIR) ; tar cfvz $(RPMSOURCEFILE) *
 	rm -rf $(RPMSRCDIR)
-rpm: checkfpcdir rpmcopy
-	cd $(RPMSPECDIR) ; $(RPMBUILD) --nodeps -ba fpc-$(RPMFPCVERSION).spec
+rpmbuild: checkfpcdir
+	$(RPMBUILD) --nodeps -ba $(RPMSPECFILE)
+	mv `find $(RPMDIR)/RPMS/ -name '*.rpm'` .
+	mv `find $(RPMDIR)/SRPMS/ -name '*.rpm'` .
+rpmclean:
+	rm -rf $(RPMDIR)
+	-rmdir $(BUILDDIR)
+rpm: checkfpcdir rpmcopy rpmbuild rpmclean
 endif   # spec found
 endif   # rpm available
 endif   # inUnix

+ 47 - 28
Makefile.fpc

@@ -4,7 +4,7 @@
 
 [package]
 name=fpc
-version=1.9.7
+version=1.9.6
 
 [target]
 dirs=compiler rtl utils fcl fv packages ide installer
@@ -26,6 +26,11 @@ override FPCDIR:=$(BASEDIR)
 export FPCDIR
 endif
 
+# Build dir
+ifndef BUILDDIR
+BUILDDIR=$(BASEDIR)/build
+endif
+
 # New ppc386 (or ppc68k if on m68k machine !)
 ifndef PPNEW
 ifeq ($(CPU_TARGET),m68k)
@@ -147,7 +152,7 @@ endif
 
 [rules]
 # These values can change
-unexport FPC_VERSION OS_SOURCE
+unexport FPC_VERSION FPC_COMPILERINFO OS_SOURCE
 
 # Only process directories that really exists
 override TARGET_DIRS:=$(wildcard $(TARGET_DIRS))
@@ -536,7 +541,7 @@ ifneq ($(wildcard $(CVSINSTALL)/debian/changelog),)
 
 DEBPACKAGEVERSION:=$(shell head -n 1 $(CVSINSTALL)/debian/changelog | awk '{ print $$2 }' | tr -d '[()]')
 DEBFPCVERSION:=$(shell echo $(DEBPACKAGEVERSION) | awk -F '-' '{ print $$1 }')
-DEBSRCDIR:=/usr/src/fpc-$(DEBFPCVERSION)
+DEBSRCDIR:=$(BUILDDIR)/fpc-$(DEBFPCVERSION)
 
 debcopy: distclean
         rm -rf $(DEBSRCDIR)
@@ -560,12 +565,22 @@ endif
         find $(DEBSRCDIR) -name 'CVS*' | xargs -n1 rm -rf
         chmod 755 $(DEBSRCDIR)/debian/rules
 
-deb: checkfpcdir debcopy
+debbuild:
 ifdef NODOCS
-        cd $(DEBSRCDIR) ; debian/rules binary-arch
+        cd $(DEBSRCDIR) ; fakeroot debian/rules binary-arch
 else
-        cd $(DEBSRCDIR) ; debian/rules binary
+        cd $(DEBSRCDIR) ; fakeroot debian/rules binary
 endif
+        mv $(DEBSRCDIR)/../*.deb .
+
+debclean:
+        rm -rf $(DEBSRCDIR)
+        -rmdir $(BUILDDIR)
+
+debtargz: checkfpcdir
+        $(MAKE) fpc_zipinstall USETAR=y ZIPTARGET=debcopy PACKDIR=$(DEBSRCDIR) FULLZIPNAME=fpc-$(DEBFPCVERSION).orig
+
+deb: checkfpcdir debcopy debbuild debclean
 
 endif   # changelog found
 
@@ -593,30 +608,26 @@ RPMBUILD=$(strip $(wildcard $(addsuffix /rpmbuild,$(SEARCHPATH))))
 ifeq ($(RPMBUILD),)
 RPMBUILD=$(strip $(wildcard $(addsuffix /rpm,$(SEARCHPATH))))
 endif
-REDHATDIR=$(shell rpm --eval=%_topdir)
-ifeq ($(REDHATDIR),%_topdir)
-REDHATDIR=
-endif
-ifeq ($(REDHATDIR),)
-REDHATDIR=/usr/src/redhat
-# Debian has /usr/src/rpm
-ifeq ($(wildcard $(REDHATDIR)),)
-REDHATDIR=/usr/src/rpm
-endif
-endif
-RPMSOURCESDIR:=$(REDHATDIR)/SOURCES
-RPMSPECDIR:=$(REDHATDIR)/SPECS
-RPMSRCDIR:=$(RPMSOURCESDIR)/fpc
+RPMDIR=$(BUILDDIR)/rpm
+RPMSPECFILE:=$(RPMDIR)/SPECS/fpc-$(RPMFPCVERSION).spec
+RPMSOURCEFILE:=$(RPMDIR)/SOURCES/fpc-$(RPMFPCVERSION)-src.tar.gz
+RPMSRCDIR:=$(RPMDIR)/SOURCES/fpc
 rpmcopy: distclean
         # false || is needed to workaround fpcmake sections
-        false || [ -d $(REDHATDIR) ] || install -d $(REDHATDIR)
-        false || [ -d $(RRPMSPECDIR) ] || install -d $(RPMSPECDIR)
-        false || [ -d $(RPMSOURCESDIR) ] || install -d $(RPMSOURCESDIR)
+        false || [ -d $(RPMDIR) ] || install -d $(RPMDIR)
+        false || [ -d $(RPMDIR)/BUILD ] || install -d $(RPMDIR)/BUILD
+        false || [ -d $(RPMDIR)/SOURCES ] || install -d $(RPMDIR)/SOURCES
+        false || [ -d $(RPMDIR)/SPECS ] || install -d $(RPMDIR)/SPECS
+        false || [ -d $(RPMDIR)/RPMS ] || install -d $(RPMDIR)/RPMS
+        false || [ -d $(RPMDIR)/SRPMS ] || install -d $(RPMDIR)/SRPMS
         rm -rf $(RPMSRCDIR)
-        cp $(CVSINSTALL)/fpc.spec $(RPMSPECDIR)/fpc-$(RPMFPCVERSION).spec
+        # Create fpc.spec, include our own builddir
+        echo "%define _topdir $(RPMDIR)" > $(RPMSPECFILE)
+        cat $(CVSINSTALL)/fpc.spec >> $(RPMSPECFILE)
 ifndef NODOCS
-        cat $(CVSINSTALL)/fpcdoc.spec >> $(RPMSPECDIR)/fpc-$(RPMFPCVERSION).spec
+        cat $(CVSINSTALL)/fpcdoc.spec >> $(RPMSPECFILE)
 endif
+        # Install files
         install -d $(RPMSRCDIR)
         $(COPYTREE) compiler $(RPMSRCDIR)
         $(COPYTREE) rtl $(RPMSRCDIR)
@@ -636,11 +647,19 @@ ifndef NODOCS
         $(COPYTREE) docs $(RPMSRCDIR)
 endif
         find $(RPMSRCDIR) -name 'CVS*' | xargs -n1 rm -rf
-        cd $(RPMSRCDIR) ; tar cvz * > $(RPMSOURCESDIR)/fpc-$(RPMFPCVERSION)-src.tar.gz
+        cd $(RPMSRCDIR) ; tar cfvz $(RPMSOURCEFILE) *
         rm -rf $(RPMSRCDIR)
 
-rpm: checkfpcdir rpmcopy
-        cd $(RPMSPECDIR) ; $(RPMBUILD) --nodeps -ba fpc-$(RPMFPCVERSION).spec
+rpmbuild: checkfpcdir
+        $(RPMBUILD) --nodeps -ba $(RPMSPECFILE)
+        mv `find $(RPMDIR)/RPMS/ -name '*.rpm'` .
+        mv `find $(RPMDIR)/SRPMS/ -name '*.rpm'` .
+
+rpmclean:
+        rm -rf $(RPMDIR)
+        -rmdir $(BUILDDIR)
+
+rpm: checkfpcdir rpmcopy rpmbuild rpmclean
 
 endif   # spec found