mirror of
				https://gitlab.com/freepascal.org/fpc/source.git
				synced 2025-11-04 12:23:24 +01:00 
			
		
		
		
	
		
			
				
	
	
		
			143 lines
		
	
	
		
			3.3 KiB
		
	
	
	
		
			Makefile
		
	
	
	
	
	
			
		
		
	
	
			143 lines
		
	
	
		
			3.3 KiB
		
	
	
	
		
			Makefile
		
	
	
	
	
	
#
 | 
						|
#   Makefile.fpc for Free Pascal Win32 RTL
 | 
						|
#
 | 
						|
 | 
						|
[package]
 | 
						|
main=rtl
 | 
						|
 | 
						|
[target]
 | 
						|
loaders=$(LOADERS)
 | 
						|
units=system uuchar objpas macpas iso7185 buildrtl cpall lineinfo lnfodwrf
 | 
						|
implicitunits=sysinitpas sysinitcyg sysinitgprof \
 | 
						|
      ctypes strings \
 | 
						|
      heaptrc \
 | 
						|
      windows initc cmem dynlibs signals \
 | 
						|
      dos messages \
 | 
						|
      rtlconsts sysconst sysutils math types \
 | 
						|
      typinfo fgl classes \
 | 
						|
      cpu mmx charset character getopts \
 | 
						|
      fpwidestring \
 | 
						|
      winsysut sharemem exeinfo fpintres windirs \
 | 
						|
      cp1250 cp1251 cp1252 cp1253 cp1254 cp1255 cp1256 cp1257 cp1258 \
 | 
						|
      cp437 cp646 cp850 cp856 cp866 cp874 cp8859_1 cp8859_5 cp8859_2 cp852 \
 | 
						|
      unicodedata  unicodenumtable 
 | 
						|
 | 
						|
# shared=$(DLLS)
 | 
						|
 | 
						|
rsts=math typinfo classes sysconst
 | 
						|
 | 
						|
[require]
 | 
						|
nortl=y
 | 
						|
 | 
						|
[install]
 | 
						|
fpcpackage=y
 | 
						|
buildunit=buildrtl
 | 
						|
 | 
						|
[default]
 | 
						|
fpcdir=../..
 | 
						|
target=win32
 | 
						|
 | 
						|
[compiler]
 | 
						|
includedir=$(INC) $(PROCINC) $(WINDIR)
 | 
						|
sourcedir=$(INC) $(PROCINC) $(COMMON) $(WINDIR)
 | 
						|
 | 
						|
 | 
						|
[prerules]
 | 
						|
RTL=..
 | 
						|
INC=$(RTL)/inc
 | 
						|
COMMON=$(RTL)/common
 | 
						|
PROCINC=$(RTL)/$(CPU_TARGET)
 | 
						|
WININC=../win/wininc
 | 
						|
WINDIR=../win
 | 
						|
 | 
						|
UNITPREFIX=rtl
 | 
						|
SYSTEMUNIT=system
 | 
						|
 | 
						|
ifneq ($(findstring 2.0.,$(FPC_VERSION)),)
 | 
						|
LOADERS=wprt0 wdllprt0 gprt0 wcygprt0
 | 
						|
DLLS=
 | 
						|
else
 | 
						|
DLLS=fpcmemdll
 | 
						|
endif
 | 
						|
 | 
						|
# Paths
 | 
						|
OBJPASDIR=$(RTL)/objpas
 | 
						|
 | 
						|
# Files used by windows.pp
 | 
						|
include $(WININC)/makefile.inc
 | 
						|
 | 
						|
WINDOWS_SOURCE_FILES=$(addprefix $(WININC)/,$(addsuffix .inc,$(WINDOWS_FILES)))
 | 
						|
 | 
						|
 | 
						|
[rules]
 | 
						|
.NOTPARALLEL:
 | 
						|
SYSTEMPPU=$(addsuffix $(PPUEXT),system)
 | 
						|
 | 
						|
# Get the system independent include file names.
 | 
						|
# This will set the following variables :
 | 
						|
# SYSINCNAMES
 | 
						|
include $(INC)/makefile.inc
 | 
						|
SYSINCDEPS=$(addprefix $(INC)/,$(SYSINCNAMES))
 | 
						|
 | 
						|
# Get the processor dependent include file names.
 | 
						|
# This will set the following variables :
 | 
						|
# CPUINCNAMES
 | 
						|
include $(PROCINC)/makefile.cpu
 | 
						|
SYSCPUDEPS=$(addprefix $(PROCINC)/,$(CPUINCNAMES))
 | 
						|
 | 
						|
# Put system unit dependencies together.
 | 
						|
SYSDEPS=$(SYSINCDEPS) $(SYSCPUDEPS)
 | 
						|
 | 
						|
 | 
						|
#
 | 
						|
# Loaders
 | 
						|
#
 | 
						|
 | 
						|
wprt0$(OEXT) : wprt0.as
 | 
						|
 | 
						|
gprt0$(OEXT) : gprt0.as
 | 
						|
 | 
						|
wdllprt0$(OEXT) : wdllprt0.as
 | 
						|
 | 
						|
wcygprt0$(OEXT) : wcygprt0.as
 | 
						|
 | 
						|
#
 | 
						|
# Unit specific rules
 | 
						|
#
 | 
						|
 | 
						|
system$(PPUEXT) : system.pp $(SYSDEPS)
 | 
						|
        $(COMPILER) -Us -Sg system.pp -Fi../win
 | 
						|
 | 
						|
uuchar$(PPUEXT): $(SYSTEMUNIT)$(PPUEXT) $(INC)/uuchar.pp
 | 
						|
	$(COMPILER) $(INC)/uuchar.pp
 | 
						|
 | 
						|
objpas$(PPUEXT): $(OBJPASDIR)/objpas.pp $(INC)/except.inc system$(PPUEXT)
 | 
						|
        $(COMPILER) -I$(OBJPASDIR) $(OBJPASDIR)/objpas.pp
 | 
						|
 | 
						|
macpas$(PPUEXT) : $(INC)/macpas.pp objpas$(PPUEXT) buildrtl$(PPUEXT)
 | 
						|
        $(COMPILER) $(INC)/macpas.pp
 | 
						|
 | 
						|
iso7185$(PPUEXT) : $(INC)/iso7185.pp buildrtl$(PPUEXT)
 | 
						|
        $(COMPILER) $(INC)/iso7185.pp
 | 
						|
 | 
						|
lineinfo$(PPUEXT) : $(INC)/lineinfo.pp $(SYSTEMUNIT)$(PPUEXT)
 | 
						|
	$(COMPILER) $(INC)/lineinfo.pp
 | 
						|
 | 
						|
lnfodwrf$(PPUEXT) : $(INC)/lnfodwrf.pp $(SYSTEMUNIT)$(PPUEXT)
 | 
						|
	$(COMPILER) $(INC)/lnfodwrf.pp
 | 
						|
 | 
						|
buildrtl$(PPUEXT): buildrtl.pp system$(PPUEXT) objpas$(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
 | 
						|
 | 
						|
cpall$(PPUEXT): $(RTL)/charmaps/cpall.pas system$(PPUEXT) objpas$(PPUEXT)
 | 
						|
        $(COMPILER) -Fu$(INC) -Fi$(RTL)/charmaps $(RTL)/charmaps/cpall.pas
 | 
						|
 | 
						|
softfpu$(PPUEXT) : ../inc/softfpu.pp system$(PPUEXT)
 | 
						|
	$(COMPILER) ../inc/softfpu.pp
 | 
						|
 | 
						|
sfpu128$(PPUEXT) : ../inc/sfpu128.pp system$(PPUEXT)
 | 
						|
	$(COMPILER) ../inc/sfpu128.pp
 | 
						|
 | 
						|
sfpux80$(PPUEXT) : ../inc/sfpux80.pp system$(PPUEXT)
 | 
						|
        $(COMPILER) ../inc/sfpux80.pp
 |