# # Don't edit, this file is generated by FPCMake Version 1.1 [2001/08/30] # default: all 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),) nopwd: @echo You need the GNU utils package to use this Makefile! @echo Get ftp://ftp.freepascal.org/pub/fpc/dist/go32v2/utilgo32.zip @exit 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 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 ifndef FPC ifdef PP FPC=$(PP) else ifdef inUnix CPU_SOURCE=$(shell uname -m) ifeq (m68k,$(CPU_SOURCE)) FPC=ppc68k else FPC=ppc386 endif else FPC=ppc386 endif endif endif override FPC:=$(subst $(SRCEXEEXT),,$(FPC)) override FPC:=$(subst \,/,$(FPC))$(SRCEXEEXT) ifndef OS_TARGET OS_TARGET:=$(shell $(FPC) -iTO) endif ifndef OS_SOURCE OS_SOURCE:=$(shell $(FPC) -iSO) endif ifndef CPU_TARGET CPU_TARGET:=$(shell $(FPC) -iTP) endif ifndef CPU_SOURCE CPU_SOURCE:=$(shell $(FPC) -iSP) endif ifndef FPC_VERSION FPC_VERSION:=$(shell $(FPC) -iV) endif export FPC OS_TARGET OS_SOURCE CPU_TARGET CPU_SOURCE FPC_VERSION ifdef FPCDIR override FPCDIR:=$(subst \,/,$(FPCDIR)) ifeq ($(wildcard $(addprefix $(FPCDIR)/,rtl units)),) override FPCDIR=wrong endif else override FPCDIR=wrong endif ifeq ($(FPCDIR),wrong) override FPCDIR=.. ifeq ($(wildcard $(FPCDIR)/rtl),) ifeq ($(wildcard $(FPCDIR)/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 UNITSDIR:=$(wildcard $(FPCDIR)/units/$(OS_TARGET)) PACKAGESDIR:=$(wildcard $(FPCDIR) $(FPCDIR)/packages) override PACKAGE_NAME=fpcompiler override PACKAGE_VERSION=1.1 unexport OS_SOURCE FPC_VERSION ifdef ALPHA CPU_TARGET=alpha endif ifdef POWERPC CPU_TARGET=powerpc endif ifdef M68K CPU_TARGET=m68k endif ifdef I386 CPU_TARGET=i386 endif UTILSDIR=../utils COMPILERUTILSDIR=utils ifndef FPCLANG FPCLANG=e endif ifndef LOCALDEF LOCALDEF= endif ifndef LOCALOPT LOCALOPT=$(OPT) endif ifndef RTLOPTS RTLOPTS=$(OPT) endif MSGFILES=$(wildcard msg/error*.msg) ifeq ($(CPU_TARGET),i386) CPUSUF=386 endif ifeq ($(CPU_TARGET),alpha) CPUSUF=axp endif ifeq ($(CPU_TARGET),m68k) CPUSUF=68k endif ifeq ($(CPU_TARGET),powerpc) CPUSUF=ppc endif ifeq ($(OS_TARGET),linux) ifneq ($(findstring 1.0.,$(FPC_VERSION)),) override LOCALDEF+=-dUNIX endif endif ifeq ($(OS_TARGET),freebsd) ifneq ($(findstring 1.0.,$(FPC_VERSION)),) override LOCALDEF+=-dUNIX endif endif MSGFILE=msg/error$(FPCLANG).msg override LOCALDEF+=-dGDB -dBROWSERLOG ifeq ($(CPU_TARGET),i386) override LOCALDEF+=-dSUPPORT_MMX endif override LOCALOPT+=$(LOCALDEF) override FPCOPT:=$(LOCALOPT) override TARGET_DIRS+=utils override INSTALL_FPCPACKAGE=y override COMPILER_INCLUDEDIR+=$(CPU_TARGET) override COMPILER_UNITDIR+=$(CPU_TARGET) targets override COMPILER_TARGETDIR+=. 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 ifndef AS AS=as endif ifndef LD LD=ld endif ifndef RC RC=rc endif 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 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=.so STATICLIBEXT=.ao2 SHAREDLIBEXT=.dll FPCMADE=fpcmade.os2 ZIPSUFFIX=emx endif ifeq ($(OS_TARGET),amiga) EXEEXT= PPUEXT=.ppa ASMEXT=.asm OEXT=.o SMARTEXT=.sl STATICLIBEXT=.a SHAREDLIBEXT=.library FPCMADE=fpcmade.amg endif ifeq ($(OS_TARGET),atari) PPUEXT=.ppt ASMEXT=.s OEXT=.o SMARTEXT=.sl STATICLIBEXT=.a EXEEXT=.ttp FPCMADE=fpcmade.ata endif 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 else ifeq ($(OS_SOURCE),linux) UNIXINSTALLDIR=1 endif ifeq ($(OS_SOURCE),freebsd) UNIXINSTALLDIR=1 endif ifeq ($(OS_SOURCE),netbsd) UNIXINSTALLDIR=1 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 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 INSTALL_UNITDIR:=$(INSTALL_BASEDIR)/units/$(OS_TARGET) 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 INSTALL_FPCPACKAGE INSTALL_SOURCEDIR:=$(INSTALL_PREFIX)/src/fpc-$(FPC_VERSION)/$(PACKAGE_NAME) else INSTALL_SOURCEDIR:=$(INSTALL_PREFIX)/src/$(PACKAGE_NAME)-$(PACKAGE_VERSION) endif else ifdef INSTALL_FPCPACKAGE INSTALL_SOURCEDIR:=$(INSTALL_BASEDIR)/source/$(PACKAGE_NAME) else INSTALL_SOURCEDIRL:=$(INSTALL_BASEDIR)/source endif endif endif ifndef INSTALL_DOCDIR ifdef UNIXINSTALLDIR ifdef INSTALL_FPCPACKAGE INSTALL_DOCDIR:=$(INSTALL_PREFIX)/doc/fpc-$(FPC_VERSION)/$(PACKAGE_NAME) else INSTALL_DOCDIR:=$(INSTALL_PREFIX)/doc/$(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 INSTALL_EXAMPLEDIR:=$(INSTALL_PREFIX)/doc/fpc-$(FPC_VERSION)/examples/$(PACKAGE_NAME) else INSTALL_EXAMPLEDIR:=$(INSTALL_PREFIX)/doc/$(PACKAGE_NAME)-$(PACKAGE_VERSION) 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 ifeq ($(OS_TARGET),linux) REQUIRE_PACKAGES_RTL=1 endif ifeq ($(OS_TARGET),go32v2) REQUIRE_PACKAGES_RTL=1 endif ifeq ($(OS_TARGET),win32) REQUIRE_PACKAGES_RTL=1 endif ifeq ($(OS_TARGET),os2) REQUIRE_PACKAGES_RTL=1 endif ifeq ($(OS_TARGET),freebsd) REQUIRE_PACKAGES_RTL=1 endif ifeq ($(OS_TARGET),beos) REQUIRE_PACKAGES_RTL=1 endif ifeq ($(OS_TARGET),netbsd) REQUIRE_PACKAGES_RTL=1 endif ifeq ($(OS_TARGET),amiga) REQUIRE_PACKAGES_RTL=1 endif ifeq ($(OS_TARGET),atari) REQUIRE_PACKAGES_RTL=1 endif ifdef REQUIRE_PACKAGES_RTL PACKAGEDIR_RTL:=$(subst /Makefile.fpc,,$(strip $(wildcard $(addsuffix /rtl/Makefile.fpc,$(PACKAGESDIR))))) ifneq ($(PACKAGEDIR_RTL),) PACKAGEDIR_RTL:=$(firstword $(PACKAGEDIR_RTL)) ifeq ($(wildcard $(PACKAGEDIR_RTL)/$(FPCMADE)),) override COMPILEPACKAGES+=package_rtl package_rtl: $(MAKE) -C $(PACKAGEDIR_RTL) all endif ifneq ($(wildcard $(PACKAGEDIR_RTL)/$(OS_TARGET)),) UNITDIR_RTL=$(PACKAGEDIR_RTL)/$(OS_TARGET) else UNITDIR_RTL=$(PACKAGEDIR_RTL) endif else PACKAGEDIR_RTL= UNITDIR_RTL:=$(subst /Package.fpc,,$(strip $(wildcard $(addsuffix /rtl/Package.fpc,$(UNITSDIR))))) ifneq ($(UNITDIR_RTL),) UNITDIR_RTL:=$(firstword $(UNITDIR_RTL)) else UNITDIR_RTL= endif endif ifdef UNITDIR_RTL override COMPILER_UNITDIR+=$(UNITDIR_RTL) endif endif .PHONY: package_rtl override FPCOPTDEF=$(CPU_TARGET) 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 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_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) $(PPAS) link.res $(FPCEXTFILE) $(REDIRFILE) ifdef AOUTEXT -$(DEL) *$(AOUTEXT) endif .PHONY: fpc_info fpc_info: @$(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) @$(ECHO) == Directory info == @$(ECHO) @$(ECHO) Basedir......... $(BASEDIR) @$(ECHO) FPCDir.......... $(FPCDIR) @$(ECHO) UnitsDir........ $(UNITSDIR) @$(ECHO) PackagesDir..... $(PACKAGESDIR) @$(ECHO) @$(ECHO) GCC library..... $(GCCLIBDIR) @$(ECHO) Other library... $(OTHERLIBDIR) @$(ECHO) @$(ECHO) == Tools info == @$(ECHO) @$(ECHO) Pwd....... $(PWD) @$(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 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) TARGET_DIRS_UTILS=1 ifdef TARGET_DIRS_UTILS utils_all: $(MAKE) -C utils all utils_debug: $(MAKE) -C utils debug utils_smart: $(MAKE) -C utils smart 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: $(MAKE) -C utils all .PHONY: utils_all utils_debug utils_smart 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 endif ifndef DIFF DIFF:=$(strip $(wildcard $(addsuffix /diff$(SRCEXEEXT),$(SEARCHPATH)))) ifeq ($(DIFF),) DIFF= else DIFF:=$(firstword $(DIFF)) endif endif export DIFF ifndef CMP CMP:=$(strip $(wildcard $(addsuffix /cmp$(SRCEXEEXT),$(SEARCHPATH)))) ifeq ($(CMP),) CMP= else CMP:=$(firstword $(CMP)) endif endif export CMP debug: $(addsuffix _debug,$(TARGET_DIRS)) smart: $(addsuffix _smart,$(TARGET_DIRS)) examples: $(addsuffix _examples,$(TARGET_DIRS)) shared: $(addsuffix _shared,$(TARGET_DIRS)) sourceinstall: exampleinstall: $(addsuffix _exampleinstall,$(TARGET_DIRS)) distinstall: fpc_distinstall zipinstall: fpc_zipinstall 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 .PHONY: debug smart examples shared sourceinstall exampleinstall distinstall zipinstall zipsourceinstall zipexampleinstall zipdistinstall cleanall info ifneq ($(wildcard fpcmake.loc),) include fpcmake.loc endif ifeq ($(OS_TARGET),win32) ifdef CMP override DIFF:=$(CMP) -i138 endif override COMPILER+=-XX endif ifdef DIFF ifdef OLDFPC DIFFRESULT:=$(shell $(DIFF) $(OLDFPC) $(FPC)) else DIFFRESULT=Not equal endif else DIFFRESULT=No diff program endif PPEXENAME=pp$(EXEEXT) EXENAME=ppc$(CPUSUF)$(EXEEXT) TEMPNAME=ppc$(EXEEXT) TEMPNAME1=ppc1$(EXEEXT) TEMPNAME2=ppc2$(EXEEXT) TEMPNAME3=ppc3$(EXEEXT) MAKEDEP=ppdep$(EXEEXT) MSG2INC=msg2inc$(EXEEXT) alpha: $(MAKE) ALPHA=1 all i386: $(MAKE) I386=1 all m68k: $(MAKE) M68K=1 all powerpc: $(MAKE) POWERPC=1 all all: $(EXENAME) $(addsuffix _all,$(TARGET_DIRS)) ifeq ($(MAKELEVEL),0) ifndef STARTTIME ifdef DATE STARTTIME:=$(shell $(DATE) +%T) else STARTTIME:=unknown endif endif endif export STARTTIME ifdef DATE ENDTIME=$(shell $(DATE) +%T) else ENDTIME:=unknown endif echotime: @echo Start $(STARTTIME) now $(ENDTIME) ifndef DIFFRESULT next : @echo $(OLDFPC) and $(FPC) are equal $(COPY) $(FPC) $(EXENAME) else next : $(MAKE) execlean $(MAKE) -C $(UNITDIR_RTL) clean $(MAKE) -C $(UNITDIR_RTL) 'FPC=$(FPC)' 'OPT=$(RTLOPTS)' $(MAKE) clean $(MAKE) $(EXENAME) $(MAKE) echotime endif ppuclean: -$(DEL) *$(OEXT) *$(PPUEXT) *$(RSTEXT) *$(ASMEXT) *$(STATICLIBEXT) *$(SHAREDLIBEXT) *$(PPLEXT) execlean : -$(DEL) fpc$(EXEEXT) ppc386$(EXEEXT) ppcaxp$(EXEEXT) ppc68k$(EXEEXT) ppcppc$(EXEEXT) clean : execlean fpc_cleanall $(addsuffix _clean,$(TARGET_DIRS)) distclean: execlean fpc_cleanall $(addsuffix _distclean,$(TARGET_DIRS)) -$(DEL) $(TEMPNAME) $(TEMPNAME1) $(TEMPNAME2) $(TEMPNAME3) $(MSG2INC) $(MAKEDEP): $(UTILSDIR)/ppdep.pp $(COMPILER) $(UTILSDIR)/ppdep.pp $(COPY) $(UTILSDIR)/$(MAKEDEP) $(MAKEDEP) dependencies : $(MAKEDEP) $(MAKEDEP) pp.pas $(FPCOPTDEF) $(LOCALDEF) '-F$$(COMPILER) $$(LOCALOPT)' > depend ifdef USEDEPEND include depend endif $(MSG2INC): $(COMPILERUTILSDIR)/msg2inc.pp $(COMPILER) -FE. $(COMPILERUTILSDIR)/msg2inc.pp msgtxt.inc: $(MSGFILE) $(MAKE) $(MSG2INC) $(MSG2INC) $(MSGFILE) msg msg msg: msgtxt.inc ifndef COMPLETE $(EXENAME) : $(wildcard *.pas) $(wildcard *.inc) msg $(COMPILER) pp.pas $(EXECPPAS) $(MOVE) $(PPEXENAME) $(EXENAME) else $(EXENAME) : $(wildcard *.pas) $(wildcard *.inc) msg $(COMPILER) pp.pas $(EXECPPAS) $(COMPILER) pp.pas $(EXECPPAS) $(COMPILER) pp.pas $(EXECPPAS) $(MOVE) $(PPEXENAME) $(EXENAME) endif tokens.dat : $(wildcard *.pas) $(wildcard *.inc) $(COMPILER) tokendat.pas ./tokendat remake: $(EXENAME) $(MOVE) $(EXENAME) $(TEMPNAME) $(MAKE) execlean $(MAKE) -C $(UNITDIR_RTL) clean $(MAKE) clean $(MAKE) 'FPC=$(BASEDIR)/$(TEMPNAME)' all remake3: $(TEMPNAME3) $(MAKE) 'FPC=$(BASEDIR)/$(TEMPNAME3)' 'OLDFPC=$(BASEDIR)/$(TEMPNAME2)' next $(DIFF) $(TEMPNAME3) $(EXENAME) $(TEMPNAME1) : $(EXENAME) -$(DEL) $(TEMPNAME1) $(MOVE) $(EXENAME) $(TEMPNAME1) $(TEMPNAME2) : $(TEMPNAME1) $(MAKE) 'FPC=$(BASEDIR)/$(TEMPNAME1)' 'OLDFPC=' next -$(DEL) $(TEMPNAME2) $(MOVE) $(EXENAME) $(TEMPNAME2) $(TEMPNAME3) : $(TEMPNAME2) $(MAKE) 'FPC=$(BASEDIR)/$(TEMPNAME2)' 'OLDFPC=$(BASEDIR)/$(TEMPNAME1)' next -$(DEL) $(TEMPNAME3) $(MOVE) $(EXENAME) $(TEMPNAME3) cycle: $(MAKE) clean $(MAKE) -C $(UNITDIR_RTL) clean $(MAKE) -C $(UNITDIR_RTL) 'OPT=$(RTLOPTS)' all $(MAKE) remake3 $(MAKE) $(addsuffix _all,$(TARGET_DIRS)) 'FPC=$(BASEDIR)/$(EXENAME)' $(MAKE) echotime cycledep: $(MAKE) cycle USEDEPEND=1 cvstest: $(MAKE) cycle 'LOCALOPT=-n -Se' 'RTLOPTS=-n -Se' .PHONY: quickinstall install installsym MSGINSTALLDIR=$(INSTALL_BASEDIR)/msg override PPEXEFILE:=$(wildcard $(EXENAME)) quickinstall: $(addsuffix _install,$(TARGET_DIRS)) ifneq ($(PPEXEFILE),) ifdef UPXPROG -$(UPXPROG) $(EXENAME) endif ifdef UNIXINSTALLDIR $(MKDIR) $(INSTALL_BASEDIR) $(INSTALLEXE) $(EXENAME) $(INSTALL_BASEDIR) else $(MKDIR) $(INSTALL_BINDIR) $(INSTALLEXE) $(EXENAME) $(INSTALL_BINDIR) endif endif install: quickinstall ifdef UNIXINSTALLDIR $(MKDIR) $(INSTALL_BASEDIR) $(INSTALLEXE) $(COMPILERUTILSDIR)/samplecfg $(INSTALL_BASEDIR)/samplecfg endif $(MKDIR) $(MSGINSTALLDIR) $(INSTALL) $(MSGFILES) $(MSGINSTALLDIR) installsymlink: install ifdef UNIXINSTALLDIR $(MKDIR) $(INSTALL_BINDIR) ln -sf $(INSTALL_BASEDIR)/ppc386 $(INSTALL_BINDIR)/ppc386 endif .PHONY: rtl rtlclean rtlinstall rtl: $(MAKE) -C $(UNITDIR_RTL) all rtlclean: $(MAKE) -C $(UNITDIR_RTL) clean rtlinstall: $(MAKE) -C $(UNITDIR_RTL) install localmake:=$(strip $(wildcard makefile.loc)) ifdef localmake include ./$(localmake) endif