Browse Source

Fix dependencies for win32 and win64

Pierre Muller 2 years ago
parent
commit
640e0e028b
2 changed files with 37 additions and 18 deletions
  1. 29 11
      rtl/win32/Makefile.fpc
  2. 8 7
      rtl/win64/Makefile.fpc

+ 29 - 11
rtl/win32/Makefile.fpc

@@ -7,14 +7,14 @@ main=rtl
 
 
 [target]
 [target]
 loaders=$(LOADERS)
 loaders=$(LOADERS)
-units=system uuchar objpas macpas $(ISO7185UNIT) buildrtl $(CPALLUNIT) $(LINEINFOUNIT) $(LNFODWRFUNIT)
-implicitunits=sysinitpas sysinitcyg sysinitgprof initc extpas heaptrc winsysut \
-      $(CTYPESUNIT) $(STRINGSUNIT) \
+units=system uuchar objpas macpas $(ISO7185UNIT) $(WINDOWSUNIT) $(SYSUTILSUNIT) buildrtl $(CHARSETUNIT) $(CPALLUNIT) $(LINEINFOUNIT) $(LNFODWRFUNIT)
+implicitunits=sysinitpas sysinitcyg sysinitgprof initc extpas heaptrc \
+      $(WINSYSUTUNIT) $(CTYPESUNIT) $(STRINGSUNIT) \
       $(DOSUNIT) $(MESSAGESUNIT) \
       $(DOSUNIT) $(MESSAGESUNIT) \
-      $(WINDOWSUNIT) $(CMEMUNIT) $(DYNLIBSUNIT) \
-      $(RTLCONSTSUNIT) $(SYSCONSTUNIT) $(SYSUTILSUNIT) $(MATHUNIT) $(TYPESUNIT) \
+      $(CMEMUNIT) $(DYNLIBSUNIT) \
+      $(RTLCONSTSUNIT) $(SYSCONSTUNIT) $(MATHUNIT) $(TYPESUNIT) \
       $(TYPINFOUNIT) $(SORTBASEUNIT) $(FGLUNIT) $(CLASSESUNIT) $(GETOPTSUNIT) \
       $(TYPINFOUNIT) $(SORTBASEUNIT) $(FGLUNIT) $(CLASSESUNIT) $(GETOPTSUNIT) \
-      $(CHARSETUNIT) $(CHARACTERUNIT) $(FPWIDESTRINGUNIT) \
+      $(CHARACTERUNIT) $(FPWIDESTRINGUNIT) \
       $(SHAREMEMUNIT) $(EXEINFOUNIT) fpintres $(WINDIRSUNIT) \
       $(SHAREMEMUNIT) $(EXEINFOUNIT) fpintres $(WINDIRSUNIT) \
       $(SOFTFPUUNIT) $(SFPUX80UNIT) $(UFLOATX80UNIT) $(SFPU128UNIT) $(UFLOAT128UNIT) \
       $(SOFTFPUUNIT) $(SFPUX80UNIT) $(UFLOATX80UNIT) $(SFPU128UNIT) $(UFLOAT128UNIT) \
       $(CP1250UNIT) $(CP1251UNIT) $(CP1252UNIT) $(CP1253UNIT) $(CP1254UNIT) $(CP1255UNIT) $(CP1256UNIT) $(CP1257UNIT) $(CP1258UNIT) \
       $(CP1250UNIT) $(CP1251UNIT) $(CP1252UNIT) $(CP1253UNIT) $(CP1254UNIT) $(CP1255UNIT) $(CP1256UNIT) $(CP1257UNIT) $(CP1258UNIT) \
@@ -51,26 +51,28 @@ COMMON=$(RTL)/common
 PROCINC=$(RTL)/$(CPU_TARGET)
 PROCINC=$(RTL)/$(CPU_TARGET)
 WININC=../win/wininc
 WININC=../win/wininc
 WINDIR=../win
 WINDIR=../win
+OSDIR=win32
+NSOSDIR=$(NSDIR)/windows
 
 
 UNITPREFIX=rtl
 UNITPREFIX=rtl
 SYSTEMUNIT=system
 SYSTEMUNIT=system
 DLLS=fpcmemdll
 DLLS=fpcmemdll
-CPU_UNITS=cpu signals mmx
+CPU_UNITS=$(CPUUNIT) $(SIGNALSUNIT) $(MMXUNIT)
 # Paths
 # Paths
 OBJPASDIR=$(RTL)/objpas
 OBJPASDIR=$(RTL)/objpas
 FPC_SYSTEM_OPT=-Fu../win
 FPC_SYSTEM_OPT=-Fu../win
 SYSUTILSDIR=$(WINDIR)
 SYSUTILSDIR=$(WINDIR)
 SYSUTILS_OPT=-Fi../win
 SYSUTILS_OPT=-Fi../win
-#SYSUTILS_DEPS_OS=$(WINDOWSUNIT)$(PPUEXT) $(WINDIRSUNIT)$(PPUEXT)
+SYSUTILS_DEPS_OS=$(WINDOWSUNIT)$(PPUEXT) $(WINDIRSUNIT)$(PPUEXT)
 
 
 # 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)))
 
 
+EXEINFO_DEPS_OS=$(WINDOWSUNIT)$(PPUEXT)
 EXTPAS_DEPS_OS=buildrtl$(PPUEXT)
 EXTPAS_DEPS_OS=buildrtl$(PPUEXT)
 
 
-
 [rules]
 [rules]
 .NOTPARALLEL:
 .NOTPARALLEL:
 SYSTEMPPU=$(addsuffix $(PPUEXT),system)
 SYSTEMPPU=$(addsuffix $(PPUEXT),system)
@@ -91,7 +93,23 @@ SYSCPUDEPS=$(addprefix $(PROCINC)/,$(CPUINCNAMES))
 SYSDEPS=$(SYSINCDEPS) $(SYSCPUDEPS)
 SYSDEPS=$(SYSINCDEPS) $(SYSCPUDEPS)
 
 
 
 
+BUILDINCLUDEPATHS= -Fi$(OBJPASDIR)/sysutils -Fi$(WINDIR) -Fi$(OBJPASDIR) \
+                   -Fi$(OBJPASDIR)/classes -Fi$(WININC) -Fi$(INC)
+
+BUILDUNITPATHS=-Fu$(WININC) -Fu$(WINDIR) -Fu$(INC) -Fu$(OBJPASDIR) -Fu../$(ARCH)
+
+ifdef FPC_DOTTEDUNITS
+BUILDRTL_OPT:=$(BUILDRTL_OPT) -Fu$(NSINC) -Fu$(NSOSDIR) -dFPC_DOTTEDUNITS 
+endif
+
+#
+# Unit specific rules
+#
+
+BUILDRTL_DEPS=buildrtl.pp system$(PPUEXT) objpas$(PPUEXT) $(WINDOWSUNIT)$(PPUEXT) $(SYSUTILSUNIT)$(PPUEXT) \
+              $(BUILDRTL_DEPS_OS) $(BUILDRTL_DEPS_CPU)
+
+buildrtl$(PPUEXT) : $(BUILDRTL_DEPS)
+	$(COMPILER) $(BUILDUNITPATHS) $(BUILDINCLUDEPATHS) $(BUILDRTL_OPT) $<
 
 
-buildrtl$(PPUEXT): buildrtl.pp system$(PPUEXT) objpas$(PPUEXT) heaptrc$(PPUEXT)
-        $(COMPILER) -Fi$(OBJPASDIR)/sysutils -Fi$(OBJPASDIR)/classes -Fu$(PROCINC) -I$(OBJPASDIR) -I$(WININC) -Fu$(WININC) -Fu$(WINDIR) -I$(INC) -Fu$(INC) -Fu$(OBJPASDIR) buildrtl
 
 

+ 8 - 7
rtl/win64/Makefile.fpc

@@ -7,14 +7,14 @@ main=rtl
 
 
 [target]
 [target]
 loaders=$(LOADERS)
 loaders=$(LOADERS)
-units=system uuchar objpas macpas $(ISO7185UNIT) buildrtl $(CPALLUNIT) $(LINEINFOUNIT) $(LNFODWRFUNIT)
+units=system uuchar objpas macpas $(ISO7185UNIT) $(WINDOWSUNIT) $(SYSUTILSUNIT) buildrtl $(CHARSETUNIT) $(CPALLUNIT) $(LINEINFOUNIT) $(LNFODWRFUNIT)
 implicitunits=sysinit extpas heaptrc fpintres \
 implicitunits=sysinit extpas heaptrc fpintres \
       $(CTYPESUNIT) $(STRINGSUNIT) \
       $(CTYPESUNIT) $(STRINGSUNIT) \
       $(DOSUNIT) $(MESSAGESUNIT) \
       $(DOSUNIT) $(MESSAGESUNIT) \
-      $(WINDOWSUNIT) $(CMEMUNIT) $(DYNLIBSUNIT) \
-      $(RTLCONSTSUNIT) $(SYSCONSTUNIT) $(SYSUTILSUNIT) $(MATHUNIT) $(TYPESUNIT) \
+      $(CMEMUNIT) $(DYNLIBSUNIT) \
+      $(RTLCONSTSUNIT) $(SYSCONSTUNIT) $(MATHUNIT) $(TYPESUNIT) \
       $(TYPINFOUNIT) $(SORTBASEUNIT) $(FGLUNIT) $(CLASSESUNIT) $(GETOPTSUNIT) \
       $(TYPINFOUNIT) $(SORTBASEUNIT) $(FGLUNIT) $(CLASSESUNIT) $(GETOPTSUNIT) \
-      $(CHARSETUNIT) $(CHARACTERUNIT) $(FPWIDESTRINGUNIT) \
+      $(CHARACTERUNIT) $(FPWIDESTRINGUNIT) \
       $(SHAREMEMUNIT) $(EXEINFOUNIT) $(WINDIRSUNIT) \
       $(SHAREMEMUNIT) $(EXEINFOUNIT) $(WINDIRSUNIT) \
       $(SOFTFPUUNIT) $(SFPUX80UNIT) $(UFLOATX80UNIT) $(SFPU128UNIT) $(UFLOAT128UNIT) \
       $(SOFTFPUUNIT) $(SFPUX80UNIT) $(UFLOATX80UNIT) $(SFPU128UNIT) $(UFLOAT128UNIT) \
       $(CP1250UNIT) $(CP1251UNIT) $(CP1252UNIT) $(CP1253UNIT) $(CP1254UNIT) $(CP1255UNIT) $(CP1256UNIT) $(CP1257UNIT) $(CP1258UNIT) \
       $(CP1250UNIT) $(CP1251UNIT) $(CP1252UNIT) $(CP1253UNIT) $(CP1254UNIT) $(CP1255UNIT) $(CP1256UNIT) $(CP1257UNIT) $(CP1258UNIT) \
@@ -57,7 +57,7 @@ OSDIR=win64
 NSOSDIR=$(NSDIR)/windows
 NSOSDIR=$(NSDIR)/windows
 SYSUTILSDIR=$(WINDIR)
 SYSUTILSDIR=$(WINDIR)
 SYSUTILS_OPT=-Fi../win
 SYSUTILS_OPT=-Fi../win
-#SYSUTILS_DEPS_OS=$(WINDOWSUNIT)$(PPUEXT) $(WINDIRSUNIT)$(PPUEXT)
+SYSUTILS_DEPS_OS=$(WINDOWSUNIT)$(PPUEXT) $(WINDIRSUNIT)$(PPUEXT)
 
 
 UNITPREFIX=rtl
 UNITPREFIX=rtl
 SYSTEMUNIT=system
 SYSTEMUNIT=system
@@ -65,7 +65,7 @@ SYSTEMUNIT=system
 
 
 ifeq ($(ARCH),x86_64)
 ifeq ($(ARCH),x86_64)
 # signals unit is x86 specific for now
 # signals unit is x86 specific for now
-CPU_UNITS=cpu signals
+CPU_UNITS=$(CPUUNIT) $(SIGNALSUNIT)
 endif
 endif
 
 
 # Paths
 # Paths
@@ -76,6 +76,7 @@ OBJPASDIR=$(RTL)/objpas
 
 
 WINDOWS_SOURCE_FILES=$(addprefix $(WININC)/,$(addsuffix .inc,$(WINDOWS_FILES)))
 WINDOWS_SOURCE_FILES=$(addprefix $(WININC)/,$(addsuffix .inc,$(WINDOWS_FILES)))
 FPC_SYSTEM_OPT=-Fi../win
 FPC_SYSTEM_OPT=-Fi../win
+EXEINFO_DEPS_OS=$(WINDOWSUNIT)$(PPUEXT)
 
 
 [rules]
 [rules]
 SYSTEMPPU=$(addsuffix $(PPUEXT),system)
 SYSTEMPPU=$(addsuffix $(PPUEXT),system)
@@ -108,7 +109,7 @@ endif
 # Unit specific rules
 # Unit specific rules
 #
 #
 
 
-BUILDRTL_DEPS=buildrtl.pp system$(PPUEXT) objpas$(PPUEXT) \
+BUILDRTL_DEPS=buildrtl.pp system$(PPUEXT) objpas$(PPUEXT) $(WINDOWSUNIT)$(PPUEXT) $(SYSUTILSUNIT)$(PPUEXT) \
               $(BUILDRTL_DEPS_OS) $(BUILDRTL_DEPS_CPU)
               $(BUILDRTL_DEPS_OS) $(BUILDRTL_DEPS_CPU)
 
 
 buildrtl$(PPUEXT) : $(BUILDRTL_DEPS)
 buildrtl$(PPUEXT) : $(BUILDRTL_DEPS)