lazarus/lcl/Makefile.fpc
2020-12-29 22:56:40 +00:00

178 lines
4.3 KiB
Makefile

[package]
name=lcl
version=0.9b
[target]
dirs=interfaces
units=alllclunits
# DO NOT ADD alllclunits to implicitunits. It is just a dummy unit used for compiling.
implicitunits= \
actnlist \
arrow \
avglvltree \
buttons \
calendar \
chart \
checklst \
clipbrd \
clistbox \
comctrls \
controls \
dbactns \
dbctrls \
dbgrids \
dialogs \
dynamicarray \
dynhasharray \
editbtn \
extctrls \
extdlgs \
extendedstrings \
extgraphics \
filectrl \
forms \
fpcadds \
graphics \
graphtype \
grids \
imglist \
inipropstorage \
interfacebase \
lazlinkedlist \
lclintf \
lclmemmanager \
lclproc \
lclrescache \
lclstrconsts \
lcltype \
lclunicodedata \
lconvencoding \
lmessages \
lresources \
maskedit \
menus \
pairsplitter \
popupnotifier \
postscriptprinter \
printers \
propertystorage \
spin \
stdactns \
stdctrls \
stringhashlist \
textstrings \
toolwin \
utrace \
xmlpropstorage
rsts=lclstrconsts
[require]
packages=
[prerules]
DBG_OPTIONS=
STATEFILE=Makefile.compiled
ifeq ($(findstring $(OS_TARGET),win32 win64 wince),)
NONWIN32=nonwin32
else
STATEFILE=Makefile_win.compiled
endif
# disable checks on WinCE unless LCL_ENABLE_CHECKS
ifeq ($(OS_TARGET),wince)
ifndef LCL_ENABLE_CHECKS
LCL_DISABLE_CHECKS=-dDisableChecks
endif
endif
ifeq ($(OS_TARGET),darwin)
DBG_OPTIONS=-gw
endif
[compiler]
options=-gl -Sic $(LCL_DISABLE_CHECKS) $(DBG_OPTIONS)
unittargetdir=units/$(CPU_TARGET)-$(OS_TARGET)
unitdir=../packager/units/$(CPU_TARGET)-$(OS_TARGET) ../components/lazutils/lib/$(CPU_TARGET)-$(OS_TARGET) ../components/freetype/lib/$(CPU_TARGET)-$(OS_TARGET) . $(NONWIN32) forms widgetset
includedir=include
[install]
#buildunit=alllclunits
[clean]
# clear all .ppu/.o/.rst files in all source and output directories
files=$(wildcard $(COMPILER_UNITTARGETDIR)/*$(OEXT)) \
$(wildcard $(COMPILER_UNITTARGETDIR)/*$(PPUEXT)) \
$(wildcard $(COMPILER_UNITTARGETDIR)/*$(RSTEXT)) \
$(wildcard $(COMPILER_UNITTARGETDIR)/*.lfm) \
$(wildcard $(COMPILER_UNITTARGETDIR)/*.res) \
$(wildcard $(COMPILER_UNITTARGETDIR)/*.compiled) \
$(wildcard ./units/*$(OEXT)) $(wildcard ./units/*$(PPUEXT)) $(wildcard ./units/*$(RSTEXT)) \
$(wildcard widgetset/*$(OEXT)) $(wildcard widgetset/*$(PPUEXT)) $(wildcard widgetset/*$(RSTEXT))\
$(wildcard *$(OEXT)) $(wildcard *$(PPUEXT)) $(wildcard *$(RSTEXT))
[default]
lcldir=.
[rules]
.PHONY: help cleartarget lclbase compiled all intf cleanintf cleanlaz cleanall
help:
@$(ECHO)
@$(ECHO) " Important: the LCL requires packager/registration, components/lazutils, and components/freetype"
@$(ECHO)
@$(ECHO) " Targets"
@$(ECHO) " all build lclbase and one interface"
@$(ECHO) " clean deletes files that 'all' creates"
@$(ECHO) " lclbase build lclbase"
@$(ECHO) " intf build one lcl interface, selectable via LCL_PLATFORM"
@$(ECHO) " cleanintf delete files that 'intf' creates"
@$(ECHO) " cleanall as 'clean' plus clean for all common interfaces."
@$(ECHO) " Does not clean up cross compiled interfaces."
@$(ECHO)
@$(ECHO) " Examples:"
@$(ECHO)
@$(ECHO) " Compile the lcl with the default interface:"
@$(ECHO) " make clean all"
@$(ECHO)
@$(ECHO) " Compile the interface for the qt widgetset:"
@$(ECHO) " make cleanintf intf LCL_PLATFORM=qt"
@$(ECHO)
@$(ECHO) "Clean up:"
@$(ECHO) " There is no command to clean up all interfaces."
@$(ECHO) " In most cases it is enough to delete the 'units' directory."
@$(ECHO)
cleartarget:
-$(DEL) $(COMPILER_UNITTARGETDIR)/alllclunits$(PPUEXT)
lclbase: cleartarget $(COMPILER_UNITTARGETDIR) alllclunits$(PPUEXT) compiled
compiled:
$(CPPROG) -f $(STATEFILE) $(COMPILER_UNITTARGETDIR)/LCLBase.compiled
intf: $(TARGET_DIRS)
cleanintf:
$(MAKE) -C interfaces clean
all: lclbase compiled intf
cleanlaz: cleanall
cleanall: clean
$(MAKE) -C interfaces clean
$(MAKE) -C interfaces/carbon clean
$(MAKE) -C interfaces/cocoa clean
$(MAKE) -C interfaces/customdrawn clean
$(MAKE) -C interfaces/fpgui clean
$(MAKE) -C interfaces/gtk clean
$(MAKE) -C interfaces/gtk2 clean
$(MAKE) -C interfaces/gtk3 clean
$(MAKE) -C interfaces/nogui clean
$(MAKE) -C interfaces/qt clean
$(MAKE) -C interfaces/win32 clean
$(MAKE) -C interfaces/wince clean
$(MAKE) -C interfaces/mui clean
distclean: clean
${DELTREE} units/*