1#
2#   Makefile.fpc for Free Pascal Atari RTL
3#
4
5[package]
6main=rtl
7
8[target]
9loaders=$(LOADERS)
10units=$(SYSTEMUNIT) fpextres uuchar objpas macpas iso7185 buildrtl cpall
11# extpas
12implicitunits=si_prc sysutils dos \
13      ctypes strings rtlconsts sysconst math types \
14      typinfo fgl classes charset character getopts \
15      cp1250 cp1251 cp1252 cp1253 cp1254 cp1255 cp1256 cp1257 cp1258 \
16      cp437 cp646 cp737 cp775 cp850 cp852 cp855 cp856 cp857 cp860 cp861 cp862 \
17      cp863 cp864 cp865 cp866 cp869 cp874 cp3021 cp8859_1 cp8859_2 cp8859_3 cp8859_4 \
18      cp8859_5 cp8859_6 cp8859_7 cp8859_8 cp8859_9 cp8859_10 cp8859_11 \
19      cp8859_13 cp8859_14 cp8859_15 cp8859_16 cpkoi8_r cpkoi8_u \
20      unicodedata unicodenumtable
21
22rsts=math rtlconsts typinfo classes sysconst
23
24[require]
25nortl=y
26
27[install]
28fpcpackage=y
29
30[default]
31fpcdir=../..
32target=atari
33cpu=m68k
34
35[compiler]
36includedir=$(INC) $(PROCINC) $(CPU_TARGET)
37sourcedir=$(INC) $(PROCINC) $(CPU_TARGET) $(COMMON)
38
39
40[prerules]
41RTL=..
42INC=$(RTL)/inc
43COMMON=$(RTL)/common
44PROCINC=$(RTL)/$(CPU_TARGET)
45UNITPREFIX=rtl
46LOADERS=prt0
47SYSTEMUNIT=system
48
49# Use new feature from 1.0.5 version
50# that generates release PPU files
51# which will not be recompiled
52ifdef RELEASE
53override FPCOPT+=-Ur
54endif
55
56# Paths
57OBJPASDIR=$(RTL)/objpas
58
59[rules]
60.NOTPARALLEL:
61# Get the system independent include file names.
62# This will set the following variables :
63# SYSINCNAMES
64include $(INC)/makefile.inc
65SYSINCDEPS=$(addprefix $(INC)/,$(SYSINCNAMES))
66
67# Get the processor dependent include file names.
68# This will set the following variables :
69# CPUINCNAMES
70include $(PROCINC)/makefile.cpu
71SYSCPUDEPS=$(addprefix $(PROCINC)/,$(CPUINCNAMES))
72
73# Put system unit dependencies together.
74SYSDEPS=$(SYSINCDEPS) $(SYSCPUDEPS)
75
76
77#
78# Loaders
79#
80
81prt0$(OEXT) : prt0.as
82        $(AS) -o $(UNITTARGETDIRPREFIX)prt0$(OEXT) prt0.as
83
84#
85# Base Units (System, strings, os-dependent-base-unit)
86#
87
88$(SYSTEMUNIT)$(PPUEXT) : $(SYSTEMUNIT).pp $(SYSDEPS)
89        $(COMPILER) $(FPC_SYSTEM_OPT) -Us -Sg @rtl.cfg $(SYSTEMUNIT).pp $(REDIR)
90
91heaptrc$(PPUEXT) : $(INC)/heaptrc.pp $(SYSTEMUNIT)$(PPUEXT)
92        $(COMPILER) -Sg $(INC)/heaptrc.pp $(REDIR)
93
94uuchar$(PPUEXT): $(SYSTEMUNIT)$(PPUEXT) $(INC)/uuchar.pp heaptrc$(PPUEXT)
95        $(COMPILER) $(INC)/uuchar.pp
96
97objpas$(PPUEXT): $(OBJPASDIR)/objpas.pp $(INC)/except.inc $(SYSTEMUNIT)$(PPUEXT)
98        $(COMPILER) -I$(OBJPASDIR) $(OBJPASDIR)/objpas.pp $(REDIR)
99
100macpas$(PPUEXT) : $(INC)/macpas.pp objpas$(PPUEXT) buildrtl$(PPUEXT) heaptrc$(PPUEXT)
101        $(COMPILER) $(INC)/macpas.pp
102
103iso7185$(PPUEXT) : $(INC)/iso7185.pp buildrtl$(PPUEXT) heaptrc$(PPUEXT)
104        $(COMPILER) $(INC)/iso7185.pp
105
106extpas$(PPUEXT) : $(INC)/extpas.pp buildrtl$(PPUEXT) $(SYSTEMUNIT)$(PPUEXT) heaptrc$(PPUEXT)
107        $(COMPILER) $(INC)/extpas.pp
108
109buildrtl$(PPUEXT): buildrtl.pp system$(PPUEXT) objpas$(PPUEXT) heaptrc$(PPUEXT)
110        $(COMPILER) -Fi$(OBJPASDIR)/sysutils -Fi$(OBJPASDIR)/classes -Fu$(CPU_TARGET) -Fu$(PROCINC) -Fu$(AMIINC) -I$(INC) -Fu$(INC) -Fu$(OBJPASDIR) buildrtl
111
112fpextres$(PPUEXT) : $(INC)/fpextres.pp $(SYSTEMUNIT)$(PPUEXT)
113        $(COMPILER) -Sg $(INC)/fpextres.pp
114
115cpall$(PPUEXT): $(RTL)/charmaps/cpall.pas system$(PPUEXT) objpas$(PPUEXT) heaptrc$(PPUEXT)
116        $(COMPILER) -Fu$(INC) -Fi$(RTL)/charmaps $(RTL)/charmaps/cpall.pas
117