1#   $Id: Makefile.fpc 63643 2020-07-24 15:33:32Z mattias $
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, lazcontrols, synedit and ideintf"
30	@$(ECHO) "               requires packager/registration"
31	@$(ECHO) "   bigide      build the extra packages for the bigide"
32	@$(ECHO) "               requires base"
33
34#-----------------------------------------------------------------------------
35# build base packages, requires packager/registration
36base:
37	$(MAKE) -C lazutils
38	$(MAKE) -C codetools
39	$(MAKE) -C lazcontrols
40	$(MAKE) -C synedit
41	$(MAKE) -C ideintf
42	$(MAKE) -C debuggerintf
43	$(MAKE) -C lazdebuggergdbmi
44	$(MAKE) -C lazcontrols/design
45
46#-----------------------------------------------------------------------------
47# build the extra packages needed by the bigide
48bigide:
49	$(MAKE) -C synedit/design
50	$(MAKE) -C rtticontrols
51	$(MAKE) -C cairocanvas
52	$(MAKE) -C printers
53	$(MAKE) -C printers/design
54	$(MAKE) -C turbopower_ipro
55	$(MAKE) -C turbopower_ipro/design
56	$(MAKE) -C fpcunit
57	$(MAKE) -C fpcunit/ide
58	$(MAKE) -C projecttemplates
59	$(MAKE) -C fpdebug
60	$(MAKE) -C lazdebuggers
61	$(MAKE) -C leakview
62	$(MAKE) -C memds
63	$(MAKE) -C sdf
64	$(MAKE) -C tachart
65	$(MAKE) -C todolist
66	$(MAKE) -C datetimectrls
67	$(MAKE) -C datetimectrls/design
68	$(MAKE) -C jcf2/IdePlugin/lazarus
69	$(MAKE) -C chmhelp/packages/help
70	$(MAKE) -C chmhelp/packages/idehelp
71	$(MAKE) -C instantfpc
72	$(MAKE) -C externhelp
73	$(MAKE) -C tdbf
74	$(MAKE) -C sqldb
75	$(MAKE) -C PascalScript/Source
76	$(MAKE) -C macroscript
77	$(MAKE) -C lclextensions
78	$(MAKE) -C virtualtreeview
79	$(MAKE) -C onlinepackagemanager
80
81all: base bigide
82
83clean:
84	$(MAKE) -C lazutils clean
85	$(MAKE) -C codetools clean
86	$(MAKE) -C debuggerintf clean
87	$(MAKE) -C lazdebuggergdbmi clean
88	$(MAKE) -C lazcontrols clean
89	$(MAKE) -C lazcontrols/design clean
90	$(MAKE) -C ideintf clean
91	$(MAKE) -C synedit clean
92	$(MAKE) -C synedit/design clean
93	$(MAKE) -C rtticontrols clean
94	$(MAKE) -C cairocanvas clean
95	$(MAKE) -C printers clean
96	$(MAKE) -C printers/design clean
97	$(MAKE) -C turbopower_ipro clean
98	$(MAKE) -C turbopower_ipro/design clean
99	$(MAKE) -C fpcunit clean
100	$(MAKE) -C fpcunit/ide clean
101	$(MAKE) -C projecttemplates clean
102	$(MAKE) -C fpdebug clean
103	$(MAKE) -C lazdebuggers clean
104	$(MAKE) -C leakview clean
105	$(MAKE) -C memds clean
106	$(MAKE) -C sdf clean
107	$(MAKE) -C tachart clean
108	$(MAKE) -C todolist clean
109	$(MAKE) -C datetimectrls clean
110	$(MAKE) -C datetimectrls/design clean
111	$(MAKE) -C jcf2/IdePlugin/lazarus clean
112	$(MAKE) -C chmhelp/packages/help clean
113	$(MAKE) -C chmhelp/packages/idehelp clean
114	$(MAKE) -C instantfpc clean
115	$(MAKE) -C externhelp clean
116	$(MAKE) -C tdbf clean
117	$(MAKE) -C sqldb clean
118	$(MAKE) -C PascalScript/Source clean
119	$(MAKE) -C macroscript clean
120	$(MAKE) -C lclextensions clean
121	$(MAKE) -C virtualtreeview clean
122	$(MAKE) -C onlinepackagemanager clean
123
124cleanall: clean
125
126distclean:
127	$(MAKE) -C lazutils distclean
128	$(MAKE) -C codetools distclean
129	$(MAKE) -C debuggerintf distclean
130	$(MAKE) -C lazdebuggergdbmi distclean
131	$(MAKE) -C lazcontrols distclean
132	$(MAKE) -C lazcontrols/design distclean
133	$(MAKE) -C ideintf distclean
134	$(MAKE) -C synedit distclean
135	$(MAKE) -C synedit/design distclean
136	$(MAKE) -C rtticontrols distclean
137	$(MAKE) -C cairocanvas distclean
138	$(MAKE) -C printers distclean
139	$(MAKE) -C printers/design distclean
140	$(MAKE) -C turbopower_ipro distclean
141	$(MAKE) -C turbopower_ipro/design distclean
142	$(MAKE) -C fpcunit distclean
143	$(MAKE) -C fpcunit/ide distclean
144	$(MAKE) -C projecttemplates distclean
145	$(MAKE) -C fpdebug distclean
146	$(MAKE) -C lazdebuggers distclean
147	$(MAKE) -C leakview distclean
148	$(MAKE) -C memds distclean
149	$(MAKE) -C sdf distclean
150	$(MAKE) -C tachart distclean
151	$(MAKE) -C todolist distclean
152	$(MAKE) -C datetimectrls distclean
153	$(MAKE) -C datetimectrls/design distclean
154	$(MAKE) -C jcf2/IdePlugin/lazarus distclean
155	$(MAKE) -C chmhelp/packages/help distclean
156	$(MAKE) -C chmhelp/packages/idehelp distclean
157	$(MAKE) -C instantfpc distclean
158	$(MAKE) -C externhelp distclean
159	$(MAKE) -C tdbf distclean
160	$(MAKE) -C sqldb distclean
161	$(MAKE) -C PascalScript/Source distclean
162	$(MAKE) -C macroscript distclean
163	$(MAKE) -C lclextensions distclean
164	$(MAKE) -C virtualtreeview distclean
165	$(MAKE) -C onlinepackagemanager distclean
166
167