# # Don't edit, this file is generated by FPCMake Version 2.0.0 [2005/05/05] # default: all MAKEFILETARGETS=i386-linux i386-go32v2 i386-win32 i386-os2 i386-freebsd i386-beos i386-netbsd i386-solaris 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-solaris x86_64-linux x86_64-freebsd arm-linux BSDs = freebsd netbsd openbsd darwin UNIXs = linux $(BSDs) solaris qnx LIMIT83fs = go32v2 os2 emx watcom FORCE: .PHONY: FORCE override PATH:=$(patsubst %/,%,$(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),) PWD:=$(strip $(wildcard $(addsuffix /pwd,$(SEARCHPATH)))) ifeq ($(PWD),) $(error You need the GNU utils package to use this Makefile) else PWD:=$(firstword $(PWD)) SRCEXEEXT= endif else PWD:=$(firstword $(PWD)) SRCEXEEXT=.exe endif ifndef inUnix ifeq ($(OS),Windows_NT) inWinNT=1 else ifdef OS2_SHELL inOS2=1 endif endif else ifneq ($(findstring cygdrive,$(PATH)),) inCygWin=1 endif endif ifdef inUnix SRCBATCHEXT=.sh else ifdef inOS2 SRCBATCHEXT=.cmd else SRCBATCHEXT=.bat endif endif ifdef inUnix PATHSEP=/ else PATHSEP:=$(subst /,\,/) ifdef inCygWin PATHSEP=/ endif endif ifdef PWD BASEDIR:=$(subst \,/,$(shell $(PWD))) ifdef inCygWin ifneq ($(findstring /cygdrive/,$(BASEDIR)),) BASENODIR:=$(patsubst /cygdrive%,%,$(BASEDIR)) BASEDRIVE:=$(firstword $(subst /, ,$(BASENODIR))) BASEDIR:=$(subst /cygdrive/$(BASEDRIVE)/,$(BASEDRIVE):/,$(BASEDIR)) endif endif else BASEDIR=. endif ifdef inOS2 ifndef ECHO ECHO:=$(strip $(wildcard $(addsuffix /gecho$(SRCEXEEXT),$(SEARCHPATH)))) ifeq ($(ECHO),) ECHO:=$(strip $(wildcard $(addsuffix /echo$(SRCEXEEXT),$(SEARCHPATH)))) ifeq ($(ECHO),) ECHO=echo else ECHO:=$(firstword $(ECHO)) endif else ECHO:=$(firstword $(ECHO)) endif endif export ECHO endif override OS_TARGET_DEFAULT=darwin override DEFAULT_FPCDIR=../.. ifndef FPC ifdef PP FPC=$(PP) endif endif ifndef FPC FPCPROG:=$(strip $(wildcard $(addsuffix /fpc$(SRCEXEEXT),$(SEARCHPATH)))) ifneq ($(FPCPROG),) FPCPROG:=$(firstword $(FPCPROG)) FPC:=$(shell $(FPCPROG) -PB) ifneq ($(findstring Error,$(FPC)),) override FPC=$(firstword $(strip $(wildcard $(addsuffix /ppc386$(SRCEXEEXT),$(SEARCHPATH))))) endif else override FPC=$(firstword $(strip $(wildcard $(addsuffix /ppc386$(SRCEXEEXT),$(SEARCHPATH))))) endif endif override FPC:=$(subst $(SRCEXEEXT),,$(FPC)) override FPC:=$(subst \,/,$(FPC))$(SRCEXEEXT) FOUNDFPC:=$(strip $(wildcard $(FPC))) ifeq ($(FOUNDFPC),) FOUNDFPC=$(strip $(wildcard $(addsuffix /$(FPC),$(SEARCHPATH)))) ifeq ($(FOUNDFPC),) $(error Compiler $(FPC) not found) endif endif ifndef FPC_COMPILERINFO FPC_COMPILERINFO:=$(shell $(FPC) -iVSPTPSOTO) endif ifndef FPC_VERSION FPC_VERSION:=$(word 1,$(FPC_COMPILERINFO)) endif export FPC FPC_VERSION FPC_COMPILERINFO unexport CHECKDEPEND ALLDEPENDENCIES ifndef CPU_TARGET ifdef CPU_TARGET_DEFAULT CPU_TARGET=$(CPU_TARGET_DEFAULT) endif endif ifndef OS_TARGET ifdef OS_TARGET_DEFAULT OS_TARGET=$(OS_TARGET_DEFAULT) endif endif ifneq ($(words $(FPC_COMPILERINFO)),5) FPC_COMPILERINFO+=$(shell $(FPC) -iSP) FPC_COMPILERINFO+=$(shell $(FPC) -iTP) FPC_COMPILERINFO+=$(shell $(FPC) -iSO) FPC_COMPILERINFO+=$(shell $(FPC) -iTO) endif ifndef CPU_SOURCE CPU_SOURCE:=$(word 2,$(FPC_COMPILERINFO)) endif ifndef CPU_TARGET CPU_TARGET:=$(word 3,$(FPC_COMPILERINFO)) endif ifndef OS_SOURCE OS_SOURCE:=$(word 4,$(FPC_COMPILERINFO)) 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) else TARGETSUFFIX=$(FULL_TARGET) SOURCESUFFIX=$(FULL_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) 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 TARGETSUFFIX SOURCESUFFIX CROSSCOMPILE ifdef FPCDIR override FPCDIR:=$(subst \,/,$(FPCDIR)) ifeq ($(wildcard $(addprefix $(FPCDIR)/,rtl units)),) override FPCDIR=wrong endif else override FPCDIR=wrong endif ifdef DEFAULT_FPCDIR ifeq ($(FPCDIR),wrong) override FPCDIR:=$(subst \,/,$(DEFAULT_FPCDIR)) ifeq ($(wildcard $(addprefix $(FPCDIR)/,rtl units)),) override FPCDIR=wrong endif endif endif ifeq ($(FPCDIR),wrong) ifdef inUnix override FPCDIR=/usr/local/lib/fpc/$(FPC_VERSION) ifeq ($(wildcard $(FPCDIR)/units),) override FPCDIR=/usr/lib/fpc/$(FPC_VERSION) endif else override FPCDIR:=$(subst /$(FPC),,$(firstword $(strip $(wildcard $(addsuffix /$(FPC),$(SEARCHPATH)))))) override FPCDIR:=$(FPCDIR)/.. ifeq ($(wildcard $(addprefix $(FPCDIR)/,rtl units)),) override FPCDIR:=$(FPCDIR)/.. ifeq ($(wildcard $(addprefix $(FPCDIR)/,rtl units)),) override FPCDIR:=$(BASEDIR) ifeq ($(wildcard $(addprefix $(FPCDIR)/,rtl units)),) override FPCDIR=c:/pp endif endif endif endif endif ifndef CROSSBINDIR CROSSBINDIR:=$(wildcard $(FPCDIR)/bin/$(TARGETSUFFIX)) endif ifndef BINUTILSPREFIX ifndef CROSSBINDIR ifdef CROSSCOMPILE BINUTILSPREFIX=$(CPU_TARGET)-$(OS_TARGET)- endif endif endif UNITSDIR:=$(wildcard $(FPCDIR)/units/$(TARGETSUFFIX)) ifeq ($(UNITSDIR),) UNITSDIR:=$(wildcard $(FPCDIR)/units/$(OS_TARGET)) endif PACKAGESDIR:=$(wildcard $(FPCDIR) $(FPCDIR)/packages/base $(FPCDIR)/packages/extra) override PACKAGE_NAME=rtl PACKAGEDIR_MAIN:=$(firstword $(subst /Makefile.fpc,,$(strip $(wildcard $(addsuffix /rtl/Makefile.fpc,$(PACKAGESDIR)))))) RTL=.. INC=$(RTL)/inc PROCINC=$(RTL)/$(CPU_TARGET) BSDINC=$(RTL)/bsd BSDPROCINC=$(BSDINC)/$(CPU_TARGET) OSPROCINC=$(RTL)/darwin/$(CPU_TARGET) UNIXINC=$(RTL)/unix UNITPREFIX=rtl ifeq ($(findstring 1.0.,$(FPC_VERSION)),) SYSTEMUNIT=system override FPCOPT+=-dNOMOUSE else SYSTEMUNIT="Error: Darwin is not supported for 1.0" endif ifdef RELEASE override FPCOPT+=-Ur endif override FPCOPT+=-dFPC_USE_LIBC OBJPASDIR=$(RTL)/objpas GRAPHDIR=$(INC)/graph ifndef USELIBGGI USELIBGGI=NO endif ifeq ($(FULL_TARGET),i386-linux) override TARGET_UNITS+=$(SYSTEMUNIT) unixtype ctypes objpas macpas strings sysctl baseunix unixutil unix initc cmem matrix dynlibs dos dl objects printer sockets sysutils typinfo classes math varutils charset ucomplex getopts heaptrc lineinfo errors terminfo termio video crt mouse keyboard console variants types sysctl dateutils sysconst cthreads strutils rtlconsts endif ifeq ($(FULL_TARGET),i386-go32v2) override TARGET_UNITS+=$(SYSTEMUNIT) unixtype ctypes objpas macpas strings sysctl baseunix unixutil unix initc cmem matrix dynlibs dos dl objects printer sockets sysutils typinfo classes math varutils charset ucomplex getopts heaptrc lineinfo errors terminfo termio video crt mouse keyboard console variants types sysctl dateutils sysconst cthreads strutils rtlconsts endif ifeq ($(FULL_TARGET),i386-win32) override TARGET_UNITS+=$(SYSTEMUNIT) unixtype ctypes objpas macpas strings sysctl baseunix unixutil unix initc cmem matrix dynlibs dos dl objects printer sockets sysutils typinfo classes math varutils charset ucomplex getopts heaptrc lineinfo errors terminfo termio video crt mouse keyboard console variants types sysctl dateutils sysconst cthreads strutils rtlconsts endif ifeq ($(FULL_TARGET),i386-os2) override TARGET_UNITS+=$(SYSTEMUNIT) unixtype ctypes objpas macpas strings sysctl baseunix unixutil unix initc cmem matrix dynlibs dos dl objects printer sockets sysutils typinfo classes math varutils charset ucomplex getopts heaptrc lineinfo errors terminfo termio video crt mouse keyboard console variants types sysctl dateutils sysconst cthreads strutils rtlconsts endif ifeq ($(FULL_TARGET),i386-freebsd) override TARGET_UNITS+=$(SYSTEMUNIT) unixtype ctypes objpas macpas strings sysctl baseunix unixutil unix initc cmem matrix dynlibs dos dl objects printer sockets sysutils typinfo classes math varutils charset ucomplex getopts heaptrc lineinfo errors terminfo termio video crt mouse keyboard console variants types sysctl dateutils sysconst cthreads strutils rtlconsts endif ifeq ($(FULL_TARGET),i386-beos) override TARGET_UNITS+=$(SYSTEMUNIT) unixtype ctypes objpas macpas strings sysctl baseunix unixutil unix initc cmem matrix dynlibs dos dl objects printer sockets sysutils typinfo classes math varutils charset ucomplex getopts heaptrc lineinfo errors terminfo termio video crt mouse keyboard console variants types sysctl dateutils sysconst cthreads strutils rtlconsts endif ifeq ($(FULL_TARGET),i386-netbsd) override TARGET_UNITS+=$(SYSTEMUNIT) unixtype ctypes objpas macpas strings sysctl baseunix unixutil unix initc cmem matrix dynlibs dos dl objects printer sockets sysutils typinfo classes math varutils charset ucomplex getopts heaptrc lineinfo errors terminfo termio video crt mouse keyboard console variants types sysctl dateutils sysconst cthreads strutils rtlconsts endif ifeq ($(FULL_TARGET),i386-solaris) override TARGET_UNITS+=$(SYSTEMUNIT) unixtype ctypes objpas macpas strings sysctl baseunix unixutil unix initc cmem matrix dynlibs dos dl objects printer sockets sysutils typinfo classes math varutils charset ucomplex getopts heaptrc lineinfo errors terminfo termio video crt mouse keyboard console variants types sysctl dateutils sysconst cthreads strutils rtlconsts endif ifeq ($(FULL_TARGET),i386-qnx) override TARGET_UNITS+=$(SYSTEMUNIT) unixtype ctypes objpas macpas strings sysctl baseunix unixutil unix initc cmem matrix dynlibs dos dl objects printer sockets sysutils typinfo classes math varutils charset ucomplex getopts heaptrc lineinfo errors terminfo termio video crt mouse keyboard console variants types sysctl dateutils sysconst cthreads strutils rtlconsts endif ifeq ($(FULL_TARGET),i386-netware) override TARGET_UNITS+=$(SYSTEMUNIT) unixtype ctypes objpas macpas strings sysctl baseunix unixutil unix initc cmem matrix dynlibs dos dl objects printer sockets sysutils typinfo classes math varutils charset ucomplex getopts heaptrc lineinfo errors terminfo termio video crt mouse keyboard console variants types sysctl dateutils sysconst cthreads strutils rtlconsts endif ifeq ($(FULL_TARGET),i386-openbsd) override TARGET_UNITS+=$(SYSTEMUNIT) unixtype ctypes objpas macpas strings sysctl baseunix unixutil unix initc cmem matrix dynlibs dos dl objects printer sockets sysutils typinfo classes math varutils charset ucomplex getopts heaptrc lineinfo errors terminfo termio video crt mouse keyboard console variants types sysctl dateutils sysconst cthreads strutils rtlconsts endif ifeq ($(FULL_TARGET),i386-wdosx) override TARGET_UNITS+=$(SYSTEMUNIT) unixtype ctypes objpas macpas strings sysctl baseunix unixutil unix initc cmem matrix dynlibs dos dl objects printer sockets sysutils typinfo classes math varutils charset ucomplex getopts heaptrc lineinfo errors terminfo termio video crt mouse keyboard console variants types sysctl dateutils sysconst cthreads strutils rtlconsts endif ifeq ($(FULL_TARGET),i386-emx) override TARGET_UNITS+=$(SYSTEMUNIT) unixtype ctypes objpas macpas strings sysctl baseunix unixutil unix initc cmem matrix dynlibs dos dl objects printer sockets sysutils typinfo classes math varutils charset ucomplex getopts heaptrc lineinfo errors terminfo termio video crt mouse keyboard console variants types sysctl dateutils sysconst cthreads strutils rtlconsts endif ifeq ($(FULL_TARGET),i386-watcom) override TARGET_UNITS+=$(SYSTEMUNIT) unixtype ctypes objpas macpas strings sysctl baseunix unixutil unix initc cmem matrix dynlibs dos dl objects printer sockets sysutils typinfo classes math varutils charset ucomplex getopts heaptrc lineinfo errors terminfo termio video crt mouse keyboard console variants types sysctl dateutils sysconst cthreads strutils rtlconsts endif ifeq ($(FULL_TARGET),i386-netwlibc) override TARGET_UNITS+=$(SYSTEMUNIT) unixtype ctypes objpas macpas strings sysctl baseunix unixutil unix initc cmem matrix dynlibs dos dl objects printer sockets sysutils typinfo classes math varutils charset ucomplex getopts heaptrc lineinfo errors terminfo termio video crt mouse keyboard console variants types sysctl dateutils sysconst cthreads strutils rtlconsts endif ifeq ($(FULL_TARGET),m68k-linux) override TARGET_UNITS+=$(SYSTEMUNIT) unixtype ctypes objpas macpas strings sysctl baseunix unixutil unix initc cmem matrix dynlibs dos dl objects printer sockets sysutils typinfo classes math varutils charset ucomplex getopts heaptrc lineinfo errors terminfo termio video crt mouse keyboard console variants types sysctl dateutils sysconst cthreads strutils rtlconsts endif ifeq ($(FULL_TARGET),m68k-freebsd) override TARGET_UNITS+=$(SYSTEMUNIT) unixtype ctypes objpas macpas strings sysctl baseunix unixutil unix initc cmem matrix dynlibs dos dl objects printer sockets sysutils typinfo classes math varutils charset ucomplex getopts heaptrc lineinfo errors terminfo termio video crt mouse keyboard console variants types sysctl dateutils sysconst cthreads strutils rtlconsts endif ifeq ($(FULL_TARGET),m68k-netbsd) override TARGET_UNITS+=$(SYSTEMUNIT) unixtype ctypes objpas macpas strings sysctl baseunix unixutil unix initc cmem matrix dynlibs dos dl objects printer sockets sysutils typinfo classes math varutils charset ucomplex getopts heaptrc lineinfo errors terminfo termio video crt mouse keyboard console variants types sysctl dateutils sysconst cthreads strutils rtlconsts endif ifeq ($(FULL_TARGET),m68k-amiga) override TARGET_UNITS+=$(SYSTEMUNIT) unixtype ctypes objpas macpas strings sysctl baseunix unixutil unix initc cmem matrix dynlibs dos dl objects printer sockets sysutils typinfo classes math varutils charset ucomplex getopts heaptrc lineinfo errors terminfo termio video crt mouse keyboard console variants types sysctl dateutils sysconst cthreads strutils rtlconsts endif ifeq ($(FULL_TARGET),m68k-atari) override TARGET_UNITS+=$(SYSTEMUNIT) unixtype ctypes objpas macpas strings sysctl baseunix unixutil unix initc cmem matrix dynlibs dos dl objects printer sockets sysutils typinfo classes math varutils charset ucomplex getopts heaptrc lineinfo errors terminfo termio video crt mouse keyboard console variants types sysctl dateutils sysconst cthreads strutils rtlconsts endif ifeq ($(FULL_TARGET),m68k-openbsd) override TARGET_UNITS+=$(SYSTEMUNIT) unixtype ctypes objpas macpas strings sysctl baseunix unixutil unix initc cmem matrix dynlibs dos dl objects printer sockets sysutils typinfo classes math varutils charset ucomplex getopts heaptrc lineinfo errors terminfo termio video crt mouse keyboard console variants types sysctl dateutils sysconst cthreads strutils rtlconsts endif ifeq ($(FULL_TARGET),m68k-palmos) override TARGET_UNITS+=$(SYSTEMUNIT) unixtype ctypes objpas macpas strings sysctl baseunix unixutil unix initc cmem matrix dynlibs dos dl objects printer sockets sysutils typinfo classes math varutils charset ucomplex getopts heaptrc lineinfo errors terminfo termio video crt mouse keyboard console variants types sysctl dateutils sysconst cthreads strutils rtlconsts endif ifeq ($(FULL_TARGET),powerpc-linux) override TARGET_UNITS+=$(SYSTEMUNIT) unixtype ctypes objpas macpas strings sysctl baseunix unixutil unix initc cmem matrix dynlibs dos dl objects printer sockets sysutils typinfo classes math varutils charset ucomplex getopts heaptrc lineinfo errors terminfo termio video crt mouse keyboard console variants types sysctl dateutils sysconst cthreads strutils rtlconsts endif ifeq ($(FULL_TARGET),powerpc-netbsd) override TARGET_UNITS+=$(SYSTEMUNIT) unixtype ctypes objpas macpas strings sysctl baseunix unixutil unix initc cmem matrix dynlibs dos dl objects printer sockets sysutils typinfo classes math varutils charset ucomplex getopts heaptrc lineinfo errors terminfo termio video crt mouse keyboard console variants types sysctl dateutils sysconst cthreads strutils rtlconsts endif ifeq ($(FULL_TARGET),powerpc-macos) override TARGET_UNITS+=$(SYSTEMUNIT) unixtype ctypes objpas macpas strings sysctl baseunix unixutil unix initc cmem matrix dynlibs dos dl objects printer sockets sysutils typinfo classes math varutils charset ucomplex getopts heaptrc lineinfo errors terminfo termio video crt mouse keyboard console variants types sysctl dateutils sysconst cthreads strutils rtlconsts endif ifeq ($(FULL_TARGET),powerpc-darwin) override TARGET_UNITS+=$(SYSTEMUNIT) unixtype ctypes objpas macpas strings sysctl baseunix unixutil unix initc cmem matrix dynlibs dos dl objects printer sockets sysutils typinfo classes math varutils charset ucomplex getopts heaptrc lineinfo errors terminfo termio video crt mouse keyboard console variants types sysctl dateutils sysconst cthreads strutils rtlconsts endif ifeq ($(FULL_TARGET),powerpc-morphos) override TARGET_UNITS+=$(SYSTEMUNIT) unixtype ctypes objpas macpas strings sysctl baseunix unixutil unix initc cmem matrix dynlibs dos dl objects printer sockets sysutils typinfo classes math varutils charset ucomplex getopts heaptrc lineinfo errors terminfo termio video crt mouse keyboard console variants types sysctl dateutils sysconst cthreads strutils rtlconsts endif ifeq ($(FULL_TARGET),sparc-linux) override TARGET_UNITS+=$(SYSTEMUNIT) unixtype ctypes objpas macpas strings sysctl baseunix unixutil unix initc cmem matrix dynlibs dos dl objects printer sockets sysutils typinfo classes math varutils charset ucomplex getopts heaptrc lineinfo errors terminfo termio video crt mouse keyboard console variants types sysctl dateutils sysconst cthreads strutils rtlconsts endif ifeq ($(FULL_TARGET),sparc-netbsd) override TARGET_UNITS+=$(SYSTEMUNIT) unixtype ctypes objpas macpas strings sysctl baseunix unixutil unix initc cmem matrix dynlibs dos dl objects printer sockets sysutils typinfo classes math varutils charset ucomplex getopts heaptrc lineinfo errors terminfo termio video crt mouse keyboard console variants types sysctl dateutils sysconst cthreads strutils rtlconsts endif ifeq ($(FULL_TARGET),sparc-solaris) override TARGET_UNITS+=$(SYSTEMUNIT) unixtype ctypes objpas macpas strings sysctl baseunix unixutil unix initc cmem matrix dynlibs dos dl objects printer sockets sysutils typinfo classes math varutils charset ucomplex getopts heaptrc lineinfo errors terminfo termio video crt mouse keyboard console variants types sysctl dateutils sysconst cthreads strutils rtlconsts endif ifeq ($(FULL_TARGET),x86_64-linux) override TARGET_UNITS+=$(SYSTEMUNIT) unixtype ctypes objpas macpas strings sysctl baseunix unixutil unix initc cmem matrix dynlibs dos dl objects printer sockets sysutils typinfo classes math varutils charset ucomplex getopts heaptrc lineinfo errors terminfo termio video crt mouse keyboard console variants types sysctl dateutils sysconst cthreads strutils rtlconsts endif ifeq ($(FULL_TARGET),x86_64-freebsd) override TARGET_UNITS+=$(SYSTEMUNIT) unixtype ctypes objpas macpas strings sysctl baseunix unixutil unix initc cmem matrix dynlibs dos dl objects printer sockets sysutils typinfo classes math varutils charset ucomplex getopts heaptrc lineinfo errors terminfo termio video crt mouse keyboard console variants types sysctl dateutils sysconst cthreads strutils rtlconsts endif ifeq ($(FULL_TARGET),arm-linux) override TARGET_UNITS+=$(SYSTEMUNIT) unixtype ctypes objpas macpas strings sysctl baseunix unixutil unix initc cmem matrix dynlibs dos dl objects printer sockets sysutils typinfo classes math varutils charset ucomplex getopts heaptrc lineinfo errors terminfo termio video crt mouse keyboard console variants types sysctl dateutils sysconst cthreads strutils rtlconsts endif ifeq ($(FULL_TARGET),i386-linux) override TARGET_RSTS+=math varutils typinfo classes variants dateutils sysconst rtlconsts endif ifeq ($(FULL_TARGET),i386-go32v2) override TARGET_RSTS+=math varutils typinfo classes variants dateutils sysconst rtlconsts endif ifeq ($(FULL_TARGET),i386-win32) override TARGET_RSTS+=math varutils typinfo classes variants dateutils sysconst rtlconsts endif ifeq ($(FULL_TARGET),i386-os2) override TARGET_RSTS+=math varutils typinfo classes variants dateutils sysconst rtlconsts endif ifeq ($(FULL_TARGET),i386-freebsd) override TARGET_RSTS+=math varutils typinfo classes variants dateutils sysconst rtlconsts endif ifeq ($(FULL_TARGET),i386-beos) override TARGET_RSTS+=math varutils typinfo classes variants dateutils sysconst rtlconsts endif ifeq ($(FULL_TARGET),i386-netbsd) override TARGET_RSTS+=math varutils typinfo classes variants dateutils sysconst rtlconsts endif ifeq ($(FULL_TARGET),i386-solaris) override TARGET_RSTS+=math varutils typinfo classes variants dateutils sysconst rtlconsts endif ifeq ($(FULL_TARGET),i386-qnx) override TARGET_RSTS+=math varutils typinfo classes variants dateutils sysconst rtlconsts endif ifeq ($(FULL_TARGET),i386-netware) override TARGET_RSTS+=math varutils typinfo classes variants dateutils sysconst rtlconsts endif ifeq ($(FULL_TARGET),i386-openbsd) override TARGET_RSTS+=math varutils typinfo classes variants dateutils sysconst rtlconsts endif ifeq ($(FULL_TARGET),i386-wdosx) override TARGET_RSTS+=math varutils typinfo classes variants dateutils sysconst rtlconsts endif ifeq ($(FULL_TARGET),i386-emx) override TARGET_RSTS+=math varutils typinfo classes variants dateutils sysconst rtlconsts endif ifeq ($(FULL_TARGET),i386-watcom) override TARGET_RSTS+=math varutils typinfo classes variants dateutils sysconst rtlconsts endif ifeq ($(FULL_TARGET),i386-netwlibc) override TARGET_RSTS+=math varutils typinfo classes variants dateutils sysconst rtlconsts endif ifeq ($(FULL_TARGET),m68k-linux) override TARGET_RSTS+=math varutils typinfo classes variants dateutils sysconst rtlconsts endif ifeq ($(FULL_TARGET),m68k-freebsd) override TARGET_RSTS+=math varutils typinfo classes variants dateutils sysconst rtlconsts endif ifeq ($(FULL_TARGET),m68k-netbsd) override TARGET_RSTS+=math varutils typinfo classes variants dateutils sysconst rtlconsts endif ifeq ($(FULL_TARGET),m68k-amiga) override TARGET_RSTS+=math varutils typinfo classes variants dateutils sysconst rtlconsts endif ifeq ($(FULL_TARGET),m68k-atari) override TARGET_RSTS+=math varutils typinfo classes variants dateutils sysconst rtlconsts endif ifeq ($(FULL_TARGET),m68k-openbsd) override TARGET_RSTS+=math varutils typinfo classes variants dateutils sysconst rtlconsts endif ifeq ($(FULL_TARGET),m68k-palmos) override TARGET_RSTS+=math varutils typinfo classes variants dateutils sysconst rtlconsts endif ifeq ($(FULL_TARGET),powerpc-linux) override TARGET_RSTS+=math varutils typinfo classes variants dateutils sysconst rtlconsts endif ifeq ($(FULL_TARGET),powerpc-netbsd) override TARGET_RSTS+=math varutils typinfo classes variants dateutils sysconst rtlconsts endif ifeq ($(FULL_TARGET),powerpc-macos) override TARGET_RSTS+=math varutils typinfo classes variants dateutils sysconst rtlconsts endif ifeq ($(FULL_TARGET),powerpc-darwin) override TARGET_RSTS+=math varutils typinfo classes variants dateutils sysconst rtlconsts endif ifeq ($(FULL_TARGET),powerpc-morphos) override TARGET_RSTS+=math varutils typinfo classes variants dateutils sysconst rtlconsts endif ifeq ($(FULL_TARGET),sparc-linux) override TARGET_RSTS+=math varutils typinfo classes variants dateutils sysconst rtlconsts endif ifeq ($(FULL_TARGET),sparc-netbsd) override TARGET_RSTS+=math varutils typinfo classes variants dateutils sysconst rtlconsts endif ifeq ($(FULL_TARGET),sparc-solaris) override TARGET_RSTS+=math varutils typinfo classes variants dateutils sysconst rtlconsts endif ifeq ($(FULL_TARGET),x86_64-linux) override TARGET_RSTS+=math varutils typinfo classes variants dateutils sysconst rtlconsts endif ifeq ($(FULL_TARGET),x86_64-freebsd) override TARGET_RSTS+=math varutils typinfo classes variants dateutils sysconst rtlconsts endif ifeq ($(FULL_TARGET),arm-linux) override TARGET_RSTS+=math varutils typinfo classes variants dateutils sysconst rtlconsts endif override INSTALL_FPCPACKAGE=y ifeq ($(FULL_TARGET),i386-linux) override COMPILER_INCLUDEDIR+=$(INC) $(PROCINC) $(UNIXINC) $(BSDINC) $(BSDPROCINC) $(OSPROCINC) endif ifeq ($(FULL_TARGET),i386-go32v2) override COMPILER_INCLUDEDIR+=$(INC) $(PROCINC) $(UNIXINC) $(BSDINC) $(BSDPROCINC) $(OSPROCINC) endif ifeq ($(FULL_TARGET),i386-win32) override COMPILER_INCLUDEDIR+=$(INC) $(PROCINC) $(UNIXINC) $(BSDINC) $(BSDPROCINC) $(OSPROCINC) endif ifeq ($(FULL_TARGET),i386-os2) override COMPILER_INCLUDEDIR+=$(INC) $(PROCINC) $(UNIXINC) $(BSDINC) $(BSDPROCINC) $(OSPROCINC) endif ifeq ($(FULL_TARGET),i386-freebsd) override COMPILER_INCLUDEDIR+=$(INC) $(PROCINC) $(UNIXINC) $(BSDINC) $(BSDPROCINC) $(OSPROCINC) endif ifeq ($(FULL_TARGET),i386-beos) override COMPILER_INCLUDEDIR+=$(INC) $(PROCINC) $(UNIXINC) $(BSDINC) $(BSDPROCINC) $(OSPROCINC) endif ifeq ($(FULL_TARGET),i386-netbsd) override COMPILER_INCLUDEDIR+=$(INC) $(PROCINC) $(UNIXINC) $(BSDINC) $(BSDPROCINC) $(OSPROCINC) endif ifeq ($(FULL_TARGET),i386-solaris) override COMPILER_INCLUDEDIR+=$(INC) $(PROCINC) $(UNIXINC) $(BSDINC) $(BSDPROCINC) $(OSPROCINC) endif ifeq ($(FULL_TARGET),i386-qnx) override COMPILER_INCLUDEDIR+=$(INC) $(PROCINC) $(UNIXINC) $(BSDINC) $(BSDPROCINC) $(OSPROCINC) endif ifeq ($(FULL_TARGET),i386-netware) override COMPILER_INCLUDEDIR+=$(INC) $(PROCINC) $(UNIXINC) $(BSDINC) $(BSDPROCINC) $(OSPROCINC) endif ifeq ($(FULL_TARGET),i386-openbsd) override COMPILER_INCLUDEDIR+=$(INC) $(PROCINC) $(UNIXINC) $(BSDINC) $(BSDPROCINC) $(OSPROCINC) endif ifeq ($(FULL_TARGET),i386-wdosx) override COMPILER_INCLUDEDIR+=$(INC) $(PROCINC) $(UNIXINC) $(BSDINC) $(BSDPROCINC) $(OSPROCINC) endif ifeq ($(FULL_TARGET),i386-emx) override COMPILER_INCLUDEDIR+=$(INC) $(PROCINC) $(UNIXINC) $(BSDINC) $(BSDPROCINC) $(OSPROCINC) endif ifeq ($(FULL_TARGET),i386-watcom) override COMPILER_INCLUDEDIR+=$(INC) $(PROCINC) $(UNIXINC) $(BSDINC) $(BSDPROCINC) $(OSPROCINC) endif ifeq ($(FULL_TARGET),i386-netwlibc) override COMPILER_INCLUDEDIR+=$(INC) $(PROCINC) $(UNIXINC) $(BSDINC) $(BSDPROCINC) $(OSPROCINC) endif ifeq ($(FULL_TARGET),m68k-linux) override COMPILER_INCLUDEDIR+=$(INC) $(PROCINC) $(UNIXINC) $(BSDINC) $(BSDPROCINC) $(OSPROCINC) endif ifeq ($(FULL_TARGET),m68k-freebsd) override COMPILER_INCLUDEDIR+=$(INC) $(PROCINC) $(UNIXINC) $(BSDINC) $(BSDPROCINC) $(OSPROCINC) endif ifeq ($(FULL_TARGET),m68k-netbsd) override COMPILER_INCLUDEDIR+=$(INC) $(PROCINC) $(UNIXINC) $(BSDINC) $(BSDPROCINC) $(OSPROCINC) endif ifeq ($(FULL_TARGET),m68k-amiga) override COMPILER_INCLUDEDIR+=$(INC) $(PROCINC) $(UNIXINC) $(BSDINC) $(BSDPROCINC) $(OSPROCINC) endif ifeq ($(FULL_TARGET),m68k-atari) override COMPILER_INCLUDEDIR+=$(INC) $(PROCINC) $(UNIXINC) $(BSDINC) $(BSDPROCINC) $(OSPROCINC) endif ifeq ($(FULL_TARGET),m68k-openbsd) override COMPILER_INCLUDEDIR+=$(INC) $(PROCINC) $(UNIXINC) $(BSDINC) $(BSDPROCINC) $(OSPROCINC) endif ifeq ($(FULL_TARGET),m68k-palmos) override COMPILER_INCLUDEDIR+=$(INC) $(PROCINC) $(UNIXINC) $(BSDINC) $(BSDPROCINC) $(OSPROCINC) endif ifeq ($(FULL_TARGET),powerpc-linux) override COMPILER_INCLUDEDIR+=$(INC) $(PROCINC) $(UNIXINC) $(BSDINC) $(BSDPROCINC) $(OSPROCINC) endif ifeq ($(FULL_TARGET),powerpc-netbsd) override COMPILER_INCLUDEDIR+=$(INC) $(PROCINC) $(UNIXINC) $(BSDINC) $(BSDPROCINC) $(OSPROCINC) endif ifeq ($(FULL_TARGET),powerpc-macos) override COMPILER_INCLUDEDIR+=$(INC) $(PROCINC) $(UNIXINC) $(BSDINC) $(BSDPROCINC) $(OSPROCINC) endif ifeq ($(FULL_TARGET),powerpc-darwin) override COMPILER_INCLUDEDIR+=$(INC) $(PROCINC) $(UNIXINC) $(BSDINC) $(BSDPROCINC) $(OSPROCINC) endif ifeq ($(FULL_TARGET),powerpc-morphos) override COMPILER_INCLUDEDIR+=$(INC) $(PROCINC) $(UNIXINC) $(BSDINC) $(BSDPROCINC) $(OSPROCINC) endif ifeq ($(FULL_TARGET),sparc-linux) override COMPILER_INCLUDEDIR+=$(INC) $(PROCINC) $(UNIXINC) $(BSDINC) $(BSDPROCINC) $(OSPROCINC) endif ifeq ($(FULL_TARGET),sparc-netbsd) override COMPILER_INCLUDEDIR+=$(INC) $(PROCINC) $(UNIXINC) $(BSDINC) $(BSDPROCINC) $(OSPROCINC) endif ifeq ($(FULL_TARGET),sparc-solaris) override COMPILER_INCLUDEDIR+=$(INC) $(PROCINC) $(UNIXINC) $(BSDINC) $(BSDPROCINC) $(OSPROCINC) endif ifeq ($(FULL_TARGET),x86_64-linux) override COMPILER_INCLUDEDIR+=$(INC) $(PROCINC) $(UNIXINC) $(BSDINC) $(BSDPROCINC) $(OSPROCINC) endif ifeq ($(FULL_TARGET),x86_64-freebsd) override COMPILER_INCLUDEDIR+=$(INC) $(PROCINC) $(UNIXINC) $(BSDINC) $(BSDPROCINC) $(OSPROCINC) endif ifeq ($(FULL_TARGET),arm-linux) override COMPILER_INCLUDEDIR+=$(INC) $(PROCINC) $(UNIXINC) $(BSDINC) $(BSDPROCINC) $(OSPROCINC) endif ifeq ($(FULL_TARGET),i386-linux) override COMPILER_SOURCEDIR+=$(INC) $(PROCINC) $(UNIXINC) $(BSDINC) endif ifeq ($(FULL_TARGET),i386-go32v2) override COMPILER_SOURCEDIR+=$(INC) $(PROCINC) $(UNIXINC) $(BSDINC) endif ifeq ($(FULL_TARGET),i386-win32) override COMPILER_SOURCEDIR+=$(INC) $(PROCINC) $(UNIXINC) $(BSDINC) endif ifeq ($(FULL_TARGET),i386-os2) override COMPILER_SOURCEDIR+=$(INC) $(PROCINC) $(UNIXINC) $(BSDINC) endif ifeq ($(FULL_TARGET),i386-freebsd) override COMPILER_SOURCEDIR+=$(INC) $(PROCINC) $(UNIXINC) $(BSDINC) endif ifeq ($(FULL_TARGET),i386-beos) override COMPILER_SOURCEDIR+=$(INC) $(PROCINC) $(UNIXINC) $(BSDINC) endif ifeq ($(FULL_TARGET),i386-netbsd) override COMPILER_SOURCEDIR+=$(INC) $(PROCINC) $(UNIXINC) $(BSDINC) endif ifeq ($(FULL_TARGET),i386-solaris) override COMPILER_SOURCEDIR+=$(INC) $(PROCINC) $(UNIXINC) $(BSDINC) endif ifeq ($(FULL_TARGET),i386-qnx) override COMPILER_SOURCEDIR+=$(INC) $(PROCINC) $(UNIXINC) $(BSDINC) endif ifeq ($(FULL_TARGET),i386-netware) override COMPILER_SOURCEDIR+=$(INC) $(PROCINC) $(UNIXINC) $(BSDINC) endif ifeq ($(FULL_TARGET),i386-openbsd) override COMPILER_SOURCEDIR+=$(INC) $(PROCINC) $(UNIXINC) $(BSDINC) endif ifeq ($(FULL_TARGET),i386-wdosx) override COMPILER_SOURCEDIR+=$(INC) $(PROCINC) $(UNIXINC) $(BSDINC) endif ifeq ($(FULL_TARGET),i386-emx) override COMPILER_SOURCEDIR+=$(INC) $(PROCINC) $(UNIXINC) $(BSDINC) endif ifeq ($(FULL_TARGET),i386-watcom) override COMPILER_SOURCEDIR+=$(INC) $(PROCINC) $(UNIXINC) $(BSDINC) endif ifeq ($(FULL_TARGET),i386-netwlibc) override COMPILER_SOURCEDIR+=$(INC) $(PROCINC) $(UNIXINC) $(BSDINC) endif ifeq ($(FULL_TARGET),m68k-linux) override COMPILER_SOURCEDIR+=$(INC) $(PROCINC) $(UNIXINC) $(BSDINC) endif ifeq ($(FULL_TARGET),m68k-freebsd) override COMPILER_SOURCEDIR+=$(INC) $(PROCINC) $(UNIXINC) $(BSDINC) endif ifeq ($(FULL_TARGET),m68k-netbsd) override COMPILER_SOURCEDIR+=$(INC) $(PROCINC) $(UNIXINC) $(BSDINC) endif ifeq ($(FULL_TARGET),m68k-amiga) override COMPILER_SOURCEDIR+=$(INC) $(PROCINC) $(UNIXINC) $(BSDINC) endif ifeq ($(FULL_TARGET),m68k-atari) override COMPILER_SOURCEDIR+=$(INC) $(PROCINC) $(UNIXINC) $(BSDINC) endif ifeq ($(FULL_TARGET),m68k-openbsd) override COMPILER_SOURCEDIR+=$(INC) $(PROCINC) $(UNIXINC) $(BSDINC) endif ifeq ($(FULL_TARGET),m68k-palmos) override COMPILER_SOURCEDIR+=$(INC) $(PROCINC) $(UNIXINC) $(BSDINC) endif ifeq ($(FULL_TARGET),powerpc-linux) override COMPILER_SOURCEDIR+=$(INC) $(PROCINC) $(UNIXINC) $(BSDINC) endif ifeq ($(FULL_TARGET),powerpc-netbsd) override COMPILER_SOURCEDIR+=$(INC) $(PROCINC) $(UNIXINC) $(BSDINC) endif ifeq ($(FULL_TARGET),powerpc-macos) override COMPILER_SOURCEDIR+=$(INC) $(PROCINC) $(UNIXINC) $(BSDINC) endif ifeq ($(FULL_TARGET),powerpc-darwin) override COMPILER_SOURCEDIR+=$(INC) $(PROCINC) $(UNIXINC) $(BSDINC) endif ifeq ($(FULL_TARGET),powerpc-morphos) override COMPILER_SOURCEDIR+=$(INC) $(PROCINC) $(UNIXINC) $(BSDINC) endif ifeq ($(FULL_TARGET),sparc-linux) override COMPILER_SOURCEDIR+=$(INC) $(PROCINC) $(UNIXINC) $(BSDINC) endif ifeq ($(FULL_TARGET),sparc-netbsd) override COMPILER_SOURCEDIR+=$(INC) $(PROCINC) $(UNIXINC) $(BSDINC) endif ifeq ($(FULL_TARGET),sparc-solaris) override COMPILER_SOURCEDIR+=$(INC) $(PROCINC) $(UNIXINC) $(BSDINC) endif ifeq ($(FULL_TARGET),x86_64-linux) override COMPILER_SOURCEDIR+=$(INC) $(PROCINC) $(UNIXINC) $(BSDINC) endif ifeq ($(FULL_TARGET),x86_64-freebsd) override COMPILER_SOURCEDIR+=$(INC) $(PROCINC) $(UNIXINC) $(BSDINC) endif ifeq ($(FULL_TARGET),arm-linux) override COMPILER_SOURCEDIR+=$(INC) $(PROCINC) $(UNIXINC) $(BSDINC) endif ifdef REQUIRE_UNITSDIR override UNITSDIR+=$(REQUIRE_UNITSDIR) endif ifdef REQUIRE_PACKAGESDIR override PACKAGESDIR+=$(REQUIRE_PACKAGESDIR) endif ifdef ZIPINSTALL ifneq ($(findstring $(OS_TARGET),$(UNIXs)),) UNIXHier=1 endif else ifneq ($(findstring $(OS_SOURCE),$(UNIXs)),) UNIXHier=1 endif endif ifndef INSTALL_PREFIX ifdef PREFIX INSTALL_PREFIX=$(PREFIX) endif endif ifndef INSTALL_PREFIX ifdef UNIXHier INSTALL_PREFIX=/usr/local else ifdef INSTALL_FPCPACKAGE INSTALL_BASEDIR:=/pp else INSTALL_BASEDIR:=/$(PACKAGE_NAME) endif endif endif export INSTALL_PREFIX ifdef INSTALL_FPCSUBDIR export INSTALL_FPCSUBDIR endif ifndef DIST_DESTDIR DIST_DESTDIR:=$(BASEDIR) endif export DIST_DESTDIR ifndef COMPILER_UNITTARGETDIR ifdef PACKAGEDIR_MAIN COMPILER_UNITTARGETDIR=$(PACKAGEDIR_MAIN)/units/$(TARGETSUFFIX) else COMPILER_UNITTARGETDIR=units/$(TARGETSUFFIX) endif endif ifndef COMPILER_TARGETDIR COMPILER_TARGETDIR=. endif ifndef INSTALL_BASEDIR ifdef UNIXHier 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 UNIXHier INSTALL_BINDIR:=$(INSTALL_PREFIX)/bin else INSTALL_BINDIR:=$(INSTALL_BASEDIR)/bin ifdef INSTALL_FPCPACKAGE ifdef CROSSCOMPILE ifdef CROSSINSTALL INSTALL_BINDIR:=$(INSTALL_BINDIR)/$(SOURCESUFFIX) else INSTALL_BINDIR:=$(INSTALL_BINDIR)/$(TARGETSUFFIX) endif else INSTALL_BINDIR:=$(INSTALL_BINDIR)/$(TARGETSUFFIX) endif endif endif endif ifndef INSTALL_UNITDIR INSTALL_UNITDIR:=$(INSTALL_BASEDIR)/units/$(TARGETSUFFIX) ifdef INSTALL_FPCPACKAGE ifdef PACKAGE_NAME INSTALL_UNITDIR:=$(INSTALL_UNITDIR)/$(PACKAGE_NAME) endif endif endif ifndef INSTALL_LIBDIR ifdef UNIXHier INSTALL_LIBDIR:=$(INSTALL_PREFIX)/lib else INSTALL_LIBDIR:=$(INSTALL_UNITDIR) endif endif ifndef INSTALL_SOURCEDIR 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) else INSTALL_SOURCEDIR:=$(INSTALL_PREFIX)/$(SRCPREFIXDIR)/fpc-$(FPC_VERSION)/$(PACKAGE_NAME) endif else INSTALL_SOURCEDIR:=$(INSTALL_PREFIX)/$(SRCPREFIXDIR)/$(PACKAGE_NAME)-$(PACKAGE_VERSION) endif else ifdef INSTALL_FPCPACKAGE ifdef INSTALL_FPCSUBDIR INSTALL_SOURCEDIR:=$(INSTALL_BASEDIR)/source/$(INSTALL_FPCSUBDIR)/$(PACKAGE_NAME) else INSTALL_SOURCEDIR:=$(INSTALL_BASEDIR)/source/$(PACKAGE_NAME) endif else INSTALL_SOURCEDIR:=$(INSTALL_BASEDIR)/source endif endif endif ifndef INSTALL_DOCDIR 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 INSTALL_DOCDIR:=$(INSTALL_PREFIX)/$(DOCPREFIXDIR)/$(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 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 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) 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/$(SOURCESUFFIX)) ifeq ($(CROSSBINDIR),) CROSSBINDIR:=$(wildcard $(INSTALL_BASEDIR)/cross/$(TARGETSUFFIX)/bin/$(FULL_SOURCE)) endif endif else CROSSBINDIR= endif BATCHEXT=.bat LOADEREXT=.as EXEEXT=.exe PPLEXT=.ppl PPUEXT=.ppu OEXT=.o ASMEXT=.s SMARTEXT=.sl STATICLIBEXT=.a SHAREDLIBEXT=.so STATICLIBPREFIX=libp RSTEXT=.rst ifeq ($(findstring 1.0.,$(FPC_VERSION)),) ifeq ($(OS_TARGET),go32v1) STATICLIBPREFIX= SHORTSUFFIX=v1 endif ifeq ($(OS_TARGET),go32v2) STATICLIBPREFIX= SHORTSUFFIX=dos endif ifeq ($(OS_TARGET),watcom) STATICLIBPREFIX= OEXT=.obj ASMEXT=.asm SHAREDLIBEXT=.dll SHORTSUFFIX=wat endif ifeq ($(OS_TARGET),linux) BATCHEXT=.sh EXEEXT= HASSHAREDLIB=1 SHORTSUFFIX=lnx endif ifeq ($(OS_TARGET),freebsd) BATCHEXT=.sh EXEEXT= HASSHAREDLIB=1 SHORTSUFFIX=fbs endif ifeq ($(OS_TARGET),netbsd) BATCHEXT=.sh EXEEXT= HASSHAREDLIB=1 SHORTSUFFIX=nbs endif ifeq ($(OS_TARGET),openbsd) BATCHEXT=.sh EXEEXT= HASSHAREDLIB=1 SHORTSUFFIX=obs endif ifeq ($(OS_TARGET),win32) SHAREDLIBEXT=.dll SHORTSUFFIX=w32 endif ifeq ($(OS_TARGET),os2) BATCHEXT=.cmd AOUTEXT=.out STATICLIBPREFIX= SHAREDLIBEXT=.dll SHORTSUFFIX=os2 ECHO=echo endif ifeq ($(OS_TARGET),emx) BATCHEXT=.cmd AOUTEXT=.out STATICLIBPREFIX= SHAREDLIBEXT=.dll SHORTSUFFIX=emx ECHO=echo endif ifeq ($(OS_TARGET),amiga) EXEEXT= SHAREDLIBEXT=.library SHORTSUFFIX=amg endif ifeq ($(OS_TARGET),morphos) EXEEXT= SHAREDLIBEXT=.library SHORTSUFFIX=mos endif ifeq ($(OS_TARGET),atari) EXEEXT=.ttp SHORTSUFFIX=ata endif ifeq ($(OS_TARGET),beos) BATCHEXT=.sh EXEEXT= SHORTSUFFIX=be endif ifeq ($(OS_TARGET),solaris) BATCHEXT=.sh EXEEXT= SHORTSUFFIX=sun endif ifeq ($(OS_TARGET),qnx) BATCHEXT=.sh EXEEXT= SHORTSUFFIX=qnx endif ifeq ($(OS_TARGET),netware) EXEEXT=.nlm STATICLIBPREFIX= SHORTSUFFIX=nw endif ifeq ($(OS_TARGET),netwlibc) EXEEXT=.nlm STATICLIBPREFIX= SHORTSUFFIX=nwl endif ifeq ($(OS_TARGET),macos) BATCHEXT= EXEEXT= DEBUGSYMEXT=.xcoff SHORTSUFFIX=mac endif ifeq ($(OS_TARGET),darwin) BATCHEXT=.sh EXEEXT= HASSHAREDLIB=1 SHORTSUFFIX=dwn endif else ifeq ($(OS_TARGET),go32v1) PPUEXT=.pp1 OEXT=.o1 ASMEXT=.s1 SMARTEXT=.sl1 STATICLIBEXT=.a1 SHAREDLIBEXT=.so1 STATICLIBPREFIX= SHORTSUFFIX=v1 endif ifeq ($(OS_TARGET),go32v2) STATICLIBPREFIX= SHORTSUFFIX=dos endif ifeq ($(OS_TARGET),watcom) STATICLIBPREFIX= SHORTSUFFIX=wat endif ifeq ($(OS_TARGET),linux) BATCHEXT=.sh EXEEXT= HASSHAREDLIB=1 SHORTSUFFIX=lnx endif ifeq ($(OS_TARGET),freebsd) BATCHEXT=.sh EXEEXT= HASSHAREDLIB=1 SHORTSUFFIX=fbs endif ifeq ($(OS_TARGET),netbsd) BATCHEXT=.sh EXEEXT= HASSHAREDLIB=1 SHORTSUFFIX=nbs endif ifeq ($(OS_TARGET),openbsd) BATCHEXT=.sh EXEEXT= HASSHAREDLIB=1 SHORTSUFFIX=obs endif ifeq ($(OS_TARGET),win32) PPUEXT=.ppw OEXT=.ow ASMEXT=.sw SMARTEXT=.slw STATICLIBEXT=.aw SHAREDLIBEXT=.dll SHORTSUFFIX=w32 endif ifeq ($(OS_TARGET),os2) BATCHEXT=.cmd PPUEXT=.ppo ASMEXT=.so2 OEXT=.oo2 AOUTEXT=.out SMARTEXT=.sl2 STATICLIBPREFIX= STATICLIBEXT=.ao2 SHAREDLIBEXT=.dll SHORTSUFFIX=os2 ECHO=echo endif ifeq ($(OS_TARGET),amiga) EXEEXT= PPUEXT=.ppu ASMEXT=.asm OEXT=.o SMARTEXT=.sl STATICLIBEXT=.a SHAREDLIBEXT=.library SHORTSUFFIX=amg endif ifeq ($(OS_TARGET),atari) PPUEXT=.ppu ASMEXT=.s OEXT=.o SMARTEXT=.sl STATICLIBEXT=.a EXEEXT=.ttp SHORTSUFFIX=ata endif ifeq ($(OS_TARGET),beos) BATCHEXT=.sh PPUEXT=.ppu ASMEXT=.s OEXT=.o SMARTEXT=.sl STATICLIBEXT=.a EXEEXT= SHORTSUFFIX=be endif ifeq ($(OS_TARGET),solaris) BATCHEXT=.sh PPUEXT=.ppu ASMEXT=.s OEXT=.o SMARTEXT=.sl STATICLIBEXT=.a EXEEXT= SHORTSUFFIX=sun endif ifeq ($(OS_TARGET),qnx) BATCHEXT=.sh PPUEXT=.ppu ASMEXT=.s OEXT=.o SMARTEXT=.sl STATICLIBEXT=.a EXEEXT= SHORTSUFFIX=qnx endif ifeq ($(OS_TARGET),netware) STATICLIBPREFIX= PPUEXT=.ppu OEXT=.o ASMEXT=.s SMARTEXT=.sl STATICLIBEXT=.a SHAREDLIBEXT=.nlm EXEEXT=.nlm SHORTSUFFIX=nw endif ifeq ($(OS_TARGET),netwlibc) STATICLIBPREFIX= PPUEXT=.ppu OEXT=.o ASMEXT=.s SMARTEXT=.sl STATICLIBEXT=.a SHAREDLIBEXT=.nlm EXEEXT=.nlm SHORTSUFFIX=nwl endif ifeq ($(OS_TARGET),macos) BATCHEXT= PPUEXT=.ppu ASMEXT=.s OEXT=.o SMARTEXT=.sl STATICLIBEXT=.a EXEEXT= DEBUGSYMEXT=.xcoff SHORTSUFFIX=mac endif endif ifneq ($(findstring $(OS_SOURCE),$(LIMIT83fs)),) FPCMADE=fpcmade.$(SHORTSUFFIX) ZIPSUFFIX=$(SHORTSUFFIX) ZIPCROSSPREFIX= ZIPSOURCESUFFIX=src ZIPEXAMPLESUFFIX=exm else FPCMADE=fpcmade.$(TARGETSUFFIX) ZIPSOURCESUFFIX=.source ZIPEXAMPLESUFFIX=.examples ifdef CROSSCOMPILE ZIPSUFFIX=.$(SOURCESUFFIX) ZIPCROSSPREFIX=$(TARGETSUFFIX)- else ZIPSUFFIX=.$(TARGETSUFFIX) ZIPCROSSPREFIX= endif endif ifndef ECHO ECHO:=$(strip $(wildcard $(addsuffix /gecho$(SRCEXEEXT),$(SEARCHPATH)))) ifeq ($(ECHO),) ECHO:=$(strip $(wildcard $(addsuffix /echo$(SRCEXEEXT),$(SEARCHPATH)))) ifeq ($(ECHO),) ECHO= __missing_command_ECHO else ECHO:=$(firstword $(ECHO)) endif else ECHO:=$(firstword $(ECHO)) endif endif export ECHO ifndef DATE DATE:=$(strip $(wildcard $(addsuffix /gdate$(SRCEXEEXT),$(SEARCHPATH)))) ifeq ($(DATE),) DATE:=$(strip $(wildcard $(addsuffix /date$(SRCEXEEXT),$(SEARCHPATH)))) ifeq ($(DATE),) DATE= __missing_command_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= __missing_command_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= __missing_command_CPPROG else CPPROG:=$(firstword $(CPPROG)) endif endif export CPPROG ifndef RMPROG RMPROG:=$(strip $(wildcard $(addsuffix /rm$(SRCEXEEXT),$(SEARCHPATH)))) ifeq ($(RMPROG),) RMPROG= __missing_command_RMPROG else RMPROG:=$(firstword $(RMPROG)) endif endif export RMPROG ifndef MVPROG MVPROG:=$(strip $(wildcard $(addsuffix /mv$(SRCEXEEXT),$(SEARCHPATH)))) ifeq ($(MVPROG),) MVPROG= __missing_command_MVPROG else MVPROG:=$(firstword $(MVPROG)) endif endif export MVPROG ifndef MKDIRPROG MKDIRPROG:=$(strip $(wildcard $(addsuffix /gmkdir$(SRCEXEEXT),$(SEARCHPATH)))) ifeq ($(MKDIRPROG),) MKDIRPROG:=$(strip $(wildcard $(addsuffix /mkdir$(SRCEXEEXT),$(SEARCHPATH)))) ifeq ($(MKDIRPROG),) MKDIRPROG= __missing_command_MKDIRPROG else MKDIRPROG:=$(firstword $(MKDIRPROG)) endif else MKDIRPROG:=$(firstword $(MKDIRPROG)) endif endif export MKDIRPROG ifndef ECHOREDIR ifndef inUnix ECHOREDIR=echo else ECHOREDIR=$(ECHO) endif endif ifndef COPY COPY:=$(CPPROG) -fp endif ifndef COPYTREE COPYTREE:=$(CPPROG) -Rfp endif ifndef MKDIRTREE MKDIRTREE:=$(MKDIRPROG) -p endif ifndef MOVE MOVE:=$(MVPROG) -f endif ifndef DEL DEL:=$(RMPROG) -f endif ifndef DELTREE DELTREE:=$(RMPROG) -rf endif ifndef INSTALL ifdef inUnix INSTALL:=$(GINSTALL) -c -m 644 else INSTALL:=$(COPY) endif endif ifndef INSTALLEXE ifdef inUnix INSTALLEXE:=$(GINSTALL) -c -m 755 else INSTALLEXE:=$(COPY) endif endif ifndef MKDIR MKDIR:=$(GINSTALL) -m 755 -d endif export ECHOREDIR COPY COPYTREE MOVE DEL DELTREE INSTALL INSTALLEXE MKDIR ifndef PPUMOVE PPUMOVE:=$(strip $(wildcard $(addsuffix /ppumove$(SRCEXEEXT),$(SEARCHPATH)))) ifeq ($(PPUMOVE),) PPUMOVE= __missing_command_PPUMOVE else PPUMOVE:=$(firstword $(PPUMOVE)) endif endif export PPUMOVE ifndef FPCMAKE FPCMAKE:=$(strip $(wildcard $(addsuffix /fpcmake$(SRCEXEEXT),$(SEARCHPATH)))) ifeq ($(FPCMAKE),) FPCMAKE= __missing_command_FPCMAKE else FPCMAKE:=$(firstword $(FPCMAKE)) endif endif export FPCMAKE ifndef ZIPPROG ZIPPROG:=$(strip $(wildcard $(addsuffix /zip$(SRCEXEEXT),$(SEARCHPATH)))) ifeq ($(ZIPPROG),) ZIPPROG= __missing_command_ZIPPROG else ZIPPROG:=$(firstword $(ZIPPROG)) endif endif export ZIPPROG ifndef TARPROG TARPROG:=$(strip $(wildcard $(addsuffix /tar$(SRCEXEEXT),$(SEARCHPATH)))) ifeq ($(TARPROG),) TARPROG= __missing_command_TARPROG else TARPROG:=$(firstword $(TARPROG)) endif endif export TARPROG ASNAME=$(BINUTILSPREFIX)as LDNAME=$(BINUTILSPREFIX)ld ARNAME=$(BINUTILSPREFIX)ar RCNAME=$(BINUTILSPREFIX)rc ifneq ($(findstring 1.0.,$(FPC_VERSION)),) ifeq ($(OS_TARGET),win32) ifeq ($(CROSSBINDIR),) ASNAME=asw LDNAME=ldw ARNAME=arw endif endif 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$(SRCBATCHEXT) ifdef inUnix LDCONFIG=ldconfig else LDCONFIG= endif ifdef DATE DATESTR:=$(shell $(DATE) +%Y%m%d) else DATESTR= endif ifndef UPXPROG ifeq ($(OS_TARGET),go32v2) UPXPROG:=1 endif ifeq ($(OS_TARGET),win32) UPXPROG:=1 endif ifdef UPXPROG UPXPROG:=$(strip $(wildcard $(addsuffix /upx$(SRCEXEEXT),$(SEARCHPATH)))) ifeq ($(UPXPROG),) UPXPROG= else UPXPROG:=$(firstword $(UPXPROG)) endif else UPXPROG= endif endif export UPXPROG ZIPOPT=-9 ZIPEXT=.zip ifeq ($(USETAR),bz2) TAROPT=vj TAREXT=.tar.bz2 else TAROPT=vz TAREXT=.tar.gz endif ifndef NOCPUDEF override FPCOPTDEF=$(CPU_TARGET) endif ifneq ($(OS_TARGET),$(OS_SOURCE)) override FPCOPT+=-T$(OS_TARGET) endif ifeq ($(OS_SOURCE),openbsd) override FPCOPT+=-FD$(NEW_BINUTILS_PATH) endif ifndef CROSSBOOTSTRAP ifneq ($(BINUTILSPREFIX),) override FPCOPT+=-XP$(BINUTILSPREFIX) -Xc endif ifneq ($(BINUTILSPREFIX),) override FPCOPT+=-Xr$(RLINKPATH) endif endif ifdef UNITDIR override FPCOPT+=$(addprefix -Fu,$(UNITDIR)) endif ifdef LIBDIR override FPCOPT+=$(addprefix -Fl,$(LIBDIR)) endif ifdef OBJDIR override FPCOPT+=$(addprefix -Fo,$(OBJDIR)) endif ifdef INCDIR override FPCOPT+=$(addprefix -Fi,$(INCDIR)) endif ifdef LINKSMART override FPCOPT+=-XX endif ifdef CREATESMART override FPCOPT+=-CX endif ifdef DEBUG override FPCOPT+=-gl override FPCOPTDEF+=DEBUG endif ifdef RELEASE ifeq ($(CPU_TARGET),i386) FPCCPUOPT:=-OG2p3 else ifeq ($(CPU_TARGET),powerpc) FPCCPUOPT:=-O1 else FPCCPUOPT:= endif endif override FPCOPT+=-Xs $(FPCCPUOPT) -n override FPCOPTDEF+=RELEASE endif ifdef STRIP override FPCOPT+=-Xs endif ifdef OPTIMIZE ifeq ($(CPU_TARGET),i386) override FPCOPT+=-OG2p3 endif endif ifdef VERBOSE override FPCOPT+=-vwni endif ifdef COMPILER_OPTIONS override FPCOPT+=$(COMPILER_OPTIONS) endif ifdef COMPILER_UNITDIR override FPCOPT+=$(addprefix -Fu,$(COMPILER_UNITDIR)) endif ifdef COMPILER_LIBRARYDIR override FPCOPT+=$(addprefix -Fl,$(COMPILER_LIBRARYDIR)) endif ifdef COMPILER_OBJECTDIR override FPCOPT+=$(addprefix -Fo,$(COMPILER_OBJECTDIR)) endif ifdef COMPILER_INCLUDEDIR override FPCOPT+=$(addprefix -Fi,$(COMPILER_INCLUDEDIR)) endif ifdef CROSSBINDIR override FPCOPT+=-FD$(CROSSBINDIR) endif ifdef COMPILER_TARGETDIR override FPCOPT+=-FE$(COMPILER_TARGETDIR) ifeq ($(COMPILER_TARGETDIR),.) override TARGETDIRPREFIX= else override TARGETDIRPREFIX=$(COMPILER_TARGETDIR)/ endif endif ifdef COMPILER_UNITTARGETDIR override FPCOPT+=-FU$(COMPILER_UNITTARGETDIR) ifeq ($(COMPILER_UNITTARGETDIR),.) override UNITTARGETDIRPREFIX= else override UNITTARGETDIRPREFIX=$(COMPILER_UNITTARGETDIR)/ endif else ifdef COMPILER_TARGETDIR override COMPILER_UNITTARGETDIR=$(COMPILER_TARGETDIR) override UNITTARGETDIRPREFIX=$(TARGETDIRPREFIX) endif endif ifeq ($(OS_TARGET),linux) ifeq ($(FPC_VERSION),1.0.6) override FPCOPTDEF+=HASUNIX endif endif ifdef OPT override FPCOPT+=$(OPT) endif ifdef FPCOPTDEF override FPCOPT+=$(addprefix -d,$(FPCOPTDEF)) endif ifdef CFGFILE override FPCOPT+=@$(CFGFILE) endif ifdef USEENV override FPCEXTCMD:=$(FPCOPT) override FPCOPT:=!FPCEXTCMD export FPCEXTCMD endif override COMPILER:=$(FPC) $(FPCOPT) ifeq (,$(findstring -s ,$(COMPILER))) EXECPPAS= else ifeq ($(FULL_SOURCE),$(FULL_TARGET)) EXECPPAS:=@$(PPAS) endif endif .PHONY: fpc_units ifneq ($(TARGET_UNITS),) override ALLTARGET+=fpc_units override UNITPPUFILES=$(addsuffix $(PPUEXT),$(TARGET_UNITS)) override IMPLICITUNITPPUFILES=$(addsuffix $(PPUEXT),$(TARGET_IMPLICITUNITS)) override INSTALLPPUFILES+=$(UNITPPUFILES) $(IMPLICITUNITPPUFILES) override CLEANPPUFILES+=$(UNITPPUFILES) $(IMPLICITUNITPPUFILES) endif fpc_units: $(COMPILER_UNITTARGETDIR) $(UNITPPUFILES) ifdef TARGET_RSTS override RSTFILES=$(addsuffix $(RSTEXT),$(TARGET_RSTS)) override CLEANRSTFILES+=$(RSTFILES) endif .PHONY: fpc_all fpc_smart fpc_debug fpc_release $(FPCMADE): $(ALLDEPENDENCIES) $(ALLTARGET) @$(ECHOREDIR) Compiled > $(FPCMADE) fpc_all: $(FPCMADE) fpc_smart: $(MAKE) all LINKSMART=1 CREATESMART=1 fpc_debug: $(MAKE) all DEBUG=1 fpc_release: $(MAKE) all RELEASE=1 .SUFFIXES: $(EXEEXT) $(PPUEXT) $(OEXT) .pas .lpr .dpr .pp .rc .res $(COMPILER_UNITTARGETDIR): $(MKDIRTREE) $(COMPILER_UNITTARGETDIR) $(COMPILER_TARGETDIR): $(MKDIRTREE) $(COMPILER_TARGETDIR) %$(PPUEXT): %.pp $(COMPILER) $< $(EXECPPAS) %$(PPUEXT): %.pas $(COMPILER) $< $(EXECPPAS) %$(EXEEXT): %.pp $(COMPILER) $< $(EXECPPAS) %$(EXEEXT): %.pas $(COMPILER) $< $(EXECPPAS) %$(EXEEXT): %.lpr $(COMPILER) $< $(EXECPPAS) %$(EXEEXT): %.dpr $(COMPILER) $< $(EXECPPAS) %.res: %.rc windres -i $< -o $@ vpath %.pp $(COMPILER_SOURCEDIR) $(COMPILER_INCLUDEDIR) vpath %.pas $(COMPILER_SOURCEDIR) $(COMPILER_INCLUDEDIR) vpath %.lpr $(COMPILER_SOURCEDIR) $(COMPILER_INCLUDEDIR) vpath %.dpr $(COMPILER_SOURCEDIR) $(COMPILER_INCLUDEDIR) vpath %$(OEXT) $(COMPILER_UNITTARGETDIR) vpath %$(PPUEXT) $(COMPILER_UNITTARGETDIR) .PHONY: fpc_install fpc_sourceinstall fpc_exampleinstall ifdef INSTALL_UNITS override INSTALLPPUFILES+=$(addsuffix $(PPUEXT),$(INSTALL_UNITS)) endif ifdef INSTALL_BUILDUNIT override INSTALLPPUFILES:=$(filter-out $(INSTALL_BUILDUNIT)$(PPUEXT),$(INSTALLPPUFILES)) endif ifdef INSTALLPPUFILES override INSTALLPPULINKFILES:=$(subst $(PPUEXT),$(OEXT),$(INSTALLPPUFILES)) $(addprefix $(STATICLIBPREFIX),$(subst $(PPUEXT),$(STATICLIBEXT),$(INSTALLPPUFILES))) ifneq ($(UNITTARGETDIRPREFIX),) override INSTALLPPUFILES:=$(addprefix $(UNITTARGETDIRPREFIX),$(notdir $(INSTALLPPUFILES))) override INSTALLPPULINKFILES:=$(wildcard $(addprefix $(UNITTARGETDIRPREFIX),$(notdir $(INSTALLPPULINKFILES)))) endif override INSTALL_CREATEPACKAGEFPC=1 endif ifdef INSTALLEXEFILES ifneq ($(TARGETDIRPREFIX),) override INSTALLEXEFILES:=$(addprefix $(TARGETDIRPREFIX),$(notdir $(INSTALLEXEFILES))) endif endif fpc_install: all $(INSTALLTARGET) ifdef INSTALLEXEFILES $(MKDIR) $(INSTALL_BINDIR) ifdef UPXPROG -$(UPXPROG) $(INSTALLEXEFILES) endif $(INSTALLEXE) $(INSTALLEXEFILES) $(INSTALL_BINDIR) endif ifdef INSTALL_CREATEPACKAGEFPC ifdef FPCMAKE ifdef PACKAGE_VERSION ifneq ($(wildcard Makefile.fpc),) $(FPCMAKE) -p -T$(CPU_TARGET)-$(OS_TARGET) Makefile.fpc $(MKDIR) $(INSTALL_UNITDIR) $(INSTALL) Package.fpc $(INSTALL_UNITDIR) endif endif endif endif ifdef INSTALLPPUFILES $(MKDIR) $(INSTALL_UNITDIR) $(INSTALL) $(INSTALLPPUFILES) $(INSTALL_UNITDIR) ifneq ($(INSTALLPPULINKFILES),) $(INSTALL) $(INSTALLPPULINKFILES) $(INSTALL_UNITDIR) endif ifneq ($(wildcard $(LIB_FULLNAME)),) $(MKDIR) $(INSTALL_LIBDIR) $(INSTALL) $(LIB_FULLNAME) $(INSTALL_LIBDIR) ifdef inUnix ln -sf $(LIB_FULLNAME) $(INSTALL_LIBDIR)/$(LIB_NAME) endif endif endif ifdef INSTALL_FILES $(MKDIR) $(INSTALL_DATADIR) $(INSTALL) $(INSTALL_FILES) $(INSTALL_DATADIR) endif fpc_sourceinstall: distclean $(MKDIR) $(INSTALL_SOURCEDIR) $(COPYTREE) $(BASEDIR)/* $(INSTALL_SOURCEDIR) fpc_exampleinstall: $(addsuffix _distclean,$(TARGET_EXAMPLEDIRS)) ifdef HASEXAMPLES $(MKDIR) $(INSTALL_EXAMPLEDIR) endif ifdef EXAMPLESOURCEFILES $(COPY) $(EXAMPLESOURCEFILES) $(INSTALL_EXAMPLEDIR) endif ifdef TARGET_EXAMPLEDIRS $(COPYTREE) $(addsuffix /*,$(TARGET_EXAMPLEDIRS)) $(INSTALL_EXAMPLEDIR) endif .PHONY: fpc_clean fpc_cleanall fpc_distclean ifdef EXEFILES override CLEANEXEFILES:=$(addprefix $(TARGETDIRPREFIX),$(CLEANEXEFILES)) endif ifdef CLEAN_UNITS override CLEANPPUFILES+=$(addsuffix $(PPUEXT),$(CLEAN_UNITS)) endif ifdef CLEANPPUFILES override CLEANPPULINKFILES:=$(subst $(PPUEXT),$(OEXT),$(CLEANPPUFILES)) $(addprefix $(STATICLIBPREFIX),$(subst $(PPUEXT),$(STATICLIBEXT),$(CLEANPPUFILES))) ifdef DEBUGSYMEXT override CLEANPPULINKFILES+=$(subst $(PPUEXT),$(DEBUGSYMEXT),$(CLEANPPUFILES)) endif override CLEANPPUFILES:=$(addprefix $(UNITTARGETDIRPREFIX),$(CLEANPPUFILES)) override CLEANPPULINKFILES:=$(wildcard $(addprefix $(UNITTARGETDIRPREFIX),$(CLEANPPULINKFILES))) endif fpc_clean: $(CLEANTARGET) ifdef CLEANEXEFILES -$(DEL) $(CLEANEXEFILES) endif ifdef CLEANPPUFILES -$(DEL) $(CLEANPPUFILES) endif ifneq ($(CLEANPPULINKFILES),) -$(DEL) $(CLEANPPULINKFILES) endif ifdef CLEANRSTFILES -$(DEL) $(addprefix $(UNITTARGETDIRPREFIX),$(CLEANRSTFILES)) endif ifdef CLEAN_FILES -$(DEL) $(CLEAN_FILES) endif ifdef LIB_NAME -$(DEL) $(LIB_NAME) $(LIB_FULLNAME) endif -$(DEL) $(FPCMADE) Package.fpc $(PPAS) script.res link.res $(FPCEXTFILE) $(REDIRFILE) -$(DEL) *$(ASMEXT) *_ppas$(BATCHEXT) fpc_cleanall: $(CLEANTARGET) ifdef CLEANEXEFILES -$(DEL) $(CLEANEXEFILES) endif ifdef COMPILER_UNITTARGETDIR ifdef CLEANPPUFILES -$(DEL) $(CLEANPPUFILES) endif ifneq ($(CLEANPPULINKFILES),) -$(DEL) $(CLEANPPULINKFILES) endif ifdef CLEANRSTFILES -$(DEL) $(addprefix $(UNITTARGETDIRPREFIX),$(CLEANRSTFILES)) endif endif -$(DELTREE) units -$(DEL) *$(OEXT) *$(PPUEXT) *$(RSTEXT) *$(ASMEXT) *$(STATICLIBEXT) *$(SHAREDLIBEXT) *$(PPLEXT) ifneq ($(PPUEXT),.ppu) -$(DEL) *.o *.ppu *.a endif -$(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 fpc_distclean: cleanall .PHONY: fpc_baseinfo override INFORULES+=fpc_baseinfo fpc_baseinfo: @$(ECHO) @$(ECHO) == Package info == @$(ECHO) Package Name..... $(PACKAGE_NAME) @$(ECHO) Package Version.. $(PACKAGE_VERSION) @$(ECHO) @$(ECHO) == Configuration info == @$(ECHO) @$(ECHO) FPC.......... $(FPC) @$(ECHO) FPC Version.. $(FPC_VERSION) @$(ECHO) Source CPU... $(CPU_SOURCE) @$(ECHO) Target CPU... $(CPU_TARGET) @$(ECHO) Source OS.... $(OS_SOURCE) @$(ECHO) Target OS.... $(OS_TARGET) @$(ECHO) Full Source.. $(FULL_SOURCE) @$(ECHO) Full Target.. $(FULL_TARGET) @$(ECHO) SourceSuffix. $(SOURCESUFFIX) @$(ECHO) TargetSuffix. $(TARGETSUFFIX) @$(ECHO) @$(ECHO) == Directory info == @$(ECHO) @$(ECHO) Required pkgs... $(REQUIRE_PACKAGES) @$(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) Shell..... $(SHELL) @$(ECHO) Date...... $(DATE) @$(ECHO) FPCMake... $(FPCMAKE) @$(ECHO) PPUMove... $(PPUMOVE) @$(ECHO) Upx....... $(UPXPROG) @$(ECHO) Zip....... $(ZIPPROG) @$(ECHO) @$(ECHO) == Object info == @$(ECHO) @$(ECHO) Target Loaders........ $(TARGET_LOADERS) @$(ECHO) Target Units.......... $(TARGET_UNITS) @$(ECHO) Target Implicit Units. $(TARGET_IMPLICITUNITS) @$(ECHO) Target Programs....... $(TARGET_PROGRAMS) @$(ECHO) Target Dirs........... $(TARGET_DIRS) @$(ECHO) Target Examples....... $(TARGET_EXAMPLES) @$(ECHO) Target ExampleDirs.... $(TARGET_EXAMPLEDIRS) @$(ECHO) @$(ECHO) Clean Units......... $(CLEAN_UNITS) @$(ECHO) Clean Files......... $(CLEAN_FILES) @$(ECHO) @$(ECHO) Install Units....... $(INSTALL_UNITS) @$(ECHO) Install Files....... $(INSTALL_FILES) @$(ECHO) @$(ECHO) == Install info == @$(ECHO) @$(ECHO) DateStr.............. $(DATESTR) @$(ECHO) ZipName.............. $(ZIPNAME) @$(ECHO) ZipPrefix............ $(ZIPPREFIX) @$(ECHO) ZipCrossPrefix....... $(ZIPCROSSPREFIX) @$(ECHO) ZipSuffix............ $(ZIPSUFFIX) @$(ECHO) FullZipName.......... $(FULLZIPNAME) @$(ECHO) Install FPC Package.. $(INSTALL_FPCPACKAGE) @$(ECHO) @$(ECHO) Install base dir..... $(INSTALL_BASEDIR) @$(ECHO) Install binary dir... $(INSTALL_BINDIR) @$(ECHO) Install library dir.. $(INSTALL_LIBDIR) @$(ECHO) Install units dir.... $(INSTALL_UNITDIR) @$(ECHO) Install source dir... $(INSTALL_SOURCEDIR) @$(ECHO) Install doc dir...... $(INSTALL_DOCDIR) @$(ECHO) Install example dir.. $(INSTALL_EXAMPLEDIR) @$(ECHO) Install data dir..... $(INSTALL_DATADIR) @$(ECHO) @$(ECHO) Dist destination dir. $(DIST_DESTDIR) @$(ECHO) Dist zip name........ $(DIST_ZIPNAME) @$(ECHO) .PHONY: fpc_info fpc_info: $(INFORULES) .PHONY: fpc_makefile fpc_makefiles fpc_makefile_sub1 fpc_makefile_sub2 \ fpc_makefile_dirs fpc_makefile: $(FPCMAKE) -w -T$(OS_TARGET) Makefile.fpc fpc_makefile_sub1: ifdef TARGET_DIRS $(FPCMAKE) -w -T$(OS_TARGET) $(addsuffix /Makefile.fpc,$(TARGET_DIRS)) endif ifdef TARGET_EXAMPLEDIRS $(FPCMAKE) -w -T$(OS_TARGET) $(addsuffix /Makefile.fpc,$(TARGET_EXAMPLEDIRS)) 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 all: fpc_all debug: fpc_debug smart: fpc_smart release: fpc_release units: fpc_units examples: shared: install: fpc_install sourceinstall: fpc_sourceinstall exampleinstall: fpc_exampleinstall distinstall: zipinstall: zipsourceinstall: zipexampleinstall: zipdistinstall: clean: fpc_clean distclean: fpc_distclean cleanall: fpc_cleanall info: fpc_info makefiles: fpc_makefiles .PHONY: all debug smart release units examples shared install sourceinstall exampleinstall distinstall zipinstall zipsourceinstall zipexampleinstall zipdistinstall clean distclean cleanall info makefiles ifneq ($(wildcard fpcmake.loc),) include fpcmake.loc endif include $(INC)/makefile.inc SYSINCDEPS=$(addprefix $(INC)/,$(SYSINCNAMES)) include $(PROCINC)/makefile.cpu SYSCPUDEPS=$(addprefix $(PROCINC)/,$(CPUINCNAMES)) SYSDEPS=$(SYSINCDEPS) $(SYSCPUDEPS) $(SYSTEMUNIT)$(PPUEXT) : $(BSDINC)/$(SYSTEMUNIT).pp $(SYSDEPS) $(COMPILER) -Us -Sg $(BSDINC)/$(SYSTEMUNIT).pp objpas$(PPUEXT): $(SYSTEMUNIT)$(PPUEXT) $(OBJPASDIR)/objpas.pp $(INC)/except.inc $(SYSTEMUNIT)$(PPUEXT) $(COMPILER) -I$(OBJPASDIR) $(OBJPASDIR)/objpas.pp dateutils$(PPUEXT): $(SYSTEMUNIT)$(PPUEXT) objpas$(PPUEXT) sysutils$(PPUEXT) math$(PPUEXT) types$(PPUEXT) sysconst$(PPUEXT) $(OBJPASDIR)/dateutils.pp baseunix$(PPUEXT) $(SYSTEMUNIT)$(PPUEXT) $(COMPILER) -I$(OBJPASDIR) $(OBJPASDIR)/dateutils.pp strings$(PPUEXT) : $(SYSTEMUNIT)$(PPUEXT) $(INC)/strings.pp $(INC)/stringsi.inc\ $(PROCINC)/strings.inc $(PROCINC)/stringss.inc\ $(SYSTEMUNIT)$(PPUEXT) baseunix$(PPUEXT) : unixtype$(PPUEXT) sysctl$(PPUEXT) errno.inc ptypes.inc $(UNIXINC)/ctypes.inc \ signal.inc $(UNIXINC)/bunxh.inc \ $(BSDINC)/bunxsysc.inc \ $(BSDINC)/ostypes.inc $(BSDINC)/osmacro.inc $(UNIXINC)/gensigset.inc \ $(UNIXINC)/genfuncs.inc $(SYSTEMUNIT)$(PPUEXT) unixtype$(PPUEXT) : $(SYSTEMUNIT)$(PPUEXT) $(UNIXINC)/unixtype.pp ptypes.inc $(UNIXINC)/ctypes.inc $(SYSTEMUNIT)$(PPUEXT) unix$(PPUEXT) : unixtype$(PPUEXT) baseunix$(PPUEXT) unixutil$(PPUEXT) strings$(PPUEXT) $(UNIXINC)/unix.pp strings$(PPUEXT) $(INC)/textrec.inc $(INC)/filerec.inc \ unxconst.inc $(UNIXINC)/timezone.inc \ unxfunc.inc baseunix$(PPUEXT) $(SYSTEMUNIT)$(PPUEXT) unixutil$(PPUEXT) : $(SYSTEMUNIT)$(PPUEXT) dynlibs$(PPUEXT) : dl$(PPUEXT) ctypes$(PPUEXT) : $(SYSTEMUNIT)$(PPUEXT) unixtype$(PPUEXT) dos$(PPUEXT) : $(SYSTEMUNIT)$(PPUEXT) strings$(PPUEXT) unix$(PPUEXT) $(UNIXINC)/dos.pp $(INC)/filerec.inc $(INC)/textrec.inc strings$(PPUEXT) \ unix$(PPUEXT) $(SYSTEMUNIT)$(PPUEXT) crt$(PPUEXT) : $(SYSTEMUNIT)$(PPUEXT) unix$(PPUEXT) termio$(PPUEXT) $(UNIXINC)/crt.pp $(INC)/textrec.inc unix$(PPUEXT) $(SYSTEMUNIT)$(PPUEXT) objects$(PPUEXT) : dos$(PPUEXT) $(INC)/objects.pp $(SYSTEMUNIT)$(PPUEXT) printer$(PPUEXT) : unix$(PPUEXT) strings$(PPUEXT) baseunix$(PPUEXT) $(UNIXINC)/printer.pp $(INC)/textrec.inc unix$(PPUEXT) $(SYSTEMUNIT)$(PPUEXT) sysutils$(PPUEXT) : objpas$(PPUEXT) unix$(PPUEXT) errors$(PPUEXT) sysconst$(PPUEXT) $(UNIXINC)/sysutils.pp $(wildcard $(OBJPASDIR)/sysutils/*.inc) \ objpas$(PPUEXT) unix$(PPUEXT) errors$(PPUEXT) sysconst$(PPUEXT) $(COMPILER) -Fi$(OBJPASDIR)/sysutils $(UNIXINC)/sysutils.pp classes$(PPUEXT) : sysutils$(PPUEXT) rtlconsts$(PPUEXT) types$(PPUEXT) typinfo$(PPUEXT) unix$(PPUEXT) $(UNIXINC)/classes.pp $(wildcard $(OBJPASDIR)/classes/*.inc) \ sysutils$(PPUEXT) typinfo$(PPUEXT) rtlconsts$(PPUEXT) types$(PPUEXT) $(COMPILER) -Fi$(OBJPASDIR)/classes $(UNIXINC)/classes.pp typinfo$(PPUEXT): sysutils$(PPUEXT) $(OBJPASDIR)/typinfo.pp objpas$(PPUEXT) rtlconsts$(PPUEXT) $(COMPILER) -Sg $(OBJPASDIR)/typinfo.pp math$(PPUEXT): sysutils$(PPUEXT) $(OBJPASDIR)/math.pp objpas$(PPUEXT) sysutils$(PPUEXT) $(COMPILER) $(OBJPASDIR)/math.pp gettext$(PPUEXT): sysutils$(PPUEXT) $(OBJPASDIR)/gettext.pp objpas$(PPUEXT) sysutils$(PPUEXT) $(COMPILER) $(OBJPASDIR)/gettext.pp varutils$(PPUEXT) : sysutils$(PPUEXT) $(OBJPASDIR)/cvarutil.inc $(OBJPASDIR)/varutils.inc \ $(OBJPASDIR)/varutilh.inc varutils.pp $(COMPILER) -I$(OBJPASDIR) $(UNIXINC)/varutils.pp types$(PPUEXT) : $(OBJPASDIR)/types.pp objpas$(PPUEXT) $(SYSTEMUNIT)$(PPUEXT) $(COMPILER) $(OBJPASDIR)/types.pp sysconst$(PPUEXT) : $(OBJPASDIR)/sysconst.pp objpas$(PPUEXT) $(SYSTEMUNIT)$(PPUEXT) $(COMPILER) $(OBJPASDIR)/sysconst.pp rtlconsts$(PPUEXT) : $(OBJPASDIR)/rtlconsts.pp objpas$(PPUEXT) $(SYSTEMUNIT)$(PPUEXT) $(COMPILER) $(OBJPASDIR)/rtlconsts.pp strutils$(PPUEXT) : $(OBJPASDIR)/strutils.pp objpas$(PPUEXT) $(SYSTEMUNIT)$(PPUEXT) \ sysutils$(PPUEXT) $(COMPILER) $(OBJPASDIR)/strutils.pp variants$(PPUEXT) : $(INC)/variants.pp sysutils$(PPUEXT) sysconst$(PPUEXT) varutils$(PPUEXT) typinfo$(PPUEXT) rtlconsts$(PPUEXT) $(COMPILER) -Fi$(INC) $(INC)/variants.pp macpas$(PPUEXT) : $(INC)/macpas.pp $(SYSTEMUNIT)$(PPUEXT) $(COMPILER) $(INC)/macpas.pp $(REDIR) video$(PPUEXT) : $(SYSTEMUNIT)$(PPUEXT) $(INC)/video.inc $(INC)/videoh.inc $(UNIXINC)/video.pp baseunix$(PPUEXT) strings$(PPUEXT) terminfo$(PPUEXT) termio$(PPUEXT) keyboard$(PPUEXT) : $(SYSTEMUNIT)$(PPUEXT) $(INC)/keyboard.inc $(INC)/keybrdh.inc $(UNIXINC)/keyboard.pp mouse$(PPUEXT) strings$(PPUEXT) terminfo$(PPUEXT) termio$(PPUEXT) baseunix$(PPUEXT) matrix$(PPUEXT) : $(INC)/matrix.pp $(SYSTEMUNIT)$(PPUEXT) cpu$(PPUEXT) : $(PROCINC)/cpu.pp $(SYSTEMUNIT)$(PPUEXT) mmx$(PPUEXT) : $(PROCINC)/mmx.pp cpu$(PPUEXT) $(SYSTEMUNIT)$(PPUEXT) getopts$(PPUEXT) : $(INC)/getopts.pp $(SYSTEMUNIT)$(PPUEXT) heaptrc$(PPUEXT) : $(INC)/heaptrc.pp $(SYSTEMUNIT)$(PPUEXT) $(COMPILER) -Sg $(INC)/heaptrc.pp lineinfo$(PPUEXT) : $(INC)/lineinfo.pp $(SYSTEMUNIT)$(PPUEXT) strings$(PPUEXT) charset$(PPUEXT) : $(INC)/charset.pp objpas$(PPUEXT) ucomplex$(PPUEXT) : $(INC)/ucomplex.pp math$(PPUEXT) $(SYSTEMUNIT)$(PPUEXT) math$(PPUEXT) termio$(PPUEXT) : baseunix$(PPUEXT) mouse$(PPUEXT) : baseunix$(PPUEXT) video$(PPUEXT) dl$(PPUEXT) : $(SYSTEMUNIT)$(PPUEXT) unixtype$(PPUEXT) sockets$(PPUEXT) : $(UNIXINC)/sockets.pp $(INC)/textrec.inc $(INC)/filerec.inc \ unix$(PPUEXT) $(SYSTEMUNIT)$(PPUEXT) unixtype$(PPUEXT) baseunix$(PPUEXT) initc$(PPUEXT) errors$(PPUEXT) : $(UNIXINC)/errors.pp strings$(PPUEXT) $(SYSTEMUNIT)$(PPUEXT) strings$(PPUEXT) ipc$(PPUEXT) : $(UNIXINC)/ipc.pp unix$(PPUEXT) $(SYSTEMUNIT)$(PPUEXT) baseunix$(PPUEXT) syscall$(PPUEXT) terminfo$(PPUEXT) : terminfo.pp baseunix$(PPUEXT) cmem$(PPUEXT) : $(INC)/cmem.pp $(SYSTEMUNIT)$(PPUEXT) sysctl$(PPUEXT) : $(BSDINC)/sysctl.pp $(SYSTEMUNIT)$(PPUEXT) cthreads$(PPUEXT) : $(UNIXINC)/cthreads.pp unix$(PPUEXT) sysutils$(PPUEXT) initc$(PPUEXT) : $(SYSTEMUNIT)$(PPUEXT) console$(PPUEXT) : baseunix$(PPUEXT) termio$(PPUEXT) ctypes$(PPUEXT) : $(INC)/ctypes.pp $(SYSTEMUNIT)$(PPUEXT)