1
0
Fork 0
mirror of https://github.com/eclipse-cdt/cdt synced 2025-04-22 06:02:11 +02:00

Bug 573502: Ensure post-build step is executed last

The post-build step may depend on secondary artifacts of the build and
should thus be executed last.

Contributed by STMicroelectronics

Change-Id: Iaf67f6b3e1fcab008798d2712e15d0a6a46ceae8
Signed-off-by: Torbjörn Svensson <torbjorn.svensson@st.com>
This commit is contained in:
Torbjörn Svensson 2021-05-12 15:28:03 +02:00
parent 00204a3c4c
commit 043651694a
34 changed files with 188 additions and 91 deletions

View file

@ -35,7 +35,10 @@ BUILD_ARTIFACT := $(BUILD_ARTIFACT_PREFIX)$(BUILD_ARTIFACT_NAME)$(if $(BUILD_ART
# Add inputs and outputs from these tool invocations to the build variables
# All Target
all: test1DepCalc2
all: main-build
# Main-build Target
main-build: test1DepCalc2
# Tool invocations
test1DepCalc2: $(OBJS) $(USER_OBJS) makefile objects.mk $(OPTIONAL_TOOL_DEPS)

View file

@ -35,7 +35,10 @@ BUILD_ARTIFACT := $(BUILD_ARTIFACT_PREFIX)$(BUILD_ARTIFACT_NAME)$(if $(BUILD_ART
# Add inputs and outputs from these tool invocations to the build variables
# All Target
all: test1DepCalc3
all: main-build
# Main-build Target
main-build: test1DepCalc3
# Tool invocations
test1DepCalc3: $(OBJS) $(USER_OBJS) makefile objects.mk $(OPTIONAL_TOOL_DEPS)

View file

@ -35,7 +35,10 @@ BUILD_ARTIFACT := $(BUILD_ARTIFACT_PREFIX)$(BUILD_ARTIFACT_NAME)$(if $(BUILD_ART
# Add inputs and outputs from these tool invocations to the build variables
# All Target
all: test1DepCalcPreBuild
all: main-build
# Main-build Target
main-build: test1DepCalcPreBuild
# Tool invocations
test1DepCalcPreBuild: $(OBJS) $(USER_OBJS) makefile objects.mk $(OPTIONAL_TOOL_DEPS)

View file

@ -48,7 +48,10 @@ BUILD_ARTIFACT := $(BUILD_ARTIFACT_PREFIX)$(BUILD_ARTIFACT_NAME)$(if $(BUILD_ART
# Add inputs and outputs from these tool invocations to the build variables
# All Target
all: test12.exe
all: main-build
# Main-build Target
main-build: test12.exe
# Tool invocations
test12.exe: $(OBJS) $(USER_OBJS) makefile objects.mk $(OPTIONAL_TOOL_DEPS)

View file

@ -48,7 +48,10 @@ BUILD_ARTIFACT := $(BUILD_ARTIFACT_PREFIX)$(BUILD_ARTIFACT_NAME)$(if $(BUILD_ART
# Add inputs and outputs from these tool invocations to the build variables
# All Target
all: test20.exe
all: main-build
# Main-build Target
main-build: test20.exe
# Tool invocations
test20.exe: $(OBJS) $(USER_OBJS) makefile objects.mk $(OPTIONAL_TOOL_DEPS)

View file

@ -34,7 +34,10 @@ BUILD_ARTIFACT := $(BUILD_ARTIFACT_PREFIX)$(BUILD_ARTIFACT_NAME)$(if $(BUILD_ART
# Add inputs and outputs from these tool invocations to the build variables
# All Target
all: MBS2dot1.exe
all: main-build
# Main-build Target
main-build: MBS2dot1.exe
# Tool invocations
MBS2dot1.exe: $(OBJS) $(USER_OBJS) makefile objects.mk $(OPTIONAL_TOOL_DEPS)

View file

@ -49,7 +49,10 @@ BUILD_ARTIFACT := $(BUILD_ARTIFACT_PREFIX)$(BUILD_ARTIFACT_NAME)$(if $(BUILD_ART
# Add inputs and outputs from these tool invocations to the build variables
# All Target
all: Test21CXX
all: main-build
# Main-build Target
main-build: Test21CXX
# Tool invocations
Test21CXX: $(OBJS) $(USER_OBJS) makefile objects.mk $(OPTIONAL_TOOL_DEPS)

View file

@ -33,7 +33,10 @@ BUILD_ARTIFACT := $(BUILD_ARTIFACT_PREFIX)$(BUILD_ARTIFACT_NAME)$(if $(BUILD_ART
# Add inputs and outputs from these tool invocations to the build variables
# All Target
all: liblinkedFolder.a
all: main-build
# Main-build Target
main-build: liblinkedFolder.a
# Tool invocations
liblinkedFolder.a: $(OBJS) $(USER_OBJS) makefile objects.mk $(OPTIONAL_TOOL_DEPS)

View file

@ -33,7 +33,10 @@ BUILD_ARTIFACT := $(BUILD_ARTIFACT_PREFIX)$(BUILD_ARTIFACT_NAME)$(if $(BUILD_ART
# Add inputs and outputs from these tool invocations to the build variables
# All Target
all: liblinkedLib.a
all: main-build
# Main-build Target
main-build: liblinkedLib.a
# Tool invocations
liblinkedLib.a: $(OBJS) $(USER_OBJS) makefile objects.mk $(OPTIONAL_TOOL_DEPS)

View file

@ -48,7 +48,10 @@ BUILD_ARTIFACT := $(BUILD_ARTIFACT_PREFIX)$(BUILD_ARTIFACT_NAME)$(if $(BUILD_ART
# Add inputs and outputs from these tool invocations to the build variables
# All Target
all: testResCfg
all: main-build
# Main-build Target
main-build: testResCfg
# Tool invocations
testResCfg: $(OBJS) $(USER_OBJS) makefile objects.mk $(OPTIONAL_TOOL_DEPS)

View file

@ -33,7 +33,10 @@ BUILD_ARTIFACT := $(BUILD_ARTIFACT_PREFIX)$(BUILD_ARTIFACT_NAME)$(if $(BUILD_ART
# Add inputs and outputs from these tool invocations to the build variables
# All Target
all: testSingleExe
all: main-build
# Main-build Target
main-build: testSingleExe
# Tool invocations
testSingleExe: $(OBJS) $(USER_OBJS) makefile objects.mk $(OPTIONAL_TOOL_DEPS)

View file

@ -45,7 +45,10 @@ BUILD_ARTIFACT := $(BUILD_ARTIFACT_PREFIX)$(BUILD_ARTIFACT_NAME)$(if $(BUILD_ART
# Add inputs and outputs from these tool invocations to the build variables
# All Target
all: libtestDoubleSO.so
all: main-build
# Main-build Target
main-build: libtestDoubleSO.so
# Tool invocations
libtestDoubleSO.so: $(OBJS) $(USER_OBJS) makefile objects.mk $(OPTIONAL_TOOL_DEPS)

View file

@ -27,7 +27,10 @@ BUILD_ARTIFACT := $(BUILD_ARTIFACT_PREFIX)$(BUILD_ARTIFACT_NAME)$(if $(BUILD_ART
# Add inputs and outputs from these tool invocations to the build variables
# All Target
all: CDTFortranTest1.exe
all: main-build
# Main-build Target
main-build: CDTFortranTest1.exe
# Tool invocations
CDTFortranTest1.exe: $(OBJS) $(USER_OBJS) makefile objects.mk $(OPTIONAL_TOOL_DEPS)

View file

@ -29,7 +29,10 @@ BUILD_ARTIFACT := $(BUILD_ARTIFACT_PREFIX)$(BUILD_ARTIFACT_NAME)$(if $(BUILD_ART
# Add inputs and outputs from these tool invocations to the build variables
# All Target
all: CDTFortranTest2
all: main-build
# Main-build Target
main-build: CDTFortranTest2
# Tool invocations
CDTFortranTest2: $(OBJS) $(USER_OBJS) makefile objects.mk $(OPTIONAL_TOOL_DEPS)

View file

@ -27,7 +27,10 @@ BUILD_ARTIFACT := $(BUILD_ARTIFACT_PREFIX)$(BUILD_ARTIFACT_NAME)$(if $(BUILD_ART
# Add inputs and outputs from these tool invocations to the build variables
# All Target
all: TestATO.out
all: main-build
# Main-build Target
main-build: TestATO.out
# Tool invocations
TestATO.out: $(OBJS) $(OPT_SRCS) makefile objects.mk $(OPTIONAL_TOOL_DEPS)

View file

@ -37,7 +37,10 @@ USER_OBJS.foo \
# All Target
all: TestCopyandDeploy
all: main-build
# Main-build Target
main-build: TestCopyandDeploy
# Tool invocations
TestCopyandDeploy: $(EXECUTABLES) makefile objects.mk $(OPTIONAL_TOOL_DEPS)

View file

@ -45,7 +45,10 @@ BUILD_ARTIFACT := $(BUILD_ARTIFACT_PREFIX)$(BUILD_ARTIFACT_NAME)$(if $(BUILD_ART
# Add inputs and outputs from these tool invocations to the build variables
# All Target
all: DeleteFile
all: main-build
# Main-build Target
main-build: DeleteFile
# Tool invocations
DeleteFile: $(OBJS) $(USER_OBJS) makefile objects.mk $(OPTIONAL_TOOL_DEPS)

View file

@ -33,7 +33,10 @@ BUILD_ARTIFACT := $(BUILD_ARTIFACT_PREFIX)$(BUILD_ARTIFACT_NAME)$(if $(BUILD_ART
# Add inputs and outputs from these tool invocations to the build variables
# All Target
all: inputTypeOption
all: main-build
# Main-build Target
main-build: inputTypeOption
# Tool invocations
inputTypeOption: $(OBJS) C:\An\ Absolute\ Path\ With\ Spaces\foo.linker $(USER_OBJS) makefile objects.mk $(OPTIONAL_TOOL_DEPS)

View file

@ -33,7 +33,10 @@ BUILD_ARTIFACT := $(BUILD_ARTIFACT_PREFIX)$(BUILD_ARTIFACT_NAME)$(if $(BUILD_ART
# Add inputs and outputs from these tool invocations to the build variables
# All Target
all: liblinkedFolder.a
all: main-build
# Main-build Target
main-build: liblinkedFolder.a
# Tool invocations
liblinkedFolder.a: $(OBJS) $(USER_OBJS) makefile objects.mk $(OPTIONAL_TOOL_DEPS)

View file

@ -33,7 +33,10 @@ BUILD_ARTIFACT := $(BUILD_ARTIFACT_PREFIX)$(BUILD_ARTIFACT_NAME)$(if $(BUILD_ART
# Add inputs and outputs from these tool invocations to the build variables
# All Target
all: liblinkedLib.a
all: main-build
# Main-build Target
main-build: liblinkedLib.a
# Tool invocations
liblinkedLib.a: $(OBJS) $(USER_OBJS) makefile objects.mk $(OPTIONAL_TOOL_DEPS)

View file

@ -48,7 +48,10 @@ BUILD_ARTIFACT := $(BUILD_ARTIFACT_PREFIX)$(BUILD_ARTIFACT_NAME)$(if $(BUILD_ART
# Add inputs and outputs from these tool invocations to the build variables
# All Target
all: multiResConfig
all: main-build
# Main-build Target
main-build: multiResConfig
# Tool invocations
multiResConfig: $(OBJS) $(USER_OBJS) makefile objects.mk $(OPTIONAL_TOOL_DEPS)

View file

@ -46,8 +46,7 @@ BUILD_ARTIFACT := $(BUILD_ARTIFACT_PREFIX)$(BUILD_ARTIFACT_NAME)$(if $(BUILD_ART
# All Target
all:
$(MAKE) --no-print-directory pre-build
$(MAKE) --no-print-directory main-build
+@$(MAKE) --no-print-directory pre-build && $(MAKE) --no-print-directory main-build && $(MAKE) --no-print-directory post-build
# Main-build Target
main-build: preAndPostBuildSteps
@ -59,7 +58,6 @@ preAndPostBuildSteps: $(OBJS) $(USER_OBJS) makefile objects.mk $(OPTIONAL_TOOL_D
g++ -o "preAndPostBuildSteps" $(OBJS) $(USER_OBJS) $(LIBS)
@echo 'Finished building target: $@'
@echo ' '
$(MAKE) --no-print-directory post-build
# Other Targets
clean:

View file

@ -33,7 +33,10 @@ BUILD_ARTIFACT := $(BUILD_ARTIFACT_PREFIX)$(BUILD_ARTIFACT_NAME)$(if $(BUILD_ART
# Add inputs and outputs from these tool invocations to the build variables
# All Target
all: rcbsBasicTest
all: main-build
# Main-build Target
main-build: rcbsBasicTest
# Tool invocations
rcbsBasicTest: $(OBJS) $(USER_OBJS) makefile objects.mk $(OPTIONAL_TOOL_DEPS)

View file

@ -33,7 +33,10 @@ BUILD_ARTIFACT := $(BUILD_ARTIFACT_PREFIX)$(BUILD_ARTIFACT_NAME)$(if $(BUILD_ART
# Add inputs and outputs from these tool invocations to the build variables
# All Target
all: singleFileExe
all: main-build
# Main-build Target
main-build: singleFileExe
# Tool invocations
singleFileExe: $(OBJS) $(USER_OBJS) makefile objects.mk $(OPTIONAL_TOOL_DEPS)

View file

@ -34,7 +34,10 @@ BUILD_ARTIFACT := $(BUILD_ARTIFACT_PREFIX)$(BUILD_ARTIFACT_NAME)$(if $(BUILD_AR
# Add inputs and outputs from these tool invocations to the build variables
# All Target
all: testwithspaces.exe
all: main-build
# Main-build Target
main-build: testwithspaces.exe
# Tool invocations
testwithspaces.exe: $(OBJS) $(USER_OBJS) makefile objects.mk $(OPTIONAL_TOOL_DEPS)

View file

@ -39,7 +39,10 @@ test30_1.so.1.2.3 \
# All Target
all: Test30_1.so.4.5.6 secondary-outputs
all: main-build
# Main-build Target
main-build: Test30_1.so.4.5.6 secondary-outputs
# Tool invocations
Test30_1.so.4.5.6: $(EXECUTABLES) makefile objects.mk $(OPTIONAL_TOOL_DEPS)

View file

@ -34,7 +34,10 @@ new.log \
# All Target
all: test30_2.tmp
all: main-build
# Main-build Target
main-build: test30_2.tmp
# Tool invocations
test30_2.tmp: $(LOGFILE) makefile objects.mk $(OPTIONAL_TOOL_DEPS)

View file

@ -33,7 +33,10 @@ BUILD_ARTIFACT := $(BUILD_ARTIFACT_PREFIX)$(BUILD_ARTIFACT_NAME)$(if $(BUILD_ART
# Add inputs and outputs from these tool invocations to the build variables
# All Target
all: test.exe
all: main-build
# Main-build Target
main-build: test.exe
# Tool invocations
test.exe: $(OBJS) $(USER_OBJS) makefile objects.mk $(OPTIONAL_TOOL_DEPS)

View file

@ -27,7 +27,10 @@ BUILD_ARTIFACT := $(BUILD_ARTIFACT_PREFIX)$(BUILD_ARTIFACT_NAME)$(if $(BUILD_ART
# Add inputs and outputs from these tool invocations to the build variables
# All Target
all: testMacroSupportInBuildDefinitions.tar
all: main-build
# Main-build Target
main-build: testMacroSupportInBuildDefinitions.tar
# Tool invocations
testMacroSupportInBuildDefinitions.tar: $(BAR_FILES) makefile objects.mk $(OPTIONAL_TOOL_DEPS)

View file

@ -33,7 +33,10 @@ BUILD_ARTIFACT := $(BUILD_ARTIFACT_PREFIX)$(BUILD_ARTIFACT_NAME)$(if $(BUILD_ART
# Add inputs and outputs from these tool invocations to the build variables
# All Target
all: libtwoFileSO.SOS
all: main-build
# Main-build Target
main-build: libtwoFileSO.SOS
# Tool invocations
libtwoFileSO.SOS: $(OBJS) $(USER_OBJS) makefile objects.mk $(OPTIONAL_TOOL_DEPS)

View file

@ -56,7 +56,10 @@ BUILD_ARTIFACT := $(BUILD_ARTIFACT_PREFIX)$(BUILD_ARTIFACT_NAME)$(if $(BUILD_ART
# Add inputs and outputs from these tool invocations to the build variables
# All Target
all: test_40
all: main-build
# Main-build Target
main-build: test_40
# Tool invocations
test_40: $(OBJS) $(USER_OBJS) makefile objects.mk $(OPTIONAL_TOOL_DEPS)

View file

@ -56,7 +56,10 @@ BUILD_ARTIFACT := $(BUILD_ARTIFACT_PREFIX)$(BUILD_ARTIFACT_NAME)$(if $(BUILD_ART
# Add inputs and outputs from these tool invocations to the build variables
# All Target
all: test_40
all: main-build
# Main-build Target
main-build: test_40
# Tool invocations
test_40: $(OBJS) $(USER_OBJS) makefile objects.mk $(OPTIONAL_TOOL_DEPS)

View file

@ -1384,57 +1384,46 @@ public class GnuMakefileGenerator implements IManagedBuilderMakefileGenerator2 {
.equals(config.getBuildArtefactType().getId()))
refConfigs = ManagedBuildManager.getReferencedConfigurations(config);
/* try {
refdProjects = project.getReferencedProjects();
} catch (CoreException e) {
// There are 2 exceptions; the project does not exist or it is not open
// and neither conditions apply if we are building for it ....
}
*/
// If a prebuild step exists, redefine the all target to be
// all:
// $(MAKE) pre-build
// $(MAKE) main-build
// and then reset the "traditional" all target to main-build
// This will allow something meaningful to happen if the generated
// makefile is
// extracted and run standalone via "make all"
//
String defaultTarget = "all:"; //$NON-NLS-1$
if (prebuildStep.length() > 0) {
// Add the comment for the "All" target
buffer.append(COMMENT_SYMBOL).append(WHITESPACE).append(ManagedMakeMessages.getResourceString(ALL_TARGET))
.append(NEWLINE);
// Invoke make multiple times to ensure pre-build is executed before main-build
buffer.append(defaultTarget).append(NEWLINE);
buffer.append(TAB).append(MAKE).append(WHITESPACE).append(NO_PRINT_DIR).append(WHITESPACE).append(PREBUILD)
.append(NEWLINE);
buffer.append(TAB).append(MAKE).append(WHITESPACE).append(NO_PRINT_DIR).append(WHITESPACE).append(MAINBUILD)
.append(NEWLINE);
if (!prebuildStep.isEmpty() || !postbuildStep.isEmpty()) {
// all:
buffer.append("all").append(COLON).append(NEWLINE); //$NON-NLS-1$
String makeNoPrintDir = MAKE + WHITESPACE + NO_PRINT_DIR + WHITESPACE;
buffer.append(TAB).append("+@"); //$NON-NLS-1$
if (!prebuildStep.isEmpty()) {
buffer.append(makeNoPrintDir).append(PREBUILD).append(WHITESPACE).append(LOGICAL_AND)
.append(WHITESPACE);
}
buffer.append(makeNoPrintDir).append(MAINBUILD);
if (!postbuildStep.isEmpty()) {
buffer.append(WHITESPACE).append(LOGICAL_AND).append(WHITESPACE).append(makeNoPrintDir)
.append(POSTBUILD);
}
buffer.append(NEWLINE);
// Update the defaultTarget, main-build, by adding a colon, which is
// needed below
defaultTarget = MAINBUILD.concat(COLON);
} else {
// all: main-build
buffer.append("all").append(COLON).append(WHITESPACE).append(MAINBUILD).append(NEWLINE); //$NON-NLS-1$
}
buffer.append(NEWLINE);
// Add the comment for the "main-build" target
buffer.append(COMMENT_SYMBOL).append(WHITESPACE)
.append(ManagedMakeMessages.getResourceString(MAINBUILD_TARGET)).append(NEWLINE);
} else
// Add the comment for the "All" target
buffer.append(COMMENT_SYMBOL).append(WHITESPACE).append(ManagedMakeMessages.getResourceString(ALL_TARGET))
buffer.append(COMMENT_SYMBOL).append(WHITESPACE).append(ManagedMakeMessages.getResourceString(MAINBUILD_TARGET))
.append(NEWLINE);
// Write out the all target first in case someone just runs make
// all: <target_name> or mainbuild: <target_name>
// Write out the main-build target first in case someone just runs make
// main-build: <target_name>
String outputPrefix = EMPTY_STRING;
if (targetTool != null) {
outputPrefix = targetTool.getOutputPrefix();
}
buffer.append(defaultTarget).append(WHITESPACE).append(outputPrefix)
buffer.append(MAINBUILD).append(COLON).append(WHITESPACE).append(outputPrefix)
.append(ensurePathIsGNUMakeTargetRuleCompatibleSyntax(buildTargetName));
if (buildTargetExt.length() > 0) {
buffer.append(DOT).append(buildTargetExt);
@ -1519,8 +1508,7 @@ public class GnuMakefileGenerator implements IManagedBuilderMakefileGenerator2 {
}
// Add the targets tool rules
buffer.append(addTargetsRules(targetTool, outputVarsAdditionsList, managedProjectOutputs,
(postbuildStep.length() > 0)));
buffer.append(addTargetsRules(targetTool, outputVarsAdditionsList, managedProjectOutputs));
// Add the prebuild step target, if specified
if (prebuildStep.length() > 0) {
@ -1584,7 +1572,7 @@ public class GnuMakefileGenerator implements IManagedBuilderMakefileGenerator2 {
* @return StringBuffer
*/
private StringBuffer addTargetsRules(ITool targetTool, List<String> outputVarsAdditionsList,
Vector<String> managedProjectOutputs, boolean postbuildStep) {
Vector<String> managedProjectOutputs) {
StringBuffer buffer = new StringBuffer();
// Add the comment
buffer.append(COMMENT_SYMBOL).append(WHITESPACE).append(ManagedMakeMessages.getResourceString(BUILD_TOP))
@ -1599,7 +1587,7 @@ public class GnuMakefileGenerator implements IManagedBuilderMakefileGenerator2 {
// appear to be used there (and tool outputs are consulted directly), but
// we quote it anyway just in case it starts to use it in future.
if (addRuleForTool(targetTool, buffer, true, ensurePathIsGNUMakeTargetRuleCompatibleSyntax(buildTargetName),
buildTargetExt, outputVarsAdditionsList, managedProjectOutputs, postbuildStep)) {
buildTargetExt, outputVarsAdditionsList, managedProjectOutputs, false)) {
// Mark the target tool as processed
for (int i = 0; i < buildTools.length; i++) {
if (targetTool == buildTools[i]) {
@ -1658,6 +1646,17 @@ public class GnuMakefileGenerator implements IManagedBuilderMakefileGenerator2 {
return buffer;
}
/**
* @deprecated Use {@link #addRuleForTool(ITool, StringBuffer, boolean, String, String, List, Vector)}
*/
@Deprecated
protected boolean addRuleForTool(ITool tool, StringBuffer buffer, boolean bTargetTool, String targetName,
String targetExt, List<String> outputVarsAdditionsList, Vector<String> managedProjectOutputs,
boolean bEmitPostBuildStepCall) {
return addRuleForTool(tool, buffer, bTargetTool, targetName, targetExt, outputVarsAdditionsList,
managedProjectOutputs);
}
/**
* Create the rule
*
@ -1667,11 +1666,10 @@ public class GnuMakefileGenerator implements IManagedBuilderMakefileGenerator2 {
* @param targetExt If this is the "targetTool", the target file extension, else <code>null</code>
* @param outputVarsAdditionsList list to add needed build output variables to
* @param managedProjectOutputs Other projects in the workspace that this project depends upon
* @param bEmitPostBuildStepCall Emit post-build step invocation
* @since 9.3
*/
protected boolean addRuleForTool(ITool tool, StringBuffer buffer, boolean bTargetTool, String targetName,
String targetExt, List<String> outputVarsAdditionsList, Vector<String> managedProjectOutputs,
boolean bEmitPostBuildStepCall) {
String targetExt, List<String> outputVarsAdditionsList, Vector<String> managedProjectOutputs) {
// Get the tool's inputs and outputs
Vector<String> inputs = new Vector<>();
@ -1805,17 +1803,9 @@ public class GnuMakefileGenerator implements IManagedBuilderMakefileGenerator2 {
escapedEcho((bTargetTool ? MESSAGE_FINISH_BUILD : MESSAGE_FINISH_FILE) + WHITESPACE + OUT_MACRO));
buffer.append(TAB).append(AT).append(ECHO_BLANK_LINE);
// If there is a post build step, then add a recursive invocation of MAKE to invoke it after the main build
// Note that $(MAKE) will instantiate in the recusive invocation to the make command that was used to invoke
// the makefile originally
if (bEmitPostBuildStepCall) {
buffer.append(TAB).append(MAKE).append(WHITESPACE).append(NO_PRINT_DIR).append(WHITESPACE)
.append(POSTBUILD).append(NEWLINE).append(NEWLINE);
} else {
// Just emit a blank line
buffer.append(NEWLINE);
}
}
// If we have secondary outputs, output dependency rules without commands
if (enumeratedSecondaryOutputs.size() > 0 || additionalTargets.size() > 0) {

View file

@ -62,6 +62,7 @@
<ol>
<li><a href="#gdbBackendDebuggerCommandLine">Rework of API to determine GDB command line in org.eclipse.cdt.dsf.gdb</a></li>
<li><a name="ManagedCommandLineGenerator.toManagedCommandLineInfo">Add ITool parameter to ManagedCommandLineGenerator.toManagedCommandLineInfo</a></li>
<li><a name="GnuMakefileGenerator.addRuleForTool">Removed unneded boolean from function</a></li>
</ol>
<hr>
@ -437,6 +438,21 @@
<p>
See <a href="https://bugs.eclipse.org/bugs/show_bug.cgi?id=573254" target="_blank">Bug 573254</a>.
</p>
<h3>3. <a name="GnuMakefileGenerator.addRuleForTool">Removed unneded boolean from function</a></h3>
<p>
The implementation for how post-build steps are generated was changed. The "bEmitPostBuildStepCall"-parameter is thus no longer needed.
</p>
<ul>
<li>org.eclipse.cdt.managedbuilder.makegen.gnu.GnuMakefileGenerator.addRuleForTool(ITool, StringBuffer, boolean, String, String, List&lt;String&gt;, Vector&lt;String&gt;, boolean)</li>
</ul>
<p>
Extenders that override the above protected method should override
org.eclipse.cdt.managedbuilder.makegen.gnu.GnuMakefileGenerator.addRuleForTool(ITool, StringBuffer, boolean, String, String, List&lt;String&gt;, Vector&lt;String&gt;) instead.
</p>
<p>
See <a href="https://bugs.eclipse.org/bugs/show_bug.cgi?id=573502" target="_blank">Bug 573502</a>.
</p>
</body>
</html>