1[package]
2name=lcl
3version=0.9b
4
5[target]
6dirs=interfaces
7units=alllclunits
8# DO NOT ADD alllclunits to implicitunits. It is just a dummy unit used for compiling.
9implicitunits= \
10  actnlist \
11  arrow \
12  avglvltree \
13  buttons \
14  calendar \
15  chart \
16  checklst \
17  clipbrd \
18  clistbox \
19  comctrls \
20  controls \
21  dbactns \
22  dbctrls \
23  dbgrids \
24  dialogs \
25  dynamicarray \
26  dynhasharray \
27  editbtn \
28  extctrls \
29  extdlgs \
30  extendedstrings \
31  extgraphics \
32  filectrl \
33  forms \
34  fpcadds \
35  graphics \
36  graphmath \
37  graphtype \
38  grids \
39  imglist \
40  inipropstorage \
41  interfacebase \
42  lazlinkedlist \
43  lclintf \
44  lclmemmanager \
45  lclproc \
46  lclrescache \
47  lclstrconsts \
48  lcltype \
49  lclunicodedata \
50  lconvencoding \
51  lmessages \
52  lresources \
53  maskedit \
54  menus \
55  pairsplitter \
56  popupnotifier \
57  postscriptprinter \
58  printers \
59  propertystorage \
60  spin \
61  stdactns \
62  stdctrls \
63  stringhashlist \
64  textstrings \
65  toolwin \
66  utrace \
67  xmlpropstorage
68
69rsts=lclstrconsts
70
71[require]
72packages=
73
74[prerules]
75DBG_OPTIONS=
76STATEFILE=Makefile.compiled
77ifeq ($(findstring $(OS_TARGET),win32 win64 wince),)
78NONWIN32=nonwin32
79else
80STATEFILE=Makefile_win.compiled
81endif
82# disable checks on WinCE unless LCL_ENABLE_CHECKS
83ifeq ($(OS_TARGET),wince)
84ifndef LCL_ENABLE_CHECKS
85LCL_DISABLE_CHECKS=-dDisableChecks
86endif
87endif
88ifeq ($(OS_TARGET),darwin)
89DBG_OPTIONS=-gw
90endif
91
92[compiler]
93options=-gl -Sic $(LCL_DISABLE_CHECKS) $(DBG_OPTIONS)
94unittargetdir=units/$(CPU_TARGET)-$(OS_TARGET)
95unitdir=../packager/units/$(CPU_TARGET)-$(OS_TARGET) ../components/lazutils/lib/$(CPU_TARGET)-$(OS_TARGET) . $(NONWIN32) forms widgetset
96includedir=include
97
98[install]
99#buildunit=alllclunits
100
101[clean]
102# clear all .ppu/.o/.rst files in all source and output directories
103files=$(wildcard $(COMPILER_UNITTARGETDIR)/*$(OEXT)) \
104      $(wildcard $(COMPILER_UNITTARGETDIR)/*$(PPUEXT)) \
105      $(wildcard $(COMPILER_UNITTARGETDIR)/*$(RSTEXT)) \
106      $(wildcard $(COMPILER_UNITTARGETDIR)/*.lfm) \
107      $(wildcard $(COMPILER_UNITTARGETDIR)/*.res) \
108      $(wildcard $(COMPILER_UNITTARGETDIR)/*.compiled) \
109      $(wildcard ./units/*$(OEXT)) $(wildcard ./units/*$(PPUEXT)) $(wildcard ./units/*$(RSTEXT)) \
110      $(wildcard widgetset/*$(OEXT)) $(wildcard widgetset/*$(PPUEXT)) $(wildcard widgetset/*$(RSTEXT))\
111      $(wildcard *$(OEXT)) $(wildcard *$(PPUEXT)) $(wildcard *$(RSTEXT))
112
113[default]
114lcldir=.
115
116[rules]
117.PHONY: help cleartarget lclbase compiled all intf cleanintf cleanlaz cleanall
118
119help:
120	@$(ECHO)
121	@$(ECHO) " Important: the LCL requires components/lazutils and packager/registration"
122	@$(ECHO)
123	@$(ECHO) " Targets"
124	@$(ECHO) "   all          build lclbase and one interface"
125	@$(ECHO) "   clean        deletes files that 'all' creates"
126	@$(ECHO) "   lclbase      build lclbase"
127	@$(ECHO) "   intf         build one lcl interface, selectable via LCL_PLATFORM"
128	@$(ECHO) "   cleanintf    delete files that 'intf' creates"
129	@$(ECHO) "   cleanall     as 'clean' plus clean for all common interfaces."
130	@$(ECHO) "                Does not clean up cross compiled interfaces."
131	@$(ECHO)
132	@$(ECHO) " Examples:"
133	@$(ECHO)
134	@$(ECHO) " Compile the lcl with the default interface:"
135	@$(ECHO) "   make clean all"
136	@$(ECHO)
137	@$(ECHO) " Compile the interface for the qt widgetset:"
138	@$(ECHO) "   make cleanintf intf LCL_PLATFORM=qt"
139	@$(ECHO)
140	@$(ECHO) "Clean up:"
141	@$(ECHO) " There is no command to clean up all interfaces."
142	@$(ECHO) " In most cases it is enough to delete the 'units' directory."
143	@$(ECHO)
144
145cleartarget:
146	-$(DEL) $(COMPILER_UNITTARGETDIR)/alllclunits$(PPUEXT)
147
148lclbase: cleartarget $(COMPILER_UNITTARGETDIR) alllclunits$(PPUEXT) compiled
149
150compiled:
151	$(CPPROG) -f $(STATEFILE) $(COMPILER_UNITTARGETDIR)/LCLBase.compiled
152
153intf: $(TARGET_DIRS)
154
155cleanintf:
156	$(MAKE) -C interfaces clean
157
158all: lclbase compiled intf
159
160cleanlaz: cleanall
161cleanall: clean
162	$(MAKE) -C interfaces clean
163	$(MAKE) -C interfaces/carbon clean
164	$(MAKE) -C interfaces/cocoa clean
165	$(MAKE) -C interfaces/customdrawn clean
166	$(MAKE) -C interfaces/fpgui clean
167	$(MAKE) -C interfaces/gtk clean
168	$(MAKE) -C interfaces/gtk2 clean
169	$(MAKE) -C interfaces/gtk3 clean
170	$(MAKE) -C interfaces/nogui clean
171	$(MAKE) -C interfaces/qt clean
172	$(MAKE) -C interfaces/win32 clean
173	$(MAKE) -C interfaces/wince clean
174	$(MAKE) -C interfaces/mui clean
175
176distclean: clean
177        ${DELTREE} units/*
178
179