1#   $Id$
2#
3#   Makefile.fpc for Lazarus for Free Pascal
4#
5
6[target]
7dirs=
8
9[clean]
10files=$(wildcard ./units/*$(OEXT)) \
11      $(wildcard ./units/*$(PPUEXT)) \
12      $(wildcard ./units/*$(RSTEXT)) \
13      $(wildcard ./units/$(CPU_TARGET)-$(OS_TARGET)/*$(OEXT)) \
14      $(wildcard ./units/$(CPU_TARGET)-$(OS_TARGET)/*$(PPUEXT)) \
15      $(wildcard ./units/$(CPU_TARGET)-$(OS_TARGET)/*$(RSTEXT)) \
16      $(wildcard ./custom/*$(OEXT)) \
17      $(wildcard ./custom/*$(PPUEXT)) \
18      $(wildcard ./custom/*$(RSTEXT))
19
20[rules]
21.PHONY: help clean cleanall base bigide all
22
23#-----------------------------------------------------------------------------
24help:
25	@$(ECHO)
26	@$(ECHO) " Targets"
27	@$(ECHO) "   all         same as base + bigide"
28	@$(ECHO) "   clean       deletes output files of base and bigide components"
29	@$(ECHO) "   base        build lazutils, codetools, buildintf, freetype"
30	@$(ECHO) "               requires packager/registration"
31	@$(ECHO) "               needed by lcl"
32	@$(ECHO) "   basecomponents  build lazcontrols, ideintf, synedit"
33	@$(ECHO) "               requires lcl"
34	@$(ECHO) "   bigide      build the extra packages for the bigide"
35	@$(ECHO) "               requires basecomponents"
36
37#-----------------------------------------------------------------------------
38# build base packages, requires packager/registration, needed by lcl
39base:
40	$(MAKE) -C lazutils
41	$(MAKE) -C codetools
42	$(MAKE) -C buildintf
43	$(MAKE) -C freetype
44
45#-----------------------------------------------------------------------------
46# build base packages, requires lcl
47basecomponents:
48	$(MAKE) -C lazcontrols
49	$(MAKE) -C ideintf
50	$(MAKE) -C synedit
51	$(MAKE) -C debuggerintf
52	$(MAKE) -C lazdebuggergdbmi
53	$(MAKE) -C lazcontrols/design
54
55#-----------------------------------------------------------------------------
56# build the extra packages needed by the bigide
57bigide:
58	$(MAKE) -C synedit/design
59	$(MAKE) -C rtticontrols
60	$(MAKE) -C cairocanvas
61	$(MAKE) -C printers
62	$(MAKE) -C printers/design
63	$(MAKE) -C turbopower_ipro
64	$(MAKE) -C turbopower_ipro/design
65	$(MAKE) -C fpcunit
66	$(MAKE) -C fpcunit/ide
67	$(MAKE) -C projecttemplates
68	$(MAKE) -C fpdebug
69	$(MAKE) -C lazdebuggers
70	$(MAKE) -C leakview
71	$(MAKE) -C memds
72	$(MAKE) -C sdf
73	$(MAKE) -C tachart
74	$(MAKE) -C todolist
75	$(MAKE) -C datetimectrls
76	$(MAKE) -C datetimectrls/design
77	$(MAKE) -C jcf2/IdePlugin/lazarus
78	$(MAKE) -C mouseandkeyinput
79	$(MAKE) -C chmhelp/packages/help
80	$(MAKE) -C chmhelp/packages/idehelp
81	$(MAKE) -C instantfpc
82	$(MAKE) -C externhelp
83	$(MAKE) -C tdbf
84	$(MAKE) -C sqldb
85	$(MAKE) -C PascalScript/Source
86	$(MAKE) -C macroscript
87	$(MAKE) -C lclextensions
88	$(MAKE) -C virtualtreeview
89	$(MAKE) -C onlinepackagemanager
90	$(MAKE) -C pas2js
91
92all: base
93
94clean:
95	$(MAKE) -C lazutils clean
96	$(MAKE) -C codetools clean
97	$(MAKE) -C freetype clean
98	$(MAKE) -C debuggerintf clean
99	$(MAKE) -C lazdebuggergdbmi clean
100	$(MAKE) -C lazcontrols clean
101	$(MAKE) -C lazcontrols/design clean
102	$(MAKE) -C buildintf clean
103	$(MAKE) -C ideintf clean
104	$(MAKE) -C synedit clean
105	$(MAKE) -C synedit/design clean
106	$(MAKE) -C rtticontrols clean
107	$(MAKE) -C cairocanvas clean
108	$(MAKE) -C printers clean
109	$(MAKE) -C printers/design clean
110	$(MAKE) -C turbopower_ipro clean
111	$(MAKE) -C turbopower_ipro/design clean
112	$(MAKE) -C fpcunit clean
113	$(MAKE) -C fpcunit/ide clean
114	$(MAKE) -C projecttemplates clean
115	$(MAKE) -C fpdebug clean
116	$(MAKE) -C lazdebuggers clean
117	$(MAKE) -C leakview clean
118	$(MAKE) -C memds clean
119	$(MAKE) -C sdf clean
120	$(MAKE) -C tachart clean
121	$(MAKE) -C todolist clean
122	$(MAKE) -C datetimectrls clean
123	$(MAKE) -C datetimectrls/design clean
124	$(MAKE) -C jcf2/IdePlugin/lazarus clean
125	$(MAKE) -C mouseandkeyinput clean
126	$(MAKE) -C chmhelp/packages/help clean
127	$(MAKE) -C chmhelp/packages/idehelp clean
128	$(MAKE) -C instantfpc clean
129	$(MAKE) -C externhelp clean
130	$(MAKE) -C tdbf clean
131	$(MAKE) -C sqldb clean
132	$(MAKE) -C PascalScript/Source clean
133	$(MAKE) -C macroscript clean
134	$(MAKE) -C lclextensions clean
135	$(MAKE) -C virtualtreeview clean
136	$(MAKE) -C onlinepackagemanager clean
137	$(MAKE) -C pas2js clean
138
139cleanall: clean
140
141distclean:
142	$(MAKE) -C lazutils distclean
143	$(MAKE) -C codetools distclean
144	$(MAKE) -C freetype distclean
145	$(MAKE) -C debuggerintf distclean
146	$(MAKE) -C lazdebuggergdbmi distclean
147	$(MAKE) -C lazcontrols distclean
148	$(MAKE) -C lazcontrols/design distclean
149	$(MAKE) -C buildintf distclean
150	$(MAKE) -C ideintf distclean
151	$(MAKE) -C synedit distclean
152	$(MAKE) -C synedit/design distclean
153	$(MAKE) -C rtticontrols distclean
154	$(MAKE) -C cairocanvas distclean
155	$(MAKE) -C printers distclean
156	$(MAKE) -C printers/design distclean
157	$(MAKE) -C turbopower_ipro distclean
158	$(MAKE) -C turbopower_ipro/design distclean
159	$(MAKE) -C fpcunit distclean
160	$(MAKE) -C fpcunit/ide distclean
161	$(MAKE) -C projecttemplates distclean
162	$(MAKE) -C fpdebug distclean
163	$(MAKE) -C lazdebuggers distclean
164	$(MAKE) -C leakview distclean
165	$(MAKE) -C memds distclean
166	$(MAKE) -C sdf distclean
167	$(MAKE) -C tachart distclean
168	$(MAKE) -C todolist distclean
169	$(MAKE) -C datetimectrls distclean
170	$(MAKE) -C datetimectrls/design distclean
171	$(MAKE) -C jcf2/IdePlugin/lazarus distclean
172	$(MAKE) -C mouseandkeyinput distclean
173	$(MAKE) -C chmhelp/packages/help distclean
174	$(MAKE) -C chmhelp/packages/idehelp distclean
175	$(MAKE) -C instantfpc distclean
176	$(MAKE) -C externhelp distclean
177	$(MAKE) -C tdbf distclean
178	$(MAKE) -C sqldb distclean
179	$(MAKE) -C PascalScript/Source distclean
180	$(MAKE) -C macroscript distclean
181	$(MAKE) -C lclextensions distclean
182	$(MAKE) -C virtualtreeview distclean
183	$(MAKE) -C onlinepackagemanager distclean
184	$(MAKE) -C pas2js distclean
185
186