* updated

git-svn-id: trunk@2836 -
This commit is contained in:
peter 2006-03-10 15:21:16 +00:00
parent 9d96f32bdc
commit f893e5ab6c
3 changed files with 648 additions and 367 deletions

View File

@ -1,5 +1,13 @@
# #
<<<<<<< .mine
<<<<<<< .mine
# Don't edit, this file is generated by FPCMake Version 2.0.0 [2006/03/10]
=======
# Don't edit, this file is generated by FPCMake Version 2.0.0 [2005/12/10]
=======
# Don't edit, this file is generated by FPCMake Version 2.0.0 [2006/03/08] # Don't edit, this file is generated by FPCMake Version 2.0.0 [2006/03/08]
>>>>>>> .r2831
>>>>>>> .r2248
# #
default: all default: all
MAKEFILETARGETS=i386-linux i386-go32v2 i386-win32 i386-os2 i386-freebsd i386-beos i386-netbsd i386-solaris i386-qnx i386-netware i386-openbsd i386-wdosx i386-darwin i386-emx i386-watcom i386-netwlibc i386-wince m68k-linux m68k-freebsd m68k-netbsd m68k-amiga m68k-atari m68k-openbsd m68k-palmos powerpc-linux powerpc-netbsd powerpc-macos powerpc-darwin powerpc-morphos sparc-linux sparc-netbsd sparc-solaris x86_64-linux x86_64-freebsd x86_64-win64 arm-linux arm-palmos arm-wince powerpc64-linux MAKEFILETARGETS=i386-linux i386-go32v2 i386-win32 i386-os2 i386-freebsd i386-beos i386-netbsd i386-solaris i386-qnx i386-netware i386-openbsd i386-wdosx i386-darwin i386-emx i386-watcom i386-netwlibc i386-wince m68k-linux m68k-freebsd m68k-netbsd m68k-amiga m68k-atari m68k-openbsd m68k-palmos powerpc-linux powerpc-netbsd powerpc-macos powerpc-darwin powerpc-morphos sparc-linux sparc-netbsd sparc-solaris x86_64-linux x86_64-freebsd x86_64-win64 arm-linux arm-palmos arm-wince powerpc64-linux
@ -235,485 +243,672 @@ override PACKAGE_NAME=rtl
PACKAGEDIR_MAIN:=$(firstword $(subst /Makefile.fpc,,$(strip $(wildcard $(addsuffix /rtl/Makefile.fpc,$(PACKAGESDIR)))))) PACKAGEDIR_MAIN:=$(firstword $(subst /Makefile.fpc,,$(strip $(wildcard $(addsuffix /rtl/Makefile.fpc,$(PACKAGESDIR))))))
RTL=.. RTL=..
INC=$(RTL)/inc INC=$(RTL)/inc
COMMON=$(RTL)/common
PROCINC=$(RTL)/$(CPU_TARGET) PROCINC=$(RTL)/$(CPU_TARGET)
WININC=wininc WININC=wininc
UNITPREFIX=rtl UNITPREFIX=rtl
SYSTEMUNIT=system ifneq ($(findstring 2.0.,$(FPC_VERSION)),)
PRT0=wprt0 LOADERS=wprt0 wdllprt0 gprt0 wcygprt0
ifdef RELEASE
override FPCOPT+=-Ur
endif endif
OBJPASDIR=$(RTL)/objpas OBJPASDIR=$(RTL)/objpas
GRAPHDIR=$(INC)/graph
WINDOWS_SOURCE_FILES=$(addprefix $(WININC)/,$(addsuffix .inc,$(WINDOWS_FILES))) WINDOWS_SOURCE_FILES=$(addprefix $(WININC)/,$(addsuffix .inc,$(WINDOWS_FILES)))
ifeq ($(FULL_TARGET),i386-linux) ifeq ($(FULL_TARGET),i386-linux)
override TARGET_UNITS+=$(SYSTEMUNIT) # ctypes objpas macpas strings rsts=math varutils typinfo variants classes dateutils sysconst fpmkunit override TARGET_UNITS+=system ctypes objpas macpas strings lineinfo heaptrc matrix windows winsock initc cmem dynlibs signals dos crt objects messages rtlconsts sysconst sysutils math types strutils convutils dateutils varutils variants typinfo classes cpu mmx charset ucomplex getopts winevent sockets printer video mouse keyboard winsysut fpmkunit
endif endif
ifeq ($(FULL_TARGET),i386-go32v2) ifeq ($(FULL_TARGET),i386-go32v2)
override TARGET_UNITS+=$(SYSTEMUNIT) # ctypes objpas macpas strings rsts=math varutils typinfo variants classes dateutils sysconst fpmkunit override TARGET_UNITS+=system ctypes objpas macpas strings lineinfo heaptrc matrix windows winsock initc cmem dynlibs signals dos crt objects messages rtlconsts sysconst sysutils math types strutils convutils dateutils varutils variants typinfo classes cpu mmx charset ucomplex getopts winevent sockets printer video mouse keyboard winsysut fpmkunit
endif endif
ifeq ($(FULL_TARGET),i386-win32) ifeq ($(FULL_TARGET),i386-win32)
override TARGET_UNITS+=$(SYSTEMUNIT) # ctypes objpas macpas strings rsts=math varutils typinfo variants classes dateutils sysconst fpmkunit override TARGET_UNITS+=system ctypes objpas macpas strings lineinfo heaptrc matrix windows winsock initc cmem dynlibs signals dos crt objects messages rtlconsts sysconst sysutils math types strutils convutils dateutils varutils variants typinfo classes cpu mmx charset ucomplex getopts winevent sockets printer video mouse keyboard winsysut fpmkunit
endif endif
ifeq ($(FULL_TARGET),i386-os2) ifeq ($(FULL_TARGET),i386-os2)
override TARGET_UNITS+=$(SYSTEMUNIT) # ctypes objpas macpas strings rsts=math varutils typinfo variants classes dateutils sysconst fpmkunit override TARGET_UNITS+=system ctypes objpas macpas strings lineinfo heaptrc matrix windows winsock initc cmem dynlibs signals dos crt objects messages rtlconsts sysconst sysutils math types strutils convutils dateutils varutils variants typinfo classes cpu mmx charset ucomplex getopts winevent sockets printer video mouse keyboard winsysut fpmkunit
endif endif
ifeq ($(FULL_TARGET),i386-freebsd) ifeq ($(FULL_TARGET),i386-freebsd)
override TARGET_UNITS+=$(SYSTEMUNIT) # ctypes objpas macpas strings rsts=math varutils typinfo variants classes dateutils sysconst fpmkunit override TARGET_UNITS+=system ctypes objpas macpas strings lineinfo heaptrc matrix windows winsock initc cmem dynlibs signals dos crt objects messages rtlconsts sysconst sysutils math types strutils convutils dateutils varutils variants typinfo classes cpu mmx charset ucomplex getopts winevent sockets printer video mouse keyboard winsysut fpmkunit
endif endif
ifeq ($(FULL_TARGET),i386-beos) ifeq ($(FULL_TARGET),i386-beos)
override TARGET_UNITS+=$(SYSTEMUNIT) # ctypes objpas macpas strings rsts=math varutils typinfo variants classes dateutils sysconst fpmkunit override TARGET_UNITS+=system ctypes objpas macpas strings lineinfo heaptrc matrix windows winsock initc cmem dynlibs signals dos crt objects messages rtlconsts sysconst sysutils math types strutils convutils dateutils varutils variants typinfo classes cpu mmx charset ucomplex getopts winevent sockets printer video mouse keyboard winsysut fpmkunit
endif endif
ifeq ($(FULL_TARGET),i386-netbsd) ifeq ($(FULL_TARGET),i386-netbsd)
override TARGET_UNITS+=$(SYSTEMUNIT) # ctypes objpas macpas strings rsts=math varutils typinfo variants classes dateutils sysconst fpmkunit override TARGET_UNITS+=system ctypes objpas macpas strings lineinfo heaptrc matrix windows winsock initc cmem dynlibs signals dos crt objects messages rtlconsts sysconst sysutils math types strutils convutils dateutils varutils variants typinfo classes cpu mmx charset ucomplex getopts winevent sockets printer video mouse keyboard winsysut fpmkunit
endif endif
ifeq ($(FULL_TARGET),i386-solaris) ifeq ($(FULL_TARGET),i386-solaris)
override TARGET_UNITS+=$(SYSTEMUNIT) # ctypes objpas macpas strings rsts=math varutils typinfo variants classes dateutils sysconst fpmkunit override TARGET_UNITS+=system ctypes objpas macpas strings lineinfo heaptrc matrix windows winsock initc cmem dynlibs signals dos crt objects messages rtlconsts sysconst sysutils math types strutils convutils dateutils varutils variants typinfo classes cpu mmx charset ucomplex getopts winevent sockets printer video mouse keyboard winsysut fpmkunit
endif endif
ifeq ($(FULL_TARGET),i386-qnx) ifeq ($(FULL_TARGET),i386-qnx)
override TARGET_UNITS+=$(SYSTEMUNIT) # ctypes objpas macpas strings rsts=math varutils typinfo variants classes dateutils sysconst fpmkunit override TARGET_UNITS+=system ctypes objpas macpas strings lineinfo heaptrc matrix windows winsock initc cmem dynlibs signals dos crt objects messages rtlconsts sysconst sysutils math types strutils convutils dateutils varutils variants typinfo classes cpu mmx charset ucomplex getopts winevent sockets printer video mouse keyboard winsysut fpmkunit
endif endif
ifeq ($(FULL_TARGET),i386-netware) ifeq ($(FULL_TARGET),i386-netware)
override TARGET_UNITS+=$(SYSTEMUNIT) # ctypes objpas macpas strings rsts=math varutils typinfo variants classes dateutils sysconst fpmkunit override TARGET_UNITS+=system ctypes objpas macpas strings lineinfo heaptrc matrix windows winsock initc cmem dynlibs signals dos crt objects messages rtlconsts sysconst sysutils math types strutils convutils dateutils varutils variants typinfo classes cpu mmx charset ucomplex getopts winevent sockets printer video mouse keyboard winsysut fpmkunit
endif endif
ifeq ($(FULL_TARGET),i386-openbsd) ifeq ($(FULL_TARGET),i386-openbsd)
override TARGET_UNITS+=$(SYSTEMUNIT) # ctypes objpas macpas strings rsts=math varutils typinfo variants classes dateutils sysconst fpmkunit override TARGET_UNITS+=system ctypes objpas macpas strings lineinfo heaptrc matrix windows winsock initc cmem dynlibs signals dos crt objects messages rtlconsts sysconst sysutils math types strutils convutils dateutils varutils variants typinfo classes cpu mmx charset ucomplex getopts winevent sockets printer video mouse keyboard winsysut fpmkunit
endif endif
ifeq ($(FULL_TARGET),i386-wdosx) ifeq ($(FULL_TARGET),i386-wdosx)
override TARGET_UNITS+=$(SYSTEMUNIT) # ctypes objpas macpas strings rsts=math varutils typinfo variants classes dateutils sysconst fpmkunit override TARGET_UNITS+=system ctypes objpas macpas strings lineinfo heaptrc matrix windows winsock initc cmem dynlibs signals dos crt objects messages rtlconsts sysconst sysutils math types strutils convutils dateutils varutils variants typinfo classes cpu mmx charset ucomplex getopts winevent sockets printer video mouse keyboard winsysut fpmkunit
endif endif
<<<<<<< .mine
<<<<<<< .mine
ifeq ($(FULL_TARGET),i386-darwin)
override TARGET_UNITS+=system ctypes objpas macpas strings lineinfo heaptrc matrix windows winsock initc cmem dynlibs signals dos crt objects messages rtlconsts sysconst sysutils math types strutils convutils dateutils varutils variants typinfo classes cpu mmx charset ucomplex getopts winevent sockets printer video mouse keyboard winsysut fpmkunit
endif
=======
>>>>>>> .r2248
=======
ifeq ($(FULL_TARGET),i386-darwin) ifeq ($(FULL_TARGET),i386-darwin)
override TARGET_UNITS+=$(SYSTEMUNIT) # ctypes objpas macpas strings rsts=math varutils typinfo variants classes dateutils sysconst fpmkunit override TARGET_UNITS+=$(SYSTEMUNIT) # ctypes objpas macpas strings rsts=math varutils typinfo variants classes dateutils sysconst fpmkunit
endif endif
>>>>>>> .r2831
ifeq ($(FULL_TARGET),i386-emx) ifeq ($(FULL_TARGET),i386-emx)
override TARGET_UNITS+=$(SYSTEMUNIT) # ctypes objpas macpas strings rsts=math varutils typinfo variants classes dateutils sysconst fpmkunit override TARGET_UNITS+=system ctypes objpas macpas strings lineinfo heaptrc matrix windows winsock initc cmem dynlibs signals dos crt objects messages rtlconsts sysconst sysutils math types strutils convutils dateutils varutils variants typinfo classes cpu mmx charset ucomplex getopts winevent sockets printer video mouse keyboard winsysut fpmkunit
endif endif
ifeq ($(FULL_TARGET),i386-watcom) ifeq ($(FULL_TARGET),i386-watcom)
override TARGET_UNITS+=$(SYSTEMUNIT) # ctypes objpas macpas strings rsts=math varutils typinfo variants classes dateutils sysconst fpmkunit override TARGET_UNITS+=system ctypes objpas macpas strings lineinfo heaptrc matrix windows winsock initc cmem dynlibs signals dos crt objects messages rtlconsts sysconst sysutils math types strutils convutils dateutils varutils variants typinfo classes cpu mmx charset ucomplex getopts winevent sockets printer video mouse keyboard winsysut fpmkunit
endif endif
ifeq ($(FULL_TARGET),i386-netwlibc) ifeq ($(FULL_TARGET),i386-netwlibc)
override TARGET_UNITS+=$(SYSTEMUNIT) # ctypes objpas macpas strings rsts=math varutils typinfo variants classes dateutils sysconst fpmkunit override TARGET_UNITS+=system ctypes objpas macpas strings lineinfo heaptrc matrix windows winsock initc cmem dynlibs signals dos crt objects messages rtlconsts sysconst sysutils math types strutils convutils dateutils varutils variants typinfo classes cpu mmx charset ucomplex getopts winevent sockets printer video mouse keyboard winsysut fpmkunit
endif endif
ifeq ($(FULL_TARGET),i386-wince) ifeq ($(FULL_TARGET),i386-wince)
override TARGET_UNITS+=$(SYSTEMUNIT) # ctypes objpas macpas strings rsts=math varutils typinfo variants classes dateutils sysconst fpmkunit override TARGET_UNITS+=system ctypes objpas macpas strings lineinfo heaptrc matrix windows winsock initc cmem dynlibs signals dos crt objects messages rtlconsts sysconst sysutils math types strutils convutils dateutils varutils variants typinfo classes cpu mmx charset ucomplex getopts winevent sockets printer video mouse keyboard winsysut fpmkunit
endif endif
ifeq ($(FULL_TARGET),m68k-linux) ifeq ($(FULL_TARGET),m68k-linux)
override TARGET_UNITS+=$(SYSTEMUNIT) # ctypes objpas macpas strings rsts=math varutils typinfo variants classes dateutils sysconst fpmkunit override TARGET_UNITS+=system ctypes objpas macpas strings lineinfo heaptrc matrix windows winsock initc cmem dynlibs signals dos crt objects messages rtlconsts sysconst sysutils math types strutils convutils dateutils varutils variants typinfo classes cpu mmx charset ucomplex getopts winevent sockets printer video mouse keyboard winsysut fpmkunit
endif endif
ifeq ($(FULL_TARGET),m68k-freebsd) ifeq ($(FULL_TARGET),m68k-freebsd)
override TARGET_UNITS+=$(SYSTEMUNIT) # ctypes objpas macpas strings rsts=math varutils typinfo variants classes dateutils sysconst fpmkunit override TARGET_UNITS+=system ctypes objpas macpas strings lineinfo heaptrc matrix windows winsock initc cmem dynlibs signals dos crt objects messages rtlconsts sysconst sysutils math types strutils convutils dateutils varutils variants typinfo classes cpu mmx charset ucomplex getopts winevent sockets printer video mouse keyboard winsysut fpmkunit
endif endif
ifeq ($(FULL_TARGET),m68k-netbsd) ifeq ($(FULL_TARGET),m68k-netbsd)
override TARGET_UNITS+=$(SYSTEMUNIT) # ctypes objpas macpas strings rsts=math varutils typinfo variants classes dateutils sysconst fpmkunit override TARGET_UNITS+=system ctypes objpas macpas strings lineinfo heaptrc matrix windows winsock initc cmem dynlibs signals dos crt objects messages rtlconsts sysconst sysutils math types strutils convutils dateutils varutils variants typinfo classes cpu mmx charset ucomplex getopts winevent sockets printer video mouse keyboard winsysut fpmkunit
endif endif
ifeq ($(FULL_TARGET),m68k-amiga) ifeq ($(FULL_TARGET),m68k-amiga)
override TARGET_UNITS+=$(SYSTEMUNIT) # ctypes objpas macpas strings rsts=math varutils typinfo variants classes dateutils sysconst fpmkunit override TARGET_UNITS+=system ctypes objpas macpas strings lineinfo heaptrc matrix windows winsock initc cmem dynlibs signals dos crt objects messages rtlconsts sysconst sysutils math types strutils convutils dateutils varutils variants typinfo classes cpu mmx charset ucomplex getopts winevent sockets printer video mouse keyboard winsysut fpmkunit
endif endif
ifeq ($(FULL_TARGET),m68k-atari) ifeq ($(FULL_TARGET),m68k-atari)
override TARGET_UNITS+=$(SYSTEMUNIT) # ctypes objpas macpas strings rsts=math varutils typinfo variants classes dateutils sysconst fpmkunit override TARGET_UNITS+=system ctypes objpas macpas strings lineinfo heaptrc matrix windows winsock initc cmem dynlibs signals dos crt objects messages rtlconsts sysconst sysutils math types strutils convutils dateutils varutils variants typinfo classes cpu mmx charset ucomplex getopts winevent sockets printer video mouse keyboard winsysut fpmkunit
endif endif
ifeq ($(FULL_TARGET),m68k-openbsd) ifeq ($(FULL_TARGET),m68k-openbsd)
override TARGET_UNITS+=$(SYSTEMUNIT) # ctypes objpas macpas strings rsts=math varutils typinfo variants classes dateutils sysconst fpmkunit override TARGET_UNITS+=system ctypes objpas macpas strings lineinfo heaptrc matrix windows winsock initc cmem dynlibs signals dos crt objects messages rtlconsts sysconst sysutils math types strutils convutils dateutils varutils variants typinfo classes cpu mmx charset ucomplex getopts winevent sockets printer video mouse keyboard winsysut fpmkunit
endif endif
ifeq ($(FULL_TARGET),m68k-palmos) ifeq ($(FULL_TARGET),m68k-palmos)
override TARGET_UNITS+=$(SYSTEMUNIT) # ctypes objpas macpas strings rsts=math varutils typinfo variants classes dateutils sysconst fpmkunit override TARGET_UNITS+=system ctypes objpas macpas strings lineinfo heaptrc matrix windows winsock initc cmem dynlibs signals dos crt objects messages rtlconsts sysconst sysutils math types strutils convutils dateutils varutils variants typinfo classes cpu mmx charset ucomplex getopts winevent sockets printer video mouse keyboard winsysut fpmkunit
endif endif
ifeq ($(FULL_TARGET),powerpc-linux) ifeq ($(FULL_TARGET),powerpc-linux)
override TARGET_UNITS+=$(SYSTEMUNIT) # ctypes objpas macpas strings rsts=math varutils typinfo variants classes dateutils sysconst fpmkunit override TARGET_UNITS+=system ctypes objpas macpas strings lineinfo heaptrc matrix windows winsock initc cmem dynlibs signals dos crt objects messages rtlconsts sysconst sysutils math types strutils convutils dateutils varutils variants typinfo classes cpu mmx charset ucomplex getopts winevent sockets printer video mouse keyboard winsysut fpmkunit
endif endif
ifeq ($(FULL_TARGET),powerpc-netbsd) ifeq ($(FULL_TARGET),powerpc-netbsd)
override TARGET_UNITS+=$(SYSTEMUNIT) # ctypes objpas macpas strings rsts=math varutils typinfo variants classes dateutils sysconst fpmkunit override TARGET_UNITS+=system ctypes objpas macpas strings lineinfo heaptrc matrix windows winsock initc cmem dynlibs signals dos crt objects messages rtlconsts sysconst sysutils math types strutils convutils dateutils varutils variants typinfo classes cpu mmx charset ucomplex getopts winevent sockets printer video mouse keyboard winsysut fpmkunit
endif endif
ifeq ($(FULL_TARGET),powerpc-macos) ifeq ($(FULL_TARGET),powerpc-macos)
override TARGET_UNITS+=$(SYSTEMUNIT) # ctypes objpas macpas strings rsts=math varutils typinfo variants classes dateutils sysconst fpmkunit override TARGET_UNITS+=system ctypes objpas macpas strings lineinfo heaptrc matrix windows winsock initc cmem dynlibs signals dos crt objects messages rtlconsts sysconst sysutils math types strutils convutils dateutils varutils variants typinfo classes cpu mmx charset ucomplex getopts winevent sockets printer video mouse keyboard winsysut fpmkunit
endif endif
ifeq ($(FULL_TARGET),powerpc-darwin) ifeq ($(FULL_TARGET),powerpc-darwin)
override TARGET_UNITS+=$(SYSTEMUNIT) # ctypes objpas macpas strings rsts=math varutils typinfo variants classes dateutils sysconst fpmkunit override TARGET_UNITS+=system ctypes objpas macpas strings lineinfo heaptrc matrix windows winsock initc cmem dynlibs signals dos crt objects messages rtlconsts sysconst sysutils math types strutils convutils dateutils varutils variants typinfo classes cpu mmx charset ucomplex getopts winevent sockets printer video mouse keyboard winsysut fpmkunit
endif endif
ifeq ($(FULL_TARGET),powerpc-morphos) ifeq ($(FULL_TARGET),powerpc-morphos)
override TARGET_UNITS+=$(SYSTEMUNIT) # ctypes objpas macpas strings rsts=math varutils typinfo variants classes dateutils sysconst fpmkunit override TARGET_UNITS+=system ctypes objpas macpas strings lineinfo heaptrc matrix windows winsock initc cmem dynlibs signals dos crt objects messages rtlconsts sysconst sysutils math types strutils convutils dateutils varutils variants typinfo classes cpu mmx charset ucomplex getopts winevent sockets printer video mouse keyboard winsysut fpmkunit
endif endif
ifeq ($(FULL_TARGET),sparc-linux) ifeq ($(FULL_TARGET),sparc-linux)
override TARGET_UNITS+=$(SYSTEMUNIT) # ctypes objpas macpas strings rsts=math varutils typinfo variants classes dateutils sysconst fpmkunit override TARGET_UNITS+=system ctypes objpas macpas strings lineinfo heaptrc matrix windows winsock initc cmem dynlibs signals dos crt objects messages rtlconsts sysconst sysutils math types strutils convutils dateutils varutils variants typinfo classes cpu mmx charset ucomplex getopts winevent sockets printer video mouse keyboard winsysut fpmkunit
endif endif
ifeq ($(FULL_TARGET),sparc-netbsd) ifeq ($(FULL_TARGET),sparc-netbsd)
override TARGET_UNITS+=$(SYSTEMUNIT) # ctypes objpas macpas strings rsts=math varutils typinfo variants classes dateutils sysconst fpmkunit override TARGET_UNITS+=system ctypes objpas macpas strings lineinfo heaptrc matrix windows winsock initc cmem dynlibs signals dos crt objects messages rtlconsts sysconst sysutils math types strutils convutils dateutils varutils variants typinfo classes cpu mmx charset ucomplex getopts winevent sockets printer video mouse keyboard winsysut fpmkunit
endif endif
ifeq ($(FULL_TARGET),sparc-solaris) ifeq ($(FULL_TARGET),sparc-solaris)
override TARGET_UNITS+=$(SYSTEMUNIT) # ctypes objpas macpas strings rsts=math varutils typinfo variants classes dateutils sysconst fpmkunit override TARGET_UNITS+=system ctypes objpas macpas strings lineinfo heaptrc matrix windows winsock initc cmem dynlibs signals dos crt objects messages rtlconsts sysconst sysutils math types strutils convutils dateutils varutils variants typinfo classes cpu mmx charset ucomplex getopts winevent sockets printer video mouse keyboard winsysut fpmkunit
endif endif
ifeq ($(FULL_TARGET),x86_64-linux) ifeq ($(FULL_TARGET),x86_64-linux)
override TARGET_UNITS+=$(SYSTEMUNIT) # ctypes objpas macpas strings rsts=math varutils typinfo variants classes dateutils sysconst fpmkunit override TARGET_UNITS+=system ctypes objpas macpas strings lineinfo heaptrc matrix windows winsock initc cmem dynlibs signals dos crt objects messages rtlconsts sysconst sysutils math types strutils convutils dateutils varutils variants typinfo classes cpu mmx charset ucomplex getopts winevent sockets printer video mouse keyboard winsysut fpmkunit
endif endif
ifeq ($(FULL_TARGET),x86_64-freebsd) ifeq ($(FULL_TARGET),x86_64-freebsd)
override TARGET_UNITS+=$(SYSTEMUNIT) # ctypes objpas macpas strings rsts=math varutils typinfo variants classes dateutils sysconst fpmkunit override TARGET_UNITS+=system ctypes objpas macpas strings lineinfo heaptrc matrix windows winsock initc cmem dynlibs signals dos crt objects messages rtlconsts sysconst sysutils math types strutils convutils dateutils varutils variants typinfo classes cpu mmx charset ucomplex getopts winevent sockets printer video mouse keyboard winsysut fpmkunit
endif endif
ifeq ($(FULL_TARGET),x86_64-win64) ifeq ($(FULL_TARGET),x86_64-win64)
override TARGET_UNITS+=$(SYSTEMUNIT) # ctypes objpas macpas strings rsts=math varutils typinfo variants classes dateutils sysconst fpmkunit override TARGET_UNITS+=system ctypes objpas macpas strings lineinfo heaptrc matrix windows winsock initc cmem dynlibs signals dos crt objects messages rtlconsts sysconst sysutils math types strutils convutils dateutils varutils variants typinfo classes cpu mmx charset ucomplex getopts winevent sockets printer video mouse keyboard winsysut fpmkunit
endif endif
ifeq ($(FULL_TARGET),arm-linux) ifeq ($(FULL_TARGET),arm-linux)
override TARGET_UNITS+=$(SYSTEMUNIT) # ctypes objpas macpas strings rsts=math varutils typinfo variants classes dateutils sysconst fpmkunit override TARGET_UNITS+=system ctypes objpas macpas strings lineinfo heaptrc matrix windows winsock initc cmem dynlibs signals dos crt objects messages rtlconsts sysconst sysutils math types strutils convutils dateutils varutils variants typinfo classes cpu mmx charset ucomplex getopts winevent sockets printer video mouse keyboard winsysut fpmkunit
endif endif
<<<<<<< .mine
<<<<<<< .mine
ifeq ($(FULL_TARGET),arm-palmos)
override TARGET_UNITS+=system ctypes objpas macpas strings lineinfo heaptrc matrix windows winsock initc cmem dynlibs signals dos crt objects messages rtlconsts sysconst sysutils math types strutils convutils dateutils varutils variants typinfo classes cpu mmx charset ucomplex getopts winevent sockets printer video mouse keyboard winsysut fpmkunit
endif
=======
>>>>>>> .r2248
=======
ifeq ($(FULL_TARGET),arm-palmos) ifeq ($(FULL_TARGET),arm-palmos)
override TARGET_UNITS+=$(SYSTEMUNIT) # ctypes objpas macpas strings rsts=math varutils typinfo variants classes dateutils sysconst fpmkunit override TARGET_UNITS+=$(SYSTEMUNIT) # ctypes objpas macpas strings rsts=math varutils typinfo variants classes dateutils sysconst fpmkunit
endif endif
>>>>>>> .r2831
ifeq ($(FULL_TARGET),arm-wince) ifeq ($(FULL_TARGET),arm-wince)
override TARGET_UNITS+=$(SYSTEMUNIT) # ctypes objpas macpas strings rsts=math varutils typinfo variants classes dateutils sysconst fpmkunit override TARGET_UNITS+=system ctypes objpas macpas strings lineinfo heaptrc matrix windows winsock initc cmem dynlibs signals dos crt objects messages rtlconsts sysconst sysutils math types strutils convutils dateutils varutils variants typinfo classes cpu mmx charset ucomplex getopts winevent sockets printer video mouse keyboard winsysut fpmkunit
endif endif
ifeq ($(FULL_TARGET),powerpc64-linux) ifeq ($(FULL_TARGET),powerpc64-linux)
override TARGET_UNITS+=$(SYSTEMUNIT) # ctypes objpas macpas strings rsts=math varutils typinfo variants classes dateutils sysconst fpmkunit override TARGET_UNITS+=system ctypes objpas macpas strings lineinfo heaptrc matrix windows winsock initc cmem dynlibs signals dos crt objects messages rtlconsts sysconst sysutils math types strutils convutils dateutils varutils variants typinfo classes cpu mmx charset ucomplex getopts winevent sockets printer video mouse keyboard winsysut fpmkunit
endif endif
ifeq ($(FULL_TARGET),i386-linux) ifeq ($(FULL_TARGET),i386-linux)
override TARGET_LOADERS+=#wprt0 wdllprt0 gprt0 wcygprt0 override TARGET_LOADERS+=$(LOADERS)
endif endif
ifeq ($(FULL_TARGET),i386-go32v2) ifeq ($(FULL_TARGET),i386-go32v2)
override TARGET_LOADERS+=#wprt0 wdllprt0 gprt0 wcygprt0 override TARGET_LOADERS+=$(LOADERS)
endif endif
ifeq ($(FULL_TARGET),i386-win32) ifeq ($(FULL_TARGET),i386-win32)
override TARGET_LOADERS+=#wprt0 wdllprt0 gprt0 wcygprt0 override TARGET_LOADERS+=$(LOADERS)
endif endif
ifeq ($(FULL_TARGET),i386-os2) ifeq ($(FULL_TARGET),i386-os2)
override TARGET_LOADERS+=#wprt0 wdllprt0 gprt0 wcygprt0 override TARGET_LOADERS+=$(LOADERS)
endif endif
ifeq ($(FULL_TARGET),i386-freebsd) ifeq ($(FULL_TARGET),i386-freebsd)
override TARGET_LOADERS+=#wprt0 wdllprt0 gprt0 wcygprt0 override TARGET_LOADERS+=$(LOADERS)
endif endif
ifeq ($(FULL_TARGET),i386-beos) ifeq ($(FULL_TARGET),i386-beos)
override TARGET_LOADERS+=#wprt0 wdllprt0 gprt0 wcygprt0 override TARGET_LOADERS+=$(LOADERS)
endif endif
ifeq ($(FULL_TARGET),i386-netbsd) ifeq ($(FULL_TARGET),i386-netbsd)
override TARGET_LOADERS+=#wprt0 wdllprt0 gprt0 wcygprt0 override TARGET_LOADERS+=$(LOADERS)
endif endif
ifeq ($(FULL_TARGET),i386-solaris) ifeq ($(FULL_TARGET),i386-solaris)
override TARGET_LOADERS+=#wprt0 wdllprt0 gprt0 wcygprt0 override TARGET_LOADERS+=$(LOADERS)
endif endif
ifeq ($(FULL_TARGET),i386-qnx) ifeq ($(FULL_TARGET),i386-qnx)
override TARGET_LOADERS+=#wprt0 wdllprt0 gprt0 wcygprt0 override TARGET_LOADERS+=$(LOADERS)
endif endif
ifeq ($(FULL_TARGET),i386-netware) ifeq ($(FULL_TARGET),i386-netware)
override TARGET_LOADERS+=#wprt0 wdllprt0 gprt0 wcygprt0 override TARGET_LOADERS+=$(LOADERS)
endif endif
ifeq ($(FULL_TARGET),i386-openbsd) ifeq ($(FULL_TARGET),i386-openbsd)
override TARGET_LOADERS+=#wprt0 wdllprt0 gprt0 wcygprt0 override TARGET_LOADERS+=$(LOADERS)
endif endif
ifeq ($(FULL_TARGET),i386-wdosx) ifeq ($(FULL_TARGET),i386-wdosx)
override TARGET_LOADERS+=#wprt0 wdllprt0 gprt0 wcygprt0 override TARGET_LOADERS+=$(LOADERS)
endif endif
<<<<<<< .mine
<<<<<<< .mine
ifeq ($(FULL_TARGET),i386-darwin)
override TARGET_LOADERS+=$(LOADERS)
endif
=======
>>>>>>> .r2248
=======
ifeq ($(FULL_TARGET),i386-darwin) ifeq ($(FULL_TARGET),i386-darwin)
override TARGET_LOADERS+=#wprt0 wdllprt0 gprt0 wcygprt0 override TARGET_LOADERS+=#wprt0 wdllprt0 gprt0 wcygprt0
endif endif
>>>>>>> .r2831
ifeq ($(FULL_TARGET),i386-emx) ifeq ($(FULL_TARGET),i386-emx)
override TARGET_LOADERS+=#wprt0 wdllprt0 gprt0 wcygprt0 override TARGET_LOADERS+=$(LOADERS)
endif endif
ifeq ($(FULL_TARGET),i386-watcom) ifeq ($(FULL_TARGET),i386-watcom)
override TARGET_LOADERS+=#wprt0 wdllprt0 gprt0 wcygprt0 override TARGET_LOADERS+=$(LOADERS)
endif endif
ifeq ($(FULL_TARGET),i386-netwlibc) ifeq ($(FULL_TARGET),i386-netwlibc)
override TARGET_LOADERS+=#wprt0 wdllprt0 gprt0 wcygprt0 override TARGET_LOADERS+=$(LOADERS)
endif endif
ifeq ($(FULL_TARGET),i386-wince) ifeq ($(FULL_TARGET),i386-wince)
override TARGET_LOADERS+=#wprt0 wdllprt0 gprt0 wcygprt0 override TARGET_LOADERS+=$(LOADERS)
endif endif
ifeq ($(FULL_TARGET),m68k-linux) ifeq ($(FULL_TARGET),m68k-linux)
override TARGET_LOADERS+=#wprt0 wdllprt0 gprt0 wcygprt0 override TARGET_LOADERS+=$(LOADERS)
endif endif
ifeq ($(FULL_TARGET),m68k-freebsd) ifeq ($(FULL_TARGET),m68k-freebsd)
override TARGET_LOADERS+=#wprt0 wdllprt0 gprt0 wcygprt0 override TARGET_LOADERS+=$(LOADERS)
endif endif
ifeq ($(FULL_TARGET),m68k-netbsd) ifeq ($(FULL_TARGET),m68k-netbsd)
override TARGET_LOADERS+=#wprt0 wdllprt0 gprt0 wcygprt0 override TARGET_LOADERS+=$(LOADERS)
endif endif
ifeq ($(FULL_TARGET),m68k-amiga) ifeq ($(FULL_TARGET),m68k-amiga)
override TARGET_LOADERS+=#wprt0 wdllprt0 gprt0 wcygprt0 override TARGET_LOADERS+=$(LOADERS)
endif endif
ifeq ($(FULL_TARGET),m68k-atari) ifeq ($(FULL_TARGET),m68k-atari)
override TARGET_LOADERS+=#wprt0 wdllprt0 gprt0 wcygprt0 override TARGET_LOADERS+=$(LOADERS)
endif endif
ifeq ($(FULL_TARGET),m68k-openbsd) ifeq ($(FULL_TARGET),m68k-openbsd)
override TARGET_LOADERS+=#wprt0 wdllprt0 gprt0 wcygprt0 override TARGET_LOADERS+=$(LOADERS)
endif endif
ifeq ($(FULL_TARGET),m68k-palmos) ifeq ($(FULL_TARGET),m68k-palmos)
override TARGET_LOADERS+=#wprt0 wdllprt0 gprt0 wcygprt0 override TARGET_LOADERS+=$(LOADERS)
endif endif
ifeq ($(FULL_TARGET),powerpc-linux) ifeq ($(FULL_TARGET),powerpc-linux)
override TARGET_LOADERS+=#wprt0 wdllprt0 gprt0 wcygprt0 override TARGET_LOADERS+=$(LOADERS)
endif endif
ifeq ($(FULL_TARGET),powerpc-netbsd) ifeq ($(FULL_TARGET),powerpc-netbsd)
override TARGET_LOADERS+=#wprt0 wdllprt0 gprt0 wcygprt0 override TARGET_LOADERS+=$(LOADERS)
endif endif
ifeq ($(FULL_TARGET),powerpc-macos) ifeq ($(FULL_TARGET),powerpc-macos)
override TARGET_LOADERS+=#wprt0 wdllprt0 gprt0 wcygprt0 override TARGET_LOADERS+=$(LOADERS)
endif endif
ifeq ($(FULL_TARGET),powerpc-darwin) ifeq ($(FULL_TARGET),powerpc-darwin)
override TARGET_LOADERS+=#wprt0 wdllprt0 gprt0 wcygprt0 override TARGET_LOADERS+=$(LOADERS)
endif endif
ifeq ($(FULL_TARGET),powerpc-morphos) ifeq ($(FULL_TARGET),powerpc-morphos)
override TARGET_LOADERS+=#wprt0 wdllprt0 gprt0 wcygprt0 override TARGET_LOADERS+=$(LOADERS)
endif endif
ifeq ($(FULL_TARGET),sparc-linux) ifeq ($(FULL_TARGET),sparc-linux)
override TARGET_LOADERS+=#wprt0 wdllprt0 gprt0 wcygprt0 override TARGET_LOADERS+=$(LOADERS)
endif endif
ifeq ($(FULL_TARGET),sparc-netbsd) ifeq ($(FULL_TARGET),sparc-netbsd)
override TARGET_LOADERS+=#wprt0 wdllprt0 gprt0 wcygprt0 override TARGET_LOADERS+=$(LOADERS)
endif endif
ifeq ($(FULL_TARGET),sparc-solaris) ifeq ($(FULL_TARGET),sparc-solaris)
override TARGET_LOADERS+=#wprt0 wdllprt0 gprt0 wcygprt0 override TARGET_LOADERS+=$(LOADERS)
endif endif
ifeq ($(FULL_TARGET),x86_64-linux) ifeq ($(FULL_TARGET),x86_64-linux)
override TARGET_LOADERS+=#wprt0 wdllprt0 gprt0 wcygprt0 override TARGET_LOADERS+=$(LOADERS)
endif endif
ifeq ($(FULL_TARGET),x86_64-freebsd) ifeq ($(FULL_TARGET),x86_64-freebsd)
override TARGET_LOADERS+=#wprt0 wdllprt0 gprt0 wcygprt0 override TARGET_LOADERS+=$(LOADERS)
endif endif
ifeq ($(FULL_TARGET),x86_64-win64) ifeq ($(FULL_TARGET),x86_64-win64)
override TARGET_LOADERS+=#wprt0 wdllprt0 gprt0 wcygprt0 override TARGET_LOADERS+=$(LOADERS)
endif endif
ifeq ($(FULL_TARGET),arm-linux) ifeq ($(FULL_TARGET),arm-linux)
override TARGET_LOADERS+=#wprt0 wdllprt0 gprt0 wcygprt0 override TARGET_LOADERS+=$(LOADERS)
endif endif
<<<<<<< .mine
<<<<<<< .mine
ifeq ($(FULL_TARGET),arm-palmos)
override TARGET_LOADERS+=$(LOADERS)
endif
=======
>>>>>>> .r2248
=======
ifeq ($(FULL_TARGET),arm-palmos) ifeq ($(FULL_TARGET),arm-palmos)
override TARGET_LOADERS+=#wprt0 wdllprt0 gprt0 wcygprt0 override TARGET_LOADERS+=#wprt0 wdllprt0 gprt0 wcygprt0
endif endif
>>>>>>> .r2831
ifeq ($(FULL_TARGET),arm-wince) ifeq ($(FULL_TARGET),arm-wince)
override TARGET_LOADERS+=#wprt0 wdllprt0 gprt0 wcygprt0 override TARGET_LOADERS+=$(LOADERS)
endif endif
ifeq ($(FULL_TARGET),powerpc64-linux) ifeq ($(FULL_TARGET),powerpc64-linux)
override TARGET_LOADERS+=#wprt0 wdllprt0 gprt0 wcygprt0 override TARGET_LOADERS+=$(LOADERS)
endif
ifeq ($(FULL_TARGET),i386-linux)
override TARGET_RSTS+=math varutils typinfo variants classes dateutils sysconst fpmkunit
endif
ifeq ($(FULL_TARGET),i386-go32v2)
override TARGET_RSTS+=math varutils typinfo variants classes dateutils sysconst fpmkunit
endif
ifeq ($(FULL_TARGET),i386-win32)
override TARGET_RSTS+=math varutils typinfo variants classes dateutils sysconst fpmkunit
endif
ifeq ($(FULL_TARGET),i386-os2)
override TARGET_RSTS+=math varutils typinfo variants classes dateutils sysconst fpmkunit
endif
ifeq ($(FULL_TARGET),i386-freebsd)
override TARGET_RSTS+=math varutils typinfo variants classes dateutils sysconst fpmkunit
endif
ifeq ($(FULL_TARGET),i386-beos)
override TARGET_RSTS+=math varutils typinfo variants classes dateutils sysconst fpmkunit
endif
ifeq ($(FULL_TARGET),i386-netbsd)
override TARGET_RSTS+=math varutils typinfo variants classes dateutils sysconst fpmkunit
endif
ifeq ($(FULL_TARGET),i386-solaris)
override TARGET_RSTS+=math varutils typinfo variants classes dateutils sysconst fpmkunit
endif
ifeq ($(FULL_TARGET),i386-qnx)
override TARGET_RSTS+=math varutils typinfo variants classes dateutils sysconst fpmkunit
endif
ifeq ($(FULL_TARGET),i386-netware)
override TARGET_RSTS+=math varutils typinfo variants classes dateutils sysconst fpmkunit
endif
ifeq ($(FULL_TARGET),i386-openbsd)
override TARGET_RSTS+=math varutils typinfo variants classes dateutils sysconst fpmkunit
endif
ifeq ($(FULL_TARGET),i386-wdosx)
override TARGET_RSTS+=math varutils typinfo variants classes dateutils sysconst fpmkunit
endif
ifeq ($(FULL_TARGET),i386-darwin)
override TARGET_RSTS+=math varutils typinfo variants classes dateutils sysconst fpmkunit
endif
ifeq ($(FULL_TARGET),i386-emx)
override TARGET_RSTS+=math varutils typinfo variants classes dateutils sysconst fpmkunit
endif
ifeq ($(FULL_TARGET),i386-watcom)
override TARGET_RSTS+=math varutils typinfo variants classes dateutils sysconst fpmkunit
endif
ifeq ($(FULL_TARGET),i386-netwlibc)
override TARGET_RSTS+=math varutils typinfo variants classes dateutils sysconst fpmkunit
endif
ifeq ($(FULL_TARGET),i386-wince)
override TARGET_RSTS+=math varutils typinfo variants classes dateutils sysconst fpmkunit
endif
ifeq ($(FULL_TARGET),m68k-linux)
override TARGET_RSTS+=math varutils typinfo variants classes dateutils sysconst fpmkunit
endif
ifeq ($(FULL_TARGET),m68k-freebsd)
override TARGET_RSTS+=math varutils typinfo variants classes dateutils sysconst fpmkunit
endif
ifeq ($(FULL_TARGET),m68k-netbsd)
override TARGET_RSTS+=math varutils typinfo variants classes dateutils sysconst fpmkunit
endif
ifeq ($(FULL_TARGET),m68k-amiga)
override TARGET_RSTS+=math varutils typinfo variants classes dateutils sysconst fpmkunit
endif
ifeq ($(FULL_TARGET),m68k-atari)
override TARGET_RSTS+=math varutils typinfo variants classes dateutils sysconst fpmkunit
endif
ifeq ($(FULL_TARGET),m68k-openbsd)
override TARGET_RSTS+=math varutils typinfo variants classes dateutils sysconst fpmkunit
endif
ifeq ($(FULL_TARGET),m68k-palmos)
override TARGET_RSTS+=math varutils typinfo variants classes dateutils sysconst fpmkunit
endif
ifeq ($(FULL_TARGET),powerpc-linux)
override TARGET_RSTS+=math varutils typinfo variants classes dateutils sysconst fpmkunit
endif
ifeq ($(FULL_TARGET),powerpc-netbsd)
override TARGET_RSTS+=math varutils typinfo variants classes dateutils sysconst fpmkunit
endif
ifeq ($(FULL_TARGET),powerpc-macos)
override TARGET_RSTS+=math varutils typinfo variants classes dateutils sysconst fpmkunit
endif
ifeq ($(FULL_TARGET),powerpc-darwin)
override TARGET_RSTS+=math varutils typinfo variants classes dateutils sysconst fpmkunit
endif
ifeq ($(FULL_TARGET),powerpc-morphos)
override TARGET_RSTS+=math varutils typinfo variants classes dateutils sysconst fpmkunit
endif
ifeq ($(FULL_TARGET),sparc-linux)
override TARGET_RSTS+=math varutils typinfo variants classes dateutils sysconst fpmkunit
endif
ifeq ($(FULL_TARGET),sparc-netbsd)
override TARGET_RSTS+=math varutils typinfo variants classes dateutils sysconst fpmkunit
endif
ifeq ($(FULL_TARGET),sparc-solaris)
override TARGET_RSTS+=math varutils typinfo variants classes dateutils sysconst fpmkunit
endif
ifeq ($(FULL_TARGET),x86_64-linux)
override TARGET_RSTS+=math varutils typinfo variants classes dateutils sysconst fpmkunit
endif
ifeq ($(FULL_TARGET),x86_64-freebsd)
override TARGET_RSTS+=math varutils typinfo variants classes dateutils sysconst fpmkunit
endif
ifeq ($(FULL_TARGET),x86_64-win64)
override TARGET_RSTS+=math varutils typinfo variants classes dateutils sysconst fpmkunit
endif
ifeq ($(FULL_TARGET),arm-linux)
override TARGET_RSTS+=math varutils typinfo variants classes dateutils sysconst fpmkunit
endif
ifeq ($(FULL_TARGET),arm-palmos)
override TARGET_RSTS+=math varutils typinfo variants classes dateutils sysconst fpmkunit
endif
ifeq ($(FULL_TARGET),arm-wince)
override TARGET_RSTS+=math varutils typinfo variants classes dateutils sysconst fpmkunit
endif
ifeq ($(FULL_TARGET),powerpc64-linux)
override TARGET_RSTS+=math varutils typinfo variants classes dateutils sysconst fpmkunit
endif endif
override INSTALL_FPCPACKAGE=y override INSTALL_FPCPACKAGE=y
ifeq ($(FULL_TARGET),i386-linux) ifeq ($(FULL_TARGET),i386-linux)
override COMPILER_INCLUDEDIR+=$(INC) $(PROCINC) $(RTL)/win override COMPILER_INCLUDEDIR+=$(INC) $(PROCINC)
endif endif
ifeq ($(FULL_TARGET),i386-go32v2) ifeq ($(FULL_TARGET),i386-go32v2)
override COMPILER_INCLUDEDIR+=$(INC) $(PROCINC) $(RTL)/win override COMPILER_INCLUDEDIR+=$(INC) $(PROCINC)
endif endif
ifeq ($(FULL_TARGET),i386-win32) ifeq ($(FULL_TARGET),i386-win32)
override COMPILER_INCLUDEDIR+=$(INC) $(PROCINC) $(RTL)/win override COMPILER_INCLUDEDIR+=$(INC) $(PROCINC)
endif endif
ifeq ($(FULL_TARGET),i386-os2) ifeq ($(FULL_TARGET),i386-os2)
override COMPILER_INCLUDEDIR+=$(INC) $(PROCINC) $(RTL)/win override COMPILER_INCLUDEDIR+=$(INC) $(PROCINC)
endif endif
ifeq ($(FULL_TARGET),i386-freebsd) ifeq ($(FULL_TARGET),i386-freebsd)
override COMPILER_INCLUDEDIR+=$(INC) $(PROCINC) $(RTL)/win override COMPILER_INCLUDEDIR+=$(INC) $(PROCINC)
endif endif
ifeq ($(FULL_TARGET),i386-beos) ifeq ($(FULL_TARGET),i386-beos)
override COMPILER_INCLUDEDIR+=$(INC) $(PROCINC) $(RTL)/win override COMPILER_INCLUDEDIR+=$(INC) $(PROCINC)
endif endif
ifeq ($(FULL_TARGET),i386-netbsd) ifeq ($(FULL_TARGET),i386-netbsd)
override COMPILER_INCLUDEDIR+=$(INC) $(PROCINC) $(RTL)/win override COMPILER_INCLUDEDIR+=$(INC) $(PROCINC)
endif endif
ifeq ($(FULL_TARGET),i386-solaris) ifeq ($(FULL_TARGET),i386-solaris)
override COMPILER_INCLUDEDIR+=$(INC) $(PROCINC) $(RTL)/win override COMPILER_INCLUDEDIR+=$(INC) $(PROCINC)
endif endif
ifeq ($(FULL_TARGET),i386-qnx) ifeq ($(FULL_TARGET),i386-qnx)
override COMPILER_INCLUDEDIR+=$(INC) $(PROCINC) $(RTL)/win override COMPILER_INCLUDEDIR+=$(INC) $(PROCINC)
endif endif
ifeq ($(FULL_TARGET),i386-netware) ifeq ($(FULL_TARGET),i386-netware)
override COMPILER_INCLUDEDIR+=$(INC) $(PROCINC) $(RTL)/win override COMPILER_INCLUDEDIR+=$(INC) $(PROCINC)
endif endif
ifeq ($(FULL_TARGET),i386-openbsd) ifeq ($(FULL_TARGET),i386-openbsd)
override COMPILER_INCLUDEDIR+=$(INC) $(PROCINC) $(RTL)/win override COMPILER_INCLUDEDIR+=$(INC) $(PROCINC)
endif endif
ifeq ($(FULL_TARGET),i386-wdosx) ifeq ($(FULL_TARGET),i386-wdosx)
override COMPILER_INCLUDEDIR+=$(INC) $(PROCINC) $(RTL)/win override COMPILER_INCLUDEDIR+=$(INC) $(PROCINC)
endif endif
<<<<<<< .mine
<<<<<<< .mine
ifeq ($(FULL_TARGET),i386-darwin)
override COMPILER_INCLUDEDIR+=$(INC) $(PROCINC)
endif
=======
>>>>>>> .r2248
=======
ifeq ($(FULL_TARGET),i386-darwin) ifeq ($(FULL_TARGET),i386-darwin)
override COMPILER_INCLUDEDIR+=$(INC) $(PROCINC) $(RTL)/win override COMPILER_INCLUDEDIR+=$(INC) $(PROCINC) $(RTL)/win
endif endif
>>>>>>> .r2831
ifeq ($(FULL_TARGET),i386-emx) ifeq ($(FULL_TARGET),i386-emx)
override COMPILER_INCLUDEDIR+=$(INC) $(PROCINC) $(RTL)/win override COMPILER_INCLUDEDIR+=$(INC) $(PROCINC)
endif endif
ifeq ($(FULL_TARGET),i386-watcom) ifeq ($(FULL_TARGET),i386-watcom)
override COMPILER_INCLUDEDIR+=$(INC) $(PROCINC) $(RTL)/win override COMPILER_INCLUDEDIR+=$(INC) $(PROCINC)
endif endif
ifeq ($(FULL_TARGET),i386-netwlibc) ifeq ($(FULL_TARGET),i386-netwlibc)
override COMPILER_INCLUDEDIR+=$(INC) $(PROCINC) $(RTL)/win override COMPILER_INCLUDEDIR+=$(INC) $(PROCINC)
endif endif
ifeq ($(FULL_TARGET),i386-wince) ifeq ($(FULL_TARGET),i386-wince)
override COMPILER_INCLUDEDIR+=$(INC) $(PROCINC) $(RTL)/win override COMPILER_INCLUDEDIR+=$(INC) $(PROCINC)
endif endif
ifeq ($(FULL_TARGET),m68k-linux) ifeq ($(FULL_TARGET),m68k-linux)
override COMPILER_INCLUDEDIR+=$(INC) $(PROCINC) $(RTL)/win override COMPILER_INCLUDEDIR+=$(INC) $(PROCINC)
endif endif
ifeq ($(FULL_TARGET),m68k-freebsd) ifeq ($(FULL_TARGET),m68k-freebsd)
override COMPILER_INCLUDEDIR+=$(INC) $(PROCINC) $(RTL)/win override COMPILER_INCLUDEDIR+=$(INC) $(PROCINC)
endif endif
ifeq ($(FULL_TARGET),m68k-netbsd) ifeq ($(FULL_TARGET),m68k-netbsd)
override COMPILER_INCLUDEDIR+=$(INC) $(PROCINC) $(RTL)/win override COMPILER_INCLUDEDIR+=$(INC) $(PROCINC)
endif endif
ifeq ($(FULL_TARGET),m68k-amiga) ifeq ($(FULL_TARGET),m68k-amiga)
override COMPILER_INCLUDEDIR+=$(INC) $(PROCINC) $(RTL)/win override COMPILER_INCLUDEDIR+=$(INC) $(PROCINC)
endif endif
ifeq ($(FULL_TARGET),m68k-atari) ifeq ($(FULL_TARGET),m68k-atari)
override COMPILER_INCLUDEDIR+=$(INC) $(PROCINC) $(RTL)/win override COMPILER_INCLUDEDIR+=$(INC) $(PROCINC)
endif endif
ifeq ($(FULL_TARGET),m68k-openbsd) ifeq ($(FULL_TARGET),m68k-openbsd)
override COMPILER_INCLUDEDIR+=$(INC) $(PROCINC) $(RTL)/win override COMPILER_INCLUDEDIR+=$(INC) $(PROCINC)
endif endif
ifeq ($(FULL_TARGET),m68k-palmos) ifeq ($(FULL_TARGET),m68k-palmos)
override COMPILER_INCLUDEDIR+=$(INC) $(PROCINC) $(RTL)/win override COMPILER_INCLUDEDIR+=$(INC) $(PROCINC)
endif endif
ifeq ($(FULL_TARGET),powerpc-linux) ifeq ($(FULL_TARGET),powerpc-linux)
override COMPILER_INCLUDEDIR+=$(INC) $(PROCINC) $(RTL)/win override COMPILER_INCLUDEDIR+=$(INC) $(PROCINC)
endif endif
ifeq ($(FULL_TARGET),powerpc-netbsd) ifeq ($(FULL_TARGET),powerpc-netbsd)
override COMPILER_INCLUDEDIR+=$(INC) $(PROCINC) $(RTL)/win override COMPILER_INCLUDEDIR+=$(INC) $(PROCINC)
endif endif
ifeq ($(FULL_TARGET),powerpc-macos) ifeq ($(FULL_TARGET),powerpc-macos)
override COMPILER_INCLUDEDIR+=$(INC) $(PROCINC) $(RTL)/win override COMPILER_INCLUDEDIR+=$(INC) $(PROCINC)
endif endif
ifeq ($(FULL_TARGET),powerpc-darwin) ifeq ($(FULL_TARGET),powerpc-darwin)
override COMPILER_INCLUDEDIR+=$(INC) $(PROCINC) $(RTL)/win override COMPILER_INCLUDEDIR+=$(INC) $(PROCINC)
endif endif
ifeq ($(FULL_TARGET),powerpc-morphos) ifeq ($(FULL_TARGET),powerpc-morphos)
override COMPILER_INCLUDEDIR+=$(INC) $(PROCINC) $(RTL)/win override COMPILER_INCLUDEDIR+=$(INC) $(PROCINC)
endif endif
ifeq ($(FULL_TARGET),sparc-linux) ifeq ($(FULL_TARGET),sparc-linux)
override COMPILER_INCLUDEDIR+=$(INC) $(PROCINC) $(RTL)/win override COMPILER_INCLUDEDIR+=$(INC) $(PROCINC)
endif endif
ifeq ($(FULL_TARGET),sparc-netbsd) ifeq ($(FULL_TARGET),sparc-netbsd)
override COMPILER_INCLUDEDIR+=$(INC) $(PROCINC) $(RTL)/win override COMPILER_INCLUDEDIR+=$(INC) $(PROCINC)
endif endif
ifeq ($(FULL_TARGET),sparc-solaris) ifeq ($(FULL_TARGET),sparc-solaris)
override COMPILER_INCLUDEDIR+=$(INC) $(PROCINC) $(RTL)/win override COMPILER_INCLUDEDIR+=$(INC) $(PROCINC)
endif endif
ifeq ($(FULL_TARGET),x86_64-linux) ifeq ($(FULL_TARGET),x86_64-linux)
override COMPILER_INCLUDEDIR+=$(INC) $(PROCINC) $(RTL)/win override COMPILER_INCLUDEDIR+=$(INC) $(PROCINC)
endif endif
ifeq ($(FULL_TARGET),x86_64-freebsd) ifeq ($(FULL_TARGET),x86_64-freebsd)
override COMPILER_INCLUDEDIR+=$(INC) $(PROCINC) $(RTL)/win override COMPILER_INCLUDEDIR+=$(INC) $(PROCINC)
endif endif
ifeq ($(FULL_TARGET),x86_64-win64) ifeq ($(FULL_TARGET),x86_64-win64)
override COMPILER_INCLUDEDIR+=$(INC) $(PROCINC) $(RTL)/win override COMPILER_INCLUDEDIR+=$(INC) $(PROCINC)
endif endif
ifeq ($(FULL_TARGET),arm-linux) ifeq ($(FULL_TARGET),arm-linux)
override COMPILER_INCLUDEDIR+=$(INC) $(PROCINC) $(RTL)/win override COMPILER_INCLUDEDIR+=$(INC) $(PROCINC)
endif endif
<<<<<<< .mine
<<<<<<< .mine
ifeq ($(FULL_TARGET),arm-palmos)
override COMPILER_INCLUDEDIR+=$(INC) $(PROCINC)
endif
=======
>>>>>>> .r2248
=======
ifeq ($(FULL_TARGET),arm-palmos) ifeq ($(FULL_TARGET),arm-palmos)
override COMPILER_INCLUDEDIR+=$(INC) $(PROCINC) $(RTL)/win override COMPILER_INCLUDEDIR+=$(INC) $(PROCINC) $(RTL)/win
endif endif
>>>>>>> .r2831
ifeq ($(FULL_TARGET),arm-wince) ifeq ($(FULL_TARGET),arm-wince)
override COMPILER_INCLUDEDIR+=$(INC) $(PROCINC) $(RTL)/win override COMPILER_INCLUDEDIR+=$(INC) $(PROCINC)
endif endif
ifeq ($(FULL_TARGET),powerpc64-linux) ifeq ($(FULL_TARGET),powerpc64-linux)
override COMPILER_INCLUDEDIR+=$(INC) $(PROCINC) $(RTL)/win override COMPILER_INCLUDEDIR+=$(INC) $(PROCINC)
endif endif
ifeq ($(FULL_TARGET),i386-linux) ifeq ($(FULL_TARGET),i386-linux)
override COMPILER_SOURCEDIR+=$(INC) $(PROCINC) override COMPILER_SOURCEDIR+=$(INC) $(PROCINC) $(COMMON)
endif endif
ifeq ($(FULL_TARGET),i386-go32v2) ifeq ($(FULL_TARGET),i386-go32v2)
override COMPILER_SOURCEDIR+=$(INC) $(PROCINC) override COMPILER_SOURCEDIR+=$(INC) $(PROCINC) $(COMMON)
endif endif
ifeq ($(FULL_TARGET),i386-win32) ifeq ($(FULL_TARGET),i386-win32)
override COMPILER_SOURCEDIR+=$(INC) $(PROCINC) override COMPILER_SOURCEDIR+=$(INC) $(PROCINC) $(COMMON)
endif endif
ifeq ($(FULL_TARGET),i386-os2) ifeq ($(FULL_TARGET),i386-os2)
override COMPILER_SOURCEDIR+=$(INC) $(PROCINC) override COMPILER_SOURCEDIR+=$(INC) $(PROCINC) $(COMMON)
endif endif
ifeq ($(FULL_TARGET),i386-freebsd) ifeq ($(FULL_TARGET),i386-freebsd)
override COMPILER_SOURCEDIR+=$(INC) $(PROCINC) override COMPILER_SOURCEDIR+=$(INC) $(PROCINC) $(COMMON)
endif endif
ifeq ($(FULL_TARGET),i386-beos) ifeq ($(FULL_TARGET),i386-beos)
override COMPILER_SOURCEDIR+=$(INC) $(PROCINC) override COMPILER_SOURCEDIR+=$(INC) $(PROCINC) $(COMMON)
endif endif
ifeq ($(FULL_TARGET),i386-netbsd) ifeq ($(FULL_TARGET),i386-netbsd)
override COMPILER_SOURCEDIR+=$(INC) $(PROCINC) override COMPILER_SOURCEDIR+=$(INC) $(PROCINC) $(COMMON)
endif endif
ifeq ($(FULL_TARGET),i386-solaris) ifeq ($(FULL_TARGET),i386-solaris)
override COMPILER_SOURCEDIR+=$(INC) $(PROCINC) override COMPILER_SOURCEDIR+=$(INC) $(PROCINC) $(COMMON)
endif endif
ifeq ($(FULL_TARGET),i386-qnx) ifeq ($(FULL_TARGET),i386-qnx)
override COMPILER_SOURCEDIR+=$(INC) $(PROCINC) override COMPILER_SOURCEDIR+=$(INC) $(PROCINC) $(COMMON)
endif endif
ifeq ($(FULL_TARGET),i386-netware) ifeq ($(FULL_TARGET),i386-netware)
override COMPILER_SOURCEDIR+=$(INC) $(PROCINC) override COMPILER_SOURCEDIR+=$(INC) $(PROCINC) $(COMMON)
endif endif
ifeq ($(FULL_TARGET),i386-openbsd) ifeq ($(FULL_TARGET),i386-openbsd)
override COMPILER_SOURCEDIR+=$(INC) $(PROCINC) override COMPILER_SOURCEDIR+=$(INC) $(PROCINC) $(COMMON)
endif endif
ifeq ($(FULL_TARGET),i386-wdosx) ifeq ($(FULL_TARGET),i386-wdosx)
override COMPILER_SOURCEDIR+=$(INC) $(PROCINC) override COMPILER_SOURCEDIR+=$(INC) $(PROCINC) $(COMMON)
endif endif
<<<<<<< .mine
<<<<<<< .mine
ifeq ($(FULL_TARGET),i386-darwin)
override COMPILER_SOURCEDIR+=$(INC) $(PROCINC) $(COMMON)
endif
=======
>>>>>>> .r2248
=======
ifeq ($(FULL_TARGET),i386-darwin) ifeq ($(FULL_TARGET),i386-darwin)
override COMPILER_SOURCEDIR+=$(INC) $(PROCINC) override COMPILER_SOURCEDIR+=$(INC) $(PROCINC)
endif endif
>>>>>>> .r2831
ifeq ($(FULL_TARGET),i386-emx) ifeq ($(FULL_TARGET),i386-emx)
override COMPILER_SOURCEDIR+=$(INC) $(PROCINC) override COMPILER_SOURCEDIR+=$(INC) $(PROCINC) $(COMMON)
endif endif
ifeq ($(FULL_TARGET),i386-watcom) ifeq ($(FULL_TARGET),i386-watcom)
override COMPILER_SOURCEDIR+=$(INC) $(PROCINC) override COMPILER_SOURCEDIR+=$(INC) $(PROCINC) $(COMMON)
endif endif
ifeq ($(FULL_TARGET),i386-netwlibc) ifeq ($(FULL_TARGET),i386-netwlibc)
override COMPILER_SOURCEDIR+=$(INC) $(PROCINC) override COMPILER_SOURCEDIR+=$(INC) $(PROCINC) $(COMMON)
endif endif
ifeq ($(FULL_TARGET),i386-wince) ifeq ($(FULL_TARGET),i386-wince)
override COMPILER_SOURCEDIR+=$(INC) $(PROCINC) override COMPILER_SOURCEDIR+=$(INC) $(PROCINC) $(COMMON)
endif endif
ifeq ($(FULL_TARGET),m68k-linux) ifeq ($(FULL_TARGET),m68k-linux)
override COMPILER_SOURCEDIR+=$(INC) $(PROCINC) override COMPILER_SOURCEDIR+=$(INC) $(PROCINC) $(COMMON)
endif endif
ifeq ($(FULL_TARGET),m68k-freebsd) ifeq ($(FULL_TARGET),m68k-freebsd)
override COMPILER_SOURCEDIR+=$(INC) $(PROCINC) override COMPILER_SOURCEDIR+=$(INC) $(PROCINC) $(COMMON)
endif endif
ifeq ($(FULL_TARGET),m68k-netbsd) ifeq ($(FULL_TARGET),m68k-netbsd)
override COMPILER_SOURCEDIR+=$(INC) $(PROCINC) override COMPILER_SOURCEDIR+=$(INC) $(PROCINC) $(COMMON)
endif endif
ifeq ($(FULL_TARGET),m68k-amiga) ifeq ($(FULL_TARGET),m68k-amiga)
override COMPILER_SOURCEDIR+=$(INC) $(PROCINC) override COMPILER_SOURCEDIR+=$(INC) $(PROCINC) $(COMMON)
endif endif
ifeq ($(FULL_TARGET),m68k-atari) ifeq ($(FULL_TARGET),m68k-atari)
override COMPILER_SOURCEDIR+=$(INC) $(PROCINC) override COMPILER_SOURCEDIR+=$(INC) $(PROCINC) $(COMMON)
endif endif
ifeq ($(FULL_TARGET),m68k-openbsd) ifeq ($(FULL_TARGET),m68k-openbsd)
override COMPILER_SOURCEDIR+=$(INC) $(PROCINC) override COMPILER_SOURCEDIR+=$(INC) $(PROCINC) $(COMMON)
endif endif
ifeq ($(FULL_TARGET),m68k-palmos) ifeq ($(FULL_TARGET),m68k-palmos)
override COMPILER_SOURCEDIR+=$(INC) $(PROCINC) override COMPILER_SOURCEDIR+=$(INC) $(PROCINC) $(COMMON)
endif endif
ifeq ($(FULL_TARGET),powerpc-linux) ifeq ($(FULL_TARGET),powerpc-linux)
override COMPILER_SOURCEDIR+=$(INC) $(PROCINC) override COMPILER_SOURCEDIR+=$(INC) $(PROCINC) $(COMMON)
endif endif
ifeq ($(FULL_TARGET),powerpc-netbsd) ifeq ($(FULL_TARGET),powerpc-netbsd)
override COMPILER_SOURCEDIR+=$(INC) $(PROCINC) override COMPILER_SOURCEDIR+=$(INC) $(PROCINC) $(COMMON)
endif endif
ifeq ($(FULL_TARGET),powerpc-macos) ifeq ($(FULL_TARGET),powerpc-macos)
override COMPILER_SOURCEDIR+=$(INC) $(PROCINC) override COMPILER_SOURCEDIR+=$(INC) $(PROCINC) $(COMMON)
endif endif
ifeq ($(FULL_TARGET),powerpc-darwin) ifeq ($(FULL_TARGET),powerpc-darwin)
override COMPILER_SOURCEDIR+=$(INC) $(PROCINC) override COMPILER_SOURCEDIR+=$(INC) $(PROCINC) $(COMMON)
endif endif
ifeq ($(FULL_TARGET),powerpc-morphos) ifeq ($(FULL_TARGET),powerpc-morphos)
override COMPILER_SOURCEDIR+=$(INC) $(PROCINC) override COMPILER_SOURCEDIR+=$(INC) $(PROCINC) $(COMMON)
endif endif
ifeq ($(FULL_TARGET),sparc-linux) ifeq ($(FULL_TARGET),sparc-linux)
override COMPILER_SOURCEDIR+=$(INC) $(PROCINC) override COMPILER_SOURCEDIR+=$(INC) $(PROCINC) $(COMMON)
endif endif
ifeq ($(FULL_TARGET),sparc-netbsd) ifeq ($(FULL_TARGET),sparc-netbsd)
override COMPILER_SOURCEDIR+=$(INC) $(PROCINC) override COMPILER_SOURCEDIR+=$(INC) $(PROCINC) $(COMMON)
endif endif
ifeq ($(FULL_TARGET),sparc-solaris) ifeq ($(FULL_TARGET),sparc-solaris)
override COMPILER_SOURCEDIR+=$(INC) $(PROCINC) override COMPILER_SOURCEDIR+=$(INC) $(PROCINC) $(COMMON)
endif endif
ifeq ($(FULL_TARGET),x86_64-linux) ifeq ($(FULL_TARGET),x86_64-linux)
override COMPILER_SOURCEDIR+=$(INC) $(PROCINC) override COMPILER_SOURCEDIR+=$(INC) $(PROCINC) $(COMMON)
endif endif
ifeq ($(FULL_TARGET),x86_64-freebsd) ifeq ($(FULL_TARGET),x86_64-freebsd)
override COMPILER_SOURCEDIR+=$(INC) $(PROCINC) override COMPILER_SOURCEDIR+=$(INC) $(PROCINC) $(COMMON)
endif endif
ifeq ($(FULL_TARGET),x86_64-win64) ifeq ($(FULL_TARGET),x86_64-win64)
override COMPILER_SOURCEDIR+=$(INC) $(PROCINC) override COMPILER_SOURCEDIR+=$(INC) $(PROCINC) $(COMMON)
endif endif
ifeq ($(FULL_TARGET),arm-linux) ifeq ($(FULL_TARGET),arm-linux)
override COMPILER_SOURCEDIR+=$(INC) $(PROCINC) override COMPILER_SOURCEDIR+=$(INC) $(PROCINC) $(COMMON)
endif endif
<<<<<<< .mine
<<<<<<< .mine
ifeq ($(FULL_TARGET),arm-palmos)
override COMPILER_SOURCEDIR+=$(INC) $(PROCINC) $(COMMON)
endif
=======
>>>>>>> .r2248
=======
ifeq ($(FULL_TARGET),arm-palmos) ifeq ($(FULL_TARGET),arm-palmos)
override COMPILER_SOURCEDIR+=$(INC) $(PROCINC) override COMPILER_SOURCEDIR+=$(INC) $(PROCINC)
endif endif
>>>>>>> .r2831
ifeq ($(FULL_TARGET),arm-wince) ifeq ($(FULL_TARGET),arm-wince)
override COMPILER_SOURCEDIR+=$(INC) $(PROCINC) override COMPILER_SOURCEDIR+=$(INC) $(PROCINC) $(COMMON)
endif endif
ifeq ($(FULL_TARGET),powerpc64-linux) ifeq ($(FULL_TARGET),powerpc64-linux)
override COMPILER_SOURCEDIR+=$(INC) $(PROCINC) override COMPILER_SOURCEDIR+=$(INC) $(PROCINC) $(COMMON)
endif endif
ifdef REQUIRE_UNITSDIR ifdef REQUIRE_UNITSDIR
override UNITSDIR+=$(REQUIRE_UNITSDIR) override UNITSDIR+=$(REQUIRE_UNITSDIR)
@ -1977,44 +2172,36 @@ makefiles: fpc_makefiles
ifneq ($(wildcard fpcmake.loc),) ifneq ($(wildcard fpcmake.loc),)
include fpcmake.loc include fpcmake.loc
endif endif
SYSTEMPPU=$(addsuffix $(PPUEXT),$(SYSTEMUNIT)) SYSTEMPPU=$(addsuffix $(PPUEXT),system)
include $(INC)/makefile.inc include $(INC)/makefile.inc
SYSINCDEPS=$(addprefix $(INC)/,$(SYSINCNAMES)) SYSINCDEPS=$(addprefix $(INC)/,$(SYSINCNAMES))
include $(PROCINC)/makefile.cpu include $(PROCINC)/makefile.cpu
SYSCPUDEPS=$(addprefix $(PROCINC)/,$(CPUINCNAMES)) SYSCPUDEPS=$(addprefix $(PROCINC)/,$(CPUINCNAMES))
SYSDEPS=$(SYSINCDEPS) $(SYSCPUDEPS) SYSDEPS=$(SYSINCDEPS) $(SYSCPUDEPS)
wprt0$(OEXT) : $(PRT0).as wprt0$(OEXT) : wprt0.as
$(AS) -o $(UNITTARGETDIRPREFIX)wprt0$(OEXT) $(PRT0).as
gprt0$(OEXT) : gprt0.as gprt0$(OEXT) : gprt0.as
wdllprt0$(OEXT) : wdllprt0.as wdllprt0$(OEXT) : wdllprt0.as
wcygprt0$(OEXT) : wcygprt0.as wcygprt0$(OEXT) : wcygprt0.as
$(SYSTEMUNIT)$(PPUEXT) : $(SYSTEMUNIT).pp $(SYSDEPS) system$(PPUEXT) : system.pp $(SYSDEPS)
$(COMPILER) -Us -Sg $(SYSTEMUNIT).pp -Fi..\win $(COMPILER) -Us -Sg system.pp -Fi../win
objpas$(PPUEXT): $(OBJPASDIR)/objpas.pp $(INC)/except.inc $(SYSTEMUNIT)$(PPUEXT) objpas$(PPUEXT): $(OBJPASDIR)/objpas.pp $(INC)/except.inc system$(PPUEXT)
$(COMPILER) -I$(OBJPASDIR) $(OBJPASDIR)/objpas.pp $(COMPILER) -I$(OBJPASDIR) $(OBJPASDIR)/objpas.pp
strings$(PPUEXT) : $(INC)/strings.pp $(INC)/stringsi.inc\ strings$(PPUEXT) : $(INC)/strings.pp $(INC)/stringsi.inc\
$(PROCINC)/strings.inc $(PROCINC)/stringss.inc\ $(PROCINC)/strings.inc $(PROCINC)/stringss.inc\
$(SYSTEMUNIT)$(PPUEXT) system$(PPUEXT)
windows$(PPUEXT) : windows.pp $(WINDOWS_SOURCE_FILES) $(SYSTEMUNIT)$(PPUEXT) windows$(PPUEXT) : windows.pp $(WINDOWS_SOURCE_FILES) system$(PPUEXT)
$(COMPILER) -I$(WININC) windows.pp $(COMPILER) -I$(WININC) windows.pp
messages$(PPUEXT): messages.pp $(WININC)/messages.inc $(SYSTEMUNIT)$(PPUEXT) messages$(PPUEXT): messages.pp $(WININC)/messages.inc system$(PPUEXT)
$(COMPILER) -I$(WININC) messages.pp $(COMPILER) -I$(WININC) messages.pp
opengl32$(PPUEXT) : opengl32.pp windows$(PPUEXT) $(SYSTEMUNIT)$(PPUEXT) opengl32$(PPUEXT) : opengl32.pp windows$(PPUEXT) system$(PPUEXT)
winsock$(PPUEXT) : winsock.pp windows$(PPUEXT) $(SYSTEMUNIT)$(PPUEXT) winsock$(PPUEXT) : winsock.pp windows$(PPUEXT) system$(PPUEXT)
sockets$(PPUEXT) : sockets.pp windows$(PPUEXT) winsock$(PPUEXT) $(SYSTEMUNIT)$(PPUEXT) \ sockets$(PPUEXT) : sockets.pp windows$(PPUEXT) winsock$(PPUEXT) system$(PPUEXT) \
$(INC)/sockets.inc $(INC)/socketsh.inc $(INC)/sockets.inc $(INC)/socketsh.inc
initc$(PPUEXT) : initc.pp $(SYSTEMUNIT)$(PPUEXT) initc$(PPUEXT) : initc.pp system$(PPUEXT)
wincrt$(PPUEXT) : wincrt.pp $(SYSTEMUNIT)$(PPUEXT) windows$(PPUEXT) graph$(PPUEXT)
winmouse$(PPUEXT) : winmouse.pp $(SYSTEMUNIT)$(PPUEXT) windows$(PPUEXT) graph$(PPUEXT)
dynlibs$(PPUEXT) : $(INC)/dynlibs.pp windows$(PPUEXT) dynlibs$(PPUEXT) : $(INC)/dynlibs.pp windows$(PPUEXT)
dos$(PPUEXT) : dos.pp $(INC)/filerec.inc $(INC)/textrec.inc strings$(PPUEXT) $(SYSTEMUNIT)$(PPUEXT) dos$(PPUEXT) : dos.pp $(INC)/filerec.inc $(INC)/textrec.inc strings$(PPUEXT) system$(PPUEXT)
crt$(PPUEXT) : crt.pp $(INC)/textrec.inc $(SYSTEMUNIT)$(PPUEXT) objpas$(PPUEXT) dos$(PPUEXT) windows$(PPUEXT) crt$(PPUEXT) : crt.pp $(INC)/textrec.inc system$(PPUEXT) objpas$(PPUEXT) dos$(PPUEXT) windows$(PPUEXT)
objects$(PPUEXT) : $(INC)/objects.pp $(SYSTEMUNIT)$(PPUEXT) objects$(PPUEXT) : $(INC)/objects.pp system$(PPUEXT)
include $(GRAPHDIR)/makefile.inc
GRAPHINCDEPS=$(addprefix $(GRAPHDIR)/,$(GRAPHINCNAMES))
graph$(PPUEXT) : graph.pp strings$(PPUEXT) windows$(PPUEXT) $(SYSTEMUNIT)$(PPUEXT) \
$(GRAPHINCDEPS)
$(COMPILER) -I$(GRAPHDIR) graph.pp
sysutils$(PPUEXT) : sysutils.pp $(wildcard $(OBJPASDIR)/sysutils/*.inc) \ sysutils$(PPUEXT) : sysutils.pp $(wildcard $(OBJPASDIR)/sysutils/*.inc) \
objpas$(PPUEXT) dos$(PPUEXT) windows$(PPUEXT) sysconst$(PPUEXT) objpas$(PPUEXT) dos$(PPUEXT) windows$(PPUEXT) sysconst$(PPUEXT)
$(COMPILER) -Fi$(OBJPASDIR)/sysutils sysutils.pp $(COMPILER) -Fi$(OBJPASDIR)/sysutils sysutils.pp
@ -2032,11 +2219,11 @@ varutils$(PPUEXT) : $(OBJPASDIR)/cvarutil.inc $(OBJPASDIR)/varutils.inc \
$(COMPILER) -Fi$(OBJPASDIR) varutils.pp $(COMPILER) -Fi$(OBJPASDIR) varutils.pp
variants$(PPUEXT) : $(INC)/variants.pp varutils$(PPUEXT) sysutils$(PPUEXT) sysconst$(PPUEXT) typinfo$(PPUEXT) rtlconsts$(PPUEXT) variants$(PPUEXT) : $(INC)/variants.pp varutils$(PPUEXT) sysutils$(PPUEXT) sysconst$(PPUEXT) typinfo$(PPUEXT) rtlconsts$(PPUEXT)
$(COMPILER) -Fi$(INC) $(INC)/variants.pp $(COMPILER) -Fi$(INC) $(INC)/variants.pp
types$(PPUEXT) : $(OBJPASDIR)/types.pp objpas$(PPUEXT) $(SYSTEMUNIT)$(PPUEXT) types$(PPUEXT) : $(OBJPASDIR)/types.pp objpas$(PPUEXT) system$(PPUEXT)
$(COMPILER) $(OBJPASDIR)/types.pp $(COMPILER) $(OBJPASDIR)/types.pp
rtlconsts$(PPUEXT) : objpas$(PPUEXT) $(OBJPASDIR)/rtlconsts.pp rtlconsts$(PPUEXT) : objpas$(PPUEXT) $(OBJPASDIR)/rtlconsts.pp
$(COMPILER) $(OBJPASDIR)/rtlconsts.pp $(COMPILER) $(OBJPASDIR)/rtlconsts.pp
sysconst$(PPUEXT) : $(OBJPASDIR)/sysconst.pp objpas$(PPUEXT) $(SYSTEMUNIT)$(PPUEXT) sysconst$(PPUEXT) : $(OBJPASDIR)/sysconst.pp objpas$(PPUEXT) system$(PPUEXT)
$(COMPILER) $(OBJPASDIR)/sysconst.pp $(COMPILER) $(OBJPASDIR)/sysconst.pp
dateutils$(PPUEXT) : $(OBJPASDIR)/dateutils.pp dateutils$(PPUEXT) : $(OBJPASDIR)/dateutils.pp
$(COMPILER) -I$(OBJPASDIR) $(OBJPASDIR)/dateutils.pp $(COMPILER) -I$(OBJPASDIR) $(OBJPASDIR)/dateutils.pp
@ -2044,17 +2231,18 @@ convutils$(PPUEXT) : $(OBJPASDIR)/convutils.pp
$(COMPILER) -I$(OBJPASDIR) $(OBJPASDIR)/convutils.pp $(COMPILER) -I$(OBJPASDIR) $(OBJPASDIR)/convutils.pp
strutils$(PPUEXT) : $(OBJPASDIR)/strutils.pp strutils$(PPUEXT) : $(OBJPASDIR)/strutils.pp
$(COMPILER) -I$(OBJPASDIR) $(OBJPASDIR)/strutils.pp $(COMPILER) -I$(OBJPASDIR) $(OBJPASDIR)/strutils.pp
macpas$(PPUEXT) : $(INC)/macpas.pp $(SYSTEMUNIT)$(PPUEXT) macpas$(PPUEXT) : $(INC)/macpas.pp system$(PPUEXT)
$(COMPILER) $(INC)/macpas.pp $(REDIR) $(COMPILER) $(INC)/macpas.pp $(REDIR)
cpu$(PPUEXT) : $(PROCINC)/cpu.pp $(SYSTEMUNIT)$(PPUEXT) cpu$(PPUEXT) : $(PROCINC)/cpu.pp system$(PPUEXT)
mmx$(PPUEXT) : $(PROCINC)/mmx.pp cpu$(PPUEXT) $(SYSTEMUNIT)$(PPUEXT) mmx$(PPUEXT) : $(PROCINC)/mmx.pp cpu$(PPUEXT) system$(PPUEXT)
getopts$(PPUEXT) : $(INC)/getopts.pp $(SYSTEMUNIT)$(PPUEXT) getopts$(PPUEXT) : $(INC)/getopts.pp system$(PPUEXT)
heaptrc$(PPUEXT) : $(INC)/heaptrc.pp $(SYSTEMUNIT)$(PPUEXT) heaptrc$(PPUEXT) : $(INC)/heaptrc.pp system$(PPUEXT)
$(COMPILER) -Sg $(INC)/heaptrc.pp $(COMPILER) -Sg $(INC)/heaptrc.pp
lineinfo$(PPUEXT) : $(INC)/lineinfo.pp $(SYSTEMUNIT)$(PPUEXT) lineinfo$(PPUEXT) : $(INC)/lineinfo.pp system$(PPUEXT)
charset$(PPUEXT) : $(INC)/charset.pp $(SYSTEMUNIT)$(PPUEXT) charset$(PPUEXT) : $(INC)/charset.pp system$(PPUEXT)
cmem$(PPUEXT) : $(INC)/cmem.pp $(SYSTEMUNIT)$(PPUEXT) cmem$(PPUEXT) : $(INC)/cmem.pp system$(PPUEXT)
ucomplex$(PPUEXT) : $(INC)/ucomplex.pp math$(PPUEXT) $(SYSTEMUNIT)$(PPUEXT) ucomplex$(PPUEXT) : $(INC)/ucomplex.pp math$(PPUEXT) system$(PPUEXT)
callspec$(PPUEXT) : $(INC)/callspec.pp $(SYSTEMUNIT)$(PPUEXT) fpmkunit$(PPUEXT) : $(COMMON)/fpmkunit.pp classes$(PPUEXT)
ctypes$(PPUEXT) : $(INC)/ctypes.pp $(SYSTEMUNIT)$(PPUEXT) callspec$(PPUEXT) : $(INC)/callspec.pp system$(PPUEXT)
ctypes$(PPUEXT) : $(INC)/ctypes.pp system$(PPUEXT)
variants$(PPUEXT) : $(INC)/variants.pp varutils$(PPUEXT) typinfo$(PPUEXT) variants$(PPUEXT) : $(INC)/variants.pp varutils$(PPUEXT) typinfo$(PPUEXT)

View File

@ -6,17 +6,17 @@
main=rtl main=rtl
[target] [target]
loaders= #wprt0 wdllprt0 gprt0 wcygprt0 loaders=$(LOADERS)
units=$(SYSTEMUNIT) # ctypes objpas macpas strings \ units=system ctypes objpas macpas strings \
# lineinfo heaptrc matrix \ lineinfo heaptrc matrix \
# windows winsock initc cmem dynlibs signals \ windows winsock initc cmem dynlibs signals \
# dos crt objects graph messages \ dos crt objects messages \
# rtlconsts sysconst sysutils math types \ rtlconsts sysconst sysutils math types \
# strutils convutils dateutils varutils variants typinfo classes \ strutils convutils dateutils varutils variants typinfo classes \
# cpu mmx charset ucomplex getopts \ cpu mmx charset ucomplex getopts \
# wincrt winmouse winevent sockets printer \ winevent sockets printer \
# video mouse keyboard \ video mouse keyboard \
# winsysut fpmkunit winsysut fpmkunit
rsts=math varutils typinfo variants classes dateutils sysconst fpmkunit rsts=math varutils typinfo variants classes dateutils sysconst fpmkunit
@ -31,40 +31,34 @@ fpcdir=../..
target=win64 target=win64
[compiler] [compiler]
includedir=$(INC) $(PROCINC) $(RTL)/win includedir=$(INC) $(PROCINC)
sourcedir=$(INC) $(PROCINC) sourcedir=$(INC) $(PROCINC) $(COMMON)
[prerules] [prerules]
RTL=.. RTL=..
INC=$(RTL)/inc INC=$(RTL)/inc
COMMON=$(RTL)/common
PROCINC=$(RTL)/$(CPU_TARGET) PROCINC=$(RTL)/$(CPU_TARGET)
WININC=wininc WININC=wininc
UNITPREFIX=rtl UNITPREFIX=rtl
SYSTEMUNIT=system ifneq ($(findstring 2.0.,$(FPC_VERSION)),)
PRT0=wprt0 LOADERS=wprt0 wdllprt0 gprt0 wcygprt0
# Use new feature from 1.0.5 version
# that generates release PPU files
# which will not be recompiled
ifdef RELEASE
override FPCOPT+=-Ur
endif endif
# Paths # Paths
OBJPASDIR=$(RTL)/objpas OBJPASDIR=$(RTL)/objpas
GRAPHDIR=$(INC)/graph
# Files used by windows.pp # Files used by windows.pp
# include $(WININC)/makefile.inc #include $(WININC)/makefile.inc
WINDOWS_SOURCE_FILES=$(addprefix $(WININC)/,$(addsuffix .inc,$(WINDOWS_FILES))) WINDOWS_SOURCE_FILES=$(addprefix $(WININC)/,$(addsuffix .inc,$(WINDOWS_FILES)))
[rules] [rules]
SYSTEMPPU=$(addsuffix $(PPUEXT),$(SYSTEMUNIT)) SYSTEMPPU=$(addsuffix $(PPUEXT),system)
# Get the system independent include file names. # Get the system independent include file names.
# This will set the following variables : # This will set the following variables :
@ -86,8 +80,7 @@ SYSDEPS=$(SYSINCDEPS) $(SYSCPUDEPS)
# Loaders # Loaders
# #
wprt0$(OEXT) : $(PRT0).as wprt0$(OEXT) : wprt0.as
$(AS) -o $(UNITTARGETDIRPREFIX)wprt0$(OEXT) $(PRT0).as
gprt0$(OEXT) : gprt0.as gprt0$(OEXT) : gprt0.as
@ -99,38 +92,34 @@ wcygprt0$(OEXT) : wcygprt0.as
# System Units (System, Objpas, Strings) # System Units (System, Objpas, Strings)
# #
$(SYSTEMUNIT)$(PPUEXT) : $(SYSTEMUNIT).pp $(SYSDEPS) system$(PPUEXT) : system.pp $(SYSDEPS)
$(COMPILER) -Us -Sg $(SYSTEMUNIT).pp -Fi..\win $(COMPILER) -Us -Sg system.pp -Fi../win
objpas$(PPUEXT): $(OBJPASDIR)/objpas.pp $(INC)/except.inc $(SYSTEMUNIT)$(PPUEXT) objpas$(PPUEXT): $(OBJPASDIR)/objpas.pp $(INC)/except.inc system$(PPUEXT)
$(COMPILER) -I$(OBJPASDIR) $(OBJPASDIR)/objpas.pp $(COMPILER) -I$(OBJPASDIR) $(OBJPASDIR)/objpas.pp
strings$(PPUEXT) : $(INC)/strings.pp $(INC)/stringsi.inc\ strings$(PPUEXT) : $(INC)/strings.pp $(INC)/stringsi.inc\
$(PROCINC)/strings.inc $(PROCINC)/stringss.inc\ $(PROCINC)/strings.inc $(PROCINC)/stringss.inc\
$(SYSTEMUNIT)$(PPUEXT) system$(PPUEXT)
# #
# System Dependent Units # System Dependent Units
# #
windows$(PPUEXT) : windows.pp $(WINDOWS_SOURCE_FILES) $(SYSTEMUNIT)$(PPUEXT) windows$(PPUEXT) : windows.pp $(WINDOWS_SOURCE_FILES) system$(PPUEXT)
$(COMPILER) -I$(WININC) windows.pp $(COMPILER) -I$(WININC) windows.pp
messages$(PPUEXT): messages.pp $(WININC)/messages.inc $(SYSTEMUNIT)$(PPUEXT) messages$(PPUEXT): messages.pp $(WININC)/messages.inc system$(PPUEXT)
$(COMPILER) -I$(WININC) messages.pp $(COMPILER) -I$(WININC) messages.pp
opengl32$(PPUEXT) : opengl32.pp windows$(PPUEXT) $(SYSTEMUNIT)$(PPUEXT) opengl32$(PPUEXT) : opengl32.pp windows$(PPUEXT) system$(PPUEXT)
winsock$(PPUEXT) : winsock.pp windows$(PPUEXT) $(SYSTEMUNIT)$(PPUEXT) winsock$(PPUEXT) : winsock.pp windows$(PPUEXT) system$(PPUEXT)
sockets$(PPUEXT) : sockets.pp windows$(PPUEXT) winsock$(PPUEXT) $(SYSTEMUNIT)$(PPUEXT) \ sockets$(PPUEXT) : sockets.pp windows$(PPUEXT) winsock$(PPUEXT) system$(PPUEXT) \
$(INC)/sockets.inc $(INC)/socketsh.inc $(INC)/sockets.inc $(INC)/socketsh.inc
initc$(PPUEXT) : initc.pp $(SYSTEMUNIT)$(PPUEXT) initc$(PPUEXT) : initc.pp system$(PPUEXT)
wincrt$(PPUEXT) : wincrt.pp $(SYSTEMUNIT)$(PPUEXT) windows$(PPUEXT) graph$(PPUEXT)
winmouse$(PPUEXT) : winmouse.pp $(SYSTEMUNIT)$(PPUEXT) windows$(PPUEXT) graph$(PPUEXT)
dynlibs$(PPUEXT) : $(INC)/dynlibs.pp windows$(PPUEXT) dynlibs$(PPUEXT) : $(INC)/dynlibs.pp windows$(PPUEXT)
@ -138,22 +127,11 @@ dynlibs$(PPUEXT) : $(INC)/dynlibs.pp windows$(PPUEXT)
# TP7 Compatible RTL Units # TP7 Compatible RTL Units
# #
dos$(PPUEXT) : dos.pp $(INC)/filerec.inc $(INC)/textrec.inc strings$(PPUEXT) $(SYSTEMUNIT)$(PPUEXT) dos$(PPUEXT) : dos.pp $(INC)/filerec.inc $(INC)/textrec.inc strings$(PPUEXT) system$(PPUEXT)
crt$(PPUEXT) : crt.pp $(INC)/textrec.inc $(SYSTEMUNIT)$(PPUEXT) objpas$(PPUEXT) dos$(PPUEXT) windows$(PPUEXT) crt$(PPUEXT) : crt.pp $(INC)/textrec.inc system$(PPUEXT) objpas$(PPUEXT) dos$(PPUEXT) windows$(PPUEXT)
objects$(PPUEXT) : $(INC)/objects.pp $(SYSTEMUNIT)$(PPUEXT) objects$(PPUEXT) : $(INC)/objects.pp system$(PPUEXT)
#
# Graph
#
include $(GRAPHDIR)/makefile.inc
GRAPHINCDEPS=$(addprefix $(GRAPHDIR)/,$(GRAPHINCNAMES))
graph$(PPUEXT) : graph.pp strings$(PPUEXT) windows$(PPUEXT) $(SYSTEMUNIT)$(PPUEXT) \
$(GRAPHINCDEPS)
$(COMPILER) -I$(GRAPHDIR) graph.pp
# #
@ -184,13 +162,13 @@ varutils$(PPUEXT) : $(OBJPASDIR)/cvarutil.inc $(OBJPASDIR)/varutils.inc \
variants$(PPUEXT) : $(INC)/variants.pp varutils$(PPUEXT) sysutils$(PPUEXT) sysconst$(PPUEXT) typinfo$(PPUEXT) rtlconsts$(PPUEXT) variants$(PPUEXT) : $(INC)/variants.pp varutils$(PPUEXT) sysutils$(PPUEXT) sysconst$(PPUEXT) typinfo$(PPUEXT) rtlconsts$(PPUEXT)
$(COMPILER) -Fi$(INC) $(INC)/variants.pp $(COMPILER) -Fi$(INC) $(INC)/variants.pp
types$(PPUEXT) : $(OBJPASDIR)/types.pp objpas$(PPUEXT) $(SYSTEMUNIT)$(PPUEXT) types$(PPUEXT) : $(OBJPASDIR)/types.pp objpas$(PPUEXT) system$(PPUEXT)
$(COMPILER) $(OBJPASDIR)/types.pp $(COMPILER) $(OBJPASDIR)/types.pp
rtlconsts$(PPUEXT) : objpas$(PPUEXT) $(OBJPASDIR)/rtlconsts.pp rtlconsts$(PPUEXT) : objpas$(PPUEXT) $(OBJPASDIR)/rtlconsts.pp
$(COMPILER) $(OBJPASDIR)/rtlconsts.pp $(COMPILER) $(OBJPASDIR)/rtlconsts.pp
sysconst$(PPUEXT) : $(OBJPASDIR)/sysconst.pp objpas$(PPUEXT) $(SYSTEMUNIT)$(PPUEXT) sysconst$(PPUEXT) : $(OBJPASDIR)/sysconst.pp objpas$(PPUEXT) system$(PPUEXT)
$(COMPILER) $(OBJPASDIR)/sysconst.pp $(COMPILER) $(OBJPASDIR)/sysconst.pp
dateutils$(PPUEXT) : $(OBJPASDIR)/dateutils.pp dateutils$(PPUEXT) : $(OBJPASDIR)/dateutils.pp
@ -206,36 +184,38 @@ strutils$(PPUEXT) : $(OBJPASDIR)/strutils.pp
# Mac Pascal Model # Mac Pascal Model
# #
macpas$(PPUEXT) : $(INC)/macpas.pp $(SYSTEMUNIT)$(PPUEXT) macpas$(PPUEXT) : $(INC)/macpas.pp system$(PPUEXT)
$(COMPILER) $(INC)/macpas.pp $(REDIR) $(COMPILER) $(INC)/macpas.pp $(REDIR)
# #
# Other system-independent RTL Units # Other system-independent RTL Units
# #
cpu$(PPUEXT) : $(PROCINC)/cpu.pp $(SYSTEMUNIT)$(PPUEXT) cpu$(PPUEXT) : $(PROCINC)/cpu.pp system$(PPUEXT)
mmx$(PPUEXT) : $(PROCINC)/mmx.pp cpu$(PPUEXT) $(SYSTEMUNIT)$(PPUEXT) mmx$(PPUEXT) : $(PROCINC)/mmx.pp cpu$(PPUEXT) system$(PPUEXT)
getopts$(PPUEXT) : $(INC)/getopts.pp $(SYSTEMUNIT)$(PPUEXT) getopts$(PPUEXT) : $(INC)/getopts.pp system$(PPUEXT)
heaptrc$(PPUEXT) : $(INC)/heaptrc.pp $(SYSTEMUNIT)$(PPUEXT) heaptrc$(PPUEXT) : $(INC)/heaptrc.pp system$(PPUEXT)
$(COMPILER) -Sg $(INC)/heaptrc.pp $(COMPILER) -Sg $(INC)/heaptrc.pp
lineinfo$(PPUEXT) : $(INC)/lineinfo.pp $(SYSTEMUNIT)$(PPUEXT) lineinfo$(PPUEXT) : $(INC)/lineinfo.pp system$(PPUEXT)
charset$(PPUEXT) : $(INC)/charset.pp $(SYSTEMUNIT)$(PPUEXT) charset$(PPUEXT) : $(INC)/charset.pp system$(PPUEXT)
cmem$(PPUEXT) : $(INC)/cmem.pp $(SYSTEMUNIT)$(PPUEXT) cmem$(PPUEXT) : $(INC)/cmem.pp system$(PPUEXT)
ucomplex$(PPUEXT) : $(INC)/ucomplex.pp math$(PPUEXT) $(SYSTEMUNIT)$(PPUEXT) ucomplex$(PPUEXT) : $(INC)/ucomplex.pp math$(PPUEXT) system$(PPUEXT)
fpmkunit$(PPUEXT) : $(COMMON)/fpmkunit.pp classes$(PPUEXT)
# #
# Other system-dependent RTL Units # Other system-dependent RTL Units
# #
callspec$(PPUEXT) : $(INC)/callspec.pp $(SYSTEMUNIT)$(PPUEXT) callspec$(PPUEXT) : $(INC)/callspec.pp system$(PPUEXT)
ctypes$(PPUEXT) : $(INC)/ctypes.pp $(SYSTEMUNIT)$(PPUEXT) ctypes$(PPUEXT) : $(INC)/ctypes.pp system$(PPUEXT)
variants$(PPUEXT) : $(INC)/variants.pp varutils$(PPUEXT) typinfo$(PPUEXT) variants$(PPUEXT) : $(INC)/variants.pp varutils$(PPUEXT) typinfo$(PPUEXT)

View File

@ -1,6 +1,6 @@
{ {
This file is part of the Free Pascal run time library. This file is part of the Free Pascal run time library.
Copyright (c) 1999-2000 by Florian Klaempfl and Pavel Ozerski Copyright (c) 1999-2005 by Florian Klaempfl and Pavel Ozerski
member of the Free Pascal development team. member of the Free Pascal development team.
FPC Pascal system unit for the Win32 API. FPC Pascal system unit for the Win32 API.
@ -90,12 +90,9 @@ var
{ Win32 Info } { Win32 Info }
startupinfo : tstartupinfo; startupinfo : tstartupinfo;
hprevinst, hprevinst,
HInstance,
MainInstance, MainInstance,
cmdshow : longint; cmdshow : longint;
DLLreason,DLLparam:longint; DLLreason,DLLparam:longint;
Win32StackTop : Dword;
type type
TDLL_Process_Entry_Hook = function (dllparam : longint) : longbool; TDLL_Process_Entry_Hook = function (dllparam : longint) : longbool;
TDLL_Entry_Hook = procedure (dllparam : longint); TDLL_Entry_Hook = procedure (dllparam : longint);
@ -106,11 +103,29 @@ const
Dll_Thread_Attach_Hook : TDLL_Entry_Hook = nil; Dll_Thread_Attach_Hook : TDLL_Entry_Hook = nil;
Dll_Thread_Detach_Hook : TDLL_Entry_Hook = nil; Dll_Thread_Detach_Hook : TDLL_Entry_Hook = nil;
type
HMODULE = THandle;
implementation implementation
var
SysInstance : Longint;public;
{$ifdef i386}
{$define HAS_RESOURCES}
{$i win32res.inc}
{$endif}
{ used by wstrings.inc because wstrings.inc is included before sysos.inc
this is put here (FK) }
function SysAllocStringLen(psz:pointer;len:dword):pointer;stdcall;
external 'oleaut32.dll' name 'SysAllocStringLen';
procedure SysFreeString(bstr:pointer);stdcall;
external 'oleaut32.dll' name 'SysFreeString';
function SysReAllocStringLen(var bstr:pointer;psz: pointer;
len:dword): Integer; stdcall;external 'oleaut32.dll' name 'SysReAllocStringLen';
{ include system independent routines } { include system independent routines }
{$I system.inc} {$I system.inc}
@ -155,6 +170,7 @@ var
end; end;
begin begin
SetupProcVars;
{ create commandline, it starts with the executed filename which is argv[0] } { create commandline, it starts with the executed filename which is argv[0] }
{ Win32 passes the command NOT via the args, but via getmodulefilename} { Win32 passes the command NOT via the args, but via getmodulefilename}
count:=0; count:=0;
@ -166,7 +182,7 @@ begin
Inc(Arglen); Inc(Arglen);
until (pc[Arglen]=#0); until (pc[Arglen]=#0);
allocarg(count,arglen); allocarg(count,arglen);
move(pc^,argv[count]^,arglen); move(pc^,argv[count]^,arglen+1);
{ Setup cmdline variable } { Setup cmdline variable }
cmdline:=GetCommandLine; cmdline:=GetCommandLine;
{ process arguments } { process arguments }
@ -347,7 +363,6 @@ procedure remove_exception_handlers;forward;
procedure PascalMain;stdcall;external name 'PASCALMAIN'; procedure PascalMain;stdcall;external name 'PASCALMAIN';
procedure fpc_do_exit;stdcall;external name 'FPC_DO_EXIT'; procedure fpc_do_exit;stdcall;external name 'FPC_DO_EXIT';
Procedure ExitDLL(Exitcode : longint); forward; Procedure ExitDLL(Exitcode : longint); forward;
procedure asm_exit(Exitcode : longint);external name 'asm_exit';
Procedure system_exit; Procedure system_exit;
begin begin
@ -365,7 +380,7 @@ begin
remove_exception_handlers; remove_exception_handlers;
{ call exitprocess, with cleanup as required } { call exitprocess, with cleanup as required }
asm_exit(exitcode); ExitProcess(exitcode);
end; end;
var var
@ -373,7 +388,9 @@ var
to check if the call stack can be written on exceptions } to check if the call stack can be written on exceptions }
_SS : Cardinal; _SS : Cardinal;
procedure Exe_entry;[public, alias : '_FPC_EXE_Entry']; procedure Exe_entry;[public,alias:'_FPC_EXE_Entry'];
var
ST : pointer;
begin begin
IsLibrary:=false; IsLibrary:=false;
{ install the handlers for exe only ? { install the handlers for exe only ?
@ -382,7 +399,6 @@ procedure Exe_entry;[public, alias : '_FPC_EXE_Entry'];
{ This strange construction is needed to solve the _SS problem { This strange construction is needed to solve the _SS problem
with a smartlinked syswin32 (PFV) } with a smartlinked syswin32 (PFV) }
asm asm
{!!!!!!!
{ allocate space for an exception frame } { allocate space for an exception frame }
pushl $0 pushl $0
pushl %fs:(0) pushl %fs:(0)
@ -393,21 +409,24 @@ procedure Exe_entry;[public, alias : '_FPC_EXE_Entry'];
movl %esp,%eax movl %esp,%eax
movl %eax,System_exception_frame movl %eax,System_exception_frame
pushl %ebp pushl %ebp
xorl %ebp,%ebp
movl %esp,%eax movl %esp,%eax
movl %eax,Win32StackTop movl %eax,st
movw %ss,%bp end;
movl %ebp,_SS StackTop:=st;
asm
xorl %eax,%eax
movw %ss,%ax
movl %eax,_SS
call SysResetFPU call SysResetFPU
xorl %ebp,%ebp xorl %ebp,%ebp
call PASCALMAIN call PASCALMAIN
popl %ebp popl %ebp
}
end; end;
{ if we pass here there was no error ! } { if we pass here there was no error ! }
system_exit; system_exit;
end; end;
Const Const
{ DllEntryPoint } { DllEntryPoint }
DLL_PROCESS_ATTACH = 1; DLL_PROCESS_ATTACH = 1;
@ -419,7 +438,7 @@ Var
Const Const
DLLExitOK : boolean = true; DLLExitOK : boolean = true;
function Dll_entry : longbool;[public, alias : '_FPC_DLL_Entry']; function Dll_entry : longbool;
var var
res : longbool; res : longbool;
@ -478,6 +497,44 @@ begin
LongJmp(DLLBuf,1); LongJmp(DLLBuf,1);
end; end;
{$ifndef VER2_0}
procedure _FPC_mainCRTStartup;stdcall;public name '_mainCRTStartup';
begin
IsConsole:=true;
Exe_entry;
end;
procedure _FPC_WinMainCRTStartup;stdcall;public name '_WinMainCRTStartup';
begin
IsConsole:=false;
Exe_entry;
end;
procedure _FPC_DLLMainCRTStartup(_hinstance,_dllreason,_dllparam:longint);stdcall;public name '_DLLMainCRTStartup';
begin
IsConsole:=true;
sysinstance:=_hinstance;
dllreason:=_dllreason;
dllparam:=_dllparam;
DLL_Entry;
end;
procedure _FPC_DLLWinMainCRTStartup(_hinstance,_dllreason,_dllparam:longint);stdcall;public name '_DLLWinMainCRTStartup';
begin
IsConsole:=false;
sysinstance:=_hinstance;
dllreason:=_dllreason;
dllparam:=_dllparam;
DLL_Entry;
end;
{$endif VER2_0}
function GetCurrentProcess : dword; function GetCurrentProcess : dword;
stdcall;external 'kernel32' name 'GetCurrentProcess'; stdcall;external 'kernel32' name 'GetCurrentProcess';
@ -776,96 +833,113 @@ begin
end; end;
end; end;
var
{ this variable is set to true, if currently an sse check is executed and no sig ill should be generated }
sse_check : boolean;
function syswin32_i386_exception_handler(excep : PExceptionPointers) : Longint;stdcall; function syswin32_i386_exception_handler(excep : PExceptionPointers) : Longint;stdcall;
var var
frame, res: longint;
res : longint; err: byte;
must_reset_fpu: boolean;
function SysHandleErrorFrame(error, frame : Longint; must_reset_fpu : Boolean) : Longint;
begin begin
if (frame = 0) then res := EXCEPTION_CONTINUE_SEARCH;
SysHandleErrorFrame:=EXCEPTION_CONTINUE_SEARCH if excep^.ContextRecord^.SegSs=_SS then begin
else begin err := 0;
if (exceptLevel >= MaxExceptionLevel) then exit; must_reset_fpu := true;
{$ifdef SYSTEMEXCEPTIONDEBUG}
exceptEip[exceptLevel] := excep^.ContextRecord^.Eip; if IsConsole then Writeln(stderr,'Exception ',
exceptError[exceptLevel] := error; hexstr(excep^.ExceptionRecord^.ExceptionCode, 8));
resetFPU[exceptLevel] := must_reset_fpu; {$endif SYSTEMEXCEPTIONDEBUG}
inc(exceptLevel); case cardinal(excep^.ExceptionRecord^.ExceptionCode) of
STATUS_INTEGER_DIVIDE_BY_ZERO,
excep^.ContextRecord^.Eip := Longint(@JumpToHandleErrorFrame); STATUS_FLOAT_DIVIDE_BY_ZERO :
excep^.ExceptionRecord^.ExceptionCode := 0; err := 200;
STATUS_ARRAY_BOUNDS_EXCEEDED :
SysHandleErrorFrame := EXCEPTION_CONTINUE_EXECUTION; begin
{$ifdef SYSTEMEXCEPTIONDEBUG} err := 201;
if IsConsole then begin must_reset_fpu := false;
writeln(stderr,'Exception Continue Exception set at ',
hexstr(exceptEip[exceptLevel],8));
writeln(stderr,'Eip changed to ',
hexstr(longint(@JumpToHandleErrorFrame),8), ' error=', error);
end;
{$endif SYSTEMEXCEPTIONDEBUG}
end; end;
end; STATUS_STACK_OVERFLOW :
begin
begin err := 202;
if excep^.ContextRecord^.SegSs=_SS then must_reset_fpu := false;
frame := excep^.ContextRecord^.Ebp end;
STATUS_FLOAT_OVERFLOW :
err := 205;
STATUS_FLOAT_DENORMAL_OPERAND,
STATUS_FLOAT_UNDERFLOW :
err := 206;
{excep^.ContextRecord^.FloatSave.StatusWord := excep^.ContextRecord^.FloatSave.StatusWord and $ffffff00;}
STATUS_FLOAT_INEXACT_RESULT,
STATUS_FLOAT_INVALID_OPERATION,
STATUS_FLOAT_STACK_CHECK :
err := 207;
STATUS_INTEGER_OVERFLOW :
begin
err := 215;
must_reset_fpu := false;
end;
STATUS_ILLEGAL_INSTRUCTION:
{ if we're testing sse support, simply set the flag and continue }
if sse_check then
begin
os_supports_sse:=false;
{ if yes, then retry }
excep^.ExceptionRecord^.ExceptionCode := 0;
res:=EXCEPTION_CONTINUE_EXECUTION;
end
else else
frame := 0; err := 216;
res := EXCEPTION_CONTINUE_SEARCH; STATUS_ACCESS_VIOLATION:
{$ifdef SYSTEMEXCEPTIONDEBUG} { Athlon prefetch bug? }
if IsConsole then Writeln(stderr,'Exception ', if is_prefetch(pointer(excep^.ContextRecord^.Eip)) then
hexstr(excep^.ExceptionRecord^.ExceptionCode, 8)); begin
{$endif SYSTEMEXCEPTIONDEBUG} { if yes, then retry }
case cardinal(excep^.ExceptionRecord^.ExceptionCode) of excep^.ExceptionRecord^.ExceptionCode := 0;
STATUS_INTEGER_DIVIDE_BY_ZERO, res:=EXCEPTION_CONTINUE_EXECUTION;
STATUS_FLOAT_DIVIDE_BY_ZERO : end
res := SysHandleErrorFrame(200, frame, true); else
STATUS_ARRAY_BOUNDS_EXCEEDED : err := 216;
res := SysHandleErrorFrame(201, frame, false);
STATUS_STACK_OVERFLOW :
res := SysHandleErrorFrame(202, frame, false);
STATUS_FLOAT_OVERFLOW :
res := SysHandleErrorFrame(205, frame, true);
STATUS_FLOAT_DENORMAL_OPERAND,
STATUS_FLOAT_UNDERFLOW :
res := SysHandleErrorFrame(206, frame, true);
{excep^.ContextRecord^.FloatSave.StatusWord := excep^.ContextRecord^.FloatSave.StatusWord and $ffffff00;}
STATUS_FLOAT_INEXACT_RESULT,
STATUS_FLOAT_INVALID_OPERATION,
STATUS_FLOAT_STACK_CHECK :
res := SysHandleErrorFrame(207, frame, true);
STATUS_INTEGER_OVERFLOW :
res := SysHandleErrorFrame(215, frame, false);
STATUS_ILLEGAL_INSTRUCTION:
res := SysHandleErrorFrame(216, frame, true);
STATUS_ACCESS_VIOLATION:
{ Athlon prefetch bug? }
if is_prefetch(pointer(excep^.ContextRecord^.Eip)) then
begin
{ if yes, then retry }
excep^.ExceptionRecord^.ExceptionCode := 0;
res:=EXCEPTION_CONTINUE_EXECUTION;
end
else
res := SysHandleErrorFrame(216, frame, true);
STATUS_CONTROL_C_EXIT: STATUS_CONTROL_C_EXIT:
res := SysHandleErrorFrame(217, frame, true); err := 217;
STATUS_PRIVILEGED_INSTRUCTION: STATUS_PRIVILEGED_INSTRUCTION:
res := SysHandleErrorFrame(218, frame, false); begin
else err := 218;
begin must_reset_fpu := false;
if ((excep^.ExceptionRecord^.ExceptionCode and SEVERITY_ERROR) = SEVERITY_ERROR) then
res := SysHandleErrorFrame(217, frame, true)
else
res := SysHandleErrorFrame(255, frame, true);
end;
end; end;
syswin32_i386_exception_handler := res; else
end; begin
if ((excep^.ExceptionRecord^.ExceptionCode and SEVERITY_ERROR) = SEVERITY_ERROR) then
err := 217
else
err := 255;
end;
end;
if (err <> 0) and (exceptLevel < MaxExceptionLevel) then begin
exceptEip[exceptLevel] := excep^.ContextRecord^.Eip;
exceptError[exceptLevel] := err;
resetFPU[exceptLevel] := must_reset_fpu;
inc(exceptLevel);
excep^.ContextRecord^.Eip := Longint(@JumpToHandleErrorFrame);
excep^.ExceptionRecord^.ExceptionCode := 0;
res := EXCEPTION_CONTINUE_EXECUTION;
{$ifdef SYSTEMEXCEPTIONDEBUG}
if IsConsole then begin
writeln(stderr,'Exception Continue Exception set at ',
hexstr(exceptEip[exceptLevel],8));
writeln(stderr,'Eip changed to ',
hexstr(longint(@JumpToHandleErrorFrame),8), ' error=', error);
end;
{$endif SYSTEMEXCEPTIONDEBUG}
end;
end;
syswin32_i386_exception_handler := res;
end;
procedure install_exception_handlers; procedure install_exception_handlers;
{$ifdef SYSTEMEXCEPTIONDEBUG} {$ifdef SYSTEMEXCEPTIONDEBUG}
@ -911,14 +985,52 @@ end;
{$endif Set_i386_Exception_handler} {$endif Set_i386_Exception_handler}
{ because of the brain dead sse detection on x86, this test is post poned }
procedure fpc_cpucodeinit;
begin
end;
{$ifdef HASWIDESTRING}
{**************************************************************************** {****************************************************************************
OS dependend widestrings OS dependend widestrings
****************************************************************************} ****************************************************************************}
function CharUpperBuff(lpsz:LPWSTR; cchLength:DWORD):DWORD; stdcall; external 'user32' name 'CharUpperBuffW'; const
function CharLowerBuff(lpsz:LPWSTR; cchLength:DWORD):DWORD; stdcall; external 'user32' name 'CharLowerBuffW'; { MultiByteToWideChar }
MB_PRECOMPOSED = 1;
CP_ACP = 0;
function MultiByteToWideChar(CodePage:UINT; dwFlags:DWORD; lpMultiByteStr:PChar; cchMultiByte:longint; lpWideCharStr:PWideChar;cchWideChar:longint):longint;
stdcall; external 'kernel32' name 'MultiByteToWideChar';
function WideCharToMultiByte(CodePage:UINT; dwFlags:DWORD; lpWideCharStr:PWideChar; cchWideChar:longint; lpMultiByteStr:PChar;cchMultiByte:longint; lpDefaultChar:PChar; lpUsedDefaultChar:pointer):longint;
stdcall; external 'kernel32' name 'WideCharToMultiByte';
function CharUpperBuff(lpsz:LPWSTR; cchLength:DWORD):DWORD;
stdcall; external 'user32' name 'CharUpperBuffW';
function CharLowerBuff(lpsz:LPWSTR; cchLength:DWORD):DWORD;
stdcall; external 'user32' name 'CharLowerBuffW';
procedure Win32Wide2AnsiMove(source:pwidechar;var dest:ansistring;len:SizeInt);
var
destlen: SizeInt;
begin
// retrieve length including trailing #0
destlen:=WideCharToMultiByte(CP_ACP, 0, source, len+1, nil, 0, nil, nil);
setlength(dest, destlen-1);
WideCharToMultiByte(CP_ACP, 0, source, len+1, @dest[1], destlen, nil, nil);
end;
procedure Win32Ansi2WideMove(source:pchar;var dest:widestring;len:SizeInt);
var
destlen: SizeInt;
begin
// retrieve length including trailing #0
destlen:=MultiByteToWideChar(CP_ACP, MB_PRECOMPOSED, source, len+1, nil, 0);
setlength(dest, destlen-1);
MultiByteToWideChar(CP_ACP, MB_PRECOMPOSED, source, len+1, @dest[1], destlen);
end;
function Win32WideUpper(const s : WideString) : WideString; function Win32WideUpper(const s : WideString) : WideString;
@ -943,11 +1055,12 @@ function Win32WideLower(const s : WideString) : WideString;
are only relevant for the sysutils units } are only relevant for the sysutils units }
procedure InitWin32Widestrings; procedure InitWin32Widestrings;
begin begin
widestringmanager.Wide2AnsiMoveProc:=@Win32Wide2AnsiMove;
widestringmanager.Ansi2WideMoveProc:=@Win32Ansi2WideMove;
widestringmanager.UpperWideStringProc:=@Win32WideUpper; widestringmanager.UpperWideStringProc:=@Win32WideUpper;
widestringmanager.LowerWideStringProc:=@Win32WideLower; widestringmanager.LowerWideStringProc:=@Win32WideLower;
end; end;
{$endif HASWIDESTRING}
{**************************************************************************** {****************************************************************************
@ -1035,7 +1148,7 @@ end;
procedure SysInitStdIO; procedure SysInitStdIO;
begin begin
{ Setup stdin, stdout and stderr, for GUI apps redirect stderr,stdout to be { Setup stdin, stdout and stderr, for GUI apps redirect stderr,stdout to be
displayed in and messagebox } displayed in a messagebox }
StdInputHandle:=longint(GetStdHandle(cardinal(STD_INPUT_HANDLE))); StdInputHandle:=longint(GetStdHandle(cardinal(STD_INPUT_HANDLE)));
StdOutputHandle:=longint(GetStdHandle(cardinal(STD_OUTPUT_HANDLE))); StdOutputHandle:=longint(GetStdHandle(cardinal(STD_OUTPUT_HANDLE)));
StdErrorHandle:=longint(GetStdHandle(cardinal(STD_ERROR_HANDLE))); StdErrorHandle:=longint(GetStdHandle(cardinal(STD_ERROR_HANDLE)));
@ -1072,24 +1185,28 @@ begin
result := stklen; result := stklen;
end; end;
{
const const
Exe_entry_code : pointer = @Exe_entry; Exe_entry_code : pointer = @Exe_entry;
Dll_entry_code : pointer = @Dll_entry; Dll_entry_code : pointer = @Dll_entry;
}
begin begin
StackLength := CheckInitialStkLen(InitialStkLen); StackLength := CheckInitialStkLen(InitialStkLen);
StackBottom := Sptr - StackLength; StackBottom := StackTop - StackLength;
{ get some helpful informations } { get some helpful informations }
GetStartupInfo(@startupinfo); GetStartupInfo(@startupinfo);
{ some misc Win32 stuff } { some misc Win32 stuff }
hprevinst:=0; hprevinst:=0;
if not IsLibrary then if not IsLibrary then
HInstance:=getmodulehandle(GetCommandFile); SysInstance:=getmodulehandle(GetCommandFile);
MainInstance:=HInstance; MainInstance:=HInstance;
cmdshow:=startupinfo.wshowwindow; cmdshow:=startupinfo.wshowwindow;
{ Setup heap } { Setup heap }
InitHeap; InitHeap;
SysInitExceptions; SysInitExceptions;
{ setup fastmove stuff }
fpc_cpucodeinit;
SysInitStdIO; SysInitStdIO;
{ Arguments } { Arguments }
setup_arguments; setup_arguments;
@ -1100,11 +1217,7 @@ begin
InitSystemThreads; InitSystemThreads;
{ Reset internal error variable } { Reset internal error variable }
errno:=0; errno:=0;
{$ifdef HASVARIANT}
initvariantmanager; initvariantmanager;
{$endif HASVARIANT}
{$ifdef HASWIDESTRING}
initwidestringmanager; initwidestringmanager;
InitWin32Widestrings InitWin32Widestrings
{$endif HASWIDESTRING}
end. end.