From 95f1ecc6034cfc8426db23a1683707f4867be3d8 Mon Sep 17 00:00:00 2001 From: peter Date: Tue, 20 Nov 2001 18:57:09 +0000 Subject: [PATCH] * regenerated --- rtl/Makefile | 1879 ++++++++++++++++++++++++++++---------------------- 1 file changed, 1046 insertions(+), 833 deletions(-) diff --git a/rtl/Makefile b/rtl/Makefile index f68e3232e1..1b2d387ece 100644 --- a/rtl/Makefile +++ b/rtl/Makefile @@ -1,38 +1,30 @@ # -# Makefile generated by fpcmake v1.00 [2000/12/30] +# Don't edit, this file is generated by FPCMake Version 1.1 [2001/10/18] # - -defaultrule: all - -##################################################################### -# Autodetect OS (Linux or Dos or Windows NT or OS/2) -# define inUnix when running under Unix (Linux,FreeBSD) -# define inWinNT when running under WinNT -# define inOS2 when running under OS/2 -##################################################################### - -# We need only / in the path +default: all override PATH:=$(subst \,/,$(PATH)) - -# Search for PWD and determine also if we are under linux -PWD:=$(strip $(wildcard $(addsuffix /pwd.exe,$(subst ;, ,$(PATH))))) +ifeq ($(findstring ;,$(PATH)),) +inUnix=1 +SEARCHPATH:=$(filter-out .,$(subst :, ,$(PATH))) +else +SEARCHPATH:=$(subst ;, ,$(PATH)) +endif +PWD:=$(strip $(wildcard $(addsuffix /pwd.exe,$(SEARCHPATH)))) ifeq ($(PWD),) -PWD:=$(strip $(wildcard $(addsuffix /pwd,$(subst :, ,$(PATH))))) +PWD:=$(strip $(wildcard $(addsuffix /pwd,$(SEARCHPATH)))) ifeq ($(PWD),) nopwd: @echo You need the GNU utils package to use this Makefile! @echo Get ftp://ftp.freepascal.org/pub/fpc/dist/go32v2/utilgo32.zip @exit else -inUnix=1 PWD:=$(firstword $(PWD)) +SRCEXEEXT= endif else PWD:=$(firstword $(PWD)) +SRCEXEEXT=.exe endif - -# Detect NT - NT sets OS to Windows_NT -# Detect OS/2 - OS/2 has OS2_SHELL defined ifndef inUnix ifeq ($(OS),Windows_NT) inWinNT=1 @@ -41,89 +33,94 @@ ifdef OS2_SHELL inOS2=1 endif endif -endif - -# The extension of executables -ifdef inUnix -SRCEXEEXT= else -SRCEXEEXT=.exe +ifneq ($(findstring cygwin,$(MACHTYPE)),) +inCygWin=1 +endif endif - -# The path which is searched separated by spaces ifdef inUnix -SEARCHPATH=$(subst :, ,$(PATH)) +BATCHEXT=.sh else -SEARCHPATH=$(subst ;, ,$(PATH)) +ifdef inOS2 +BATCHEXT=.cmd +else +BATCHEXT=.bat +endif +endif +ifdef inUnix +PATHSEP=/ +else +PATHSEP:=$(subst /,\,/) endif - -# Base dir ifdef PWD -BASEDIR:=$(shell $(PWD)) +BASEDIR:=$(subst \,/,$(shell $(PWD))) +ifdef inCygWin +ifneq ($(findstring /cygdrive/,$(BASEDIR)),) +BASENODIR:=$(patsubst /cygdrive%,%,$(BASEDIR)) +BASEDRIVE:=$(firstword $(subst /, ,$(BASENODIR))) +BASEDIR:=$(subst /cygdrive/$(BASEDRIVE)/,$(BASEDRIVE):/,$(BASEDIR)) +endif +endif else BASEDIR=. endif - -##################################################################### -# FPC version/target Detection -##################################################################### - -# What compiler to use ? ifndef FPC -# Compatibility with old makefiles ifdef PP FPC=$(PP) +endif +endif +ifndef FPC +FPCPROG:=$(strip $(wildcard $(addsuffix /fpc$(SRCEXEEXT),$(SEARCHPATH)))) +ifneq ($(FPCPROG),) +FPCPROG:=$(firstword $(FPCPROG)) +FPC:=$(shell $(FPCPROG) -PB) +ifneq ($(findstring Error,$(FPC)),) +override FPC=ppc386 +endif else -FPC=ppc386 +override FPC=ppc386 endif endif override FPC:=$(subst $(SRCEXEEXT),,$(FPC)) override FPC:=$(subst \,/,$(FPC))$(SRCEXEEXT) - -# Target OS -ifndef OS_TARGET -OS_TARGET:=$(shell $(FPC) -iTO) -endif - -# Source OS -ifndef OS_SOURCE -OS_SOURCE:=$(shell $(FPC) -iSO) -endif - -# Target CPU -ifndef CPU_TARGET -CPU_TARGET:=$(shell $(FPC) -iTP) -endif - -# Source CPU -ifndef CPU_SOURCE -CPU_SOURCE:=$(shell $(FPC) -iSP) -endif - -# FPC version ifndef FPC_VERSION FPC_VERSION:=$(shell $(FPC) -iV) endif - -export FPC OS_TARGET OS_SOURCE CPU_TARGET CPU_SOURCE FPC_VERSION - -##################################################################### -# FPCDIR Setting -##################################################################### - -# Test FPCDIR to look if the RTL dir exists +export FPC FPC_VERSION +ifndef CPU_TARGET +CPU_TARGET:=$(shell $(FPC) -iTP) +endif +ifndef CPU_SOURCE +CPU_SOURCE:=$(shell $(FPC) -iSP) +endif +ifndef OS_TARGET +OS_TARGET:=$(shell $(FPC) -iTO) +endif +ifndef OS_SOURCE +OS_SOURCE:=$(shell $(FPC) -iSO) +endif +FULL_TARGET=$(CPU_TARGET)-$(OS_TARGET) +FULL_SOURCE=$(CPU_SOURCE)-$(OS_SOURCE) +ifneq ($(FULL_TARGET),$(FULL_SOURCE)) +CROSSCOMPILE=1 +endif +export OS_TARGET OS_SOURCE CPU_TARGET CPU_SOURCE FULL_TARGET FULL_SOURCE CROSSCOMPILE ifdef FPCDIR override FPCDIR:=$(subst \,/,$(FPCDIR)) +ifeq ($(wildcard $(addprefix $(FPCDIR)/,rtl units)),) +override FPCDIR=wrong +endif +else +override FPCDIR=wrong +endif +ifeq ($(FPCDIR),wrong) +override FPCDIR=.. ifeq ($(wildcard $(FPCDIR)/rtl),) ifeq ($(wildcard $(FPCDIR)/units),) override FPCDIR=wrong endif endif -else -override FPCDIR=wrong endif - -# Detect FPCDIR ifeq ($(FPCDIR),wrong) ifdef inUnix override FPCDIR=/usr/local/lib/fpc/$(FPC_VERSION) @@ -133,159 +130,416 @@ endif else override FPCDIR:=$(subst /$(FPC),,$(firstword $(strip $(wildcard $(addsuffix /$(FPC),$(SEARCHPATH)))))) override FPCDIR:=$(FPCDIR)/.. -ifeq ($(wildcard $(FPCDIR)/rtl),) -ifeq ($(wildcard $(FPCDIR)/units),) +ifeq ($(wildcard $(addprefix $(FPCDIR)/,rtl units)),) override FPCDIR:=$(FPCDIR)/.. -ifeq ($(wildcard $(FPCDIR)/rtl),) -ifeq ($(wildcard $(FPCDIR)/units),) +ifeq ($(wildcard $(addprefix $(FPCDIR)/,rtl units)),) override FPCDIR=c:/pp endif endif endif endif +ifndef CROSSDIR +CROSSDIR:=$(FPCDIR)/cross/$(FULL_TARGET) +endif +ifndef CROSSTARGETDIR +CROSSTARGETDIR=$(CROSSDIR)/$(FULL_TARGET) +endif +ifdef CROSSCOMPILE +UNITSDIR:=$(wildcard $(CROSSTARGETDIR)/units) +ifeq ($(UNITSDIR),) +UNITSDIR:=$(wildcard $(FPCDIR)/units/$(OS_TARGET)) +endif +else +UNITSDIR:=$(wildcard $(FPCDIR)/units/$(OS_TARGET)) +endif +PACKAGESDIR:=$(wildcard $(FPCDIR) $(FPCDIR)/packages) +override PACKAGE_NAME=rtl +override PACKAGE_VERSION=1.0.5 +ifeq ($(OS_TARGET),linux) +override TARGET_DIRS+=linux +endif +ifeq ($(OS_TARGET),go32v2) +override TARGET_DIRS+=go32v2 +endif +ifeq ($(OS_TARGET),win32) +override TARGET_DIRS+=win32 +endif +ifeq ($(OS_TARGET),os2) +override TARGET_DIRS+=os2 +endif +ifeq ($(OS_TARGET),freebsd) +override TARGET_DIRS+=freebsd +endif +ifeq ($(OS_TARGET),beos) +override TARGET_DIRS+=beos +endif +ifeq ($(OS_TARGET),amiga) +override TARGET_DIRS+=amiga +endif +override INSTALL_FPCPACKAGE=y +override INSTALL_CREATEPACKAGEFPC=y +ifdef REQUIRE_UNITSDIR +override UNITSDIR+=$(REQUIRE_UNITSDIR) +endif +ifdef REQUIRE_PACKAGESDIR +override PACKAGESDIR+=$(REQUIRE_PACKAGESDIR) +endif +ifdef ZIPINSTALL +ifeq ($(OS_TARGET),linux) +UNIXINSTALLDIR=1 +endif +ifeq ($(OS_TARGET),freebsd) +UNIXINSTALLDIR=1 +endif +ifeq ($(OS_TARGET),netbsd) +UNIXINSTALLDIR=1 +endif +else +ifeq ($(OS_SOURCE),linux) +UNIXINSTALLDIR=1 +endif +ifeq ($(OS_SOURCE),freebsd) +UNIXINSTALLDIR=1 +endif +ifeq ($(OS_SOURCE),netbsd) +UNIXINSTALLDIR=1 endif endif - -##################################################################### -# User Settings -##################################################################### - - -# Targets - - -# Clean - - -# Install - -ZIPTARGET=install - -# Defaults - - -# Directories - - -# Packages - - -# Libraries - - -# Info - -INFOTARGET=fpc_infocfg fpc_infoobjects fpc_infoinstall - -##################################################################### -# Shell tools -##################################################################### - -# echo +ifndef INSTALL_PREFIX +ifdef UNIXINSTALLDIR +INSTALL_PREFIX=/usr/local +else +ifdef INSTALL_FPCPACKAGE +INSTALL_BASEDIR:=/pp +else +INSTALL_BASEDIR:=/$(PACKAGE_NAME) +endif +endif +endif +export INSTALL_PREFIX +ifndef DIST_DESTDIR +DIST_DESTDIR:=$(BASEDIR) +endif +export DIST_DESTDIR +ifndef INSTALL_BASEDIR +ifdef UNIXINSTALLDIR +ifdef INSTALL_FPCPACKAGE +INSTALL_BASEDIR:=$(INSTALL_PREFIX)/lib/fpc/$(FPC_VERSION) +else +INSTALL_BASEDIR:=$(INSTALL_PREFIX)/lib/$(PACKAGE_NAME) +endif +else +INSTALL_BASEDIR:=$(INSTALL_PREFIX) +endif +endif +ifndef INSTALL_BINDIR +ifdef UNIXINSTALLDIR +INSTALL_BINDIR:=$(INSTALL_PREFIX)/bin +else +INSTALL_BINDIR:=$(INSTALL_BASEDIR)/bin +ifdef INSTALL_FPCPACKAGE +INSTALL_BINDIR:=$(INSTALL_BINDIR)/$(OS_TARGET) +endif +endif +endif +ifndef INSTALL_UNITDIR +ifdef CROSSCOMPILE +INSTALL_UNITDIR:=$(INSTALL_BASEDIR)/cross/$(FULL_TARGET)/units +else +INSTALL_UNITDIR:=$(INSTALL_BASEDIR)/units/$(OS_TARGET) +endif +ifdef INSTALL_FPCPACKAGE +ifdef PACKAGE_NAME +INSTALL_UNITDIR:=$(INSTALL_UNITDIR)/$(PACKAGE_NAME) +endif +endif +endif +ifndef INSTALL_LIBDIR +ifdef UNIXINSTALLDIR +INSTALL_LIBDIR:=$(INSTALL_PREFIX)/lib +else +INSTALL_LIBDIR:=$(INSTALL_UNITDIR) +endif +endif +ifndef INSTALL_SOURCEDIR +ifdef UNIXINSTALLDIR +ifdef INSTALL_FPCPACKAGE +INSTALL_SOURCEDIR:=$(INSTALL_PREFIX)/src/fpc-$(FPC_VERSION)/$(PACKAGE_NAME) +else +INSTALL_SOURCEDIR:=$(INSTALL_PREFIX)/src/$(PACKAGE_NAME)-$(PACKAGE_VERSION) +endif +else +ifdef INSTALL_FPCPACKAGE +INSTALL_SOURCEDIR:=$(INSTALL_BASEDIR)/source/$(PACKAGE_NAME) +else +INSTALL_SOURCEDIRL:=$(INSTALL_BASEDIR)/source +endif +endif +endif +ifndef INSTALL_DOCDIR +ifdef UNIXINSTALLDIR +ifdef INSTALL_FPCPACKAGE +INSTALL_DOCDIR:=$(INSTALL_PREFIX)/doc/fpc-$(FPC_VERSION)/$(PACKAGE_NAME) +else +INSTALL_DOCDIR:=$(INSTALL_PREFIX)/doc/$(PACKAGE_NAME)-$(PACKAGE_VERSION) +endif +else +ifdef INSTALL_FPCPACKAGE +INSTALL_DOCDIR:=$(INSTALL_BASEDIR)/doc/$(PACKAGE_NAME) +else +INSTALL_DOCDIR:=$(INSTALL_BASEDIR)/doc +endif +endif +endif +ifndef INSTALL_EXAMPLEDIR +ifdef UNIXINSTALLDIR +ifdef INSTALL_FPCPACKAGE +INSTALL_EXAMPLEDIR:=$(INSTALL_PREFIX)/doc/fpc-$(FPC_VERSION)/examples/$(PACKAGE_NAME) +else +INSTALL_EXAMPLEDIR:=$(INSTALL_PREFIX)/doc/$(PACKAGE_NAME)-$(PACKAGE_VERSION) +endif +else +ifdef INSTALL_FPCPACKAGE +INSTALL_EXAMPLEDIR:=$(INSTALL_BASEDIR)/examples/$(PACKAGE_NAME) +else +INSTALL_EXAMPLEDIR:=$(INSTALL_BASEDIR)/examples +endif +endif +endif +ifndef INSTALL_DATADIR +INSTALL_DATADIR=$(INSTALL_BASEDIR) +endif +ifdef CROSSCOMPILE +ifndef CROSSBINDIR +CROSSBINDIR:=$(wildcard $(CROSSTARGETDIR)/bin/$(FULL_SOURCE)) +ifeq ($(CROSSBINDIR),) +CROSSBINDIR:=$(wildcard $(INSTALL_BASEDIR)/cross/$(FULL_TARGET)/bin/$(FULL_SOURCE)) +endif +endif +else +CROSSBINDIR= +endif +LOADEREXT=.as +EXEEXT=.exe +PPLEXT=.ppl +PPUEXT=.ppu +OEXT=.o +ASMEXT=.s +SMARTEXT=.sl +STATICLIBEXT=.a +SHAREDLIBEXT=.so +STATICLIBPREFIX=libp +RSTEXT=.rst +FPCMADE=fpcmade +ifeq ($(OS_TARGET),go32v1) +PPUEXT=.pp1 +OEXT=.o1 +ASMEXT=.s1 +SMARTEXT=.sl1 +STATICLIBEXT=.a1 +SHAREDLIBEXT=.so1 +STATICLIBPREFIX= +FPCMADE=fpcmade.v1 +PACKAGESUFFIX=v1 +endif +ifeq ($(OS_TARGET),go32v2) +STATICLIBPREFIX= +FPCMADE=fpcmade.dos +ZIPSUFFIX=go32 +endif +ifeq ($(OS_TARGET),linux) +EXEEXT= +HASSHAREDLIB=1 +FPCMADE=fpcmade.lnx +ZIPSUFFIX=linux +endif +ifeq ($(OS_TARGET),freebsd) +EXEEXT= +HASSHAREDLIB=1 +FPCMADE=fpcmade.freebsd +ZIPSUFFIX=freebsd +endif +ifeq ($(OS_TARGET),netbsd) +EXEEXT= +HASSHAREDLIB=1 +FPCMADE=fpcmade.netbsd +ZIPSUFFIX=netbsd +endif +ifeq ($(OS_TARGET),win32) +PPUEXT=.ppw +OEXT=.ow +ASMEXT=.sw +SMARTEXT=.slw +STATICLIBEXT=.aw +SHAREDLIBEXT=.dll +FPCMADE=fpcmade.w32 +ZIPSUFFIX=w32 +endif +ifeq ($(OS_TARGET),os2) +PPUEXT=.ppo +ASMEXT=.so2 +OEXT=.oo2 +AOUTEXT=.out +SMARTEXT=.so +STATICLIBEXT=.ao2 +SHAREDLIBEXT=.dll +FPCMADE=fpcmade.os2 +ZIPSUFFIX=emx +endif +ifeq ($(OS_TARGET),amiga) +EXEEXT= +PPUEXT=.ppa +ASMEXT=.asm +OEXT=.o +SMARTEXT=.sl +STATICLIBEXT=.a +SHAREDLIBEXT=.library +FPCMADE=fpcmade.amg +endif +ifeq ($(OS_TARGET),atari) +PPUEXT=.ppt +ASMEXT=.s +OEXT=.o +SMARTEXT=.sl +STATICLIBEXT=.a +EXEEXT=.ttp +FPCMADE=fpcmade.ata +endif +ifeq ($(OS_TARGET),beos) +PPUEXT=.ppu +ASMEXT=.s +OEXT=.o +SMARTEXT=.sl +STATICLIBEXT=.a +EXEEXT= +FPCMADE=fpcmade.be +ZIPSUFFIX=be +endif +ifeq ($(OS_TARGET),sunos) +PPUEXT=.ppu +ASMEXT=.s +OEXT=.o +SMARTEXT=.sl +STATICLIBEXT=.a +EXEEXT= +FPCMADE=fpcmade.sun +ZIPSUFFIX=sun +endif +ifeq ($(OS_TARGET),qnx) +PPUEXT=.ppu +ASMEXT=.s +OEXT=.o +SMARTEXT=.sl +STATICLIBEXT=.a +EXEEXT= +FPCMADE=fpcmade.qnx +ZIPSUFFIX=qnx +endif ifndef ECHO -ECHO:=$(strip $(wildcard $(addsuffix /gecho$(EXEEXT),$(SEARCHPATH)))) +ECHO:=$(strip $(wildcard $(addsuffix /gecho$(SRCEXEEXT),$(SEARCHPATH)))) ifeq ($(ECHO),) ECHO:=$(strip $(wildcard $(addsuffix /echo$(SRCEXEEXT),$(SEARCHPATH)))) ifeq ($(ECHO),) -ECHO:=echo -ECHOE:=echo +ECHO= else ECHO:=$(firstword $(ECHO)) -ECHOE=$(ECHO) -E endif else ECHO:=$(firstword $(ECHO)) -ECHOE=$(ECHO) -E endif endif - -# To copy pograms +export ECHO +ifndef DATE +DATE:=$(strip $(wildcard $(addsuffix /gdate$(SRCEXEEXT),$(SEARCHPATH)))) +ifeq ($(DATE),) +DATE:=$(strip $(wildcard $(addsuffix /date$(SRCEXEEXT),$(SEARCHPATH)))) +ifeq ($(DATE),) +DATE= +else +DATE:=$(firstword $(DATE)) +endif +else +DATE:=$(firstword $(DATE)) +endif +endif +export DATE +ifndef GINSTALL +GINSTALL:=$(strip $(wildcard $(addsuffix /ginstall$(SRCEXEEXT),$(SEARCHPATH)))) +ifeq ($(GINSTALL),) +GINSTALL:=$(strip $(wildcard $(addsuffix /install$(SRCEXEEXT),$(SEARCHPATH)))) +ifeq ($(GINSTALL),) +GINSTALL= +else +GINSTALL:=$(firstword $(GINSTALL)) +endif +else +GINSTALL:=$(firstword $(GINSTALL)) +endif +endif +export GINSTALL +ifndef CPPROG +CPPROG:=$(strip $(wildcard $(addsuffix /cp$(SRCEXEEXT),$(SEARCHPATH)))) +ifeq ($(CPPROG),) +CPPROG= +else +CPPROG:=$(firstword $(CPPROG)) +endif +endif +export CPPROG +ifndef RMPROG +RMPROG:=$(strip $(wildcard $(addsuffix /rm$(SRCEXEEXT),$(SEARCHPATH)))) +ifeq ($(RMPROG),) +RMPROG= +else +RMPROG:=$(firstword $(RMPROG)) +endif +endif +export RMPROG +ifndef MVPROG +MVPROG:=$(strip $(wildcard $(addsuffix /mv$(SRCEXEEXT),$(SEARCHPATH)))) +ifeq ($(MVPROG),) +MVPROG= +else +MVPROG:=$(firstword $(MVPROG)) +endif +endif +export MVPROG +ifndef ECHOREDIR +ECHOREDIR:=$(subst /,$(PATHSEP),$(ECHO)) +endif ifndef COPY -COPY:=cp -fp +COPY:=$(CPPROG) -fp endif - -# Copy a whole tree ifndef COPYTREE -COPYTREE:=cp -rfp +COPYTREE:=$(CPPROG) -rfp endif - -# To move pograms ifndef MOVE -MOVE:=mv -f +MOVE:=$(MVPROG) -f endif - -# Check delete program ifndef DEL -DEL:=rm -f +DEL:=$(RMPROG) -f endif - -# Check deltree program ifndef DELTREE -DELTREE:=rm -rf +DELTREE:=$(RMPROG) -rf endif - -# To install files ifndef INSTALL ifdef inUnix -INSTALL:=install -c -m 644 +INSTALL:=$(GINSTALL) -c -m 644 else INSTALL:=$(COPY) endif endif - -# To install programs ifndef INSTALLEXE ifdef inUnix -INSTALLEXE:=install -c -m 755 +INSTALLEXE:=$(GINSTALL) -c -m 755 else INSTALLEXE:=$(COPY) endif endif - -# To make a directory. ifndef MKDIR -ifdef inUnix -MKDIR:=install -m 755 -d -else -MKDIR:=ginstall -m 755 -d +MKDIR:=$(GINSTALL) -m 755 -d endif -endif - -export ECHO ECHOE COPY COPYTREE MOVE DEL DELTREE INSTALL INSTALLEXE MKDIR - -##################################################################### -# Default Tools -##################################################################### - -# assembler, redefine it if cross compiling -ifndef AS -AS=as -endif - -# linker, but probably not used -ifndef LD -LD=ld -endif - -# ppas.bat / ppas.sh -ifdef inUnix -PPAS=ppas.sh -else -ifdef inOS2 -PPAS=ppas.cmd -else -PPAS=ppas.bat -endif -endif - -# ldconfig to rebuild .so cache -ifdef inUnix -LDCONFIG=ldconfig -else -LDCONFIG= -endif - -# ppumove +export ECHOREDIR COPY COPYTREE MOVE DEL DELTREE INSTALL INSTALLEXE MKDIR ifndef PPUMOVE PPUMOVE:=$(strip $(wildcard $(addsuffix /ppumove$(SRCEXEEXT),$(SEARCHPATH)))) ifeq ($(PPUMOVE),) @@ -295,20 +549,85 @@ PPUMOVE:=$(firstword $(PPUMOVE)) endif endif export PPUMOVE - -# ppufiles -ifndef PPUFILES -PPUFILES:=$(strip $(wildcard $(addsuffix /ppufiles$(SRCEXEEXT),$(SEARCHPATH)))) -ifeq ($(PPUFILES),) -PPUFILES= +ifndef FPCMAKE +FPCMAKE:=$(strip $(wildcard $(addsuffix /fpcmake$(SRCEXEEXT),$(SEARCHPATH)))) +ifeq ($(FPCMAKE),) +FPCMAKE= else -PPUFILES:=$(firstword $(PPUFILES)) +FPCMAKE:=$(firstword $(FPCMAKE)) endif endif -export PPUFILES - -# Look if UPX is found for go32v2 and win32. We can't use $UPX becuase -# upx uses that one itself (PFV) +export FPCMAKE +ifndef ZIPPROG +ZIPPROG:=$(strip $(wildcard $(addsuffix /zip$(SRCEXEEXT),$(SEARCHPATH)))) +ifeq ($(ZIPPROG),) +ZIPPROG= +else +ZIPPROG:=$(firstword $(ZIPPROG)) +endif +endif +export ZIPPROG +ifndef TARPROG +TARPROG:=$(strip $(wildcard $(addsuffix /tar$(SRCEXEEXT),$(SEARCHPATH)))) +ifeq ($(TARPROG),) +TARPROG= +else +TARPROG:=$(firstword $(TARPROG)) +endif +endif +export TARPROG +ASNAME=as +LDNAME=ld +ARNAME=ar +RCNAME=rc +ifeq ($(OS_TARGET),win32) +ASNAME=asw +LDNAME=ldw +ARNAME=arw +endif +ifndef ASPROG +ifdef CROSSBINDIR +ASPROG=$(CROSSBINDIR)/$(ASNAME)$(SRCEXEEXT) +else +ASPROG=$(ASNAME) +endif +endif +ifndef LDPROG +ifdef CROSSBINDIR +LDPROG=$(CROSSBINDIR)/$(LDNAME)$(SRCEXEEXT) +else +LDPROG=$(LDNAME) +endif +endif +ifndef RCPROG +ifdef CROSSBINDIR +RCPROG=$(CROSSBINDIR)/$(RCNAME)$(SRCEXEEXT) +else +RCPROG=$(RCNAME) +endif +endif +ifndef ARPROG +ifdef CROSSBINDIR +ARPROG=$(CROSSBINDIR)/$(ARNAME)$(SRCEXEEXT) +else +ARPROG=$(ARNAME) +endif +endif +AS=$(ASPROG) +LD=$(LDPROG) +RC=$(RCPROG) +AR=$(ARPROG) +PPAS=ppas$(BATCHEXT) +ifdef inUnix +LDCONFIG=ldconfig +else +LDCONFIG= +endif +ifdef DATE +DATESTR:=$(shell $(DATE) +%Y%m%d) +else +DATESTR= +endif ifndef UPXPROG ifeq ($(OS_TARGET),go32v2) UPXPROG:=1 @@ -328,32 +647,8 @@ UPXPROG= endif endif export UPXPROG - -# ZipProg, you can't use Zip as the var name (PFV) -ifndef ZIPPROG -ZIPPROG:=$(strip $(wildcard $(addsuffix /zip$(SRCEXEEXT),$(SEARCHPATH)))) -ifeq ($(ZIPPROG),) -ZIPPROG= -else -ZIPPROG:=$(firstword $(ZIPPROG)) -endif -endif -export ZIPPROG - ZIPOPT=-9 ZIPEXT=.zip - -# Tar -ifndef TARPROG -TARPROG:=$(strip $(wildcard $(addsuffix /tar$(SRCEXEEXT),$(SEARCHPATH)))) -ifeq ($(TARPROG),) -TARPROG= -else -TARPROG:=$(firstword $(TARPROG)) -endif -endif -export TARPROG - ifeq ($(USETAR),bz2) TAROPT=vI TAREXT=.tar.bz2 @@ -361,251 +656,12 @@ else TAROPT=vz TAREXT=.tar.gz endif - -##################################################################### -# Default extensions -##################################################################### - -# Default needed extensions (Go32v2,Linux) -LOADEREXT=.as -EXEEXT=.exe -PPLEXT=.ppl -PPUEXT=.ppu -OEXT=.o -ASMEXT=.s -SMARTEXT=.sl -STATICLIBEXT=.a -SHAREDLIBEXT=.so -RSTEXT=.rst -FPCMADE=fpcmade - -# Go32v1 -ifeq ($(OS_TARGET),go32v1) -PPUEXT=.pp1 -OEXT=.o1 -ASMEXT=.s1 -SMARTEXT=.sl1 -STATICLIBEXT=.a1 -SHAREDLIBEXT=.so1 -FPCMADE=fpcmade.v1 +ifndef NOCPUDEF +override FPCOPTDEF=$(CPU_TARGET) endif - -# Go32v2 -ifeq ($(OS_TARGET),go32v2) -FPCMADE=fpcmade.dos -endif - -# Linux -ifeq ($(OS_TARGET),linux) -EXEEXT= -HASSHAREDLIB=1 -FPCMADE=fpcmade.lnx -endif - -# Linux -ifeq ($(OS_TARGET),freebsd) -EXEEXT= -HASSHAREDLIB=1 -FPCMADE=fpcmade.freebsd -endif - -# Win32 -ifeq ($(OS_TARGET),win32) -PPUEXT=.ppw -OEXT=.ow -ASMEXT=.sw -SMARTEXT=.slw -STATICLIBEXT=.aw -SHAREDLIBEXT=.dll -FPCMADE=fpcmade.w32 -endif - -# OS/2 -ifeq ($(OS_TARGET),os2) -PPUEXT=.ppo -ASMEXT=.so2 -OEXT=.oo2 -SMARTEXT=.so -STATICLIBEXT=.ao2 -SHAREDLIBEXT=.dll -FPCMADE=fpcmade.os2 -endif - -# library prefix -LIBPREFIX=lib -ifeq ($(OS_TARGET),go32v2) -LIBPREFIX= -endif -ifeq ($(OS_TARGET),go32v1) -LIBPREFIX= -endif - -# determine which .pas extension is used -ifndef PASEXT -ifdef EXEOBJECTS -override TESTPAS:=$(strip $(wildcard $(addsuffix .pas,$(firstword $(EXEOBJECTS))))) -else -override TESTPAS:=$(strip $(wildcard $(addsuffix .pas,$(firstword $(UNITOBJECTS))))) -endif -ifeq ($(TESTPAS),) -PASEXT=.pp -else -PASEXT=.pas -endif -endif - - - -##################################################################### -# Default Directories -##################################################################### - -# Linux and freebsd use unix dirs with /usr/bin, /usr/lib -# When zipping use the target as default, when normal install then -# use the source os as default -ifdef ZIPNAME -# Zipinstall -ifeq ($(OS_TARGET),linux) -UNIXINSTALLDIR=1 -endif -ifeq ($(OS_TARGET),freebsd) -UNIXINSTALLDIR=1 -endif -else -# Normal install -ifeq ($(OS_SOURCE),linux) -UNIXINSTALLDIR=1 -endif -ifeq ($(OS_SOURCE),freebsd) -UNIXINSTALLDIR=1 -endif -endif - -# set the prefix directory where to install everything -ifndef PREFIXINSTALLDIR -ifdef UNIXINSTALLDIR -PREFIXINSTALLDIR=/usr -else -PREFIXINSTALLDIR=/pp -endif -endif -export PREFIXINSTALLDIR - -# Where to place the resulting zip files -ifndef DESTZIPDIR -DESTZIPDIR:=$(BASEDIR) -endif -export DESTZIPDIR - -##################################################################### -# Install Directories -##################################################################### - -# set the base directory where to install everything -ifndef BASEINSTALLDIR -ifdef UNIXINSTALLDIR -BASEINSTALLDIR=$(PREFIXINSTALLDIR)/lib/fpc/$(FPC_VERSION) -else -BASEINSTALLDIR=$(PREFIXINSTALLDIR) -endif -endif - -# set the directory where to install the binaries -ifndef BININSTALLDIR -ifdef UNIXINSTALLDIR -BININSTALLDIR=$(PREFIXINSTALLDIR)/bin -else -BININSTALLDIR=$(BASEINSTALLDIR)/bin/$(OS_TARGET) -endif -endif - -# set the directory where to install the units. -ifndef UNITINSTALLDIR -UNITINSTALLDIR=$(BASEINSTALLDIR)/units/$(OS_TARGET) -ifdef UNITSUBDIR -UNITINSTALLDIR:=$(UNITINSTALLDIR)/$(UNITSUBDIR) -endif -endif - -# Where to install shared libraries -ifndef LIBINSTALLDIR -ifdef UNIXINSTALLDIR -LIBINSTALLDIR=$(PREFIXINSTALLDIR)/lib -else -LIBINSTALLDIR=$(UNITINSTALLDIR) -endif -endif - -# Where the source files will be stored -ifndef SOURCEINSTALLDIR -ifdef UNIXINSTALLDIR -SOURCEINSTALLDIR=$(PREFIXINSTALLDIR)/src/fpc-$(FPC_VERSION) -else -SOURCEINSTALLDIR=$(BASEINSTALLDIR)/source -endif -ifdef SOURCESUBDIR -SOURCEINSTALLDIR:=$(SOURCEINSTALLDIR)/$(SOURCESUBDIR) -endif -endif - -# Where the doc files will be stored -ifndef DOCINSTALLDIR -ifdef UNIXINSTALLDIR -DOCINSTALLDIR=$(PREFIXINSTALLDIR)/doc/fpc-$(FPC_VERSION) -else -DOCINSTALLDIR=$(BASEINSTALLDIR)/doc -endif -endif - -# Where to install the examples, under linux we use the doc dir -# because the copytree command will create a subdir itself -ifndef EXAMPLEINSTALLDIR -ifdef UNIXINSTALLDIR -EXAMPLEINSTALLDIR=$(DOCINSTALLDIR)/examples -else -EXAMPLEINSTALLDIR=$(BASEINSTALLDIR)/examples -endif -ifdef EXAMPLESUBDIR -EXAMPLEINSTALLDIR:=$(EXAMPLEINSTALLDIR)/$(EXAMPLESUBDIR) -endif -endif - -# Where the some extra (data)files will be stored -ifndef DATAINSTALLDIR -DATAINSTALLDIR=$(BASEINSTALLDIR) -endif - -##################################################################### -# Redirection -##################################################################### - -ifndef REDIRFILE -REDIRFILE=log -endif - -ifdef REDIR -ifndef inUnix -override FPC=redir -eo $(FPC) -endif -# set the verbosity to max -override FPCOPT+=-va -override REDIR:= >> $(REDIRFILE) -endif - - -##################################################################### -# Compiler Command Line -##################################################################### - -# Load commandline OPTDEF and add FPC_CPU define -override FPCOPTDEF:=-d$(CPU_TARGET) - -# Load commandline OPT and add target and unit dir to be sure ifneq ($(OS_TARGET),$(OS_SOURCE)) override FPCOPT+=-T$(OS_TARGET) endif - -# User dirs should be first, so they are looked at first ifdef UNITDIR override FPCOPT+=$(addprefix -Fu,$(UNITDIR)) endif @@ -618,106 +674,90 @@ endif ifdef INCDIR override FPCOPT+=$(addprefix -Fi,$(INCDIR)) endif - -# Smartlinking ifdef LINKSMART override FPCOPT+=-XX endif - -# Smartlinking creation ifdef CREATESMART override FPCOPT+=-CX endif - -# Debug ifdef DEBUG -override FPCOPT+=-gl -dDEBUG +override FPCOPT+=-gl +override FPCOPTDEF+=DEBUG endif - -# Release mode (strip, optimize and don't load ppc386.cfg) -# 0.99.12b has a bug in the optimizer so don't use it by default ifdef RELEASE -ifeq ($(FPC_VERSION),0.99.12) -override FPCOPT+=-Xs -OGp3 -n +ifeq ($(CPU_TARGET),i386) +FPCCPUOPT:=-OG2p3 else -override FPCOPT+=-Xs -OG2p3 -n +FPCCPUOPT:= endif +override FPCOPT+=-Xs $(FPCCPUOPT) -n +override FPCOPTDEF+=RELEASE endif - -# Strip ifdef STRIP override FPCOPT+=-Xs endif - -# Optimizer ifdef OPTIMIZE +ifeq ($(CPU_TARGET),i386) override FPCOPT+=-OG2p3 endif - -# Verbose settings (warning,note,info) +endif ifdef VERBOSE override FPCOPT+=-vwni endif - -ifdef UNITSDIR -override FPCOPT+=-Fu$(UNITSDIR) +ifdef COMPILER_OPTIONS +override FPCOPT+=$(COMPILER_OPTIONS) endif - -# Target dirs and the prefix to use for clean/install -ifdef TARGETDIR -override FPCOPT+=-FE$(TARGETDIR) -ifeq ($(TARGETDIR),.) +ifdef COMPILER_UNITDIR +override FPCOPT+=$(addprefix -Fu,$(COMPILER_UNITDIR)) +endif +ifdef COMPILER_LIBRARYDIR +override FPCOPT+=$(addprefix -Fl,$(COMPILER_LIBRARYDIR)) +endif +ifdef COMPILER_OBJECTDIR +override FPCOPT+=$(addprefix -Fo,$(COMPILER_OBJECTDIR)) +endif +ifdef COMPILER_INCLUDEDIR +override FPCOPT+=$(addprefix -Fi,$(COMPILER_INCLUDEDIR)) +endif +ifdef CROSSBINDIR +override FPCOPT+=-FD$(CROSSBINDIR) +endif +ifdef COMPILER_TARGETDIR +override FPCOPT+=-FE$(COMPILER_TARGETDIR) +ifeq ($(COMPILER_TARGETDIR),.) override TARGETDIRPREFIX= else -override TARGETDIRPREFIX=$(TARGETDIR)/ +override TARGETDIRPREFIX=$(COMPILER_TARGETDIR)/ endif endif -ifdef UNITTARGETDIR -override FPCOPT+=-FU$(UNITTARGETDIR) -ifeq ($(UNITTARGETDIR),.) +ifdef COMPILER_UNITTARGETDIR +override FPCOPT+=-FU$(COMPILER_UNITTARGETDIR) +ifeq ($(COMPILER_UNITTARGETDIR),.) override UNITTARGETDIRPREFIX= else -override UNITTARGETDIRPREFIX=$(TARGETDIR)/ +override UNITTARGETDIRPREFIX=$(COMPILER_UNITTARGETDIR)/ endif else -ifdef TARGETDIR -override UNITTARGETDIR=$(TARGETDIR) +ifdef COMPILER_TARGETDIR +override COMPILER_UNITTARGETDIR=$(COMPILER_TARGETDIR) override UNITTARGETDIRPREFIX=$(TARGETDIRPREFIX) endif endif - -# Add commandline options last so they can override ifdef OPT override FPCOPT+=$(OPT) endif - -# Add defines from FPCOPTDEF to FPCOPT ifdef FPCOPTDEF -override FPCOPT+=$(FPCOPTDEF) +override FPCOPT+=$(addprefix -d,$(FPCOPTDEF)) endif - -# Error file ? -ifdef ERRORFILE -override FPCOPT+=-Fr$(ERRORFILE) -endif - -# Was a config file specified ? ifdef CFGFILE override FPCOPT+=@$(CFGFILE) endif - -# For win32 the options are passed using the environment FPCEXTCMD -ifeq ($(OS_SOURCE),win32) +ifdef USEENV override FPCEXTCMD:=$(FPCOPT) override FPCOPT:=!FPCEXTCMD export FPCEXTCMD endif - -# Compiler commandline override COMPILER:=$(FPC) $(FPCOPT) - -# also call ppas if with command option -s -# but only if the OS_SOURCE and OS_TARGE are equal ifeq (,$(findstring -s ,$(COMPILER))) EXECPPAS= else @@ -725,314 +765,164 @@ ifeq ($(OS_SOURCE),$(OS_TARGET)) EXECPPAS:=@$(PPAS) endif endif - -##################################################################### -# Standard rules -##################################################################### - -all: fpc_all - -debug: fpc_debug - -smart: fpc_smart - -shared: fpc_shared - -showinstall: fpc_showinstall - -install: fpc_install - -sourceinstall: fpc_sourceinstall - -exampleinstall: fpc_exampleinstall - -zipinstall: fpc_zipinstall - -zipsourceinstall: fpc_zipsourceinstall - -zipexampleinstall: fpc_zipexampleinstall - -clean: fpc_clean - -distclean: fpc_distclean - -cleanall: fpc_cleanall - -info: fpc_info - -.PHONY: all debug smart shared showinstall install sourceinstall exampleinstall zipinstall zipsourceinstall zipexampleinstall clean distclean cleanall info - -##################################################################### -# General compile rules -##################################################################### - -.PHONY: fpc_packages fpc_all fpc_debug - -$(FPCMADE): $(ALLTARGET) - @$(ECHO) Compiled > $(FPCMADE) - -fpc_packages: $(COMPILEPACKAGES) - -fpc_all: fpc_packages $(FPCMADE) - -fpc_debug: - $(MAKE) all DEBUG=1 - -# Search paths for .ppu if targetdir is set -ifdef UNITTARGETDIR -vpath %$(PPUEXT) $(UNITTARGETDIR) +ifdef TARGET_RSTS +override RSTFILES=$(addsuffix $(RSTEXT),$(TARGET_RSTS)) +override CLEANRSTFILES+=$(RSTFILES) endif - -# General compile rules, available for both possible PASEXT - -.SUFFIXES: $(EXEEXT) $(PPUEXT) $(OEXT) .pas .pp - -%$(PPUEXT): %.pp - $(COMPILER) $< $(REDIR) - $(EXECPPAS) - -%$(PPUEXT): %.pas - $(COMPILER) $< $(REDIR) - $(EXECPPAS) - -%$(EXEEXT): %.pp - $(COMPILER) $< $(REDIR) - $(EXECPPAS) - -%$(EXEEXT): %.pas - $(COMPILER) $< $(REDIR) - $(EXECPPAS) - -##################################################################### -# Library -##################################################################### - -.PHONY: fpc_smart fpc_shared - -ifdef LIBVERSION -LIBFULLNAME=$(LIBNAME).$(LIBVERSION) -else -LIBFULLNAME=$(LIBNAME) +.PHONY: fpc_install fpc_sourceinstall fpc_exampleinstall +ifdef INSTALL_UNITS +override INSTALLPPUFILES+=$(addsuffix $(PPUEXT),$(INSTALL_UNITS)) endif - -# Default sharedlib units are all unit objects -ifndef SHAREDLIBUNITOBJECTS -SHAREDLIBUNITOBJECTS:=$(UNITOBJECTS) -endif - -fpc_smart: - $(MAKE) all LINKSMART=1 CREATESMART=1 - -fpc_shared: all -ifdef HASSHAREDLIB -ifndef LIBNAME - @$(ECHO) "LIBNAME not set" -else - $(PPUMOVE) $(SHAREDLIBUNITOBJECTS) -o$(LIBFULLNAME) -endif -else - @$(ECHO) "Shared Libraries not supported" -endif - -##################################################################### -# Install rules -##################################################################### - -.PHONY: fpc_showinstall fpc_install - -ifdef EXTRAINSTALLUNITS -override INSTALLPPUFILES+=$(addsuffix $(PPUEXT),$(EXTRAINSTALLUNITS)) -endif - ifdef INSTALLPPUFILES +override INSTALLPPULINKFILES:=$(subst $(PPUEXT),$(OEXT),$(INSTALLPPUFILES)) $(addprefix $(STATICLIBPREFIX),$(subst $(PPUEXT),$(STATICLIBEXT),$(INSTALLPPUFILES))) override INSTALLPPUFILES:=$(addprefix $(UNITTARGETDIRPREFIX),$(INSTALLPPUFILES)) -ifdef PPUFILES -INSTALLPPULINKFILES:=$(shell $(PPUFILES) -S -O $(INSTALLPPUFILES)) -else -INSTALLPPULINKFILES:=$(wildcard $(subst $(PPUEXT),$(OEXT),$(INSTALLPPUFILES)) $(addprefix $(LIBPREFIX),$(subst $(PPUEXT),$(STATICLIBEXT),$(INSTALLPPUFILES)))) +override INSTALLPPULINKFILES:=$(wildcard $(addprefix $(UNITTARGETDIRPREFIX),$(INSTALLPPULINKFILES))) +override INSTALL_CREATEPACKAGEFPC=1 endif -override INSTALLPPULINKFILES:=$(addprefix $(UNITTARGETDIRPREFIX),$(INSTALLPPULINKFILES)) -endif - ifdef INSTALLEXEFILES override INSTALLEXEFILES:=$(addprefix $(TARGETDIRPREFIX),$(INSTALLEXEFILES)) endif - -fpc_showinstall: $(SHOWINSTALLTARGET) +fpc_install: all $(INSTALLTARGET) ifdef INSTALLEXEFILES - @$(ECHO) -e $(addprefix "\n"$(BININSTALLDIR)/,$(INSTALLEXEFILES)) -endif -ifdef INSTALLPPUFILES - @$(ECHO) -e $(addprefix "\n"$(UNITINSTALLDIR)/,$(INSTALLPPUFILES)) -ifneq ($(INSTALLPPULINKFILES),) - @$(ECHO) -e $(addprefix "\n"$(UNITINSTALLDIR)/,$(INSTALLPPULINKFILES)) -endif -ifneq ($(wildcard $(LIBFULLNAME)),) - @$(ECHO) $(LIBINSTALLDIR)/$(LIBFULLNAME) -ifdef HASSHAREDLIB - @$(ECHO) $(LIBINSTALLDIR)/$(LIBNAME) -endif -endif -endif -ifdef EXTRAINSTALLFILES - @$(ECHO) -e $(addprefix "\n"$(DATAINSTALLDIR)/,$(EXTRAINSTALLFILES)) -endif - -fpc_install: $(INSTALLTARGET) -# Create UnitInstallFiles -ifdef INSTALLEXEFILES - $(MKDIR) $(BININSTALLDIR) -# Compress the exes if upx is defined + $(MKDIR) $(INSTALL_BINDIR) ifdef UPXPROG -$(UPXPROG) $(INSTALLEXEFILES) endif - $(INSTALLEXE) $(INSTALLEXEFILES) $(BININSTALLDIR) + $(INSTALLEXE) $(INSTALLEXEFILES) $(INSTALL_BINDIR) +endif +ifdef INSTALL_CREATEPACKAGEFPC +ifdef FPCMAKE +ifdef PACKAGE_VERSION +ifneq ($(wildcard Makefile.fpc),) + $(FPCMAKE) -p -T$(OS_TARGET) Makefile.fpc + $(MKDIR) $(INSTALL_UNITDIR) + $(INSTALL) Package.fpc $(INSTALL_UNITDIR) +endif +endif +endif endif ifdef INSTALLPPUFILES - $(MKDIR) $(UNITINSTALLDIR) - $(INSTALL) $(INSTALLPPUFILES) $(UNITINSTALLDIR) + $(MKDIR) $(INSTALL_UNITDIR) + $(INSTALL) $(INSTALLPPUFILES) $(INSTALL_UNITDIR) ifneq ($(INSTALLPPULINKFILES),) - $(INSTALL) $(INSTALLPPULINKFILES) $(UNITINSTALLDIR) + $(INSTALL) $(INSTALLPPULINKFILES) $(INSTALL_UNITDIR) endif -ifneq ($(wildcard $(LIBFULLNAME)),) - $(MKDIR) $(LIBINSTALLDIR) - $(INSTALL) $(LIBFULLNAME) $(LIBINSTALLDIR) +ifneq ($(wildcard $(LIB_FULLNAME)),) + $(MKDIR) $(INSTALL_LIBDIR) + $(INSTALL) $(LIB_FULLNAME) $(INSTALL_LIBDIR) ifdef inUnix - ln -sf $(LIBFULLNAME) $(LIBINSTALLDIR)/$(LIBNAME) + ln -sf $(LIB_FULLNAME) $(INSTALL_LIBDIR)/$(LIB_NAME) endif endif endif -ifdef EXTRAINSTALLFILES - $(MKDIR) $(DATAINSTALLDIR) - $(INSTALL) $(EXTRAINSTALLFILES) $(DATAINSTALLDIR) +ifdef INSTALL_FILES + $(MKDIR) $(INSTALL_DATADIR) + $(INSTALL) $(INSTALL_FILES) $(INSTALL_DATADIR) endif - -##################################################################### -# SourceInstall rules -##################################################################### - -.PHONY: fpc_sourceinstall - -ifndef SOURCETOPDIR -SOURCETOPDIR=$(BASEDIR) +fpc_sourceinstall: distclean + $(MKDIR) $(INSTALL_SOURCEDIR) + $(COPYTREE) $(BASEDIR) $(INSTALL_SOURCEDIR) +fpc_exampleinstall: $(addsuffix _distclean,$(TARGET_EXAMPLEDIRS)) +ifdef HASEXAMPLES + $(MKDIR) $(INSTALL_EXAMPLEDIR) endif - -fpc_sourceinstall: clean - $(MKDIR) $(SOURCEINSTALLDIR) - $(COPYTREE) $(SOURCETOPDIR) $(SOURCEINSTALLDIR) - -##################################################################### -# exampleinstall rules -##################################################################### - -.PHONY: fpc_exampleinstall - -fpc_exampleinstall: $(addsuffix _clean,$(EXAMPLEDIROBJECTS)) ifdef EXAMPLESOURCEFILES - $(MKDIR) $(EXAMPLEINSTALLDIR) - $(COPY) $(EXAMPLESOURCEFILES) $(EXAMPLEINSTALLDIR) + $(COPY) $(EXAMPLESOURCEFILES) $(INSTALL_EXAMPLEDIR) endif -ifdef EXAMPLEDIROBJECTS -ifndef EXAMPLESOURCEFILES - $(MKDIR) $(EXAMPLEINSTALLDIR) +ifdef TARGET_EXAMPLEDIRS + $(COPYTREE) $(addsuffix /*,$(TARGET_EXAMPLEDIRS)) $(INSTALL_EXAMPLEDIR) endif - $(COPYTREE) $(addsuffix /*,$(EXAMPLEDIROBJECTS)) $(EXAMPLEINSTALLDIR) -endif - -##################################################################### -# Zip -##################################################################### - -.PHONY: fpc_zipinstall - -# Create suffix to add -ifndef PACKAGESUFFIX -PACKAGESUFFIX=$(OS_TARGET) -ifeq ($(OS_TARGET),go32v2) -PACKAGESUFFIX=go32 -endif -ifeq ($(OS_TARGET),win32) -PACKAGESUFFIX=w32 -endif -ifeq ($(OS_TARGET),os2) -PACKAGESUFFIX=emx -endif -endif - -# Temporary path to pack a file +.PHONY: fpc_distinstall +fpc_distinstall: install exampleinstall +.PHONY: fpc_zipinstall fpc_zipsourceinstall fpc_zipexampleinstall ifndef PACKDIR ifndef inUnix -PACKDIR=$(BASEDIR)/pack_tmp +PACKDIR=$(BASEDIR)/../fpc-pack else PACKDIR=/tmp/fpc-pack endif endif - -# Maybe create default zipname from packagename ifndef ZIPNAME -ifdef PACKAGENAME -ZIPNAME=$(PACKAGEPREFIX)$(PACKAGENAME)$(PACKAGESUFFIX) +ifdef DIST_ZIPNAME +ZIPNAME=$(DIST_ZIPNAME) +else +ZIPNAME=$(ZIPPREFIX)$(PACKAGE_NAME)$(ZIPSUFFIX) +endif +endif +ifndef ZIPTARGET +ifdef DIST_ZIPTARGET +ZIPTARGET=DIST_ZIPTARGET +else +ZIPTARGET=install endif endif - -# Use tar by default under linux ifndef USEZIP ifdef inUnix USETAR=1 endif endif - -fpc_zipinstall: -ifndef ZIPNAME - @$(ECHO) "Please specify ZIPNAME!" - @exit 1 +ifndef inUnix +USEZIPWRAPPER=1 +endif +ifdef USEZIPWRAPPER +ZIPPATHSEP=$(PATHSEP) +ZIPWRAPPER=$(subst /,$(PATHSEP),$(DIST_DESTDIR)/fpczip$(BATCHEXT)) else - $(MAKE) $(ZIPTARGET) PREFIXINSTALLDIR=$(PACKDIR) +ZIPPATHSEP=/ +endif +ZIPCMD_CDPACK:=cd $(subst /,$(ZIPPATHSEP),$(PACKDIR)) +ZIPCMD_CDBASE:=cd $(subst /,$(ZIPPATHSEP),$(BASEDIR)) ifdef USETAR - $(DEL) $(DESTZIPDIR)/$(ZIPNAME)$(TAREXT) - cd $(PACKDIR) ; $(TARPROG) cf$(TAROPT) $(DESTZIPDIR)/$(ZIPNAME)$(TAREXT) * ; cd $(BASEDIR) +ZIPDESTFILE:=$(DIST_DESTDIR)/$(ZIPNAME)$(TAREXT) +ZIPCMD_ZIP:=$(TARPROG) cf$(TAROPT) $(ZIPDESTFILE) * else - $(DEL) $(DESTZIPDIR)/$(ZIPNAME)$(ZIPEXT) - cd $(PACKDIR) ; $(ZIPPROG) -Dr $(ZIPOPT) $(DESTZIPDIR)/$(ZIPNAME)$(ZIPEXT) * ; cd $(BASEDIR) +ZIPDESTFILE:=$(DIST_DESTDIR)/$(ZIPNAME)$(ZIPEXT) +ZIPCMD_ZIP:=$(subst /,$(ZIPPATHSEP),$(ZIPPROG)) -Dr $(ZIPOPT) $(ZIPDESTFILE) * +endif +fpc_zipinstall: + $(MAKE) $(ZIPTARGET) INSTALL_PREFIX=$(PACKDIR) ZIPINSTALL=1 + $(MKDIR) $(DIST_DESTDIR) + $(DEL) $(ZIPDESTFILE) +ifdef USEZIPWRAPPER +ifneq ($(ECHOREDIR),echo) + $(ECHOREDIR) -e "$(subst \,\\,$(ZIPCMD_CDPACK))" > $(ZIPWRAPPER) + $(ECHOREDIR) -e "$(subst \,\\,$(ZIPCMD_ZIP))" >> $(ZIPWRAPPER) + $(ECHOREDIR) -e "$(subst \,\\,$(ZIPCMD_CDBASE))" >> $(ZIPWRAPPER) +else + echo $(ZIPCMD_CDPACK) > $(ZIPWRAPPER) + echo $(ZIPCMD_ZIP) >> $(ZIPWRAPPER) + echo $(ZIPCMD_CDBASE) >> $(ZIPWRAPPER) +endif +ifdef inUnix + /bin/sh $(ZIPWRAPPER) +else + $(ZIPWRAPPER) +endif + $(DEL) $(ZIPWRAPPER) +else + $(ZIPCMD_CDPACK) ; $(ZIPCMD_ZIP) ; $(ZIPCMD_CDBASE) endif $(DELTREE) $(PACKDIR) -endif - -.PHONY: fpc_zipsourceinstall - fpc_zipsourceinstall: - $(MAKE) fpc_zipinstall ZIPTARGET=sourceinstall PACKAGESUFFIX=src - -.PHONY: fpc_zipexampleinstall - + $(MAKE) fpc_zipinstall ZIPTARGET=sourceinstall ZIPSUFFIX=src fpc_zipexampleinstall: - $(MAKE) fpc_zipinstall ZIPTARGET=exampleinstall PACKAGESUFFIX=exm - -##################################################################### -# Clean rules -##################################################################### - +ifdef HASEXAMPLES + $(MAKE) fpc_zipinstall ZIPTARGET=exampleinstall ZIPSUFFIX=exm +endif +fpc_zipdistinstall: + $(MAKE) fpc_zipinstall ZIPTARGET=distinstall .PHONY: fpc_clean fpc_cleanall fpc_distclean - ifdef EXEFILES override CLEANEXEFILES:=$(addprefix $(TARGETDIRPREFIX),$(CLEANEXEFILES)) endif - -ifdef EXTRACLEANUNITS -override CLEANPPUFILES+=$(addsuffix $(PPUEXT),$(EXTRACLEANUNITS)) +ifdef CLEAN_UNITS +override CLEANPPUFILES+=$(addsuffix $(PPUEXT),$(CLEAN_UNITS)) endif - ifdef CLEANPPUFILES +override CLEANPPULINKFILES:=$(subst $(PPUEXT),$(OEXT),$(CLEANPPUFILES)) $(addprefix $(STATICLIBPREFIX),$(subst $(PPUEXT),$(STATICLIBEXT),$(CLEANPPUFILES))) override CLEANPPUFILES:=$(addprefix $(UNITTARGETDIRPREFIX),$(CLEANPPUFILES)) -# Get the .o and .a files created for the units -ifdef PPUFILES -CLEANPPULINKFILES:=$(shell $(PPUFILES) $(CLEANPPUFILES)) -else -CLEANPPULINKFILES:=$(wildcard $(subst $(PPUEXT),$(OEXT),$(CLEANPPUFILES)) $(addprefix $(LIBPREFIX),$(subst $(PPUEXT),$(STATICLIBEXT),$(CLEANPPUFILES)))) +override CLEANPPULINKFILES:=$(wildcard $(addprefix $(UNITTARGETDIRPREFIX),$(CLEANPPULINKFILES))) endif -override CLEANPPULINKFILES:=$(addprefix $(UNITTARGETDIRPREFIX),$(CLEANPPULINKFILES)) -endif - fpc_clean: $(CLEANTARGET) ifdef CLEANEXEFILES -$(DEL) $(CLEANEXEFILES) @@ -1046,22 +936,17 @@ endif ifdef CLEANRSTFILES -$(DEL) $(addprefix $(UNITTARGETDIRPREFIX),$(CLEANRSTFILES)) endif -ifdef EXTRACLEANFILES - -$(DEL) $(EXTRACLEANFILES) +ifdef CLEAN_FILES + -$(DEL) $(CLEAN_FILES) endif -ifdef LIBNAME - -$(DEL) $(LIBNAME) $(LIBFULLNAME) +ifdef LIB_NAME + -$(DEL) $(LIB_NAME) $(LIB_FULLNAME) endif - -$(DEL) $(FPCMADE) $(PPAS) link.res $(FPCEXTFILE) $(REDIRFILE) - -fpc_distclean: fpc_clean - -# Also run clean first if targetdir is set. Unittargetdir is always -# set if targetdir or unittargetdir is specified -ifdef UNITTARGETDIR + -$(DEL) $(FPCMADE) Package.fpc $(PPAS) script.res link.res $(FPCEXTFILE) $(REDIRFILE) +fpc_distclean: clean +ifdef COMPILER_UNITTARGETDIR TARGETDIRCLEAN=fpc_clean endif - fpc_cleanall: $(CLEANTARGET) $(TARGETDIRCLEAN) ifdef CLEANEXEFILES -$(DEL) $(CLEANEXEFILES) @@ -1069,74 +954,402 @@ endif -$(DEL) *$(OEXT) *$(PPUEXT) *$(RSTEXT) *$(ASMEXT) *$(STATICLIBEXT) *$(SHAREDLIBEXT) *$(PPLEXT) -$(DELTREE) *$(SMARTEXT) -$(DEL) $(FPCMADE) $(PPAS) link.res $(FPCEXTFILE) $(REDIRFILE) - -##################################################################### -# Info rules -##################################################################### - -.PHONY: fpc_info fpc_cfginfo fpc_objectinfo fpc_toolsinfo fpc_installinfo \ - fpc_dirinfo - -fpc_info: $(INFOTARGET) - -fpc_infocfg: +ifdef AOUTEXT + -$(DEL) *$(AOUTEXT) +endif +.PHONY: fpc_info +fpc_info: + @$(ECHO) + @$(ECHO) == Package info == + @$(ECHO) Package Name..... $(PACKAGE_NAME) + @$(ECHO) Package Version.. $(PACKAGE_VERSION) @$(ECHO) @$(ECHO) == Configuration info == @$(ECHO) - @$(ECHO) FPC....... $(FPC) - @$(ECHO) Version... $(FPC_VERSION) - @$(ECHO) CPU....... $(CPU_TARGET) - @$(ECHO) Source.... $(OS_SOURCE) - @$(ECHO) Target.... $(OS_TARGET) + @$(ECHO) FPC.......... $(FPC) + @$(ECHO) FPC Version.. $(FPC_VERSION) + @$(ECHO) Source CPU... $(CPU_SOURCE) + @$(ECHO) Target CPU... $(CPU_TARGET) + @$(ECHO) Source OS.... $(OS_SOURCE) + @$(ECHO) Target OS.... $(OS_TARGET) + @$(ECHO) Full Target.. $(FULL_SOURCE) + @$(ECHO) Full Source.. $(FULL_TARGET) @$(ECHO) - -fpc_infoobjects: + @$(ECHO) == Directory info == + @$(ECHO) + @$(ECHO) Basedir......... $(BASEDIR) + @$(ECHO) FPCDir.......... $(FPCDIR) + @$(ECHO) CrossBinDir..... $(CROSSBINDIR) + @$(ECHO) UnitsDir........ $(UNITSDIR) + @$(ECHO) PackagesDir..... $(PACKAGESDIR) + @$(ECHO) + @$(ECHO) GCC library..... $(GCCLIBDIR) + @$(ECHO) Other library... $(OTHERLIBDIR) + @$(ECHO) + @$(ECHO) == Tools info == + @$(ECHO) + @$(ECHO) As........ $(AS) + @$(ECHO) Ld........ $(LD) + @$(ECHO) Ar........ $(AR) + @$(ECHO) Rc........ $(RC) + @$(ECHO) + @$(ECHO) Mv........ $(MVPROG) + @$(ECHO) Cp........ $(CPPROG) + @$(ECHO) Rm........ $(RMPROG) + @$(ECHO) GInstall.. $(GINSTALL) + @$(ECHO) Echo...... $(ECHO) + @$(ECHO) Date...... $(DATE) + @$(ECHO) FPCMake... $(FPCMAKE) + @$(ECHO) PPUMove... $(PPUMOVE) + @$(ECHO) Upx....... $(UPXPROG) + @$(ECHO) Zip....... $(ZIPPROG) @$(ECHO) @$(ECHO) == Object info == @$(ECHO) - @$(ECHO) LoaderObjects..... $(LOADEROBJECTS) - @$(ECHO) UnitObjects....... $(UNITOBJECTS) - @$(ECHO) ExeObjects........ $(EXEOBJECTS) + @$(ECHO) Target Loaders...... $(TARGET_LOADERS) + @$(ECHO) Target Units........ $(TARGET_UNITS) + @$(ECHO) Target Programs..... $(TARGET_PROGRAMS) + @$(ECHO) Target Dirs......... $(TARGET_DIRS) + @$(ECHO) Target Examples..... $(TARGET_EXAMPLES) + @$(ECHO) Target ExampleDirs.. $(TARGET_EXAMPLEDIRS) @$(ECHO) - @$(ECHO) ExtraCleanUnits... $(EXTRACLEANUNITS) - @$(ECHO) ExtraCleanFiles... $(EXTRACLEANFILES) + @$(ECHO) Clean Units......... $(CLEAN_UNITS) + @$(ECHO) Clean Files......... $(CLEAN_FILES) @$(ECHO) - @$(ECHO) ExtraInstallUnits. $(EXTRAINSTALLUNITS) - @$(ECHO) ExtraInstallFiles. $(EXTRAINSTALLFILES) - @$(ECHO) - -fpc_infoinstall: + @$(ECHO) Install Units....... $(INSTALL_UNITS) + @$(ECHO) Install Files....... $(INSTALL_FILES) @$(ECHO) @$(ECHO) == Install info == @$(ECHO) -ifdef DATE @$(ECHO) DateStr.............. $(DATESTR) -endif -ifdef PACKAGEPREFIX - @$(ECHO) PackagePrefix........ $(PACKAGEPREFIX) -endif -ifdef PACKAGENAME - @$(ECHO) PackageName.......... $(PACKAGENAME) -endif - @$(ECHO) PackageSuffix........ $(PACKAGESUFFIX) + @$(ECHO) ZipPrefix............ $(ZIPPREFIX) + @$(ECHO) ZipSuffix............ $(ZIPSUFFIX) + @$(ECHO) Install FPC Package.. $(INSTALL_FPCPACKAGE) @$(ECHO) - @$(ECHO) BaseInstallDir....... $(BASEINSTALLDIR) - @$(ECHO) BinInstallDir........ $(BININSTALLDIR) - @$(ECHO) LibInstallDir........ $(LIBINSTALLDIR) - @$(ECHO) UnitInstallDir....... $(UNITINSTALLDIR) - @$(ECHO) SourceInstallDir..... $(SOURCEINSTALLDIR) - @$(ECHO) DocInstallDir........ $(DOCINSTALLDIR) - @$(ECHO) DataInstallDir....... $(DATAINSTALLDIR) + @$(ECHO) Install base dir..... $(INSTALL_BASEDIR) + @$(ECHO) Install binary dir... $(INSTALL_BINDIR) + @$(ECHO) Install library dir.. $(INSTALL_LIBDIR) + @$(ECHO) Install units dir.... $(INSTALL_UNITDIR) + @$(ECHO) Install source dir... $(INSTALL_SOURCEDIR) + @$(ECHO) Install doc dir...... $(INSTALL_DOCDIR) + @$(ECHO) Install example dir.. $(INSTALL_EXAMPLEDIR) + @$(ECHO) Install data dir..... $(INSTALL_DATADIR) @$(ECHO) - @$(ECHO) DestZipDir........... $(DESTZIPDIR) - @$(ECHO) ZipName.............. $(ZIPNAME) + @$(ECHO) Dist destination dir. $(DIST_DESTDIR) + @$(ECHO) Dist zip name........ $(DIST_ZIPNAME) @$(ECHO) - -##################################################################### -# Local Makefile -##################################################################### - +ifeq ($(OS_TARGET),linux) +TARGET_DIRS_LINUX=1 +endif +ifeq ($(OS_TARGET),go32v2) +TARGET_DIRS_GO32V2=1 +endif +ifeq ($(OS_TARGET),win32) +TARGET_DIRS_WIN32=1 +endif +ifeq ($(OS_TARGET),os2) +TARGET_DIRS_OS2=1 +endif +ifeq ($(OS_TARGET),freebsd) +TARGET_DIRS_FREEBSD=1 +endif +ifeq ($(OS_TARGET),beos) +TARGET_DIRS_BEOS=1 +endif +ifeq ($(OS_TARGET),amiga) +TARGET_DIRS_AMIGA=1 +endif +ifdef TARGET_DIRS_LINUX +linux_all: + $(MAKE) -C linux all +linux_debug: + $(MAKE) -C linux debug +linux_smart: + $(MAKE) -C linux smart +linux_examples: + $(MAKE) -C linux examples +linux_shared: + $(MAKE) -C linux shared +linux_install: + $(MAKE) -C linux install +linux_sourceinstall: + $(MAKE) -C linux sourceinstall +linux_exampleinstall: + $(MAKE) -C linux exampleinstall +linux_distinstall: + $(MAKE) -C linux distinstall +linux_zipinstall: + $(MAKE) -C linux zipinstall +linux_zipsourceinstall: + $(MAKE) -C linux zipsourceinstall +linux_zipexampleinstall: + $(MAKE) -C linux zipexampleinstall +linux_zipdistinstall: + $(MAKE) -C linux zipdistinstall +linux_clean: + $(MAKE) -C linux clean +linux_distclean: + $(MAKE) -C linux distclean +linux_cleanall: + $(MAKE) -C linux cleanall +linux_info: + $(MAKE) -C linux info +linux: + $(MAKE) -C linux all +.PHONY: linux_all linux_debug linux_smart linux_examples linux_shared linux_install linux_sourceinstall linux_exampleinstall linux_distinstall linux_zipinstall linux_zipsourceinstall linux_zipexampleinstall linux_zipdistinstall linux_clean linux_distclean linux_cleanall linux_info linux +endif +ifdef TARGET_DIRS_GO32V2 +go32v2_all: + $(MAKE) -C go32v2 all +go32v2_debug: + $(MAKE) -C go32v2 debug +go32v2_smart: + $(MAKE) -C go32v2 smart +go32v2_examples: + $(MAKE) -C go32v2 examples +go32v2_shared: + $(MAKE) -C go32v2 shared +go32v2_install: + $(MAKE) -C go32v2 install +go32v2_sourceinstall: + $(MAKE) -C go32v2 sourceinstall +go32v2_exampleinstall: + $(MAKE) -C go32v2 exampleinstall +go32v2_distinstall: + $(MAKE) -C go32v2 distinstall +go32v2_zipinstall: + $(MAKE) -C go32v2 zipinstall +go32v2_zipsourceinstall: + $(MAKE) -C go32v2 zipsourceinstall +go32v2_zipexampleinstall: + $(MAKE) -C go32v2 zipexampleinstall +go32v2_zipdistinstall: + $(MAKE) -C go32v2 zipdistinstall +go32v2_clean: + $(MAKE) -C go32v2 clean +go32v2_distclean: + $(MAKE) -C go32v2 distclean +go32v2_cleanall: + $(MAKE) -C go32v2 cleanall +go32v2_info: + $(MAKE) -C go32v2 info +go32v2: + $(MAKE) -C go32v2 all +.PHONY: go32v2_all go32v2_debug go32v2_smart go32v2_examples go32v2_shared go32v2_install go32v2_sourceinstall go32v2_exampleinstall go32v2_distinstall go32v2_zipinstall go32v2_zipsourceinstall go32v2_zipexampleinstall go32v2_zipdistinstall go32v2_clean go32v2_distclean go32v2_cleanall go32v2_info go32v2 +endif +ifdef TARGET_DIRS_WIN32 +win32_all: + $(MAKE) -C win32 all +win32_debug: + $(MAKE) -C win32 debug +win32_smart: + $(MAKE) -C win32 smart +win32_examples: + $(MAKE) -C win32 examples +win32_shared: + $(MAKE) -C win32 shared +win32_install: + $(MAKE) -C win32 install +win32_sourceinstall: + $(MAKE) -C win32 sourceinstall +win32_exampleinstall: + $(MAKE) -C win32 exampleinstall +win32_distinstall: + $(MAKE) -C win32 distinstall +win32_zipinstall: + $(MAKE) -C win32 zipinstall +win32_zipsourceinstall: + $(MAKE) -C win32 zipsourceinstall +win32_zipexampleinstall: + $(MAKE) -C win32 zipexampleinstall +win32_zipdistinstall: + $(MAKE) -C win32 zipdistinstall +win32_clean: + $(MAKE) -C win32 clean +win32_distclean: + $(MAKE) -C win32 distclean +win32_cleanall: + $(MAKE) -C win32 cleanall +win32_info: + $(MAKE) -C win32 info +win32: + $(MAKE) -C win32 all +.PHONY: win32_all win32_debug win32_smart win32_examples win32_shared win32_install win32_sourceinstall win32_exampleinstall win32_distinstall win32_zipinstall win32_zipsourceinstall win32_zipexampleinstall win32_zipdistinstall win32_clean win32_distclean win32_cleanall win32_info win32 +endif +ifdef TARGET_DIRS_OS2 +os2_all: + $(MAKE) -C os2 all +os2_debug: + $(MAKE) -C os2 debug +os2_smart: + $(MAKE) -C os2 smart +os2_examples: + $(MAKE) -C os2 examples +os2_shared: + $(MAKE) -C os2 shared +os2_install: + $(MAKE) -C os2 install +os2_sourceinstall: + $(MAKE) -C os2 sourceinstall +os2_exampleinstall: + $(MAKE) -C os2 exampleinstall +os2_distinstall: + $(MAKE) -C os2 distinstall +os2_zipinstall: + $(MAKE) -C os2 zipinstall +os2_zipsourceinstall: + $(MAKE) -C os2 zipsourceinstall +os2_zipexampleinstall: + $(MAKE) -C os2 zipexampleinstall +os2_zipdistinstall: + $(MAKE) -C os2 zipdistinstall +os2_clean: + $(MAKE) -C os2 clean +os2_distclean: + $(MAKE) -C os2 distclean +os2_cleanall: + $(MAKE) -C os2 cleanall +os2_info: + $(MAKE) -C os2 info +os2: + $(MAKE) -C os2 all +.PHONY: os2_all os2_debug os2_smart os2_examples os2_shared os2_install os2_sourceinstall os2_exampleinstall os2_distinstall os2_zipinstall os2_zipsourceinstall os2_zipexampleinstall os2_zipdistinstall os2_clean os2_distclean os2_cleanall os2_info os2 +endif +ifdef TARGET_DIRS_FREEBSD +freebsd_all: + $(MAKE) -C freebsd all +freebsd_debug: + $(MAKE) -C freebsd debug +freebsd_smart: + $(MAKE) -C freebsd smart +freebsd_examples: + $(MAKE) -C freebsd examples +freebsd_shared: + $(MAKE) -C freebsd shared +freebsd_install: + $(MAKE) -C freebsd install +freebsd_sourceinstall: + $(MAKE) -C freebsd sourceinstall +freebsd_exampleinstall: + $(MAKE) -C freebsd exampleinstall +freebsd_distinstall: + $(MAKE) -C freebsd distinstall +freebsd_zipinstall: + $(MAKE) -C freebsd zipinstall +freebsd_zipsourceinstall: + $(MAKE) -C freebsd zipsourceinstall +freebsd_zipexampleinstall: + $(MAKE) -C freebsd zipexampleinstall +freebsd_zipdistinstall: + $(MAKE) -C freebsd zipdistinstall +freebsd_clean: + $(MAKE) -C freebsd clean +freebsd_distclean: + $(MAKE) -C freebsd distclean +freebsd_cleanall: + $(MAKE) -C freebsd cleanall +freebsd_info: + $(MAKE) -C freebsd info +freebsd: + $(MAKE) -C freebsd all +.PHONY: freebsd_all freebsd_debug freebsd_smart freebsd_examples freebsd_shared freebsd_install freebsd_sourceinstall freebsd_exampleinstall freebsd_distinstall freebsd_zipinstall freebsd_zipsourceinstall freebsd_zipexampleinstall freebsd_zipdistinstall freebsd_clean freebsd_distclean freebsd_cleanall freebsd_info freebsd +endif +ifdef TARGET_DIRS_BEOS +beos_all: + $(MAKE) -C beos all +beos_debug: + $(MAKE) -C beos debug +beos_smart: + $(MAKE) -C beos smart +beos_examples: + $(MAKE) -C beos examples +beos_shared: + $(MAKE) -C beos shared +beos_install: + $(MAKE) -C beos install +beos_sourceinstall: + $(MAKE) -C beos sourceinstall +beos_exampleinstall: + $(MAKE) -C beos exampleinstall +beos_distinstall: + $(MAKE) -C beos distinstall +beos_zipinstall: + $(MAKE) -C beos zipinstall +beos_zipsourceinstall: + $(MAKE) -C beos zipsourceinstall +beos_zipexampleinstall: + $(MAKE) -C beos zipexampleinstall +beos_zipdistinstall: + $(MAKE) -C beos zipdistinstall +beos_clean: + $(MAKE) -C beos clean +beos_distclean: + $(MAKE) -C beos distclean +beos_cleanall: + $(MAKE) -C beos cleanall +beos_info: + $(MAKE) -C beos info +beos: + $(MAKE) -C beos all +.PHONY: beos_all beos_debug beos_smart beos_examples beos_shared beos_install beos_sourceinstall beos_exampleinstall beos_distinstall beos_zipinstall beos_zipsourceinstall beos_zipexampleinstall beos_zipdistinstall beos_clean beos_distclean beos_cleanall beos_info beos +endif +ifdef TARGET_DIRS_AMIGA +amiga_all: + $(MAKE) -C amiga all +amiga_debug: + $(MAKE) -C amiga debug +amiga_smart: + $(MAKE) -C amiga smart +amiga_examples: + $(MAKE) -C amiga examples +amiga_shared: + $(MAKE) -C amiga shared +amiga_install: + $(MAKE) -C amiga install +amiga_sourceinstall: + $(MAKE) -C amiga sourceinstall +amiga_exampleinstall: + $(MAKE) -C amiga exampleinstall +amiga_distinstall: + $(MAKE) -C amiga distinstall +amiga_zipinstall: + $(MAKE) -C amiga zipinstall +amiga_zipsourceinstall: + $(MAKE) -C amiga zipsourceinstall +amiga_zipexampleinstall: + $(MAKE) -C amiga zipexampleinstall +amiga_zipdistinstall: + $(MAKE) -C amiga zipdistinstall +amiga_clean: + $(MAKE) -C amiga clean +amiga_distclean: + $(MAKE) -C amiga distclean +amiga_cleanall: + $(MAKE) -C amiga cleanall +amiga_info: + $(MAKE) -C amiga info +amiga: + $(MAKE) -C amiga all +.PHONY: amiga_all amiga_debug amiga_smart 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 +endif +all: $(addsuffix _all,$(TARGET_DIRS)) +debug: $(addsuffix _debug,$(TARGET_DIRS)) +smart: $(addsuffix _smart,$(TARGET_DIRS)) +examples: $(addsuffix _examples,$(TARGET_DIRS)) +shared: $(addsuffix _shared,$(TARGET_DIRS)) +install: fpc_install $(addsuffix _install,$(TARGET_DIRS)) +sourceinstall: fpc_sourceinstall +exampleinstall: fpc_exampleinstall $(addsuffix _exampleinstall,$(TARGET_DIRS)) +distinstall: fpc_distinstall +zipinstall: fpc_zipinstall +zipsourceinstall: fpc_zipsourceinstall +zipexampleinstall: fpc_zipexampleinstall $(addsuffix _zipexampleinstall,$(TARGET_DIRS)) +zipdistinstall: fpc_zipdistinstall $(addsuffix _zipdistinstall,$(TARGET_DIRS)) +clean: fpc_clean $(addsuffix _clean,$(TARGET_DIRS)) +distclean: fpc_distclean $(addsuffix _distclean,$(TARGET_DIRS)) +cleanall: fpc_cleanall $(addsuffix _cleanall,$(TARGET_DIRS)) +info: fpc_info +.PHONY: all debug smart examples shared install sourceinstall exampleinstall distinstall zipinstall zipsourceinstall zipexampleinstall zipdistinstall clean distclean cleanall info ifneq ($(wildcard fpcmake.loc),) include fpcmake.loc endif -