From b9cb784bc6b6e0352a218f636a18110c5e16362e Mon Sep 17 00:00:00 2001 From: pierre Date: Fri, 22 Mar 2013 15:27:13 +0000 Subject: [PATCH] Use revision.inc file if present git-svn-id: trunk@23956 - --- utils/fpcm/Makefile.fpc | 48 ++++++++++++++++++++++++++++++++++++++++- 1 file changed, 47 insertions(+), 1 deletion(-) diff --git a/utils/fpcm/Makefile.fpc b/utils/fpcm/Makefile.fpc index 3bf5262b88..93e61b9c6a 100644 --- a/utils/fpcm/Makefile.fpc +++ b/utils/fpcm/Makefile.fpc @@ -22,6 +22,23 @@ fpcdir=../.. [prerules] BS_UNITDIR=$(BASEDIR)/units/$(SOURCESUFFIX) +# Check if revision.inc is present +REVINC:=$(wildcard revision.inc) +ifneq ($(REVINC),) +# File revision.inc is present +# Use it to compile fpcmmain.pp unit +override FPCOPT+=-dREVINC +endif +REVINC_FILES=$(wilcard fpcm*.pp fpcmake.ini Makefile.fpc) + +ifdef CALL_GET_REVISION +# Must be a := for immediate execution +# as it's the script itself that creates the new revision.inc +#include file +GET_REVISION_OUTPUT:=$(shell ./get_revision.sh $(REVINC_FILES)) +$(info get_revision script output is $(GET_REVISION_OUTPUT)) +endif + [rules] .NOTPARALLEL: ifneq ($(DATA2INC),) @@ -29,9 +46,38 @@ fpcmake.inc: fpcmake.ini $(DATA2INC) -b -s fpcmake.ini fpcmake.inc fpcmakeini endif -fpcmake$(EXEEXT): $(wildcard fpcm*.pp) fpcmake.inc +ifdef inUnix +EnableRevIncRule=1 +endif +ifdef inCygWin +EnableRevIncRule=1 +endif + +ifdef EnableRevIncRule +# revision.inc rule +revision.inc : $(REVINC_FILES) + $(MAKE) CALL_GET_REVISION=1 +endif + +.PHONY : revision + +revision : + $(DEL) revision.inc + $(MAKE) revision.inc + + +fpcmake$(EXEEXT): $(wildcard fpcm*.pp) fpcmake.inc $(REVINC) +ifneq (,$(REVINC)) + $(MAKE) fpcmmain$(PPUEXT) + $(COMPILER) fpcmake.pp + $(EXECPPAS) +endif + +# Cygwin doesn't like c:/path/ +ifndef inCygWin $(BS_UNITDIR): $(MKDIRTREE) $(BS_UNITDIR) bootstrap: $(BS_UNITDIR) fpcmake.inc $(FPCFPMAKE) fpcmake.pp $(FPMAKE_SKIP_CONFIG) -Fu$(UNITDIR_FPMAKE_RTL) -FU$(BS_UNITDIR) $(OPT) +endif