diff --git a/rtl/wasip1threads/Makefile b/rtl/wasip1threads/Makefile new file mode 100644 index 0000000000..f620bbb4f3 --- /dev/null +++ b/rtl/wasip1threads/Makefile @@ -0,0 +1,2972 @@ +# +# Don't edit, this file is generated by FPCMake Version 2.0.0 +# +default: all +MAKEFILETARGETS=wasm32-wasip1threads +BSDs = freebsd netbsd openbsd darwin dragonfly +UNIXs = linux $(BSDs) solaris qnx haiku aix +LIMIT83fs = go32v2 os2 emx watcom msdos win16 atari human68k +OSNeedsComspecToRunBatch = go32v2 watcom +FORCE: +.PHONY: FORCE +lc = $(subst A,a,$(subst B,b,$(subst C,c,$(subst D,d,$(subst E,e,$(subst F,f,$(subst G,g,$(subst H,h,$(subst I,i,$(subst J,j,$(subst K,k,$(subst L,l,$(subst M,m,$(subst N,n,$(subst O,o,$(subst P,p,$(subst Q,q,$(subst R,r,$(subst S,s,$(subst T,t,$(subst U,u,$(subst V,v,$(subst W,w,$(subst X,x,$(subst Y,y,$(subst Z,z,$1)))))))))))))))))))))))))) +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 COMSPEC +ifneq ($(filter $(OS_SOURCE),$(OSNeedsComspecToRunBatch)),) +ifndef RUNBATCH +RUNBATCH=$(COMSPEC) /C +endif +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=wasip1threads +override CPU_TARGET_DEFAULT=wasm32 +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)) +ifneq ($(CPU_TARGET),) +FPC:=$(shell $(FPCPROG) -P$(CPU_TARGET) -PB) +else +FPC:=$(shell $(FPCPROG) -PB) +endif +ifneq ($(findstring Error,$(FPC)),) +override FPC=$(firstword $(strip $(wildcard $(addsuffix /ppc386$(SRCEXEEXT),$(SEARCHPATH))))) +else +ifeq ($(strip $(wildcard $(FPC))),) +FPC:=$(firstword $(FPCPROG)) +endif +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 +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 +CPU_OS_TARGET=$(CPU_TARGET)-$(OS_TARGET) +ifdef SUB_TARGET +L_SUB_TARGET=$(call lc,$(SUB_TARGET)) +FULL_TARGET:=$(CPU_TARGET)-$(OS_TARGET)-$(L_SUB_TARGET) +else +FULL_TARGET:=$(CPU_TARGET)-$(OS_TARGET) +endif +CPU_OS_SOURCE=$(CPU_SOURCE)-$(OS_SOURCE) +ifdef SUB_SOURCE +L_SUB_SOURCE=$(call lc,$(SUB_SOURCE)) +FULL_SOURCE=$(CPU_SOURCE)-$(OS_SOURCE)-$(L_SUB_SOURCE) +else +FULL_SOURCE=$(CPU_SOURCE)-$(OS_SOURCE) +endif +ifeq ($(CPU_TARGET),armeb) +ARCH=arm +override FPCOPT+=-Cb +else +ifeq ($(CPU_TARGET),armel) +ARCH=arm +override FPCOPT+=-CaEABI +else +ARCH=$(CPU_TARGET) +endif +endif +ifeq ($(CPU_OS_TARGET),aarch64-embedded) +endif +ifdef SUB_TARGET +FPCOPT+=-t$(SUB_TARGET) +FPMAKE_OPT+=--subtarget=$(SUB_TARGET) +endif +ifeq ($(CPU_OS_TARGET),arm-embedded) +ifeq ($(SUBARCH),) +$(error When compiling for arm-embedded, a sub-architecture (e.g. SUBARCH=armv4t or SUBARCH=armv7m) must be defined) +endif +override FPCOPT+=-Cp$(SUBARCH) +endif +ifeq ($(CPU_OS_TARGET),avr-embedded) +ifeq ($(SUBARCH),) +$(error When compiling for avr-embedded, a sub-architecture (e.g. SUBARCH=avr25 or SUBARCH=avr35) must be defined) +endif +override FPCOPT+=-Cp$(SUBARCH) +endif +ifeq ($(CPU_OS_TARGET),mipsel-embedded) +ifeq ($(SUBARCH),) +$(error When compiling for mipsel-embedded, a sub-architecture (e.g. SUBARCH=pic32mx) must be defined) +endif +override FPCOPT+=-Cp$(SUBARCH) +endif +ifeq ($(CPU_OS_TARGET),xtensa-embedded) +ifeq ($(SUBARCH),) +$(error When compiling for xtensa-embedded, a sub-architecture (e.g. SUBARCH=lx106 or SUBARCH=lx6) must be defined) +endif +override FPCOPT+=-Cp$(SUBARCH) +endif +ifeq ($(CPU_OS_TARGET),xtensa-freertos) +ifeq ($(SUBARCH),) +$(error When compiling for xtensa-freertos, a sub-architecture (e.g. SUBARCH=lx106 or SUBARCH=lx6) must be defined) +endif +override FPCOPT+=-Cp$(SUBARCH) +endif +ifeq ($(CPU_OS_TARGET),arm-freertos) +ifeq ($(SUBARCH),) +$(error When compiling for arm-freertos, a sub-architecture (e.g. SUBARCH=armv6m or SUBARCH=armv7em) must be defined) +endif +override FPCOPT+=-Cp$(SUBARCH) +endif +ifneq ($(filter $(OS_SOURCE),$(LIMIT83fs)),) +TARGETSUFFIX=$(OS_TARGET) +SOURCESUFFIX=$(OS_SOURCE) +else +ifneq ($(filter $(OS_TARGET),$(LIMIT83fs)),) +TARGETSUFFIX=$(OS_TARGET) +else +TARGETSUFFIX=$(FULL_TARGET) +endif +SOURCESUFFIX=$(FULL_SOURCE) +endif +ifneq ($(CPU_OS_TARGET),$(CPU_OS_SOURCE)) +CROSSCOMPILE=1 +endif +ifeq ($(findstring makefile,$(MAKECMDGOALS)),) +ifeq ($(filter $(CPU_OS_TARGET),$(MAKEFILETARGETS)),) +$(error The Makefile doesn't support target $(FULL_TARGET), please run fpcmake first) +endif +endif +ifneq ($(filter $(OS_TARGET),$(BSDs)),) +BSDhier=1 +endif +ifeq ($(OS_TARGET),linux) +linuxHier=1 +endif +ifndef CROSSCOMPILE +BUILDFULLNATIVE=1 +export BUILDFULLNATIVE +endif +ifdef BUILDFULLNATIVE +BUILDNATIVE=1 +export BUILDNATIVE +endif +export OS_TARGET OS_SOURCE ARCH CPU_TARGET CPU_SOURCE SUB_TARGET SUB_SOURCE FULL_TARGET FULL_SOURCE TARGETSUFFIX SOURCESUFFIX CROSSCOMPILE CPU_OS_TARGET CPU_OS_SOURCE +ifdef FPCDIR +override FPCDIR:=$(subst \,/,$(FPCDIR)) +ifeq ($(wildcard $(addprefix $(FPCDIR)/,rtl)),) +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)),) +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)),) +override FPCDIR:=$(FPCDIR)/.. +ifeq ($(wildcard $(addprefix $(FPCDIR)/,rtl)),) +override FPCDIR:=$(BASEDIR) +ifeq ($(wildcard $(addprefix $(FPCDIR)/,rtl)),) +override FPCDIR=c:/pp +endif +endif +endif +endif +endif +ifndef CROSSBINDIR +CROSSBINDIR:=$(wildcard $(FPCDIR)/bin/$(TARGETSUFFIX)) +endif +ifneq ($(filter $(OS_TARGET),darwin iphonesim ios),) +ifneq ($(filter $(OS_SOURCE),darwin ios),) +DARWIN2DARWIN=1 +endif +endif +ifndef BINUTILSPREFIX +ifndef CROSSBINDIR +ifdef CROSSCOMPILE +ifneq ($(OS_TARGET),msdos) +ifndef DARWIN2DARWIN +ifneq ($(CPU_TARGET),jvm) +BINUTILSPREFIX=$(CPU_TARGET)-$(OS_TARGET)- +ifeq ($(OS_TARGET),android) +ifeq ($(CPU_TARGET),arm) +BINUTILSPREFIX=arm-linux-androideabi- +else +ifeq ($(CPU_TARGET),i386) +BINUTILSPREFIX=i686-linux-android- +else +BINUTILSPREFIX=$(CPU_TARGET)-linux-android- +endif +endif +endif +endif +endif +else +BINUTILSPREFIX=$(OS_TARGET)- +endif +endif +endif +endif +UNITSDIR:=$(wildcard $(FPCDIR)/units/$(TARGETSUFFIX)) +ifeq ($(UNITSDIR),) +UNITSDIR:=$(wildcard $(FPCDIR)/units/$(OS_TARGET)) +endif +PACKAGESDIR:=$(wildcard $(FPCDIR) $(FPCDIR)/packages) +ifndef FPCFPMAKE +ifdef CROSSCOMPILE +ifeq ($(strip $(wildcard $(addsuffix /compiler/ppc$(SRCEXEEXT),$(FPCDIR)))),) +FPCPROG:=$(strip $(wildcard $(addsuffix /fpc$(SRCEXEEXT),$(SEARCHPATH)))) +ifneq ($(FPCPROG),) +FPCPROG:=$(firstword $(FPCPROG)) +FPCFPMAKE:=$(shell $(FPCPROG) -PB) +ifeq ($(strip $(wildcard $(FPCFPMAKE))),) +FPCFPMAKE:=$(firstword $(FPCPROG)) +endif +else +override FPCFPMAKE=$(firstword $(strip $(wildcard $(addsuffix /ppc386$(SRCEXEEXT),$(SEARCHPATH))))) +endif +else +FPCFPMAKE=$(strip $(wildcard $(addsuffix /compiler/ppc$(SRCEXEEXT),$(FPCDIR)))) +FPMAKE_SKIP_CONFIG=-n +export FPCFPMAKE +export FPMAKE_SKIP_CONFIG +endif +else +FPMAKE_SKIP_CONFIG=-n +FPCFPMAKE=$(FPC) +endif +endif +override PACKAGE_NAME=rtl +PACKAGEDIR_MAIN:=$(firstword $(subst /Makefile.fpc,,$(strip $(wildcard $(addsuffix /rtl/Makefile.fpc,$(PACKAGESDIR)))))) +ifdef FPC_DOTTEDUNITS +AIOUNIT=NetWareApi.Aio +ALLWINNER_A20UNIT=Embedded.Allwinner_a20 +ANDROIDR14UNIT=AndroidAPI.AndroidR14 +ATHREADSUNIT=AmigaApi.AThreads +BASEUNIXUNIT=UnixApi.Base +BETHREADSUNIT=BeosApi.Bethreads +BLOCKRTLUNIT=blockrtl +BSDUNIT=BsdApi +CHARACTERUNIT=System.Character +CHARSETUNIT=System.CharSet +CLASSESUNIT=System.Classes +CMEMUNIT=System.CMem +COMMONUNIT=PalmApi.Common +CONSOLEUNIT=System.Console +CONSOLEIOUNIT=EmbeddedApi.ConsoleIO +CORTEXM0UNIT=ARMApi.cortexm0 +CORTEXM3UNIT=ARMApi.cortexm3 +CORTEXM4UNIT=ARMApi.cortexm4 +CORTEXM7UNIT=ARMApi.cortexm7 +CP1250UNIT=System.CodePages.CP1250 +CP1251UNIT=System.CodePages.CP1251 +CP1252UNIT=System.CodePages.CP1252 +CP1253UNIT=System.CodePages.CP1253 +CP1254UNIT=System.CodePages.CP1254 +CP1255UNIT=System.CodePages.CP1255 +CP1256UNIT=System.CodePages.CP1256 +CP1257UNIT=System.CodePages.CP1257 +CP1258UNIT=System.CodePages.CP1258 +CP3021UNIT=System.CodePages.CP3021 +CP437UNIT=System.CodePages.CP437 +CP646UNIT=System.CodePages.CP646 +CP737UNIT=System.CodePages.CP737 +CP775UNIT=System.CodePages.CP775 +CP850UNIT=System.CodePages.CP850 +CP852UNIT=System.CodePages.CP852 +CP855UNIT=System.CodePages.CP855 +CP856UNIT=System.CodePages.CP856 +CP857UNIT=System.CodePages.CP857 +CP860UNIT=System.CodePages.CP860 +CP861UNIT=System.CodePages.CP861 +CP862UNIT=System.CodePages.CP862 +CP863UNIT=System.CodePages.CP863 +CP864UNIT=System.CodePages.CP864 +CP865UNIT=System.CodePages.CP865 +CP866UNIT=System.CodePages.CP866 +CP869UNIT=System.CodePages.CP869 +CP874UNIT=System.CodePages.CP874 +CP8859_1UNIT=System.CodePages.CP8859_1 +CP8859_10UNIT=System.CodePages.CP8859_10 +CP8859_11UNIT=System.CodePages.CP8859_11 +CP8859_13UNIT=System.CodePages.CP8859_13 +CP8859_14UNIT=System.CodePages.CP8859_14 +CP8859_15UNIT=System.CodePages.CP8859_15 +CP8859_16UNIT=System.CodePages.CP8859_16 +CP8859_2UNIT=System.CodePages.CP8859_2 +CP8859_3UNIT=System.CodePages.CP8859_3 +CP8859_4UNIT=System.CodePages.CP8859_4 +CP8859_5UNIT=System.CodePages.CP8859_5 +CP8859_6UNIT=System.CodePages.CP8859_6 +CP8859_7UNIT=System.CodePages.CP8859_7 +CP8859_8UNIT=System.CodePages.CP8859_8 +CP8859_9UNIT=System.CodePages.CP8859_9 +CPALLUNIT=System.CodePages.All +CPKOI8_RUNIT=System.CodePages.CPkoi8_r +CPKOI8_UUNIT=System.CodePages.CPkoi8_u +CPUUNIT=System.CPU +CTHREADSUNIT=UnixApi.CThreads +CTYPESUNIT=System.CTypes +CWSTRINGUNIT=UnixApi.CWString +DDKUNIT=NTApi.Ddk +DLUNIT=UnixApi.Dl +DOSUNIT=TP.DOS +DOSCALL2UNIT=OS2Api.doscall2 +DOSCALLSUNIT=OS2Api.doscalls +DPMIEXCPUNIT=DOSApi.Dpmiexcp +DXELOADUNIT=DOSApi.Dxeload +DXETYPEUNIT=DOSApi.Dxetype +DYNLIBSUNIT=System.DynLibs +EMU387UNIT=DOSApi.EMU387 +EMXUNIT=DOSApi.EMX +ERRORSUNIT=UnixApi.Errors +ESP32UNIT=System.Esp32 +ESP32C2UNIT=System.Esp32c2 +ESP32C3UNIT=System.Esp32c3 +ESP32C6UNIT=System.Esp32c6 +ESP32C2IDF_50000UNIT=System.Esp32c2idf_50000 +ESP32C2IDF_50200UNIT=System.Esp32c2idf_50200 +ESP32C3IDF_40400UNIT=System.Esp32c3idf_40400 +ESP32C3IDF_50000UNIT=System.Esp32c3idf_50000 +ESP32C3IDF_50200UNIT=System.Esp32c3idf_50200 +ESP32C6IDF_50200UNIT=System.Esp32c6idf_50200 +ESP8266UNIT=System.Esp8266 +ESP8266RTOS_30300UNIT=System.Esp8266rtos_30300 +ESP8266RTOS_30400UNIT=System.Esp8266rtos_30400 +ESPIDF_40100UNIT=System.Espidf_40100 +ESPIDF_40200UNIT=System.Espidf_40200 +ESPIDF_40400UNIT=System.Espidf_40400 +ESPIDF_50000UNIT=System.Espidf_50000 +ESPIDF_50200UNIT=System.Espidf_50200 +EXEUNIT=OS2Api.exe +EXEINFOUNIT=System.ExeInfo +EXTPASUNIT=extpas +FE310G000UNIT=EmbeddedApi.fe310g000 +FE310G002UNIT=EmbeddedApi.fe310g002 +FGLUNIT=System.FGL +FPCMEMDLLUNIT=System.FPCMemDLL +FPCYLIXUNIT=fpcylix +FPINTRESUNIT=fpintres +FPWIDESTRINGUNIT=System.FPWideString +FREEBSDUNIT=FreeBSDApi.FreeBSD +GD32VF103XXUNIT=EmbeddedApi.gd32vf103xx +GETOPTSUNIT=System.GetOpts +GO32UNIT=DOSApi.GO32 +GPIOUNIT=EmbeddedApi.gpio +HEAPMGRUNIT=EmbeddedApi.HeapMGR +HEAPTRCUNIT=heaptrc +INITCUNIT=System.InitC +INTRINSICSUNIT=System.Intrinsics +ISO7185UNIT=iso7185 +JDK15UNIT=JavaApi.JDK15 +KBDCALLSUNIT=OS2Api.kbdcalls +LIBCUNIT=NetwareLibCApi.Libc +LINEINFOUNIT=lineinfo +LINUXUNIT=LinuxApi +LINUXVCSUNIT=LinuxApi.Vcs +LM3FURYUNIT=EmbeddedApi.lm3fury +LM3TEMPESTUNIT=EmbeddedApi.lm3tempest +LM4F120UNIT=EmbeddedApi.lm4f120 +LNFODWRFUNIT=lnfodwrf +LNFOGDBUNIT=lnfogdb +LPC11XXUNIT=EmbeddedApi.lpc11xx +LPC122XUNIT=EmbeddedApi.lpc122x +LPC13XXUNIT=EmbeddedApi.lpc13xx +LPC1768UNIT=EmbeddedApi.lpc1768 +LPC21X4UNIT=EmbeddedApi.lpc21x4 +LPC8XXUNIT=EmbeddedApi.lpc8xx +LSTRINGSUNIT=System.LStrings +MACOSUNIT=MacOSApi.MacOS +MACOSTPUNIT=MacOSApi.MacOSTP +MACPASUNIT=macpas +MACUTILSUNIT=MacOSApi.MacUtils +MAILBOXUNIT=EmbeddedApi.mailbox +MATHUNIT=System.Math +MESSAGESUNIT=WinApi.Messages +MK20D5UNIT=EmbeddedApi.mk20d5 +MK20D7UNIT=EmbeddedApi.mk20d7 +MK22F51212UNIT=EmbeddedApi.mk22f51212 +MK64F12UNIT=EmbeddedApi.mk64f12 +MMIOUNIT=EmbeddedApi.mmio +MMXUNIT=System.CPU.MMX +MONCALLSUNIT=OS2Api.moncalls +MOUCALLSUNIT=OS2Api.moucalls +MSMOUSEUNIT=DOSApi.MSMouse +MULTIBOOTUNIT=EmbeddedApi.multiboot +NDKUNIT=NTApi.NDK +NDKUTILSUNIT=NTApi.NDKUtils +NETWAREUNIT=NetwareApi.NetWare +NEWEXEUNIT=OS2Api.newexe +NRF51UNIT=EmbeddedApi.nrf51 +NRF52UNIT=EmbeddedApi.nrf52 +NWCALLSUNIT=NetWareApi.Nwcalls +NWNITUNIT=NetWareApi.Nwnit +NWPREUNIT=NetWareApi.Nwpre +NWPROTUNIT=NetWareApi.Nwprot +NWSERVUNIT=NetWareApi.Nwserv +NWSNUTUNIT=NetWareApi.Nwsnut +OBJCUNIT=objc +OBJCBASEUNIT=objcbase +OBJPASUNIT=objpas +OS2DEFUNIT=OS2Api.os2def +PAGEMEMUNIT=System.PageMem +PILOTUNIT=PalmApi.Pilot +PMBIDIUNIT=OS2Api.pmbidi +PMBITMAPUNIT=OS2Api.pmbitmap +PMDEVUNIT=OS2Api.pmdev +PMGPIUNIT=OS2Api.pmgpi +PMHELPUNIT=OS2Api.pmhelp +PMSHLUNIT=OS2Api.pmshl +PMSPLUNIT=OS2Api.pmspl +PMSTDDLGUNIT=OS2Api.pmstddlg +PMWINUNIT=OS2Api.pmwin +PMWPUNIT=OS2Api.pmwp +PMWSOCKUNIT=OS2Api.pmwsock +PORTSUNIT=System.Ports +POSIXUNIT=QNXApi.Posix +PROFILEUNIT=DOSApi.Profile +RASPI2UNIT=EmbeddedApi.raspi2 +RASPI3UNIT=EmbeddedApi.raspi3 +RASPIUARTUNIT=EmbeddedApi.raspiuart +RP2040UNIT=EmbeddedApi.rp2040 +RTLCONSTSUNIT=System.RtlConsts +SAM3X8EUNIT=EmbeddedApi.sam3x8e +SAMD51P19AUNIT=EmbeddedApi.samd51p19a +SC32442BUNIT=EmbeddedApi .sc32442b +SFPU128UNIT=System.SoftFpu128 +SFPUX80UNIT=System.SoftFpuX80 +SHAREMEMUNIT=WinApi.ShareMem +SIGNALSUNIT=WinApi.Signals +SO32DLLUNIT=OS2Api.so32dll +SOFTFPUUNIT=System.SoftFPU +SORTBASEUNIT=System.SortBase +STM32F0XXUNIT=EmbeddedApi.stm32f0xx +STM32F103XEUNIT=EmbeddedApi.stm32f103xe +STM32F10X_CLUNIT=EmbeddedApi.stm32f10x_cl +STM32F10X_CONNUNIT=EmbeddedApi.stm32f10x_conn +STM32F10X_HDUNIT=EmbeddedApi.stm32f10x_hd +STM32F10X_LDUNIT=EmbeddedApi.stm32f10x_ld +STM32F10X_MDUNIT=EmbeddedApi.stm32f10x_md +STM32F10X_XLUNIT=EmbeddedApi.stm32f10x_xl +STM32F401XEUNIT=EmbeddedApi.stm32f401xe +STM32F401XXUNIT=EmbeddedApi.stm32f401xx +STM32F407XXUNIT=EmbeddedApi.stm32f407xx +STM32F411XEUNIT=EmbeddedApi.stm32f411xe +STM32F429UNIT=EmbeddedApi.stm32f429 +STM32F429XXUNIT=EmbeddedApi.stm32f429xx +STM32F446XXUNIT=EmbeddedApi.stm32f446xx +STM32F745UNIT=EmbeddedApi.stm32f745 +STM32F746UNIT=EmbeddedApi.stm32f746 +STM32F756UNIT=EmbeddedApi.stm32f756 +STM32G071XXUNIT=EmbeddedApi.stm32g071xx +STRINGSUNIT=System.Strings +SYMBIANUNIT=SymbianApi.Symbian +SYSALLUNIT=PalmApi.Sysall +SYSCALLUNIT=UnixApi.SysCall +SYSCONSTUNIT=System.SysConst +SYSCTLUNIT=BsdApi.SysCtl +SYSEMXUNIT=DOSApi.Sysemx +SYSOS2UNIT=OS2Api.sysos2 +SYSTEMUNIT=system +SYSTRAPSUNIT=PalmApi.Systraps +SYSUTILSUNIT=System.SysUtils +TERMIOUNIT=UnixApi.TermIO +TYPESUNIT=System.Types +TYPINFOUNIT=System.TypInfo +UFLOAT128UNIT=System.UFloat128 +UFLOATX80UNIT=System.UFloatX80 +UIUNIT=PalmApi.Ui +UIQUNIT=SymbianApi.Uiq +UIQCLASSESUNIT=SymbianApi.Uiqclasses +UNICODEDATAUNIT=System.CodePages.unicodedata +UNIX98PTYUNIT=UnixApi.Unix98.PTY +UNIXUNIT=UnixApi.Unix +UNIXCPUNIT=UnixApi.CP +UNIXTYPEUNIT=UnixApi.Types +UNIXUTILUNIT=UnixApi.Utils +UUCHARUNIT=uuchar +VIOCALLSUNIT=OS2Api.viocalls +WASIAPIUNIT=WASIApi.WASIApi +WASIUTILUNIT=WASIApi.WASIUtil +WATCOMUNIT=WatcomApi.WatCom +WEBASSEMBLYUNIT=Wasm.Api +WIN31UNIT=WinApi.Win31 +WINDIRSUNIT=WinApi.WinDirs +WINDOWSUNIT=WinApi.Windows +WINPROCSUNIT=WinApi.WinProcs +WINSYSUTUNIT=WinApi.WinSysUt +WINTYPESUNIT=WinApi.WinTypes +X86UNIT=System.X86 +XMC4500UNIT=EmbeddedApi.xmc4500 +NOTHREADSUNIT=System.NoThreads +else +AIOUNIT=aio +ALLWINNER_A20UNIT=allwinner_a20 +ANDROIDR14UNIT=androidr14 +ATHREADSUNIT=athreads +BASEUNIXUNIT=baseunix +BETHREADSUNIT=bethreads +BLOCKRTLUNIT=blockrtl +BSDUNIT=bsd +CHARACTERUNIT=character +CHARSETUNIT=charset +CLASSESUNIT=classes +CMEMUNIT=cmem +COMMONUNIT=common +CONSOLEUNIT=console +CONSOLEIOUNIT=consoleio +CORTEXM0UNIT=cortexm0 +CORTEXM3UNIT=cortexm3 +CORTEXM4UNIT=cortexm4 +CORTEXM7UNIT=cortexm7 +CP1250UNIT=cp1250 +CP1251UNIT=cp1251 +CP1252UNIT=cp1252 +CP1253UNIT=cp1253 +CP1254UNIT=cp1254 +CP1255UNIT=cp1255 +CP1256UNIT=cp1256 +CP1257UNIT=cp1257 +CP1258UNIT=cp1258 +CP3021UNIT=cp3021 +CP437UNIT=cp437 +CP646UNIT=cp646 +CP737UNIT=cp737 +CP775UNIT=cp775 +CP850UNIT=cp850 +CP852UNIT=cp852 +CP855UNIT=cp855 +CP856UNIT=cp856 +CP857UNIT=cp857 +CP860UNIT=cp860 +CP861UNIT=cp861 +CP862UNIT=cp862 +CP863UNIT=cp863 +CP864UNIT=cp864 +CP865UNIT=cp865 +CP866UNIT=cp866 +CP869UNIT=cp869 +CP874UNIT=cp874 +CP8859_1UNIT=cp8859_1 +CP8859_10UNIT=cp8859_10 +CP8859_11UNIT=cp8859_11 +CP8859_13UNIT=cp8859_13 +CP8859_14UNIT=cp8859_14 +CP8859_15UNIT=cp8859_15 +CP8859_16UNIT=cp8859_16 +CP8859_2UNIT=cp8859_2 +CP8859_3UNIT=cp8859_3 +CP8859_4UNIT=cp8859_4 +CP8859_5UNIT=cp8859_5 +CP8859_6UNIT=cp8859_6 +CP8859_7UNIT=cp8859_7 +CP8859_8UNIT=cp8859_8 +CP8859_9UNIT=cp8859_9 +CPALLUNIT=cpall +CPKOI8_RUNIT=cpkoi8_r +CPKOI8_UUNIT=cpkoi8_u +CPUUNIT=cpu +CTHREADSUNIT=cthreads +CTYPESUNIT=ctypes +CWSTRINGUNIT=cwstring +DDKUNIT=ddk +DLUNIT=dl +DOSUNIT=dos +DOSCALL2UNIT=doscall2 +DOSCALLSUNIT=doscalls +DPMIEXCPUNIT=dpmiexcp +DXELOADUNIT=dxeload +DXETYPEUNIT=dxetype +DYNLIBSUNIT=dynlibs +EMU387UNIT=emu387 +EMXUNIT=emx +ERRORSUNIT=errors +ESP32UNIT=esp32 +ESP32S2UNIT=esp32s2 +ESP32S3UNIT=esp32s3 +ESP32C2UNIT=esp32c2 +ESP32C3UNIT=esp32c3 +ESP32C6UNIT=esp32c6 +ESP32C2IDF_50000UNIT=esp32c2idf_50000 +ESP32C2IDF_50200UNIT=esp32c2idf_50200 +ESP32C3IDF_40400UNIT=esp32c3idf_40400 +ESP32C3IDF_50000UNIT=esp32c3idf_50000 +ESP32C6IDF_50200UNIT=esp32c6idf_50200 +ESP8266UNIT=esp8266 +ESP8266RTOS_30300UNIT=esp8266rtos_30300 +ESP8266RTOS_30400UNIT=esp8266rtos_30400 +ESPIDF_40100UNIT=espidf_40100 +ESPIDF_40200UNIT=espidf_40200 +ESPIDF_40400UNIT=espidf_40400 +ESPIDF_50000UNIT=espidf_50000 +ESPIDF_50200UNIT=espidf_50200 +EXEUNIT=exe +EXEINFOUNIT=exeinfo +EXTPASUNIT=extpas +FE310G000UNIT=fe310g000 +FE310G002UNIT=fe310g002 +FGLUNIT=fgl +FPCMEMDLLUNIT=fpcmemdll +FPCYLIXUNIT=fpcylix +FPINTRESUNIT=fpintres +FPWIDESTRINGUNIT=fpwidestring +FREEBSDUNIT=freebsd +GD32VF103XXUNIT=gd32vf103xx +GETOPTSUNIT=getopts +GO32UNIT=go32 +GPIOUNIT=gpio +HEAPMGRUNIT=heapmgr +HEAPTRCUNIT=heaptrc +INITCUNIT=initc +INTRINSICSUNIT=intrinsics +ISO7185UNIT=iso7185 +JDK15UNIT=jdk15 +KBDCALLSUNIT=kbdcalls +LIBCUNIT=libc +LINEINFOUNIT=lineinfo +LINUXUNIT=linux +LINUXVCSUNIT=linuxvcs +LM3FURYUNIT=lm3fury +LM3TEMPESTUNIT=lm3tempest +LM4F120UNIT=lm4f120 +LNFODWRFUNIT=lnfodwrf +LNFOGDBUNIT=lnfogdb +LPC11XXUNIT=lpc11xx +LPC122XUNIT=lpc122x +LPC13XXUNIT=lpc13xx +LPC1768UNIT=lpc1768 +LPC21X4UNIT=lpc21x4 +LPC8XXUNIT=lpc8xx +LSTRINGSUNIT=lstrings +MACOSUNIT=macos +MACOSTPUNIT=macostp +MACUTILSUNIT=macutils +MACPASUNIT=macpas +MAILBOXUNIT=mailbox +MATHUNIT=math +MESSAGESUNIT=messages +MK20D5UNIT=mk20d5 +MK20D7UNIT=mk20d7 +MK22F51212UNIT=mk22f51212 +MK64F12UNIT=mk64f12 +MMIOUNIT=mmio +MMXUNIT=mmx +MONCALLSUNIT=moncalls +MOUCALLSUNIT=moucalls +MSMOUSEUNIT=msmouse +MULTIBOOTUNIT=multiboot +NDKUNIT=ndk +NDKUTILSUNIT=ndkutils +NETWAREUNIT=netware +NEWEXEUNIT=newexe +NRF51UNIT=nrf51 +NRF52UNIT=nrf52 +NWCALLSUNIT=nwcalls +NWNITUNIT=nwnit +NWPREUNIT=nwpre +NWPROTUNIT=nwprot +NWSERVUNIT=nwserv +NWSNUTUNIT=nwsnut +OBJCUNIT=objc +OBJCBASEUNIT=objcbase +OBJPASUNIT=objpas +OS2DEFUNIT=os2def +PAGEMEMUNIT=pagemem +PILOTUNIT=pilot +PMBIDIUNIT=pmbidi +PMBITMAPUNIT=pmbitmap +PMDEVUNIT=pmdev +PMGPIUNIT=pmgpi +PMHELPUNIT=pmhelp +PMSHLUNIT=pmshl +PMSPLUNIT=pmspl +PMSTDDLGUNIT=pmstddlg +PMWINUNIT=pmwin +PMWPUNIT=pmwp +PMWSOCKUNIT=pmwsock +PORTSUNIT=ports +POSIXUNIT=posix +PROFILEUNIT=profile +RASPI2UNIT=raspi2 +RASPI3UNIT=raspi3 +RASPIUARTUNIT=raspiuart +RP2040UNIT=rp2040 +RTLCONSTSUNIT=rtlconsts +SAM3X8EUNIT=sam3x8e +SAMD51P19AUNIT=samd51p19a +SC32442BUNIT=sc32442b +SFPU128UNIT=sfpu128 +SFPUX80UNIT=sfpux80 +SHAREMEMUNIT=sharemem +SIGNALSUNIT=signals +SO32DLLUNIT=so32dll +SOFTFPUUNIT=softfpu +SORTBASEUNIT=sortbase +STM32F0XXUNIT=stm32f0xx +STM32F103XEUNIT=stm32f103xe +STM32F10X_CLUNIT=stm32f10x_cl +STM32F10X_CONNUNIT=stm32f10x_conn +STM32F10X_HDUNIT=stm32f10x_hd +STM32F10X_LDUNIT=stm32f10x_ld +STM32F10X_MDUNIT=stm32f10x_md +STM32F10X_XLUNIT=stm32f10x_xl +STM32F401XEUNIT=stm32f401xe +STM32F401XXUNIT=stm32f401xx +STM32F407XXUNIT=stm32f407xx +STM32F411XEUNIT=stm32f411xe +STM32F429UNIT=stm32f429 +STM32F429XXUNIT=stm32f429xx +STM32F446XXUNIT=stm32f446xx +STM32F745UNIT=stm32f745 +STM32F746UNIT=stm32f746 +STM32F756UNIT=stm32f756 +STM32G071XXUNIT=stm32g071xx +STRINGSUNIT=strings +SYMBIANUNIT=symbian +SYSALLUNIT=sysall +SYSCALLUNIT=syscall +SYSCONSTUNIT=sysconst +SYSCTLUNIT=sysctl +SYSEMXUNIT=sysemx +SYSOS2UNIT=sysos2 +SYSTEMUNIT=system +SYSTRAPSUNIT=systraps +SYSUTILSUNIT=sysutils +TERMIOUNIT=termio +TYPESUNIT=types +TYPINFOUNIT=typinfo +UFLOAT128UNIT=ufloat128 +UFLOATX80UNIT=ufloatx80 +UIUNIT=ui +UIQUNIT=uiq +UIQCLASSESUNIT=uiqclasses +UNICODEDATAUNIT=unicodedata +UNIX98PTYUNIT=unix98pty +UNIXUNIT=unix +UNIXCPUNIT=unixcp +UNIXTYPEUNIT=unixtype +UNIXUTILUNIT=unixutil +UUCHARUNIT=uuchar +VIOCALLSUNIT=viocalls +WASIAPIUNIT=wasiapi +WASIUTILUNIT=wasiutil +WATCOMUNIT=watcom +WEBASSEMBLYUNIT=webassembly +WIN31UNIT=win31 +WINDIRSUNIT=windirs +WINDOWSUNIT=windows +WINPROCSUNIT=winprocs +WINSYSUTUNIT=winsysut +WINTYPESUNIT=wintypes +X86UNIT=x86 +XMC4500UNIT=xmc4500 +NOTHREADSUNIT=nothreads +endif +ifdef FPC_DOTTEDUNITS +NS_SYSTEM=System. +NS_CPUNITS=System.CodePages. +NSDIR=$(RTL)/namespaced +NSINC=$(NSDIR)/common +BASEINCLUDE=$(INC) $(PROCINC) +BASESOURCE=$(INC) $(PROCINC) $($(COMMONUNIT)) +endif +CP_UNITS=$(CP1250UNIT) $(CP1251UNIT) $(CP1252UNIT) $(CP1253UNIT) $(CP1254UNIT) $(CP1255UNIT) $(CP1256UNIT) $(CP1257UNIT) $(CP1258UNIT) \ + $(CP437UNIT) $(CP646UNIT) $(CP737UNIT) $(CP775UNIT) $(CP850UNIT) $(CP852UNIT) $(CP855UNIT) $(CP856UNIT) $(CP857UNIT) $(CP860UNIT) $(CP861UNIT) $(CP862UNIT) \ + $(CP863UNIT) $(CP864UNIT) $(CP865UNIT) $(CP866UNIT) $(CP869UNIT) $(CP874UNIT) $(CP3021UNIT) $(CP8859_1UNIT) $(CP8859_2UNIT) $(CP8859_3UNIT) $(CP8859_4UNIT) \ + $(CP8859_5UNIT) $(CP8859_6UNIT) $(CP8859_7UNIT) $(CP8859_8UNIT) $(CP8859_9UNIT) $(CP8859_10UNIT) $(CP8859_11UNIT) \ + $(CP8859_13UNIT) $(CP8859_14UNIT) $(CP8859_15UNIT) $(CP8859_16UNIT) $(CPKOI8_RUNIT) $(CPKOI8_UUNIT) +ifdef FPC_DOTTEDUNITS +CP_UNITS_SRC=$(addsuffix .pas,$(addprefix $(NSINC)/,$(CP_UNITS))) +else +CP_UNITS_SRC=$(addsuffix .pas,$(addprefix $(RTL)/charmaps/,$(CP_UNITS))) +endif +RTL=.. +INC=../inc +WASIP1INC=$(RTL)/wasip1 +SYSTEMDIR=$(WASIP1INC) +DOSDIR=$(WASIP1INC) +NSOSDIR=$(NSDIR)/wasi +COMMON=$(RTL)/common +PROCINC=../$(CPU_TARGET) +UNITPREFIX=rtl +SYSINIT_UNITS=si_prc si_dll +RESUNIT=$(FPINTRESUNIT) +OBJPASDIR=$(RTL)/objpas +ifdef EXCEPTIONS_IN_SYSTEM +override FPCOPT+=-dEXCEPTIONS_IN_SYSTEM +endif +ifdef NO_EXCEPTIONS_IN_SYSTEM +override FPCOPT+=-dNO_EXCEPTIONS_IN_SYSTEM +endif +override FPC_SYSTEM_OPT += -Fi$(WASIP1INC)/wasiinc +DOS_DEPS_OS=$(WASIAPIUNIT)$(PPUEXT) $(WASIUTILUNIT)$(PPUEXT) +ifeq ($(CPU_OS_TARGET),wasm32-wasip1threads) +override TARGET_UNITS+=$(SYSTEMUNIT) $(SYSINIT_UNITS) $(OBJPASUNIT) $(EXTPASUNIT) $(MACPASUNIT) $(ISO7185UNIT) $(UUCHARUNIT) $(WASIAPIUNIT) $(CTYPESUNIT) $(STRINGSUNIT) $(SYSCONSTUNIT) $(SYSUTILSUNIT) $(SORTBASEUNIT) $(MATHUNIT) $(RTLCONSTSUNIT) $(TYPESUNIT) $(TYPINFOUNIT) $(FGLUNIT) $(GETOPTSUNIT) $(CHARSETUNIT) $(CPALLUNIT) $(CHARACTERUNIT) $(FPWIDESTRINGUNIT) $(NOTHREADSUNIT) $(CLASSESUNIT) $(DOSUNIT) $(RESUNIT) $(HEAPTRCUNIT) $(WASIUTILUNIT) $(WEBASSEMBLYUNIT) +endif +ifeq ($(CPU_OS_TARGET),wasm32-wasip1threads) +override TARGET_IMPLICITUNITS+=$(CP_UNITS) $(UNICODEDATAUNIT) +endif +override INSTALL_FPCPACKAGE=y y +ifeq ($(CPU_OS_TARGET),wasm32-wasip1threads) +override COMPILER_INCLUDEDIR+=$(INC) $(PROCINC) $(WASIP1INC) +endif +ifeq ($(CPU_OS_TARGET),wasm32-wasip1threads) +override COMPILER_SOURCEDIR+=$(INC) $(PROCINC) $(COMMON) +endif +ifdef REQUIRE_UNITSDIR +override UNITSDIR+=$(REQUIRE_UNITSDIR) +endif +ifdef REQUIRE_PACKAGESDIR +override PACKAGESDIR+=$(REQUIRE_PACKAGESDIR) +endif +ifdef ZIPINSTALL +ifneq ($(filter $(OS_TARGET),$(UNIXs)),) +UNIXHier=1 +endif +else +ifneq ($(filter $(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 +ifndef INSTALL_SHAREDDIR +INSTALL_SHAREDDIR=$(INSTALL_PREFIX)/lib +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 +LTOEXT=.bc +ASMEXT=.s +SMARTEXT=.sl +STATICLIBEXT=.a +SHAREDLIBEXT=.so +SHAREDLIBPREFIX=libfp +STATICLIBPREFIX=libp +IMPORTLIBPREFIX=libimp +RSTEXT=.rst +EXEDBGEXT=.dbg +ifeq ($(OS_TARGET),go32v1) +STATICLIBPREFIX= +SHORTSUFFIX=v1 +endif +ifeq ($(OS_TARGET),go32v2) +STATICLIBPREFIX= +SHORTSUFFIX=dos +IMPORTLIBPREFIX= +endif +ifeq ($(OS_TARGET),watcom) +STATICLIBPREFIX= +OEXT=.obj +ASMEXT=.asm +SHAREDLIBEXT=.dll +SHORTSUFFIX=wat +IMPORTLIBPREFIX= +endif +ifneq ($(CPU_TARGET),jvm) +ifeq ($(OS_TARGET),android) +BATCHEXT=.sh +EXEEXT= +HASSHAREDLIB=1 +SHORTSUFFIX=lnx +endif +endif +ifeq ($(OS_TARGET),linux) +BATCHEXT=.sh +EXEEXT= +HASSHAREDLIB=1 +SHORTSUFFIX=lnx +endif +ifeq ($(OS_TARGET),dragonfly) +BATCHEXT=.sh +EXEEXT= +HASSHAREDLIB=1 +SHORTSUFFIX=df +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 +IMPORTLIBPREFIX= +endif +ifeq ($(OS_TARGET),emx) +BATCHEXT=.cmd +AOUTEXT=.out +STATICLIBPREFIX= +SHAREDLIBEXT=.dll +SHORTSUFFIX=emx +ECHO=echo +IMPORTLIBPREFIX= +endif +ifeq ($(OS_TARGET),amiga) +EXEEXT= +SHAREDLIBEXT=.library +SHORTSUFFIX=amg +endif +ifeq ($(OS_TARGET),aros) +EXEEXT= +SHAREDLIBEXT=.library +SHORTSUFFIX=aros +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),haiku) +BATCHEXT=.sh +EXEEXT= +SHORTSUFFIX=hai +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 +IMPORTLIBPREFIX=imp +endif +ifeq ($(OS_TARGET),netwlibc) +EXEEXT=.nlm +STATICLIBPREFIX= +SHORTSUFFIX=nwl +IMPORTLIBPREFIX=imp +endif +ifeq ($(OS_TARGET),macosclassic) +BATCHEXT= +EXEEXT= +DEBUGSYMEXT=.xcoff +SHORTSUFFIX=mac +IMPORTLIBPREFIX=imp +endif +ifneq ($(filter $(OS_TARGET),darwin iphonesim ios),) +BATCHEXT=.sh +EXEEXT= +HASSHAREDLIB=1 +SHORTSUFFIX=dwn +EXEDBGEXT=.dSYM +endif +ifeq ($(OS_TARGET),gba) +EXEEXT=.gba +SHAREDLIBEXT=.so +SHORTSUFFIX=gba +endif +ifeq ($(OS_TARGET),symbian) +SHAREDLIBEXT=.dll +SHORTSUFFIX=symbian +endif +ifeq ($(OS_TARGET),NativeNT) +SHAREDLIBEXT=.dll +SHORTSUFFIX=nativent +endif +ifeq ($(OS_TARGET),wii) +EXEEXT=.dol +SHAREDLIBEXT=.so +SHORTSUFFIX=wii +endif +ifeq ($(OS_TARGET),aix) +BATCHEXT=.sh +EXEEXT= +SHAREDLIBEXT=.a +SHORTSUFFIX=aix +endif +ifeq ($(OS_TARGET),java) +OEXT=.class +ASMEXT=.j +SHAREDLIBEXT=.jar +SHORTSUFFIX=java +endif +ifeq ($(CPU_TARGET),jvm) +ifeq ($(OS_TARGET),android) +OEXT=.class +ASMEXT=.j +SHAREDLIBEXT=.jar +SHORTSUFFIX=android +endif +endif +ifeq ($(OS_TARGET),msdos) +STATICLIBPREFIX= +STATICLIBEXT=.a +SHORTSUFFIX=d16 +endif +ifeq ($(OS_TARGET),msxdos) +STATICLIBPREFIX= +STATICLIBEXT=.a +SHORTSUFFIX=msd +endif +ifeq ($(OS_TARGET),embedded) +ifeq ($(CPU_TARGET),i8086) +STATICLIBPREFIX= +STATICLIBEXT=.a +else +EXEEXT=.bin +endif +ifeq ($(CPU_TARGET),z80) +OEXT=.rel +endif +SHORTSUFFIX=emb +endif +ifeq ($(OS_TARGET),win16) +STATICLIBPREFIX= +STATICLIBEXT=.a +SHAREDLIBEXT=.dll +SHORTSUFFIX=w16 +endif +ifeq ($(OS_TARGET),zxspectrum) +OEXT=.rel +endif +ifeq ($(OS_TARGET),wasip1) +EXEEXT=.wasm +endif +ifeq ($(OS_TARGET),wasip1threads) +EXEEXT=.wasm +endif +ifneq ($(filter $(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 /gtar$(SRCEXEEXT),$(SEARCHPATH)))) +ifeq ($(TARPROG),) +TARPROG:=$(strip $(wildcard $(addsuffix /tar$(SRCEXEEXT),$(SEARCHPATH)))) +ifeq ($(TARPROG),) +TARPROG= __missing_command_TARPROG +else +TARPROG:=$(firstword $(TARPROG)) +endif +else +TARPROG:=$(firstword $(TARPROG)) +endif +endif +export TARPROG +ASNAME=$(BINUTILSPREFIX)as +LDNAME=$(BINUTILSPREFIX)ld +ARNAME=$(BINUTILSPREFIX)ar +RCNAME=$(BINUTILSPREFIX)rc +NASMNAME=$(BINUTILSPREFIX)nasm +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 +ifndef NASMPROG +ifdef CROSSBINDIR +NASMPROG=$(CROSSBINDIR)/$(NASMNAME)$(SRCEXEEXT) +else +NASMPROG=$(NASMNAME) +endif +endif +AS=$(ASPROG) +LD=$(LDPROG) +RC=$(RCPROG) +AR=$(ARPROG) +NASM=$(NASMPROG) +ifdef inUnix +PPAS=./ppas$(SRCBATCHEXT) +else +PPAS=ppas$(SRCBATCHEXT) +endif +ifdef inUnix +LDCONFIG=ldconfig +else +LDCONFIG= +endif +ifdef DATE +DATESTR:=$(shell $(DATE) +%Y%m%d) +else +DATESTR= +endif +ZIPOPT=-9 +ZIPEXT=.zip +ifeq ($(USETAR),bz2) +TAROPT=vj +TAREXT=.tar.bz2 +else +TAROPT=vz +TAREXT=.tar.gz +endif +ifndef NOCPUDEF +override FPCOPTDEF=$(ARCH) +endif +ifneq ($(OS_TARGET),$(OS_SOURCE)) +override FPCOPT+=-T$(OS_TARGET) +endif +ifneq ($(CPU_TARGET),$(CPU_SOURCE)) +override FPCOPT+=-P$(ARCH) +endif +ifeq ($(OS_SOURCE),openbsd) +override FPCOPT+=-FD$(NEW_BINUTILS_PATH) +override FPCMAKEOPT+=-FD$(NEW_BINUTILS_PATH) +override FPMAKE_BUILD_OPT+=-FD$(NEW_BINUTILS_PATH) +endif +ifndef CROSSBOOTSTRAP +ifneq ($(BINUTILSPREFIX),) +override FPCOPT+=-XP$(BINUTILSPREFIX) +ifneq ($(RLINKPATH),) +override FPCOPT+=-Xr$(RLINKPATH) +endif +endif +endif +ifndef CROSSCOMPILE +ifneq ($(BINUTILSPREFIX),) +override FPCMAKEOPT+=-XP$(BINUTILSPREFIX) +override FPMAKE_BUILD_OPT+=-XP$(BINUTILSPREFIX) +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 +FPCCPUOPT:=-O2 +override FPCOPT+=-Ur -Xs $(FPCCPUOPT) -n +override FPCOPTDEF+=RELEASE +endif +ifdef STRIP +override FPCOPT+=-Xs +endif +ifdef OPTIMIZE +override FPCOPT+=-O2 +endif +ifdef VERBOSE +override FPCOPT+=-vwni +endif +ifdef COMPILER_OPTIONS +override FPCOPT+=$(COMPILER_OPTIONS) +endif +ifdef COMPILER_UNITDIR +override FPCOPT+=$(addprefix -Fu,$(COMPILER_UNITDIR)) +endif +ifdef COMPILER_LIBRARYDIR +override FPCOPT+=$(addprefix -Fl,$(COMPILER_LIBRARYDIR)) +endif +ifdef COMPILER_OBJECTDIR +override FPCOPT+=$(addprefix -Fo,$(COMPILER_OBJECTDIR)) +endif +ifdef COMPILER_INCLUDEDIR +override FPCOPT+=$(addprefix -Fi,$(COMPILER_INCLUDEDIR)) +endif +ifdef CROSSBINDIR +override FPCOPT+=-FD$(CROSSBINDIR) +endif +ifdef COMPILER_TARGETDIR +override FPCOPT+=-FE$(COMPILER_TARGETDIR) +ifeq ($(COMPILER_TARGETDIR),.) +override TARGETDIRPREFIX= +else +override TARGETDIRPREFIX=$(COMPILER_TARGETDIR)/ +endif +endif +ifdef COMPILER_UNITTARGETDIR +override FPCOPT+=-FU$(COMPILER_UNITTARGETDIR) +ifeq ($(COMPILER_UNITTARGETDIR),.) +override UNITTARGETDIRPREFIX= +else +override UNITTARGETDIRPREFIX=$(COMPILER_UNITTARGETDIR)/ +endif +else +ifdef COMPILER_TARGETDIR +override COMPILER_UNITTARGETDIR=$(COMPILER_TARGETDIR) +override UNITTARGETDIRPREFIX=$(TARGETDIRPREFIX) +endif +endif +ifdef SYSROOTPATH +override FPCOPT+=-XR$(SYSROOTPATH) +else +ifeq ($(OS_TARGET),$(OS_SOURCE)) +ifeq ($(OS_TARGET),darwin) +ifeq ($(CPU_TARGET),aarch64) +ifneq ($(wildcard /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk),) +override FPCOPT+=-XR/Library/Developer/CommandLineTools/SDKs/MacOSX.sdk +endif +endif +endif +endif +endif +ifdef CREATESHARED +override FPCOPT+=-Cg +endif +ifneq ($(filter $(OS_TARGET),dragonfly freebsd openbsd netbsd linux solaris),) +ifneq ($(filter $(CPU_TARGET),x86_64 mips mipsel mips64 mips64el riscv64 powerpc64),) +override FPCOPT+=-Cg +endif +endif +ifneq ($(filter $(CPU_TARGET),z80),) +override FPCOPT+=-CX -XX +endif +ifdef LINKSHARED +endif +ifdef OPT +override FPCOPT+=$(OPT) +endif +ifdef FPMAKEBUILDOPT +override FPMAKE_BUILD_OPT+=$(FPMAKEBUILDOPT) +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 AFULL_TARGET=$(CPU_TARGET)-$(OS_TARGET) +override AFULL_SOURCE=$(CPU_SOURCE)-$(OS_SOURCE) +ifneq ($(AFULL_TARGET),$(AFULL_SOURCE)) +override ACROSSCOMPILE=1 +endif +ifdef ACROSSCOMPILE +override FPCOPT+=$(CROSSOPT) +endif +override COMPILER:=$(strip $(FPC) $(FPCOPT)) +ifneq (,$(filter -sh,$(COMPILER))) +UseEXECPPAS=1 +endif +ifneq (,$(filter -s,$(COMPILER))) +ifeq ($(FULL_SOURCE),$(FULL_TARGET)) +UseEXECPPAS=1 +endif +endif +ifneq ($(UseEXECPPAS),1) +EXECPPAS= +else +ifdef RUNBATCH +EXECPPAS:=@$(RUNBATCH) $(PPAS) +else +EXECPPAS:=@$(PPAS) +endif +endif +.PHONY: fpc_units +ifneq ($(TARGET_UNITS)$(TARGET_IMPLICITUNITS),) +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 fpc_shared +$(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) $(LTOEXT) .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 %.inc $(COMPILER_INCLUDEDIR) +vpath %$(OEXT) $(COMPILER_UNITTARGETDIR) +vpath %$(LTOEXT) $(COMPILER_UNITTARGETDIR) +vpath %$(PPUEXT) $(COMPILER_UNITTARGETDIR) +.PHONY: fpc_shared +override INSTALLTARGET+=fpc_shared_install +ifndef SHARED_LIBVERSION +SHARED_LIBVERSION=$(FPC_VERSION) +endif +ifndef SHARED_LIBNAME +SHARED_LIBNAME=$(PACKAGE_NAME) +endif +ifndef SHARED_FULLNAME +SHARED_FULLNAME=$(SHAREDLIBPREFIX)$(SHARED_LIBNAME)-$(SHARED_LIBVERSION)$(SHAREDLIBEXT) +endif +ifndef SHARED_LIBUNITS +SHARED_LIBUNITS:=$(TARGET_UNITS) $(TARGET_IMPLICITUNITS) +override SHARED_LIBUNITS:=$(filter-out $(INSTALL_BUILDUNIT),$(SHARED_LIBUNITS)) +endif +fpc_shared: +ifdef HASSHAREDLIB + $(MAKE) all CREATESHARED=1 LINKSHARED=1 CREATESMART=1 +ifneq ($(SHARED_BUILD),n) + $(PPUMOVE) -q $(SHARED_LIBUNITS) -i$(COMPILER_UNITTARGETDIR) -o$(SHARED_FULLNAME) -d$(COMPILER_UNITTARGETDIR) -P$(BINUTILSPREFIX) +endif +else + @$(ECHO) Shared Libraries not supported +endif +fpc_shared_install: +ifneq ($(SHARED_BUILD),n) +ifneq ($(SHARED_LIBUNITS),) +ifneq ($(wildcard $(COMPILER_UNITTARGETDIR)/$(SHARED_FULLNAME)),) + $(INSTALL) $(COMPILER_UNITTARGETDIR)/$(SHARED_FULLNAME) $(INSTALL_SHAREDDIR) +endif +endif +endif +.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 +ifneq ($(IMPORTLIBPREFIX)-$(STATICLIBEXT),$(STATICLIBPREFIX)-$(STATICLIBEXT)) +override INSTALLPPULINKFILES:=$(subst $(PPUEXT),$(OEXT),$(INSTALLPPUFILES)) $(subst $(PPUEXT),$(LTOEXT),$(INSTALLPPUFILES)) $(addprefix $(STATICLIBPREFIX),$(subst $(PPUEXT),$(STATICLIBEXT),$(INSTALLPPUFILES))) $(addprefix $(IMPORTLIBPREFIX),$(subst $(PPUEXT),$(STATICLIBEXT),$(INSTALLPPUFILES))) +else +override INSTALLPPULINKFILES:=$(subst $(PPUEXT),$(OEXT),$(INSTALLPPUFILES)) $(subst $(PPUEXT),$(LTOEXT),$(INSTALLPPUFILES)) $(addprefix $(STATICLIBPREFIX),$(subst $(PPUEXT),$(STATICLIBEXT),$(INSTALLPPUFILES))) +endif +ifneq ($(UNITTARGETDIRPREFIX),) +override INSTALLPPUFILENAMES:=$(notdir $(INSTALLPPUFILES)) +override INSTALLPPULINKFILENAMES:=$(notdir $(INSTALLPPULINKFILES)) +override INSTALLPPUFILES=$(addprefix $(UNITTARGETDIRPREFIX),$(INSTALLPPUFILENAMES)) +override INSTALLPPULINKFILES=$(wildcard $(addprefix $(UNITTARGETDIRPREFIX),$(INSTALLPPULINKFILENAMES))) +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) + $(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: $(EXAMPLEINSTALLTARGET) $(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)) +override CLEANEXEDBGFILES:=$(addprefix $(TARGETDIRPREFIX),$(CLEANEXEDBGFILES)) +endif +ifdef CLEAN_PROGRAMS +override CLEANEXEFILES+=$(addprefix $(TARGETDIRPREFIX),$(addsuffix $(EXEEXT), $(CLEAN_PROGRAMS))) +override CLEANEXEDBGFILES+=$(addprefix $(TARGETDIRPREFIX),$(addsuffix $(EXEDBGEXT), $(CLEAN_PROGRAMS))) +endif +ifdef CLEAN_UNITS +override CLEANPPUFILES+=$(addsuffix $(PPUEXT),$(CLEAN_UNITS)) +endif +ifdef CLEANPPUFILES +override CLEANPPULINKFILES:=$(subst $(PPUEXT),$(OEXT),$(CLEANPPUFILES)) $(subst $(PPUEXT),$(LTOEXT),$(CLEANPPUFILES)) $(addprefix $(STATICLIBPREFIX),$(subst $(PPUEXT),$(STATICLIBEXT),$(CLEANPPUFILES))) $(addprefix $(IMPORTLIBPREFIX),$(subst $(PPUEXT),$(STATICLIBEXT),$(CLEANPPUFILES))) +ifdef DEBUGSYMEXT +override CLEANPPULINKFILES+=$(subst $(PPUEXT),$(DEBUGSYMEXT),$(CLEANPPUFILES)) +endif +override CLEANPPUFILENAMES:=$(CLEANPPUFILES) +override CLEANPPUFILES=$(addprefix $(UNITTARGETDIRPREFIX),$(CLEANPPUFILENAMES)) +override CLEANPPULINKFILENAMES:=$(CLEANPPULINKFILES) +override CLEANPPULINKFILES=$(wildcard $(addprefix $(UNITTARGETDIRPREFIX),$(CLEANPPULINKFILENAMES))) +endif +fpc_clean: $(CLEANTARGET) +ifdef CLEANEXEFILES + -$(DEL) $(CLEANEXEFILES) +endif +ifdef CLEANEXEDBGFILES + -$(DELTREE) $(CLEANEXEDBGFILES) +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) *$(FULL_TARGET).fpm Package.fpc *$(ASMEXT) + -$(DEL) $(FPCEXTFILE) $(REDIRFILE) script*.res link*.res *_script.res *_link.res + -$(DEL) $(PPAS) *_ppas$(BATCHEXT) ppas$(BATCHEXT) ppaslink$(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 +ifdef CLEAN_FILES + -$(DEL) $(CLEAN_FILES) +endif + -$(DELTREE) units + -$(DELTREE) bin + -$(DEL) *$(OEXT) *$(LTOEXT) *$(PPUEXT) *$(RSTEXT) *$(ASMEXT) *$(STATICLIBEXT) *$(SHAREDLIBEXT) *$(PPLEXT) +ifneq ($(PPUEXT),.ppu) + -$(DEL) *.o *.ppu *.a +endif + -$(DELTREE) *$(SMARTEXT) + -$(DEL) fpcmade.* Package.fpc *.fpm + -$(DEL) $(FPCEXTFILE) $(REDIRFILE) script*.res link*.res *_script.res *_link.res + -$(DEL) $(PPAS) *_ppas$(BATCHEXT) ppas$(BATCHEXT) ppaslink$(BATCHEXT) +ifdef AOUTEXT + -$(DEL) *$(AOUTEXT) +endif +ifdef DEBUGSYMEXT + -$(DEL) *$(DEBUGSYMEXT) +endif +ifdef LOCALFPMAKEBIN + -$(DEL) $(LOCALFPMAKEBIN) + -$(DEL) $(FPMAKEBINOBJ) +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) FPC fpmake... $(FPCFPMAKE) + @$(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) 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: fpc_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 +ifndef OSDIR +OSDIR=. +endif +ifndef NSOSDIR +NSOSDIR=$(NSDIR)/$(OS_TARGET) +endif +ifndef PORTSDIR +PORTSDIR=$(OSDIR) +endif +ifndef DYNLIBSINCDIR +DYNLIBSINCDIR=$(OSDIR) +endif +ifndef INITCDIR +ifdef UNIXINC +INITCDIR=$(UNIXINC) +else +INITCDIR=$(OSDIR) +endif +endif +ifndef DOSDIR +DOSDIR=$(OSDIR) +NSDOSDIR=$(NSDIR)/$(DOSDIR) +endif +ifndef OS2DIR +OS2DIR=. +endif +ifndef NSOS2DIR +NSOS2DIR=$(NSDIR)/os2 +endif +ifndef SYSUTILSDIR +SYSUTILSDIR=$(OSDIR) +endif +ifndef NSSYSUTILSDIR +NSSYSUTILSDIR=$(NSDIR)/$(SYSUTILSDIR) +endif +ifndef SYSTEMDIR +SYSTEMDIR=$(OSDIR) +endif +ifndef CLASSESDIR +CLASSESDIR=$(OSDIR) +endif +ifndef TTHREADINCDIR +TTHREADINCDIR=$(CLASSESDIR) +endif +ifndef NSCLASSESDIR +NSCLASSESDIR=$(NSDIR)/$(CLASSESDIR) +endif +ifndef NSBSDDIR +NSBSDDIR=$(NSDIR)/bsd +endif +ifndef TERMIODIR +TERMIODIR=$(OSDIR) +endif +ifndef PTHREADINCDIR +PTHREADINCDIR=$(OSDIR) +endif +ifndef NSWINDOWSDIR +NSWINDOWSDIR=$(NSDIR)/windows +endif +ifndef SYSTEMUNITEXT +SYSTEMUNITEXT=pp +endif +ifndef DOSUNITEXT +DOSUNITEXT=pp +endif +ifndef PORTSUNITEXT +PORTSUNITEXT=pp +endif +ifndef BASEUNIXDIR +BASEUNIXDIR=$(UNIXINC) +endif +ifndef EXTPAS_DEPS_OS +EXTPAS_DEPS_OS=$(DOSUNIT)$(PPUEXT) +endif +ifdef FPC_DOTTEDUNITS +BLOCKRTL_OPT:=$(BLOCKRTL_OPT) -dFPC_DOTTEDUNITS +FPEXTRES_OPT:=$(FPEXTRES_OPT) -dFPC_DOTTEDUNITS +OBJC_OPT:=$(OBJC_OPT) -dFPC_DOTTEDUNITS +OBJCBASE_OPT:=$(OBJCBASE_OPT) -dFPC_DOTTEDUNITS +FPCYLIX_OPT:=$(FPCYLIX_OPT) -dFPC_DOTTEDUNITS +MACPAS_OPT:=$(MACPAS_OPT) -dFPC_DOTTEDUNITS +EXTPAS_OPT:=$(EXTPAS_OPT) -dFPC_DOTTEDUNITS +LINEINFO_OPT:=$(LINEINFO_OPT) -dFPC_DOTTEDUNITS +LNFODWRF_OPT:=$(LNFODWRF_OPT) -dFPC_DOTTEDUNITS +endif +$(SYSTEMUNIT)$(PPUEXT) : $(SYSTEMDIR)/$(SYSTEMUNIT).$(SYSTEMUNITEXT) $(SYSDEPS) + $(COMPILER) $(FPC_SYSTEM_OPT) -Us -Sg $< +UUCHAR_DEPS=$(INC)/uuchar.pp \ + $(SYSTEMUNIT)$(PPUEXT) \ + $(UUCHAR_DEPS_OS) $(UUCHAR_DEPS_CPU) +uuchar$(PPUEXT): $(UUCHAR_DEPS) + $(COMPILER) $(UUCHAR_OPT) $< +UACHAR_DEPS=$(INC)/uachar.pp \ + $(SYSTEMUNIT)$(PPUEXT) \ + $(UACHAR_DEPS_OS) $(UACHAR_DEPS_CPU) +uachar$(PPUEXT): $(UACHAR_DEPS) + $(COMPILER) $(UACHAR_OPT) $< +OBJPAS_DEPS= $(OBJPASDIR)/objpas.pp $(INC)/except.inc \ + $(SYSTEMUNIT)$(PPUEXT) \ + $(OBJPAS_DEPS_OS) $(OBJPAS_DEPS_CPU) +objpas$(PPUEXT): $(OBJPAS_DEPS) + $(COMPILER) $(OBJPAS_OPT) -Fi$(OBJPASDIR) $< +MACPAS_DEPS=$(INC)/macpas.pp \ + $(OBJPASUNIT)$(PPUEXT) $(MATHUNIT)$(PPUEXT) $(SYSTEMUNIT)$(PPUEXT) \ + $(MACPAS_DEPS_OS) $(MACPAS_DEPS_CPU) +macpas$(PPUEXT) : $(MACPAS_DEPS) + $(COMPILER) $(MACPAS_OPT) $< +ISO7185_DEPS= $(INC)/iso7185.pp \ + $(SYSTEMUNIT)$(PPUEXT) \ + $(ISO7185_DEPS_OS) $(ISO7185_DEPS_CPU) +iso7185$(PPUEXT) : $(ISO7185_DEPS) + $(COMPILER) $(ISO7185_OPT) $< +EXTPAS_DEPS=$(INC)/extpas.pp \ + $(SYSTEMUNIT)$(PPUEXT) \ + $(EXTPAS_DEPS_OS) $(EXTPAS_DEPS_CPU) +extpas$(PPUEXT) : $(EXTPAS_DEPS) + $(COMPILER) $(EXTPAS_OPT) $< +FPINTRES_DEPS= $(INC)/fpintres.pp $(SYSTEMUNIT)$(PPUEXT) \ + $(FPINTRES_DEPS_OS) $(FPINTRES_DEPS_CPU) +fpintres$(PPUEXT) : $(FPINTRES_DEPS) + $(COMPILER) $(FPINTRES_OPT) $< +FPEXTRES_DEPS= $(INC)/fpextres.pp $(SYSTEMUNIT)$(PPUEXT) \ + $(FPEXTRES_DEPS_OS) $(FPEXTRES_DEPS_CPU) +fpextres$(PPUEXT) : $(FPEXTRES_DEPS) + $(COMPILER) -Sg $(FPEXTRES_OPT) $< +HEAPTRC_DEPS=$(INC)/heaptrc.pp \ + $(SYSTEMUNIT)$(PPUEXT) \ + $(HEAPTRC_DEPS_OS) $(HEAPTRC_DEPS_CPU) +heaptrc$(PPUEXT) : $(HEAPTRC_DEPS) + $(COMPILER) $(HEAPTRC_OPT) $< +SOFTFPU_DEPS=$(INC)/softfpu.pp \ + $(SYSTEMUNIT)$(PPUEXT) $(OBJPASUNIT)$(PPUEXT) \ + $(SOFTFPU_DEPS_OS) $(SOFTFPU_DEPS_CPU) +softfpu$(PPUEXT) : $(SOFTFPU_DEPS) + $(COMPILER) -Sg $(SOFTFPU_OPT) $< +System.SoftFPU$(PPUEXT) : $(NSINC)/System.SoftFPU.pp $(SOFTFPU_DEPS) + $(COMPILER) -Sg $(SOFTFPU_OPT) $< +SFPUX80_DEPS=$(INC)/sfpux80.pp $(INC)/softfpu.pp \ + $(SYSTEMUNIT)$(PPUEXT) $(OBJPASUNIT)$(PPUEXT) \ + $(SFPUX80_DEPS_OS) $(SFPUX80_DEPS_CPU) +sfpux80$(PPUEXT) : $(SFPUX80_DEPS) + $(COMPILER) -Sg $(SFPUX80_OPT) $< +System.SoftFpuX80$(PPUEXT) : $(NSINC)/System.SoftFpuX80.pp $(SFPUX80_DEPS) + $(COMPILER) -Sg $(SFPUX80_OPT) $< +SFPU128_DEPS=$(INC)/sfpu128.pp $(INC)/softfpu.pp \ + $(SYSTEMUNIT)$(PPUEXT) $(OBJPASUNIT)$(PPUEXT) \ + $(SFPU128_DEPS_OS) $(SFPU128_DEPS_CPU) +sfpu128$(PPUEXT) : $(SFPU128_DEPS) + $(COMPILER) -Sg $(SFPUX128_OPT) $< +System.SoftFpu128$(PPUEXT) : $(NSINC)/System.SoftFpu128.pp $(SFPU128_DEPS) + $(COMPILER) -Sg $(SFPUX128_OPT) $< +UFLOATX80_DEPS=$(INC)/ufloatx80.pp \ + $(SFPUX80UNIT)$(PPUEXT) $(SYSTEMUNIT)$(PPUEXT) \ + $(UFLOATX80_DEPS_OS) $(UFLOATX80_DEPS_CPU) +ufloatx80$(PPUEXT) : $(UFLOATX80_DEPS) + $(COMPILER) $(UFLOATX80_OPT) $< +System.UFloatX80$(PPUEXT) : $(NSINC)/System.UFloatX80.pp $(UFLOATX80_DEPS) + $(COMPILER) $(UFLOATX80_OPT) $< +UFLOAT128_DEPS=$(INC)/ufloat128.pp \ + $(SFPU128UNIT)$(PPUEXT) $(SYSTEMUNIT)$(PPUEXT) \ + $(UFLOAT128_DEPS_OS) $(UFLOAT128_DEPS_CPU) +ufloat128$(PPUEXT) : $(UFLOAT128_DEPS) + $(COMPILER) $(UFLOAT128_OPT) $< +System.UFloat128$(PPUEXT) : $(NSINC)/System.UFloat128.pp $(UFLOAT128_DEPS) + $(COMPILER) $(UFLOAT128_OPT) $< +STRINGS_DEPS=$(INC)/strings.pp $(INC)/stringsi.inc $(PROCINC)/stringss.inc $(PROCINC)/strings.inc \ + $(INC)/genstr.inc $(INC)/genstrs.inc $(INC)/cgenstr.inc \ + $(SYSTEMUNIT)$(PPUEXT) \ + $(STRINGS_DEPS_OS) +strings$(PPUEXT) : $(STRINGS_DEPS) + $(COMPILER) $(STRINGS_OPT) $< +System.Strings$(PPUEXT) : $(NSINC)/System.Strings.pp $(STRINGS_DEPS) + $(COMPILER) $(STRINGS_OPT) $< +PORTS_DEPS=$(PORTSDIR)/ports.$(PORTSUNITEXT) \ + $(SYSTEMUNIT)$(PPUEXT) \ + $(PORTS_DEPS_OS) $(PORTS_DEPS_CPU) +ports$(PPUEXT) : $(PORTS_DEPS) + $(COMPILER) $(PORTS_OPT) $< +System.Ports$(PPUEXT) : $(NSINC)/System.Ports.$(PORTSUNITEXT) $(PORTS_DEPS) + $(COMPILER) $(PORTS_OPT) $< +DYNLIBS_DEPS=$(INC)/dynlibs.pas $(DYNLIBSINCDIR)/dynlibs.inc \ + $(OBJPASUNIT)$(PPUEXT) $(RTLCONSTSUNIT)$(PPUEXT) $(SYSUTILSUNIT)$(PPUEXT) \ + $(DYNLIBS_DEPS_OS) $(DYNLIBS_DEPS_CPU) +ifdef DYNLIBSINCDIR + ifndef DYNLIBS_OPT + DYNLIBS_OPT=-Fi$(DYNLIBSINCDIR) + endif +endif +dynlibs$(PPUEXT) : $(DYNLIBS_DEPS) + $(COMPILER) $(DYNLIBS_OPT) $< +System.DynLibs$(PPUEXT) : $(NSINC)/System.DynLibs.pas $(DYNLIBS_DEPS) + $(COMPILER) $(DYNLIBS_OPT) $< +INITC_DEPS=$(INITCDIR)/initc.pp $(CTYPESUNIT)$(PPUEXT) $(SYSTEMUNIT)$(PPUEXT) \ + $(INITC_DEPS_OS) $(INITC_DEPS_CPU) +initc$(PPUEXT) : $(INITC_DEPS) + $(COMPILER) $(INITC_OPT) $< +System.InitC$(PPUEXT) : $(NSINC)/System.InitC.pp $(INITC_DEPS) + $(COMPILER) $(INITC_OPT) $< +UNIXCP_DEPS=$(UNIXINC)/unixcp.pp $(SYSTEMUNIT)$(PPUEXT) $(OBJPASUNIT)$(PPUEXT) $(BASEUNIXUNIT)$(PPUEXT) \ + $(UNIXCP_DEPS_OS) $(UNIXCP_DEPS_CPU) +unixcp$(PPUEXT) : $(UNIXCP_DEPS) + $(COMPILER) $(UNIXCP_OPT) $(UNIXINC)/unixcp.pp +UnixApi.CP$(PPUEXT) : $(NSINC)/UnixApi.CP.pp $(UNIXCP_DEPS) + $(COMPILER) $(UNIXCP_OPT) $< +ifndef LINUXINC +LINUXINC=$(OSDIR) +endif +ifeq ($(filter -dFPC_USE_LIBC,$(FPCOPT)),) + LINUX_DEPS_OS+=$(SYSCALLUNIT)$(PPUEXT) +else +ifneq ($(filter $(CPU_TARGET),i386 x86_64),) + LINUX_DEPS_OS+=$(SYSCALLUNIT)$(PPUEXT) +endif +endif +LINUX_DEPS=$(LINUXINC)/linux.pp \ + $(BASEUNIXUNIT)$(PPUEXT) $(UNIXTYPEUNIT)$(PPUEXT) $(SYSTEMUNIT)$(PPUEXT) \ + $(LINUX_DEPS_OS) $(LINUX_DEPS_CPU) +linux$(PPUEXT): $(LINUX_DEPS) + $(COMPILER) $< +LinuxApi$(PPUEXT): $(NSOSDIR)/LinuxApi.pp $(LINUX_DEPS) + $(COMPILER) $(LINUX_OPT) $< +LINUXVCS_DEPS=$(LINUXINC)/linuxvcs.pp $(BASEUNIXUNIT)$(PPUEXT) $(STRINGSUNIT)$(PPUEXT) $(SYSTEMUNIT)$(PPUEXT) \ + $(LINUXVCS_DEPS_OS) $(LINUXVCS_DEPS_CPU) +linuxvcs$(PPUEXT): $(LINUXVCS_DEPS) + $(COMPILER) $(LINUXVCS_OPT) $< +LinuxApi.Vcs$(PPUEXT): $(NSOSDIR)/LinuxApi.Vcs.pp $(LINUXVCS_DEPS) + $(COMPILER) $(LINUXVCS_OPT) $< +FPCYLIX_DEPS=../linux/fpcylix.pp \ + $(CTHREADSUNIT)$(PPUEXT) $(CWSTRINGUNIT)$(PPUEXT) $(DYNLIBSUNIT)$(PPUEXT) \ + $(OBJPASUNIT)$(PPUEXT) $(SYSTEMUNIT)$(PPUEXT) \ + $(FPCYLIX_DEPS_OS) $(FPCYLIX_DEPS_CPU) +fpcylix$(PPUEXT) : $(FPCYLIX_DEPS) + $(COMPILER) $(FPCYLIX_OPT) $< +TERMIO_DEPS=$(TERMIODIR)/termio.pp $(UNIXINC)/ttyname.inc $(TERMIODIR)/termios.inc \ + $(TERMIODIR)/termiosproc.inc $(BASEUNIXUNIT)$(PPUEXT) $(SYSTEMUNIT)$(PPUEXT) \ + $(TERMIO_DEPS_OS) $(TERMIO_DEPS_CPU) +termio$(PPUEXT) : $(TERMIO_DEPS) + $(COMPILER) $(TERMIO_OPT) $< +UnixApi.TermIO$(PPUEXT) : $(NSINC)/UnixApi.TermIO.pp $(TERMIO_DEPS) + $(COMPILER) $(TERMIO_OPT) $< +CONSOLE_DEPS= console.pp $(BASEUNIXUNIT)$(PPUEXT) $(TERMIOUNIT)$(PPUEXT) $(SYSTEMUNIT)$(PPUEXT) \ + $(CONSOLE_DEPS_OS) $(CONSOLE_DEPS_CPU) +console$(PPUEXT) : $(CONSOLE_DEPS) + $(COMPILER) $(CONSOLE_OPT) $< +System.Console$(PPUEXT) : $(NSOSDIR)/System.Console.pp $(CONSOLE_DEPS) + $(COMPILER) $(CONSOLE_OPT) $< +DOS_DEPS=$(DOSDIR)/dos.$(DOSUNITEXT) $(INC)/filerec.inc $(INC)/textrec.inc \ + $(STRINGSUNIT)$(PPUEXT) $(SYSTEMUNIT)$(PPUEXT) \ + $(DOS_DEPS_OS) $(DOS_DEPS_CPU) +dos$(PPUEXT): $(DOS_DEPS) + $(COMPILER) $(DOS_OPTS) $< +TP.DOS$(PPUEXT): $(NSINC)/TP.DOS.$(DOSUNITEXT) $(DOS_DEPS) + $(COMPILER) $(DOS_OPTS) $(DOS_NS_OPTS) $< +MSMOUSE_DEPS=msmouse.pp $(SYSTEMUNIT)$(PPUEXT) +msmouse$(PPUEXT) : $(MSMOUSE_DEPS) + $(COMPILER) $(MSMOUSE_OPTS) $< +DOSApi.MSMouse$(PPUEXT) : $(NSOSDIR)/DOSApi.MSMouse.pp $(MSMOUSE_DEPS) + $(COMPILER) $(MSMOUSE_OPTS) $< +SYSUTILS_UNIX_DEPS=$(UNIXUNIT)$(PPUEXT) $(ERRORSUNIT)$(PPUEXT) $(UNIXTYPEUNIT)$(PPUEXT) \ + $(BASEUNIXUNIT)$(PPUEXT) $(UNIXTYPEUNIT)$(PPUEXT) \ + $(UNIXUTILUNIT)$(PPUEXT) $(INITCUNIT)$(PPUEXT) +ifeq ($(filter -dFPC_USE_LIBC,$(FPCOPT)),) + SYSUTILS_UNIX_DEPS+= $(SYSCALLUNIT)$(PPUEXT) +endif +SYSUTILS_DEPS=$(SYSUTILSDIR)/sysutils.pp $(wildcard $(OBJPASDIR)/sysutils/*.inc) \ + $(SYSTEMUNIT)$(PPUEXT) $(OBJPASUNIT)$(PPUEXT) $(SYSCONSTUNIT)$(PPUEXT) \ + $(SYSUTILS_DEPS_OS) $(SYSUTILS_DEPS_CPU) +sysutils$(PPUEXT) : $(SYSUTILS_DEPS) + $(COMPILER) -Fi$(OBJPASDIR)/sysutils $< +System.SysUtils$(PPUEXT) : $(NSINC)/System.SysUtils.pp $(SYSUTILS_DEPS) + $(COMPILER) $(SYSUTILS_OPT) -Fi$(OBJPASDIR)/sysutils -Fi$(SYSUTILSDIR) $< +CLASSES_DEPS=$(CLASSESDIR)/classes.pp $(TTHREADINCDIR)/tthread.inc $(wildcard $(OBJPASDIR)/classes/*.inc) \ + $(SYSTEMUNIT)$(PPUEXT) $(OBJPASUNIT)$(PPUEXT) $(SORTBASEUNIT)$(PPUEXT) \ + $(SYSUTILSUNIT)$(PPUEXT) $(TYPINFOUNIT)$(PPUEXT) $(RTLCONSTSUNIT)$(PPUEXT) \ + $(FGLUNIT)$(PPUEXT) $(TYPESUNIT)$(PPUEXT) \ + $(CLASSES_DEPS_OS) $(CLASSES_DEPS_CPU) +classes$(PPUEXT) : $(CLASSES_DEPS) + $(COMPILER) -Fi$(OBJPASDIR)/classes $(CLASSES_OPT) $< +System.Classes$(PPUEXT) : $(NSINC)/System.Classes.pp $(CLASSES_DEPS) + $(COMPILER) -Fi$(OBJPASDIR)/classes $(CLASSES_OPT) $< +TYPINFO_DEPS=$(OBJPASDIR)/typinfo.pp \ + $(OBJPASUNIT)$(PPUEXT) $(SYSUTILSUNIT)$(PPUEXT) $(RTLCONSTSUNIT)$(PPUEXT) \ + $(TYPINFO_DEPS_OS) $(TYPINFO_DEPS_CPU) +typinfo$(PPUEXT): $(TYPINFO_DEPS) + $(COMPILER) -Sg $(TYPINFO_OPT) $< +System.TypInfo$(PPUEXT): $(NSINC)/System.TypInfo.pp $(TYPINFO_DEPS) + $(COMPILER) -Fi$(OBJPASDIR) -Sg $(TYPINFO_OPT) $< +CHARACTER_DEPS=$(OBJPASDIR)/character.pas $(UNICODEDATAUNIT)$(PPUEXT) \ + $(SYSUTILSUNIT)$(PPUEXT) $(OBJPASUNIT)$(PPUEXT) $(RTLCONSTSUNIT)$(PPUEXT) \ + $(CHARACTER_DEPS_OS) $(CHARACTER_DEPS_CPU) +character$(PPUEXT): $(CHARACTER_DEPS) + $(COMPILER) $(CHARACTER_OPT) $< +System.Character$(PPUEXT): $(NSINC)/System.Character.pas $(CHARACTER_DEPS) + $(COMPILER) $(CHARACTER_OPT) -Fi$(OBJPASDIR) $< +MATH_DEPS= $(OBJPASDIR)/math.pp $(PROCINC)/mathu.inc \ + $(OBJPASUNIT)$(PPUEXT) $(SYSUTILSUNIT)$(PPUEXT) $(SYSTEMUNIT)$(PPUEXT) \ + $(MATH_DEPS_OS) $(MATH_DEPS_CPU) +math$(PPUEXT): $(MATH_DEPS) + $(COMPILER) $(MATH_OPT) $< +System.Math$(PPUEXT): $(NSINC)/System.Math.pp $(MATH_DEPS) + $(COMPILER) $(MATH_OPT) -Fi$(OBJPASDIR) $< +FGL_DEPS=$(OBJPASDIR)/fgl.pp \ + $(OBJPASUNIT)$(PPUEXT) $(TYPESUNIT)$(PPUEXT) $(SYSTEMUNIT)$(PPUEXT) \ + $(SYSUTILSUNIT)$(PPUEXT) $(SORTBASEUNIT)$(PPUEXT) \ + $(RTLCONSTSUNIT)$(PPUEXT) \ + $(FGL_DEPS_OS) $(FGL_DEPS_CPU) +fgl$(PPUEXT) : $(FGL_DEPS) + $(COMPILER) $(FGL_OPT) $< +System.FGL$(PPUEXT) : $(NSINC)/System.FGL.pp $(FGL_DEPS) + $(COMPILER) -Fi$(OBJPASDIR) $(FGL_OPT) $< +TYPES_DEPS=$(OBJPASDIR)/types.pp \ + $(OBJPASUNIT)$(PPUEXT) $(MATHUNIT)$(PPUEXT) $(SYSTEMUNIT)$(PPUEXT) \ + $(TYPES_DEPS_OS) $(TYPES_DEPS_CPU) +types$(PPUEXT) : $(TYPES_DEPS) + $(COMPILER) $(TYPES_OPT) $< +System.Types$(PPUEXT) : $(NSINC)/System.Types.pp $(TYPES_DEPS) + $(COMPILER) -Fi$(OBJPASDIR) $(TYPES_OPT) $< +SYSCONST_DEPS=$(OBJPASDIR)/sysconst.pp \ + $(OBJPASUNIT)$(PPUEXT) $(SYSTEMUNIT)$(PPUEXT) \ + $(SYSCONST_DEPS_OS) $(SYSCONST_DEPS_CPU) +sysconst$(PPUEXT) : $(SYSCONST_DEPS) + $(COMPILER) $(SYSCONST_OPT) $< +System.SysConst$(PPUEXT) : $(NSINC)/System.SysConst.pp $(SYSCONST_DEPS) + $(COMPILER) -Fi$(OBJPASDIR) $(SYSCONST_OPT) $< +ifdef FPC_DOTTEDUNITS +RTLCONSTS_DEPS=$(OBJPASDIR)/rtlconsts.pp $(OBJPASDIR)/rtlconst.inc \ + $(OBJPASUNIT)$(PPUEXT) $(SYSTEMUNIT)$(PPUEXT) \ + $(RTLCONSTS_DEPS_OS) $(RTLCONSTS_DEPS_CPU) +System.RtlConsts$(PPUEXT) : $(NSINC)/System.RtlConsts.pp $(RTLCONSTS_DEPS) + $(COMPILER) -Fi$(OBJPASDIR) $(RTLCONSTS_OPT) $< +else +RTLCONSTS_DEPS=$(OBJPASDIR)/$(RTLCONSTSUNIT).pp $(OBJPASDIR)/rtlconst.inc \ + $(OBJPASUNIT)$(PPUEXT) $(SYSTEMUNIT)$(PPUEXT) \ + $(RTLCONSTS_DEPS_OS) $(RTLCONSTS_DEPS_CPU) +$(RTLCONSTSUNIT)$(PPUEXT) : $(RTLCONSTS_DEPS) + $(COMPILER) $(RTLCONSTS_OPT) $< +endif +ifneq ($(findstring $(ARCH),x86_64 i386 i8086),) +CPU_DEPS_CPU:=$(CPU_DEPS_CPU) $(SYSUTILSUNIT)$(PPUEXT) +endif +CPU_DEPS=$(PROCINC)/cpu.pp \ + $(SYSTEMUNIT)$(PPUEXT) $(OBJPASUNIT)$(PPUEXT) $(SYSUTILSUNIT)$(PPUEXT) \ + $(CPU_DEPS_OS) $(CPU_DEPS_CPU) +cpu$(PPUEXT) : $(CPU_DEPS) + $(COMPILER) $(CPU_OPT) $< +System.CPU$(PPUEXT) : $(NSINC)/System.CPU.pp $(CPU_DEPS) + $(COMPILER) $(CPU_OPT) $< +MMX_DEPS=$(PROCINC)/mmx.pp \ + $(CPUUNIT)$(PPUEXT) $(SYSTEMUNIT)$(PPUEXT) \ + $(MMX_DEPS_OS) $(MMX_DEPS_CPU) +mmx$(PPUEXT) : $(MMX_DEPS) + $(COMPILER) $(MMX_OPT) $< +System.CPU.MMX$(PPUEXT) : $(NSINC)/System.CPU.MMX.pp $(MMX_DEPS) + $(COMPILER) $(MMX_OPT) $< +ifeq ($(filter -dFPC_USE_LIBC,$(FPCOPT)),) + X86_DEPS_OS+=$(SYSCALLUNIT)$(PPUEXT) +endif +X86_DEPS = $(UNIXINC)/x86.pp \ + $(BASEUNIXUNIT)$(PPUEXT) $(SYSTEMUNIT)$(PPUEXT) \ + $(X86_DEPS_OS) $(X86_DEPS_CPU) +x86$(PPUEXT) : $(X86_DEPS) + $(COMPILER) $(X86_OPT) $< +System.X86$(PPUEXT) : $(NSINC)/System.X86.pp $(X86_DEPS) + $(COMPILER) $(X86_OPT) $< +GETOPTS_DEPS=$(INC)/getopts.pp \ + $(SYSTEMUNIT)$(PPUEXT) \ + $(GETOPTS_DEPS_OS) $(GETOPTS_DEPS_CPU) +getopts$(PPUEXT) : $(GETOPTS_DEPS) + $(COMPILER) $(GETOPTS_OPT) $< +System.GetOpts$(PPUEXT) : $(NSINC)/System.GetOpts.pp $(GETOPTS_DEPS) + $(COMPILER) $(GETOPTS_OPT) $< +LINEINFO_DEPS=$(INC)/lineinfo.pp \ + $(STRINGSUNIT)$(PPUEXT) $(SYSTEMUNIT)$(PPUEXT) $(SYSUTILSUNIT)$(PPUEXT) $(EXEINFOUNIT)$(PPUEXT) \ + $(LINEINFO_DEPS_OS) $(LINEINFO_DEPS_CPU) +lineinfo$(PPUEXT) : $(LINEINFO_DEPS) + $(COMPILER) $(LINEINFO_OPT) $< +System.LineInfo$(PPUEXT) : $(NSINC)/System.LineInfo.pp $(LINEINFO_DEPS) + $(COMPILER) $(LINEINFO_OPT) $< +EXEINFO_DEPS=$(INC)/exeinfo.pp \ + $(STRINGSUNIT)$(PPUEXT) $(SYSTEMUNIT)$(PPUEXT) \ + $(EXEINFO_DEPS_OS) $(EXEINFO_DEPS_CPU) +exeinfo$(PPUEXT) : $(EXEINFO_DEPS) + $(COMPILER) $(EXEINFO_OPT) $< +System.ExeInfo$(PPUEXT) : $(NSINC)/System.ExeInfo.pp $(EXEINFO_DEPS) + $(COMPILER) $(EXEINFO_OPT) $< +LNFODWRF_DEPS=$(INC)/lnfodwrf.pp \ + $(SYSTEMUNIT)$(PPUEXT) $(STRINGSUNIT)$(PPUEXT) \ + $(SYSUTILSUNIT)$(PPUEXT) $(EXEINFOUNIT)$(PPUEXT) \ + $(LNFODWRF_DEPS_OS) $(LNFODWRF_DEPS_CPU) +lnfodwrf$(PPUEXT) : $(LNFODWRF_DEPS) + $(COMPILER) $(LNFODWRF_OPT) $< +System.LineInfo.Dwarf$(PPUEXT) : $(NSINC)/System.LineInfo.Dwarf.pp $(LNFODWRF_DEPS) + $(COMPILER) $(LNFODWRF_OPT) $< +LNFOGDB_DEPS=$(UNIXINC)/lnfogdb.pp \ + $(SYSTEMUNIT)$(PPUEXT) $(CTYPESUNIT)$(PPUEXT) \ + $(BASEUNIXUNIT)$(PPUEXT) $(UNIXUNIT)$(PPUEXT) \ + $(LNFOGDB_DEPS_OS) $(LNFOGDB_DEPS_CPU) +lnfogdb$(PPUEXT) : $(LNFOGDB_DEPS) + $(COMPILER) $(LNFOGDB_OPT) $< +System.LineInfo.Gdb$(PPUEXT) : $(NSINC)/System.LineInfo.Gdb.pp $(LNFOGDB_DEPS) + $(COMPILER) $(LNFOGDB_OPT) $< +CHARSET_DEPS=$(INC)/charset.pp \ + $(SYSTEMUNIT)$(PPUEXT) $(OBJPASUNIT)$(PPUEXT) \ + $(CHARSET_DEPS_OS) $(CHARSET_DEPS_CPU) +charset$(PPUEXT) : $(CHARSET_DEPS) + $(COMPILER) $(CHARSET_OPT) $< +System.CharSet$(PPUEXT) : $(NSINC)/System.CharSet.pp $(CHARSET_DEPS) + $(COMPILER) $(CHARSET_OPT) $< +UNICODEDATA_DEPS = $(OBJPASDIR)/unicodedata.pas $(OBJPASDIR)/unicodedata.inc \ + $(OBJPASDIR)/unicodedata_le.inc $(OBJPASDIR)/unicodedata_be.inc \ + $(SYSTEMUNIT)$(PPUEXT) $(OBJPASUNIT)$(PPUEXT) +unicodedata$(PPUEXT) : $(UNICODEDATA_DEPS) + $(COMPILER) -Fi$(OBJPASDIR) $(UNICODEDATA_OPT) $< +System.CodePages.unicodedata$(PPUEXT) : $(NSINC)/System.CodePages.unicodedata.pas $(UNICODEDATA_DEPS) + $(COMPILER) -Fi$(OBJPASDIR) $(UNICODEDATA_OPT) $< +CPALL_DEPS=$(RTL)/charmaps/cpall.pas $(CP_UNITS_SRC) \ + system$(PPUEXT) $(CHARSETUNIT)$(PPUEXT) \ + $(CPALL_DEPS_OS) $(CPALL_DEPS_CPU) +cpall$(PPUEXT): $(CPALL_DEPS) + $(COMPILER) $(CPALL_OPT) -Fu$(INC) -Fi$(RTL)/charmaps $< +System.CodePages.All$(PPUEXT): $(NSINC)/System.CodePages.All.pas $(CPALL_DEPS) + $(COMPILER) $(CPALL_OPT) -Fu$(INC) -Fi$(RTL)/charmaps $< +ifneq ($(UNIXINC),) + FPWIDESTRING_DEPS_OS:=$(FPWIDESTRING_DEPS_OS) $(UNIXCPUNIT)$(PPUEXT) +endif +ifneq ($(AMIINC),) + RTLDEFSINCDIR=$(AMIINC) +else +ifeq ($(OS_TARGET),android) + RTLDEFSINCDIR = $(LINUXINC) +else + RTLDEFSINCDIR = $(OSDIR) +endif +endif +FPWIDESTRING_DEPS=$(OBJPASDIR)/fpwidestring.pp $(RTLDEFSINCDIR)/rtldefs.inc \ + $(SYSTEMUNIT)$(PPUEXT) $(OBJPASUNIT)$(PPUEXT) $(UNICODEDATAUNIT)$(PPUEXT) \ + $(CHARACTERUNIT)$(PPUEXT) $(CPALLUNIT)$(PPUEXT) \ + $(FPWIDESTRING_DEPS_OS) $(FPWIDESTRING_DEPS_CPU) +fpwidestring$(PPUEXT): $(FPWIDESTRING_DEPS) + $(COMPILER) $(FPWIDESTRING_OPT) $< +System.FPWideString$(PPUEXT): $(NSINC)/System.FPWideString.pp $(FPWIDESTRING_DEPS) + $(COMPILER) -Fi$(OBJPASDIR) $(FPWIDESTRING_OPT) $< +SORTBASE_DEPS=$(INC)/sortbase.pp $(OBJPASUNIT)$(PPUEXT) $(SYSTEMUNIT)$(PPUEXT) \ + $(SORTBASE_DEPS_OS) $(SORTBASE_DEPS_CPU) +sortbase$(PPUEXT) : $(SORTBASE_DEPS) + $(COMPILER) $(SORTBASE_OPT) $< +System.SortBase$(PPUEXT) : $(NSINC)/System.SortBase.pp $(SORTBASE_DEPS) + $(COMPILER) $(SORTBASE_OPT) $< +CALLSPEC_DEPS=$(INC)/callspec.pp \ + $(SYSTEMUNIT)$(PPUEXT) \ + $(CALLSPEC_DEPS_OS) $(CALLSPEC_DEPS_CPU) +callspec$(PPUEXT) : $(CALLSPEC_DEPS) + $(COMPILER) $(CALLSPEC_OPT) $< +System.CallSpec$(PPUEXT) : $(NSINC)/System.CallSpec.pp $(CALLSPEC_DEPS) + $(COMPILER) $(CALLSPEC_OPT) $< +CMEM_DEPS=$(INC)/cmem.pp \ + $(SYSTEMUNIT)$(PPUEXT) \ + $(CMEM_DEPS_OS) $(CMEM_DEPS_CPU) +cmem$(PPUEXT) : $(CMEM_DEPS) + $(COMPILER) $(CMEM_OPT) $< +System.CMem$(PPUEXT) : $(NSINC)/System.CMem.pp $(CMEM_DEPS) + $(COMPILER) $(CMEM_OPT) $< +ifndef PTYPESINCDIR + PTYPESINCDIR=$(OSDIR) +endif +BASEUNIX_DEPS=$(BASEUNIXDIR)/baseunix.pp $(UNIXINC)/ctypes.inc \ + $(UNIXINC)/bunxh.inc $(UNIXINC)/gensigset.inc $(PTYPESINCDIR)/ptypes.inc $(OSDIR)/errno.inc \ + $(UNIXTYPEUNIT)$(PPUEXT) $(SYSTEMUNIT)$(PPUEXT) \ + $(BASEUNIX_DEPS_OS) $(BASEUNIX_DEPS_CPU) +baseunix$(PPUEXT): $(BASEUNIX_DEPS) + $(COMPILER) $(BASEUNIX_OPT) $< +UnixApi.Base$(PPUEXT): $(NSINC)/UnixApi.Base.pp $(BASEUNIX_DEPS) + $(COMPILER) $(BASEUNIX_OPT) $< +ifndef UNXINC + UNXINC=$(OSDIR) +endif +UNIX_DEPS=$(UNIXINC)/unix.pp \ + $(STRINGSUNIT)$(PPUEXT) $(SYSTEMUNIT)$(PPUEXT) $(BASEUNIXUNIT)$(PPUEXT) \ + $(UNIXUTILUNIT)$(PPUEXT) \ + $(INC)/textrec.inc $(INC)/filerec.inc $(UNIXINC)/timezone.inc \ + $(UNXINC)/unxconst.inc $(UNXINC)/unxfunc.inc \ + $(UNIX_DEPS_OS) $(UNIX_DEPS_CPU) +unix$(PPUEXT): $(UNIX_DEPS) + $(COMPILER) $(UNIX_OPT) $< +UnixApi.Unix$(PPUEXT) : $(NSINC)/UnixApi.Unix.pp $(UNIX_DEPS) + $(COMPILER) $(UNIX_OPT) $< +SYSCALL_DEPS=$(UNIXINC)/syscall.pp \ + $(SYSTEMUNIT)$(PPUEXT) \ + $(SYSCALL_DEPS_OS) $(SYSCALL_DEPS_CPU) +syscall$(PPUEXT) : $(SYSCALL_DEPS) + $(COMPILER) $(SYSCALL_OPT) $< +UnixApi.SysCall$(PPUEXT) : $(NSINC)/UnixApi.SysCall.pp $(SYSCALL_DEPS) + $(COMPILER) $(SYSCALL_OPT) $< +UNIXUTIL_DEPS=$(UNIXINC)/unixutil.pp $(INC)/textrec.inc $(INC)/filerec.inc \ + $(SYSTEMUNIT)$(PPUEXT) \ + $(UNIXUTIL_DEPS_OS) +unixutil$(PPUEXT) : $(UNIXUTIL_DEPS) + $(COMPILER) $(UNIXUTIL_OPT) $< +UnixApi.Utils$(PPUEXT) : $(NSINC)/UnixApi.Utils.pp $(UNIXUTIL_DEPS) + $(COMPILER) $(UNIXUTIL_OPT) $< +UNIXTYPE_DEPS=$(UNIXINC)/unixtype.pp \ + $(SYSTEMUNIT)$(PPUEXT) $(PTYPESINCDIR)/ptypes.inc $(UNIXINC)/ctypes.inc \ + $(UNIXTYPE_DEPS_OS) $(UNIXTYPE_DEPS_CPU) +unixtype$(PPUEXT) : $(UNIXTYPE_DEPS) + $(COMPILER) $(UNIXTYPE_OPT) $(UNIXINC)/unixtype.pp +UnixApi.Types$(PPUEXT) : $(NSINC)/UnixApi.Types.pp $(UNIXTYPE_DEPS) + $(COMPILER) $(UNIXTYPE_OPT) $< +UNIX98PTY_DEPS=$(UNIXINC)/unix98pty.pp \ + $(CTYPESUNIT)$(PPUEXT) +unix98pty$(PPUEXT) : $(UNIX98PTY_DEPS) + $(COMPILER) $(UNIX98PTY_OPT) $(UNIXINC)/unix98pty.pp +UnixApi.Unix98.PTY$(PPUEXT) : $(NSINC)/UnixApi.Unix98.PTY.pp $(UNIX98PTY_DEPS) + $(COMPILER) $(UNIX98PTY_OPT) $< +DL_DEPS=$(UNIXINC)/dl.pp \ + $(SYSTEMUNIT)$(PPUEXT) $(UNIXTYPEUNIT)$(PPUEXT) $(CTYPESUNIT)$(PPUEXT) \ + $(DL_DEPS_OS) $(DL_DEPS_CPU) +dl$(PPUEXT) : $(DL_DEPS) + $(COMPILER) $(DL_OPT) $< +UnixApi.Dl$(PPUEXT) : $(NSINC)/UnixApi.Dl.pp $(DL_DEPS) + $(COMPILER) $(DL_OPT) $< +ERRORS_DEPS=$(UNIXINC)/errors.pp \ + $(STRINGSUNIT)$(PPUEXT) $(UNIXTYPEUNIT)$(PPUEXT) $(SYSTEMUNIT)$(PPUEXT) \ + $(ERRORS_DEPS_OS) $(ERRORS_DEPS_CPU) +errors$(PPUEXT) : $(ERRORS_DEPS) + $(COMPILER) $(ERRORS_OPT) $< +UnixApi.Errors$(PPUEXT) : $(NSINC)/UnixApi.Errors.pp $(ERRORS_DEPS) + $(COMPILER) $(ERRORS_OPT) $< +CTHREADS_DEPS=$(UNIXINC)/cthreads.pp $(PTHREADINCDIR)/pthread.inc \ + $(SYSTEMUNIT)$(PPUEXT) $(OBJPASUNIT)$(PPUEXT) $(UNIXTYPEUNIT)$(PPUEXT) $(UNIXUNIT)$(PPUEXT) \ + $(BASEUNIXUNIT)$(PPUEXT) $(INITCUNIT)$(PPUEXT) $(DLUNIT)$(PPUEXT) \ + $(CTHREADS_DEPS_OS) $(CTHREADS_DEPS_CPU) +cthreads$(PPUEXT) : $(CTHREADS_DEPS) + $(COMPILER) $(CTHREADS_OPT) $< +UnixApi.CThreads$(PPUEXT) : $(NSINC)/UnixApi.CThreads.pp $(CTHREADS_DEPS) + $(COMPILER) $(CTHREADS_OPT) $< +NOTHREADS_DEPS=$(SYSTEMUNIT)$(PPUEXT) $(OBJPASUNIT)$(PPUEXT) +nothreads$(PPUEXT) : $(INC)/nothreads.pp $(NOTHREADS_DEPS) + $(COMPILER) $(NOTHREADS_OPT) $< +System.NoThreads$(PPUEXT) : $(NSINC)/System.NoThreads.pp $(NOTHREADS_DEPS) + $(COMPILER) $(NOTHREADS_OPT) $< +ifndef CWSTRINGDIR + CWSTRINGDIR=$(UNIXINC) + CWSSTRING_INC=$(RTLDEFSINCDIR)/rtldefs.inc +endif +CWSTRING_DEPS=$(CWSTRINGDIR)/cwstring.pp $(CWSTRING_INC) \ + $(SYSTEMUNIT)$(PPUEXT) $(OBJPASUNIT)$(PPUEXT) $(UNIXTYPEUNIT)$(PPUEXT) $(BASEUNIXUNIT)$(PPUEXT) \ + $(UNIXUNIT)$(PPUEXT) $(UNIXTYPEUNIT)$(PPUEXT) $(CTYPESUNIT)$(PPUEXT) \ + $(DYNLIBSUNIT)$(PPUEXT) $(UNIXCPUNIT)$(PPUEXT) \ + $(CWSTRING_DEPS_OS) $(CWSTRING_DEPS_CPU) +cwstring$(PPUEXT) : $(CWSTRING_DEPS) + $(COMPILER) $(CWSTRING_OPT) $< +UnixApi.CWString$(PPUEXT) : $(NSINC)/UnixApi.CWString.pp $(CWSTRING_DEPS) + $(COMPILER) $(CWSTRING_OPT) $< +ifneq ($(UNIXINC),) +ifneq ($(OS_TARGET),macosclassic) + CTYPES_DEPS_OS+=$(UNIXTYPEUNIT)$(PPUEXT) +endif +endif +CTYPES_DEPS=$(INC)/ctypes.pp \ + $(SYSTEMUNIT)$(PPUEXT) \ + $(CTYPES_DEPS_OS) $(CTYPES_DEPS_CPU) +ctypes$(PPUEXT) : $(CTYPES_DEPS) + $(COMPILER) $(CTYPES_OPT) $< +System.CTypes$(PPUEXT) : $(NSINC)/System.CTypes.pp $(CTYPES_DEPS) + $(COMPILER) $(CTYPES_OPT) $< +OBJC_DEPS=$(INC)/objc.pp $(INC)/objc.pp $(INC)/objc1.inc $(INC)/objcnf.inc \ + $(SYSTEMUNIT)$(PPUEXT) $(CTYPESUNIT)$(PPUEXT) $(UNIXTYPEUNIT)$(PPUEXT) \ + $(OBJC_DEPS_OS) $(OBJC_DEPS_CPU) +objc$(PPUEXT) : $(OBJC_DEPS) + $(COMPILER) $(OBJC_OPT) $< +OBJCBASE_DEPS=$(INC)/objcbase.pp \ + $(SYSTEMUNIT)$(PPUEXT) $(OBJCUNIT)$(PPUEXT) \ + $(OBJCBASE_DEPS_OS) $(OBJCBASE_DEPS_CPU) +objcbase$(PPUEXT) : $(OBJCBASE_DEPS) + $(COMPILER) $(OBJCBASE_OPT) $< +BLOCKRTL_DEPS=$(INC)/blockrtl.pp \ + $(SYSTEMUNIT)$(PPUEXT) $(OBJPASUNIT)$(PPUEXT) $(INITCUNIT)$(PPUEXT) $(CTYPESUNIT)$(PPUEXT) \ + $(BLOCKRTL_DEPS_OS) $(BLOCKRTL_DEPS_CPU) +blockrtl$(PPUEXT) : $(BLOCKRTL_DEPS) + $(COMPILER) $(BLOCKRTL_OPT) $< +ifndef WININCDIR + WININCDIR = $(WINDIR)/wininc +endif +WINDOWS_DEPS=windows.pp $(SYSTEMUNIT)$(PPUEXT) $(OBJPASUNIT)$(PPUEXT) \ + $(WINDOWS_DEPS_OS) $(WINDOWS_DEPS_CPU) +windows$(PPUEXT): $(WINDOWS_DEPS) + $(COMPILER) -Fi$(WININC) $(WINDOWS_OPT) $< +WinApi.Windows$(PPUEXT): $(NSWINDOWSDIR)/WinApi.Windows.pp $(WINDOWS_DEPS) + $(COMPILER) -Fi$(WININC) -Fi$(WINDIR) $(WINDOWS_OPT) $< +WINDIRS_DEPS=$(WINDIRSDIR)/windirs.pp $(WINDOWSUNIT)$(PPUEXT) $(SYSTEMUNIT)$(PPUEXT) \ + $(WINDIRS_DEPS_OS) $(WINDIRS_DEPS_CPU) +windirs$(PPUEXT): $(WINDIRS_DEPS) + $(COMPILER) $(WINDIRS_OPT) $< +WinApi.WinDirs$(PPUEXT): $(NSWINDOWSDIR)/WinApi.WinDirs.pp $(WINDIRS_DEPS) + $(COMPILER) -Fi$(WININC) -Fi$(WINDIR) $(WINDIRS_OPT) $< +ifndef WINMESSAGESDIR + WINMESSAGESDIR = $(WINDIR) +endif +ifndef WINMESSAGESINCDIR + WINMESSAGESINCDIR = $(WINDIR)/wininc +endif +MESSAGES_DEPS = $(WINMESSAGESDIR)/messages.pp $(WINMESSAGESINCDIR)/messages.inc $(WINDOWSUNIT)$(PPUEXT) $(SYSTEMUNIT)$(PPUEXT) \ + $(MESSAGES_DEPS_OS) $(MESSAGES_DEPS_CPU) +messages$(PPUEXT): $(MESSAGES_DEPS) + $(COMPILER) -Fi$(WINMESSAGESINCDIR) $< +WinApi.Messages$(PPUEXT): $(NSWINDOWSDIR)/WinApi.Messages.pp $(MESSAGES_DEPS) + $(COMPILER) -Fi$(WINMESSAGESINCDIR) -Fi$(WINMMESSAGESDIR) $< +WINTYPES_DEPS = wintypes.pp wintypes.inc $(SYSTEMUNIT)$(PPUEXT) \ + $(WINTYPES_DEPS_OS) $(WINTYPES_DEPS_CPU) +wintypes$(PPUEXT) : $(WINTYPES_DEPS) + $(COMPILER) $< +WinApi.WinTypes$(PPUEXT) : $(NSWINDOWSDIR)/WinApi.WinTypes.pp $(WINTYPES_DEPS) + $(COMPILER) $< +WINPROCS_DEPS = winprocs.pp winprocsh.inc winprocs.inc $(SYSTEMUNIT)$(PPUEXT) $(OBJPASUNIT)$(PPUEXT) $(WINTYPESUNIT)$(PPUEXT) \ + $(WINTYPES_DEPS_OS) $(WINTYPES_DEPS_CPU) +winprocs$(PPUEXT) : $(WINPROCS_DEPS) + $(COMPILER) $< +WinApi.Winprocs$(PPUEXT) : $(NSWINDOWSDIR)/WinApi.WinProcs.pp $(WINPROCS_DEPS) + $(COMPILER) $< +WIN31_DEPS = win31.pp $(SYSTEMUNIT)$(PPUEXT) $(OBJPASUNIT)$(PPUEXT) $(WINTYPESUNIT)$(PPUEXT) \ + $(WINTYPES_DEPS_OS) $(WINTYPES_DEPS_CPU) +win31$(PPUEXT) : $(WIN31_DEPS) + $(COMPILER) $< +WinApi.Win31$(PPUEXT) : $(NSWINDOWSDIR)/WinApi.Win31.pp $(WINPROCS_DEPS) + $(COMPILER) $< +ifeq ($(filter -dFPC_USE_LIBC,$(FPCOPT)),) + SYSCTL_DEPS_OS+=$(SYSCALLUNIT)$(PPUEXT) +endif +SYSCTL_DEPS=$(BSDINC)/sysctl.pp $(SYSTEMUNIT)$(PPUEXT) $(UNIXTYPEUNIT)$(PPUEXT) \ + $(SYSCTL_DEPS_OS) $(SYSCTL_DEPS_CPU) +sysctl$(PPUEXT) : $(SYSCTL_DEPS) + $(COMPILER) $(SYSCTL_OPT) $< +BsdApi.SysCtl$(PPUEXT) : $(NSBSDDIR)/BsdApi.SysCtl.pp $(SYSCTL_DEPS) + $(COMPILER) $(SYSCTL_OPT) $< +BSD_DEPS=$(BSDINC)/bsd.pas $(INITCUNIT)$(PPUEXT) $(UNIXUNIT)$(PPUEXT) \ + $(BSD_DEPS_OS) $(BSD_DEPS_CPU) +bsd$(PPUEXT): $(BSD_DEPS) + $(COMPILER) $(BSD_OPT) $< +BsdApi$(PPUEXT): $(NSBSDDIR)/BsdApi.pp $(BSD_DEPS) + $(COMPILER) $(BSD_OPT) $< +DOSCALLS_DEPS = $(OS2DIR)/doscalls.pas $(STRINGSUNIT)$(PPUEXT) $(SYSTEMUNIT)$(PPUEXT) \ + $(DOSCALLS_DEPS_OS) $(DOSCALLS_DEPS_CPU) +doscalls$(PPUEXT) : $(DOSCALLS_DEPS) + $(COMPILER) $< +OS2Api.doscalls$(PPUEXT) : $(NSOS2DIR)/OS2Api.doscalls.pas $(DOSCALLS_DEPS) + $(COMPILER) -Fi$(OS2DIR) $< +VIOCALLS_DEPS = $(OS2DIR)/viocalls.pas $(SYSTEMUNIT)$(PPUEXT) \ + $(VIOCALLS_DEPS_OS) $(VIOCALLS_DEPS_CPU) +viocalls$(PPUEXT) : $(VIOCALLS_DEPS) + $(COMPILER) $< +OS2Api.viocalls$(PPUEXT) : $(NSOS2DIR)/OS2Api.viocalls.pas $(VIOCALLS_DEPS) + $(COMPILER) -Fi$(OS2DIR) $< +SO32DLL_DEPS = $(OS2DIR)/so32dll.pas $(SYSTEMUNIT)$(PPUEXT) \ + $(SO32DLL_DEPS_OS) $(SO32DLL_DEPS_CPU) +so32dll$(PPUEXT) : $(SO32DLL_DEPS) + $(COMPILER) $< +OS2Api.so32dll$(PPUEXT) : $(NSOS2DIR)/OS2Api.so32dll.pas $(SO32DLL_DEPS) + $(COMPILER) -Fi$(OS2DIR) $< +KBDCALLS_DEPS = $(OS2DIR)/kbdcalls.pas $(SYSTEMUNIT)$(PPUEXT) \ + $(KBDCALLS_DEPS_OS) $(KBDCALLS_DEPS_CPU) +kbdcalls$(PPUEXT) : $(KBDCALLS_DEPS) + $(COMPILER) $< +OS2Api.kbdcalls$(PPUEXT) : $(NSOS2DIR)/OS2Api.kbdcalls.pas $(KBDCALLS_DEPS) + $(COMPILER) -Fi$(OS2DIR) $< +MOUCALLS_DEPS = $(OS2DIR)/moucalls.pas $(SYSTEMUNIT)$(PPUEXT) \ + $(MOUCALLS_DEPS_OS) $(MOUCALLS_DEPS_CPU) +moucalls$(PPUEXT) : $(MOUCALLS_DEPS) + $(COMPILER) $< +OS2Api.moucalls$(PPUEXT) : $(NSOS2DIR)/OS2Api.moucalls.pas $(MOUCALLS_DEPS) + $(COMPILER) -Fi$(OS2DIR) $< +MONCALLS_DEPS = $(OS2DIR)/moncalls.pas $(STRINGSUNIT)$(PPUEXT) $(SYSTEMUNIT)$(PPUEXT) \ + $(MONCALLS_DEPS_OS) $(MONCALLS_DEPS_CPU) +moncalls$(PPUEXT) : $(MONCALLS_DEPS) + $(COMPILER) $< +OS2Api.moncalls$(PPUEXT) : $(NSOS2DIR)/OS2Api.moncall.pas $(MONCALLS_DEPS) + $(COMPILER) -Fi$(OS2DIR) $< +OS2DEF_DEPS = $(OS2DIR)/os2def.pas $(SYSTEMUNIT)$(PPUEXT) \ + $(OS2DEF_DEPS_OS) $(OS2DEF_DEPS_CPU) +os2def$(PPUEXT) : $(OS2DEF_DEPS) + $(COMPILER) $< +OS2Api.os2def$(PPUEXT) : $(NSOS2DIR)/OS2Api.os2def.pas $(OS2DEF_DEPS) + $(COMPILER) -Fi$(OS2DIR) $< +DOSCALL2_DEPS = $(OS2DIR)/doscall2.pas $(DOSCALLSUNIT)$(PPUEXT) $(OS2DEFUNIT)$(PPUEXT) $(SYSTEMUNIT)$(PPUEXT) \ + $(DOSCALL2_DEPS_OS) $(DOSCALL2_DEPS_CPU) +doscall2$(PPUEXT) : $(DOSCALL2_DEPS) + $(COMPILER) $< +OS2Api.doscall2$(PPUEXT) : $(NSOS2DIR)/OS2Api.doscall2.pas $(DOSCALL2_DEPS) + $(COMPILER) -Fi$(OS2DIR) $< +PMWIN_DEPS = $(OS2DIR)/pmwin.pas $(OS2DEFUNIT)$(PPUEXT) $(SYSTEMUNIT)$(PPUEXT) \ + $(PMWIN_DEPS_OS) $(PMWIN_DEPS_CPU) +pmwin$(PPUEXT) : $(PMWIN_DEPS) + $(COMPILER) $< +OS2Api.pmwin$(PPUEXT) : $(NSOS2DIR)/OS2Api.pmwin.pas $(PMWIN_DEPS) + $(COMPILER) -Fi$(OS2DIR) $< +PMBITMAP_DEPS = $(OS2DIR)/pmbitmap.pas $(SYSTEMUNIT)$(PPUEXT) \ + $(PMBITMAP_DEPS_OS) $(PMBITMAP_DEPS_CPU) +pmbitmap$(PPUEXT) : $(PMBITMAP_DEPS) + $(COMPILER) $< +OS2Api.pmbitmap$(PPUEXT) : $(NSOS2DIR)/OS2Api.pmbitmap.pas $(PMBITMAP_DEPS) + $(COMPILER) -Fi$(OS2DIR) $< +PMGPI_DEPS = $(OS2DIR)/pmgpi.pas $(PMBITMAPUNIT)$(PPUEXT) $(SYSTEMUNIT)$(PPUEXT) \ + $(PMGPI_DEPS_OS) $(PMGPI_DEPS_CPU) +pmgpi$(PPUEXT) : $(PMGPI_DEPS) + $(COMPILER) $< +OS2Api.pmgpi$(PPUEXT) : $(NSOS2DIR)/OS2Api.pmgpi.pas $(PMGPI_DEPS) + $(COMPILER) -Fi$(OS2DIR) $< +PMSTDDLG_DEPS = $(OS2DIR)/pmstddlg.pas $(OS2DEFUNIT)$(PPUEXT) $(DOSCALLSUNIT)$(PPUEXT) \ + $(PMWINUNIT)$(PPUEXT) $(PMGPIUNIT)$(PPUEXT) $(SYSTEMUNIT)$(PPUEXT) \ + $(PMSTDDLG_DEPS_OS) $(PMSTDDLG_DEPS_CPU) +pmstddlg$(PPUEXT) : $(PMSTDDLG_DEPS) + $(COMPILER) $< +OS2Api.pmstddlg$(PPUEXT) : $(NSOS2DIR)/OS2Api.pmstddlg.pas $(PMSTDDLG_DEPS) + $(COMPILER) -Fi$(OS2DIR) $< +PMHELP_DEPS = $(OS2DIR)/pmhelp.pas $(OS2DEFUNIT)$(PPUEXT) $(SYSTEMUNIT)$(PPUEXT) \ + $(PMHELP_DEPS_OS) $(PMHELP_DEPS_CPU) +pmhelp$(PPUEXT) : $(PMHELP_DEPS) + $(COMPILER) $< +OS2Api.pmhelp$(PPUEXT) : $(NSOS2DIR)/OS2Api.pmhelp.pas $(PMHELP_DEPS) + $(COMPILER) -Fi$(OS2DIR) $< +PMDEV_DEPS = $(OS2DIR)/pmdev.pas $(OS2DEFUNIT)$(PPUEXT) $(SYSTEMUNIT)$(PPUEXT) \ + $(PMDEV_DEPS_OS) $(PMDEV_DEPS_CPU) +pmdev$(PPUEXT) : $(PMDEV_DEPS) + $(COMPILER) $< +OS2Api.pmdev$(PPUEXT) : $(NSOS2DIR)/OS2Api.pmdev.pas $(PMDEV_DEPS) + $(COMPILER) -Fi$(OS2DIR) $< +PMSPL_DEPS = $(OS2DIR)/pmspl.pas $(OS2DEFUNIT)$(PPUEXT) $(SYSTEMUNIT)$(PPUEXT) \ + $(PMSPL_DEPS_OS) $(PMSPL_DEPS_CPU) +pmspl$(PPUEXT) : $(PMSPL_DEPS) + $(COMPILER) $< +OS2Api.pmspl$(PPUEXT) : $(NSOS2DIR)/OS2Api.pmspl.pas $(PMSPL_DEPS) + $(COMPILER) -Fi$(OS2DIR) $< +PMSHL_DEPS = $(OS2DIR)/pmshl.pas $(OS2DEFUNIT)$(PPUEXT) $(PMWINUNIT)$(PPUEXT) $(SYSTEMUNIT)$(PPUEXT) \ + $(PMSHL_DEPS_OS) $(PMSHL_DEPS_CPU) +pmshl$(PPUEXT) : $(PMSHL_DEPS) + $(COMPILER) $< +OS2Api.pmshl$(PPUEXT) : $(NSOS2DIR)/OS2Api.pmshl.pas $(PMSHL_DEPS) + $(COMPILER) -Fi$(OS2DIR) $< +PMWP_DEPS = $(OS2DIR)/pmwp.pas $(OS2DEFUNIT)$(PPUEXT) $(PMWINUNIT)$(PPUEXT) $(SYSTEMUNIT)$(PPUEXT) \ + $(PMWP_DEPS_OS) $(PMWP_DEPS_CPU) +pmwp$(PPUEXT) : $(PMWP_DEPS) + $(COMPILER) $< +OS2Api.pmwp$(PPUEXT) : $(NSOS2DIR)/OS2Api.pmwp.pas $(PMWP_DEPS) + $(COMPILER) -Fi$(OS2DIR) $< +PMWSOCK_DEPS = $(OS2DIR)/pmwsock.pas $(OS2DEFUNIT)$(PPUEXT) $(SYSTEMUNIT)$(PPUEXT) \ + $(PMWSOCK_DEPS_OS) $(PMWSOCK_DEPS_CPU) +pmwsock$(PPUEXT) : $(PMWSOCK_DEPS) + $(COMPILER) $< +OS2Api.pmwsock$(PPUEXT) : $(NSOS2DIR)/OS2Api.pmwsock.pas $(PMWSOCK_DEPS) + $(COMPILER) -Fi$(OS2DIR) $< +PMBIDI_DEPS = $(OS2DIR)/pmbidi.pas $(OS2DEFUNIT)$(PPUEXT) $(PMWIN)$(PPUEXT) $(SYSTEMUNIT)$(PPUEXT) \ + $(PMBIDI_DEPS_OS) $(PMBIDI_DEPS_CPU) +pmbidi$(PPUEXT) : $(PMBIDI_DEPS) + $(COMPILER) $< +OS2Api.pmbidi$(PPUEXT) : $(NSOS2DIR)/OS2Api.pmbidi.pas $(PMBIDI_DEPS) + $(COMPILER) -Fi$(OS2DIR) $< +EXE_DEPS = $(OS2DIR)/exe.pas $(SYSTEMUNIT)$(PPUEXT) \ + $(EXE_DEPS_OS) $(EXE_DEPS_CPU) +exe$(PPUEXT) : $(EXE_DEPS) + $(COMPILER) $< +OS2Api.exe$(PPUEXT) : $(NSOS2DIR)/OS2Api.exe.pas $(EXE_DEPS) + $(COMPILER) -Fi$(OS2DIR) $< +NEWEXE_DEPS = $(OS2DIR)/newexe.pas $(SYSTEMUNIT)$(PPUEXT) \ + $(NEWEXE_DEPS_OS) $(NEWEXE_DEPS_CPU) +newexe$(PPUEXT) : $(NEWEXE_DEPS) + $(COMPILER) $< +OS2Api.newexe$(PPUEXT) : $(NSOS2DIR)/OS2Api.newexe.pas $(NEWEXE_DEPS) + $(COMPILER) -Fi$(OS2DIR) $< +include $(INC)/makefile.inc +SYSINCDEPS=$(addprefix $(INC)/,$(SYSINCNAMES)) +include $(PROCINC)/makefile.cpu +SYSCPUDEPS=$(addprefix $(PROCINC)/,$(CPUINCNAMES)) +SYSDEPS=$(SYSINCDEPS) $(SYSCPUDEPS) $(WASIP1INC)/wasiinc/wasitypes.inc $(WASIP1INC)/wasiinc/wasiprocs.inc +SYSUTILS_DEPS_OS=$(WASIUTILUNIT)$(PPUEXT) +si_prc$(PPUEXT) : $(WASIP1INC)/si_prc.pp $(SYSTEMUNIT)$(PPUEXT) + $(COMPILER) $< +si_dll$(PPUEXT) : $(WASIP1INC)/si_dll.pp $(SYSTEMUNIT)$(PPUEXT) + $(COMPILER) $< +WEBASSEMBLYDEPS=$(PROCINC)/webassembly.pp $(SYSTEMUNIT)$(PPUEXT) $(PROCINC)/cpuh.inc $(PROCINC)/cpuinnr.inc $(OBJPASUNIT)$(PPUEXT) +webassembly$(PPUEXT) : $(WEBASSEMBLYDEPS) + $(COMPILER) $< +Wasm.Api$(PPUEXT) : $(NSDIR)/wasm32/Wasm.Api.pp $(WEBASSEMBLYDEPS) + $(COMPILER) $< +WASIAPIDEPS=$(WASIP1INC)/wasiinc/wasitypes.inc $(WASIP1INC)/wasiinc/wasiprocs.inc $(SYSTEMUNIT)$(PPUEXT) +wasiapi$(PPUEXT) : wasiapi.pp $(WASIAPIDEPS) + $(COMPILER) $< -Fiwasiinc +WASIApi.WASIApi$(PPUEXT) : $(NSOSDIR)/WASIApi.WASIApi.pp $(WASIAPIDEPS) + $(COMPILER) $< -Fiwasiinc +WASIUTILDEPS=$(WASIAPIUNIT)$(PPUEXT) $(OBJPASUNIT)$(PPUEXT) $(SYSTEMUNIT)$(PPUEXT) +wasiutil$(PPUEXT) : wasiutil.pp $(WASIUTILDEPS) + $(COMPILER) $< +WASIApi.WASIUtil$(PPUEXT) : $(NSOSDIR)/WASIApi.WASIUtil.pp $(WASIUTILDEPS) + $(COMPILER) $< diff --git a/rtl/wasip1threads/Makefile.fpc b/rtl/wasip1threads/Makefile.fpc new file mode 100644 index 0000000000..1b345c559c --- /dev/null +++ b/rtl/wasip1threads/Makefile.fpc @@ -0,0 +1,118 @@ +# +# Makefile.fpc for WASI +# +[package] +main=rtl +[target] +loaders= +units=$(SYSTEMUNIT) $(SYSINIT_UNITS) $(OBJPASUNIT) $(EXTPASUNIT) $(MACPASUNIT) $(ISO7185UNIT) $(UUCHARUNIT) \ + $(WASIAPIUNIT) $(CTYPESUNIT) $(STRINGSUNIT) $(SYSCONSTUNIT) $(SYSUTILSUNIT) \ + $(SORTBASEUNIT) $(MATHUNIT) $(RTLCONSTSUNIT) $(TYPESUNIT) $(TYPINFOUNIT) $(FGLUNIT) $(GETOPTSUNIT) \ + $(CHARSETUNIT) $(CPALLUNIT) $(CHARACTERUNIT) $(FPWIDESTRINGUNIT) $(NOTHREADSUNIT) \ + $(CLASSESUNIT) $(DOSUNIT) $(RESUNIT) $(HEAPTRCUNIT) $(WASIUTILUNIT) $(WEBASSEMBLYUNIT) + +implicitunits= $(CP_UNITS) $(UNICODEDATAUNIT) + +[require] +nortl=y + +[install] +fpcpackage=y + +[default] +target=wasip1threads +cpu=wasm32 + +[compiler] +includedir=$(INC) $(PROCINC) $(WASIP1INC) +sourcedir=$(INC) $(PROCINC) $(COMMON) + +[prerules] +RTL=.. +INC=../inc +WASIP1INC=$(RTL)/wasip1 +SYSTEMDIR=$(WASIP1INC) +DOSDIR=$(WASIP1INC) +NSOSDIR=$(NSDIR)/wasi +COMMON=$(RTL)/common +PROCINC=../$(CPU_TARGET) +UNITPREFIX=rtl +SYSINIT_UNITS=si_prc si_dll +RESUNIT=$(FPINTRESUNIT) +# Paths +OBJPASDIR=$(RTL)/objpas +# Insert exception handler in system unit +ifdef EXCEPTIONS_IN_SYSTEM +override FPCOPT+=-dEXCEPTIONS_IN_SYSTEM +endif +# Insert exception handler in system unit +ifdef NO_EXCEPTIONS_IN_SYSTEM +override FPCOPT+=-dNO_EXCEPTIONS_IN_SYSTEM +endif + +override FPC_SYSTEM_OPT += -Fi$(WASIP1INC)/wasiinc + +DOS_DEPS_OS=$(WASIAPIUNIT)$(PPUEXT) $(WASIUTILUNIT)$(PPUEXT) + +[rules] +# Get the system independent include file names. +# This will set the following variables : +# SYSINCNAMES +include $(INC)/makefile.inc +SYSINCDEPS=$(addprefix $(INC)/,$(SYSINCNAMES)) +# Get the processor dependent include file names. +# This will set the following variables : +# CPUINCNAMES +include $(PROCINC)/makefile.cpu +SYSCPUDEPS=$(addprefix $(PROCINC)/,$(CPUINCNAMES)) +# Put system unit dependencies together. +SYSDEPS=$(SYSINCDEPS) $(SYSCPUDEPS) $(WASIP1INC)/wasiinc/wasitypes.inc $(WASIP1INC)/wasiinc/wasiprocs.inc + +SYSUTILS_DEPS_OS=$(WASIUTILUNIT)$(PPUEXT) + +# +# $(SYSINIT_UNITS) Units +# +si_prc$(PPUEXT) : $(WASIP1INC)/si_prc.pp $(SYSTEMUNIT)$(PPUEXT) + $(COMPILER) $< + +si_dll$(PPUEXT) : $(WASIP1INC)/si_dll.pp $(SYSTEMUNIT)$(PPUEXT) + $(COMPILER) $< + +# +# Other $(SYSTEMUNIT)-dependent RTL Units +# + +WEBASSEMBLYDEPS=$(PROCINC)/webassembly.pp $(SYSTEMUNIT)$(PPUEXT) $(PROCINC)/cpuh.inc $(PROCINC)/cpuinnr.inc $(OBJPASUNIT)$(PPUEXT) + +webassembly$(PPUEXT) : $(WEBASSEMBLYDEPS) + $(COMPILER) $< + +Wasm.Api$(PPUEXT) : $(NSDIR)/wasm32/Wasm.Api.pp $(WEBASSEMBLYDEPS) + $(COMPILER) $< + +# +# WASIAPI +# + +WASIAPIDEPS=$(WASIP1INC)/wasiinc/wasitypes.inc $(WASIP1INC)/wasiinc/wasiprocs.inc $(SYSTEMUNIT)$(PPUEXT) + +wasiapi$(PPUEXT) : wasiapi.pp $(WASIAPIDEPS) + $(COMPILER) $< -Fiwasiinc + +WASIApi.WASIApi$(PPUEXT) : $(NSOSDIR)/WASIApi.WASIApi.pp $(WASIAPIDEPS) + $(COMPILER) $< -Fiwasiinc + +# +# wasiutils +# + +WASIUTILDEPS=$(WASIAPIUNIT)$(PPUEXT) $(OBJPASUNIT)$(PPUEXT) $(SYSTEMUNIT)$(PPUEXT) + +wasiutil$(PPUEXT) : wasiutil.pp $(WASIUTILDEPS) + $(COMPILER) $< + +WASIApi.WASIUtil$(PPUEXT) : $(NSOSDIR)/WASIApi.WASIUtil.pp $(WASIUTILDEPS) + $(COMPILER) $< + +