--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/phonebookui/Phonebook/Help/bldphobhelp.mk Tue Feb 02 10:12:17 2010 +0200
@@ -0,0 +1,232 @@
+#
+# Copyright (c) 2009 Nokia Corporation and/or its subsidiary(-ies).
+# All rights reserved.
+# This component and the accompanying materials are made available
+# under the terms of "Eclipse Public License v1.0"
+# which accompanies this distribution, and is available
+# at the URL "http://www.eclipse.org/legal/epl-v10.html".
+#
+# Initial Contributors:
+# Nokia Corporation - initial contribution.
+#
+# Contributors:
+#
+# Description:
+#
+#
+# Build the PhoneBook help files
+# ================================
+#
+# Also, compare the (definitive) phob.hlp.hrh exported from the source tree
+# against the one generated from the RTF file, and throw an error if anything
+# is different.
+#
+# Assumptions:
+# The generated HRH file created by manually building help the first time is
+# kept as part of the source for the component and exported to
+# epoc32\include\cshelp. This is so that this .mk file can pick up the file
+# for verfication against the newly generated one.
+#
+# NB2 There are items in here which are also defined in the project file -
+# attempts to modify this file to build for other components will require
+# matching modifications in the project file. These are marked with
+# "# Also defined in phob.xml"
+#
+# NB3 Since I had to use the pseudotarget COMPARISON, the comparison of the
+# generated and exported HRH files will happen EVERY TIME the final stage
+# is run for this component.
+#
+
+#---------------------------------------#
+# #
+# Build tools #
+# #
+#---------------------------------------#
+
+
+PREPROCESSORTOOL=\epoc32\gcc\bin\cpp.exe
+HELPCOMPILERTOOL=\epoc32\tools\cshlpcmp
+
+#---------------------------------------#
+# #
+# Help project file #
+# #
+#---------------------------------------#
+
+HELPPROJECTFILE=\PhoneBook\help\phob.xml
+
+#---------------------------------------#
+# #
+# Intermediate build directory #
+# #
+#---------------------------------------#
+
+PROJECT=PhoneBook
+
+INTERMEDIATEDIR=..\..\epoc32\build\$(PROJECT)\help # Also defined in phob.xml
+ # as the <output> and <working> fields.
+ # (Has to be defined here as a relative
+ # path because it is passed as a
+ # parameter to the GCC preprocessor)
+
+$(INTERMEDIATEDIR) :
+ if not exist "\epoc32" md "\epoc32"
+ if not exist "\epoc32\build" md "\epoc32\build"
+ if not exist "\epoc32\build\$(PROJECT)" md "\epoc32\build\$(PROJECT)"
+ if not exist "\epoc32\build\$(PROJECT)\help" md "\epoc32\build\$(PROJECT)\help"
+
+#---------------------------------------#
+# #
+# Help build tool output #
+# #
+#---------------------------------------#
+
+HELPTOOLTARGETNAME=phob.hlp # Also defined in phob.xml
+
+
+# Define the anticipated output files we're interested in
+
+HELPFILE=$(INTERMEDIATEDIR)\$(HELPTOOLTARGETNAME)
+HELPFILEHRH=$(INTERMEDIATEDIR)\$(HELPTOOLTARGETNAME).hrh
+HELPFILEOPH=$(INTERMEDIATEDIR)\$(HELPTOOLTARGETNAME).oph
+HELPFILEOPHTXT=$(INTERMEDIATEDIR)\$(HELPTOOLTARGETNAME).oph.txt
+
+HELPTOOLOUTPUT=$(HELPFILE) $(HELPFILEHRH) $(HELPFILEOPH) $(HELPFILEOPHTXT)
+
+# Build the help files
+
+$(HELPTOOLOUTPUT) : $(INTERMEDIATEDIR) $(HELPPROJECTFILE)
+ $(HELPCOMPILERTOOL) $(HELPPROJECTFILE)
+
+#---------------------------------------#
+# #
+# Final destinations for output #
+# #
+#---------------------------------------#
+
+!IF "$(PLATFORM)"=="WINS"
+HELPTARGETDIR=\EPOC32\release\$(PLATFORM)\$(CFG)\z\system\help
+OPHTARGETDIR=\EPOC32\release\$(PLATFORM)\$(CFG)\z\system\opl
+!ELSE
+HELPTARGETDIR=\EPOC32\release\$(PLATFORM)\$(CFG)
+OPHTARGETDIR=\EPOC32\release\$(PLATFORM)\$(CFG)
+!ENDIF
+
+
+# Create the destination directory for the helpfile
+
+# NB Unpleasant use of IF WINS block below avoids error U4004
+# in ARMI builds where the two paths are the same.
+
+$(HELPTARGETDIR) :
+ @if not exist "\EPOC32" md "\EPOC32"
+ @if not exist "\EPOC32\release" md "\EPOC32\release"
+ @if not exist "\EPOC32\release\$(PLATFORM)\" md "\EPOC32\release\$(PLATFORM)\"
+ @if not exist "\EPOC32\release\$(PLATFORM)\$(CFG)" md "\EPOC32\release\$(PLATFORM)\$(CFG)"
+!IF "$(PLATFORM)"=="WINS"
+ @if not exist "\EPOC32\release\$(PLATFORM)\$(CFG)\z" md "\EPOC32\release\$(PLATFORM)\$(CFG)\z"
+ @if not exist "\EPOC32\release\$(PLATFORM)\$(CFG)\z\System" md "\EPOC32\release\$(PLATFORM)\$(CFG)\z\System"
+ @if not exist "\EPOC32\release\$(PLATFORM)\$(CFG)\z\System\help" md "\EPOC32\release\$(PLATFORM)\$(CFG)\z\System\help"
+
+# Create the destination directory for the OPH file
+
+$(OPHTARGETDIR) :
+ @if not exist "\EPOC32" md "\EPOC32"
+ @if not exist "\EPOC32\release" md "\EPOC32\release"
+ @if not exist "\EPOC32\release\$(PLATFORM)\" md "\EPOC32\release\$(PLATFORM)\"
+ @if not exist "\EPOC32\release\$(PLATFORM)\$(CFG)" md "\EPOC32\release\$(PLATFORM)\$(CFG)"
+ @if not exist "\EPOC32\release\$(PLATFORM)\$(CFG)\z" md "\EPOC32\release\$(PLATFORM)\$(CFG)\z"
+ @if not exist "\EPOC32\release\$(PLATFORM)\$(CFG)\z\System" md "\EPOC32\release\$(PLATFORM)\$(CFG)\z\System"
+ @if not exist "\EPOC32\release\$(PLATFORM)\$(CFG)\z\System\opl" md "\EPOC32\release\$(PLATFORM)\$(CFG)\z\System\opl"
+!ENDIF
+
+
+# Copy the helpfile to its final destination
+
+HELPFILEFINAL=$(HELPTARGETDIR)\$(HELPTOOLTARGETNAME)
+
+$(HELPFILEFINAL) : $(HELPTARGETDIR) $(HELPFILE)
+ copy $(HELPFILE) $@
+
+
+# Copy the helpfile OPH to its final destination
+
+OPHFILEFINAL=$(OPHTARGETDIR)\$(HELPTOOLTARGETNAME).oph
+
+$(OPHFILEFINAL) : $(OPHTARGETDIR)
+ copy $(HELPFILEOPH) $@
+
+#---------------------------------------#
+# #
+# Preprocess and compare the two #
+# HRH files (one exported from #
+# source, one generated). #
+# #
+#---------------------------------------#
+
+
+# Preprocess the generated HRH file
+
+PPGENERATEDHELPFILEHRH=$(HELPFILEHRH).gen.pp
+
+$(PPGENERATEDHELPFILEHRH) : $(HELPTOOLOUTPUT)
+ $(PREPROCESSORTOOL) -P $(HELPFILEHRH) $(PPGENERATEDHELPFILEHRH)
+
+
+# Preprocess the exported HRH file
+
+EXPORTEDHELPFILEHRH=..\..\epoc32\include\cshelp\$(HELPTOOLTARGETNAME).hrh
+# NB Has to be defined as a relative path because it is going to be used
+# as a parameter for the GCC preprocessor.
+
+PPEXPORTEDHELPFILEHRH=$(INTERMEDIATEDIR)\$(HELPTOOLTARGETNAME).hrh.exp.pp
+
+$(PPEXPORTEDHELPFILEHRH) : $(INTERMEDIATEDIR) $(EXPORTEDHELPFILEHRH)
+ @$(PREPROCESSORTOOL) -P $(EXPORTEDHELPFILEHRH) $(PPEXPORTEDHELPFILEHRH)
+
+
+# Do the comparison
+# NB. we have to use the -call so that we can use the errorlevel
+# returned by fc4bat without breaking NMAKE
+
+COMPARISON : $(PPEXPORTEDHELPFILEHRH) $(PPGENERATEDHELPFILEHRH)
+ @-call ..\help\compare.cmd $(PPEXPORTEDHELPFILEHRH) $(PPGENERATEDHELPFILEHRH)
+
+#---------------------------------------#
+# #
+# The targets invoked by bld... #
+# #
+#---------------------------------------#
+
+do_nothing :
+
+MAKMAKE : do_nothing
+
+BLD : do_nothing
+
+SAVESPACE : BLD
+
+CLEAN :
+ @if exist $(HELPFILE) erase $(HELPFILE)
+ @if exist $(HELPFILEHRH) erase $(HELPFILEHRH)
+ @if exist $(HELPFILEOPH) erase $(HELPFILEOPH)
+ @if exist $(HELPFILEOPHTXT) erase $(HELPFILEOPHTXT)
+ @if exist $(OPHFILEFINAL) erase $(OPHFILEFINAL)
+ @if exist $(HELPFILEFINAL) erase $(HELPFILEFINAL)
+ @if exist $(PPEXPORTEDHELPFILEHRH) erase $(PPEXPORTEDHELPFILEHRH)
+ @if exist $(PPGENERATEDHELPFILEHRH) erase $(PPGENERATEDHELPFILEHRH)
+
+FREEZE : do_nothing
+
+LIB : do_nothing
+
+CLEANLIB : do_nothing
+
+RESOURCE : do_nothing
+
+RELEASABLES :
+ @echo $(OPHFILEFINAL)
+ @echo $(HELPFILEFINAL)
+
+FINAL : COMPARISON $(OPHFILEFINAL) $(HELPFILEFINAL)
+