# # Don't edit, this file is generated by FPCMake Version 1.1 [2002/05/01] # default: help MAKEFILETARGETS=linux go32v2 win32 os2 freebsd beos netbsd amiga atari sunos qnx netware override PATH:=$(subst \,/,$(PATH)) ifeq ($(findstring ;,$(PATH)),) inUnix=1 SEARCHPATH:=$(filter-out .,$(subst :, ,$(PATH))) else SEARCHPATH:=$(subst ;, ,$(PATH)) endif PWD:=$(strip $(wildcard $(addsuffix /pwd.exe,$(SEARCHPATH)))) ifeq ($(PWD),) PWD:=$(strip $(wildcard $(addsuffix /pwd,$(SEARCHPATH)))) ifeq ($(PWD),) $(error You need the GNU utils package to use this Makefile) else PWD:=$(firstword $(PWD)) SRCEXEEXT= endif else PWD:=$(firstword $(PWD)) SRCEXEEXT=.exe endif ifndef inUnix ifeq ($(OS),Windows_NT) inWinNT=1 else ifdef OS2_SHELL inOS2=1 endif endif else ifneq ($(findstring cygwin,$(MACHTYPE)),) inCygWin=1 endif endif ifeq ($(OS_TARGET),freebsd) BSDhier=1 endif ifeq ($(OS_TARGET),netbsd) BSDhier=1 endif ifdef inUnix BATCHEXT=.sh else ifdef inOS2 BATCHEXT=.cmd else BATCHEXT=.bat endif endif ifdef inUnix PATHSEP=/ else PATHSEP:=$(subst /,\,/) endif ifdef PWD BASEDIR:=$(subst \,/,$(shell $(PWD))) ifdef inCygWin ifneq ($(findstring /cygdrive/,$(BASEDIR)),) BASENODIR:=$(patsubst /cygdrive%,%,$(BASEDIR)) BASEDRIVE:=$(firstword $(subst /, ,$(BASENODIR))) BASEDIR:=$(subst /cygdrive/$(BASEDRIVE)/,$(BASEDRIVE):/,$(BASEDIR)) endif endif else BASEDIR=. endif ifdef inOS2 ifndef ECHO ECHO:=$(strip $(wildcard $(addsuffix /gecho$(SRCEXEEXT),$(SEARCHPATH)))) ifeq ($(ECHO),) ECHO:=$(strip $(wildcard $(addsuffix /echo$(SRCEXEEXT),$(SEARCHPATH)))) ifeq ($(ECHO),) ECHO=echo else ECHO:=$(firstword $(ECHO)) endif else ECHO:=$(firstword $(ECHO)) endif endif export ECHO endif override DEFAULT_FPCDIR=. ifndef FPC ifdef PP FPC=$(PP) endif endif ifndef FPC FPCPROG:=$(strip $(wildcard $(addsuffix /fpc$(SRCEXEEXT),$(SEARCHPATH)))) ifneq ($(FPCPROG),) FPCPROG:=$(firstword $(FPCPROG)) FPC:=$(shell $(FPCPROG) -PB) ifneq ($(findstring Error,$(FPC)),) override FPC=ppc386 endif else override FPC=ppc386 endif endif override FPC:=$(subst $(SRCEXEEXT),,$(FPC)) override FPC:=$(subst \,/,$(FPC))$(SRCEXEEXT) ifndef FPC_VERSION FPC_VERSION:=$(shell $(FPC) -iV) endif export FPC FPC_VERSION unexport CHECKDEPEND ALLDEPENDENCIES ifeq ($(findstring 1.0.,$(FPC_VERSION)),) COMPILERINFO:=$(shell $(FPC) -iSP -iTP -iSO -iTO) ifndef CPU_SOURCE CPU_SOURCE:=$(word 1,$(COMPILERINFO)) endif ifndef CPU_TARGET CPU_TARGET:=$(word 2,$(COMPILERINFO)) endif ifndef OS_SOURCE OS_SOURCE:=$(word 3,$(COMPILERINFO)) endif ifndef OS_TARGET OS_TARGET:=$(word 4,$(COMPILERINFO)) endif else ifndef CPU_SOURCE CPU_SOURCE:=$(shell $(FPC) -iSP) endif ifndef CPU_TARGET CPU_TARGET:=$(shell $(FPC) -iTP) endif ifndef OS_SOURCE OS_SOURCE:=$(shell $(FPC) -iSO) endif ifndef OS_TARGET OS_TARGET:=$(shell $(FPC) -iTO) endif endif FULL_TARGET=$(CPU_TARGET)-$(OS_TARGET) FULL_SOURCE=$(CPU_SOURCE)-$(OS_SOURCE) ifneq ($(FULL_TARGET),$(FULL_SOURCE)) CROSSCOMPILE=1 endif ifeq ($(findstring makefile,$(MAKECMDGOALS)),) ifeq ($(findstring $(OS_TARGET),$(MAKEFILETARGETS)),) $(error The Makefile doesn't support target $(OS_TARGET), please run fpcmake first) endif endif export OS_TARGET OS_SOURCE CPU_TARGET CPU_SOURCE FULL_TARGET FULL_SOURCE CROSSCOMPILE ifdef FPCDIR override FPCDIR:=$(subst \,/,$(FPCDIR)) ifeq ($(wildcard $(addprefix $(FPCDIR)/,rtl units)),) override FPCDIR=wrong endif else override FPCDIR=wrong endif ifdef DEFAULT_FPCDIR ifeq ($(FPCDIR),wrong) override FPCDIR:=$(subst \,/,$(DEFAULT_FPCDIR)) ifeq ($(wildcard $(addprefix $(FPCDIR)/,rtl units)),) override FPCDIR=wrong endif endif endif ifeq ($(FPCDIR),wrong) ifdef inUnix override FPCDIR=/usr/local/lib/fpc/$(FPC_VERSION) ifeq ($(wildcard $(FPCDIR)/units),) override FPCDIR=/usr/lib/fpc/$(FPC_VERSION) endif else override FPCDIR:=$(subst /$(FPC),,$(firstword $(strip $(wildcard $(addsuffix /$(FPC),$(SEARCHPATH)))))) override FPCDIR:=$(FPCDIR)/.. ifeq ($(wildcard $(addprefix $(FPCDIR)/,rtl units)),) override FPCDIR:=$(FPCDIR)/.. ifeq ($(wildcard $(addprefix $(FPCDIR)/,rtl units)),) override FPCDIR=c:/pp endif endif endif endif ifndef CROSSDIR CROSSDIR:=$(FPCDIR)/cross/$(FULL_TARGET) endif ifndef CROSSTARGETDIR CROSSTARGETDIR=$(CROSSDIR)/$(FULL_TARGET) endif ifdef CROSSCOMPILE UNITSDIR:=$(wildcard $(CROSSTARGETDIR)/units) ifeq ($(UNITSDIR),) UNITSDIR:=$(wildcard $(FPCDIR)/units/$(OS_TARGET)) endif else UNITSDIR:=$(wildcard $(FPCDIR)/units/$(OS_TARGET)) endif PACKAGESDIR:=$(wildcard $(FPCDIR) $(FPCDIR)/packages/base $(FPCDIR)/packages/extra) override PACKAGE_NAME=fpc override PACKAGE_VERSION=1.0.6 ifndef inOS2 override FPCDIR:=$(BASEDIR) export FPCDIR endif ifndef PPNEW ifeq ($(CPU_TARGET),m68k) PPSUF=68k endif ifeq ($(CPU_TARGET),i386) PPSUF=386 endif ifeq ($(CPU_TARGET),powerpc) PPSUF=ppc endif ifeq ($(CPU_TARGET),alpha) PPSUF=axp endif ifneq ($(OS_TARGET),$(OS_SOURCE)) PPPRE=ppcross else ifneq ($(CPU_TARGET),$(CPU_SOURCE)) PPPRE=ppcross else PPPRE=ppc endif endif PPNEW=$(BASEDIR)/compiler/$(PPPRE)$(PPSUF)$(SRCEXEEXT) endif ifneq ($(wildcard install),) CVSINSTALL=install else CVSINSTALL=. endif ifdef SNAPSHOT INSTALLTARGET=install else INSTALLTARGET=distinstall endif ifdef SNAPSHOT ALLTARGET=all else ifndef ALLTARGET ifeq ($(OS_TARGET),win32) ALLTARGET=smart else ifeq ($(OS_TARGET),go32v2) ALLTARGET=smart else ifeq ($(OS_TARGET),linux) ALLTARGET=smart else ifeq ($(OS_TARGET),freebsd) ALLTARGET=smart else ALLTARGET=all endif endif endif endif endif endif ifdef SNAPSHOT NOSTOP=- else NOSTOP= endif ifeq ($(OS_TARGET),linux) PKGPRE=units else ifeq ($(OS_TARGET),freebsd) PKGPRE=units else PKGPRE=u endif endif override RELEASE=1 export RELEASE ifndef DIST_DESTDIR export DIST_DESTDIR:=$(BASEDIR) endif BASEPACKDIR=$(BASEDIR)/basepack FPCMAKENEW=$(BASEDIR)/utils/fpcm/fpcmake$(EXEEXT) BUILDOPTS=FPC=$(PPNEW) RELEASE=1 INSTALLOPTS=FPC=$(PPNEW) ZIPDESTDIR=$(BASEDIR) FPCMAKE=$(FPCMAKENEW) ifneq ($(wildcard ide),) ifneq ($(wildcard fv),) ifeq ($(OS_TARGET),go32v2) IDE=1 endif ifeq ($(OS_TARGET),win32) IDE=1 endif ifeq ($(OS_TARGET),linux) IDE=1 endif endif endif override TARGET_DIRS+=compiler rtl utils fcl fv packages ide installer override INSTALL_FPCPACKAGE=y ifdef REQUIRE_UNITSDIR override UNITSDIR+=$(REQUIRE_UNITSDIR) endif ifdef REQUIRE_PACKAGESDIR override PACKAGESDIR+=$(REQUIRE_PACKAGESDIR) endif ifdef ZIPINSTALL ifeq ($(OS_TARGET),linux) UNIXINSTALLDIR=1 endif ifeq ($(OS_TARGET),freebsd) UNIXINSTALLDIR=1 endif ifeq ($(OS_TARGET),netbsd) UNIXINSTALLDIR=1 endif ifeq ($(OS_TARGET),sunos) UNIXINSTALLDIR=1 endif ifeq ($(OS_TARGET),qnx) UNIXINSTALLDIR=1 endif else ifeq ($(OS_SOURCE),linux) UNIXINSTALLDIR=1 endif ifeq ($(OS_SOURCE),freebsd) UNIXINSTALLDIR=1 endif ifeq ($(OS_SOURCE),netbsd) UNIXINSTALLDIR=1 endif ifeq ($(OS_TARGET),sunos) UNIXINSTALLDIR=1 endif ifeq ($(OS_TARGET),qnx) UNIXINSTALLDIR=1 endif endif ifndef INSTALL_PREFIX ifdef PREFIX INSTALL_PREFIX=$(PREFIX) endif endif ifndef INSTALL_PREFIX ifdef UNIXINSTALLDIR INSTALL_PREFIX=/usr/local else ifdef INSTALL_FPCPACKAGE INSTALL_BASEDIR:=/pp else INSTALL_BASEDIR:=/$(PACKAGE_NAME) endif endif endif export INSTALL_PREFIX ifdef INSTALL_FPCSUBDIR export INSTALL_FPCSUBDIR endif ifndef DIST_DESTDIR DIST_DESTDIR:=$(BASEDIR) endif export DIST_DESTDIR ifndef INSTALL_BASEDIR ifdef UNIXINSTALLDIR ifdef INSTALL_FPCPACKAGE INSTALL_BASEDIR:=$(INSTALL_PREFIX)/lib/fpc/$(FPC_VERSION) else INSTALL_BASEDIR:=$(INSTALL_PREFIX)/lib/$(PACKAGE_NAME) endif else INSTALL_BASEDIR:=$(INSTALL_PREFIX) endif endif ifndef INSTALL_BINDIR ifdef UNIXINSTALLDIR INSTALL_BINDIR:=$(INSTALL_PREFIX)/bin else INSTALL_BINDIR:=$(INSTALL_BASEDIR)/bin ifdef INSTALL_FPCPACKAGE INSTALL_BINDIR:=$(INSTALL_BINDIR)/$(OS_TARGET) endif endif endif ifndef INSTALL_UNITDIR ifdef CROSSCOMPILE INSTALL_UNITDIR:=$(INSTALL_BASEDIR)/cross/$(FULL_TARGET)/units else INSTALL_UNITDIR:=$(INSTALL_BASEDIR)/units/$(OS_TARGET) endif ifdef INSTALL_FPCPACKAGE ifdef PACKAGE_NAME INSTALL_UNITDIR:=$(INSTALL_UNITDIR)/$(PACKAGE_NAME) endif endif endif ifndef INSTALL_LIBDIR ifdef UNIXINSTALLDIR INSTALL_LIBDIR:=$(INSTALL_PREFIX)/lib else INSTALL_LIBDIR:=$(INSTALL_UNITDIR) endif endif ifndef INSTALL_SOURCEDIR ifdef UNIXINSTALLDIR ifdef BSDhier SRCPREFIXDIR=share/src else SRCPREFIXDIR=src endif ifdef INSTALL_FPCPACKAGE ifdef INSTALL_FPCSUBDIR INSTALL_SOURCEDIR:=$(INSTALL_PREFIX)/$(SRCPREFIXDIR)/fpc-$(FPC_VERSION)/$(INSTALL_FPCSUBDIR)/$(PACKAGE_NAME) else INSTALL_SOURCEDIR:=$(INSTALL_PREFIX)/$(SRCPREFIXDIR)/fpc-$(FPC_VERSION)/$(PACKAGE_NAME) endif else INSTALL_SOURCEDIR:=$(INSTALL_PREFIX)/$(SRCPREFIXDIR)/$(PACKAGE_NAME)-$(PACKAGE_VERSION) endif else ifdef INSTALL_FPCPACKAGE ifdef INSTALL_FPCSUBDIR INSTALL_SOURCEDIR:=$(INSTALL_BASEDIR)/source/$(INSTALL_FPCSUBDIR)/$(PACKAGE_NAME) else INSTALL_SOURCEDIR:=$(INSTALL_BASEDIR)/source/$(PACKAGE_NAME) endif else INSTALL_SOURCEDIR:=$(INSTALL_BASEDIR)/source endif endif endif ifndef INSTALL_DOCDIR ifdef UNIXINSTALLDIR ifdef BSDhier DOCPREFIXDIR=share/doc else DOCPREFIXDIR=doc endif ifdef INSTALL_FPCPACKAGE INSTALL_DOCDIR:=$(INSTALL_PREFIX)/$(DOCPREFIXDIR)/fpc-$(FPC_VERSION)/$(PACKAGE_NAME) else INSTALL_DOCDIR:=$(INSTALL_PREFIX)/$(DOCPREFIXDIR)/$(PACKAGE_NAME)-$(PACKAGE_VERSION) endif else ifdef INSTALL_FPCPACKAGE INSTALL_DOCDIR:=$(INSTALL_BASEDIR)/doc/$(PACKAGE_NAME) else INSTALL_DOCDIR:=$(INSTALL_BASEDIR)/doc endif endif endif ifndef INSTALL_EXAMPLEDIR ifdef UNIXINSTALLDIR ifdef INSTALL_FPCPACKAGE ifdef BSDhier INSTALL_EXAMPLEDIR:=$(INSTALL_PREFIX)/share/examples/fpc-$(FPC_VERSION)/$(PACKAGE_NAME) else INSTALL_EXAMPLEDIR:=$(INSTALL_PREFIX)/doc/fpc-$(FPC_VERSION)/examples/$(PACKAGE_NAME) endif else ifdef BSDhier INSTALL_EXAMPLEDIR:=$(INSTALL_PREFIX)/share/examples/$(PACKAGE_NAME)-$(PACKAGE_VERSION) else INSTALL_EXAMPLEDIR:=$(INSTALL_PREFIX)/doc/$(PACKAGE_NAME)-$(PACKAGE_VERSION) endif endif else ifdef INSTALL_FPCPACKAGE INSTALL_EXAMPLEDIR:=$(INSTALL_BASEDIR)/examples/$(PACKAGE_NAME) else INSTALL_EXAMPLEDIR:=$(INSTALL_BASEDIR)/examples endif endif endif ifndef INSTALL_DATADIR INSTALL_DATADIR=$(INSTALL_BASEDIR) endif ifdef CROSSCOMPILE ifndef CROSSBINDIR CROSSBINDIR:=$(wildcard $(CROSSTARGETDIR)/bin/$(FULL_SOURCE)) ifeq ($(CROSSBINDIR),) CROSSBINDIR:=$(wildcard $(INSTALL_BASEDIR)/cross/$(FULL_TARGET)/bin/$(FULL_SOURCE)) endif endif else CROSSBINDIR= endif LOADEREXT=.as EXEEXT=.exe PPLEXT=.ppl PPUEXT=.ppu OEXT=.o ASMEXT=.s SMARTEXT=.sl STATICLIBEXT=.a SHAREDLIBEXT=.so STATICLIBPREFIX=libp RSTEXT=.rst FPCMADE=fpcmade ifeq ($(OS_TARGET),go32v1) PPUEXT=.pp1 OEXT=.o1 ASMEXT=.s1 SMARTEXT=.sl1 STATICLIBEXT=.a1 SHAREDLIBEXT=.so1 STATICLIBPREFIX= FPCMADE=fpcmade.v1 PACKAGESUFFIX=v1 endif ifeq ($(OS_TARGET),go32v2) STATICLIBPREFIX= FPCMADE=fpcmade.dos ZIPSUFFIX=go32 endif ifeq ($(OS_TARGET),linux) EXEEXT= HASSHAREDLIB=1 FPCMADE=fpcmade.lnx ZIPSUFFIX=linux endif ifeq ($(OS_TARGET),freebsd) EXEEXT= HASSHAREDLIB=1 FPCMADE=fpcmade.freebsd ZIPSUFFIX=freebsd endif ifeq ($(OS_TARGET),netbsd) EXEEXT= HASSHAREDLIB=1 FPCMADE=fpcmade.netbsd ZIPSUFFIX=netbsd endif ifeq ($(OS_TARGET),win32) PPUEXT=.ppw OEXT=.ow ASMEXT=.sw SMARTEXT=.slw STATICLIBEXT=.aw SHAREDLIBEXT=.dll FPCMADE=fpcmade.w32 ZIPSUFFIX=w32 endif ifeq ($(OS_TARGET),os2) PPUEXT=.ppo ASMEXT=.so2 OEXT=.oo2 AOUTEXT=.out SMARTEXT=.sl2 STATICLIBPREFIX= STATICLIBEXT=.ao2 SHAREDLIBEXT=.dll FPCMADE=fpcmade.os2 ZIPSUFFIX=emx ECHO=echo endif ifeq ($(OS_TARGET),amiga) EXEEXT= PPUEXT=.ppu ASMEXT=.asm OEXT=.o SMARTEXT=.sl STATICLIBEXT=.a SHAREDLIBEXT=.library FPCMADE=fpcmade.amg endif ifeq ($(OS_TARGET),atari) PPUEXT=.ppu ASMEXT=.s OEXT=.o SMARTEXT=.sl STATICLIBEXT=.a EXEEXT=.ttp FPCMADE=fpcmade.ata endif ifeq ($(OS_TARGET),beos) PPUEXT=.ppu ASMEXT=.s OEXT=.o SMARTEXT=.sl STATICLIBEXT=.a EXEEXT= FPCMADE=fpcmade.be ZIPSUFFIX=be endif ifeq ($(OS_TARGET),sunos) PPUEXT=.ppu ASMEXT=.s OEXT=.o SMARTEXT=.sl STATICLIBEXT=.a EXEEXT= FPCMADE=fpcmade.sun ZIPSUFFIX=sun endif ifeq ($(OS_TARGET),qnx) PPUEXT=.ppu ASMEXT=.s OEXT=.o SMARTEXT=.sl STATICLIBEXT=.a EXEEXT= FPCMADE=fpcmade.qnx ZIPSUFFIX=qnx endif ifeq ($(OS_TARGET),netware) STATICLIBPREFIX= PPUEXT=.ppn OEXT=.on ASMEXT=.s SMARTEXT=.sl STATICLIBEXT=.a SHAREDLIBEXT=.nlm FPCMADE=fpcmade.nw ZIPSUFFIX=nw EXEEXT=.nlm endif ifndef ECHO ECHO:=$(strip $(wildcard $(addsuffix /gecho$(SRCEXEEXT),$(SEARCHPATH)))) ifeq ($(ECHO),) ECHO:=$(strip $(wildcard $(addsuffix /echo$(SRCEXEEXT),$(SEARCHPATH)))) ifeq ($(ECHO),) ECHO= else ECHO:=$(firstword $(ECHO)) endif else ECHO:=$(firstword $(ECHO)) endif endif export ECHO ifndef DATE DATE:=$(strip $(wildcard $(addsuffix /gdate$(SRCEXEEXT),$(SEARCHPATH)))) ifeq ($(DATE),) DATE:=$(strip $(wildcard $(addsuffix /date$(SRCEXEEXT),$(SEARCHPATH)))) ifeq ($(DATE),) DATE= else DATE:=$(firstword $(DATE)) endif else DATE:=$(firstword $(DATE)) endif endif export DATE ifndef GINSTALL GINSTALL:=$(strip $(wildcard $(addsuffix /ginstall$(SRCEXEEXT),$(SEARCHPATH)))) ifeq ($(GINSTALL),) GINSTALL:=$(strip $(wildcard $(addsuffix /install$(SRCEXEEXT),$(SEARCHPATH)))) ifeq ($(GINSTALL),) GINSTALL= else GINSTALL:=$(firstword $(GINSTALL)) endif else GINSTALL:=$(firstword $(GINSTALL)) endif endif export GINSTALL ifndef CPPROG CPPROG:=$(strip $(wildcard $(addsuffix /cp$(SRCEXEEXT),$(SEARCHPATH)))) ifeq ($(CPPROG),) CPPROG= else CPPROG:=$(firstword $(CPPROG)) endif endif export CPPROG ifndef RMPROG RMPROG:=$(strip $(wildcard $(addsuffix /rm$(SRCEXEEXT),$(SEARCHPATH)))) ifeq ($(RMPROG),) RMPROG= else RMPROG:=$(firstword $(RMPROG)) endif endif export RMPROG ifndef MVPROG MVPROG:=$(strip $(wildcard $(addsuffix /mv$(SRCEXEEXT),$(SEARCHPATH)))) ifeq ($(MVPROG),) MVPROG= else MVPROG:=$(firstword $(MVPROG)) endif endif export MVPROG ifndef ECHOREDIR ECHOREDIR:=$(subst /,$(PATHSEP),$(ECHO)) endif ifndef COPY COPY:=$(CPPROG) -fp endif ifndef COPYTREE COPYTREE:=$(CPPROG) -rfp endif ifndef MOVE MOVE:=$(MVPROG) -f endif ifndef DEL DEL:=$(RMPROG) -f endif ifndef DELTREE DELTREE:=$(RMPROG) -rf endif ifndef INSTALL ifdef inUnix INSTALL:=$(GINSTALL) -c -m 644 else INSTALL:=$(COPY) endif endif ifndef INSTALLEXE ifdef inUnix INSTALLEXE:=$(GINSTALL) -c -m 755 else INSTALLEXE:=$(COPY) endif endif ifndef MKDIR MKDIR:=$(GINSTALL) -m 755 -d endif export ECHOREDIR COPY COPYTREE MOVE DEL DELTREE INSTALL INSTALLEXE MKDIR ifndef PPUMOVE PPUMOVE:=$(strip $(wildcard $(addsuffix /ppumove$(SRCEXEEXT),$(SEARCHPATH)))) ifeq ($(PPUMOVE),) PPUMOVE= else PPUMOVE:=$(firstword $(PPUMOVE)) endif endif export PPUMOVE ifndef FPCMAKE FPCMAKE:=$(strip $(wildcard $(addsuffix /fpcmake$(SRCEXEEXT),$(SEARCHPATH)))) ifeq ($(FPCMAKE),) FPCMAKE= else FPCMAKE:=$(firstword $(FPCMAKE)) endif endif export FPCMAKE ifndef ZIPPROG ZIPPROG:=$(strip $(wildcard $(addsuffix /zip$(SRCEXEEXT),$(SEARCHPATH)))) ifeq ($(ZIPPROG),) ZIPPROG= else ZIPPROG:=$(firstword $(ZIPPROG)) endif endif export ZIPPROG ifndef TARPROG TARPROG:=$(strip $(wildcard $(addsuffix /tar$(SRCEXEEXT),$(SEARCHPATH)))) ifeq ($(TARPROG),) TARPROG= else TARPROG:=$(firstword $(TARPROG)) endif endif export TARPROG ASNAME=as LDNAME=ld ARNAME=ar RCNAME=rc ifeq ($(OS_TARGET),win32) ASNAME=asw LDNAME=ldw ARNAME=arw endif ifndef ASPROG ifdef CROSSBINDIR ASPROG=$(CROSSBINDIR)/$(ASNAME)$(SRCEXEEXT) else ASPROG=$(ASNAME) endif endif ifndef LDPROG ifdef CROSSBINDIR LDPROG=$(CROSSBINDIR)/$(LDNAME)$(SRCEXEEXT) else LDPROG=$(LDNAME) endif endif ifndef RCPROG ifdef CROSSBINDIR RCPROG=$(CROSSBINDIR)/$(RCNAME)$(SRCEXEEXT) else RCPROG=$(RCNAME) endif endif ifndef ARPROG ifdef CROSSBINDIR ARPROG=$(CROSSBINDIR)/$(ARNAME)$(SRCEXEEXT) else ARPROG=$(ARNAME) endif endif AS=$(ASPROG) LD=$(LDPROG) RC=$(RCPROG) AR=$(ARPROG) PPAS=ppas$(BATCHEXT) ifdef inUnix LDCONFIG=ldconfig else LDCONFIG= endif ifdef DATE DATESTR:=$(shell $(DATE) +%Y%m%d) else DATESTR= endif ifndef UPXPROG ifeq ($(OS_TARGET),go32v2) UPXPROG:=1 endif ifeq ($(OS_TARGET),win32) UPXPROG:=1 endif ifdef UPXPROG UPXPROG:=$(strip $(wildcard $(addsuffix /upx$(SRCEXEEXT),$(SEARCHPATH)))) ifeq ($(UPXPROG),) UPXPROG= else UPXPROG:=$(firstword $(UPXPROG)) endif else UPXPROG= endif endif export UPXPROG ZIPOPT=-9 ZIPEXT=.zip ifeq ($(USETAR),bz2) TAROPT=vI TAREXT=.tar.bz2 else TAROPT=vz TAREXT=.tar.gz endif ifndef NOCPUDEF override FPCOPTDEF=$(CPU_TARGET) endif ifneq ($(OS_TARGET),$(OS_SOURCE)) override FPCOPT+=-T$(OS_TARGET) endif ifdef UNITDIR override FPCOPT+=$(addprefix -Fu,$(UNITDIR)) endif ifdef LIBDIR override FPCOPT+=$(addprefix -Fl,$(LIBDIR)) endif ifdef OBJDIR override FPCOPT+=$(addprefix -Fo,$(OBJDIR)) endif ifdef INCDIR override FPCOPT+=$(addprefix -Fi,$(INCDIR)) endif ifdef LINKSMART override FPCOPT+=-XX endif ifdef CREATESMART override FPCOPT+=-CX endif ifdef DEBUG override FPCOPT+=-gl override FPCOPTDEF+=DEBUG endif ifdef RELEASE ifeq ($(CPU_TARGET),i386) FPCCPUOPT:=-OG2p3 else FPCCPUOPT:= endif override FPCOPT+=-Xs $(FPCCPUOPT) -n override FPCOPTDEF+=RELEASE endif ifdef STRIP override FPCOPT+=-Xs endif ifdef OPTIMIZE ifeq ($(CPU_TARGET),i386) override FPCOPT+=-OG2p3 endif endif ifdef VERBOSE override FPCOPT+=-vwni endif ifdef COMPILER_OPTIONS override FPCOPT+=$(COMPILER_OPTIONS) endif ifdef COMPILER_UNITDIR override FPCOPT+=$(addprefix -Fu,$(COMPILER_UNITDIR)) endif ifdef COMPILER_LIBRARYDIR override FPCOPT+=$(addprefix -Fl,$(COMPILER_LIBRARYDIR)) endif ifdef COMPILER_OBJECTDIR override FPCOPT+=$(addprefix -Fo,$(COMPILER_OBJECTDIR)) endif ifdef COMPILER_INCLUDEDIR override FPCOPT+=$(addprefix -Fi,$(COMPILER_INCLUDEDIR)) endif ifdef CROSSBINDIR override FPCOPT+=-FD$(CROSSBINDIR) endif ifdef COMPILER_TARGETDIR override FPCOPT+=-FE$(COMPILER_TARGETDIR) ifeq ($(COMPILER_TARGETDIR),.) override TARGETDIRPREFIX= else override TARGETDIRPREFIX=$(COMPILER_TARGETDIR)/ endif endif ifdef COMPILER_UNITTARGETDIR override FPCOPT+=-FU$(COMPILER_UNITTARGETDIR) ifeq ($(COMPILER_UNITTARGETDIR),.) override UNITTARGETDIRPREFIX= else override UNITTARGETDIRPREFIX=$(COMPILER_UNITTARGETDIR)/ endif else ifdef COMPILER_TARGETDIR override COMPILER_UNITTARGETDIR=$(COMPILER_TARGETDIR) override UNITTARGETDIRPREFIX=$(TARGETDIRPREFIX) endif endif ifdef OPT override FPCOPT+=$(OPT) endif ifdef FPCOPTDEF override FPCOPT+=$(addprefix -d,$(FPCOPTDEF)) endif ifdef CFGFILE override FPCOPT+=@$(CFGFILE) endif ifdef USEENV override FPCEXTCMD:=$(FPCOPT) override FPCOPT:=!FPCEXTCMD export FPCEXTCMD endif override COMPILER:=$(FPC) $(FPCOPT) ifeq (,$(findstring -s ,$(COMPILER))) EXECPPAS= else ifeq ($(OS_SOURCE),$(OS_TARGET)) EXECPPAS:=@$(PPAS) endif endif ifdef TARGET_RSTS override RSTFILES=$(addsuffix $(RSTEXT),$(TARGET_RSTS)) override CLEANRSTFILES+=$(RSTFILES) endif .PHONY: fpc_install fpc_sourceinstall fpc_exampleinstall ifdef INSTALL_UNITS override INSTALLPPUFILES+=$(addsuffix $(PPUEXT),$(INSTALL_UNITS)) endif ifdef INSTALL_BUILDUNIT override INSTALLPPUFILES:=$(filter-out $(INSTALL_BUILDUNIT)$(PPUEXT),$(INSTALLPPUFILES)) endif ifdef INSTALLPPUFILES override INSTALLPPULINKFILES:=$(subst $(PPUEXT),$(OEXT),$(INSTALLPPUFILES)) $(addprefix $(STATICLIBPREFIX),$(subst $(PPUEXT),$(STATICLIBEXT),$(INSTALLPPUFILES))) override INSTALLPPUFILES:=$(addprefix $(UNITTARGETDIRPREFIX),$(INSTALLPPUFILES)) override INSTALLPPULINKFILES:=$(wildcard $(addprefix $(UNITTARGETDIRPREFIX),$(INSTALLPPULINKFILES))) override INSTALL_CREATEPACKAGEFPC=1 endif ifdef INSTALLEXEFILES override INSTALLEXEFILES:=$(addprefix $(TARGETDIRPREFIX),$(INSTALLEXEFILES)) endif fpc_install: all $(INSTALLTARGET) ifdef INSTALLEXEFILES $(MKDIR) $(INSTALL_BINDIR) ifdef UPXPROG -$(UPXPROG) $(INSTALLEXEFILES) endif $(INSTALLEXE) $(INSTALLEXEFILES) $(INSTALL_BINDIR) endif ifdef INSTALL_CREATEPACKAGEFPC ifdef FPCMAKE ifdef PACKAGE_VERSION ifneq ($(wildcard Makefile.fpc),) $(FPCMAKE) -p -T$(OS_TARGET) Makefile.fpc $(MKDIR) $(INSTALL_UNITDIR) $(INSTALL) Package.fpc $(INSTALL_UNITDIR) endif endif endif endif ifdef INSTALLPPUFILES $(MKDIR) $(INSTALL_UNITDIR) $(INSTALL) $(INSTALLPPUFILES) $(INSTALL_UNITDIR) ifneq ($(INSTALLPPULINKFILES),) $(INSTALL) $(INSTALLPPULINKFILES) $(INSTALL_UNITDIR) endif ifneq ($(wildcard $(LIB_FULLNAME)),) $(MKDIR) $(INSTALL_LIBDIR) $(INSTALL) $(LIB_FULLNAME) $(INSTALL_LIBDIR) ifdef inUnix ln -sf $(LIB_FULLNAME) $(INSTALL_LIBDIR)/$(LIB_NAME) endif endif endif ifdef INSTALL_FILES $(MKDIR) $(INSTALL_DATADIR) $(INSTALL) $(INSTALL_FILES) $(INSTALL_DATADIR) endif fpc_sourceinstall: distclean $(MKDIR) $(INSTALL_SOURCEDIR) $(COPYTREE) $(BASEDIR)/* $(INSTALL_SOURCEDIR) fpc_exampleinstall: $(addsuffix _distclean,$(TARGET_EXAMPLEDIRS)) ifdef HASEXAMPLES $(MKDIR) $(INSTALL_EXAMPLEDIR) endif ifdef EXAMPLESOURCEFILES $(COPY) $(EXAMPLESOURCEFILES) $(INSTALL_EXAMPLEDIR) endif ifdef TARGET_EXAMPLEDIRS $(COPYTREE) $(addsuffix /*,$(TARGET_EXAMPLEDIRS)) $(INSTALL_EXAMPLEDIR) endif .PHONY: fpc_distinstall fpc_distinstall: install exampleinstall .PHONY: fpc_zipinstall fpc_zipsourceinstall fpc_zipexampleinstall ifndef PACKDIR ifndef inUnix PACKDIR=$(BASEDIR)/../fpc-pack else PACKDIR=/tmp/fpc-pack endif endif ifndef ZIPNAME ifdef DIST_ZIPNAME ZIPNAME=$(DIST_ZIPNAME) else ZIPNAME=$(ZIPPREFIX)$(PACKAGE_NAME)$(ZIPSUFFIX) endif endif ifndef ZIPTARGET ifdef DIST_ZIPTARGET ZIPTARGET=DIST_ZIPTARGET else ZIPTARGET=install endif endif ifndef USEZIP ifdef inUnix USETAR=1 endif endif ifndef inUnix USEZIPWRAPPER=1 endif ifdef USEZIPWRAPPER ZIPPATHSEP=$(PATHSEP) ZIPWRAPPER=$(subst /,$(PATHSEP),$(DIST_DESTDIR)/fpczip$(BATCHEXT)) else ZIPPATHSEP=/ endif ZIPCMD_CDPACK:=cd $(subst /,$(ZIPPATHSEP),$(PACKDIR)) ZIPCMD_CDBASE:=cd $(subst /,$(ZIPPATHSEP),$(BASEDIR)) ifdef USETAR ZIPDESTFILE:=$(DIST_DESTDIR)/$(ZIPNAME)$(TAREXT) ZIPCMD_ZIP:=$(TARPROG) cf$(TAROPT) $(ZIPDESTFILE) * else ZIPDESTFILE:=$(DIST_DESTDIR)/$(ZIPNAME)$(ZIPEXT) ZIPCMD_ZIP:=$(subst /,$(ZIPPATHSEP),$(ZIPPROG)) -Dr $(ZIPOPT) $(ZIPDESTFILE) * endif fpc_zipinstall: $(MAKE) $(ZIPTARGET) INSTALL_PREFIX=$(PACKDIR) ZIPINSTALL=1 $(MKDIR) $(DIST_DESTDIR) $(DEL) $(ZIPDESTFILE) ifdef USEZIPWRAPPER ifneq ($(ECHOREDIR),echo) $(ECHOREDIR) -e "$(subst \,\\,$(ZIPCMD_CDPACK))" > $(ZIPWRAPPER) $(ECHOREDIR) -e "$(subst \,\\,$(ZIPCMD_ZIP))" >> $(ZIPWRAPPER) $(ECHOREDIR) -e "$(subst \,\\,$(ZIPCMD_CDBASE))" >> $(ZIPWRAPPER) else echo $(ZIPCMD_CDPACK) > $(ZIPWRAPPER) echo $(ZIPCMD_ZIP) >> $(ZIPWRAPPER) echo $(ZIPCMD_CDBASE) >> $(ZIPWRAPPER) endif ifdef inUnix /bin/sh $(ZIPWRAPPER) else $(ZIPWRAPPER) endif $(DEL) $(ZIPWRAPPER) else $(ZIPCMD_CDPACK) ; $(ZIPCMD_ZIP) ; $(ZIPCMD_CDBASE) endif $(DELTREE) $(PACKDIR) fpc_zipsourceinstall: $(MAKE) fpc_zipinstall ZIPTARGET=sourceinstall ZIPSUFFIX=src fpc_zipexampleinstall: ifdef HASEXAMPLES $(MAKE) fpc_zipinstall ZIPTARGET=exampleinstall ZIPSUFFIX=exm endif fpc_zipdistinstall: $(MAKE) fpc_zipinstall ZIPTARGET=distinstall .PHONY: fpc_clean fpc_cleanall fpc_distclean ifdef EXEFILES override CLEANEXEFILES:=$(addprefix $(TARGETDIRPREFIX),$(CLEANEXEFILES)) endif ifdef CLEAN_UNITS override CLEANPPUFILES+=$(addsuffix $(PPUEXT),$(CLEAN_UNITS)) endif ifdef CLEANPPUFILES override CLEANPPULINKFILES:=$(subst $(PPUEXT),$(OEXT),$(CLEANPPUFILES)) $(addprefix $(STATICLIBPREFIX),$(subst $(PPUEXT),$(STATICLIBEXT),$(CLEANPPUFILES))) override CLEANPPUFILES:=$(addprefix $(UNITTARGETDIRPREFIX),$(CLEANPPUFILES)) override CLEANPPULINKFILES:=$(wildcard $(addprefix $(UNITTARGETDIRPREFIX),$(CLEANPPULINKFILES))) endif fpc_clean: $(CLEANTARGET) ifdef CLEANEXEFILES -$(DEL) $(CLEANEXEFILES) endif ifdef CLEANPPUFILES -$(DEL) $(CLEANPPUFILES) endif ifneq ($(CLEANPPULINKFILES),) -$(DEL) $(CLEANPPULINKFILES) endif ifdef CLEANRSTFILES -$(DEL) $(addprefix $(UNITTARGETDIRPREFIX),$(CLEANRSTFILES)) endif ifdef CLEAN_FILES -$(DEL) $(CLEAN_FILES) endif ifdef LIB_NAME -$(DEL) $(LIB_NAME) $(LIB_FULLNAME) endif -$(DEL) $(FPCMADE) Package.fpc $(PPAS) script.res link.res $(FPCEXTFILE) $(REDIRFILE) fpc_distclean: clean ifdef COMPILER_UNITTARGETDIR TARGETDIRCLEAN=fpc_clean endif fpc_cleanall: $(CLEANTARGET) $(TARGETDIRCLEAN) ifdef CLEANEXEFILES -$(DEL) $(CLEANEXEFILES) endif -$(DEL) *$(OEXT) *$(PPUEXT) *$(RSTEXT) *$(ASMEXT) *$(STATICLIBEXT) *$(SHAREDLIBEXT) *$(PPLEXT) -$(DELTREE) *$(SMARTEXT) -$(DEL) $(FPCMADE) Package.fpc $(PPAS) script.res link.res $(FPCEXTFILE) $(REDIRFILE) ifdef AOUTEXT -$(DEL) *$(AOUTEXT) endif .PHONY: fpc_baseinfo override INFORULES+=fpc_baseinfo fpc_baseinfo: @$(ECHO) @$(ECHO) == Package info == @$(ECHO) Package Name..... $(PACKAGE_NAME) @$(ECHO) Package Version.. $(PACKAGE_VERSION) @$(ECHO) @$(ECHO) == Configuration info == @$(ECHO) @$(ECHO) FPC.......... $(FPC) @$(ECHO) FPC Version.. $(FPC_VERSION) @$(ECHO) Source CPU... $(CPU_SOURCE) @$(ECHO) Target CPU... $(CPU_TARGET) @$(ECHO) Source OS.... $(OS_SOURCE) @$(ECHO) Target OS.... $(OS_TARGET) @$(ECHO) Full Source.. $(FULL_SOURCE) @$(ECHO) Full Target.. $(FULL_TARGET) @$(ECHO) @$(ECHO) == Directory info == @$(ECHO) @$(ECHO) Required pkgs... $(REQUIRE_PACKAGES) @$(ECHO) @$(ECHO) Basedir......... $(BASEDIR) @$(ECHO) FPCDir.......... $(FPCDIR) @$(ECHO) CrossBinDir..... $(CROSSBINDIR) @$(ECHO) UnitsDir........ $(UNITSDIR) @$(ECHO) PackagesDir..... $(PACKAGESDIR) @$(ECHO) @$(ECHO) GCC library..... $(GCCLIBDIR) @$(ECHO) Other library... $(OTHERLIBDIR) @$(ECHO) @$(ECHO) == Tools info == @$(ECHO) @$(ECHO) As........ $(AS) @$(ECHO) Ld........ $(LD) @$(ECHO) Ar........ $(AR) @$(ECHO) Rc........ $(RC) @$(ECHO) @$(ECHO) Mv........ $(MVPROG) @$(ECHO) Cp........ $(CPPROG) @$(ECHO) Rm........ $(RMPROG) @$(ECHO) GInstall.. $(GINSTALL) @$(ECHO) Echo...... $(ECHO) @$(ECHO) Date...... $(DATE) @$(ECHO) FPCMake... $(FPCMAKE) @$(ECHO) PPUMove... $(PPUMOVE) @$(ECHO) Upx....... $(UPXPROG) @$(ECHO) Zip....... $(ZIPPROG) @$(ECHO) @$(ECHO) == Object info == @$(ECHO) @$(ECHO) Target Loaders........ $(TARGET_LOADERS) @$(ECHO) Target Units.......... $(TARGET_UNITS) @$(ECHO) Target Implicit Units. $(TARGET_IMPLICITUNITS) @$(ECHO) Target Programs....... $(TARGET_PROGRAMS) @$(ECHO) Target Dirs........... $(TARGET_DIRS) @$(ECHO) Target Examples....... $(TARGET_EXAMPLES) @$(ECHO) Target ExampleDirs.... $(TARGET_EXAMPLEDIRS) @$(ECHO) @$(ECHO) Clean Units......... $(CLEAN_UNITS) @$(ECHO) Clean Files......... $(CLEAN_FILES) @$(ECHO) @$(ECHO) Install Units....... $(INSTALL_UNITS) @$(ECHO) Install Files....... $(INSTALL_FILES) @$(ECHO) @$(ECHO) == Install info == @$(ECHO) @$(ECHO) DateStr.............. $(DATESTR) @$(ECHO) ZipPrefix............ $(ZIPPREFIX) @$(ECHO) ZipSuffix............ $(ZIPSUFFIX) @$(ECHO) Install FPC Package.. $(INSTALL_FPCPACKAGE) @$(ECHO) @$(ECHO) Install base dir..... $(INSTALL_BASEDIR) @$(ECHO) Install binary dir... $(INSTALL_BINDIR) @$(ECHO) Install library dir.. $(INSTALL_LIBDIR) @$(ECHO) Install units dir.... $(INSTALL_UNITDIR) @$(ECHO) Install source dir... $(INSTALL_SOURCEDIR) @$(ECHO) Install doc dir...... $(INSTALL_DOCDIR) @$(ECHO) Install example dir.. $(INSTALL_EXAMPLEDIR) @$(ECHO) Install data dir..... $(INSTALL_DATADIR) @$(ECHO) @$(ECHO) Dist destination dir. $(DIST_DESTDIR) @$(ECHO) Dist zip name........ $(DIST_ZIPNAME) @$(ECHO) .PHONY: fpc_info fpc_info: $(INFORULES) .PHONY: fpc_makefile fpc_makefiles fpc_makefile_sub1 fpc_makefile_sub2 \ fpc_makefile_dirs fpc_makefile: $(FPCMAKE) -w -T$(OS_TARGET) Makefile.fpc fpc_makefile_sub1: ifdef TARGET_DIRS $(FPCMAKE) -w -T$(OS_TARGET) $(addsuffix /Makefile.fpc,$(TARGET_DIRS)) endif ifdef TARGET_EXAMPLEDIRS $(FPCMAKE) -w -T$(OS_TARGET) $(addsuffix /Makefile.fpc,$(TARGET_EXAMPLEDIRS)) endif fpc_makefile_sub2: $(addsuffix _makefile_dirs,$(TARGET_DIRS) $(TARGET_EXAMPLEDIRS)) fpc_makefile_dirs: fpc_makefile_sub1 fpc_makefile_sub2 fpc_makefiles: fpc_makefile fpc_makefile_dirs TARGET_DIRS_COMPILER=1 TARGET_DIRS_RTL=1 TARGET_DIRS_UTILS=1 TARGET_DIRS_FCL=1 TARGET_DIRS_FV=1 TARGET_DIRS_PACKAGES=1 TARGET_DIRS_IDE=1 TARGET_DIRS_INSTALLER=1 ifdef TARGET_DIRS_COMPILER compiler_all: $(MAKE) -C compiler all compiler_debug: $(MAKE) -C compiler debug compiler_smart: $(MAKE) -C compiler smart compiler_release: $(MAKE) -C compiler release compiler_examples: $(MAKE) -C compiler examples compiler_shared: $(MAKE) -C compiler shared compiler_install: $(MAKE) -C compiler install compiler_sourceinstall: $(MAKE) -C compiler sourceinstall compiler_exampleinstall: $(MAKE) -C compiler exampleinstall compiler_distinstall: $(MAKE) -C compiler distinstall compiler_zipinstall: $(MAKE) -C compiler zipinstall compiler_zipsourceinstall: $(MAKE) -C compiler zipsourceinstall compiler_zipexampleinstall: $(MAKE) -C compiler zipexampleinstall compiler_zipdistinstall: $(MAKE) -C compiler zipdistinstall compiler_clean: $(MAKE) -C compiler clean compiler_distclean: $(MAKE) -C compiler distclean compiler_cleanall: $(MAKE) -C compiler cleanall compiler_info: $(MAKE) -C compiler info compiler_makefiles: $(MAKE) -C compiler makefiles compiler: $(MAKE) -C compiler all .PHONY: compiler_all compiler_debug compiler_smart compiler_release compiler_examples compiler_shared compiler_install compiler_sourceinstall compiler_exampleinstall compiler_distinstall compiler_zipinstall compiler_zipsourceinstall compiler_zipexampleinstall compiler_zipdistinstall compiler_clean compiler_distclean compiler_cleanall compiler_info compiler_makefiles compiler endif ifdef TARGET_DIRS_RTL rtl_all: $(MAKE) -C rtl all rtl_debug: $(MAKE) -C rtl debug rtl_smart: $(MAKE) -C rtl smart rtl_release: $(MAKE) -C rtl release rtl_examples: $(MAKE) -C rtl examples rtl_shared: $(MAKE) -C rtl shared rtl_install: $(MAKE) -C rtl install rtl_sourceinstall: $(MAKE) -C rtl sourceinstall rtl_exampleinstall: $(MAKE) -C rtl exampleinstall rtl_distinstall: $(MAKE) -C rtl distinstall rtl_zipinstall: $(MAKE) -C rtl zipinstall rtl_zipsourceinstall: $(MAKE) -C rtl zipsourceinstall rtl_zipexampleinstall: $(MAKE) -C rtl zipexampleinstall rtl_zipdistinstall: $(MAKE) -C rtl zipdistinstall rtl_clean: $(MAKE) -C rtl clean rtl_distclean: $(MAKE) -C rtl distclean rtl_cleanall: $(MAKE) -C rtl cleanall rtl_info: $(MAKE) -C rtl info rtl_makefiles: $(MAKE) -C rtl makefiles rtl: $(MAKE) -C rtl all .PHONY: rtl_all rtl_debug rtl_smart rtl_release rtl_examples rtl_shared rtl_install rtl_sourceinstall rtl_exampleinstall rtl_distinstall rtl_zipinstall rtl_zipsourceinstall rtl_zipexampleinstall rtl_zipdistinstall rtl_clean rtl_distclean rtl_cleanall rtl_info rtl_makefiles rtl endif ifdef TARGET_DIRS_UTILS utils_all: $(MAKE) -C utils all utils_debug: $(MAKE) -C utils debug utils_smart: $(MAKE) -C utils smart utils_release: $(MAKE) -C utils release utils_examples: $(MAKE) -C utils examples utils_shared: $(MAKE) -C utils shared utils_install: $(MAKE) -C utils install utils_sourceinstall: $(MAKE) -C utils sourceinstall utils_exampleinstall: $(MAKE) -C utils exampleinstall utils_distinstall: $(MAKE) -C utils distinstall utils_zipinstall: $(MAKE) -C utils zipinstall utils_zipsourceinstall: $(MAKE) -C utils zipsourceinstall utils_zipexampleinstall: $(MAKE) -C utils zipexampleinstall utils_zipdistinstall: $(MAKE) -C utils zipdistinstall utils_clean: $(MAKE) -C utils clean utils_distclean: $(MAKE) -C utils distclean utils_cleanall: $(MAKE) -C utils cleanall utils_info: $(MAKE) -C utils info utils_makefiles: $(MAKE) -C utils makefiles utils: $(MAKE) -C utils all .PHONY: utils_all utils_debug utils_smart utils_release utils_examples utils_shared utils_install utils_sourceinstall utils_exampleinstall utils_distinstall utils_zipinstall utils_zipsourceinstall utils_zipexampleinstall utils_zipdistinstall utils_clean utils_distclean utils_cleanall utils_info utils_makefiles utils endif ifdef TARGET_DIRS_FCL fcl_all: $(MAKE) -C fcl all fcl_debug: $(MAKE) -C fcl debug fcl_smart: $(MAKE) -C fcl smart fcl_release: $(MAKE) -C fcl release fcl_examples: $(MAKE) -C fcl examples fcl_shared: $(MAKE) -C fcl shared fcl_install: $(MAKE) -C fcl install fcl_sourceinstall: $(MAKE) -C fcl sourceinstall fcl_exampleinstall: $(MAKE) -C fcl exampleinstall fcl_distinstall: $(MAKE) -C fcl distinstall fcl_zipinstall: $(MAKE) -C fcl zipinstall fcl_zipsourceinstall: $(MAKE) -C fcl zipsourceinstall fcl_zipexampleinstall: $(MAKE) -C fcl zipexampleinstall fcl_zipdistinstall: $(MAKE) -C fcl zipdistinstall fcl_clean: $(MAKE) -C fcl clean fcl_distclean: $(MAKE) -C fcl distclean fcl_cleanall: $(MAKE) -C fcl cleanall fcl_info: $(MAKE) -C fcl info fcl_makefiles: $(MAKE) -C fcl makefiles fcl: $(MAKE) -C fcl all .PHONY: fcl_all fcl_debug fcl_smart fcl_release fcl_examples fcl_shared fcl_install fcl_sourceinstall fcl_exampleinstall fcl_distinstall fcl_zipinstall fcl_zipsourceinstall fcl_zipexampleinstall fcl_zipdistinstall fcl_clean fcl_distclean fcl_cleanall fcl_info fcl_makefiles fcl endif ifdef TARGET_DIRS_FV fv_all: $(MAKE) -C fv all fv_debug: $(MAKE) -C fv debug fv_smart: $(MAKE) -C fv smart fv_release: $(MAKE) -C fv release fv_examples: $(MAKE) -C fv examples fv_shared: $(MAKE) -C fv shared fv_install: $(MAKE) -C fv install fv_sourceinstall: $(MAKE) -C fv sourceinstall fv_exampleinstall: $(MAKE) -C fv exampleinstall fv_distinstall: $(MAKE) -C fv distinstall fv_zipinstall: $(MAKE) -C fv zipinstall fv_zipsourceinstall: $(MAKE) -C fv zipsourceinstall fv_zipexampleinstall: $(MAKE) -C fv zipexampleinstall fv_zipdistinstall: $(MAKE) -C fv zipdistinstall fv_clean: $(MAKE) -C fv clean fv_distclean: $(MAKE) -C fv distclean fv_cleanall: $(MAKE) -C fv cleanall fv_info: $(MAKE) -C fv info fv_makefiles: $(MAKE) -C fv makefiles fv: $(MAKE) -C fv all .PHONY: fv_all fv_debug fv_smart fv_release fv_examples fv_shared fv_install fv_sourceinstall fv_exampleinstall fv_distinstall fv_zipinstall fv_zipsourceinstall fv_zipexampleinstall fv_zipdistinstall fv_clean fv_distclean fv_cleanall fv_info fv_makefiles fv endif ifdef TARGET_DIRS_PACKAGES packages_all: $(MAKE) -C packages all packages_debug: $(MAKE) -C packages debug packages_smart: $(MAKE) -C packages smart packages_release: $(MAKE) -C packages release packages_examples: $(MAKE) -C packages examples packages_shared: $(MAKE) -C packages shared packages_install: $(MAKE) -C packages install packages_sourceinstall: $(MAKE) -C packages sourceinstall packages_exampleinstall: $(MAKE) -C packages exampleinstall packages_distinstall: $(MAKE) -C packages distinstall packages_zipinstall: $(MAKE) -C packages zipinstall packages_zipsourceinstall: $(MAKE) -C packages zipsourceinstall packages_zipexampleinstall: $(MAKE) -C packages zipexampleinstall packages_zipdistinstall: $(MAKE) -C packages zipdistinstall packages_clean: $(MAKE) -C packages clean packages_distclean: $(MAKE) -C packages distclean packages_cleanall: $(MAKE) -C packages cleanall packages_info: $(MAKE) -C packages info packages_makefiles: $(MAKE) -C packages makefiles packages: $(MAKE) -C packages all .PHONY: packages_all packages_debug packages_smart packages_release packages_examples packages_shared packages_install packages_sourceinstall packages_exampleinstall packages_distinstall packages_zipinstall packages_zipsourceinstall packages_zipexampleinstall packages_zipdistinstall packages_clean packages_distclean packages_cleanall packages_info packages_makefiles packages endif ifdef TARGET_DIRS_IDE ide_all: $(MAKE) -C ide all ide_debug: $(MAKE) -C ide debug ide_smart: $(MAKE) -C ide smart ide_release: $(MAKE) -C ide release ide_examples: $(MAKE) -C ide examples ide_shared: $(MAKE) -C ide shared ide_install: $(MAKE) -C ide install ide_sourceinstall: $(MAKE) -C ide sourceinstall ide_exampleinstall: $(MAKE) -C ide exampleinstall ide_distinstall: $(MAKE) -C ide distinstall ide_zipinstall: $(MAKE) -C ide zipinstall ide_zipsourceinstall: $(MAKE) -C ide zipsourceinstall ide_zipexampleinstall: $(MAKE) -C ide zipexampleinstall ide_zipdistinstall: $(MAKE) -C ide zipdistinstall ide_clean: $(MAKE) -C ide clean ide_distclean: $(MAKE) -C ide distclean ide_cleanall: $(MAKE) -C ide cleanall ide_info: $(MAKE) -C ide info ide_makefiles: $(MAKE) -C ide makefiles ide: $(MAKE) -C ide all .PHONY: ide_all ide_debug ide_smart ide_release ide_examples ide_shared ide_install ide_sourceinstall ide_exampleinstall ide_distinstall ide_zipinstall ide_zipsourceinstall ide_zipexampleinstall ide_zipdistinstall ide_clean ide_distclean ide_cleanall ide_info ide_makefiles ide endif ifdef TARGET_DIRS_INSTALLER installer_all: $(MAKE) -C installer all installer_debug: $(MAKE) -C installer debug installer_smart: $(MAKE) -C installer smart installer_release: $(MAKE) -C installer release installer_examples: $(MAKE) -C installer examples installer_shared: $(MAKE) -C installer shared installer_install: $(MAKE) -C installer install installer_sourceinstall: $(MAKE) -C installer sourceinstall installer_exampleinstall: $(MAKE) -C installer exampleinstall installer_distinstall: $(MAKE) -C installer distinstall installer_zipinstall: $(MAKE) -C installer zipinstall installer_zipsourceinstall: $(MAKE) -C installer zipsourceinstall installer_zipexampleinstall: $(MAKE) -C installer zipexampleinstall installer_zipdistinstall: $(MAKE) -C installer zipdistinstall installer_clean: $(MAKE) -C installer clean installer_distclean: $(MAKE) -C installer distclean installer_cleanall: $(MAKE) -C installer cleanall installer_info: $(MAKE) -C installer info installer_makefiles: $(MAKE) -C installer makefiles installer: $(MAKE) -C installer all .PHONY: installer_all installer_debug installer_smart installer_release installer_examples installer_shared installer_install installer_sourceinstall installer_exampleinstall installer_distinstall installer_zipinstall installer_zipsourceinstall installer_zipexampleinstall installer_zipdistinstall installer_clean installer_distclean installer_cleanall installer_info installer_makefiles installer endif debug: $(addsuffix _debug,$(TARGET_DIRS)) smart: $(addsuffix _smart,$(TARGET_DIRS)) release: $(addsuffix _release,$(TARGET_DIRS)) examples: $(addsuffix _examples,$(TARGET_DIRS)) shared: $(addsuffix _shared,$(TARGET_DIRS)) sourceinstall: fpc_sourceinstall exampleinstall: fpc_exampleinstall $(addsuffix _exampleinstall,$(TARGET_DIRS)) distinstall: fpc_distinstall zipsourceinstall: fpc_zipsourceinstall zipexampleinstall: fpc_zipexampleinstall $(addsuffix _zipexampleinstall,$(TARGET_DIRS)) zipdistinstall: fpc_zipdistinstall $(addsuffix _zipdistinstall,$(TARGET_DIRS)) cleanall: $(addsuffix _cleanall,$(TARGET_DIRS)) info: fpc_info makefiles: fpc_makefiles .PHONY: debug smart release examples shared sourceinstall exampleinstall distinstall zipsourceinstall zipexampleinstall zipdistinstall cleanall info makefiles ifneq ($(wildcard fpcmake.loc),) include fpcmake.loc endif unexport FPC_VERSION OS_SOURCE override TARGET_DIRS:=$(wildcard $(TARGET_DIRS)) .PHONY: help checkfpcdir help: @$(ECHO) @$(ECHO) Directory targets: @$(ECHO) @$(ECHO) $(TARGET_DIRS) @$(ECHO) @$(ECHO) Packing targets are: @$(ECHO) @$(ECHO) go32v2zip,win32zip,linuxzip,freebsdzip,sourcezip,os2zip,beoszip,sunoszip,qnxzip @$(ECHO) @exit .PHONY: compiler_cycle compiler_cycle: $(MAKE) -C compiler cycle .PHONY: packages_base_all packages_extra_all \ packages_base_smart packages_extra_smart packages_base_all: $(MAKE) -C packages base_all packages_base_smart: $(MAKE) -C packages base_smart packages_extra_all: $(MAKE) -C packages extra_all packages_extra_smart: $(MAKE) -C packages extra_smart demo_install: $(MAKE) -C $(CVSINSTALL)/demo sourceinstall man_install: $(MAKE) -C $(CVSINSTALL)/man installman doc_install: $(MAKE) -C $(CVSINSTALL)/doc installdoc optzips: optcompinstall optcompzip optcompinstall: $(MAKE) compiler_cycle OPT=-dNEWOPTIMIZATIONS $(MAKE) compiler_install $(MAKE) rtl_install optcompzip: $(MAKE) fpc_zipinstall PACKAGENAME=optcomp ZIPTARGET=optcompinstall .PHONY: all clean distclean build install installbase zipinstall zipinstallbase zipinstallfcl \ zipinstallpackages all: build clean: $(addsuffix _distclean,$(TARGET_DIRS)) $(DEL) build-stamp.$(OS_TARGET) distclean: clean build: build-stamp.$(OS_TARGET) build-stamp.$(OS_TARGET): $(MAKE) compiler_cycle $(MAKE) rtl_clean $(MAKE) packages_clean $(MAKE) fcl_clean $(MAKE) utils_clean ifdef IDE $(MAKE) fv_clean $(MAKE) ide_clean endif $(MAKE) rtl_$(ALLTARGET) $(BUILDOPTS) $(MAKE) packages_base_$(ALLTARGET) $(BUILDOPTS) $(MAKE) fcl_$(ALLTARGET) $(BUILDOPTS) $(MAKE) packages_extra_$(ALLTARGET) $(BUILDOPTS) $(MAKE) utils_all $(BUILDOPTS) ifdef IDE $(MAKE) fv_all $(BUILDOPTS) $(MAKE) ide_all $(BUILDOPTS) $(MAKE) installer_all $(BUILDOPTS) endif $(ECHOREDIR) Build > build-stamp.$(OS_TARGET) installbase: build-stamp.$(OS_TARGET) $(MKDIR) $(INSTALL_BASEDIR) $(MKDIR) $(INSTALL_DOCDIR) $(MKDIR) $(INSTALL_BINDIR) ifndef SNAPSHOT $(COPY) $(CVSINSTALL)/doc/*.txt $(CVSINSTALL)/doc/copying* $(CVSINSTALL)/doc/faq.* $(INSTALL_DOCDIR) ifeq ($(OS_TARGET),go32v2) $(COPY) $(CVSINSTALL)/bingo32/* $(INSTALL_BINDIR) endif ifeq ($(OS_TARGET),win32) $(COPY) $(CVSINSTALL)/binw32/* $(INSTALL_BINDIR) endif ifeq ($(OS_TARGET),linux) $(MAKE) -C $(CVSINSTALL)/man installman endif ifeq ($(OS_TARGET),freebsd) $(MAKE) -C $(CVSINSTALL)/man installman endif ifeq ($(OS_TARGET),sunos) $(MAKE) -C $(CVSINSTALL)/man installman endif ifeq ($(OS_TARGET),qnx) $(MAKE) -C $(CVSINSTALL)/man installman endif endif $(MAKE) compiler_$(INSTALLTARGET) $(INSTALLOPTS) $(MAKE) rtl_$(INSTALLTARGET) $(INSTALLOPTS) install: build-stamp.$(OS_TARGET) $(MAKE) installbase $(INSTALLOPTS) $(MAKE) packages_$(INSTALLTARGET) $(INSTALLOPTS) $(MAKE) fcl_$(INSTALLTARGET) $(INSTALLOPTS) $(MAKE) utils_$(INSTALLTARGET) $(INSTALLOPTS) ifdef IDE $(NOSTOP)$(MAKE) ide_$(INSTALLTARGET) $(BUILDOPTS) endif zipinstall: build-stamp.$(OS_TARGET) $(MAKE) fpc_zipinstall ZIPTARGET=installbase ZIPNAME=base$(ZIPSUFFIX) $(INSTALLOPTS) $(MAKE) packages_zip$(INSTALLTARGET) $(INSTALLOPTS) ZIPPREFIX=$(PKGPRE) $(MAKE) fcl_zip$(INSTALLTARGET) $(INSTALLOPTS) ZIPPREFIX=$(PKGPRE) $(MAKE) utils_zip$(INSTALLTARGET) $(INSTALLOPTS) ZIPNAME=util$(ZIPSUFFIX) ifdef IDE $(NOSTOP)$(MAKE) ide_zip$(INSTALLTARGET) $(INSTALLOPTS) ZIPNAME=ide$(ZIPSUFFIX) endif .PHONY: docspdf docs docsrcinstall docsrc DOCSOURCEDIR=$(INSTALL_SOURCEDIR)/../docs docspdf: $(MAKE) -C docs pdfinstall DOCINSTALLDIR=$(PACKDIR) docs: $(MAKE) fpc_zipinstall ZIPTARGET=docspdf ZIPNAME=docs docsrcinstall: $(MAKE) -C docs clean $(MKDIR) $(DOCSOURCEDIR) $(COPYTREE) docs/* $(DOCSOURCEDIR) docsrc: $(MAKE) fpc_zipinstall ZIPTARGET=docsrcinstall ZIPNAME=docsrc .PHONY: demozip ifdef UNIXINSTALLDIR DEMOSOURCEDIR=$(INSTALL_DOCDIR)/../demo else DEMOSOURCEDIR=$(INSTALL_PREFIX)/demo endif demosrcinstall: $(MAKE) -C demo clean $(MKDIR) $(DEMOSOURCEDIR) $(COPYTREE) demo/* $(DEMOSOURCEDIR) demozip: $(MAKE) fpc_zipinstall ZIPTARGET=demosrcinstall ZIPNAME=demo .PHONY: sourcebase sourcezip INSTALL_BASESOURCEDIR=$(INSTALL_SOURCEDIR)/.. sourcebase: $(MKDIR) $(INSTALL_BASESOURCEDIR) $(MKDIR) $(INSTALL_BASESOURCEDIR)/rtl $(MKDIR) $(INSTALL_BASESOURCEDIR)/packages $(MKDIR) $(INSTALL_BASESOURCEDIR)/packages/base $(MKDIR) $(INSTALL_BASESOURCEDIR)/packages/extra $(COPY) Makefile* $(INSTALL_BASESOURCEDIR) $(COPY) rtl/Makefile* $(INSTALL_BASESOURCEDIR)/rtl $(COPY) packages/Makefile* $(INSTALL_BASESOURCEDIR)/packages $(COPY) packages/base/Makefile* $(INSTALL_BASESOURCEDIR)/packages/base $(COPY) packages/extra/Makefile* $(INSTALL_BASESOURCEDIR)/packages/extra sourcezip: $(MAKE) fpc_zipinstall ZIPTARGET=sourcebase ZIPNAME=basesrc $(MAKE) compiler_zipsourceinstall $(MAKE) rtl_zipsourceinstall $(MAKE) packages_zipsourceinstall ZIPPREFIX=$(PKGPRE) $(MAKE) fcl_zipsourceinstall $(MAKE) utils_zipsourceinstall $(MAKE) ide_zipsourceinstall $(MAKE) installer_zipsourceinstall .PHONY: go32v2 win32 linux freebsd os2 go32v2zip win32zip linuxzip freebsdzip os2zip go32v2: checkfpcdir $(MAKE) install OS_TARGET=go32v2 win32: checkfpcdir $(MAKE) install OS_TARGET=win32 linux: checkfpcdir $(MAKE) install OS_TARGET=linux freebsd: checkfpcdir $(MAKE) install OS_TARGET=freebsd os2: checkfpcdir $(MAKE) install OS_TARGET=os2 sunos: checkfpcdir $(MAKE) install OS_TARGET=sunos go32v2zip: checkfpcdir $(MAKE) zipinstall OS_TARGET=go32v2 win32zip: checkfpcdir $(MAKE) zipinstall OS_TARGET=win32 linuxzip: checkfpcdir $(MAKE) zipinstall OS_TARGET=linux freebsdzip : checkfpcdir $(MAKE) zipinstall OS_TARGET=freebsd beoszip : checkfpcdir $(MAKE) zipinstall OS_TARGET=beos USEZIP=1 os2zip: checkfpcdir $(MAKE) zipinstall OS_TARGET=os2 sunoszip: checkfpcdir $(MAKE) zipinstall OS_TARGET=sunos TARPROG=gtar qnxzip: checkfpcdir $(MAKE) zipinstall OS_TARGET=qnx .PHONY: renametoshort shortsrc shortbin shortnames renametoshort: -mv compiler$(ZIPSUFFIX).zip comp$(ZIPSUFFIX).zip -mv utils$(ZIPSUFFIX).zip util$(ZIPSUFFIX).zip -mv installer$(ZIPSUFFIX).zip inst$(ZIPSUFFIX).zip -mv ugdbint$(ZIPSUFFIX).zip ugdb$(ZIPSUFFIX).zip -mv uregexpr$(ZIPSUFFIX).zip ureg$(ZIPSUFFIX).zip -mv upaszlib$(ZIPSUFFIX).zip upzl$(ZIPSUFFIX).zip -mv uuncgi$(ZIPSUFFIX).zip ucgi$(ZIPSUFFIX).zip -mv uunzip$(ZIPSUFFIX).zip uzip$(ZIPSUFFIX).zip shortsrc: $(MAKE) renametoshort ZIPSUFFIX=src shortbin: $(MAKE) renametoshort shortnames: shortsrc shortbin ifdef inUnix ifneq ($(wildcard $(CVSINSTALL)/debian/changelog),) .PHONY: debcopy deb DEBPACKAGEVERSION:=$(shell head -n 1 $(CVSINSTALL)/debian/changelog | awk '{ print $$2 }' | tr -d '[()]') DEBFPCVERSION:=$(shell echo $(DEBPACKAGEVERSION) | awk -F '-' '{ print $$1 }') DEBSRCDIR:=/usr/src/fpc-$(DEBFPCVERSION) debcopy: distclean rm -rf $(DEBSRCDIR) install -d $(DEBSRCDIR) $(COPYTREE) compiler $(DEBSRCDIR) $(COPYTREE) rtl $(DEBSRCDIR) $(COPYTREE) fcl $(DEBSRCDIR) $(COPYTREE) packages $(DEBSRCDIR) $(COPYTREE) utils $(DEBSRCDIR) $(COPYTREE) demo $(DEBSRCDIR) $(COPYTREE) logs $(DEBSRCDIR) $(COPYTREE) docs $(DEBSRCDIR) $(COPYTREE) Makefile* $(DEBSRCDIR) $(COPYTREE) $(CVSINSTALL)/debian $(DEBSRCDIR) $(COPYTREE) $(CVSINSTALL)/man $(DEBSRCDIR) $(COPYTREE) $(CVSINSTALL)/doc $(DEBSRCDIR) find $(DEBSRCDIR) -name 'CVS*' | xargs -n1 rm -rf chmod 755 $(DEBSRCDIR)/debian/rules deb: checkfpcdir debcopy cd $(DEBSRCDIR) ; debian/rules binary endif # changelog found endif ifdef inUnix ifneq ($(wildcard $(CVSINSTALL)/fpc.spec),) .PHONY: rpmcopy rpm RPMFPCVERSION:=$(shell grep 'define fpcversion' $(CVSINSTALL)/fpc.spec | awk '{ print $$3 }') REDHATDIR=/usr/src/redhat RPMSOURCESDIR:=$(REDHATDIR)/SOURCES RPMSPECDIR:=$(REDHATDIR)/SPECS RPMSRCDIR:=$(RPMSOURCESDIR)/fpc DOCSRCDIR:=$(RPMSOURCESDIR)/fpcdoc rpmcopy: distclean install -d $(REDHATDIR) install -d $(RPMSPECDIR) install -d $(RPMSOURCESDIR) rm -rf $(RPMSRCDIR) cp $(CVSINSTALL)/fpc.spec $(RPMSPECDIR)/fpc-$(RPMFPCVERSION).spec install -d $(RPMSRCDIR) $(COPYTREE) compiler $(RPMSRCDIR) $(COPYTREE) rtl $(RPMSRCDIR) $(COPYTREE) fcl $(RPMSRCDIR) $(COPYTREE) packages $(RPMSRCDIR) $(COPYTREE) utils $(RPMSRCDIR) $(COPYTREE) demo $(RPMSRCDIR) $(COPYTREE) logs $(RPMSRCDIR) $(COPYTREE) Makefile* $(RPMSRCDIR) $(COPYTREE) $(CVSINSTALL)/man $(RPMSRCDIR) $(COPYTREE) $(CVSINSTALL)/doc $(RPMSRCDIR) find $(RPMSRCDIR) -name 'CVS*' | xargs -n1 rm -rf cd $(RPMSRCDIR) ; tar cvz * > $(RPMSOURCESDIR)/fpc-$(RPMFPCVERSION)-src.tar.gz rm -rf $(DOCSRCDIR) cp $(CVSINSTALL)/fpc-docs.spec $(RPMSPECDIR)/fpc-docs-$(RPMFPCVERSION).spec install -d $(DOCSRCDIR) $(COPYTREE) docs $(DOCSRCDIR) find $(DOCSRCDIR) -name 'CVS*' | xargs -n1 rm -rf cd $(DOCSRCDIR) ; tar cvz * > $(RPMSOURCESDIR)/fpc-docs-$(RPMFPCVERSION)-src.tar.gz rpm: checkfpcdir rpmcopy cd $(RPMSPECDIR) ; rpm --nodeps -ba fpc-$(RPMFPCVERSION).spec cd $(RPMSPECDIR) ; rpm --nodeps -ba fpc-docs-$(RPMFPCVERSION).spec endif # spec found endif